/** General Styles **/
:root {
  --main-blue-color: #1091cb;
  --main-warn-color: darkorange;
  --main-slave-color: #dedede;
  --main-success-color: limegreen;
  --special-black: #444;
}
html, body {
  position: relative;
  width: 100%;
  height: 100%;
}

html {
  font-size: 10px;
}

body {
  color: #333;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

div, header, footer, .main_area {
  box-sizing: border-box;
}

a {
  color: var(--main-blue-color);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: var(--main-blue-color);
}

label {
  display: block;
}

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  padding: 0.4em;
  margin: 0 0 0.5em 0;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 2px;
}

input:disabled {
  color: #ccc;
}

.custom-label {
  font-family: inherit;
  font-size: 1.4rem;
  color: var(--special-black);
}

.custom-input {
  width: 100%;
  padding: 8px 16px;
  border-radius: 4px;
}

.custom-input.area {
  resize: none;
}

button {
  color: #333;
  background-color: #f4f4f4;
  outline: none;
}

button:disabled {
  color: #999;
}

button:not(:disabled):active {
  background-color: #ddd;
}

button:focus {
  border-color: #666;
}

div {
  box-sizing: border-box;
}

.action-btn {
  font-size: 1.8rem;
  border: none;
  display: inline-block;
  border-radius: 6px;
  padding: 1rem;
  background-color: #dedede;
  cursor: pointer;
  color: var(--main-blue-color);
}
.action-btn[disabled] {
  opacity: 0.6;
  color: inherit;
}
.action-btn[disabled]:hover {
  background-color: inherit;
  color: inherit;
}

.action-btn.default, .action-btn:focus {
  background-color: #eee;
}

.action-btn.warn, .action-btn.warn:focus,
.action-btn.warn[disabled], .action-btn.warn[disabled]:hover{
  background-color: var(--main-warn-color);
  color: #fff;
}
.action-btn.success, .action-btn.success:focus,
.action-btn.success[disabled], .action-btn.success[disabled]:hover {
  background-color: var( --main-success-color);
  color: #fff;
}
.action-btn.slave {
  background-color: var(--main-slave-color);
}


.action-btn:hover {
  background-color: #444;
  color: var(--main-blue-color);
}

.memo-icons {
  display: inline-block;
  font-size: 1.6rem;
  color: #666;
  cursor: pointer;
}

.memo-icons.attention {
  color: darkred;
}

.memo-icons.success {
  color: forestgreen;
}

/*Helpers*/
.w100 {
  width: 100%;
}

.centered-text {
  text-align: center;
}
.left-text {
  text-align: left;
}
.right-text {
  text-align: right;
}

.status.complete {
   color: var(--main-success-color);
 }

.status.pending {
   color: var(--main-warn-color);
 }

/*Main parts*/
.header {
  padding: 1.8rem;
  background-color: #f6f6f6;
  box-shadow: 0 -1px 0 #ccc;
  max-height: 80px;
  min-height: 80px;
  position: sticky;
  top: 0;
}

.footer {
  position: sticky;
  bottom: 0;
  max-height: 60px;
  min-height: 60px;
  background-color: #f6f6f6;
}

.base_modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  padding: 1.2rem;
  border-radius: 6px;
  background-color: rgba(0,0,0,0.6);
}
.base_modal__content {
  display: flex;
  flex-direction: column;
  padding: 2rem;
  position: absolute;
  background: #fff;
  box-shadow: 0 0 2px rgba(0,0,0,0.6);
  top: 0;
  left: calc(50% - 200px);
  width: 400px;
  min-height: 30vh;
}

.app-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}


.app-wrapper > .main-column {
  flex: 1;
}

