.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          -ms-grid-row-align: center;
      align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@charset "UTF-8";
/*  1 - SETTINGS
 *  Global variables, site-wide settings,
 *  config switches etc.
 *
 *  The order in which these Sass files
 *  are loaded is critical!
 *  So please be careful when editing
  =========================================================== */
/* ==========================================================================
   Config settings
   ========================================================================== */
/* ============================================
   Define breakpoints for given formats
   ============================================ */
/* =========================================================
   Organize color variables in a Sass Map.
   This way, the colors can be iterated, are more organized,
   and are more intuitive to reference.
   ========================================================= */
/** =====================================================================================
 *  Defines the typographic baseline.
 *  We define every size in pixels, the underlying system converts the
 *  respective units to the responsive REM value.
 ===================================================================================== */
/**
 * Our base font-size and line-height
 */
/**
 *	Here we assign short names for the font families
 */
/*  2 - TOOLS
 *  Site wide mixins and functions
 =========================================================== */
/* ==========================================================================
  Functions used in grid calculation
  ========================================================================== */
/**
  * Return percentage based on amount of columns
  * Use parent column size to adjust the origin
  */
/**
  * Default function for columns
  * Return as percentage
  */
/**
  * Return as viewport width
  */
/* ==========================================================================
 * Font related functions
 * ========================================================================== */
/**
 *  Mixin for setting font-size in REM through a Sass Map with all available sizes

    USAGE:

    .myClass {
        @include font-size(xl);
    }

 */
/**
 *  Mixin for setting font-weight through a Sass Map with all available weights

    USAGE:

    .myClass {
        @include font-weight(semiBold);
    }


    .myClass {
        @include font-weight(medium);
    }

 */
/**
 *	A simple function for accessing the font families from our mapping

	USAGE:

	span {
		@include font-family(primary);
	}

 */
/* Media query mixin for writing Mobile First
 * ========================================== */
/** =====================================================================================
 *  Toolbox functions
 ===================================================================================== */
/**
 *  Maths helpers.
 *  Halve and double numbers, returning rounded integers.

    USAGE:

    .foo {
        padding: halve(30px);
    }

 */
/**
 *  Remove the unit of a length
 *  @param {Number} $number - Number to remove unit from
 *  @return {Number} - Unitless number
 */
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/**
 *	A simple function for accessing the colors from our mapping
 *	To access colors in our palette, we use a very simple custom Sass function

	USAGE:

	a {
		color: palette(primary, 500);

		&:hover {
			color: palette(primary, 600);
		}
	}

 */
/*
 * Set vertical spacing for viewport larger than mobile
 * In flexible units (vw) and on max viewport in a fixed amount (px)

 USAGE:

 .example {
	 @include vspacing(
		'padding-top' 0.33,
		'margin-bottom' 0.5
	);
  }

 */
/**
 *	A simple function for setting a consistent box-shadow

	USAGE:

	.card {
		@include box-shadow;
	}

	.card--alt {
		@include box-shadow(low);
	}

 */
/**
 *	A simple function for setting a consistent border-radius

	USAGE:

	.card {
		@include border-radius;
	}

	.card--alt {
		@include border-radius(l);
	}

 */
/**
 * Lobotomized Owl Selector mixin:
 * - Set spacing for consecutive items with margin-top on all but the first item

	USAGE:

	.box {
		@include owl-children;
	}

	.card__item {
		@include owl;
	}

 */
/**
 *  Show hyphens for every browser supporting it
 *  and will break lines in every other browser
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 *	A mixin to set elements to its own named grid-area
 */
/** =================================================================================================
 *  The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
 *  This way we have a overview of all the z-index values that are used across the project.
 ==================================================================================================== */
/**
    USAGE:

    @include z(z-modal);

 */
/*  3 - ELEMENTS
 *  Plain old simple HTML elements without a class (type selectors)
 =========================================================== */
/* ==========================================================================
 * Basic elements (no class selectors allowed)
 * ========================================================================== */
/**
 * Set up the html
 *
 * 1. Makes sure that some fonts are better rendered
 * 2. Set font to lining figures
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "lnum";
  box-sizing: border-box;
}

body {
  position: relative;
  font-size: 1rem;
  line-height: 1.75;
  font-family: "Raleway", sans-serif;
  margin: 0;
  color: #3C4248;
}

/**
 * [1] Make sure elements like input and textarea inherit some base properties
 *     https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
 *
 * [2] Setting box-sizing the best way per:
 *     https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * [1] Turn off text-shadow when selecting text for better readability
 */
::-moz-selection {
  background: #CD8567;
  color: white;
  text-shadow: none; /* [1] */
}
::selection {
  background: #CD8567;
  color: white;
  text-shadow: none; /* [1] */
}

/* Remove default margin around figure
 */
figure {
  margin: 0;
}

/**
 * [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
 *	   elements when they are dropped into a page as-is. Safer alternative to
 *	   using 'display: block;'.
 * [2] Remove border / especially on older browsers
 */
img, svg {
  vertical-align: middle; /*[1]*/
  border: none; /*[2]*/
  max-width: 100%;
}

/**
 * Still add display block to svg and picture to prevent unwanted spacing or collapsing
 */
svg, picture {
  display: block;
}

/**
 *  Needed for iOS to prevent input zooming
 *  https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
 */
input,
select,
textarea {
  font-size: 16px;
}

a {
  color: #328dfc;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:not([class]):hover {
  color: #036dee;
}

h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
}

h2, .h2 {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 800;
}

h3, .h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
}

h4, .h4 {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 500;
}

h5, h6, .h5 {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

/** =====================================================================================
 *  Lists
 ===================================================================================== */
/**
 *	Default indentation value for lists
 */
ul,
ol {
  padding: 0;
  margin: 0;
  margin-left: 1.125em;
}

dd {
  margin-left: 0;
}

/**
 *	Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/*  4 - Layout elements
 *  Design patterns (e.g. grids or media object)
 =========================================================== */
.l-body--rounded-tr {
  position: relative;
  padding: 1px 0;
}
.l-body--rounded-tr::before, .l-body--rounded-tr::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  background-color: #00357A;
}
.l-body--rounded-tr::after {
  background-color: #fff;
  border-top-right-radius: 80px;
}
@media screen and (min-width: 1060px) {
  .l-body--rounded-tr::before, .l-body--rounded-tr::after {
    width: 200px;
    height: 200px;
  }
  .l-body--rounded-tr::after {
    border-top-right-radius: 200px;
  }
}

.l-body__message-container {
  padding: 120px 0;
}

.l-body__message {
  display: block;
  width: 95%;
  max-width: 576px;
  margin: auto;
  padding: 48px 40px 40px;
  border-radius: 4px 80px 16px 16px;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
}

.l-block {
  margin-bottom: 80px;
}
.l-block + .l-block {
  margin-top: 80px;
}

.l-block--rounded-corner-bl {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 48px;
}
.l-block--rounded-corner-bl::before, .l-block--rounded-corner-bl::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: -80px;
  width: 80px;
  height: 80px;
  background-color: #E7F0F6;
}
.l-block--rounded-corner-bl::after {
  background-color: #fff;
  border-bottom-left-radius: 80px;
}
@media screen and (min-width: 1060px) {
  .l-block--rounded-corner-bl::before, .l-block--rounded-corner-bl::after {
    width: 200px;
    height: 200px;
  }
  .l-block--rounded-corner-bl::after {
    border-bottom-left-radius: 200px;
  }
}

.l-button-group {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -16px;
  margin-left: -16px;
}
.l-button-group > * {
  margin-bottom: 16px;
  margin-left: 16px;
}

/*==========================================================================
 * Contains
 * ========================================================================== */
.l-contain {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
}

.l-form {
  margin-top: 56px;
}
@media screen and (min-width: 970px) {
  .l-form {
    display: grid;
    grid-template-columns: 1fr 6fr 0.5fr 5.5fr 1fr;
    grid-template-rows: auto 112px 1fr auto;
  }
}
@media screen and (min-width: 1344px) {
  .l-form {
    grid-template-columns: 1fr 576px 48px 528px 1fr;
  }
}

@media screen and (max-width: 969px) {
  .l-form__main {
    padding: 7.1428571429%;
    background-color: #E7F0F6;
  }
}
@media screen and (min-width: 970px) {
  .l-form__main {
    grid-column: 2/span 1;
    grid-row: 1/span 3;
    align-self: start;
    position: relative;
    z-index: 1;
    padding: 48px 40px;
    background: #fff;
    border: 1px solid #D3D4D6;
    box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
    border-radius: 16px 16px 80px 4px;
  }
}

.l-form__side {
  margin-left: auto;
  margin-right: auto;
  padding-top: 48px;
  padding-bottom: 48px;
}
@media screen and (max-width: 969px) {
  .l-form__side {
    width: calc(100% / 14 * 12);
  }
}
@media screen and (min-width: 970px) {
  .l-form__side {
    grid-column: 4/span 1;
    grid-row: 1/span 1;
    padding-top: 120px;
  }
}

@media screen and (max-width: 969px) {
  .l-form__side-info {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
    width: calc(100% / 14 * 12);
    margin-top: 32px;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 970px) {
  .l-form__side-info {
    grid-column: 4/span 1;
    grid-row: 1/span 1;
  }
}

@media screen and (min-width: 970px) {
  .l-form__image {
    grid-column: 1/span 5;
    grid-row: 3/span 2;
    position: relative;
    z-index: 0;
  }
}

.l-menu {
  position: relative;
}
@media screen and (max-width: 1159px) {
  .l-menu {
    background: #E7F0F6;
  }
}
@media screen and (min-width: 1160px) {
  .l-menu {
    display: grid;
    grid-template-columns: 1fr 3.5fr 8.5fr 1fr;
    grid-template-rows: auto;
    min-height: 100vh;
  }
}
.l-menu::before {
  content: "";
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #E7F0F6;
  grid-column: 3/span 2;
  grid-row: 1;
}
@media screen and (min-width: 1344px) {
  .l-menu {
    grid-template-columns: 1fr 364.8px 787.2px 1fr;
  }
}

@media screen and (max-width: 1159px) {
  .l-menu__bar {
    z-index: 60;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: calc(100% - 24px);
    max-width: 400px;
    background-color: #fff;
    box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.16);
    border-radius: 0 16px 20px 0;
    transform: translateX(-110%);
    transition: transform 400ms ease-in;
  }
}
@media screen and (min-width: 1160px) {
  .l-menu__bar {
    grid-column: 2/span 1;
    grid-row: 1;
    margin-top: 16px;
    padding-top: 24px;
    padding-left: 0;
    padding-right: 32px;
    padding-bottom: 80px;
  }
}
.l-menu__bar.is-menu-bar-active {
  transform: none;
  transition: transform 400ms ease-out;
}

.l-menu__content {
  margin-left: auto;
  margin-right: auto;
  padding-top: 48px;
}
@media screen and (max-width: 1159px) {
  .l-menu__content {
    width: calc(100% / 14 * 12);
  }
}
@media screen and (min-width: 1160px) {
  .l-menu__content {
    grid-column: 3/span 1;
    grid-row: 1;
    width: 100%;
    padding-top: 128px;
    padding-left: 48px;
    padding-bottom: 48px;
  }
}
.l-menu__content::before, .l-menu__content::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  width: 200px;
  height: 200px;
  background-color: #00357A;
}
.l-menu__content::after {
  background-color: #E7F0F6;
  border-top-right-radius: 200px;
}

.l-menu__breadcrumbs {
  margin-bottom: 56px;
}
@media screen and (max-width: 1159px) {
  .l-menu__breadcrumbs {
    display: none;
  }
}

.l-menu__close {
  position: absolute;
  right: 24px;
  top: 24px;
}
@media screen and (min-width: 1160px) {
  .l-menu__close {
    display: none;
  }
}

.l-menu__filter-button {
  margin-top: 40px;
}
@media screen and (min-width: 1160px) {
  .l-menu__filter-button {
    display: none;
  }
}

@media screen and (max-width: 1159px) {
  .l-menu__category {
    padding: 88px 24px 0;
  }
}

/*==========================================================================
 * Restrict
 *
 * When a block shouldn't take up the whole width of the container
 * we can restrict the maximum width
 * ========================================================================== */
