@charset "UTF-8";
@font-face {
  font-family: "AmericaRegular";
  src: url("../fonts/America/GT-America-Standard-Regular-Trial.woff2");
}
@font-face {
  font-family: "AmericaRegularItalic";
  src: url("../fonts/America/GT-America-Standard-Regular-Italic-Trial.woff2");
}
@font-face {
  font-family: "AmericaSemi";
  src: url("../fonts/America/GT-America-Standard-Medium-Trial.woff2");
}
@font-face {
  font-family: "AmewricaBold";
  src: url("../fonts/America/GT-America-Standard-Bold-Trial.woff2");
}
@font-face {
  font-family: "RalewayMedium";
  src: url("../fonts/Raleway/static/Raleway-Medium.ttf");
}
@font-face {
  font-family: "RalewayMediumItalic";
  src: url("../fonts/Raleway/static/Raleway-MediumItalic.ttf");
}
@font-face {
  font-family: "RalewaySemi";
  src: url("../fonts/Raleway/static/Raleway-Medium.ttf");
}
@font-face {
  font-family: "RalewayBold";
  src: url("../fonts/Raleway/static/Raleway-ExtraBold.ttf");
}
@font-face {
  font-family: "MuseoSans";
  src: url("../fonts/MuseoSans/Fontspring-DEMO-MuseoSans_500.otf");
}
@font-face {
  font-family: "MuseoSansSemi";
  src: url("../fonts/MuseoSans/Fontspring-DEMO-MuseoSans_700.otf");
}
@font-face {
  font-family: "MuseoSansBold";
  src: url("../fonts/MuseoSans/Fontspring-DEMO-MuseoSans_900.otf");
}
@font-face {
  font-family: "MuseoSansItalic";
  src: url("../fonts/MuseoSans/Fontspring-DEMO-MuseoSans_500_Italic.otf");
}
@font-face {
  font-family: "GillSans";
  src: url("../fonts/GillSans/Gill-Sans.otf");
}
@font-face {
  font-family: "GillSansItalic";
  src: url("../fonts/GillSans/Gill-Sans-Italic.otf");
}
@font-face {
  font-family: "GillSansMedium";
  src: url("../fonts/GillSans/Gill-Sans-Medium.otf");
}
@font-face {
  font-family: "GillSansBold";
  src: url("../fonts/GillSans/Gill-Sans-Bold.otf");
}
@font-face {
  font-family: "ScalaSansRegular";
  src: url("../fonts/FF_Scala_Sans/ScalaSans-Regular.otf");
}
@font-face {
  font-family: "ScalaSansRegularItalic";
  src: url("../fonts/FF_Scala_Sans/ScalaSans-RegularItalic.otf");
}
@font-face {
  font-family: "ScalaSansBold";
  src: url("../fonts/FF_Scala_Sans/ScalaSans-Bold.otf");
}
@font-face {
  font-family: "ScalaSansBlack";
  src: url("../fonts/FF_Scala_Sans/ScalaSansBlack.otf");
}
@font-face {
  font-family: "ZxProto";
  src: url("../fonts/0xProto/0xProto-Regular.woff2");
}
@font-face {
  font-family: "ZxProtoBold";
  src: url("../fonts/0xProto/0xProto-Bold.woff2");
}
@font-face {
  font-family: "CrimsonRegular";
  src: url("../fonts/CrimsonPro/static/CrimsonPro-Regular.ttf");
}
@font-face {
  font-family: "CrimsonBold";
  src: url("../fonts/CrimsonPro/static/CrimsonPro-Bold.ttf");
}
* {
  box-sizing: border-box;
  font-size-adjust: ex-height 0.45;
}

body {
  position: relative;
  margin: 0;
  padding: 17vw 0 20vw 0;
  max-width: 100vw;
  background-color: #fffff8;
  color: #111111;
  font-family: RalewayMedium, sans-serif;
  font-variant-numeric: oldstyle-nums;
}

