/* Main Structure */
html {
  height: 100%;
  min-height: 100%;
  width: 100%; }

body,
#main-container {
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-width: 100%;
  background-color: white;
  margin: 0;
  color: black; }

li *,
li > *,
p > *,
p *,
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Roboto;
  color: black;
  /* https://www.bennadel.com/blog/3627-desktop-safari-seems-to-add-extra-padding-to-css-flexbox-item-inside-list-item.htm */
  list-style-type: none;
  font-weight: normal; }

a {
  cursor: pointer;
  text-decoration: none;
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+/Edge */
  user-select: none;
  /* Standard */ }

p {
  margin-top: 0;
  margin-inline-end: 0px;
  margin-inline-start: 0px;
  margin-block-start: 0px;
  margin-block-end: 16px;
  font-weight: normal; }

span.strong {
  color: black;
  font-weight: 900;
  filter: brightness(111%); }

p a,
ul.p-block li a {
  -webkit-user-select: auto;
  /* Safari */
  -moz-user-select: auto;
  /* Firefox */
  -ms-user-select: auto;
  /* IE10+/Edge */
  user-select: auto;
  /* Standard */
  color: blue;
  font-weight: bolder; }

button {
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+/Edge */
  user-select: none;
  /* Standard */ }

div p:last-child {
  margin-bottom: 0; }

.text-small-comment {
  font-size: 0.6em;
  text-align: right; }

.hidden {
  display: none !important; }

a.is-disabled {
  cursor: not-allowed !important;
  pointer-events: none; }

.btn {
  border-radius: 8px;
  padding: 8px;
  background-color: gray;
  color: white; }
  .btn.btn-lrg {
    min-width: 30vw;
    width: 100%;
    max-width: 100px; }