@media screen and (min-width: 840px) {
  .l-restrict-narrow {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    max-width: 38em;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-narrow {
    width: 50%;
  }
}

@media screen and (min-width: 840px) {
  .l-restrict-wide {
    margin-left: auto;
    margin-right: auto;
    width: 87.5%;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-wide {
    width: 66.6666666667%;
  }
}

/* In the [$l-triple-grid] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
@media screen and (max-width: 739px) {
  .l-triple-grid {
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 740px) {
  .l-triple-grid {
    display: flex;
    flex-wrap: wrap;
    margin: -18px;
  }
}

.l-triple-grid__item {
  margin: 18px auto;
}
@media screen and (max-width: 739px) {
  .l-triple-grid__item {
    margin-bottom: 40px;
    max-width: 360px;
  }
}
@media screen and (min-width: 740px) {
  .l-triple-grid__item {
    flex: none;
    margin: 18px;
    flex-basis: calc(50% - 18px * 2);
  }
}
@media screen and (min-width: 1060px) {
  .l-triple-grid__item {
    flex-basis: calc(33.3333333333% - 18px * 2);
  }
}
.l-triple-grid__item > * {
  height: 100%;
}

/*  5 - COMPONENTS
 *  Discrete complete chunks of UI.
 *  Designed components
 =========================================================== */
/** ==========================================================================
 * Components
 * =========================================================================*/
.c-accordion__list {
  margin-left: 0;
  list-style: none;
}

.c-accordion__item {
  padding: 16px 0;
  margin-left: 80px;
  border-top: 1px solid #D3D4D6;
}
.c-accordion__item:last-child {
  border-bottom: 1px solid #D3D4D6;
}

.c-accordion__label {
  display: flex;
  margin-left: -80px;
  cursor: pointer;
  text-decoration: none;
}

.c-accordion__number {
  margin-right: 16px;
}

.c-accordion__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: #0047A3;
  transition: color 150ms linear;
}
.c-accordion__label:hover .c-accordion__heading {
  color: #002657;
}

.c-accordion__arrow {
  flex: none;
  color: #0B84E0;
  transition: transform 150ms ease-in-out;
}
.c-accordion__label.is-active .c-accordion__arrow {
  transform: rotate(-0.25turn);
}

.c-accordion__content {
  max-height: 0;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  transition: all 250ms ease-in-out;
}
.is-active ~ .c-accordion__content {
  padding-top: 24px;
  padding-bottom: 56px;
  max-height: 1000px;
  opacity: 1;
  pointer-events: all;
}

.c-breadcrumb {
  padding-bottom: 4px;
}

.c-breadcrumb__list {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-breadcrumb__item {
  display: flex;
  align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  color: #0047A3;
}

.c-breadcrumb__link {
  color: #3C4248;
  text-decoration: none;
  margin-right: 16px;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
  font-weight: 600;
}

.c-breadcrumb__icon {
  margin-left: -8px;
}

/* ==========================================================================
 * Default button
 * ========================================================================== */
.c-button {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  border-radius: 4px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 16px 0;
  border: none;
  background-image: linear-gradient(to bottom right, #0047A3, #00357A);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.c-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-button::before {
  content: "";
  position: absolute;
  z-index: 0;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  background-image: linear-gradient(to bottom right, #00357A, #002657);
  transition: all 300ms linear;
}
.c-button:hover::before {
  opacity: 1;
}

.c-button--small {
  padding: 12px 0;
  height: auto;
}

.c-button__text {
  position: relative;
  z-index: 1;
  padding: 0 24px;
  text-align: center;
}
.c-button__text::first-letter {
  text-transform: capitalize;
}
.c-button--icon .c-button__text {
  padding-right: 16px;
}
.c-button--align-left .c-button__text {
  text-align: left;
}

.c-button__icon {
  display: none;
  position: relative;
  top: 0;
  left: 0;
  margin-right: 16px;
}
.c-button--icon .c-button__icon {
  display: block;
}

.c-button--reverse {
  flex-direction: row-reverse;
}
.c-button--reverse .c-button__text {
  padding-right: 24px;
  padding-left: 20px;
}
.c-button--reverse .c-button__icon {
  margin-right: 0;
  margin-left: 16px;
}

.c-button--secondary {
  padding: 15px 0;
  border: 1px solid #E6AC94;
  background-image: linear-gradient(to bottom right, #E6AC94, #CD8567);
  box-shadow: 0 2px 8px 0 rgba(0, 55, 97, 0.1);
}
.c-button--secondary::before {
  background-image: linear-gradient(to bottom right, #e19b7f, #c87857);
}

.c-card {
  border-radius: 16px;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 360px;
  text-decoration: none;
}
.c-card:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px 16px 80px 4px;
  transition: all 300ms linear;
}
@media screen and (max-width: 719px) {
  .c-card:before {
    border-bottom-right-radius: 40px;
  }
}
.c-card[href]:hover:before {
  box-shadow: 0 16px 32px 0 rgba(0, 0, 0, 0.2);
}

.c-card__frame {
  position: relative;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  overflow: hidden;
}
.c-card__frame:before {
  opacity: 0;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(#58B1F5, #0047A3);
  transition: opacity 300ms linear;
}
.c-card[href]:hover .c-card__frame:before {
  opacity: 0.3;
}

.c-card__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card__label {
  font-weight: 800;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 8px 48px 8px 24px;
  background-color: #0047A3;
  color: #fff;
  border-top-right-radius: 40px;
}

.c-card__body {
  position: relative;
  z-index: 0;
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 24px 40px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 80px;
}
@media screen and (max-width: 719px) {
  .c-card__body {
    border-bottom-right-radius: 40px;
  }
}
.c-card__body > a {
  text-decoration: none;
}

.c-card__title {
  font-size: 1.125rem;
  font-weight: 800;
  color: #0047A3;
  word-break: break-word;
}

.c-card__title--small {
  font-size: 1.25rem;
  line-height: 1.2;
  color: #3C4248;
}

.c-card__date {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 500;
  color: #CD8567;
}

.c-card__description {
  font-size: 0.9375em;
  margin-top: 16px;
  margin-bottom: 24px;
  color: #3C4248;
}

.c-card__action {
  margin-top: auto;
}

.c-card__contact {
  margin-top: 24px;
}
.c-card__contact a {
  color: #CD8567;
  text-decoration: none;
  transition: color 150ms;
}

.c-card__timetable dt {
  float: left;
  clear: left;
  width: 113px;
}
.c-card__timetable dd {
  margin: 0 0 0 113px;
}

.c-card__subtitle {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

.c-servicepoint {
  display: flex;
  align-items: center;
}

.c-servicepoint__img {
  flex: none;
  width: 124px;
  margin-right: 40px;
  border-radius: 50%;
  background-color: #D3D4D6;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__img {
    width: 100px;
    height: 100px;
    margin-right: 24px;
  }
}

.c-servicepoint__logo {
  flex: none;
  width: 124px;
  margin-right: 40px;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__logo {
    width: 100px;
    height: 100px;
    margin-right: 24px;
  }
}

.c-servicepoint__label {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 800;
  color: #0047A3;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__label {
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

.c-servicepoint__sub {
  margin-top: 8px;
}

.c-close {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  width: 48px;
  height: 48px;
  padding: 0;
  background: none;
  color: #fff;
  border: 1px solid rgba(185, 219, 244, 0.5);
  border-radius: 4px 4px 24px 4px;
  outline: none;
  cursor: pointer;
}
.c-close:focus {
  box-shadow: 0 0 3px 2px white;
}
.c-close:after, .c-close:before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 8px;
  left: 8px;
  height: 2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 1px;
  transform: rotate(45deg);
  transition: transform 180ms ease-out;
}
.c-close:after:hover, .c-close:before:hover {
  transform: scale(1.2);
}
.c-close:after {
  transform: rotate(-45deg);
}

.c-close--dark {
  color: #0047A3;
  border-color: #0047A3;
}

.c-contact-person {
  position: relative;
}
.c-contact-person::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #CD8567;
  background-image: url("/img/ornament-shape-2-half-top.svg"), linear-gradient(to bottom right, #E6AC94, #CD8567);
  background-repeat: no-repeat, repeat;
  background-size: 160px 80px, 100% 100%;
  background-position: calc(100% - 16px) 100%, 0 0;
  border-top-left-radius: 16px;
  border-top-right-radius: 80px;
}

.c-checkbox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.c-checkbox__input {
  margin: 4px 0 0;
  width: 14px;
}

.c-checkbox__text {
  width: calc(100% - 28px);
}

.c-checkmarks {
  list-style: none;
  margin-left: 0;
  padding: 56px 40px 48px 0;
}

.c-checkmarks__item {
  display: flex;
}
.c-checkmarks__item:nth-last-child(n+2) {
  margin-bottom: 24px;
}

.c-checkmarks__icon {
  margin-right: 24px;
}

.c-checkmarks__label {
  font-weight: 800;
  margin-top: 16px;
}

.c-cta-block {
  padding: 8px 24px 24px;
  background: #FFFFFF;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}
@media screen and (min-width: 450px) {
  .c-cta-block {
    padding: 8px 56px 56px;
  }
}

.c-cta-block__heading {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  margin-top: 32px;
}

.c-cta-block__action {
  margin-top: 16px;
}

.c-datepicker {
  position: relative;
}

.c-datepicker__icon {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 17px;
  height: 17px;
  transform: translateY(-10px);
  background-image: url("/img/calendar.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}
.c-datepicker.on-mobile .c-datepicker__icon {
  left: auto;
  right: 10px;
  width: 24px;
  height: 24px;
  transform: translateY(-12px);
  background-size: 17px auto;
  background-color: white;
}

.flatpickr-input {
  border-radius: 4px;
  width: 100%;
  padding: 7px 16px 7px 36px;
  border: 1px solid #D3D4D6;
  outline: none;
}
.flatpickr-input:focus {
  box-shadow: 0 0 7px -3px rgba(50, 141, 252, 0.75);
  border-color: #328dfc;
}
.c-datepicker.on-mobile .flatpickr-input {
  padding: 7px 8px 7px 16px;
}

.flatpickr-calendar {
  width: auto;
  border-radius: 8px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.flatpickr-rContainer {
  padding: 0 4px 4px 4px;
}

span.flatpickr-weekday {
  font-weight: 400;
  color: #757A80;
}

.flatpickr-months {
  padding: 4px 8px 0;
  margin-bottom: 4px;
}
.flatpickr-months .flatpickr-month {
  height: auto;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month {
  left: 8px;
}
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  right: 8px;
}
.flatpickr-months .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month {
  top: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  color: #D3D4D6;
  transition: background-color 0.2s, color 0.2s;
}
.flatpickr-months .flatpickr-next-month svg,
.flatpickr-months .flatpickr-prev-month svg {
  height: 13px;
  width: 13px;
  fill: currentColor !important;
}
.flatpickr-months .flatpickr-next-month:hover,
.flatpickr-months .flatpickr-prev-month:hover {
  color: #00357A;
  background-color: rgba(231, 240, 246, 0.5);
}

.flatpickr-current-month {
  position: relative;
  height: auto;
  left: 0;
  padding: 4px 0 0;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  margin-top: 0;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #3C4248;
  transition: background-color 0.2s;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background-color: rgba(231, 240, 246, 0.5);
}
.flatpickr-current-month .numInputWrapper {
  margin-left: 4px;
}
.flatpickr-current-month input.cur-year {
  padding-left: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #3C4248;
}

.numInputWrapper {
  border-radius: 4px;
  transition: background-color 0.2s;
}
.numInputWrapper:hover {
  background-color: rgba(231, 240, 246, 0.5);
}
.numInputWrapper:hover span {
  opacity: 0.5;
}
.numInputWrapper span {
  border: none;
  border-left: 1px solid #D3D4D6;
}
.numInputWrapper span:hover {
  background-color: rgba(211, 212, 214, 0.6);
  opacity: 0.75;
}

.flatpickr-day {
  border-radius: 8px 20px 8px 0;
  transition: background-color 0.2s, border 0.2s, color 0.2s;
}
.flatpickr-day.today, .flatpickr-day.today.flatpickr-disabled:hover {
  background-color: rgba(231, 240, 246, 0.5);
  border-color: transparent;
}
.flatpickr-day.today:not(.flatpickr-disabled):hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:hover, .flatpickr-day:focus {
  background-color: rgba(231, 240, 246, 0.5);
  border-color: rgba(0, 71, 163, 0.35);
  color: #0047A3;
}
.flatpickr-day.selected {
  background: linear-gradient(to bottom right, #0047A3, #00357A);
  border-color: #00357A;
  color: white;
  font-weight: 600;
}
.flatpickr-day.selected:hover {
  opacity: 0.8;
  background: linear-gradient(to bottom right, #0047A3, #00357A);
  border-color: #00357A;
  color: white !important;
}

.c-dropdown-trigger {
  --c-dropdown-is-right: var(--OFF);
  --transition-speed: 450ms;
  --arrow-display: block;
  --arrow-color: currentColor;
  pointer-events: all;
  position: relative;
  white-space: nowrap;
}
.c-dropdown-trigger:where(:hover, :has(:focus-visible)) {
  --opacity: 1;
  --translateY: 0;
  --scaleX: 1;
  --arrow-scaleY: -1;
  --pointer-events: all;
}

.c-dropdown-has-arrow {
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-dropdown-has-arrow::after {
  content: "";
  display: var(--arrow-display, none);
  height: 5px;
  width: 10px;
  background-color: var(--c-dropdown-arrow-color, var(--arrow-color));
  -webkit-mask-image: url("/img/arrowHeadDown.svg");
          mask-image: url("/img/arrowHeadDown.svg");
  transform: scaleY(var(--arrow-scaleY, 1));
  transition: transform var(--transition-speed);
}

.c-dropdown {
  --bg: #1D61B8;
  --link-color: #B9DBF4;
  display: grid;
  position: absolute;
  right: var(--c-dropdown-is-right, 0);
  top: 100%;
  min-width: var(--c-dropdown-min-width);
  opacity: var(--opacity, 0);
  pointer-events: var(--pointer-events, none);
  transition: pointer-events 0s linear var(--transition-speed);
}

.c-dropdown--dense {
  --menu-padding-block: var(--space-small);
}

.c-dropdown__menu {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin-left: 0;
  padding: 8px;
  background-color: var(--bg);
  box-shadow: 0 16px 48px 0 rgba(0, 0, 0, 0.12);
  border-radius: 16px 0 16px 16px;
  margin-top: 16px;
  opacity: var(--opacity, 0);
  transform: translateY(var(--translateY, -24px)) scaleX(var(--scaleX, 0.9));
  transform-origin: top;
  transition-duration: var(--transition-speed);
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.52, 0.09, 0.07, 0.86);
}

.c-dropdown__item {
  color: #B9DBF4;
}
.c-dropdown__item:not(:last-child) {
  border-bottom: 1px solid rgba(185, 219, 244, 0.4);
}

.c-dropdown__link {
  --dropdown-link-opacity: 0 ;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 8px;
  gap: 20px;
  align-items: center;
  font-size: 16px;
  line-height: 1.71428571;
  background-color: #1D61B8;
  color: var(--link-color);
  padding-inline: 12px;
  text-decoration: none;
  transition: all 150ms linear;
  padding-block: 10px !important;
}
.c-dropdown__link:before {
  content: "";
  position: absolute;
  border-radius: 4px;
  inset: 4px 0;
  background-color: rgba(0, 0, 0, 0.1);
  opacity: var(--dropdown-link-opacity);
}
.c-dropdown__link:where(:hover, :focus-visible) {
  --link-color: #fff;
  --dropdown-link-opacity: 1;
}
.c-dropdown__link:where(:focus-visible) {
  outline: 1px solid #3C4248;
  outline-offset: -4px;
  border-radius: 4px;
}
.c-dropdown__link span {
  display: inline-flex;
}
.c-dropdown__link svg {
  flex: 0 0 auto;
}

.c-faq__header {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  color: #3C4248;
  margin-bottom: 48px;
}

.c-faq__list {
  margin-left: 0;
  list-style: none;
}

.c-faq__item {
  border-bottom: 1px solid #B9DBF4;
  max-width: 45em;
}

.c-faq__label {
  display: flex;
  cursor: pointer;
  padding: 16px 0;
}

.c-faq__number {
  margin-right: 16px;
}

.c-faq__heading {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: #3C4248;
  transition: color 150ms linear;
}
.c-faq__label:hover .c-faq__heading {
  color: #0047A3;
}
.c-faq__label.is-active .c-faq__heading {
  font-weight: 800;
  color: #0047A3;
}

.c-faq__arrow {
  flex: none;
  color: #0B84E0;
  transition: transform 150ms ease-in-out;
}
.c-faq__label.is-active .c-faq__arrow {
  transform: rotate(-0.25turn);
}

.c-faq__content {
  max-height: 0;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  transition: all 250ms ease-in-out;
}
.is-active ~ .c-faq__content {
  padding-top: 16px;
  padding-bottom: 32px;
  max-height: 1000px;
  opacity: 1;
}

.c-faq__action {
  margin-top: 48px;
}

.c-file-upload__main {
  position: relative;
  cursor: pointer;
}

.c-file-upload__input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.c-file-upload__list {
  margin-left: 0;
  margin-bottom: 16px;
  list-style: none;
  overflow: hidden;
}
.c-file-upload__list > li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px solid #757A80;
  padding: 4px 0;
  animation: expand 0.5s ease-in-out;
}
.c-file-upload__list > li::before {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background: url("/img/file.svg") no-repeat;
}
.c-file-upload__list > li > button {
  font-size: 24px;
  line-height: 16px;
  color: #000;
  margin-left: auto;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  transition: color 150ms linear;
}
.c-file-upload__list > li > button:hover {
  color: #cf3e3e;
}
.c-file-upload__list > li > button::before {
  content: "×";
}

.c-file-upload__note {
  margin-left: 8px;
  color: #757A80;
  font-size: 0.9rem;
}

@keyframes expand {
  from {
    transform: translateX(-100%);
    transform-origin: top;
    opacity: 0;
  }
}
.c-file-upload__button .c-button__text {
  pointer-events: none;
}

.c-flash-message-container {
  position: relative;
}

.c-flash-message {
  border-radius: 16px;
  position: absolute;
  bottom: -80%;
  left: 50%;
  display: inline-block;
  white-space: nowrap;
  padding: 5px 15px;
  background-color: #328dfc;
  font-size: 0.6rem;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: white;
  opacity: 0;
  transform: translate3d(-50%, -5px, 0);
  transition-property: opacity, transform;
  transition-duration: 0.3s;
}
.c-flash-message::after {
  content: "";
  position: absolute;
  top: -8px;
  left: calc(50% - 7.5px);
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7.5px 8px 7.5px;
  border-color: transparent transparent #328dfc transparent;
}
.c-flash-message.clicked {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}

.c-form-element--honey {
  position: fixed;
  top: -100px;
  height: 20px;
  width: 100%;
}

.c-form-element__error {
  border-radius: 4px;
  font-size: 0.75rem;
  line-height: 1.5;
  display: none;
  margin-top: 5px;
  padding: 2px 8px;
  color: rgba(207, 62, 62, 0.9);
}
.c-form-element__error:not(:empty) {
  display: block;
}

.c-form-element__label {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 500;
  color: #0B84E0;
  order: 1;
  padding-left: 8px;
  padding-bottom: 4px;
}
.has-error .c-form-element__label {
  color: #da9b0c;
}
p.c-form-element__label {
  margin: 0;
}

.c-form-element__optional {
  margin-left: 8px;
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  color: #757A80;
}

.c-form-element__required {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 500;
  color: #cf3e3e;
}

.c-form-feedback {
  margin: 0 0 8px;
  padding: 24px 32px;
  background-color: #fef5e1;
  border: 1px solid #fef5e1;
  border-radius: 16px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #0047A3;
}
.c-form-feedback:not(:empty) {
  display: block;
}
.c-form-feedback:before {
  content: attr(data-feedback);
  display: inline-block;
  margin-left: -16px;
  margin-bottom: 8px;
  font-weight: 700;
  color: #da9b0c;
}
.c-form-feedback li::first-letter {
  text-transform: uppercase;
}

/* ==========================================================================
 * Default button
 * ========================================================================== */
.c-ghost-button {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  border-radius: 4px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 8px 0;
  border: 1px solid #0047A3;
  background: transparent;
  color: #0047A3;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.c-ghost-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-ghost-button::before {
  content: "";
  position: absolute;
  z-index: 0;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  background-image: linear-gradient(to bottom right, #fff, #E7F0F6);
  transition: all 300ms linear;
}
.c-ghost-button:hover::before {
  opacity: 1;
}

.c-ghost-button--on-dark {
  padding: 15px 0;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}
.c-ghost-button--on-dark::before {
  background-image: linear-gradient(to bottom right, transparent, rgba(211, 212, 214, 0.2));
}

.c-ghost-button__text {
  position: relative;
  z-index: 1;
  padding: 0 24px;
  text-align: center;
}
.c-ghost-button--icon .c-ghost-button__text {
  padding-right: 16px;
}
.c-ghost-button--align-left .c-ghost-button__text {
  text-align: left;
}

.c-ghost-button__icon {
  display: none;
  flex: none;
  position: relative;
  top: 0;
  margin-right: 16px;
}
.c-ghost-button--icon .c-ghost-button__icon {
  display: block;
}

.c-ghost-button--reverse {
  flex-direction: row-reverse;
}
.c-ghost-button--reverse .c-ghost-button__text {
  padding-right: 32px;
  padding-left: 16px;
}
.c-ghost-button--reverse .c-ghost-button__icon {
  margin-right: 0;
  margin-left: 16px;
}

.c-ghost-button--login {
  padding: 15px 0;
  border: 1px solid #fff;
  border-radius: 4px 4px 80px 4px;
  background: transparent;
  color: #fff;
}
.c-ghost-button--login::before {
  background-image: linear-gradient(to bottom right, transparent, rgba(211, 212, 214, 0.2));
}

.c-ghost-button--white {
  padding: 15px 0;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}
.c-ghost-button--white::before {
  background-image: linear-gradient(to bottom right, transparent, rgba(211, 212, 214, 0.2));
}

.c-ghost-button--secondary {
  border: 1px solid #CD8567;
  color: #CD8567;
}
.c-ghost-button--secondary::before {
  background-image: linear-gradient(to bottom right, #fff, rgba(245, 228, 220, 0.7));
}

.c-google-maps {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
}

.c-google-maps__map {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.c-hamburger {
  display: flex;
  justify-content: center;
  align-self: center;
  position: relative;
  width: 48px;
  height: 48px;
  padding: 0;
  color: #fff;
  background: none;
  border: 1px solid #fff;
  border-radius: 4px 4px 24px 4px;
  outline: none;
  cursor: pointer;
}
.c-hamburger:focus {
  box-shadow: 0 0 3px 2px #328dfc;
}
.c-hamburger.is-light {
  color: white;
}
.c-hamburger > span {
  position: absolute;
  top: 24px;
  right: 8px;
  left: 8px;
  height: 2px;
  margin-top: -2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 1px;
  transform-origin: left;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
  transition-delay: 100ms;
}
.c-hamburger > span:nth-child(1) {
  top: 14px;
}
.c-hamburger > span:nth-child(3) {
  top: 34px;
  transform: scaleX(0.8);
}
.c-hamburger:hover > span {
  transform: scaleX(0.9);
}
.c-hamburger:hover > span:nth-child(2) {
  transform: scaleX(0.8);
}
.c-hamburger:hover > span:nth-child(3) {
  transform: scaleX(0.6);
}
.is-overlay-menu-active .c-hamburger > span {
  transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(1) {
  transform: translateY(3px) scaleX(1) !important;
  transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger > span:nth-child(3) {
  transform: translateY(-3px) scaleX(1) !important;
  transition-delay: 0s;
}

.c-icon-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  color: #328dfc;
  border: 1px solid rgba(50, 141, 252, 0.3);
  border-radius: 100%;
  transition-property: color, background-color, border, box-shadow;
  transition-duration: 0.25s;
  outline: none;
}
.c-icon-button:hover {
  color: white;
  background-color: #328dfc;
  border-color: transparent;
  cursor: pointer;
}
.c-icon-button:active {
  background-color: #0360d0;
  color: white;
}
.c-icon-button:focus {
  box-shadow: 0 1px 6px 0 hsla(0, 50%, 0%, 0.2);
}
.c-icon-button[data-icon-direction=reverse] {
  transform: rotate(0.5turn);
}

.c-popup {
  position: fixed;
  right: 0;
  bottom: 200px;
  z-index: 50;
  opacity: 0;
  width: 170px;
  height: 160px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 30px;
  background-color: #fff;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
}

.c-popup-close__icon {
  position: absolute;
  width: 15px;
  margin: 16px;
  cursor: pointer;
}
.c-popup-close__icon svg {
  color: #D3D4D6;
}

.c-popup__title {
  display: flex;
  justify-content: center;
  padding-top: 40px;
  padding-inline: 20px;
  width: 100%;
  line-height: 1.2;
  text-align: center;
}

.c-popup__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.c-popup__social {
  border-radius: 4px;
  padding: 10px;
  background-color: #0047A3;
  cursor: pointer;
}
.c-popup__social svg path {
  fill: #fff;
}

.js-popup__show {
  animation: popupFadeIn 2s;
  animation-delay: 2s;
  animation-fill-mode: both;
}

@keyframes popupFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.c-input {
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  width: 100%;
  padding: 7px 16px;
  border: 1px solid #D3D4D6;
  outline: none;
}
.has-error .c-input {
  box-shadow: 0 0 7px -3px #328dfc;
  border-color: #328dfc;
}
.c-input:focus {
  box-shadow: 0 0 7px -3px rgba(50, 141, 252, 0.75);
  border-color: #328dfc;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 158px;
  line-height: 24px;
  resize: vertical;
}

.c-image {
  display: block;
}
.c-image > img {
  display: block;
  position: relative;
  width: 100%;
  min-height: 130px;
  text-align: center;
}
.c-image > img:before {
  border-radius: 16px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  content: "We're sorry, this image is broken :(";
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  height: calc(100% + 20px);
  width: 100%;
  padding: 15px;
  background-color: #fff;
  background-image: url(/img/placeholders/image.svg);
  background-repeat: no-repeat;
  background-position: bottom 20px center;
  background-size: 130px;
  border: 2px solid #fff;
}

.c-image__placeholder {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 66.67%;
  background-color: #fff;
  background-image: url("/img/placeholders/image.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200px auto;
  border: 1px solid rgba(60, 66, 72, 0.3);
  border-radius: 40px;
}
.c-image__placeholder--video {
  padding-bottom: 56.25%;
  background-image: url("/img/placeholders/image.svg");
}

.c-language {
  --border: 1px solid rgba(185, 219, 244, 0.5);
  position: relative;
  display: inline-block;
}

.c-language--on-home {
  --border: none;
}

.c-language__button {
  font-family: "Raleway", sans-serif;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  border-radius: 4px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 100%;
  color: #B9DBF4;
  background-color: transparent;
  border: var(--border);
  text-align: left;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  font-size: 0.95rem;
  padding: 4px 20px 5px 10px;
  border: 1px solid #B9DBF4;
  border-radius: 16px 16px 80px 16px;
  transition: color 0.15s;
}
.c-language__button:focus, .c-language__button:hover {
  outline: none;
  color: #fff;
}

.c-language__dropdown {
  font-family: "Raleway", sans-serif;
  border-radius: 4px;
  position: absolute;
  left: 1px;
  right: 1px;
  top: 100%;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background-color: #fff;
  box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.c-language__link {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  text-decoration: none;
  color: #0047A3;
  background-color: transparent;
  transition: background-color 0.3s;
}
.c-language__link:hover {
  color: #0047A3;
  background: linear-gradient(rgba(0, 71, 163, 0.15), rgba(0, 71, 163, 0.15));
}

.c-language__label {
  font-size: 0.8rem;
  text-transform: uppercase;
  flex: none;
  margin-right: 8px;
}

.c-language__icon {
  opacity: 0.5;
}

.c-language__flag-wrapper {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  margin-right: 8px;
}
.c-language__flag-wrapper:before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 6px;
}

.c-language__flag {
  flex: none;
  display: block;
  width: 18px;
  height: auto;
}

.c-language--upwards .c-language__button {
  margin-top: 3px;
  margin-bottom: 0;
}
.c-language--upwards .c-language__dropdown {
  top: auto;
  bottom: 100%;
  transform: translateY(5px);
}

.c-language--on-light .c-language__button {
  color: #00357A;
  border-color: rgba(0, 53, 122, 0.5);
}
.c-language--on-light .c-language__button:focus, .c-language--on-light .c-language__button:hover {
  color: #002657;
}

.c-language-menu__title {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0047A3;
  margin-bottom: 32px;
}
@media screen and (max-width: 799px) {
  .c-language-menu__title {
    font-size: calc(20px + 1vw);
  }
}

.c-language-menu__list {
  margin-left: 0;
  list-style: none;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
@media screen and (min-width: 560px) {
  .c-language-menu__list {
    -moz-columns: 2;
         columns: 2;
    -moz-column-fill: balance;
         column-fill: balance;
    -moz-column-gap: 48px;
         column-gap: 48px;
  }
}

.c-language-menu__item {
  display: inline-block;
  width: 100%;
  color: #3C4248;
  border-bottom: 1px solid #D3D4D6;
  /**
   * knowing we have 10 items in our list
   * we manually select the last of each column
   * to remove the border
   */
}
.c-language-menu__item:last-child {
  border-bottom: none;
}
@media screen and (min-width: 560px) {
  .c-language-menu__item:nth-child(4n) {
    border-bottom: none;
  }
}

.c-language-menu__link {
  font-weight: 800;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  color: currentColor;
  text-decoration: none;
}
.c-language-menu__link::before {
  opacity: 0;
  content: "";
  position: absolute;
  z-index: 0;
  top: 8px;
  bottom: 8px;
  right: -8px;
  left: -8px;
  background-color: rgba(231, 240, 246, 0.5);
  transition: opacity 200ms linear;
  border-radius: 4px;
}
.c-language-menu__link:hover {
  color: #0047A3;
}
.c-language-menu__link:hover::before {
  opacity: 1;
}

.c-language-menu__label {
  position: relative;
}

.c-language-menu__arrow {
  position: relative;
  color: #0047A3;
  transform: translateX(-8px);
  transition: transform 200ms ease;
}
.c-language-menu__link:hover .c-language-menu__arrow {
  transform: translateX(-4px);
}

.language-product {
  display: flex;
  flex-direction: column;
  gap: 32px;
  text-decoration: none;
  max-width: 1000px;
  margin-top: 40px;
}
@media screen and (min-width: 550px) {
  .language-product {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.language-product__image {
  flex: 0 0 240px;
  aspect-ratio: 3/2;
}

.language-product__img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 16px 16px 64px 0;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
}

.language-product__title {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  color: #0047A3;
  margin-bottom: 16px;
}

.language-product__description {
  color: #3C4248;
  margin-bottom: 16px;
}

@media screen and (max-width: 779px) {
  .language-product__trainings-label {
    display: none;
  }
}

.language-product__trainings {
  padding: 32px;
  background-color: #E7F0F6;
  border-radius: 32px;
  max-width: 1000px;
}
@media screen and (max-width: 779px) {
  .language-product__trainings {
    display: none;
  }
}

.language-product__training {
  display: flex;
  text-decoration: none;
  border-radius: 16px 16px 16px 80px;
  overflow: hidden;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.04);
  max-width: 800px;
}
.language-product__training + .language-product__training {
  margin-top: 24px;
}

.language-product__training-datetime {
  flex: 0 0 auto;
  position: relative;
  width: 192px;
  padding: 24px 32px;
  text-align: right;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background-color: #0047A3;
  background-image: linear-gradient(to right, rgba(11, 132, 224, 0.5), rgba(0, 71, 163, 0.5));
}

.language-product__training-start-date {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

.language-product__training-body {
  display: flex;
  flex: auto;
  justify-content: space-between;
  padding: 24px 32px;
  background-color: white;
  gap: 32px;
}

.language-product__training-title {
  color: #3C4248;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
}

.language-product__training-button {
  flex: 0 0 auto;
}

.language-product__training-type {
  margin: 0 4px 4px 0;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.6875rem;
  line-height: 1.4545454545;
  border: 1px solid currentColor;
}

.language-product__training-type--online {
  background-color: #E7F0F6;
  color: #0B84E0;
}

.language-product__training-type--ftf {
  background-color: rgba(245, 228, 220, 0.5);
  color: #CD8567;
}

.language-product__training-price-label {
  font-size: 1.125rem;
  line-height: 1.2222222222;
  font-weight: 800;
  color: #CD8567;
}
.language-product__training-price-label::before {
  content: "€";
}

.language-product__training-additional-pricing {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  margin-top: 4px;
  color: #757A80;
}

.language-product__training-btw-label {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #757A80;
}

.c-nav {
  display: none;
}
@media screen and (min-width: 820px) {
  .c-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}

.c-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 0;
  list-style: none;
  margin-left: 0;
  -moz-column-gap: 32px;
       column-gap: 32px;
  z-index: 2;
}

.c-nav__item {
  --nav-link-color: rgba(255, 255, 255, 0.9);
  position: relative;
}
.c-nav__item::before {
  content: "";
  display: block;
  position: absolute;
  inset: auto calc(var(--item-gap-x) / 2) 0.35em;
  height: 2px;
  background-color: var(--active-line-color);
  pointer-events: none;
}
.c-nav__item.is-current {
  --link-fw: var(--fw-500);
  --nav-link-color: #CD8567;
  --active-line-color: palette(primary,500);
}
.c-nav__item.has-children {
  --c-dropdown-min-width: 288px;
}

.c-nav__link {
  font-weight: 600;
  color: var(--nav-link-color);
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color 150ms linear;
}
.c-nav__link:hover {
  text-decoration: underline;
}
.is-active .c-nav__link {
  color: #E6AC94;
}

.c-nav__icon {
  margin-left: 7px;
  color: #328dfc;
}

.c-nav__actions {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
}

.c-options-menu {
  list-style: none;
  margin-left: 0;
}
@media screen and (max-width: 839px) {
  .c-options-menu {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 840px) {
  .c-options-menu__segment + .c-options-menu__segment {
    margin-top: 50px;
  }
}

.c-options-menu__label {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 500;
  margin-bottom: 10px;
  color: #3C4248;
}
@media screen and (max-width: 839px) {
  .c-options-menu__segment:last-child .c-options-menu__label {
    text-align: right;
  }
}

.c-page-title, .s-text--main h2 {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0047A3;
}

.c-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin-left: 0;
}

.c-pagination__item {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 500;
  color: rgba(183, 189, 195, 0.5);
}

.c-pagination__link {
  border-radius: 16px;
  padding: 8px;
  color: rgba(60, 66, 72, 0.5);
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:link:hover {
  color: #3C4248;
  background: #fff;
}
.c-pagination__link.is-active {
  font-weight: bold;
  color: #0047A3;
  cursor: default;
}

.c-pagination__prev,
.c-pagination__next {
  display: flex;
  justify-content: center;
  margin-left: 16px;
  padding: 8px;
  transition: color 0.2s;
}

a.c-pagination__prev,
a.c-pagination__next {
  color: #0047A3;
}

.c-pagination__prev {
  transform: rotate(0.5turn);
  margin-left: 0;
  margin-right: 16px;
}

.c-projector {
  position: relative;
  height: 100%;
}

.c-projector__figure {
  position: relative;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  height: 100%;
  overflow: hidden;
  border-top-left-radius: 16px;
  border-top-right-radius: 80px;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 16px;
}
.c-projector__figure::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #D3D4D6;
}

.c-projector__picture {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  height: 100%;
  display: block;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.5s;
}
.c-projector__picture.is-active {
  opacity: 1;
}

.c-projector__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 839px) {
  .c-projector__img {
    max-height: 78vh;
  }
}

.c-projector__button {
  position: absolute;
  right: 0;
  top: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  color: #0047A3;
  background: #E7F0F6;
  border: none;
  border-radius: 100%;
  cursor: pointer;
  transform: translateY(-50%) translateX(50%);
  transition-property: background-color, border, box-shadow;
  transition-duration: 0.25s;
  outline: none;
}
.c-projector__button:hover {
  color: white;
  background-color: #0B84E0;
  border-color: transparent;
  cursor: pointer;
}
.c-projector__button:active {
  background-color: #0360d0;
  color: white;
}
.c-projector__button:focus {
  box-shadow: 0 1px 6px 0 hsla(0, 50%, 0%, 0.2);
}
.c-projector__button.previous {
  right: auto;
  left: 0;
  transform: translateY(-50%) translateX(-50%) rotate(0.5turn);
}

.c-projector__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16px;
  font-size: 0;
  line-height: 0;
}

.c-rating {
  --display: block;
  --color: #fff;
  --title-size: 15px;
  --star-size: 18px;
  --opacity: 0.6;
}

.c-rating--on-home {
  --display: flex;
  --color: #B9DBF4;
  --title-size: 0.95rem;
  --star-size: 16px;
  --opacity: 1;
}

.c-rating__title {
  color: var(--color);
  opacity: var(--opacity, 1);
  font-size: var(--title-size);
}

.c-rating__link {
  display: var(--display);
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
  text-decoration: none;
  color: var(--color);
}

.c-rating__wrapper {
  display: flex;
  align-items: center;
}

.c-rating__stars {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-2px);
  color: var(--color);
}
.c-rating__stars svg {
  width: var(--star-size);
  aspect-ratio: 1;
}

.c-rating__score {
  margin-left: 8px;
  font-size: 14px;
}

.c-ring__body {
  position: relative;
  border-radius: 50%;
  background-image: linear-gradient(to bottom, #0047A3, #00357A);
  color: #fff;
  width: 32px;
  height: 32px;
  margin: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-ring__body::before, .c-ring__body::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -8px;
  bottom: -8px;
  right: -8px;
  left: -8px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.c-ring__body::after {
  top: -16px;
  bottom: -16px;
  right: -16px;
  left: -16px;
  opacity: 0.5;
}

.c-ring--on-light .c-ring__body::before, .c-ring--on-light .c-ring__body::after {
  border: 1px solid #0047A3;
}

.c-ring--simple .c-ring__body {
  margin: 0;
}
.c-ring--simple .c-ring__body::before, .c-ring--simple .c-ring__body::after {
  display: none;
}

/**
 * Select styled without extra containing elements
 * ------------------------------------
 * Based on this article:
 * https://www.filamentgroup.com/lab/select-css.html
 */
.c-select {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  border-radius: 4px;
  display: block;
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 16px;
  padding-right: 32px;
  height: 40px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #3C4248;
  background-color: #fff;
  background-image: url("/img/select-arrow.svg"), linear-gradient(to bottom, #fff 0%, #fff 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 8px top 50%, 0 0;
  background-size: 12px auto, 100%;
  border: 1px solid #D3D4D6;
  transition: border 150ms linear;
}
.c-select:hover {
  border-color: #B9DBF4;
  background-color: rgba(231, 240, 246, 0.5);
}
.c-select:focus {
  border-color: #0B84E0;
  box-shadow: 0 0 7px -3px rgba(245, 228, 220, 0.7);
  box-shadow: 0 0 0 1px -moz-mac-focusring;
  color: #0047A3;
  outline: none;
}
.c-select option {
  font-weight: normal;
}

.c-select::-ms-expand {
  display: none;
}

.c-servicepoint {
  display: flex;
  align-items: center;
}

.c-servicepoint__img {
  flex: none;
  width: 124px;
  margin-right: 40px;
  border-radius: 50%;
  background-color: #D3D4D6;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__img {
    width: 100px;
    height: 100px;
    margin-right: 24px;
  }
}

.c-servicepoint__logo {
  flex: none;
  width: 124px;
  margin-right: 40px;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__logo {
    width: 100px;
    height: 100px;
    margin-right: 24px;
  }
}

.c-servicepoint__label {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 800;
  color: #0047A3;
}
@media screen and (max-width: 1119px) {
  .c-servicepoint__label {
    font-size: 1.25rem;
    line-height: 1.2;
  }
}

.c-servicepoint__sub {
  margin-top: 8px;
}

.c-share__list {
  display: inline-flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
}
@media screen and (max-width: 839px) {
  .c-share__list {
    display: flex;
  }
}

@media screen and (max-width: 839px) {
  .c-share__item + .c-share__item {
    margin-left: 4vw;
  }
}
@media screen and (min-width: 840px) {
  .c-share__item + .c-share__item {
    margin-top: 15px;
  }
}

.simple-training {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: 16px 16px 80px 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.04);
  max-width: 800px;
}
.simple-training + .simple-training {
  margin-top: 24px;
}
@media screen and (min-width: 630px) {
  .simple-training {
    flex-direction: row;
    border-radius: 16px 16px 16px 80px;
  }
}

.simple-training__datetime {
  position: relative;
  padding: 24px 32px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background-color: #0047A3;
  background-image: linear-gradient(to right, rgba(11, 132, 224, 0.5), rgba(0, 71, 163, 0.5));
}
@media screen and (min-width: 630px) {
  .simple-training__datetime {
    flex: 0 0 auto;
    width: 192px;
    text-align: right;
  }
}

.simple-training__start-date {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

.simple-training__body {
  display: flex;
  flex-direction: column;
  flex: auto;
  padding: 24px 32px;
  background-color: white;
  gap: 16px;
}
@media screen and (min-width: 780px) {
  .simple-training__body {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 32px;
  }
}

.simple-training__title {
  color: #3C4248;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
}

.simple-training__button {
  flex: 0 0 auto;
}

.simple-training__type {
  margin: 0 4px 4px 0;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.6875rem;
  line-height: 1.4545454545;
  border: 1px solid currentColor;
}

.simple-training__type--online {
  background-color: #E7F0F6;
  color: #0B84E0;
}

.simple-training__type--ftf {
  background-color: rgba(245, 228, 220, 0.5);
  color: #CD8567;
}

.simple-training__price-label {
  font-size: 1.125rem;
  line-height: 1.2222222222;
  font-weight: 800;
  color: #CD8567;
}
.simple-training__price-label::before {
  content: "€";
}

.simple-training__additional-pricing {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  margin-top: 4px;
  color: #757A80;
}

.simple-training__btw-label {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #757A80;
}

.c-slide-indicator {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-slide-indicator__button {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition-property: background-color, opacity;
  transition-duration: 250ms;
}
.c-slide-indicator__button:focus {
  outline: none;
}
.c-slide-indicator__button:hover:not(.is-active), .c-slide-indicator__button:focus:not(.is-active) {
  opacity: 0.5;
}
.c-slide-indicator__button:before, .c-slide-indicator__button:after {
  content: "";
  position: absolute;
  background-clip: content-box;
  transition-property: transform, background-color, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  border-radius: 100%;
}
.c-slide-indicator__button:before {
  top: 0.75;
  right: 0.75;
  bottom: 0.75;
  left: 0.75;
  background-color: white;
}
.c-slide-indicator__button:after {
  top: 0.75;
  right: 0.75;
  bottom: 0.75;
  left: 0.75;
  border: 1px solid white;
  transform: scale(1.4);
  opacity: 0;
}
.c-slide-indicator__button.is-active:before {
  background-color: #CD8567;
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(0.75);
}
.c-slide-indicator__button.is-active:after {
  opacity: 0.9;
  transform: scale(1);
}
.c-slide-indicator__button:focus {
  opacity: 1 !important;
}
.c-slide-indicator__button:focus:before {
  box-shadow: 0 0 0 2px #CD8567, 0 0 10px 1px white;
}
.c-slide-indicator__button:focus:after {
  box-shadow: 0 0 0 2px #CD8567, 0 0 10px 1px white;
}

.c-social {
  display: flex;
  margin-left: 0;
  list-style: none;
}

.c-social__channel {
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  background-color: #fff;
  transition: background-color 150ms linear;
}
.c-social__channel:hover {
  background-color: rgba(211, 212, 214, 0.85);
}

.c-star {
  padding: 0 3px;
  line-height: 0;
}
.c-star .half-star,
.c-star .full-star {
  display: none;
}

.c-star--full .full-star {
  display: block;
}

.c-star--half .half-star {
  display: block;
}

.c-submenu {
  margin-left: 0;
  list-style: none;
}

.c-submenu__item {
  border-bottom: 1px solid #B9DBF4;
  max-width: 45em;
}

.c-submenu__link {
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  color: #3C4248;
  transition: color 150ms linear;
  text-decoration: none;
}
.c-submenu__link:hover {
  color: #0047A3;
}
.c-submenu__link.is-active {
  font-weight: 800;
  color: #0047A3;
}

.c-submenu__arrow {
  flex: none;
  color: #0047A3;
  transition: transform 150ms ease-in-out;
}
.c-submenu__link:hover .c-submenu__arrow {
  transform: translateX(8px);
}

.c-switch {
  position: relative;
}

.c-switch__input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.c-switch__label {
  border-radius: 16px;
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: white;
  background: #fff;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
}
.c-switch__label::before, .c-switch__label::after {
  position: relative;
  z-index: 1;
  padding: 9px;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.2s;
}
.c-switch__label::before {
  grid-column: 1;
  content: attr(data-checked);
}
.c-switch__input:checked ~ .c-switch__label::before {
  color: rgba(60, 66, 72, 0.4);
}
.c-switch__label::after {
  grid-column: 2;
  content: attr(data-unchecked);
  color: rgba(255, 255, 255, 0.3);
}
.c-switch__input:checked ~ .c-switch__label::after {
  color: inherit;
}

.c-switch__indicator {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  height: 100%;
  width: 50%;
  background: linear-gradient(to bottom, #328dfc, #00a7f9);
  transition: transform 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__indicator:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(270deg, #a02d09 10%, #DE4313 100%);
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.23, 0.18, 0.3, 1);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator {
  transform: translateX(101%);
}
.c-switch__input:checked ~ .c-switch__label .c-switch__indicator:after {
  opacity: 1;
}

@media screen and (min-width: 1100px) {
  .c-tabs--chock {
    max-width: 48em;
  }
}

.c-tabs__controls {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}
@media screen and (min-width: 700px) {
  .c-tabs__controls {
    flex-direction: row;
    margin-bottom: 0;
  }
}

.c-tabs__button {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 600;
  border: none;
  margin: 0;
  padding: 16px 32px;
  outline: none;
  cursor: pointer;
  color: #3C4248;
  background-color: transparent;
  border-top-right-radius: 16px;
}
@media screen and (max-width: 699px) {
  .c-tabs__button {
    width: 100%;
    padding: 4px 32px;
  }
}
@media screen and (min-width: 700px) {
  .c-tabs__button:hover, .c-tabs__button:focus {
    background-color: rgba(231, 240, 246, 0.35);
  }
}
@media screen and (max-width: 699px) {
  .c-tabs__button.is-active {
    color: #0047A3;
  }
}
@media screen and (min-width: 700px) {
  .c-tabs__button.is-active {
    background-color: #E7F0F6;
  }
}

.c-tabs__container {
  padding: 56px;
  background-color: #E7F0F6;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 80px;
}

.c-tabs__content {
  display: none;
}
.c-tabs__content.is-active {
  display: block;
}

.c-tags {
  margin: 0;
  margin-bottom: -8px;
  margin-left: -4px;
}

.c-tags__title {
  display: inline-block;
  padding: 4px 16px 4px 8px;
  border-radius: 0 8px 0 0;
  margin: 0 4px 4px;
  color: #0B84E0;
  background-color: #E7F0F6;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 600;
}

.c-tags__label {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  margin: 0 0 8px 4px;
  padding: 7px 8px;
  cursor: pointer;
}

.c-tags__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}
:hover ~ .c-tags__text {
  color: #0B84E0;
}
:checked ~ .c-tags__text {
  color: #002657;
}

.c-tags__icon {
  margin-top: 4px;
  margin-right: 8px;
  color: #0B84E0;
}

.c-tags__bg {
  border-radius: 4px;
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border: 1px solid #D3D4D6;
  transition: all 150ms linear;
}
:hover ~ .c-tags__bg {
  border-color: #B9DBF4;
  background-color: rgba(231, 240, 246, 0.5);
  cursor: pointer;
}
:checked ~ .c-tags__bg {
  border-color: #0B84E0;
  background-color: rgba(231, 240, 246, 0.8);
  cursor: pointer;
}

/* ==========================================================================
 * Text button
 * ========================================================================== */
/**
 * 1. Color gets inherited and used for nested elements with 'currentColor' property
 * 2. Reset default button styling
 */
.c-text-button {
  display: inline-flex;
  align-items: flex-start;
  gap: 16px;
  color: #3C4248;
  padding: 0; /* 2 */
  background-color: transparent; /* 2 */
  border: none; /* 2 */
  cursor: pointer;
  text-decoration: none;
  transition: color 0.3s;
}
.c-text-button:hover:not(:disabled) {
  color: #CD8567;
}
.c-text-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.c-text-button--flip {
  flex-direction: row-reverse;
}

.c-text-button__text {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  line-height: 1.5;
  margin-top: 2px;
  margin-bottom: 2px;
}
.c-text-button__text::first-letter {
  text-transform: capitalize;
}

.c-text-button__icon {
  flex: none;
  position: relative;
  margin-top: 6px;
  color: #E6AC94;
  transition: transform 150ms ease-in-out;
}
.c-text-button:hover:not(:disabled) .c-text-button__icon {
  transform: translateX(4px);
}

.c-text-button--white {
  color: #fff;
}
.c-text-button--white:hover:not(:disabled) {
  color: rgba(255, 255, 255, 0.8);
}

.c-thumbnail__link {
  display: block;
  text-decoration: none;
  width: 100%;
}

.c-thumbnail__frame {
  position: relative;
  width: 100%;
  padding-bottom: 66.67%;
  height: 0;
  overflow: hidden;
}
.c-thumbnail__frame.has-hover-effect {
  position: relative;
}
.c-thumbnail__frame.has-hover-effect::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: radial-gradient(rgba(50, 141, 252, 0.2), rgba(50, 141, 252, 0.6));
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.4s;
}
.c-thumbnail__link:hover .c-thumbnail__frame.has-hover-effect::after {
  opacity: 1;
}

.c-thumbnail__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #D3D4D6;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50%;
}
.c-thumbnail__frame.has-hover-effect .c-thumbnail__image {
  transform: scale(1);
  transition-property: transform, filter;
  transition-duration: 0.4s;
}
.c-thumbnail__link.has-hover:hover .c-thumbnail__image {
  transform: scale(1.06);
  filter: saturate(0%);
}

.c-thumbnail__content {
  margin-top: 20px;
}

.c-thumbnail__caption {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 500;
  color: #3C4248;
  transition: color 0.25s;
}

.c-thumbnail__button {
  margin-top: 30px;
}

/**
 * Modifier of the thumbnail where the figure gets a little extra styling
 */
.c-thumbnail--pop .c-thumbnail__frame {
  border-radius: 24px;
  box-shadow: 0 20px 30px -10px hsla(0, 50%, 0%, 0.2);
  overflow: hidden;
}
.c-thumbnail--pop .c-thumbnail__content {
  margin-top: 30px;
}

.c-thumbnail__link[href]:hover .c-thumbnail__caption {
  color: #328dfc;
}

.c-trademark {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  color: #B9DBF4;
  text-decoration: none;
  transition: color 200ms ease-in-out;
}
.c-trademark:hover {
  color: #E7F0F6;
}
.c-trademark:hover .komma-emblem {
  transform-origin: 12px 12px;
  animation: logo-spin 1.8s linear infinite;
}

.c-trademark__text {
  white-space: nowrap;
}

.c-trademark__icon {
  margin-left: 8px;
}

@keyframes logo-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-1turn);
  }
}
.c-training-card {
  overflow: hidden;
  display: flex;
  background: #FFFFFF;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.04);
  border-radius: 16px 16px 16px 80px;
}

.c-training-card__above {
  margin-bottom: 32px;
}

.c-training-card--extra-drop-shadow {
  filter: drop-shadow(0 20px 48px rgba(0, 0, 0, 0.08));
}

.c-training-card__datetime {
  flex: 0 0 auto;
  position: relative;
  width: 192px;
  padding: 24px 32px;
  text-align: right;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background-color: #0047A3;
  background-image: linear-gradient(to right, rgba(11, 132, 224, 0.5), rgba(0, 71, 163, 0.5));
}

.c-training-card__date {
  padding-bottom: 4px;
}

.c-training-card__start-date {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
}

.c-training-card__start-date--small {
  font-size: 1rem;
  line-height: 1.75;
}

.c-training-card__end-date {
  display: none;
}

.c-training-card__time {
  display: inline-block;
  padding-top: 16px;
  border-top: 1px solid rgba(185, 219, 244, 0.5);
}

.c-training-card__start-time {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 600;
  display: block;
}

.c-training-card__duration {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  display: block;
}

.c-training-card__body {
  display: flex;
  flex: auto;
  padding: 24px 32px;
}

.c-training-card__main {
  position: relative;
  flex: auto;
  display: grid;
  grid-template-columns: 1fr 16px auto;
  grid-template-rows: auto 1fr;
  padding-right: 32px;
}
.c-training-card__main::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  right: 0;
  width: 1px;
  background-color: #D3D4D6;
}

.c-training-card__heading {
  grid-column: 1/span 3;
  grid-row: 1;
  margin-bottom: 12px;
  text-decoration: none;
}
.c-training-card__heading .c-training-card__type-pill {
  display: none;
}

.c-training-card__title {
  color: #3C4248;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
}

.c-training-card__type {
  margin: 0 4px 4px 0;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.6875rem;
  line-height: 1.4545454545;
  border: 1px solid currentColor;
}

.c-training-card__type--online {
  background-color: #E7F0F6;
  color: #0B84E0;
}

.c-training-card__type--ftf {
  background-color: rgba(245, 228, 220, 0.5);
  color: #CD8567;
}

.c-training-card__location {
  display: flex;
  align-items: center;
  color: #3C4248;
  line-height: 1.4;
}
.c-training-card__location > i {
  color: #0B84E0;
  flex: none;
  margin-right: 8px;
}

.c-training-card__price {
  grid-column: 1/span 1;
  grid-row: 2;
  align-self: end;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}
.c-training-card__price > * {
  width: 100%;
}

.c-training-card__price-label {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  color: #CD8567;
}
.c-training-card__price-label::before {
  content: "€";
}

.c-training-card__fully-booked {
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  color: white;
  background-color: #002657;
}

.c-training-card__additional-pricing {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  margin-top: 4px;
}

.c-training-card__btw-label {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 4px;
  color: #757A80;
}

.c-training-card__week-wrapper {
  grid-column: 3/span 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: right;
}

.c-training-card__week-amount {
  font-weight: 600;
}

.c-training-card__week-days {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #757A80;
}

.c-training-card__actions {
  padding-left: 16px;
  display: flex;
  flex: 1 0 164px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
.c-training-card__actions .c-training-card__type {
  margin-right: 0;
}

.c-training-card__more {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-top: 16px;
  color: #757A80;
  text-decoration: none;
}
.c-training-card__more > span {
  transition: color 150ms linear;
}
.c-training-card__more > span::first-letter {
  text-transform: capitalize;
}
.c-training-card__more > i {
  margin-left: 8px;
  color: #0047A3;
}
.c-training-card__more:hover > span {
  color: #0047A3;
}

.c-training-card__questionnaire {
  display: inline-flex;
  align-items: center;
  padding: 2px 0;
  border-radius: 4px;
  border: 1px solid currentColor;
  background-color: #E7F0F6;
  color: #0B84E0;
}

.c-training-card__questionnaire--red {
  color: #CD8567;
  background-color: rgba(245, 228, 220, 0.5);
}

.c-training-card__questionnaire-text {
  padding: 4px 8px;
  font-weight: 600;
  font-size: 0.625rem;
  line-height: 1.4;
  text-transform: uppercase;
}
.c-training-card__questionnaire--red .c-training-card__questionnaire-text {
  font-size: 0.6875rem;
  line-height: 1.4545454545;
}

.c-training-card__questionnaire-wrapper {
  margin: 16px 0 0;
}

/*
 * Summary modifier is a small version that is possible for small viewports or small columns
 */
.c-training-card--summary {
  max-width: 336px;
  flex-direction: column;
  border-radius: 4px 80px 16px 16px;
}
.c-training-card--summary .c-training-card__datetime {
  width: auto;
  text-align: left;
  padding: 40px 40px 8px 40px;
}
.c-training-card--summary .c-training-card__date {
  padding-bottom: 32px;
  margin-bottom: 0;
}
.c-training-card--summary .c-training-card__end-date {
  font-size: 1rem;
  line-height: 1.75;
  display: block;
}
.c-training-card--summary .c-training-card__time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
}
.c-training-card--summary .c-training-card__start-time {
  font-weight: 400;
}
.c-training-card--summary .c-training-card__body {
  flex-direction: column;
  padding-left: 40px;
  padding-right: 40px;
}
.c-training-card--summary .c-training-card__main {
  padding: 0;
  display: flex;
  flex-direction: column;
}
.c-training-card--summary .c-training-card__main::before {
  display: none;
}
.c-training-card--summary .c-training-card__week-wrapper {
  order: -1;
  flex-direction: row;
  justify-content: space-between;
  background-color: #E7F0F6;
  margin: -24px -40px 0;
  padding: 16px 40px;
  text-align: left;
}
.c-training-card--summary .c-training-card__week-wrapper.is-not-bookable {
  display: none;
}
.c-training-card--summary .c-training-card__week-amount, .c-training-card--summary .c-training-card__week-days {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  font-weight: 400;
  color: #3C4248;
}
.c-training-card--summary .c-training-card__heading {
  margin-top: 32px;
  margin-bottom: 24px;
}
.c-training-card--summary .c-training-card__heading .c-training-card__type-pill {
  display: block;
}
.c-training-card--summary .c-training-card__price {
  align-self: start;
  margin-bottom: 24px;
  width: 100%;
}
.c-training-card--summary .c-training-card__price.is-empty {
  display: none;
}
.c-training-card--summary .c-training-card__actions {
  align-items: flex-start;
  padding-left: 0;
  flex: 1 0 auto;
}
.c-training-card--summary .c-training-card__actions .c-training-card__type-pill {
  display: none;
}
.c-training-card--summary .c-training-card__more {
  margin-top: 16px;
}

.c-usp-block {
  position: relative;
  color: #fff;
}
.c-usp-block > *:first-child {
  border-radius: 16px 80px 4px 4px;
}

.c-usp-block-top {
  padding: 40px;
  background-image: linear-gradient(to bottom, #0047A3, #00357A);
  color: #fff;
}

.c-usp-block__content {
  background-color: #CD8567;
  background-image: url("/img/ornament-shape-1-half-bottom.svg"), url("/img/ornament-shape-2-half-right.svg"), linear-gradient(to bottom right, #E6AC94, #CD8567);
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 75px 40px, 74px 160px, 100% 100%;
  background-position: 56px top, 100% calc(100% - 24px), 0 0;
}

.c-usp-block__list {
  position: relative;
  z-index: 0;
  margin-left: -32px;
  padding: 40px 40px 32px 0;
  list-style: none;
}

.c-usp-block__item {
  display: flex;
}

.c-usp-block__icon {
  margin-right: 24px;
}

.c-usp-block__label {
  font-weight: 800;
  margin-top: 16px;
  color: #fff;
}

.c-usp-row {
  margin-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-usp-row__item {
  display: flex;
  align-items: center;
  margin: 8px;
}
.c-usp-row__item:nth-last-child(n+2) {
  margin-right: 32px;
}

.c-usp-row__icon {
  margin-right: 16px;
}

.c-video {
  width: 100%;
  max-width: 960px;
  margin: auto;
}

.c-video__placeholder {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 53.6%;
  background-color: #D3D4D6;
}

.c-video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-customer-logo-slider__wrapper {
  overflow: hidden;
}

.c-customer-logo-slider {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
}
.ie .c-customer-logo-slider {
  grid-template-columns: 1fr calc(100% - 120px) 1fr;
}

.c-customer-logo-slider__header {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}

.c-customer-logo-slider__title {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0047A3;
}

.c-customer-logo-slider__container {
  position: relative;
  width: 100%;
  grid-column: 2;
  opacity: 1;
  transition: opacity 0.3s;
}
.c-customer-logo-slider__container.is-loading {
  opacity: 0;
}

.c-customer-logo-slider__button {
  position: relative;
  grid-column: 1;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  cursor: pointer;
  border: none;
  color: #0047A3;
  background-color: #B9DBF4;
  border-radius: 50%;
  transition: background-color 0.2s, color 0.2s;
}
.ie .c-customer-logo-slider__button {
  margin-top: 15px;
}
.c-customer-logo-slider__button svg {
  width: 12px;
  height: 12px;
}
.c-customer-logo-slider__button:active, .c-customer-logo-slider__button:focus {
  outline: none;
  background-color: #F5E4DC;
}
.c-customer-logo-slider__button:hover {
  background-color: #F5E4DC;
  color: #CD8567;
}
.c-customer-logo-slider__button[disabled] {
  opacity: 0.3;
}
.c-customer-logo-slider__button.previous {
  right: 15px;
}
.c-customer-logo-slider__button.next {
  left: 15px;
  grid-column: 3;
  margin-left: auto;
}

.c-customer-logo-slider__placeholder {
  width: 16.5%;
}
.c-customer-logo-slider__placeholder:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
}

.c-customer-logo-slider__item {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  display: block;
  width: 16.5%;
  transition: left 0.4s, opacity 0.4s, transform 0.4s;
  transition-timing-function: ease-in-out;
}
.c-customer-logo-slider__item.is-hidden {
  display: none;
  pointer-events: none;
}

.c-customer-logo-slider__item--position-1 {
  opacity: 1;
}

.c-customer-logo-slider__item--position-2 {
  left: 20.875%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-3 {
  left: 41.75%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-4 {
  left: 62.625%;
  opacity: 1;
}

.c-customer-logo-slider__item--position-5 {
  left: 83.5%;
  opacity: 1;
}

.c-customer-logo-slider__item--pre-previous {
  left: -16.5%;
  pointer-events: none;
}

.c-customer-logo-slider__item--pre-next {
  left: 100%;
  pointer-events: none;
}

.c-customer-logo-slider__logo {
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.4s;
}
.c-customer-logo-slider__item:hover .c-customer-logo-slider__logo {
  opacity: 1;
}

@media screen and (max-width: 1099px) {
  .c-customer-logo-slider__placeholder {
    width: 21.5%;
  }
  .c-customer-logo-slider__item {
    width: 21.5%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 26.1666666667%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 52.3333333333%;
  }
  .c-customer-logo-slider__item--position-4 {
    left: 78.5%;
  }
  .c-customer-logo-slider__item--position-5 {
    left: 100%;
    pointer-events: none;
    opacity: 0;
  }
}
@media screen and (max-width: 799px) {
  .c-customer-logo-slider__placeholder {
    width: 30%;
  }
  .c-customer-logo-slider__item {
    width: 30%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 35%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 70%;
  }
  .c-customer-logo-slider__item--position-4 {
    left: 100%;
    pointer-events: none;
    opacity: 0;
  }
}
@media screen and (max-width: 549px) {
  .c-customer-logo-slider {
    grid-template-columns: 20px 1fr 20px;
  }
  .c-customer-logo-slider__button.next {
    left: 5px;
  }
  .c-customer-logo-slider__placeholder {
    width: 30%;
  }
  .c-customer-logo-slider__item {
    width: 30%;
  }
  .c-customer-logo-slider__item--position-2 {
    left: 35%;
  }
  .c-customer-logo-slider__item--position-3 {
    left: 70%;
  }
}
.c-locations {
  margin-bottom: 64px;
}
@media screen and (min-width: 950px) {
  .c-locations {
    display: flex;
    justify-content: space-between;
    margin-bottom: 112px;
  }
}

@media screen and (min-width: 950px) {
  .c-location__text {
    width: 41.6666666667%;
    padding-top: min(7.5vw, 120px);
  }
}

.c-location__main {
  position: relative;
}
@media screen and (min-width: 950px) {
  .c-location__main {
    width: 50%;
  }
}
@media screen and (max-width: 949px) {
  .c-location__main {
    margin-top: 64px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-location__map {
  width: 100%;
  height: auto;
}

.c-location__cluster {
  position: relative;
  display: flex;
}
.c-location__cluster svg {
  width: 34px;
  height: 34px;
}

.c-location__cluster-size {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}

.c-location__pin {
  margin-bottom: -7px;
}
.c-location__pin svg {
  width: 19px;
  height: auto;
}
.c-location__pin #rings {
  display: none;
}
.c-location__pin.is-active #rings {
  display: block;
}

.c-location__cluster,
.c-location__pin {
  position: absolute;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.c-location__cluster > *,
.c-location__pin > * {
  pointer-events: none;
}
.c-location__cluster svg,
.c-location__pin svg {
  color: #0B84E0;
}
@media screen and (min-width: 950px) {
  .c-location__cluster.is-active svg,
  .c-location__pin.is-active svg {
    color: #00357A;
  }
}

.c-location__tooltip {
  position: absolute;
  z-index: 2;
  display: none;
  max-height: 220px;
  min-width: 290px;
  padding: 24px 80px 24px 32px;
  overflow-y: auto;
  background: white;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
  border-radius: 48px 4px 16px 16px;
  font-size: 0.875rem;
  line-height: 1.5714285714;
}
.c-location__tooltip hr {
  opacity: 0.3;
  margin: 16px 0;
}
.c-location__tooltip.is-active {
  display: inline-block;
}

@media screen and (max-width: 949px) {
  .c-location__main .c-location__tooltip {
    display: none !important;
  }
}

.c-location__tooltip--mobile {
  position: relative;
  display: block;
  max-height: none;
}

@media screen and (min-width: 950px) {
  .c-location__mobile-info {
    display: none;
  }
}
.c-location__mobile-info > * + * {
  margin-top: 16px;
}

@media screen and (min-width: 520px) {
  .c-star-rating__form-element {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.c-star-rating {
  display: flex;
}
.c-star-rating > * + * {
  margin-left: 4px;
}
@media screen and (max-width: 519px) {
  .c-star-rating {
    margin-top: 5px;
  }
}

.c-star-rating__star {
  position: relative;
  display: flex;
  padding: 3px 4px 5px;
  border-radius: 4px;
  border: 1px solid #E7F0F6;
}
.c-star-rating__star:before {
  position: relative;
  z-index: 1;
  content: "";
  width: 28px;
  height: 28px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.2s;
  pointer-events: none;
}
.c-star-rating__star.whole:before {
  background-image: url("/img/star-full.svg");
}
.c-star-rating__star.empty:before {
  background-image: url("/img/star-empty.svg");
}
.c-star-rating__star.half:before {
  background-image: url("/img/star-half.svg");
}
.c-star-rating__star > label {
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
  cursor: pointer;
  transition: background-color 0.2s;
}
.c-star-rating__star > label:hover {
  background-color: rgba(231, 240, 246, 0.5);
}
.c-star-rating__star label:first-child {
  left: 0;
}
.c-star-rating__star label:last-child {
  right: 0;
}
.c-star-rating__star:hover:before {
  transform: translateY(-4px);
}

/*  6 - ORGANISMS
 *  Large blocks composed of multiple components.
 =========================================================== */
/** ==========================================================================
 * Organisms
 * =========================================================================*/
.o-banner {
  padding-top: 16px;
  padding-left: 7.1428571429%;
  background-color: #00357A;
  border-bottom-right-radius: 200px;
  overflow: hidden;
}
.o-banner__img {
  grid-area: img;
  display: block;
}
.o-banner__menu {
  grid-area: menu;
  display: block;
}
@media screen and (min-width: 1344px) {
  .o-banner {
    padding-left: calc((100% - 1152px) / 2);
  }
}

.o-banner__frame {
  border-top-left-radius: 200px;
  border-bottom-right-radius: 200px;
  background-color: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

.o-banner__img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 819px) {
  .o-banner__img {
    max-height: 57vw;
  }
}

.o-brochure {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 32px;
}
@media screen and (min-width: 900px) {
  .o-brochure {
    grid-template-columns: 160px 2fr;
  }
}

.o-brochure__title {
  margin-bottom: 16px;
  max-width: 36em;
  color: #0047A3;
}

.o-brochure__image {
  width: 100%;
  border-radius: 4px;
  max-width: 160px;
}

.o-bubbles__list {
  margin-left: 0;
  list-style: none;
}
@media screen and (min-width: 900px) {
  .o-bubbles__list {
    display: flex;
    flex-wrap: wrap;
    margin: -8px;
  }
}

.o-bubbles__item {
  margin: 48px auto;
  list-style-type: none;
}
@media screen and (min-width: 900px) {
  .o-bubbles__item {
    flex: none;
    margin: 8px;
    width: calc(33.3333333333% - 8px * 2);
  }
}

.o-bubbles__link {
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  margin: 16px 0 16px 16px;
}
@media screen and (max-width: 899px) {
  .o-bubbles__link {
    max-width: 440px;
    margin: 16px auto;
  }
}

.o-bubbles__icon {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  margin-right: 40px;
  color: #fff;
  background-image: linear-gradient(to bottom left, #E6AC94, #CD8567, #b9623d);
  background-size: auto 200%;
  background-position: 0 0;
  border-radius: 50%;
  transition: all 175ms ease-in-out;
}
.o-bubbles__icon::before, .o-bubbles__icon::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -8px;
  bottom: -8px;
  right: -8px;
  left: -8px;
  border: 1px solid #E6AC94;
  border-radius: 50%;
  transition: all 175ms ease-in-out;
  transition-delay: 125ms;
  pointer-events: none;
}
.o-bubbles__icon::after {
  top: -16px;
  bottom: -16px;
  right: -16px;
  left: -16px;
  opacity: 0.5;
  transition-delay: 100ms;
}
.o-bubbles__icon svg {
  transition: all 175ms ease-in-out;
}
@media screen and (max-width: 1179px) {
  .o-bubbles__icon {
    width: 48px;
    height: 48px;
  }
  .o-bubbles__icon svg {
    transform: scale(0.5);
  }
}

.o-bubbles__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 16px;
}
@media screen and (max-width: 1179px) {
  .o-bubbles__content {
    margin-top: 0;
    transform: scale(0.9);
    transform-origin: left;
  }
}

.o-bubbles__title {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  color: #0047A3;
  transition: color 175ms linear;
}

.o-bubbles__link:hover .o-bubbles__icon {
  background-position: 0 100%;
}
.o-bubbles__link:hover .o-bubbles__icon svg {
  transform: scale(0.8);
}
.o-bubbles__link:hover .o-bubbles__icon::before {
  transform: scale(1.05);
}
.o-bubbles__link:hover .o-bubbles__icon::after {
  transform: scale(0.83);
  opacity: 1;
}
.o-bubbles__link:hover .o-bubbles__title {
  color: #CD8567;
}

.o-certificates {
  position: relative;
}

.o-certificates__heading {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0047A3;
  margin-bottom: 48px;
  padding-right: 8px;
}
.o-certificates--on-dark .o-certificates__heading {
  color: #fff;
}

.o-certificates__scroller {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
}
@media screen and (min-width: 600px) {
  .o-certificates__scroller {
    width: calc(100% / 14 * 12);
  }
}

@media screen and (max-width: 599px) {
  .o-certificates__tray {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .o-certificates__tray::-webkit-scrollbar {
    display: none;
  }
  .o-certificates__tray::before, .o-certificates__tray::after {
    content: "";
    display: block;
    flex: 0 0 7.1428571429%;
  }
}
@media screen and (min-width: 600px) {
  .o-certificates__tray {
    --min-cols: 1;
    --max-cols: 2;
    --cols-min-width: 240px;
    --grid-row-gap: 48px;
    --grid-column-gap: 16px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100% / var(--min-cols) - var(--grid-column-gap) * (var(--min-cols) - 1) / var(--min-cols), max(var(--cols-min-width), 100% / var(--max-cols) - var(--grid-column-gap) * (var(--max-cols) - 1) / var(--max-cols))), 1fr));
    gap: 48px 16px;
  }
}

.o-certificates__card {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 24px;
  background: #fff;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px 16px 40px 4px;
  text-decoration: none;
  color: #3C4248;
}
@media screen and (min-width: 1344px) {
  .o-certificates__card {
    border-bottom-right-radius: 80px;
  }
}

.o-certificates__picture img {
  display: block;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
  height: 120px;
}

.o-certificates__content {
  display: flex;
  flex-direction: column;
}

.o-certificates__title {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  margin-top: 48px;
  color: #3C4248;
}

.o-certificates__description {
  margin-top: 32px;
  margin-bottom: 8px;
}

.o-contact {
  position: relative;
  z-index: 1;
  margin-bottom: 48px;
  padding-top: 40px;
  padding-bottom: 48px;
}
.o-contact__body {
  grid-area: body;
  display: block;
}
.o-contact__form {
  grid-area: form;
  display: block;
}
@media screen and (min-width: 900px) {
  .o-contact {
    display: grid;
    grid-template-columns: 5.5fr 0.5fr 6fr;
    grid-template-rows: 160px auto;
    grid-template-areas: ". . form" "body . form";
    margin-top: -160px;
  }
  .o-contact__body {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .o-contact__form {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }
  .o-contact__body {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .o-contact__form {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }
}

.o-contact__location {
  margin-top: 40px;
}

.o-contact__heading {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  margin-bottom: 8px;
}

.o-contact__subheading {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

.o-contact__connect {
  margin-top: 32px;
  margin-bottom: 24px;
}
.o-contact__connect a {
  color: #CD8567;
  text-decoration: none;
}

.o-contact__timetable {
  margin: 0 0 80px 0;
}
.o-contact__timetable dt {
  float: left;
  clear: left;
  width: 140px;
}
.o-contact__timetable dd {
  margin: 0 0 0 140px;
}

.o-contact__form {
  align-self: start;
  padding: 48px 40px;
  background: #fff;
  border: 1px solid #D3D4D6;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px 16px 80px 4px;
}
@media screen and (max-width: 899px) {
  .o-contact__form {
    margin-top: 48px;
    min-height: 400px;
  }
}

.o-cta__wrapper {
  overflow: hidden;
}

.o-cta {
  position: relative;
  z-index: 0;
  max-width: 884px;
  margin: 0 auto;
}

.o-cta--banner {
  max-width: 1000px;
}
.o-cta--banner .c-button {
  min-width: 140px;
}

.o-cta__main {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 7.1428571429%;
  color: #fff;
  background-image: linear-gradient(#0047A3 40px, #00357A calc(100% - 40px));
  border-radius: 4px 40px 16px 16px;
}
@media screen and (min-width: 920px) {
  .o-cta__main {
    padding: 48px 7.1428571429% 64px;
  }
  .o-cta__main::before, .o-cta__main::after {
    content: "";
    position: absolute;
    z-index: -1;
  }
  .o-cta__main::before {
    bottom: 24px;
    left: -60px;
    width: 88px;
    height: 88px;
    background-image: url(/img/plane-ornament-1.svg);
  }
  .o-cta__main::after {
    top: 16px;
    right: -56px;
    width: 32px;
    height: 32px;
    background-image: url(/img/plane-ornament-2.svg);
  }
}
.o-cta--banner .o-cta__main {
  padding: 40px 48px 32px;
}
@media screen and (min-width: 640px) {
  .o-cta--banner .o-cta__main {
    flex-direction: row;
    gap: 48px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 920px) {
  .o-cta--banner .o-cta__main {
    padding: 40px 48px 32px;
  }
}

.o-cta__title {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 800;
}
.o-cta--banner .o-cta__title {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 600;
  text-align: left;
  max-width: 640px;
}

.o-cta__subtitle {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 400;
  margin-top: 8px;
}

.o-cta__actions {
  margin-top: 40px;
  justify-content: center;
}
.o-cta--banner .o-cta__actions {
  margin-top: 24px;
}
@media screen and (min-width: 640px) {
  .o-cta--banner .o-cta__actions {
    margin-top: 0;
  }
}

@media screen and (max-width: 1159px) {
  .o-filters {
    height: 100%;
  }
}

.o-filters-tags {
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
}

.o-filters-tag {
  position: relative;
  margin: 0 8px 8px 0;
  padding: 4px 24px 4px 8px;
  background-image: linear-gradient(to bottom right, #0047A3, #00357A);
  color: white;
  font-size: 13px;
  border-radius: 6px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.o-filters-tag:after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  height: 7px;
  width: 7px;
  background: url("/img/close.svg") no-repeat center;
  background-size: contain;
}

.o-filters__section + .o-filters__section {
  margin-top: 24px;
}

.o-filters__heading {
  color: #0047A3;
}
@media screen and (max-width: 1159px) {
  .o-filters__heading {
    position: absolute;
    top: 24px;
    left: 24px;
  }
}

@media screen and (max-width: 1159px) {
  .o-filters__body {
    position: absolute;
    overflow: auto;
    top: 88px;
    left: 24px;
    right: 0;
    bottom: 40px;
    padding-right: 24px;
  }
}
@media screen and (min-width: 1160px) {
  .o-filters__body {
    margin-top: 40px;
  }
}

.o-filters__subheading {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
}

.o-filters__sublist {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  line-height: 1.4;
  list-style: none;
  margin-left: 0;
  color: #757A80;
}

.o-filters__explanation {
  display: block;
  text-decoration: none;
}
.o-filters__explanation:hover {
  text-decoration: underline;
}

.o-filters__explanation-icon {
  position: relative;
  top: -2px;
  margin-left: 8px;
}

.o-filters__content {
  margin-top: 12px;
}

.o-filters__table-label {
  padding-right: 8px;
}

.o-footer {
  z-index: 20;
  color: #fff;
  background-image: linear-gradient(to bottom, #0047A3, #00357A);
  padding-bottom: 0;
  transition: padding 0.6s;
}
@media screen and (min-width: 740px) {
  .o-footer {
    background-image: linear-gradient(to bottom, transparent 48px, #0047A3 48px, #00357A);
  }
}
.is-cookie-bar-visible .o-footer {
  padding-bottom: 64px;
}

/**
 * NOTE:
 * To prevent the honey pot from working
 * the o-form can't have a position property.
 *
 *
 * Min-width for elements
 * Used for automatic wrapping of rows
 */
.o-form {
  max-width: 36em;
}

.o-form__border-wrapper {
  padding: 48px 40px;
  background: #fff;
  border: 1px solid #D3D4D6;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px 16px 80px 4px;
}

.o-form__title {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  margin: 8px 0;
  color: #0047A3;
}

.o-form__subtitle {
  font-size: 1rem;
  font-weight: 400;
  color: #CD8567;
  margin: -4px 0 16px;
}

.o-form__row + .o-form__row {
  margin-top: 16px;
}

.o-form__row--split {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 0 !important;
  margin-right: -16px;
}
.o-form__row--split > * {
  flex-grow: 1;
  flex-basis: 225px;
  margin-top: 16px;
  margin-right: 16px;
}

.o-form__submit {
  margin-top: 40px;
}
.o-form__submit.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.o-form__submit.is-disabled > button {
  pointer-events: none;
}

.o-header {
  position: relative;
  z-index: 35;
  padding: 16px 0;
  background-color: #0047A3;
  background-image: linear-gradient(to bottom, #0047A3, #00357A);
}
@media screen and (min-width: 920px) {
  .o-header {
    padding: 32px 0;
  }
}
.o-header.is-sticky {
  opacity: 0;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.8);
  transform: translateY(-100%);
  transition-property: transform, opacity;
  transition-duration: 300ms;
  transition-delay: 0s, 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (max-width: 919px) {
  .is-sticky-header-visible .o-header.is-sticky {
    opacity: 1;
    transform: none;
    transition-delay: 0s;
  }
}

.o-header__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.o-header__logo {
  flex: none;
}
.o-header__logo svg {
  width: 100px;
  height: auto;
}
@media screen and (min-width: 920px) and (max-width: 999px) {
  .o-header__logo {
    align-self: flex-end;
  }
  .o-header__logo svg {
    width: 84px;
    height: auto;
  }
}
@media screen and (max-width: 919px) {
  .o-header__logo svg {
    width: 56px;
    height: 56px;
  }
}
.o-header__logo:focus {
  outline-offset: 2px;
  outline-color: #328dfc;
}

.o-header__img {
  max-height: 48px;
  width: 100px;
}

@media screen and (min-width: 920px) {
  .o-header__body {
    flex: 1 1 auto;
    margin-left: 5.657%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.o-header__nav {
  display: none;
  font-size: 0.95rem;
}
@media screen and (min-width: 920px) {
  .o-header__nav {
    display: block;
    flex: 1 1 auto;
  }
}

.o-header__row_1 {
  display: flex;
  margin-left: auto;
}

.o-header__row_2 {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-end;
}
@media screen and (max-width: 919px) {
  .o-header__row_2 {
    display: none;
  }
}

.o-header__actions {
  margin-right: 3vw;
  display: flex;
}
@media screen and (max-width: 919px) {
  .o-header__actions {
    display: none;
  }
}
@media screen and (min-width: 1344px) {
  .o-header__actions {
    margin-right: 40px;
  }
}

.o-header__language {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 919px) {
  .o-header__language {
    display: none;
  }
}

.o-header__rating {
  display: flex;
  margin-top: auto;
  margin-left: auto;
}
@media screen and (max-width: 919px) {
  .o-header__rating {
    display: none;
  }
}

@media screen and (max-width: 919px) {
  .o-header__toggle {
    display: block;
  }
}
@media screen and (max-width: 919px) {
  .o-header__toggle {
    margin-left: auto;
  }
}

.o-header--simple {
  background: transparent none;
  padding-bottom: 16px;
}
.o-header--simple .o-header__row_2,
.o-header--simple .o-header__toggle,
.o-header--simple .o-header__actions {
  display: none;
}
.o-header--simple .o-header__logo svg {
  background-color: #fff;
}
.o-header--simple .o-header__logo path {
  fill: #00357A;
}

.o-hero {
  background-color: #00357A;
  border-bottom-right-radius: 200px;
  overflow: hidden;
}
.o-hero__img {
  grid-area: img;
  display: block;
}
.o-hero__menu {
  grid-area: menu;
  display: block;
}

.o-hero__menu {
  display: grid;
  grid-template-rows: auto auto;
  gap: 24px;
  color: white;
}
@media screen and (min-width: 920px) {
  .o-hero__menu {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
}
@media screen and (min-width: 1440px) {
  .o-hero__menu {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
    width: calc(100% / 14 * 12);
  }
}

.o-hero__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(32px, 3.4vw, 56px);
  padding-bottom: clamp(48px, 6.2vw, 96px);
}
@media screen and (max-width: 919px) {
  .o-hero__left {
    margin-left: auto;
    margin-right: auto;
    max-width: 1152px;
    width: calc(100% / 14 * 12);
  }
}
@media screen and (min-width: 920px) and (max-width: 1439px) {
  .o-hero__left {
    padding-left: 7.2vw;
  }
}

.o-hero__left-streamer {
  margin-bottom: 16px;
  font-size: 21px;
}

.o-hero__left-title {
  font-size: clamp(2rem, 3.6vw + 1rem, 3rem);
  line-height: 1.1666666667;
  font-weight: 600;
  margin-bottom: 32px;
}
@media screen and (min-width: 920px) {
  .o-hero__left-title {
    max-width: 432px;
  }
}

.o-hero__left-buttons {
  margin-bottom: 80px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.o-hero__left-usps {
  color: #B9DBF4;
}

.o-hero__right {
  border-radius: 24px 24px 0 0;
  overflow: hidden;
}

.o-hero__right-img {
  width: 100%;
  aspect-ratio: 575/560;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 920px) {
  .o-hero__right-img {
    height: 100%;
  }
}

/* In the [$o-languages] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
@media screen and (min-width: 760px) {
  .o-languages__list {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
  }
}

.o-languages__item {
  margin: 24px auto;
  list-style-type: none;
}
@media screen and (min-width: 760px) {
  .o-languages__item {
    flex: none;
    margin: 16px;
    width: calc(50% - 16px * 2);
  }
}
@media screen and (min-width: 1180px) {
  .o-languages__item {
    width: calc(33.3333333333% - 16px * 2);
  }
}

.o-languages__link {
  border-radius: 4px;
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 20px;
  background-color: #fff;
  border-bottom-right-radius: 40px;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.08);
  transition: all 150ms linear;
}

.o-languages__flag {
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  flex: none;
  width: 24px;
  height: 24px;
  margin-right: 24px;
  color: #fff;
  border: 2px solid transparent;
}
.o-languages__flag.jp, .o-languages__flag.kr {
  border-color: #E7F0F6;
}
.o-languages__flag svg {
  width: 100%;
  height: 100%;
}

.o-languages__flag--holder {
  border-radius: 4px;
  background-color: #E7F0F6;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #002657;
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 800;
  text-transform: uppercase;
}

.o-languages__label {
  font-weight: 600;
  color: #3C4248;
  transition: color 150ms linear;
}

.o-languages__arrow {
  width: 24px;
  margin-left: auto;
  color: #B9DBF4;
  transition: color 150ms linear;
}

.o-languages__link:hover {
  background-color: #E7F0F6;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.04);
}
.o-languages__link:hover .o-languages__label {
  color: #0047A3;
}
.o-languages__link:hover .o-languages__arrow {
  color: #0047A3;
}

.o-mainfooter {
  display: grid;
  grid-template-columns: 1fr 6fr 6fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: ". menu2 company ." ". social company .";
  padding-top: 80px;
  padding-bottom: 56px;
}
.o-mainfooter__company {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 3;
  grid-area: company;
  display: block;
}
.o-mainfooter__title1 {
  grid-area: title1;
  display: block;
}
.o-mainfooter__title2 {
  grid-area: title2;
  display: block;
}
.o-mainfooter__menu1 {
  grid-area: menu1;
  display: block;
}
.o-mainfooter__menu2 {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: menu2;
  display: block;
}
.o-mainfooter__menu3 {
  grid-area: menu3;
  display: block;
}
.o-mainfooter__social {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: social;
  display: block;
}
.o-mainfooter__emblems {
  grid-area: emblems;
  display: block;
}
@media screen and (min-width: 900px) {
  .o-mainfooter {
    grid-template-columns: 1fr 2fr 2.75fr 2.25fr 2fr 3fr 1fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: ". company title1 title2 . emblems ." ". company menu1 menu2 menu3 emblems .";
    padding-top: 80px;
    padding-bottom: 56px;
  }
  .o-mainfooter__company {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .o-mainfooter__title1 {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-mainfooter__title2 {
    -ms-grid-row: 1;
    -ms-grid-column: 4;
  }
  .o-mainfooter__menu1 {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  .o-mainfooter__menu2 {
    -ms-grid-row: 2;
    -ms-grid-column: 4;
  }
  .o-mainfooter__menu3 {
    -ms-grid-row: 2;
    -ms-grid-column: 5;
  }
  .o-mainfooter__emblems {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 6;
  }
}
@media screen and (min-width: 1344px) {
  .o-mainfooter {
    grid-template-columns: 1fr 192px 264px 216px 192px 288px 1fr;
  }
}

@media screen and (max-width: 899px) {
  .o-mainfooter__title1,
  .o-mainfooter__title2,
  .o-mainfooter__menu1,
  .o-mainfooter__menu3,
  .o-mainfooter__emblems {
    display: none !important;
  }
}
.o-mainfooter__company {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 899px) {
  .o-mainfooter__company {
    justify-self: end;
    align-items: flex-end;
  }
}

.o-mainfooter__brand {
  margin-bottom: 32px;
}
@media screen and (min-width: 900px) {
  .o-mainfooter__brand {
    display: inline-flex;
    align-items: flex-start;
    width: 62.5%;
  }
}
.o-mainfooter__brand svg {
  height: auto;
}

.o-mainfooter__language {
  margin-top: auto;
}

.o-mainfooter__heading {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  margin-bottom: 16px;
}
@media screen and (max-width: 899px) {
  .o-mainfooter__heading {
    display: none;
  }
}
.o-mainfooter__heading > a {
  text-decoration: none;
  color: white;
  transition: color 0.2s;
}
.o-mainfooter__heading > a:hover {
  color: rgba(185, 219, 244, 0.75);
}

.o-mainfooter__list {
  list-style: none;
  margin: 0;
}

.o-mainfooter__link {
  display: inline-block;
  position: relative;
  z-index: 0;
  color: #fff;
  padding: 4px 0;
  text-decoration: none;
  cursor: pointer;
  transition: color 200ms;
}
.o-mainfooter__link:hover {
  color: rgba(185, 219, 244, 0.75);
}
.o-mainfooter__link:focus {
  outline-color: #328dfc;
}

.o-mainfooter__emblem-placeholder {
  margin-left: auto;
  text-align: center;
}

.o-mainfooter__emblem {
  border-radius: 4px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  margin: 8px 0 8px auto;
  padding: 8px;
}
.o-mainfooter__emblem.nrto img {
  width: 64px;
}

.o-mainfooter__social {
  display: none;
}
@media screen and (max-width: 899px) {
  .o-mainfooter__social {
    display: flex;
    list-style: none;
    margin: 24px 0 0;
  }
}

.o-modal {
  z-index: 9999;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  max-width: none;
  padding: 0;
  margin: 0;
  border: none;
  background-color: rgba(36, 46, 82, 0.32);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
}

.o-modal__shader {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.o-modal__content {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  overflow: auto;
  background-color: white;
  max-width: min(91.4vw, 540px);
  max-height: 600px;
  border-radius: 0.5rem;
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.25);
}

.o-modal__body {
  padding: 16px;
}

.o-modal__preheading {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #0047A3;
}

.o-modal__heading {
  color: #0047A3;
}

.o-modal__close {
  position: absolute;
  top: 24px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--color-primary-500);
  border: none;
  padding: 0;
  transition: all 100ms linear;
  cursor: pointer;
}
.o-modal__close:hover {
  color: var(--color-alert-500);
  transform: scale(1.2);
}

.o-modal__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px;
}

.o-other-models {
  padding: 85px 0;
}
@media screen and (min-width: 850px) {
  .o-other-models {
    padding: 170px 0;
  }
}

.o-other-models__title {
  margin-bottom: 40px;
}

.o-other-models__grid > * + * {
  margin-top: 60px;
}
@media screen and (min-width: 850px) {
  .o-other-models__grid {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .o-other-models__grid > * + * {
    margin-top: 0;
    margin-left: 30px;
    margin-right: 0;
  }
}
@media screen and (min-width: 950px) {
  .o-other-models__grid > * + * {
    margin-left: 50px;
  }
}
@media screen and (min-width: 1150px) {
  .o-other-models__grid > * + * {
    margin-left: 80px;
  }
}

.o-other-models__item {
  width: 100%;
  max-width: 425px;
}
@media screen and (max-width: 849px) {
  .o-other-models__item {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 850px) {
  .o-other-models__item {
    margin-bottom: 0;
    width: calc((100% - 60px) / 3);
    max-width: none;
  }
}
@media screen and (min-width: 950px) {
  .o-other-models__item {
    width: calc((100% - 100px) / 3);
  }
}
@media screen and (min-width: 1150px) {
  .o-other-models__item {
    width: calc((100% - 160px) / 3);
  }
}

.o-overlay-menu {
  z-index: 100;
  display: flex;
  flex-direction: column;
  opacity: 0;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-image: linear-gradient(to bottom, #0047A3 64px, #00357A calc(100% - 64px));
  pointer-events: none;
  -webkit-overflow-scrolling: touch;
  transform: translateX(-200px);
  transition-property: transform, opacity;
  transition-duration: 400ms, 400ms;
  transition-timing-function: ease-in-out;
}
.is-overlay-menu-active .o-overlay-menu {
  pointer-events: all;
  opacity: 1;
  transform: none;
}
.ie .o-overlay-menu {
  z-index: -1;
}
.is-overlay-menu-active .ie .o-overlay-menu {
  z-index: 100;
}
.o-overlay-menu::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: -120vw;
  width: 120vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 400ms;
  transition-delay: 400ms;
  transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
  opacity: 1;
  transition-delay: 0s;
}
@media screen and (min-width: 820px) {
  .o-overlay-menu {
    display: none;
  }
}

.o-overlay-menu__bar {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
}

.o-overlay-menu__logo svg {
  height: 56px;
  width: 56px;
}

.o-overlay-menu__nav {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  margin-top: 24px;
  height: calc(100% - 88px - 98px);
  overflow-x: hidden;
  overflow-y: scroll;
}

.o-overlay-menu__list {
  margin-left: 0;
  list-style: none;
}

.o-overlay-menu__item {
  border-bottom: 1px solid rgba(185, 219, 244, 0.16);
}
.o-overlay-menu__item:last-child {
  border-bottom: none;
}

.o-overlay-menu__link {
  font-size: 1rem;
  line-height: 1.75;
  display: flex;
  align-items: center;
  padding: 8px;
  color: #fff;
  text-decoration: none;
}
.o-overlay-menu__link.is-active {
  opacity: 1;
  position: relative;
}

.o-overlay-menu__icon {
  margin-left: auto;
  color: #B9DBF4;
}

.o-overlay-menu__languages {
  list-style: none;
  display: flex;
  margin: 0;
}

.o-overlay-menu__language-item {
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
}
.o-overlay-menu__language-item.is-active {
  border: 1px solid rgba(185, 219, 244, 0.5);
}

.o-overlay-menu__actions {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
  padding: 24px 0;
  border-top: 1px solid rgba(185, 219, 244, 0.5);
}

.o-page-wide-photo {
  position: relative;
  overflow: hidden;
  margin-right: 7.1428571429%;
  border-top-right-radius: 80px;
  border-bottom-right-radius: 80px;
}
@media screen and (min-width: 1344px) {
  .o-page-wide-photo {
    margin-right: calc((100% - 1152px) / 2);
  }
}

.o-page-wide-photo--pull-bottom-up {
  margin-bottom: -144px;
}

.o-page-wide-photo--bg-top-half::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #E7F0F6;
  top: 0;
  bottom: 50%;
  left: 0;
  right: -50%;
}

.o-page-wide-photo__img {
  position: relative;
  right: 0;
  width: 100%;
  min-height: 300px;
  max-height: 70vmin;
  -o-object-fit: cover;
     object-fit: cover;
  background-image: linear-gradient(to bottom right, #D3D4D6, #3C4248);
}
@media screen and (min-width: 970px) {
  .o-page-wide-photo__img {
    max-height: none;
  }
}

/* In the [$o-partners] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
@media screen and (min-width: 320px) {
  .o-partners__list {
    display: flex;
    flex-wrap: wrap;
    margin: -2%;
  }
}

.o-partners__item {
  margin: 2% auto;
  list-style-type: none;
}
@media screen and (min-width: 320px) {
  .o-partners__item {
    flex: none;
    margin: 2%;
    flex-basis: calc(50% - 2% * 2);
  }
}
@media screen and (min-width: 620px) {
  .o-partners__item {
    flex-basis: calc(33.3333333333% - 2% * 2);
  }
}
@media screen and (min-width: 860px) {
  .o-partners__item {
    flex-basis: calc(25% - 2% * 2);
  }
}
@media screen and (min-width: 1080px) {
  .o-partners__item {
    flex-basis: calc(20% - 2% * 2);
  }
}
@media screen and (min-width: 1150px) {
  .o-partners__item {
    flex-basis: calc(16.6666666667% - 2% * 2);
  }
}

.o-partners__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.o-partners__heading {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0047A3;
  margin-bottom: 40px;
}

@media screen and (min-width: 1100px) {
  .o-post {
    display: grid;
    grid-template-columns: 8fr 0.5fr minmax(320px, 4fr);
    grid-template-rows: 1fr;
    grid-template-areas: "main . side";
  }
  .o-post__main {
    grid-area: main;
    display: block;
  }
  .o-post__side {
    grid-area: side;
    display: block;
  }
}

.o-post__side {
  align-self: start;
  justify-self: center;
}
@media screen and (max-width: 1099px) {
  .o-post__side {
    max-width: 24em;
    margin: 48px auto 0;
  }
}

.o-post__author-image {
  width: 164px;
  height: 164px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 500px;
  background-color: #D3D4D6;
}

.o-post__author-image--empty {
  margin: auto;
  width: 124px;
  height: 124px;
}

.o-post__desc {
  max-width: 42em;
  margin-top: 40px;
  margin-bottom: 64px;
}

.o-post__components .l-block {
  margin-bottom: 40px;
}
.o-post__components .l-block + .l-block {
  margin-top: 40px;
}
.o-post__components .l-contain {
  width: 100%;
}
.o-post__components .c-projector__figure {
  border-radius: 0;
}

.o-prefooter {
  z-index: 30;
  font-weight: 600;
  position: relative;
  padding-top: 48px;
  overflow: hidden;
  color: #fff;
  background-color: #fff;
  border-bottom-right-radius: 200px;
  box-shadow: 20px 20px 20px -20px rgba(0, 0, 0, 0.24);
  display: grid;
  grid-template-columns: 1fr 12fr 1fr;
  grid-template-rows: auto;
}
@media screen and (max-width: 739px) {
  .o-prefooter {
    height: 48px;
    margin-top: -48px;
    border-bottom-right-radius: 80px;
  }
}
@media screen and (min-width: 1344px) {
  .o-prefooter {
    grid-template-columns: 1fr 1152px 1fr;
  }
}

@media screen and (min-width: 740px) {
  .o-prefooter__bg {
    position: absolute;
    top: 48px;
    bottom: 0;
    left: 0;
    right: calc((100% - 100% / 14 * 12) / 2);
    background-image: url("/img/ornament-shape-2-half-bottom.svg"), url("/img/ornament-shape-3-half-bottom.svg"), url("/img/ornament-shape-4-half-bottom.svg"), url("/img/ornament-shape-5.svg"), linear-gradient(to bottom right, #E6AC94, #CD8567);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 160px 80px, 106px 56px, 160px 80px, 160px 136px, 100% 100%;
    background-position: 56px top, 8px 100%, 31vw 100%, 86% 120%, 0 0;
    z-index: 0;
    border-top-right-radius: 80px;
  }
}
@media screen and (min-width: 740px) and (min-width: 1344px) {
  .o-prefooter__bg {
    right: calc((100% - 1152px) / 2);
  }
}

.o-prefooter__main {
  grid-column: 2/span 1;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  padding: 48px 0;
}
@media screen and (max-width: 739px) {
  .o-prefooter__main {
    display: none;
  }
}

.o-prefooter__visual {
  margin: -96px 0 -48px 0;
  width: 33.3333333333%;
}
@media screen and (max-width: 799px) {
  .o-prefooter__visual {
    margin-left: -6.25%;
  }
}

.o-prefooter__chat {
  margin-left: 6.25%;
  width: 29.1666666667%;
  flex: auto;
}

.o-prefooter__social {
  margin-left: 6.25%;
  width: 25%;
  flex: auto;
}

@media screen and (min-width: 1160px) {
  .o-prefooter--with-menu-bg {
    background-color: transparent;
    background-image: linear-gradient(to right, transparent 50%, #E7F0F6 50%);
    margin-top: -48px;
  }
}
@media screen and (min-width: 1100px) {
  .o-details {
    display: grid;
    grid-template-columns: 8fr 0.5fr minmax(320px, 3.5fr);
    grid-template-rows: 1fr;
    grid-template-areas: "main . side";
  }
  .o-details__main {
    grid-area: main;
    display: block;
  }
  .o-details__side {
    grid-area: side;
    display: block;
  }
  .o-details > .o-post__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details > .o-post__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
.o-details hr {
  border: none;
  border-bottom: 1px solid #D3D4D6;
}

@media screen and (min-width: 1100px) {
  .o-details--reversed {
    grid-template-columns: minmax(320px, 3.5fr) 0.5fr 8fr;
    grid-template-rows: 1fr;
    grid-template-areas: "side . main";
  }
  .o-details--reversed > .o-post__main {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details--reversed > .o-post__side {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details--reversed > .o-details__main {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details--reversed > .o-details__side {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}

.o-details__side {
  filter: drop-shadow(0 20px 48px rgba(0, 0, 0, 0.08));
}
@media screen and (max-width: 1099px) {
  .o-details__side {
    max-width: 24em;
    margin: 48px auto 0;
  }
}

.o-details__desc {
  max-width: 42em;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1100px) {
  .o-details--reversed .o-details__desc {
    margin-left: auto;
  }
}

.o-details__tabs {
  margin-top: 64px;
}

.o-subscribe-form #continue_button .c-button {
  height: auto;
}
.o-subscribe-form #continue_button .c-button__text {
  text-align: left;
  line-height: 1.4;
}

.o-subscribe-form__question-title {
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 800;
  margin: 24px 0 8px;
  color: #0047A3;
}

.o-subscribe-form__question-explanation {
  line-height: 1.5;
}
.o-subscribe-form__question-explanation ul {
  margin-top: 8px;
  margin-bottom: 8px;
}
.o-subscribe-form__question-explanation li {
  padding-left: 10px;
}

.o-subscribe-form__questions > * + * {
  margin-top: 24px;
}
.o-subscribe-form__questions.only-first > *:not(:first-child) {
  display: none;
}

.o-subscribe-form__question.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.o-subscribe-form__question.is-disabled > * {
  pointer-events: none;
}

.o-subscribe-form__question-name {
  display: flex;
}

.o-subscribe-form__question-number {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 800;
  margin-right: 16px;
  color: #0047A3;
  width: 16px;
}

.o-subscribe-form__question-option {
  padding-left: 32px;
}

.o-subscribe-form__message {
  padding: 16px 24px;
  background-color: #E7F0F6;
  border: 1px solid currentColor;
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #0047A3;
}

.o-subscribe-form__client-type-info {
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  background-color: #E7F0F6;
  padding: 16px;
  margin-top: 8px;
}
.o-subscribe-form__client-type-info ul {
  margin-top: 8px;
  margin-bottom: 8px;
}

.o-subfooter {
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr 8px 1fr;
  grid-template-areas: "list . copyright" "list . trademark";
  padding: 24px 0;
  border-top: 1px solid rgba(185, 219, 244, 0.5);
  color: #B9DBF4;
}
.o-subfooter__copyright {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: copyright;
  display: block;
}
.o-subfooter__list {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  grid-area: list;
  display: block;
}
.o-subfooter__trademark {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: trademark;
  display: block;
}
@media screen and (min-width: 1240px) {
  .o-subfooter {
    grid-template-rows: auto;
    grid-template-columns: 2fr 7fr 3fr;
    grid-template-areas: "copyright list trademark";
  }
  .o-subfooter__copyright {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-subfooter__list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
  }
  .o-subfooter__trademark {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

.o-subfooter__copyright {
  display: flex;
  flex-wrap: wrap;
  padding-right: 16px;
}
@media screen and (max-width: 1239px) {
  .o-subfooter__copyright {
    justify-content: flex-end;
    padding-right: 0;
  }
}

.o-subfooter__list {
  margin: 0;
  list-style: none;
  display: flex;
}
@media screen and (max-width: 1239px) {
  .o-subfooter__list {
    flex-direction: column;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 1239px) {
  .o-subfooter__item {
    width: 100%;
  }
  .o-subfooter__item + .o-subfooter__item {
    margin-top: 8px;
  }
}
@media screen and (min-width: 1240px) {
  .o-subfooter__item {
    display: flex;
    align-items: center;
  }
  .o-subfooter__item:nth-child(n+2) {
    margin-left: 16px;
  }
}

.o-subfooter__link {
  color: #B9DBF4;
  text-decoration: none;
  transition: color 200ms linear;
}
.o-subfooter__link:hover {
  color: #fff;
}

.o-subfooter__trademark {
  text-align: right;
}
@media screen and (max-width: 1239px) {
  .o-subfooter__trademark {
    margin-top: 8px;
  }
}

.training__alternatives {
  padding: 32px;
  background-color: #E7F0F6;
  border-radius: 32px;
}

.training__similar-option {
  position: relative;
  background: #FFFFFF;
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.04);
  border-radius: 16px 16px 40px 16px;
}
.training__similar-option + .training__similar-option {
  margin-top: 32px;
}
@media screen and (min-width: 450px) {
  .training__similar-option::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 28px;
    left: -40px;
    width: 68px;
    height: 68px;
    background-image: url(/img/plane-ornament-1.svg);
    background-size: contain;
  }
  .training__similar-option::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -10px;
    right: -10px;
    width: 32px;
    height: 32px;
    background-image: url(/img/plane-ornament-2.svg);
  }
}

.training__similar-option-link {
  display: block;
  padding: 16px 20px;
  text-decoration: none;
  color: #3C4248;
}

.training__similar-option-label {
  display: inline-block;
  width: 120px;
}

.o-testimonials {
  position: relative;
  overflow: hidden;
}

.o-testimonials--no-items {
  background-image: linear-gradient(#0047A3 40px, #00357A calc(100% - 40px));
}
.o-testimonials--no-items:before {
  display: none;
}

.o-testimonials__main {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
}
@media screen and (max-width: 899px) {
  .o-testimonials__main {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 80px;
    background-image: linear-gradient(#0047A3 40px, #00357A calc(100% - 40px));
  }
}
@media screen and (min-width: 900px) {
  .o-testimonials__main {
    width: calc(100% / 14 * 12);
  }
}

.o-testimonials__tray {
  position: relative;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: auto;
}
@media screen and (max-width: 899px) {
  .o-testimonials__tray {
    padding: 24px 0;
    max-width: 440px;
  }
}
@media screen and (min-width: 900px) {
  .o-testimonials__tray {
    margin: 0 56px;
  }
  .o-testimonials__tray::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    bottom: -100%;
    right: -100vw;
    left: -100vw;
    background-image: linear-gradient(#0047A3 40px, #00357A calc(100% - 40px));
  }
}

.o-small-testimonials__tray {
  position: relative;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: auto;
}

.o-testimonials__button, .o-small-testimonials__button {
  position: absolute;
  z-index: 2;
  top: calc(50% - 16px);
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #0047A3;
  background-color: #B9DBF4;
  border: none;
  border-radius: 50%;
  transition: all 150ms linear;
  cursor: pointer;
}
.o-testimonials__button svg, .o-small-testimonials__button svg {
  width: 12px;
  height: 12px;
}
.o-testimonials__button:hover, .o-small-testimonials__button:hover {
  background-color: #F5E4DC;
  color: #CD8567;
}
.o-testimonials__button:active, .o-small-testimonials__button:active {
  background-color: #E6AC94;
  color: #F5E4DC;
}
.o-testimonials__button:focus, .o-small-testimonials__button:focus {
  outline: none;
}
.o-testimonials__button.is-previous, .o-small-testimonials__button.is-previous {
  left: calc(8.3333333333% - 16px);
}
@media screen and (min-width: 900px) {
  .o-testimonials__button.is-previous, .o-small-testimonials__button.is-previous {
    left: -56px;
  }
}
.o-testimonials__button.is-next, .o-small-testimonials__button.is-next {
  right: calc(8.3333333333% - 16px);
}
@media screen and (min-width: 900px) {
  .o-testimonials__button.is-next, .o-small-testimonials__button.is-next {
    right: -56px;
  }
}

.o-testimonials__item, .o-small-testimonials__item {
  opacity: 0;
  grid-row: 1;
  grid-column: 1;
  z-index: 0;
  padding-top: 20px;
  transition: transform 650ms cubic-bezier(0.37, 0.16, 0.21, 1), opacity 650ms cubic-bezier(0.37, 0.16, 0.21, 1);
  transition-delay: 0s, 0s;
}
.o-testimonials__item.is-previous, .o-small-testimonials__item.is-previous {
  transform: translateX(-140px) scale(0.8);
  transition-delay: 0s, 0.3s;
}
.o-testimonials__item.is-next, .o-small-testimonials__item.is-next {
  transform: translateX(140px) scale(0.8);
  transition-delay: 0s, 0.3s;
}
.o-testimonials__item.is-active, .o-small-testimonials__item.is-active {
  opacity: 1;
  transform: none;
  z-index: 1;
}

.o-testimonials__card {
  background: #fff;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 899px) {
  .o-testimonials__card {
    margin: 0 8.3333333333%;
    padding: 24px;
    border-radius: 16px 16px 40px 4px;
  }
}
@media screen and (min-width: 900px) {
  .o-testimonials__card {
    position: relative;
    display: flex;
    border-radius: 16px 4px 80px 16px;
  }
  .o-testimonials__card::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 48px;
    left: -60px;
    width: 88px;
    height: 88px;
    background-image: url(/img/plane-ornament-1.svg);
  }
  .o-testimonials__card::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 136px;
    right: -16px;
    width: 32px;
    height: 32px;
    background-image: url(/img/plane-ornament-2.svg);
  }
}

.o-testimonials__card--small {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 899px) {
  .o-testimonials__card--small {
    margin-top: 80px;
  }
}

.o-testimonials__picture-small {
  display: block;
  width: 160px;
  height: 160px;
  pointer-events: none;
}
@media screen and (max-width: 899px) {
  .o-testimonials__picture-small {
    margin-top: calc(-1 * (24px + 24px + 80px));
    margin-left: auto;
    margin-right: auto;
  }
}
.o-testimonials__picture-small img {
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 900px) {
  .o-testimonials__picture-small {
    display: none;
  }
}

.o-testimonials__picture-large {
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  flex: 1 1 432px;
  overflow: hidden;
  pointer-events: none;
}
@media screen and (max-width: 899px) {
  .o-testimonials__picture-large {
    display: none;
  }
}
.o-testimonials__picture-large img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-small-testimonials__item .o-testimonials__picture-large {
  height: 0;
  position: relative;
  padding-top: 100%;
  flex: 0 1 100%;
}
.o-small-testimonials__item .o-testimonials__picture-large img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
}

.o-testimonials__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 55%;
}
@media screen and (min-width: 900px) {
  .o-testimonials__content {
    padding: 48px;
  }
}
@media screen and (min-width: 900px) {
  .o-small-testimonials__item .o-testimonials__content {
    padding: 24px;
  }
}

.o-testimonials__name {
  font-weight: 800;
  margin-top: 8px;
  color: #0047A3;
}

.o-testimonials__subtitle {
  font-weight: 800;
}

.o-testimonials__description {
  margin-top: 32px;
  margin-bottom: 24px;
}
.o-small-testimonials__item .o-testimonials__description {
  word-break: break-word;
  margin-top: 16px;
}

.o-testimonials__more {
  margin-top: auto;
}

.o-testimonials__footer {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  padding-bottom: 40px;
  color: #fff;
}
@media screen and (max-width: 899px) {
  .o-testimonials__footer {
    text-align: center;
  }
}
@media screen and (min-width: 900px) {
  .o-testimonials__footer {
    display: flex;
    padding: 80px 0 80px 120px;
  }
}

.o-testimonials__feedback {
  display: inline-flex;
  flex-direction: column;
}
@media screen and (min-width: 900px) {
  .o-testimonials__feedback {
    flex: 1 1 33.3333333333%;
  }
}

.o-testimonials__rating {
  display: flex;
  margin-top: 16px;
}

@media screen and (max-width: 899px) {
  .o-testimonials__cta {
    margin-top: 40px;
  }
}
@media screen and (min-width: 900px) {
  .o-testimonials__cta {
    flex: 1 1 66.6666666667%;
  }
}

.o-testimonials__cta-heading {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 800;
  margin-bottom: 24px;
}

@media screen and (max-width: 899px) {
  .overflow-hidden {
    overflow: hidden;
  }
}

@media screen and (min-width: 800px) {
  .o-ti {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 800px) {
  .o-ti--reversed {
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 800px) {
  .o-ti__image {
    align-self: center;
    flex: none;
    width: calc(50% - 4.1666666667%);
  }
}

.o-ti__image {
  position: relative;
}
.o-ti__image::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 24px;
  left: -60px;
  width: 88px;
  height: 88px;
  background-image: url(/img/plane-ornament-1.svg);
}

@media screen and (max-width: 799px) {
  .o-ti__text {
    margin-top: 32px;
  }
}
@media screen and (min-width: 800px) {
  .o-ti__text {
    flex: none;
    width: calc(50% - 4.1666666667%);
  }
}

@media screen and (min-width: 900px) {
  .o-vacancies {
    display: grid;
    grid-template-columns: minmax(24em, 5fr) 0.5fr 6.5fr;
    grid-template-rows: 1fr;
    grid-template-areas: "main . side";
  }
  .o-vacancies__main {
    grid-area: main;
    display: block;
  }
  .o-vacancies__side {
    grid-area: side;
    display: block;
  }
  .o-vacancies > .o-post__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancies > .o-post__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancies > .o-details__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancies > .o-details__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

.o-vacancies__side {
  align-self: start;
  justify-self: center;
}
@media screen and (max-width: 899px) {
  .o-vacancies__side {
    max-width: 612px;
    margin: 48px auto 0;
  }
}

.o-vacancies__desc {
  max-width: 42em;
  margin-top: 40px;
  margin-bottom: 64px;
}

@media screen and (min-width: 900px) {
  .o-vacancy {
    display: grid;
    grid-template-columns: 5fr 1fr minmax(24em, 6fr);
    grid-template-rows: 1fr;
    grid-template-areas: "main . side";
  }
  .o-vacancy__main {
    grid-area: main;
    display: block;
  }
  .o-vacancy__side {
    grid-area: side;
    display: block;
  }
  .o-vacancy > .o-post__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancy > .o-post__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancy > .o-details__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancy > .o-details__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancy > .o-vacancies__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancy > .o-vacancies__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

@media screen and (min-width: 1100px){
  .o-post__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-post__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details > .o-details__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details > .o-details__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancies__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details > .o-vacancies__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details--reversed > .o-vacancies__main {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancies__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details > .o-vacancies__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details--reversed > .o-vacancies__side {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancy__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details > .o-vacancy__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-details--reversed > .o-vacancy__main {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancy__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details > .o-vacancy__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-details--reversed > .o-vacancy__side {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
}

@media screen and (min-width: 900px){
  .o-vacancies > .o-vacancies__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancies > .o-vacancies__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancies > .o-vacancy__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancy > .o-vacancy__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .o-vacancies > .o-vacancy__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .o-vacancy > .o-vacancy__side {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

.o-vacancy__side {
  align-self: start;
  justify-self: center;
}
@media screen and (max-width: 899px) {
  .o-vacancy__side {
    max-width: 612px;
    margin: 48px auto 0;
  }
}

.o-vacancy__desc {
  max-width: 42em;
  margin-top: 40px;
  margin-bottom: 64px;
}

.o-vacancy__form {
  margin-top: 56px;
  padding: 48px 40px;
  background: #fff;
  border: 1px solid #D3D4D6;
  box-shadow: 0 20px 48px 0 rgba(0, 0, 0, 0.08);
  border-radius: 16px 16px 80px 4px;
}

.o-workflow {
  overflow: hidden;
}
@media screen and (min-width: 1060px) {
  .o-workflow {
    margin-top: -80px;
  }
}
.o-workflow::before {
  content: "";
  display: block;
  width: 100%;
  height: 80px;
  background-color: #fff;
  border-bottom-right-radius: 80px;
  box-shadow: 20px 20px 20px -20px rgba(0, 0, 0, 0.24);
  pointer-events: none;
}
@media screen and (min-width: 1060px) {
  .o-workflow::before {
    height: 200px;
    border-bottom-right-radius: 200px;
  }
}

@media screen and (min-width: 820px) {
  .o-workflow__main {
    display: flex;
  }
}

.o-workflow__bullets {
  position: relative;
  padding-block: 80px;
}
.o-workflow__bullets::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -80px;
  bottom: 0;
  right: 0;
  left: 0;
  background-image: url("/img/patronen_workflow.png"), linear-gradient(to bottom right, #E6AC94, #CD8567);
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: multiply;
  background-position: bottom right;
  pointer-events: none;
}
@media screen and (min-width: 820px) {
  .o-workflow__bullets::before {
    top: 0;
  }
}
@media screen and (min-width: 820px) {
  .o-workflow__bullets {
    padding-left: 7.1428571429%;
    padding-right: 7.1428571429%;
    width: 42.8571428571%;
  }
}
@media screen and (min-width: 1060px) {
  .o-workflow__bullets {
    width: 35.7142857143%;
  }
}
@media screen and (min-width: 1344px) {
  .o-workflow__bullets {
    padding-left: calc((100% - 1152px) / 2);
    padding-right: 96px;
    width: calc(calc((100% - 1152px) / 2) + 96px * 4);
  }
}

.o-workflow__body {
  position: relative;
  flex: 1 1 88px;
  padding: 40px 0;
  color: #fff;
}
@media screen and (min-width: 820px) {
  .o-workflow__body {
    padding-top: 80px;
    padding-bottom: 80px;
    padding-right: 7.1428571429%;
    padding-left: 7.1428571429%;
  }
}
@media screen and (min-width: 1344px) {
  .o-workflow__body {
    padding-right: calc((100% - 1152px) / 2);
    padding-left: 96px;
  }
}
.o-workflow__body::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-image: linear-gradient(to bottom, #0047A3 40px, #00357A calc(100% - 40px));
  pointer-events: none;
}
@media screen and (min-width: 820px) {
  .o-workflow__body::before {
    top: -80px;
    box-shadow: -20px 0px 20px -20px rgba(0, 0, 0, 0.24);
  }
}
@media screen and (min-width: 1060px) {
  .o-workflow__body::before {
    top: -200px;
  }
}

.o-workflow__list-title {
  display: block;
  color: white;
  text-decoration: none;
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 819px) {
  .o-workflow__list-title {
    width: calc(100% / 14 * 12);
  }
}

.o-workflow__list {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0;
  list-style: none;
  color: #fff;
}
@media screen and (max-width: 819px) {
  .o-workflow__list {
    width: calc(100% / 14 * 12);
  }
}

.o-workflow__item:nth-last-child(n+2) {
  margin-bottom: 8px;
}

.o-workflow__link {
  display: flex;
  text-decoration: none;
}

.o-workflow__number {
  margin-right: 12px;
}

.o-workflow__label {
  margin-top: 16px;
  font-weight: 800;
  color: white;
}

.o-workflow__content {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 819px) {
  .o-workflow__content {
    width: calc(100% / 14 * 12);
  }
}
.o-workflow__content h2 {
  margin-bottom: 40px;
}

.o-workflow__action {
  margin-top: 40px;
}

.o-top-bar-menu {
  position: relative;
  z-index: 36;
  --gap: clamp(16px, 2vw, 32px);
  width: 100%;
  background-color: #00357A;
}
@media screen and (max-width: 919px) {
  .o-top-bar-menu {
    display: none;
  }
}
@media screen and (min-width: 920px) and (max-width: 1099px) {
  .o-top-bar-menu .c-rating__title {
    display: none;
  }
}

.o-top-bar-menu__rating {
  margin-right: auto;
}

.o-top-bar-menu__wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc(100% / 14 * 12);
  display: flex;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  align-items: center;
}

.o-top-bar-menu__items {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: 0;
  list-style: none;
  gap: var(--gap);
}
.o-top-bar-menu__items .is-active {
  color: #fff;
}

.o-top-bar-menu__item:last-child {
  border-right: 1px solid rgba(185, 219, 244, 0.32);
  padding-right: var(--gap);
}

.o-top-bar-menu__link {
  font-size: 0.95rem;
  color: #B9DBF4;
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color 150ms linear;
}
.o-top-bar-menu__link a {
  color: inherit;
}
.o-top-bar-menu__link:hover {
  text-decoration: underline;
}
.is-active .o-top-bar-menu__link {
  color: #fff;
}

.o-top-bar-menu__account {
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 2px 20px 2px 10px;
  color: #B9DBF4;
  gap: 8px;
  font-size: 0.95rem;
  border: 1px solid #B9DBF4;
  border-radius: 16px 16px 80px 16px;
}
.o-top-bar-menu__account:hover {
  color: white;
  border-color: white;
}
.o-top-bar-menu__account a {
  text-decoration: none;
  color: inherit;
}

/*  7 - Templates
 *  Override styling for a specific template
 =========================================================== */
/** ==========================================================================
 * Templates
 * =========================================================================*/
.t-home__main {
  overflow: hidden;
  margin-bottom: 48px;
}
.t-home__main .o-details__side {
  padding-bottom: 56px;
  filter: none;
}
.t-home__main .o-testimonials__card {
  box-shadow: 0 20px 32px 0 rgba(0, 0, 0, 0.125);
}

/*  8 - SCOPES
 *  Elements and classes that are scoped by a parent class
 =========================================================== */
/**
 * All text elements that can be added by the user through a CMS
 */
.s-text h1, .s-text h2, .s-text h3, .s-text h4, .s-text h5, .s-text h6 {
  color: #0047A3;
}
.s-text hr {
  margin-block: 40px;
}
.s-text:not(.s-text--nmw) > * {
  max-width: 42em;
}
.s-text > * + * {
  margin-top: 1em;
}
.s-text > :first-child {
  margin-top: 0 !important;
}
.s-text > ul:not([class]) {
  list-style: none;
}
.s-text > ul:not([class]) > li {
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  content: "•";
  position: absolute;
  top: -4px;
  left: 0;
}
.s-text > ol:not([class]) {
  list-style: none;
  counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
  counter-increment: ol-counter;
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
  content: counter(ol-counter) ". ";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.275em;
  text-align: right;
}

.s-text--small-indents > * + * {
  margin-top: 8px;
}

.s-text--on-dark {
  color: white;
}
.s-text--on-dark h1, .s-text--on-dark h2, .s-text--on-dark h3, .s-text--on-dark h4, .s-text--on-dark h5, .s-text--on-dark h6 {
  color: white;
}
.s-text--on-dark a {
  color: #D3D4D6;
}
.s-text--on-dark a:hover {
  color: #fff;
}

.s-checklist {
  list-style: none;
  margin-left: 0;
}
.s-checklist li {
  display: flex;
  vertical-align: middle;
  margin-top: 5px;
  line-height: 1.45;
}
.s-checklist li::before {
  content: "";
  background-image: url(/img/checkmark.svg);
  background-repeat: no-repeat;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
  font-size: 1.4rem;
  line-height: 1.14285714;
}
.checklist-has-x-small-font .s-checklist li::before {
  transform: translateY(5px);
}

/*  9 - UTILITIES
 *  High-specificity, very explicit selectors.
 *  Overrides and helper classes.
 =========================================================== */
/** =====================================================================================
 *  Color
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined colors
 * Based on these articles:
 * - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * - https://blog.atechmedia.com/css-for-multiple-themes/
 * Output is in the form of:

   .u-color-primary {
      color: #bada55;
   }

  .u-bg-neutral--dark {
    background-color: #decaff;
  }
 */
.u-color-primary--100 {
  color: #E7F0F6;
}

.u-bg-primary--100 {
  background-color: #E7F0F6;
}

.u-color-primary--200 {
  color: #B9DBF4;
}

.u-bg-primary--200 {
  background-color: #B9DBF4;
}

.u-color-primary--300 {
  color: #58B1F5;
}

.u-bg-primary--300 {
  background-color: #58B1F5;
}

.u-color-primary--400 {
  color: #0B84E0;
}

.u-bg-primary--400 {
  background-color: #0B84E0;
}

.u-color-primary--450 {
  color: #1D61B8;
}

.u-bg-primary--450 {
  background-color: #1D61B8;
}

.u-color-primary--500 {
  color: #0047A3;
}

.u-bg-primary--500 {
  background-color: #0047A3;
}

.u-color-primary--600 {
  color: #00357A;
}

.u-bg-primary--600 {
  background-color: #00357A;
}

.u-color-primary--700 {
  color: #002657;
}

.u-bg-primary--700 {
  background-color: #002657;
}

.u-color-secondary--200 {
  color: #F5E4DC;
}

.u-bg-secondary--200 {
  background-color: #F5E4DC;
}

.u-color-secondary--400 {
  color: #E6AC94;
}

.u-bg-secondary--400 {
  background-color: #E6AC94;
}

.u-color-secondary--500 {
  color: #CD8567;
}

.u-bg-secondary--500 {
  background-color: #CD8567;
}

.u-color-neutral--0 {
  color: #fff;
}

.u-bg-neutral--0 {
  background-color: #fff;
}

.u-color-neutral--300 {
  color: #D3D4D6;
}

.u-bg-neutral--300 {
  background-color: #D3D4D6;
}

.u-color-neutral--500 {
  color: #757A80;
}

.u-bg-neutral--500 {
  background-color: #757A80;
}

.u-color-neutral--700 {
  color: #3C4248;
}

.u-bg-neutral--700 {
  background-color: #3C4248;
}

.u-color-neutral--1000 {
  color: #000;
}

.u-bg-neutral--1000 {
  background-color: #000;
}

.u-color-action {
  color: #328dfc;
}

.u-bg-action {
  background-color: #328dfc;
}

.u-color-alert {
  color: #ff8100;
}

.u-bg-alert {
  background-color: #ff8100;
}

.u-color-warning--200 {
  color: #fef5e1;
}

.u-bg-warning--200 {
  background-color: #fef5e1;
}

.u-color-warning {
  color: #f8cd6b;
}

.u-bg-warning {
  background-color: #f8cd6b;
}

.u-color-warning--700 {
  color: #da9b0c;
}

.u-bg-warning--700 {
  background-color: #da9b0c;
}

.u-color-negative {
  color: #cf3e3e;
}

.u-bg-negative {
  background-color: #cf3e3e;
}

.u-color-positive {
  color: #3ecf8e;
}

.u-bg-positive {
  background-color: #3ecf8e;
}

.u-color-box-shadow {
  color: hsla(0, 50%, 0%, 0.2);
}

.u-bg-box-shadow {
  background-color: hsla(0, 50%, 0%, 0.2);
}

/** =====================================================================================
 *  Fonts
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined $font-sizes map
 * Output of the classes in the this form:

   .u-fs-m {}
   .u-fs-xl {}
   ... etc

 */
.u-fs-xs {
  font-size: 0.75rem;
  line-height: 1.5;
}

.u-fs-xs {
  font-size: 0.75rem;
  line-height: 1.5;
}

.u-fs-s {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.u-fs-s {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

.u-fs-base {
  font-size: 1rem;
  line-height: 1.75;
}

.u-fs-base {
  font-size: 1rem;
  line-height: 1.75;
}

.u-fs-m {
  font-size: 1.25rem;
  line-height: 1.2;
}

.u-fs-m {
  font-size: 1.25rem;
  line-height: 1.2;
}

.u-fs-l {
  font-size: 1.5rem;
  line-height: 1.3333333333;
}

.u-fs-l {
  font-size: 1.5rem;
  line-height: 1.3333333333;
}

.u-fs-xl {
  font-size: 2rem;
  line-height: 1.25;
}

.u-fs-xl {
  font-size: 2rem;
  line-height: 1.25;
}

/**
 * Here we print out all our helper classes for our defined $font-weights map
 * Output of the classes in the this form:

   .u-fw-regular {}
   .u-fw-semiBold {}
   ... etc

 */
.u-fw-regular {
  font-weight: 400;
}

.u-fw-medium {
  font-weight: 500;
}

.u-fw-semiBold {
  font-weight: 600;
}

.u-fw-extraBold {
  font-weight: 800;
}

.u-hidden {
  display: none !important;
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.u-overflow-hidden {
  overflow: hidden !important;
}

.u-object-cover {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.u-margin-auto {
  margin: auto;
}

.u-text-align-center {
  text-align: center;
}

.u-max-text-width {
  max-width: 42em;
}

.u-nowrap {
  white-space: nowrap;
}

.u-rounded {
  border-radius: 50%;
}

.u-message {
  max-width: 575px;
  border: 1px solid #3C4248;
  border-radius: 8px;
  padding: 7px 16px;
}

.u-hr {
  border: none;
  border-top: 1px solid #D3D4D6;
}

/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-m0 {
  margin: 0px !important;
}

.u-spacing-mt0 {
  margin-top: 0px !important;
}

.u-spacing-mr0 {
  margin-right: 0px !important;
}

.u-spacing-mb0 {
  margin-bottom: 0px !important;
}

.u-spacing-ml0 {
  margin-left: 0px !important;
}

.u-spacing-p0 {
  padding: 0px !important;
}

.u-spacing-pt0 {
  padding-top: 0px !important;
}

.u-spacing-pr0 {
  padding-right: 0px !important;
}

.u-spacing-pb0 {
  padding-bottom: 0px !important;
}

.u-spacing-pl0 {
  padding-left: 0px !important;
}

.u-spacing-m1 {
  margin: 8px !important;
}

.u-spacing-mt1 {
  margin-top: 8px !important;
}

.u-spacing-mr1 {
  margin-right: 8px !important;
}

.u-spacing-mb1 {
  margin-bottom: 8px !important;
}

.u-spacing-ml1 {
  margin-left: 8px !important;
}

.u-spacing-p1 {
  padding: 8px !important;
}

.u-spacing-pt1 {
  padding-top: 8px !important;
}

.u-spacing-pr1 {
  padding-right: 8px !important;
}

.u-spacing-pb1 {
  padding-bottom: 8px !important;
}

.u-spacing-pl1 {
  padding-left: 8px !important;
}

.u-spacing-m2 {
  margin: 16px !important;
}

.u-spacing-mt2 {
  margin-top: 16px !important;
}

.u-spacing-mr2 {
  margin-right: 16px !important;
}

.u-spacing-mb2 {
  margin-bottom: 16px !important;
}

.u-spacing-ml2 {
  margin-left: 16px !important;
}

.u-spacing-p2 {
  padding: 16px !important;
}

.u-spacing-pt2 {
  padding-top: 16px !important;
}

.u-spacing-pr2 {
  padding-right: 16px !important;
}

.u-spacing-pb2 {
  padding-bottom: 16px !important;
}

.u-spacing-pl2 {
  padding-left: 16px !important;
}

.u-spacing-m3 {
  margin: 24px !important;
}

.u-spacing-mt3 {
  margin-top: 24px !important;
}

.u-spacing-mr3 {
  margin-right: 24px !important;
}

.u-spacing-mb3 {
  margin-bottom: 24px !important;
}

.u-spacing-ml3 {
  margin-left: 24px !important;
}

.u-spacing-p3 {
  padding: 24px !important;
}

.u-spacing-pt3 {
  padding-top: 24px !important;
}

.u-spacing-pr3 {
  padding-right: 24px !important;
}

.u-spacing-pb3 {
  padding-bottom: 24px !important;
}

.u-spacing-pl3 {
  padding-left: 24px !important;
}

.u-spacing-m4 {
  margin: 32px !important;
}

.u-spacing-mt4 {
  margin-top: 32px !important;
}

.u-spacing-mr4 {
  margin-right: 32px !important;
}

.u-spacing-mb4 {
  margin-bottom: 32px !important;
}

.u-spacing-ml4 {
  margin-left: 32px !important;
}

.u-spacing-p4 {
  padding: 32px !important;
}

.u-spacing-pt4 {
  padding-top: 32px !important;
}

.u-spacing-pr4 {
  padding-right: 32px !important;
}

.u-spacing-pb4 {
  padding-bottom: 32px !important;
}

.u-spacing-pl4 {
  padding-left: 32px !important;
}

.u-spacing-m5 {
  margin: 40px !important;
}

.u-spacing-mt5 {
  margin-top: 40px !important;
}

.u-spacing-mr5 {
  margin-right: 40px !important;
}

.u-spacing-mb5 {
  margin-bottom: 40px !important;
}

.u-spacing-ml5 {
  margin-left: 40px !important;
}

.u-spacing-p5 {
  padding: 40px !important;
}

.u-spacing-pt5 {
  padding-top: 40px !important;
}

.u-spacing-pr5 {
  padding-right: 40px !important;
}

.u-spacing-pb5 {
  padding-bottom: 40px !important;
}

.u-spacing-pl5 {
  padding-left: 40px !important;
}

.u-spacing-m6 {
  margin: 48px !important;
}

.u-spacing-mt6 {
  margin-top: 48px !important;
}

.u-spacing-mr6 {
  margin-right: 48px !important;
}

.u-spacing-mb6 {
  margin-bottom: 48px !important;
}

.u-spacing-ml6 {
  margin-left: 48px !important;
}

.u-spacing-p6 {
  padding: 48px !important;
}

.u-spacing-pt6 {
  padding-top: 48px !important;
}

.u-spacing-pr6 {
  padding-right: 48px !important;
}

.u-spacing-pb6 {
  padding-bottom: 48px !important;
}

.u-spacing-pl6 {
  padding-left: 48px !important;
}

.u-spacing-m7 {
  margin: 56px !important;
}

.u-spacing-mt7 {
  margin-top: 56px !important;
}

.u-spacing-mr7 {
  margin-right: 56px !important;
}

.u-spacing-mb7 {
  margin-bottom: 56px !important;
}

.u-spacing-ml7 {
  margin-left: 56px !important;
}

.u-spacing-p7 {
  padding: 56px !important;
}

.u-spacing-pt7 {
  padding-top: 56px !important;
}

.u-spacing-pr7 {
  padding-right: 56px !important;
}

.u-spacing-pb7 {
  padding-bottom: 56px !important;
}

.u-spacing-pl7 {
  padding-left: 56px !important;
}

.u-spacing-m8 {
  margin: 64px !important;
}

.u-spacing-mt8 {
  margin-top: 64px !important;
}

.u-spacing-mr8 {
  margin-right: 64px !important;
}

.u-spacing-mb8 {
  margin-bottom: 64px !important;
}

.u-spacing-ml8 {
  margin-left: 64px !important;
}

.u-spacing-p8 {
  padding: 64px !important;
}

.u-spacing-pt8 {
  padding-top: 64px !important;
}

.u-spacing-pr8 {
  padding-right: 64px !important;
}

.u-spacing-pb8 {
  padding-bottom: 64px !important;
}

.u-spacing-pl8 {
  padding-left: 64px !important;
}

.u-spacing-m9 {
  margin: 72px !important;
}

.u-spacing-mt9 {
  margin-top: 72px !important;
}

.u-spacing-mr9 {
  margin-right: 72px !important;
}

.u-spacing-mb9 {
  margin-bottom: 72px !important;
}

.u-spacing-ml9 {
  margin-left: 72px !important;
}

.u-spacing-p9 {
  padding: 72px !important;
}

.u-spacing-pt9 {
  padding-top: 72px !important;
}

.u-spacing-pr9 {
  padding-right: 72px !important;
}

.u-spacing-pb9 {
  padding-bottom: 72px !important;
}

.u-spacing-pl9 {
  padding-left: 72px !important;
}

.u-spacing-m10 {
  margin: 80px !important;
}

.u-spacing-mt10 {
  margin-top: 80px !important;
}

.u-spacing-mr10 {
  margin-right: 80px !important;
}

.u-spacing-mb10 {
  margin-bottom: 80px !important;
}

.u-spacing-ml10 {
  margin-left: 80px !important;
}

.u-spacing-p10 {
  padding: 80px !important;
}

.u-spacing-pt10 {
  padding-top: 80px !important;
}

.u-spacing-pr10 {
  padding-right: 80px !important;
}

.u-spacing-pb10 {
  padding-bottom: 80px !important;
}

.u-spacing-pl10 {
  padding-left: 80px !important;
}

.u-spacing-m11 {
  margin: 88px !important;
}

.u-spacing-mt11 {
  margin-top: 88px !important;
}

.u-spacing-mr11 {
  margin-right: 88px !important;
}

.u-spacing-mb11 {
  margin-bottom: 88px !important;
}

.u-spacing-ml11 {
  margin-left: 88px !important;
}

.u-spacing-p11 {
  padding: 88px !important;
}

.u-spacing-pt11 {
  padding-top: 88px !important;
}

.u-spacing-pr11 {
  padding-right: 88px !important;
}

.u-spacing-pb11 {
  padding-bottom: 88px !important;
}

.u-spacing-pl11 {
  padding-left: 88px !important;
}

.u-spacing-m12 {
  margin: 96px !important;
}

.u-spacing-mt12 {
  margin-top: 96px !important;
}

.u-spacing-mr12 {
  margin-right: 96px !important;
}

.u-spacing-mb12 {
  margin-bottom: 96px !important;
}

.u-spacing-ml12 {
  margin-left: 96px !important;
}

.u-spacing-p12 {
  padding: 96px !important;
}

.u-spacing-pt12 {
  padding-top: 96px !important;
}

.u-spacing-pr12 {
  padding-right: 96px !important;
}

.u-spacing-pb12 {
  padding-bottom: 96px !important;
}

.u-spacing-pl12 {
  padding-left: 96px !important;
}

.u-preload-transitions {
  opacity: 0;
}
.u-preload-transitions * {
  transition: none !important;
}

/*  10 - ANIMATIONS
 =========================================================== */
/**
 * Animation classes for the KAL package.
 * KAl stands for Komma Animation Library
 *
 * There are different animation types that we can define,
 * the name of which is used as the class, prefixed with 'kal-'
 *
 * When the plugin is activated an element that will be animated
 * receives a extra state class
 *
 * When the element comes into view the plugin should swap
 * to the final state
 *
 */
/**
 * Config
 */
/**
* Easings
*/
@media screen and (max-width: 819px) {
  [data-kal].is-kal-start {
    transform: none !important;
  }
  [data-kal].is-kal-end {
    transition-delay: 0s !important;
    transition-duration: 1400ms !important;
    transition-property: opacity !important;
  }
}
/**
 * Core
 */
[data-kal].is-kal-end {
  transition-duration: var(--kal-duration, 1200ms);
  transition-delay: var(--kal-delay, 0s);
  transition-timing-function: var(--kal-easing, ease);
}

[data-kal][data-kal-easing=linear] {
  transition-timing-function: linear;
}

[data-kal][data-kal-easing=ease] {
  transition-timing-function: ease;
}

[data-kal][data-kal-easing=ease-in] {
  transition-timing-function: ease-in;
}

[data-kal][data-kal-easing=ease-out] {
  transition-timing-function: ease-out;
}

[data-kal][data-kal-easing=ease-in-out] {
  transition-timing-function: ease-in-out;
}

[data-kal][data-kal-easing=ease-in-cubic] {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

[data-kal][data-kal-easing=ease-out-cubic] {
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

[data-kal][data-kal-easing=ease-in-out-cubic] {
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

[data-kal][data-kal-easing=ease-in-circ] {
  transition-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

[data-kal][data-kal-easing=ease-out-circ] {
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

[data-kal][data-kal-easing=ease-in-out-circ] {
  transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

[data-kal][data-kal-easing=ease-in-expo] {
  transition-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}

[data-kal][data-kal-easing=ease-out-expo] {
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

[data-kal][data-kal-easing=ease-in-out-expo] {
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}

[data-kal][data-kal-easing=ease-in-quad] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-kal][data-kal-easing=ease-out-quad] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-kal][data-kal-easing=ease-in-out-quad] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-kal][data-kal-easing=ease-in-quart] {
  transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

[data-kal][data-kal-easing=ease-out-quart] {
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

[data-kal][data-kal-easing=ease-in-out-quart] {
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

[data-kal][data-kal-easing=ease-in-quint] {
  transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

[data-kal][data-kal-easing=ease-out-quint] {
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

[data-kal][data-kal-easing=ease-in-out-quint] {
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}

[data-kal][data-kal-easing=ease-in-sine] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-kal][data-kal-easing=ease-out-sine] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-kal][data-kal-easing=ease-in-out-sine] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-kal][data-kal-easing=ease-in-back] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-kal][data-kal-easing=ease-out-back] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-kal][data-kal-easing=ease-in-out-back] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-kal].is-kal-start {
  opacity: 0;
}
[data-kal].is-kal-end {
  opacity: 1;
  transition-property: opacity;
}

[data-kal=fade].is-kal-end {
  transition-timing-function: linear;
}

[data-kal|=slide].is-kal-end {
  transition-property: opacity, transform;
  transition-timing-function: var(--kal-easing, cubic-bezier(0.37, 0.01, 0, 0.98));
  transform: none;
}

[data-kal=slide-up].is-kal-start {
  transform: translateY(var(--kal-start-position, 64px));
}

[data-kal=slide-down].is-kal-start {
  transform: translateY(var(--kal-start-position, -64px));
}

[data-kal=slide-left].is-kal-start {
  transform: translateX(var(--kal-start-position, 40px));
}

[data-kal=slide-right].is-kal-start {
  transform: translateX(var(--kal-start-position, -40px));
}

[data-kal|=translate].is-kal-start {
  opacity: 1 !important;
}
[data-kal|=translate].is-kal-end {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.37, 0.01, 0, 0.98);
  transform: none;
}

[data-kal=translate-left].is-kal-start {
  transform: translateX(40px);
}

[data-kal=translate-right].is-kal-start {
  transform: translateX(-40px);
}

[data-kal|=zoom-out].is-kal-start {
  opacity: 0;
  transform: scale(1.15);
}
[data-kal|=zoom-out].is-kal-end {
  transition-property: opacity, transform;
  opacity: 1;
  transform: none;
}

[data-kal=zoom-out-left-top].is-kal-end {
  transform-origin: left top;
}

[data-kal=zoom-out-right-top].is-kal-end {
  transform-origin: right top;
}

[data-kal=zoom-out-left-bottom].is-kal-end {
  transform-origin: left bottom;
}

[data-kal=zoom-out-right-bottom].is-kal-end {
  transform-origin: right bottom;
}

[data-kal=photo-zoom-out].is-kal-start {
  transform: scale(1.15);
}
[data-kal=photo-zoom-out].is-kal-end {
  transition-duration: var(--kal-duration, 2000ms);
  transition-property: transform;
  transform: none;
}