.base-text__ui, .calendar__wrap, .form__label, .forms__title, .forms__title--link, .base__button, .calendar-active-nav__button, .calendar-active-nav__button--next, .calendar-active-nav__button--past, .form__button--submit, .input__button, .input__button--weekday, .nav-bar__button {
  font-family: RalewayMedium, sans-serif;
  color: #111111;
  font-size: 36px;
  line-height: 100%;
}

.base-text__input, .input__select,
.input__text {
  font-family: ZxProto, monospace;
  color: #111111;
  font-size: 36px;
  line-height: 145%;
}

.base-text__content, .calendar-date__wrap {
  font-family: CrimsonRegular, serif;
  color: #111111;
}

.base__clickable, .calendar-year__link, .calendar-header-nav__part, .calendar-active-nav__label, .base__button, .calendar-active-nav__button, .calendar-active-nav__button--next, .calendar-active-nav__button--past, .form__button--submit, .input__button, .input__button--weekday, .forms__title--link, .nav-bar__button, .base__link {
  font-weight: bold;
  cursor: pointer;
}

.base__link {
  color: #1e91d6;
  text-decoration: none;
  transition: color 0.2s ease;
}
.base__link:hover {
  color: #00916e;
  transition: color 0.2s ease;
}

.base__button, .calendar-active-nav__button, .calendar-active-nav__button--next, .calendar-active-nav__button--past, .form__button--submit, .input__button, .input__button--weekday, .forms__title--link, .nav-bar__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 0.5em 1em;
  border: none;
  background: none;
  font-size: 36px;
  line-height: 100%;
  font-family: RalewayBold, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
}
.base__button[disabled], [disabled].calendar-active-nav__button, [disabled].calendar-active-nav__button--next, [disabled].calendar-active-nav__button--past, [disabled].form__button--submit, [disabled].input__button, [disabled].input__button--weekday, [disabled].forms__title--link, [disabled].nav-bar__button {
  opacity: 0.5;
  color: hsl(0, 3%, 47%);
  pointer-events: none;
}

.nav-bar__wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 3px solid #111111;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: baseline;
  background-color: #111111;
}

.nav-bar__button {
  font-size: 5vw;
  color: #fffff8;
}

@media (min-width: 600px) {
  .base-text__ui, .calendar__wrap, .form__label, .forms__title, .forms__title--link, .base__button, .calendar-active-nav__button, .calendar-active-nav__button--next, .calendar-active-nav__button--past, .form__button--submit, .input__button, .input__button--weekday, .nav-bar__button {
    font-size: 36px;
  }
  .base-text__input, .input__select,
  .input__text {
    font-size: 36px;
  }
}
.forms__wrap, .forms__wrap--content,
.forms__wrap--settings {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 5vw;
  background-color: #fffff8;
}

.forms-head__wrap {
  margin: 0 0 48px 0;
}

.forms__title, .forms__title--link {
  margin: 0;
  padding: 0;
}

.forms__title--link {
  background: none;
}

.forms__title--link + * {
  margin-right: 2.5vw;
}

* + .forms__title--link {
  margin-left: 2.5vw;
}