/* contact */
.custom-form {
  max-width: 100%;
  padding: 16px; }
  .custom-form .error {
    color: #e08199;
    text-align: center;
    margin-bottom: 16px;
    margin-top: 16px;
    border-radius: 8px;
    padding: 8px;
    opacity: 1;
    -webkit-transition: all 0.225s ease;
    transition: all 0.225s ease;
    background-color: white;
    filter: brightness(92%); }
    .custom-form .error.empty {
      opacity: 0;
      -webkit-user-select: none;
      /* Safari */
      -moz-user-select: none;
      /* Firefox */
      -ms-user-select: none;
      /* IE10+/Edge */
      user-select: none;
      /* Standard */ }
  .custom-form .divider {
    padding: 0 32px; }
  .custom-form input:focus ~ label,
  .custom-form textarea:focus ~ label,
  .custom-form input:valid ~ label,
  .custom-form textarea:valid ~ label,
  .custom-form input:placeholder-shown ~ label,
  .custom-form input:disabled ~ label,
  .custom-form .styled-select label {
    font-size: 0.75em;
    top: -5px;
    -webkit-transition: all 0.225s ease;
    transition: all 0.225s ease; }
  .custom-form .styled-input {
    width: 293px;
    margin: 1rem 0;
    position: relative;
    border-radius: 8px; }
  @media only screen and (max-width: 768px) {
    .custom-form .styled-input {
      width: 100%; } }
  .custom-form .styled-input label {
    padding: 1.3rem 30px 1rem 30px;
    position: absolute;
    top: 10px;
    left: 0;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
    pointer-events: none; }
  .custom-form .styled-input.wide {
    width: 650px;
    max-width: 100%; }
  .custom-form input,
  .custom-form textarea,
  .custom-form .styled-select {
    padding: 30px;
    border: 0;
    width: 100%;
    font-size: 1rem;
    background-color: white;
    filter: brightness(92%);
    font-weight: bold;
    border-radius: 8px; }
  .custom-form input:disabled {
    cursor: not-allowed;
    filter: brightness(85%); }
  .custom-form textarea {
    resize: vertical; }
  .custom-form input:focus,
  .custom-form textarea:focus {
    outline: 0; }
  .custom-form input:focus ~ span,
  .custom-form textarea:focus ~ span {
    width: 100%;
    -webkit-transition: all 0.075s ease;
    transition: all 0.075s ease; }
  .custom-form textarea {
    width: 100%;
    min-height: 15em; }
  .custom-form .input-container {
    width: 650px;
    max-width: 100%;
    margin: 20px auto 25px auto; }
  .custom-form .input-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between; }
    .custom-form .input-row .styled-input {
      flex: 1;
      min-width: 300px;
      margin-left: 8px;
      margin-right: 8px; }
  .custom-form .submit-wrapper {
    /* OLD - iOS 6-, Safari 3.1-6, BB7 */
    display: -webkit-box;
    /* TWEENER - IE 10 */
    display: -ms-flexbox;
    /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
    display: -webkit-flex;
    /* NEW, Spec - Firefox, Chrome, Opera */
    display: flex;
    max-width: 100%;
    flex-basis: auto;
    flex-shrink: 0;
    justify-content: center; }
  .custom-form .btn {
    display: inline-block;
    cursor: pointer;
    text-align: center;
    border: none;
    font: inherit;
    font-size: 1.5em;
    align-self: center; }
  .custom-form .styled-select {
    position: relative;
    padding-top: 36px;
    padding-bottom: 16px;
    z-index: 1;
    /* style the items (options), including the selected item: */
    /* Style items (options): */
    /* Hide the items when the select box is closed: */ }
    .custom-form .styled-select label {
      top: -6px; }
    .custom-form .styled-select select {
      display: none;
      /*hide original SELECT element: */ }
    .custom-form .styled-select .select-selected {
      /* Point the arrow upwards when the select box is open (active): */ }
      .custom-form .styled-select .select-selected:after {
        position: absolute;
        content: "";
        top: 14px;
        right: 10px;
        width: 0;
        height: 0;
        border: 6px solid transparent;
        border-color: #fff transparent transparent transparent; }
      .custom-form .styled-select .select-selected.select-arrow-active:after {
        border-color: transparent transparent #fff transparent;
        top: 7px; }
    .custom-form .styled-select .select-items div,
    .custom-form .styled-select .select-selected {
      padding: 8px 16px;
      border: 1px solid transparent;
      cursor: pointer; }
    .custom-form .styled-select .select-items {
      position: absolute;
      background-color: white;
      top: 70px;
      left: 30px;
      z-index: 90;
      border: black 1px solid;
      width: calc(100% - 60px);
      max-height: 135px;
      overflow-y: auto; }
    .custom-form .styled-select .select-hide {
      display: none; }
    .custom-form .styled-select .select-items div:hover,
    .custom-form .styled-select .same-as-selected {
      background-color: rgba(0, 0, 0, 0.1); }

.tag-form .title,
.tag-form .close-btn {
  display: none; }
.tag-form.popup .title,
.tag-form.popup .close-btn {
  display: inline; }
.tag-form .tag-color-sample {
  width: 32px;
  height: 32px;
  background-color: black;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE10+/Edge */
  user-select: none;
  /* Standard */ }
  .tag-form .tag-color-sample span {
    display: block; }

#item-container .add-item-block {
  border-radius: 8px;
  position: relative;
  z-index: 1;
  padding-top: 32px;
  width: 650px;
  z-index: 90; }
  #item-container .add-item-block .styled-input.wide {
    width: 100%; }
  #item-container .add-item-block .delete-btn-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: auto; }
  #item-container .add-item-block .close-btn {
    display: block;
    cursor: pointer;
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 8px;
    border: 1px solid black;
    width: 32px;
    height: 32px;
    outline: none; }
    #item-container .add-item-block .close-btn:active {
      outline: none; }

#main-container {
  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -webkit-box;
  /* TWEENER - IE 10 */
  display: -ms-flexbox;
  /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: -webkit-flex;
  /* NEW, Spec - Firefox, Chrome, Opera */
  display: flex;
  flex-basis: auto;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: space-between; }
  #main-container #header {
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: space-between;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    padding: 16px; }
    #main-container #header #nav {
      flex: 1;
      text-align: right; }
      #main-container #header #nav a {
        margin-left: 16px; }
  #main-container #mainContnet {
    flex: 1; }