.form__form {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.form__section {
  display: block;
  margin: 15px 0;
  padding: 15px 0;
}

.form__row, .form__row--finalize {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  gap: 5px;
  margin: 0;
  padding: 0;
}

.form__row--finalize {
  position: sticky;
}

.form__cell {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  gap: 5px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.form__label {
  font-family: RalewaySemi, sans-serif;
  line-height: 80%;
  font-size: 24px;
}

.input__select,
.input__text {
  border: 2px solid #111111;
  width: 100%;
  padding: 5px;
  line-height: 100%;
  background-color: #fffff8;
}
.input__select:not(:placeholder-shown),
.input__text:not(:placeholder-shown) {
  background-color: #fffff8;
}

.input__button, .input__button--weekday {
  transition: background 250ms ease-in-out, transform 150ms ease;
}

.input__button.selected, .selected.input__button--weekday {
  background-color: #00916e;
}

.input__button--weekday {
  font-size: 5vw;
  padding: 0.5em;
}

.form__button--submit {
  display: block;
  padding: 23px 0 12px 0;
  background-color: #00916e;
  color: #fffff8;
  text-align: center;
}
.form__button--submit:hover {
  background-color: #1e91d6;
}

.calendar__wrap {
  margin: 0;
  padding: 0;
  text-align: center;
}

.calendar-view__wrap {
  margin-top: 10vw;
}

.calendar-days__grid, .calendar-weekdays-header__wrap {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 1fr;
}

.calendar-header-nav__wrap {
  margin: 0;
  padding: 0;
  text-align: center;
}

.calendar-header-nav__part, .calendar-active-nav__label {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  font-size: 5vw;
  color: inherit;
  text-decoration: none;
}
.calendar-header-nav__part + .calendar-header-nav__part, .calendar-active-nav__label + .calendar-header-nav__part, .calendar-header-nav__part + .calendar-active-nav__label, .calendar-active-nav__label + .calendar-active-nav__label {
  margin-left: 2.5vw;
}

.calendar-header-nav__part--big {
  margin: 0;
  padding: 0;
  font-size: 7.5vw;
  color: inherit;
  font-family: RalewayMediumItalic, sans-serif;
  text-decoration: none;
}

.calendar-active-nav__wrap {
  display: block;
  width: 100%;
  margin: 5vw 0;
}

.calendar-active-nav__grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  width: 90%;
  margin: 0 auto;
  padding: 0;
}

.calendar-active-nav__label {
  font-size: 10vw;
}

.calendar-active-nav__button, .calendar-active-nav__button--next, .calendar-active-nav__button--past {
  position: relative;
  display: inline-block;
  width: 5vw;
  height: 5vw;
}
.calendar-active-nav__button:before, .calendar-active-nav__button--next:before, .calendar-active-nav__button--past:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -36%);
  font-weight: bold;
  font-size: 5vw;
}

.calendar-active-nav__button--past:before {
  content: "⮜";
}

.calendar-active-nav__button--next:before {
  content: "⮞";
}

.calendar-weekdays-header__item {
  font-weight: bold;
}

.calendar-year__link {
  display: inline;
}

.calendar-year__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 5vw;
  margin: 15vw 2.5vw;
  padding: 0;
  text-align: center;
}
.calendar-year__wrap .calendar-weekdays-header__wrap {
  margin: 1vw 0;
}
.calendar-year__wrap .calendar-weekdays-header__item {
  font-size: 2vw;
}

.calendar-year-month__wrap {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.calendar-year-month__wrap .calendar-month-day__date, .calendar-year-month__wrap .calendar-month-day__date--past,
.calendar-year-month__wrap .calendar-month-day__date--next, .calendar-year-month__wrap .calendar-month-day__date--blank {
  margin-left: 0.5vw;
  margin-right: 0.5vw;
  font-size: 5vw;
}
.calendar-year-month__wrap .calendar-weekdays-header__wrap {
  display: none;
}

.calendar-year-month__label {
  margin: 0 auto;
  text-align: center;
  font-size: 5vw;
  line-height: 100%;
}

.calendar-month__wrap .calendar-days__grid, .calendar-month__wrap .calendar-weekdays-header__wrap {
  gap: 5vw;
  margin-left: 5vw;
  margin-right: 5vw;
}
.calendar-month__wrap .calendar-weekdays-header__wrap {
  display: grid;
  margin: 2.5vw 5vw;
}
.calendar-month__wrap .calendar-weekdays-header__item {
  font-size: 5vw;
}
.calendar-month__wrap .calendar-month-day__date, .calendar-month__wrap .calendar-month-day__date--past,
.calendar-month__wrap .calendar-month-day__date--next, .calendar-month__wrap .calendar-month-day__date--blank {
  font-size: 7.5vw;
}

.calendar-month-day__date, .calendar-month-day__date--past,
.calendar-month-day__date--next, .calendar-month-day__date--blank {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding: 0 0 100% 0;
  font-size: 7.5vw;
  line-height: 100%;
}
.calendar-month-day__date[data-date-has-events=true], [data-date-has-events=true].calendar-month-day__date--past,
[data-date-has-events=true].calendar-month-day__date--next, [data-date-has-events=true].calendar-month-day__date--blank {
  color: #ff0000;
}

.calendar-month-day__date--past,
.calendar-month-day__date--next {
  color: hsl(0, 3%, 47%);
}

.calendar-month-day__date--current {
  border-radius: 100%;
  background-color: #111111;
  color: #fffff8;
}

[data-has-events] .calendar-year-month__date:after {
  position: relative;
  display: block;
  margin: 10px auto 0 auto;
  padding: 0;
  text-align: center;
  font-size: 1.5vw;
  line-height: 100%;
  color: #111111;
  content: "*";
}

.calendar-date__wrap {
  display: block;
  max-width: 90vw;
  margin: 10vw auto;
  padding: 0 7.5vw;
  text-align: center;
}

.calendar-date-event__wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.calendar-date-event__wrap + .calendar-date-event__wrap {
  margin-top: 7.5vw;
}

.calendar-date-event__date,
.calendar-date-event__description,
.calendar-date-event__time {
  display: block;
  font-size: 7.5vw;
  line-height: 120%;
}

.calendar-date-event__date {
  font-family: CrimsonBold, serif;
}

.calendar-date-event__time {
  font-size: 5vw;
  line-height: 100%;
  color: hsl(0, 3%, 47%);
}
.calendar-date-event__time:empty {
  display: none;
}

.calendar__clickable {
  cursor: pointer;
}
.calendar__clickable:hover {
  color: #1e91d6;
}
.calendar__clickable:hover.calendar-month-day__date--current .calendar-year-month__date, .calendar__clickable:hover .calendar-month-day__date--current .calendar-year-month__date {
  background-color: #1e91d6;
}

@media (min-width: 600px) {
  .calendar-year__wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 1fr;
    gap: 5vw;
    margin: 5vw 2.5vw;
  }
  .calendar-year-month__wrap {
    margin: 0 auto;
  }
  .calendar-year-month__wrap .calendar-month-day__date, .calendar-year-month__wrap .calendar-month-day__date--blank, .calendar-year-month__wrap .calendar-month-day__date--past,
  .calendar-year-month__wrap .calendar-month-day__date--next {
    font-size: 4vw;
  }
  .calendar-month__wrap .calendar-month-day__date, .calendar-month__wrap .calendar-month-day__date--blank, .calendar-month__wrap .calendar-month-day__date--past,
  .calendar-month__wrap .calendar-month-day__date--next {
    font-size: 7.5vw;
  }
}
@media (min-width: 900px) {
  .calendar-year__wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 5vw;
  }
  .calendar-year-month__wrap .calendar-month-day__date, .calendar-year-month__wrap .calendar-month-day__date--blank, .calendar-year-month__wrap .calendar-month-day__date--past,
  .calendar-year-month__wrap .calendar-month-day__date--next {
    font-size: 2.5vw;
  }
  .calendar-month__wrap .calendar-weekdays-header__item {
    font-size: 5vw;
  }
  .calendar-month__wrap .calendar-month-day__date, .calendar-month__wrap .calendar-month-day__date--blank, .calendar-month__wrap .calendar-month-day__date--past,
  .calendar-month__wrap .calendar-month-day__date--next {
    font-size: 7.5vw;
  }
  .calendar-date__wrap {
    max-width: 75vw;
  }
}
.hide {
  display: none;
}