.popup {
  display: block;
  position: absolute;
  filter: drop-shadow(7px 7px 2px rgba(20, 20, 20, 0.7));
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  z-index: 999;
  border-radius: 8px;
  border: 1px black solid; }
  .popup .close-btn {
    display: block;
    cursor: pointer;
    position: absolute;
    top: 6px;
    right: 6px;
    border-radius: 8px;
    border: 1px solid black;
    width: 32px;
    height: 32px;
    outline: none; }
    .popup .close-btn:active {
      outline: none; }

.hello-week {
  width: 100%;
  margin: 0 auto;
  user-select: none;
  font-size: 1em; }

.hello-week .navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0; }

.hello-week .prev,
.hello-week .next {
  padding: 1em;
  cursor: pointer; }

.hello-week .period {
  width: 100%;
  font-size: 1.6em;
  font-weight: 400;
  text-align: center; }

.hello-week .week {
  display: flex; }

.hello-week .week.rtl {
  flex-direction: row-reverse; }

.hello-week .month {
  display: flex;
  flex-wrap: wrap;
  cursor: pointer; }

.hello-week .month.rtl {
  flex-direction: row-reverse; }

.hello-week .day {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14.28571%;
  padding: 1em;
  transition: background-color 0.2s cubic-bezier(0.25, 0.1, 0.49, 0.9); }

.hello-week .week {
  color: #42a298;
  font-size: 1.2em; }

.hello-week .day {
  border: solid 1px white; }

.hello-week .day.is-highlight {
  background-color: #8fbc8f;
  color: #fff; }

.hello-week .day.is-today {
  border: 1px solid black; }

.hello-week .day.is-selected {
  background-color: #7fcbc3 !important;
  color: #fff !important; }

.hello-week .day.is-begin-range,
.hello-week .day.is-end-range {
  background-color: #42a298 !important;
  color: #fff !important; }

.hello-week .day.is-disabled {
  cursor: not-allowed;
  opacity: 0.33; }

.day {
  height: 52px; }
  .day.day-with-activities {
    position: relative;
    padding: 0;
    border: 0; }
    .day.day-with-activities * {
      pointer-events: none; }
    .day.day-with-activities .activities-container {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      height: 100%;
      min-height: 100%;
      min-width: 100%;
      padding: 0 0 1px 1px; }
      .day.day-with-activities .activities-container .activity {
        flex: 1 1 33%;
        border-right: 1px solid white;
        margin-top: 1px; }
    .day.day-with-activities .day-number {
      float: left;
      width: 100%;
      height: 100%;
      display: flex;
      position: absolute;
      top: 0;
      left: 0;
      align-items: center;
      justify-content: center; }
      .day.day-with-activities .day-number .number-background {
        background-color: white;
        padding: 4px;
        border-radius: 50%; }
    .day.day-with-activities.is-selected {
      background-color: #29655f !important; }
      .day.day-with-activities.is-selected .activities-container .activity {
        border-right: 1px solid #29655f; }
      .day.day-with-activities.is-selected .day-number .number-background {
        background-color: #29655f;
        color: white; }

#mainContent {
  width: 100%;
  height: 100%; }
  #mainContent .home-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
    min-width: 100%;
    padding: 32px 16px; }
    #mainContent .home-content .recent_notes .note-header {
      display: flex;
      flex-direction: row;
      align-items: center; }
      #mainContent .home-content .recent_notes .note-header .update-note {
        border: none;
        background-color: transparent;
        display: block;
        margin-left: 8px;
        cursor: pointer; }
    #mainContent .home-content .recent_notes .items-container {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      width: 100%; }
      #mainContent .home-content .recent_notes .items-container .item {
        display: block;
        width: fit-content;
        padding: 4px; }

.login-help {
  margin-bottom: 16px; }

.database-link-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center; }

#login-form .input-container {
  margin-bottom: 0; }
#login-form .error {
  margin-top: 8px;
  margin-bottom: 8px; }
