@keyframes a{0%{opacity:0}to{opacity:1}}@keyframes b{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes c{0%{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-50%,-50%) rotate(-180deg)}to{transform:translate(-50%,-50%) rotate(-1turn)}}@keyframes d{0%{transform:scale(1)}10%{transform:scale(1.2) translateX(6px)}25%{transform:scale(1.3) translateX(8px)}40%{transform:scale(1.2) translateX(6px)}50%{transform:scale(1)}60%{transform:scale(.8) translateX(6px)}75%{transform:scale(.7) translateX(8px)}90%{transform:scale(.8) translateX(6px)}to{transform:scale(1)}}@keyframes e{0%{transform:scale(1)}10%{transform:scale(1.2) translateX(-6px)}25%{transform:scale(1.3) translateX(-8px)}40%{transform:scale(1.2) translateX(-6px)}50%{transform:scale(1)}60%{transform:scale(.8) translateX(-6px)}75%{transform:scale(.7) translateX(-8px)}90%{transform:scale(.8) translateX(-6px)}to{transform:scale(1)}}.lum-lightbox{background:rgba(0,0,0,.6)}.lum-lightbox-inner{top:2.5%;right:2.5%;bottom:2.5%;left:2.5%}.lum-lightbox-inner img{position:relative}.lum-lightbox-inner .lum-lightbox-caption{margin:0 auto;color:#fff;max-width:700px;text-align:center}.lum-loading .lum-lightbox-loader{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:20px;animation:c 1.8s linear infinite}.lum-lightbox-loader:after,.lum-lightbox-loader:before{content:"";display:block;width:20px;height:20px;position:absolute;top:50%;margin-top:-10px;border-radius:20px;background:hsla(0,0%,100%,.9)}.lum-lightbox-loader:before{left:0;animation:d 1.8s linear infinite}.lum-lightbox-loader:after{right:0;animation:e 1.8s linear infinite;animation-delay:-.9s}.lum-lightbox.lum-opening{animation:a .18s ease-out}.lum-lightbox.lum-opening .lum-lightbox-inner{animation:b .18s ease-out}.lum-lightbox.lum-closing{animation:a .3s ease-in;animation-direction:reverse}.lum-lightbox.lum-closing .lum-lightbox-inner{animation:b .3s ease-in;animation-direction:reverse}.lum-img{transition:opacity .12s ease-out}.lum-loading .lum-img{opacity:0}.lum-gallery-button{overflow:hidden;text-indent:150%;white-space:nowrap;background:transparent;border:0;margin:0;padding:0;outline:0;position:absolute;top:50%;transform:translateY(-50%);height:100px;max-height:100%;width:60px;cursor:pointer}.lum-close-button{position:absolute;right:5px;top:5px;width:32px;height:32px;opacity:.3}.lum-close-button:hover{opacity:1}.lum-close-button:after,.lum-close-button:before{position:absolute;left:15px;content:" ";height:33px;width:2px;background-color:#fff}.lum-close-button:before{transform:rotate(45deg)}.lum-close-button:after{transform:rotate(-45deg)}.lum-previous-button{left:12px}.lum-next-button{right:12px}.lum-gallery-button:after{content:"";display:block;position:absolute;top:50%;width:36px;height:36px;border-top:4px solid hsla(0,0%,100%,.8)}.lum-previous-button:after{transform:translateY(-50%) rotate(-45deg);border-left:4px solid hsla(0,0%,100%,.8);box-shadow:-2px 0 rgba(0,0,0,.2);left:12%;border-radius:3px 0 0 0}.lum-next-button:after{transform:translateY(-50%) rotate(45deg);border-right:4px solid hsla(0,0%,100%,.8);box-shadow:2px 0 rgba(0,0,0,.2);right:12%;border-radius:0 3px 0 0}@media (max-width:460px){.lum-lightbox-image-wrapper{display:flex;overflow:auto;-webkit-overflow-scrolling:touch}.lum-lightbox-caption{width:100%;position:absolute;bottom:0}.lum-lightbox-position-helper{margin:auto}.lum-lightbox-inner img{max-width:none;max-height:none}}
@charset "UTF-8";
*, *:before, *:after {
  box-sizing: border-box; }

body {
  margin: 0;
  width: 100%; }

body, input, button {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; }

.invisible {
  display: none !important; }

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

a {
  color: #2c3a55;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

main {
  float: left;
  width: 100%;
  text-align: center;
  position: relative; }
  main > * {
    text-align: left; }

.drip-down-white {
  position: relative; }
  .drip-down-white::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    pointer-events: none;
    display: block;
    background: transparent url(images/b4b2cb59125952176034cd18b7c3bb36.svg) no-repeat 0 0;
    background-size: contain; }

.drip-down-grey {
  position: relative; }
  .drip-down-grey::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    pointer-events: none;
    display: block;
    background: transparent url(images/b4b2cb59125952176034cd18b7c3bb36.svg) no-repeat 0 0;
    background-size: contain; }

.drip-down-dark-blue {
  position: relative; }
  .drip-down-dark-blue::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    pointer-events: none;
    display: block;
    background: transparent url(images/4b7ee0120fe492e28d94a1282cf2524f.svg) no-repeat 0 0;
    background-size: contain; }

.drip-down-blue {
  position: relative; }
  .drip-down-blue::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    pointer-events: none;
    display: block;
    background: transparent url(images/44a7094decdbf1ba0efadd7f36734251.svg) no-repeat 0 0;
    background-size: contain; }

.drip-down-light-blue {
  position: relative; }
  .drip-down-light-blue::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translate(-50%, -1px);
    pointer-events: none;
    display: block;
    background: transparent url(images/479fea81d844b9bba17f98e506387bdb.svg) no-repeat 0 0;
    background-size: contain; }

.drip-down-white::before,
.drip-down-grey::before,
.drip-down-dark-blue::before {
  width: 118px;
  height: 29px;
  background-position: 0 0; }

.drip-down-blue::before,
.drip-down-light-blue::before {
  margin-top: -1px;
  width: 159px;
  height: 32px;
  background-position: 0 0; }

.btn-bar, .std > .btn-bar {
  text-align: center; }
  .btn-bar .btn-yellow, .std > .btn-bar .btn-yellow {
    display: inline-block;
    padding: 0 26px; }
    @media screen and (min-width: 768px) {
      .btn-bar .btn-yellow, .std > .btn-bar .btn-yellow {
        margin-left: 1em;
        margin-right: 1em; } }

.btn-base, .btn-base-yellow, .btn-yellow, .std > form input[type='submit'],
.std > form button, form.std input[type='submit'], .order-form input[type='submit'], .reservation-form input[type='submit'],
form.std button,
.order-form button,
.reservation-form button, .simulator-detail .tick-tock p a:only-child,
.btn-blue {
  text-transform: uppercase;
  line-height: 43px;
  display: block;
  text-align: center;
  text-decoration: none;
  border: 0;
  border-radius: 21.5px;
  font-size: 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.btn-base-yellow, .btn-yellow, .std > form input[type='submit'],
.std > form button, form.std input[type='submit'], .order-form input[type='submit'], .reservation-form input[type='submit'],
form.std button,
.order-form button,
.reservation-form button, .simulator-detail .tick-tock p a:only-child {
  color: #2c3a55;
  box-shadow: 0 2px 0 #e3ba0c;
  background-color: #fece00;
  background-image: linear-gradient(to top, #fdcc00 0%, #ffe500 100%); }
  .btn-base-yellow:hover, .btn-yellow:hover, .std > form input:hover[type='submit'],
  .std > form button:hover, form.std input:hover[type='submit'], .order-form input:hover[type='submit'], .reservation-form input:hover[type='submit'],
  form.std button:hover,
  .order-form button:hover,
  .reservation-form button:hover, .simulator-detail .tick-tock p a:hover:only-child {
    background: linear-gradient(to top, #ffd731 0%, #ffea33 100%);
    color: black;
    box-shadow: 0 2px 0 #f4ce2e; }
  .btn-base-yellow.btn-blank, .btn-blank.btn-yellow, .std > form input.btn-blank[type='submit'],
  .std > form button.btn-blank, form.std input.btn-blank[type='submit'], .order-form input.btn-blank[type='submit'], .reservation-form input.btn-blank[type='submit'],
  form.std button.btn-blank,
  .order-form button.btn-blank,
  .reservation-form button.btn-blank, .simulator-detail .tick-tock p a.btn-blank:only-child {
    background: #ffffff;
    box-shadow: none;
    color: #2c3a55;
    border: 1px solid #dfe5ef; }
    .btn-base-yellow.btn-blank:hover, .btn-blank.btn-yellow:hover, .std > form input.btn-blank:hover[type='submit'],
    .std > form button.btn-blank:hover, form.std input.btn-blank:hover[type='submit'], .order-form input.btn-blank:hover[type='submit'], .reservation-form input.btn-blank:hover[type='submit'],
    form.std button.btn-blank:hover,
    .order-form button.btn-blank:hover,
    .reservation-form button.btn-blank:hover, .simulator-detail .tick-tock p a.btn-blank:hover:only-child {
      background: rgba(223, 229, 239, 0.25); }

.btn-base-sm, .simulator-detail .experience-list .offer-list .btn-yellow, .simulator-detail .experience-list .last-minute-button a, .simulator-detail .promo-crosslink .btn-yellow, .simulator-detail .tick-tock p a:only-child {
  padding: 0 18px;
  font-size: 11px;
  font-weight: 500;
  line-height: 27px; }

.btn-blue {
  color: #ffffff;
  background-color: #30569d;
  border-radius: 21.5px; }
  .btn-blue:hover {
    background-color: #244176; }
  .btn-blue:active {
    background-color: #182b4f; }

.btn-inline {
  display: inline-block;
  padding-left: 1.5em;
  padding-right: 1.5em; }

.upper-lower {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 20px; }
  .upper-lower .lower {
    display: block;
    text-transform: none;
    font-weight: 700;
    font-size: 1.3em; }

.sr-only, .lesson-list input.day-selector-radio:not(:checked) + .day, .lesson-list table.day tbody td.input input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.flat-button-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 10; }
  .flat-button-list li {
    text-align: center;
    font-size: 14px;
    position: relative; }
    .flat-button-list li a, .flat-button-list li label {
      color: #7486a7;
      text-decoration: none;
      position: relative;
      cursor: pointer;
      display: block;
      padding: 10px 5px; }
      .flat-button-list li a::after, .flat-button-list li label::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 1px;
        background: linear-gradient(to bottom, rgba(227, 231, 241, 0) 0%, #e3e7f1 100%); }
      .flat-button-list li a::before, .flat-button-list li label::before {
        position: absolute;
        bottom: -7px;
        pointer-events: none;
        left: 0;
        right: 0;
        height: 9px;
        background: url(images/efcb3320e073e28b884f0b64d4956d1a.svg) no-repeat center -5px;
        border-top: 2px solid #fdd110; }
      .flat-button-list li a.active, .flat-button-list li label.active {
        font-weight: 700;
        color: #30569d; }
        .flat-button-list li a.active::before, .flat-button-list li label.active::before {
          content: ''; }
    .flat-button-list li:hover a, .flat-button-list li:hover label {
      color: #30569d; }
    .flat-button-list li:hover::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: #fed700; }
    .flat-button-list li:first-child a::after,
    .flat-button-list li:first-child label::after {
      display: none; }

.slideshow {
  position: relative;
  overflow: hidden;
  text-align: left;
  line-height: 0; }
  .slideshow .size-setter {
    visibility: hidden; }
  .slideshow .item {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    bottom: 0;
    transition: left 0.4s; }
    .slideshow .item a, .slideshow .item a img {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0; }
  .slideshow .dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: relative;
    top: -30px;
    background: white;
    z-index: 20;
    opacity: 0.4;
    transition: opacity 0.4s, background-color 0.4s; }
    .slideshow .dot:hover {
      opacity: 0.8; }
    .slideshow .dot:first-of-type {
      margin-left: 40px; }
  .slideshow input {
    display: none; }
  .slideshow label {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 2em;
    cursor: pointer;
    z-index: 10; }
    .slideshow label img {
      opacity: 0.7;
      position: absolute;
      top: 50%;
      left: 0;
      width: 24px;
      height: 36px;
      margin-top: -18px;
      transform: rotate(180deg);
      transition: opacity 0.2s; }
    .slideshow label + label {
      left: auto;
      right: 0; }
      .slideshow label + label img {
        transform: none; }
    .slideshow label:hover img {
      opacity: 1; }
  .slideshow input:checked + .item {
    left: 0; }
    .slideshow input:checked + .item + .dot {
      opacity: 1;
      background-color: #fed700; }
    .slideshow input:checked + .item ~ .item {
      left: 100%; }

.testimonial {
  width: 100%;
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  display: flex;
  flex-direction: column-reverse;
  padding: 28px;
  position: relative; }
  .testimonial p {
    margin: 0;
    font-size: 16px;
    line-height: 25px;
    color: #2c3a55;
    flex-grow: 5; }
  .testimonial .image {
    margin: 30px 0 0 0;
    position: relative; }
    .testimonial .image::after {
      content: "”";
      color: #fdd000;
      font-size: 100px;
      font-weight: 700;
      line-height: 51px;
      position: absolute;
      right: 0;
      top: 14px; }
  .testimonial .name {
    text-align: right;
    position: absolute;
    right: 26px;
    z-index: 2; }
    .testimonial .name h3,
    .testimonial .name .detail {
      clear: both;
      float: right;
      display: inline-block;
      max-width: 150px; }
    .testimonial .name h3 {
      margin: 0;
      font-size: 20px;
      color: #30569d;
      font-weight: 700;
      margin-bottom: 8px; }
    .testimonial .name .detail {
      font-size: 13px;
      color: #7486a7; }
  .testimonial .close-btn {
    width: 20px;
    height: 20px;
    font-size: 24px;
    line-height: 20px;
    text-align: center;
    position: absolute;
    top: 10px;
    right: 10px;
    text-decoration: none;
    transition: transform 0.4s;
    border-radius: 50%; }
    .testimonial .close-btn:hover {
      transform: rotate(90deg); }
    .testimonial .close-btn::after {
      content: "×"; }

.checkbox-more,
.moreable .more {
  display: none; }

@media screen and (max-width: 767px) {
  .checkbox-more:not(:checked) + .moreable > * ~ * {
    display: none;
    opacity: 0; }
  .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more {
    width: 100%;
    opacity: 1;
    position: relative;
    text-align: center;
    color: #30569d;
    text-decoration: underline;
    font-size: 13px;
    display: flex; }
    .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .content {
      flex-grow: 0;
      padding: 0 30px 0 9px;
      position: relative; }
      .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .content::after {
        position: absolute;
        content: "";
        top: 50%;
        right: 10px;
        margin-top: -6px;
        width: 9px;
        height: 13px;
        transform: rotate(90deg);
        background: url(images/670740cd2c558f6c8dc67ad7f36d0f76.svg); }
    .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .pre, .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .post {
      flex-grow: 1;
      position: relative; }
      .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .pre::before, .checkbox-more:not(:checked) + .moreable > *:nth-child(2) ~ .more .post::before {
        content: "";
        position: absolute;
        top: 50%;
        border-bottom: 1px solid #e4e9f2;
        left: 0;
        right: 0; }
  .checkbox-more:checked + .moreable > * ~ * {
    animation: fadeIn 1.2s; } }

.own-line {
  display: block; }

input.toggle-for-more-checkbox {
  display: none; }

label.toggle-for-more-label {
  position: relative;
  padding-right: 18px;
  font-size: 12px;
  color: #30569d;
  text-transform: uppercase;
  font-weight: 500;
  display: block;
  width: 70px;
  height: 13px;
  overflow: hidden;
  cursor: pointer; }
  label.toggle-for-more-label span {
    position: absolute;
    right: 20px;
    transition: top 0.2s; }
    label.toggle-for-more-label span.open {
      top: 0; }
    label.toggle-for-more-label span.close {
      top: -130%; }
  label.toggle-for-more-label::after {
    position: absolute;
    top: 7px;
    right: 0;
    content: "+";
    color: #c3cad8;
    display: inline-block;
    background: red;
    font-size: 25px;
    line-height: 0;
    transition: transform 0.2s, color 0.2s; }
  label.toggle-for-more-label:hover::after {
    color: #30569d; }

.toggle-for-more-target {
  display: none; }

input.toggle-for-more-checkbox:checked ~ .toggle-for-more-label span.close {
  top: 0; }

input.toggle-for-more-checkbox:checked ~ .toggle-for-more-label span.open {
  top: 130%; }

input.toggle-for-more-checkbox:checked ~ .toggle-for-more-label::after {
  color: #30569d;
  transform: rotate(-45deg); }

input.toggle-for-more-checkbox:checked ~ .toggle-for-more-target {
  display: block;
  color: #2c3a55;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  margin: 1em 0 3em 0;
  animation: fadeIn 0.6s; }

#flashes {
  float: left;
  width: 100%;
  text-align: center; }
  #flashes .flash {
    display: inline-block;
    width: 100%;
    text-align: left;
    max-width: 50em;
    border: 1px solid #f50a0a;
    background: #fdcece;
    color: #310202;
    font-size: 14px;
    line-height: 1.8em;
    border-radius: 5px;
    padding: 15px 19px;
    margin: 1.8em 0 1em 0; }

.blue-cards .card {
  padding: 0 14px;
  margin-bottom: 52px;
  text-align: center; }

.blue-cards .image-background {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  line-height: 0; }
  @media screen and (max-width: 767px) {
    .blue-cards .image-background {
      padding-bottom: 60px;
      background: #44619f; } }
  @media screen and (min-width: 992px) {
    .blue-cards .image-background {
      padding-bottom: 60px;
      background: #44619f; } }
  .blue-cards .image-background img {
    max-width: 100%;
    width: 100%;
    height: auto;
    z-index: 1;
    position: relative; }
  .blue-cards .image-background::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to bottom, rgba(68, 97, 159, 0) 75%, #44619f 100%);
    z-index: 2;
    bottom: 0; }
    @media screen and (max-width: 767px) {
      .blue-cards .image-background::before {
        bottom: 60px; } }
    @media screen and (min-width: 992px) {
      .blue-cards .image-background::before {
        bottom: 60px; } }

.blue-cards h3 {
  position: absolute;
  bottom: 30px;
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.3em;
  font-weight: 700;
  text-align: center;
  width: 100%;
  z-index: 3; }

.blue-cards p {
  color: #2c3a55;
  font-size: 14px;
  line-height: 23px;
  text-align: center;
  padding: 0 14px;
  margin: 28px 0 22px 0; }

@media screen and (min-width: 768px) {
  .blue-cards .btn-yellow {
    padding: 0 25px;
    white-space: nowrap;
    width: auto;
    display: inline-block; } }

@media screen and (min-width: 992px) {
  .blue-cards {
    max-width: 1228px;
    display: inline-flex; }
    .blue-cards .card {
      position: relative;
      padding-bottom: 40px; }
      .blue-cards .card.card-2 {
        width: 50%; }
      .blue-cards .card.card-3 {
        width: 33.33333%; }
    .blue-cards .btn-yellow {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0); } }

.hero-down-arrow {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 51px;
  height: 51px;
  border-radius: 50%;
  background-color: #fed700;
  background-image: linear-gradient(to top, #fdcc00 0%, #ffe500 100%);
  z-index: 4;
  opacity: 1;
  transition: opacity 0.4s; }
  .hero-down-arrow::before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    background: url(images/9fdaf013d7f8167b6c66175665f1ab56.svg);
    width: 18px;
    height: 11px;
    transform: translate(-50%, -50%); }
  .hero-down-arrow span {
    display: none; }
  .hero-down-arrow.fade-out {
    opacity: 0; }
  .hero-down-arrow.fix-to-bottom {
    position: fixed;
    bottom: 15px; }

.std > *, .std {
  margin: 0.6em 0; }
  .std > *:not(:first-child), .std:not(:first-child) {
    margin-top: 1em; }

.std p,
.std h1,
.std h2,
.std h3,
.std h4,
.std h5,
.std h6,
.std ul {
  max-width: 50em; }

.page.std {
  display: inline-block;
  max-width: 1200px;
  padding: 0 14px;
  margin: 0; }
  .page.std img {
    max-width: 100%; }
  .page.std:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    border-bottom: 1px solid #dfe5ef;
    pointer-events: none; }
  .page.std > *:last-child {
    margin-bottom: 40px; }

.std > h1, h1.std {
  color: #30569d;
  font-size: 30px;
  font-weight: 700;
  line-height: 36px;
  margin: 22px 0 22px 0;
  text-align: center; }

.std > p, p.std {
  color: #2c3a55;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px; }

.std > h2, h2.std {
  color: #30569d;
  font-size: 22px;
  font-weight: 700;
  line-height: 25px; }

.std > h3, h3.std {
  color: #30569d;
  font-size: 18px;
  font-weight: 700;
  line-height: 21px; }

.std > ul, ul.std {
  color: #2c3a55;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  padding: 0;
  list-style-type: square; }
  .std > ul li, ul.std li {
    margin-left: 1.2em;
    padding-left: 0.2em;
    margin-bottom: 0.2em; }
    .std > ul li:last-child, ul.std li:last-child {
      margin-bottom: 0; }

.well {
  border: 1px solid #dfe5ef;
  margin: 1.8em 0;
  border-radius: 10px;
  background: #f1f4f9; }
  .well p:last-child {
    margin-bottom: 0; }
  .std > ul .well {
    list-style-type: none;
    margin: 1.8em 0;
    padding: 19px; }
    .std > ul .well:last-child {
      margin-bottom: 1.8em; }

.std > form, form.std, .order-form, .reservation-form {
  margin-top: 28px;
  text-align: left;
  counter-reset: form; }
  .std > form .errors, form.std .errors, .order-form .errors, .reservation-form .errors {
    background: #ffffff;
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 30px;
    background: #fdcece;
    border: 1px solid #f50a0a;
    color: #310202;
    font-size: 16px; }
    .std > form .errors ul li, form.std .errors ul li, .order-form .errors ul li, .reservation-form .errors ul li {
      margin-bottom: 0.3em;
      list-style-type: square; }
  .std > form fieldset, form.std fieldset, .order-form fieldset, .reservation-form fieldset {
    border: 1px solid #dfe5ef;
    margin: 0;
    border-radius: 10px;
    padding: 0;
    margin-bottom: 23px;
    padding-bottom: 10px;
    background: white;
    overflow: hidden;
    background: #f1f4f9; }
    .std > form fieldset legend, form.std fieldset legend, .order-form fieldset legend, .reservation-form fieldset legend {
      background: white;
      display: block;
      float: left;
      width: 100%;
      border-bottom: 1px solid #dfe5ef;
      padding: 28px 19px 28px 19px;
      position: relative;
      font-weight: 500;
      font-size: 18px;
      line-height: 20px;
      color: #30569d; }
      .std > form fieldset legend.has-count, form.std fieldset legend.has-count, .order-form fieldset legend.has-count, .reservation-form fieldset legend.has-count {
        padding-left: 61px; }
        .std > form fieldset legend.has-count::before, form.std fieldset legend.has-count::before, .order-form fieldset legend.has-count::before, .reservation-form fieldset legend.has-count::before {
          counter-increment: form;
          content: counter(form);
          position: absolute;
          left: 19px;
          top: 50%;
          transform: translate(0, -50%);
          background-color: #fdce00;
          line-height: 30px;
          margin-right: 11px;
          width: 30px;
          text-align: center;
          color: #2c3a55;
          font-size: 14px;
          font-weight: 400;
          border-radius: 5px; }
      .std > form fieldset legend .comment, form.std fieldset legend .comment, .order-form fieldset legend .comment, .reservation-form fieldset legend .comment {
        font-size: 12px;
        margin-top: 0.5em;
        color: #2c3a55; }
    .std > form fieldset.has-error, form.std fieldset.has-error, .order-form fieldset.has-error, .reservation-form fieldset.has-error {
      border: 1px solid #f50a0a; }
      .std > form fieldset.has-error legend, form.std fieldset.has-error legend, .order-form fieldset.has-error legend, .reservation-form fieldset.has-error legend {
        background: #fdcece; }
        .std > form fieldset.has-error legend.has-count::before, form.std fieldset.has-error legend.has-count::before, .order-form fieldset.has-error legend.has-count::before, .reservation-form fieldset.has-error legend.has-count::before {
          background: #f50a0a;
          color: #ffffff; }
        .std > form fieldset.has-error legend span.error, form.std fieldset.has-error legend span.error, .order-form fieldset.has-error legend span.error, .reservation-form fieldset.has-error legend span.error {
          display: block;
          font-size: 14px;
          color: #310202; }
    .std > form fieldset .contents, form.std fieldset .contents, .order-form fieldset .contents, .reservation-form fieldset .contents {
      float: left;
      width: 100%;
      background-image: linear-gradient(to bottom, #f1f4f9 0%, #ffffff 24px);
      margin-bottom: -19px;
      padding-bottom: 19px; }
    .std > form fieldset .item, form.std fieldset .item, .order-form fieldset .item, .reservation-form fieldset .item {
      float: left;
      width: 100%;
      padding: 10px 19px; }
      .std > form fieldset .item .comment, form.std fieldset .item .comment, .order-form fieldset .item .comment, .reservation-form fieldset .item .comment {
        display: block;
        font-size: 13px;
        margin-top: 6px;
        color: #2c3a55; }
  .std > form .item, form.std .item, .order-form .item, .reservation-form .item {
    padding-top: 10px;
    padding-bottom: 10px; }
  .std > form label, form.std label, .order-form label, .reservation-form label {
    font-size: 13px;
    line-height: 19px;
    color: #2c3a55; }
  .std > form input[type='text'],
  .std > form input[type='tel'],
  .std > form input[type='email'],
  .std > form input[type='password'],
  .std > form textarea, form.std input[type='text'], .order-form input[type='text'], .reservation-form input[type='text'],
  form.std input[type='tel'],
  .order-form input[type='tel'],
  .reservation-form input[type='tel'],
  form.std input[type='email'],
  .order-form input[type='email'],
  .reservation-form input[type='email'],
  form.std input[type='password'],
  .order-form input[type='password'],
  .reservation-form input[type='password'],
  form.std textarea,
  .order-form textarea,
  .reservation-form textarea {
    border: 1px solid #dfe5ef;
    background-color: #ffffff;
    padding: 5px 10px;
    width: 100%; }
  .std > form input[type='submit'],
  .std > form button,
  .std > form .btn-yellow, form.std input[type='submit'], .order-form input[type='submit'], .reservation-form input[type='submit'],
  form.std button,
  .order-form button,
  .reservation-form button,
  form.std .btn-yellow,
  .order-form .btn-yellow,
  .reservation-form .btn-yellow {
    padding: 0 18px; }
  .std > form .has-error input[type='text'],
  .std > form .has-error input[type='email'],
  .std > form .has-error input[type='tel'], form.std .has-error input[type='text'], .order-form .has-error input[type='text'], .reservation-form .has-error input[type='text'],
  form.std .has-error input[type='email'],
  .order-form .has-error input[type='email'],
  .reservation-form .has-error input[type='email'],
  form.std .has-error input[type='tel'],
  .order-form .has-error input[type='tel'],
  .reservation-form .has-error input[type='tel'] {
    border-bottom-color: 1px solid #f50a0a;
    background-color: #fef0f0; }
  .std > form .has-error .error, form.std .has-error .error, .order-form .has-error .error, .reservation-form .has-error .error {
    font-size: 13px;
    color: #310202;
    position: relative;
    padding-left: 20px; }
    .std > form .has-error .error::before, .std > form .has-error .error::after, form.std .has-error .error::before, .order-form .has-error .error::before, .reservation-form .has-error .error::before, form.std .has-error .error::after, .order-form .has-error .error::after, .reservation-form .has-error .error::after {
      content: "";
      position: absolute;
      width: 12px;
      height: 12px;
      top: 2px;
      left: 1px; }
    .std > form .has-error .error::before, form.std .has-error .error::before, .order-form .has-error .error::before, .reservation-form .has-error .error::before {
      background: #ac0707;
      border-radius: 50%; }
    .std > form .has-error .error::after, form.std .has-error .error::after, .order-form .has-error .error::after, .reservation-form .has-error .error::after {
      content: "!";
      color: white;
      font-weight: bold;
      text-align: center;
      line-height: 14px;
      font-size: 10px; }
  @media screen and (max-width: 767px) {
    .std > form input[type='submit'],
    .std > form button,
    .std > form .btn-yellow, form.std input[type='submit'], .order-form input[type='submit'], .reservation-form input[type='submit'],
    form.std button,
    .order-form button,
    .reservation-form button,
    form.std .btn-yellow,
    .order-form .btn-yellow,
    .reservation-form .btn-yellow {
      width: 100%; } }

.std-header p {
  text-align: center; }

body {
  margin: 0; }

#header {
  float: left;
  width: 100%;
  margin-top: 15px; }
  #header #logo {
    float: left;
    padding-left: 14px;
    width: 193px; }
  #header p.claim {
    color: #30569d;
    text-align: left;
    float: right;
    font-size: 11px;
    width: calc(100% - 193px);
    max-width: 150px;
    margin: 0;
    padding-left: 15px;
    padding-right: 14px; }
  @media screen and (min-width: 768px) {
    #header #logo {
      width: 225px; }
    #header p.claim {
      font-size: 15px;
      max-width: none;
      width: auto;
      float: left;
      height: 53px;
      padding-top: 14px;
      margin-left: 34px;
      padding-left: 26px;
      border-left: 1px solid #daebf4; } }

@media screen and (min-width: 768px) and (min-width: 992px) and (max-width: 1199px) {
  #header p.claim {
    padding-top: 6px;
    line-height: 20px;
    font-size: 14px;
    max-width: 300px; } }

#top-contacts {
  margin-left: 38px;
  color: #30569d; }
  @media screen and (max-width: 1023px) {
    #top-contacts {
      display: none;
      float: left;
      width: 100%;
      margin-top: 30px;
      padding-bottom: 18px; } }
  #top-contacts a {
    color: #30569d; }
    #top-contacts a.tel {
      text-decoration: none; }
  #top-contacts .title {
    font-size: 14px;
    display: block;
    margin-bottom: 2px; }
  #top-contacts .tel, #top-contacts .email {
    display: block;
    font-weight: 700; }
  #top-contacts .tel .small {
    font-weight: 400; }
  #top-contacts > div {
    margin-top: 19px; }
  #top-contacts .with-ico {
    padding-left: 21px;
    position: relative; }
    #top-contacts .with-ico::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translate(0, -50%); }
  #top-contacts .customer-line .with-ico::before {
    background-image: url(images/32fe2ab85447c94ebd6ad5b659dd1e8c.svg);
    width: 12px;
    height: 13px; }
  #top-contacts .mail .with-ico::before {
    background-image: url(images/5632084dbe693ed0dcb76087dc426738.svg);
    width: 16px;
    height: 14px; }
  #top-contacts .social a {
    padding: 0 3px; }
    #top-contacts .social a:first-child {
      padding-left: 0; }
  @media screen and (min-width: 1024px) {
    #top-contacts {
      position: absolute;
      right: 45px;
      top: -62px;
      margin: 0; }
      #top-contacts > div {
        float: left;
        margin: 0 8px; }
      #top-contacts .social {
        margin-top: 7px; } }
  @media screen and (min-width: 1200px) {
    #top-contacts > div {
      margin: 0 17px; } }

#main-menu {
  float: left;
  width: 100%;
  padding: 0;
  position: relative;
  margin: 16px 0 0 0; }
  #main-menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%; }
    @media screen and (max-width: 1023px) {
      #main-menu ul li {
        float: left;
        display: none; } }
    #main-menu ul li ul {
      display: none; }
    #main-menu ul li {
      width: 100%; }
  #main-menu .menu-toggle {
    display: none; }
    @media screen and (max-width: 1023px) {
      #main-menu .menu-toggle {
        display: block; } }
  #main-menu input.menu-toggle {
    position: absolute;
    left: -5000px; }
  #main-menu label.menu-toggle {
    z-index: 2;
    background-color: #30569d;
    color: #ffffff;
    border-bottom: 2px solid #30569d;
    float: left;
    width: 50%; }
    #main-menu label.menu-toggle .hamburger {
      display: inline-block;
      width: 16px;
      height: 12px;
      margin-right: 10px;
      border-top: 1.5px solid #2ca3e6;
      border-bottom: 1.5px solid #2ca3e6;
      position: relative; }
      #main-menu label.menu-toggle .hamburger:before {
        content: "";
        border-top: 1.5px solid #2ca3e6;
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -1px;
        width: 100%; }
  #main-menu label,
  #main-menu li a {
    display: block;
    font-size: 15px;
    line-height: 63px;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    font-weight: 500; }
  #main-menu input.menu-toggle:checked ~ label {
    position: relative;
    position: absolute; }
    #main-menu input.menu-toggle:checked ~ label::before {
      position: absolute;
      content: "";
      top: 100%;
      left: 50%;
      transform: translate(-50%, -1px);
      pointer-events: none;
      display: block;
      background: transparent url(images/44a7094decdbf1ba0efadd7f36734251.svg) no-repeat 0 0;
      background-size: contain; }
    #main-menu input.menu-toggle:checked ~ label::before {
      width: 70px;
      height: 18px; }
  #main-menu input.menu-toggle:checked ~ #menu-container ul {
    padding-top: 63px;
    padding-bottom: 30px;
    float: left;
    background-color: #202c43;
    position: relative; }
    #main-menu input.menu-toggle:checked ~ #menu-container ul::before {
      position: absolute;
      content: "";
      top: 100%;
      left: 50%;
      transform: translate(-50%, -1px);
      pointer-events: none;
      display: block;
      background: transparent url(images/4b7ee0120fe492e28d94a1282cf2524f.svg) no-repeat 0 0;
      background-size: contain; }
    #main-menu input.menu-toggle:checked ~ #menu-container ul::before {
      width: 91px;
      height: 20px; }
    #main-menu input.menu-toggle:checked ~ #menu-container ul > li {
      display: block;
      background-color: #202c43; }
      #main-menu input.menu-toggle:checked ~ #menu-container ul > li a {
        text-align: left;
        color: #ffffff;
        padding-left: 38px; }
      #main-menu input.menu-toggle:checked ~ #menu-container ul > li:first-child a {
        padding-top: 30px; }
  #main-menu input.menu-toggle:checked ~ #top-contacts {
    display: block; }
  #main-menu input.menu-toggle:checked ~ #other-language {
    display: block; }
  @media screen and (max-width: 1023px) {
    #main-menu li#rezervace {
      position: absolute;
      top: 0;
      right: 0;
      display: block;
      width: 50%; } }
  #main-menu li#rezervace a {
    text-align: center;
    box-shadow: 0 2px 0 #e3ba0c;
    background-color: #fece00;
    background-image: linear-gradient(to top, #fdcc00 0%, #ffe500 100%);
    color: #2c3a55 !important; }
    @media screen and (max-width: 1023px) {
      #main-menu li#rezervace a {
        padding-left: 0 !important;
        text-align: center !important; } }
    #main-menu li#rezervace a:hover {
      background: linear-gradient(to top, #ffe164 0%, #ffef66 100%);
      box-shadow: 0 2px 0 #f7da5e; }
  #main-menu #other-language {
    display: none;
    float: left;
    margin-left: 38px;
    color: #30569d;
    font-weight: bold; }
    #main-menu #other-language .short {
      display: none; }
  @media screen and (min-width: 1024px) {
    #main-menu {
      width: 100%; }
      #main-menu #menu-container {
        float: left;
        width: 100%;
        text-align: center;
        background-color: #30569d;
        line-height: 0; }
      #main-menu ul {
        width: auto;
        display: inline-block; }
        #main-menu ul li {
          display: block;
          float: left;
          width: auto;
          background-color: #30569d;
          color: #ffffff;
          border-bottom: 2px solid #30569d; }
          #main-menu ul li:hover {
            border-bottom-color: #202c43;
            background-color: #202c43; }
          #main-menu ul li a {
            color: #ffffff;
            padding: 0 0.7vw; } }
        @media screen and (min-width: 1024px) and (max-width: 1040px) {
          #main-menu ul li a {
            padding: 0 5px; } }
  @media screen and (min-width: 1024px) {
            #main-menu ul li a:hover {
              color: #fed900; }
        #main-menu ul li#rezervace {
          color: #000; }
        #main-menu ul li:hover {
          position: relative; }
          #main-menu ul li:hover ul {
            z-index: 60;
            top: 100%;
            left: 0;
            min-width: 100%;
            position: absolute;
            display: block;
            background: #202c43; }
            #main-menu ul li:hover ul li {
              background: #202c43;
              border-bottom-color: #202c43;
              display: block;
              float: none; }
              #main-menu ul li:hover ul li a {
                text-align: left;
                font-weight: 400;
                white-space: nowrap;
                padding-left: 28px;
                padding-right: 28px; }
                #main-menu ul li:hover ul li a:hover {
                  color: #fed900; }
      #main-menu #other-language {
        display: block;
        position: absolute;
        right: 21px;
        top: -51px; }
        #main-menu #other-language .short {
          display: inline; }
        #main-menu #other-language .long {
          display: none; } }
  @media screen and (min-width: 1200px) {
    #main-menu li.droppable {
      padding-left: 20px;
      padding-right: 20px; }
      #main-menu li.droppable > a {
        padding-right: 29px;
        position: relative; }
        #main-menu li.droppable > a::after {
          content: "";
          width: 16px;
          height: 10px;
          position: absolute;
          top: 50%;
          right: 8px;
          margin-top: -5px;
          background: url(images/502cab77063927786f1bd5dd16ccc6d0.svg); } }

#breadcrumbs {
  list-style-type: none;
  float: left;
  width: 100%;
  margin: 28px 0 0 0;
  padding: 0;
  text-align: center; }
  #breadcrumbs li {
    display: inline-block;
    color: #7486a7;
    font-size: 12px;
    position: relative; }
    #breadcrumbs li a {
      color: #7486a7; }
    #breadcrumbs li:not(:last-child) {
      padding-right: 35px; }
      #breadcrumbs li:not(:last-child)::after {
        position: absolute;
        content: "";
        top: 50%;
        right: 11px;
        margin-top: -6px;
        width: 9px;
        height: 13px;
        background: url(images/670740cd2c558f6c8dc67ad7f36d0f76.svg); }

#content {
  float: left;
  width: 100%; }

#three-reasons {
  margin-top: 50px;
  float: left;
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 2; }
  #homepage #three-reasons.drip-down-white::before {
    content: none; }
  #three-reasons + #testimonials {
    padding-top: 40px; }
  #three-reasons h2 {
    color: #30569d;
    text-align: center; }
  #three-reasons .reasons {
    padding: 14px;
    color: #2c3a55; }
    #three-reasons .reasons .card {
      position: relative;
      padding-top: 100px; }
      #three-reasons .reasons .card::before {
        content: "";
        position: absolute;
        top: 15px;
        left: 50%;
        transform: translate(-50%, 0); }
      #three-reasons .reasons .card.history::before {
        background-image: url(images/4c860af88cbd4ac4f8caaa4adb6012ad.png);
        width: 69px;
        height: 69px; }
      #three-reasons .reasons .card.idea::before {
        background-image: url(images/bcb0b2986efad4b7736d2d123982b299.png);
        width: 78px;
        height: 72px; }
      #three-reasons .reasons .card.experience::before {
        background-image: url(images/4672a3fdc90a5fc37fc4c2f92a6c98ba.png);
        width: 80px;
        height: 66px; }
    #three-reasons .reasons h3 {
      text-transform: uppercase;
      font-size: 13px;
      line-height: 24px;
      color: #7486a7;
      text-align: center;
      font-weight: 400; }
    #three-reasons .reasons p {
      margin: 0;
      text-align: center; }
    @media screen and (min-width: 768px) {
      #three-reasons .reasons {
        display: inline-flex;
        text-align: left; }
        #three-reasons .reasons .card {
          width: 33%;
          padding-left: 15px;
          padding-right: 15px; } }
  #three-reasons .tripadvisor {
    margin-top: 45px;
    margin-bottom: 45px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 14px;
    padding-right: 14px; }
    @media screen and (max-width: 767px) {
      #three-reasons .tripadvisor {
        flex-direction: column;
        margin-top: 40px;
        padding-left: 26px;
        padding-right: 26px; } }
    #three-reasons .tripadvisor .image {
      min-width: 190px;
      display: grid;
      grid-template-columns: 1fr 1fr; }
    #three-reasons .tripadvisor img {
      max-width: 100%; }
    #three-reasons .tripadvisor p {
      text-align: left;
      max-width: 800px; }

#promotions {
  float: left;
  width: 100%;
  background-color: #f1f4f9;
  padding: 75px 14px 10px 14px; }
  #promotions h2 {
    margin: 0;
    color: #30569d;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    font-size: 23px; }
    #promotions h2 .smaller {
      text-transform: none;
      display: block;
      font-weight: 400;
      font-size: 18px; }
  #promotions .content {
    border: 1px solid #dfe5ef;
    border-radius: 10px;
    background: white;
    margin-top: 100px;
    position: relative;
    padding: 220px 29px 33px 29px;
    margin-bottom: 60px;
    float: left;
    width: 100%; }
    #promotions .content img {
      position: absolute;
      top: -75px;
      left: 24px;
      z-index: 1; }
    #promotions .content .price {
      position: absolute;
      left: 145px;
      top: -76px;
      width: 137px;
      height: 157px;
      background: url(images/7908f8034215077a25db9aa68db84533.svg);
      z-index: 2; }
      #promotions .content .price .inner {
        position: absolute;
        top: 50%;
        left: 12px;
        transform: translate(0, -50%);
        white-space: nowrap; }
      #promotions .content .price .previous {
        color: #b0bfdb;
        line-height: 21.08px;
        font-size: 13px;
        text-decoration: line-through; }
      #promotions .content .price .discounted {
        font-size: 18px;
        font-weight: 700;
        color: #ffffff;
        display: block; }
        #promotions .content .price .discounted .from {
          font-size: 11px;
          font-weight: 400; }
    #promotions .content h3 {
      margin: 0;
      color: #2c3a55;
      font-size: 25px;
      font-weight: 700; }
      #promotions .content h3 .smaller {
        display: block;
        font-size: 20px;
        font-weight: 400; }
    #promotions .content .time {
      padding-left: 50px;
      color: #2c3a55;
      font-size: 15px;
      margin: 28px 0;
      position: relative; }
      #promotions .content .time::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        background: url(images/d22630e315141f0079ffeff7a7e31bcb.svg);
        width: 39px;
        height: 39px; }
      #promotions .content .time .duration {
        font-weight: 700; }
    #promotions .content .supplementary {
      color: #d94e11;
      font-size: 15px; }
    #promotions .content .btn-yellow {
      margin-top: 25px;
      display: block;
      float: left;
      padding: 0 35px; }
  @media screen and (min-width: 768px) {
    #promotions {
      text-align: center; }
      #promotions .container {
        width: 100%;
        max-width: 1200px;
        display: inline-flex;
        justify-content: center; }
      #promotions .promotion {
        text-align: left;
        max-width: 500px;
        width: 100%; }
        #promotions .promotion:nth-child(2) {
          margin-left: 14px; }
        #promotions .promotion .btn-yellow {
          float: none; } }

@media screen and (min-width: 992px) and (max-width: 1199px) {
  #promotions {
    padding-top: 45px; } }
  @media screen and (min-width: 992px) {
    #promotions h2 {
      text-align: left; }
    #promotions .content {
      padding-top: 20px;
      margin-top: 40px; }
      #promotions .content img {
        left: auto;
        right: 24px; } }
    @media screen and (min-width: 992px) and (max-width: 1199px) {
      #promotions .content img {
        max-width: 200px;
        top: -40px; } }
  @media screen and (min-width: 992px) {
      #promotions .content .price {
        left: auto;
        right: 11px; }
      #promotions .content h3,
      #promotions .content .time {
        padding-right: 215px; } }
  @media screen and (min-width: 1200px) {
    #promotions .content img {
      top: -125px; }
    #promotions .content .price {
      top: -126px; }
    #promotions .content h3,
    #promotions .content .time {
      padding-right: 245px; }
    #promotions .promotion:nth-child(2) {
      margin-left: 90px; }
    #promotions .btn-yellow {
      position: absolute;
      bottom: 24px;
      right: 24px; } }

#testimonials {
  float: left;
  width: 100%;
  padding-top: 69px;
  text-align: center; }
  #testimonials h2 {
    margin: 0;
    color: #30569d;
    font-size: 24px;
    text-align: center; }
  #testimonials .slideshow {
    padding: 45px 14px 0 14px;
    max-width: 1200px;
    width: 100%;
    height: 588px;
    line-height: 1em;
    text-align: center; }
    #testimonials .slideshow .item {
      text-align: left;
      padding: 14px; }
      #testimonials .slideshow .item .testimonial {
        height: 560px; }
      #testimonials .slideshow .item .slideshow-labels .prev,
      #testimonials .slideshow .item .slideshow-labels .next {
        display: block;
        position: absolute;
        top: auto;
        bottom: 20px;
        height: 60px; }
      #testimonials .slideshow .item .slideshow-labels .prev {
        left: 0; }
        #testimonials .slideshow .item .slideshow-labels .prev img {
          transform: rotate(90deg); }
      #testimonials .slideshow .item .slideshow-labels .next {
        right: 0; }
        #testimonials .slideshow .item .slideshow-labels .next img {
          transform: rotate(-90deg); }
    #testimonials .slideshow .dot {
      top: 505px;
      background-color: #30569d; }
    @media screen and (min-width: 768px) {
      #testimonials .slideshow {
        height: auto;
        display: inline-flex; }
        #testimonials .slideshow .item {
          display: flex;
          padding: 0;
          position: static; }
          #testimonials .slideshow .item .testimonial {
            height: auto; }
          #testimonials .slideshow .item .slideshow-labels {
            display: none; }
          #testimonials .slideshow .item ~ .item {
            padding-left: 14px; }
        #testimonials .slideshow .dot {
          display: none; } }
    @media screen and (min-width: 1200px) {
      #testimonials .slideshow {
        padding-left: 0;
        padding-right: 0; } }
  #testimonials .testimonial {
    margin-bottom: 40px; }
    @media screen and (max-width: 991px) {
      #testimonials .testimonial .image {
        margin-bottom: 20px; }
        #testimonials .testimonial .image::after {
          top: 50%; }
      #testimonials .testimonial .name {
        text-align: center;
        position: static; }
        #testimonials .testimonial .name h3,
        #testimonials .testimonial .name .detail {
          float: none; } }

#story {
  float: left;
  width: 100%;
  background-color: #f1f4f9;
  background-image: url(images/d0f73ba4c1a6f14cfcadcdb62fcbc965.jpg);
  background-size: 360px 251px;
  background-repeat: no-repeat;
  background-position: 50% bottom;
  padding: 0 14px 285px 14px;
  text-align: center; }
  #story h2 {
    margin: 62px 0 30px 0;
    font-size: 24px;
    font-weight: 700;
    color: #30569d; }
  #story p {
    margin: 30px 0; }
  #story .btn-yellow {
    display: inline-block;
    padding: 0 31px; }
  @media screen and (min-width: 768px) {
    #story {
      background-image: none;
      display: flex;
      padding-bottom: 0;
      padding-right: 26px; }
      #story .image {
        position: relative;
        width: 50%;
        background-image: url(images/d0f73ba4c1a6f14cfcadcdb62fcbc965.jpg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: right bottom;
        margin-top: 15px; }
      #story .text {
        text-align: left;
        width: 500px;
        padding-bottom: 30px; } }
  @media screen and (min-width: 1200px) and (max-width: 1899px) {
    #story {
      position: relative;
      margin-top: 50px;
      min-height: 350px; }
      #story .text {
        padding-left: 50%;
        width: 100%; }
      #story .image {
        position: absolute;
        bottom: -37px;
        right: 50%;
        left: auto;
        top: auto;
        width: 600px;
        padding-top: 32.8%;
        margin: 0;
        background-image: url(images/ad713e9087d7387b052e093152312f62.png);
        background-size: contain; } }
  @media screen and (min-width: 1900px) {
    #story {
      margin-top: 150px;
      display: block;
      height: 500px; }
      #story .image {
        background-image: url(images/4fe687d0a3d5d1de84b01b39254ae9e8.jpg);
        width: 938px;
        height: 654px;
        position: absolute;
        left: 50%;
        margin-left: -938px;
        background-position: left top;
        margin-top: -148px; }
      #story .text {
        position: absolute;
        margin-top: 40px;
        left: 50%; } }
  #testimonials + #story {
    margin-top: 40px; }
    @media screen and (min-width: 1200px) {
      #testimonials + #story {
        margin-top: 90px; } }

#useful-info {
  float: left;
  width: 100%; }

#opening-hours-contacts {
  float: left;
  width: 100%;
  padding: 55px 35px 0 35px;
  background-color: #202c43;
  color: #b0bfdb; }
  #opening-hours-contacts .container > div {
    margin-bottom: 43px; }
  #opening-hours-contacts h2 {
    margin: 0 0 28px 0;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700; }
  #opening-hours-contacts p {
    margin: 0;
    font-size: 16px;
    line-height: 24px; }
  #opening-hours-contacts a.tel {
    text-decoration: none; }
  #opening-hours-contacts .content {
    padding-left: 35px;
    position: relative; }
    #opening-hours-contacts .content::before {
      content: "";
      position: absolute;
      background-size: contain;
      top: 2px;
      left: 0; }
  #opening-hours-contacts .contact-customer-line .content::before {
    background-image: url(images/32fe2ab85447c94ebd6ad5b659dd1e8c.svg);
    width: 22px;
    height: 22px; }
  #opening-hours-contacts .contact-mail .content::before {
    background-image: url(images/5632084dbe693ed0dcb76087dc426738.svg);
    width: 22px;
    height: 20px; }
  #opening-hours-contacts .main-line {
    color: #ffffff;
    font-size: 22px;
    line-height: 24px;
    font-weight: 400; }
    #opening-hours-contacts .main-line .small {
      font-size: 15px;
      color: #b0bfdb; }
  #opening-hours-contacts .sub-line {
    display: block;
    font-size: 14px;
    line-height: 22px; }
  @media screen and (min-width: 768px) {
    #opening-hours-contacts {
      padding-top: 40px;
      text-align: center; }
      #opening-hours-contacts .container {
        text-align: left;
        display: inline-flex;
        flex-wrap: wrap; }
      #opening-hours-contacts .contact-opening-hours {
        width: 100%;
        flex-grow: 2; }
      #opening-hours-contacts .contact-customer-line,
      #opening-hours-contacts .contact-mail {
        flex-grow: 1; } }
  @media screen and (min-width: 992px) {
    #opening-hours-contacts {
      padding-top: 65px;
      padding-bottom: 30px; }
      #opening-hours-contacts .contact-opening-hours {
        width: 50%;
        max-width: 440px;
        flex-grow: 1; }
      #opening-hours-contacts .container {
        max-width: 1200px; }
        #opening-hours-contacts .container > div:not(:last-child) {
          padding-right: 24px; } }
  @media screen and (min-width: 1200px) {
    #opening-hours-contacts {
      padding-top: 95px;
      padding-bottom: 60px; }
      #opening-hours-contacts .container > div:not(:last-child) {
        padding-right: 64px; } }

#travel-info {
  float: left;
  width: 100%; }
  #travel-info #map {
    height: 50vh; }
    #travel-info #map #map-backup {
      width: 100%;
      height: auto; }
  #travel-info .content {
    padding: 35px 0 0 0; }
    #travel-info .content h2 {
      color: #202c43;
      font-size: 20px;
      margin: 0 0 27px 0; }
    #travel-info .content > div {
      border-bottom: 1px solid #dfe5ef;
      padding: 0 31px 39px 31px; }
    #travel-info .content h3 {
      font-size: 17px;
      font-weight: 400;
      line-height: 24px;
      margin: 0; }
    #travel-info .content p {
      line-height: 28px;
      margin: 7px 0 0 0; }
    #travel-info .content .address {
      font-size: 15px; }
      #travel-info .content .address .first-line {
        display: block;
        font-weight: 500; }
    #travel-info .content .public-transport,
    #travel-info .content .car-transport {
      padding-left: 81px;
      padding-top: 0;
      margin-top: 37px;
      position: relative; }
      #travel-info .content .public-transport::before,
      #travel-info .content .car-transport::before {
        content: "";
        position: absolute;
        top: 0;
        left: 32px; }
    #travel-info .content .public-transport::before {
      background-image: url(images/0f67d5e95dc378ed0f9c590c1b0f215a.svg);
      width: 33px;
      height: 34px; }
    #travel-info .content .car-transport::before {
      background-image: url(images/6226888cace2bdcf5ebe137d3786f519.svg);
      width: 35px;
      height: 29px;
      left: 31px; }
  @media screen and (min-width: 768px) {
    #travel-info #map {
      overflow: hidden;
      position: relative; }
      #travel-info #map #map-backup {
        position: absolute;
        top: 50%;
        margin-top: -50%; }
    #travel-info .content {
      display: flex; }
      #travel-info .content .address {
        width: 40%;
        padding-right: 0; }
      #travel-info .content .transports {
        width: 60%; } }
    @media screen and (min-width: 768px) and (max-width: 991px) {
      #travel-info .content .transports h3 {
        font-weight: 500; }
      #travel-info .content .transports > div:first-child {
        margin-top: 3px; } }
  @media screen and (min-width: 1200px) {
    #travel-info {
      position: relative; }
      #travel-info #map {
        height: 80vh; }
        #travel-info #map #map-backup {
          top: 45%; }
      #travel-info .content {
        position: absolute;
        bottom: 37px;
        left: 50%;
        transform: translate(-50%, 0);
        width: 100%;
        max-width: 1200px;
        background: #ffffff;
        box-shadow: 0 -1px 49px rgba(0, 0, 0, 0.1);
        border-radius: 10px; }
        #travel-info .content .address {
          width: 35%; }
        #travel-info .content .transports {
          width: 100%; }
          #travel-info .content .transports > div {
            float: left;
            width: calc(50% - 20px);
            margin: 0 10px;
            border-left: 1px solid #dfe5ef; } }

#homepage {
  float: left;
  width: 100%; }
  #homepage #hero {
    float: left;
    width: 100%;
    position: relative;
    padding-bottom: 25px; }
    #homepage #hero .slideshow {
      height: 428px;
      height: calc(100vh - 197px);
      max-height: 1000px;
      min-height: 428px; }
    #homepage #hero .dot {
      top: 100%;
      transform: translate(0, -30px); }
    #homepage #hero .item {
      width: 100%;
      overflow: hidden;
      text-align: left; }
      #homepage #hero .item::before {
        position: absolute;
        content: "";
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: transparent;
        background-size: cover;
        background-position: 50% 50%; }
      #homepage #hero .item.b737::before {
        background-image: url(images/95295b0b0034f88241906a4918570612.jpg); }
        @media screen and (max-width: 767px) {
          #homepage #hero .item.b737::before {
            background-position: 35% 50%; } }
      #homepage #hero .item.b737-old::before {
        background-image: url(images/ce750a13e43cc7a26570e1e146c09cb1.jpg); }
      #homepage #hero .item::after {
        position: absolute;
        content: "";
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(to bottom, rgba(32, 44, 67, 0) 0%, rgba(32, 44, 67, 0.9) 100%);
        z-index: 2; }
      #homepage #hero .item .texts {
        position: absolute;
        bottom: 68px;
        width: 100%;
        max-width: 1200px;
        left: 50%;
        transform: translate(-50%, 0);
        color: #ffffff;
        padding: 0 28px;
        z-index: 3; }
        @media screen and (min-width: 1200px) {
          #homepage #hero .item .texts {
            padding: 0; } }
        #homepage #hero .item .texts h2 {
          font-weight: 700;
          font-size: 36px;
          margin: 0;
          line-height: 1.15em; }
        #homepage #hero .item .texts p {
          margin: 15px 0 0 0;
          font-size: 19px;
          font-weight: 400;
          line-height: 25px; }
    @media screen and (min-width: 992px) {
      #homepage #hero .hero-down-arrow {
        bottom: 16px; } }
  #homepage #experiences {
    float: left;
    width: 100%;
    position: relative;
    z-index: 2;
    text-align: center;
    position: relative; }
    #homepage #experiences::before {
      position: absolute;
      content: "";
      top: 100%;
      left: 50%;
      transform: translate(-50%, -1px);
      pointer-events: none;
      display: block;
      background: transparent url(images/b4b2cb59125952176034cd18b7c3bb36.svg) no-repeat 0 0;
      background-size: contain; }
    #homepage #experiences::before {
      width: 118px;
      height: 29px;
      background-position: -1px -1px; }
    #homepage #experiences h2 {
      color: #30569d;
      font-size: 24px;
      font-weight: 700;
      text-align: center;
      margin: 27px 0 35px 0; }
  #homepage #customer-groups {
    background: #30569d;
    float: left;
    width: 100%;
    color: #ffffff;
    position: relative;
    z-index: 1; }
    #homepage #customer-groups .item {
      width: 100%;
      display: flex;
      flex-direction: column-reverse;
      position: relative; }
      #homepage #customer-groups .item .text::before {
        content: "";
        position: absolute;
        top: 70px;
        left: 50%;
        transform: translate(-50%, 0); }
      #homepage #customer-groups .item.professionals .text::before {
        background-image: url(images/5999e7290ef4b862223b68f022eee18a.png);
        width: 150px;
        height: 37px; }
      #homepage #customer-groups .item.companies .text::before {
        background-image: url(images/54ccb671c1675d7f6660159f16c32c8a.png);
        width: 63px;
        height: 28px; }
      #homepage #customer-groups .item .image {
        line-height: 0; }
        #homepage #customer-groups .item .image img {
          width: 100%;
          height: auto; }
      #homepage #customer-groups .item .text {
        padding-top: 145px;
        text-align: center;
        padding-bottom: 49px;
        position: relative; }
      #homepage #customer-groups .item .btn-yellow {
        width: 180px;
        display: inline-block; }
      #homepage #customer-groups .item h2 {
        margin: 0; }
      #homepage #customer-groups .item ul {
        list-style: none;
        margin: 35px 0;
        padding: 0;
        color: #c6d0e2;
        font-size: 16px;
        line-height: 30px; }
    @media screen and (min-width: 992px) {
      #homepage #customer-groups .item {
        display: flex;
        flex-direction: row; }
        #homepage #customer-groups .item:nth-child(even) {
          flex-direction: row-reverse; }
        #homepage #customer-groups .item .image,
        #homepage #customer-groups .item .text {
          width: 50%; }
        #homepage #customer-groups .item .image img {
          display: none; }
        #homepage #customer-groups .item.professionals .image {
          background-image: url(images/1002dd6a1498ca8177f9194212d93546.jpg);
          background-size: cover;
          background-position: right center; }
        #homepage #customer-groups .item.companies .image {
          background-image: url(images/7d558ddaaafa0f864306ed89782ed9b2.jpg);
          background-size: cover;
          background-position: left center; } }
  #homepage .mid-navigation {
    float: left;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #dfe5ef;
    margin-top: -15px;
    position: sticky;
    top: 0;
    background: white;
    z-index: 50; }
    #homepage .mid-navigation ul {
      display: inline-flex; }
      #homepage .mid-navigation ul a {
        padding-left: 2em;
        padding-right: 2em; }
    @media screen and (max-width: 991px) {
      #homepage .mid-navigation {
        display: none; } }
  #homepage.professionals-top .mid-navigation {
    margin-top: 0; }

.simulator-list .type-selector-container {
  width: 100%;
  border-bottom: 1px solid #e3e8f1;
  text-align: center; }
  .simulator-list .type-selector-container .type-selector {
    display: inline-flex; }
    .simulator-list .type-selector-container .type-selector a {
      padding-left: 20px;
      padding-right: 20px; }
      @media screen and (max-width: 767px) {
        .simulator-list .type-selector-container .type-selector a {
          padding-left: 0;
          padding-right: 0; } }

.simulator-list .introductory-explanation {
  background-color: #f1f4f9;
  padding: 45px 26px 55px 26px;
  text-align: center;
  position: relative; }
  .simulator-list .introductory-explanation p {
    display: inline-block;
    margin: 0;
    color: #2c3a55;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    max-width: 750px;
    text-align: center; }
  .simulator-list .introductory-explanation .hero-down-arrow:not(.fix-to-bottom) {
    bottom: -25px; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.simulator-list .offering-list {
  list-style-type: none;
  float: left;
  width: 100%;
  margin: 10px 0 0 0;
  padding: 0; }
  .simulator-list .offering-list li {
    float: left;
    width: 100%;
    background: #ffffff linear-gradient(to top, #f1f4f9 0%, #ffffff 100%);
    margin-top: 56px; }
    .simulator-list .offering-list li .textual {
      padding: 0 14px; }
    .simulator-list .offering-list li .gallery img {
      width: 100%; }
    .simulator-list .offering-list li h2 {
      margin: 34px 0 0 0;
      color: #30569d;
      font-weight: 700; }
      .simulator-list .offering-list li h2 a {
        color: #30569d;
        text-decoration: none; }
        .simulator-list .offering-list li h2 a:hover {
          color: #182b4f; }
      .simulator-list .offering-list li h2 .smaller {
        text-transform: uppercase;
        font-size: 20px;
        font-weight: 400;
        display: block; }
    .simulator-list .offering-list li .introduction {
      color: #2c3a55;
      font-size: 15px;
      line-height: 24px;
      margin: 30px 0; }
      .simulator-list .offering-list li .introduction .more {
        margin-top: -10px; }
    .simulator-list .offering-list li .pricing-and-buy {
      width: 100%;
      margin-bottom: 32px;
      display: flex;
      flex-wrap: wrap; }
      .simulator-list .offering-list li .pricing-and-buy .btn-yellow {
        width: 100%; }
      .simulator-list .offering-list li .pricing-and-buy .note,
      .simulator-list .offering-list li .pricing-and-buy .price {
        margin-top: 25px;
        width: 50%;
        flex-grow: 1; }
      .simulator-list .offering-list li .pricing-and-buy .note {
        color: #2c3a55;
        font-size: 12px;
        font-weight: 400;
        padding: 12px 24px 12px 0; }
      .simulator-list .offering-list li .pricing-and-buy .price {
        border-left: 1px solid #dfe5ef;
        padding: 12px 0 12px 24px;
        font-size: 18px;
        color: #30569d; }
        .simulator-list .offering-list li .pricing-and-buy .price .title {
          color: #2c3a55;
          font-size: 14px;
          line-height: 18px;
          font-weight: 400;
          display: block; }
        .simulator-list .offering-list li .pricing-and-buy .price .price-from-nondiscounted {
          font-size: 12px;
          color: #30569d;
          opacity: 0.8;
          display: block;
          text-align: left;
          padding-bottom: 2px;
          padding-top: 2px;
          text-decoration: line-through; }
        .simulator-list .offering-list li .pricing-and-buy .price .price-from {
          font-weight: 400;
          line-height: 19px; }
        .simulator-list .offering-list li .pricing-and-buy .price .price-value {
          font-weight: 700; }
  @media screen and (min-width: 768px) {
    .simulator-list .offering-list li .pricing-and-buy {
      flex-wrap: nowrap;
      align-items: center; }
      .simulator-list .offering-list li .pricing-and-buy .btn-yellow {
        width: auto;
        float: left;
        padding: 0 29px;
        white-space: nowrap; }
      .simulator-list .offering-list li .pricing-and-buy .note {
        padding: 7px 15px 0 15px;
        width: 100%; }
      .simulator-list .offering-list li .pricing-and-buy .note,
      .simulator-list .offering-list li .pricing-and-buy .price {
        margin-top: 0; }
      .simulator-list .offering-list li .pricing-and-buy .price {
        width: auto;
        white-space: nowrap; } }
  @media screen and (min-width: 992px) {
    .simulator-list .offering-list li {
      display: flex;
      align-items: flex-start; }
      .simulator-list .offering-list li .gallery {
        padding-bottom: 10px; }
      .simulator-list .offering-list li .gallery,
      .simulator-list .offering-list li .textual {
        width: 50%; }
      .simulator-list .offering-list li .textual {
        padding-left: 30px;
        max-width: 700px; }
        .simulator-list .offering-list li .textual h2 {
          margin-top: 0; }
      .simulator-list .offering-list li .pricing-and-buy .note {
        width: 100%; } }
  @media screen and (min-width: 992px) and (max-width: 1199px) {
    .simulator-list .offering-list li .pricing-and-buy {
      position: relative;
      padding-bottom: 20px; }
      .simulator-list .offering-list li .pricing-and-buy .note {
        position: absolute;
        padding-left: 0;
        bottom: 0;
        width: auto; }
      .simulator-list .offering-list li .pricing-and-buy .price {
        margin-left: 30px; } }

.simulator-list .simulator-list-branching {
  margin-top: 20px; }

.simulator-detail .opening-image-and-testimonial {
  position: relative; }

.simulator-detail .testimonial-container {
  padding: 12px 12px;
  z-index: 50; }
  @media screen and (min-width: 768px) {
    .simulator-detail .testimonial-container {
      text-align: center; }
      .simulator-detail .testimonial-container .testimonial {
        text-align: left;
        display: inline-flex;
        max-width: 350px; } }
  @media screen and (min-width: 992px) {
    .simulator-detail .testimonial-container {
      position: absolute;
      top: 50%;
      transform: translate(0, -50%);
      right: 50px; }
      .simulator-detail .testimonial-container .testimonial {
        background: #ffffff; } }

.simulator-detail .tabs > input[name="inp-tabs"] {
  display: none; }

@media screen and (max-width: 991px) {
  .simulator-detail .tabs .tab-header {
    display: none; } }

@media screen and (min-width: 992px) {
  .simulator-detail .tabs .tab {
    display: none; }
    .simulator-detail .tabs .tab > h2 {
      display: none; }
  .simulator-detail .tabs input#inp-tab--1:checked ~ .tab-container .tab[data-tab='inp-tab--1'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab--1:checked ~ .tab-header-container label[for='inp-tab--1'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab--1:checked ~ .tab-header-container label[for='inp-tab--1']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-0:checked ~ .tab-container .tab[data-tab='inp-tab-0'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-0:checked ~ .tab-header-container label[for='inp-tab-0'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-0:checked ~ .tab-header-container label[for='inp-tab-0']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-1:checked ~ .tab-container .tab[data-tab='inp-tab-1'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-1:checked ~ .tab-header-container label[for='inp-tab-1'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-1:checked ~ .tab-header-container label[for='inp-tab-1']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-2:checked ~ .tab-container .tab[data-tab='inp-tab-2'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-2:checked ~ .tab-header-container label[for='inp-tab-2'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-2:checked ~ .tab-header-container label[for='inp-tab-2']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-3:checked ~ .tab-container .tab[data-tab='inp-tab-3'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-3:checked ~ .tab-header-container label[for='inp-tab-3'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-3:checked ~ .tab-header-container label[for='inp-tab-3']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-4:checked ~ .tab-container .tab[data-tab='inp-tab-4'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-4:checked ~ .tab-header-container label[for='inp-tab-4'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-4:checked ~ .tab-header-container label[for='inp-tab-4']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-5:checked ~ .tab-container .tab[data-tab='inp-tab-5'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-5:checked ~ .tab-header-container label[for='inp-tab-5'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-5:checked ~ .tab-header-container label[for='inp-tab-5']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-6:checked ~ .tab-container .tab[data-tab='inp-tab-6'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-6:checked ~ .tab-header-container label[for='inp-tab-6'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-6:checked ~ .tab-header-container label[for='inp-tab-6']::before {
      content: ''; }
  .simulator-detail .tabs input#inp-tab-7:checked ~ .tab-container .tab[data-tab='inp-tab-7'] {
    display: block; }
  .simulator-detail .tabs input#inp-tab-7:checked ~ .tab-header-container label[for='inp-tab-7'] {
    font-weight: 700; }
    .simulator-detail .tabs input#inp-tab-7:checked ~ .tab-header-container label[for='inp-tab-7']::before {
      content: ''; } }

.simulator-detail .tabs {
  background-color: #ffffff;
  background: #ffffff linear-gradient(to top, #f1f4f9 0, #ffffff 150px);
  padding-bottom: 20px;
  position: relative; }
  .simulator-detail .tabs .tab-header-container {
    background: #ffffff;
    border-bottom: 1px solid #dfe5ef;
    border-top: 1px solid #dfe5ef;
    position: sticky;
    top: 0;
    z-index: 100; }
    .simulator-detail .tabs .tab-header-container label {
      padding: 25px 26px; }
  .simulator-detail .tabs .tab {
    padding-bottom: 15px; }
    .simulator-detail .tabs .tab iframe {
      max-width: 100%;
      margin-left: 50%;
      margin-top: 2em;
      transform: translate(-50%, 0); }
  .simulator-detail .tabs .tab ~ .tab .more .pre::before, .simulator-detail .tabs .tab ~ .tab .more .post::before {
    display: none; }
  .simulator-detail .tabs .faq-content {
    background: transparent; }
    .simulator-detail .tabs .faq-content .items-container {
      margin-top: 2em; }
  @media screen and (max-width: 991px) {
    .simulator-detail .tabs {
      background: #f1f4f9; } }
  @media screen and (min-width: 992px) {
    .simulator-detail .tabs {
      text-align: center; }
      .simulator-detail .tabs .tab-header-container-2 {
        display: inline-block;
        width: 100%;
        max-width: 1200px;
        text-align: left; }
      .simulator-detail .tabs .tab-header {
        display: inline-flex;
        text-align: left; }
      .simulator-detail .tabs .tab-container {
        display: inline-flex;
        justify-content: center;
        text-align: center;
        width: 100%; }
      .simulator-detail .tabs .tab {
        order: 0;
        max-width: 1200px;
        text-align: left;
        flex-grow: 2; } }

.simulator-detail .detail-text h2.section-title {
  margin: 0;
  color: #30569d;
  font-size: 16px;
  font-weight: 500;
  padding: 20px 26px;
  border-bottom: 1px solid #dfe5ef;
  background: #ffffff; }

.simulator-detail .detail-text .text p {
  color: #2c3a55;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px; }

.simulator-detail .detail-text .text > p {
  padding: 0 26px; }

.simulator-detail .detail-text .text h3 {
  color: #30569d;
  font-size: 16px;
  padding: 0 26px; }

.simulator-detail .detail-text .more {
  margin-top: -7px; }

.simulator-detail .about-experience-container {
  background: #f1f4f9;
  text-align: center;
  padding-bottom: 40px; }

.simulator-detail .about-experience {
  display: inline-flex;
  max-width: 1200px;
  text-align: left; }
  .simulator-detail .about-experience h2.section-title {
    border-bottom: 0;
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 0;
    margin-top: 10px;
    background: transparent; }
  @media screen and (min-width: 992px) {
    .simulator-detail .about-experience .experience-list-container {
      order: 1;
      flex-grow: 5; } }
  @media screen and (min-width: 992px) {
    .simulator-detail .about-experience .experience-list-container td {
      white-space: nowrap; } }
  @media screen and (max-width: 991px) {
    .simulator-detail .about-experience {
      flex-direction: column; } }

.simulator-detail .experience-list-container {
  margin-top: 40px;
  padding: 0 12px; }
  .simulator-detail .experience-list-container .discount-expiration {
    margin-top: -20px;
    text-align: center; }
    .simulator-detail .experience-list-container .discount-expiration b {
      color: #d94e11; }
  @media screen and (max-width: 991px) {
    .simulator-detail .experience-list-container {
      margin-top: 35px; } }

.simulator-detail .experience-list {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #dfe5ef;
  margin-bottom: 38px; }
  .simulator-detail .experience-list.loading, .simulator-detail .experience-list.loading * {
    cursor: wait; }
  .simulator-detail .experience-list.loading .offer-list {
    opacity: 0.5; }
  .simulator-detail .experience-list h3 {
    margin: 25px 0 10px 0;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    color: #30569d; }
  .simulator-detail .experience-list .flat-button-list {
    width: 100%; }
    .simulator-detail .experience-list .flat-button-list a {
      text-align: left;
      padding-left: 37px;
      position: relative; }
      .simulator-detail .experience-list .flat-button-list a .ico {
        display: inline-block;
        position: absolute;
        left: 8px;
        top: 50%;
        margin-top: -11px; }
      .simulator-detail .experience-list .flat-button-list a.voucher .ico {
        background-image: url(images/5de2deec552388b793142f167dc84b69.svg);
        width: 22px;
        height: 18px; }
      .simulator-detail .experience-list .flat-button-list a.last-minute .ico {
        background-image: url(images/64c2dc6872a90814d7cc4df96ad15357.svg);
        width: 18px;
        height: 18px; }
  .simulator-detail .experience-list .last-minute-note,
  .simulator-detail .experience-list .last-minute-no-results {
    background: #f8fafd;
    padding: 18px 18px 0 18px;
    font-size: 14px;
    color: #202c43;
    text-align: center; }
  .simulator-detail .experience-list .last-minute-no-results {
    font-size: 15px;
    padding-bottom: 15px; }
  .simulator-detail .experience-list .offer-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
    border-collapse: collapse; }
    .simulator-detail .experience-list .offer-list tr {
      padding: 18px;
      background-color: #f8fafd;
      color: #202c43;
      border-bottom: 1px solid #dfe5ef;
      position: relative; }
      .simulator-detail .experience-list .offer-list tr.discounted {
        background: #ffffff; }
    .simulator-detail .experience-list .offer-list tbody tr:last-child {
      border-bottom: 0; }
    .simulator-detail .experience-list .offer-list h4 {
      margin: 0;
      font-size: 15px;
      font-weight: 700; }
      .simulator-detail .experience-list .offer-list h4 .own-line {
        font-weight: 400;
        font-size: 11px; }
    .simulator-detail .experience-list .offer-list h5 {
      margin: 0;
      font-size: 11px;
      font-weight: 400; }
    .simulator-detail .experience-list .offer-list .time, .simulator-detail .experience-list .offer-list .price {
      margin-top: 10px;
      font-size: 15px; }
    .simulator-detail .experience-list .offer-list .price {
      position: relative; }
      .simulator-detail .experience-list .offer-list .price .price-from-nondiscounted {
        font-size: 12px;
        color: #30569d;
        opacity: 0.6;
        display: block;
        text-align: left;
        padding-bottom: 2px;
        text-decoration: line-through; }
      .simulator-detail .experience-list .offer-list .price .price-from {
        font-weight: 400;
        font-size: 14px; }
      .simulator-detail .experience-list .offer-list .price .price-value {
        font-weight: 700;
        color: #30569d; }
  .simulator-detail .experience-list .last-minute-button {
    display: flex;
    align-items: center;
    padding: 0 18px; }
    .simulator-detail .experience-list .last-minute-button p {
      font-size: 0.8rem;
      color: #2c3a55;
      padding-right: 18px; }
  @media screen and (max-width: 767px) {
    .simulator-detail .experience-list .offer-list thead {
      display: none; }
    .simulator-detail .experience-list .offer-list tr {
      display: block; }
    .simulator-detail .experience-list .offer-list td {
      display: block;
      width: 100%; }
    .simulator-detail .experience-list .offer-list .price .price-from-nondiscounted {
      padding-top: 4px; }
    .simulator-detail .experience-list .offer-list .btn-yellow {
      position: absolute;
      bottom: 18px;
      right: 18px; }
    .simulator-detail .experience-list .offer-list .meta label {
      position: absolute;
      top: 26px;
      right: 18px; } }
  @media screen and (min-width: 992px) and (max-width: 1199px) {
    .simulator-detail .experience-list .offer-list {
      width: 360px; } }
  @media screen and (min-width: 768px) {
    .simulator-detail .experience-list .flat-button-list li {
      width: 50%; }
    .simulator-detail .experience-list .flat-button-list a {
      text-align: center;
      width: 100%;
      padding-left: 0; }
      .simulator-detail .experience-list .flat-button-list a .ico {
        position: relative;
        top: 3px;
        margin-right: 15px; }
    .simulator-detail .experience-list .last-minute-note {
      padding-left: 35px;
      padding-right: 35px;
      padding-bottom: 5px;
      font-size: 13px; }
    .simulator-detail .experience-list .offer-list {
      position: relative;
      border-collapse: collapse; }
      .simulator-detail .experience-list .offer-list td, .simulator-detail .experience-list .offer-list th {
        padding: 19px 5px; }
        .simulator-detail .experience-list .offer-list td:first-child, .simulator-detail .experience-list .offer-list th:first-child {
          padding-left: 35px; }
        .simulator-detail .experience-list .offer-list td:last-child, .simulator-detail .experience-list .offer-list th:last-child {
          padding-right: 35px; }
      .simulator-detail .experience-list .offer-list th {
        color: #202c43;
        font-size: 15px;
        font-weight: 400;
        text-align: left; }
      .simulator-detail .experience-list .offer-list td.name .own-line,
      .simulator-detail .experience-list .offer-list .time h5,
      .simulator-detail .experience-list .offer-list .price h5 {
        display: none; }
      .simulator-detail .experience-list .offer-list .meta {
        text-align: right;
        white-space: nowrap; }
        .simulator-detail .experience-list .offer-list .meta .toggle-for-more {
          display: inline-block;
          width: 70px; }
        .simulator-detail .experience-list .offer-list .meta p {
          white-space: normal;
          position: absolute;
          left: 0;
          right: 0;
          padding: 0 35px;
          padding-bottom: 18px;
          background-color: #f8fafd;
          z-index: 50;
          text-align: left;
          border-bottom-left-radius: 10px;
          border-bottom-right-radius: 10px; }
      .simulator-detail .experience-list .offer-list .btn-yellow {
        display: inline-block;
        position: relative;
        top: -2px; } }

.simulator-detail .promo-crosslink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -10px;
  margin-bottom: 38px; }
  @media screen and (max-width: 767px) {
    .simulator-detail .promo-crosslink {
      flex-direction: column; } }
  .simulator-detail .promo-crosslink h3 {
    margin: 0;
    text-align: left;
    font-weight: 700;
    font-size: 15px;
    color: #30569d; }
    @media screen and (max-width: 767px) {
      .simulator-detail .promo-crosslink h3 {
        text-align: center; } }
    @media screen and (max-width: 767px) {
      .simulator-detail .promo-crosslink h3 {
        margin-bottom: 10px; } }
  .simulator-detail .promo-crosslink .btn-yellow {
    white-space: nowrap; }
    @media screen and (max-width: 767px) {
      .simulator-detail .promo-crosslink .btn-yellow {
        margin-top: 10px; } }

.simulator-detail .tab.tick-tock {
  max-width: none; }

.simulator-detail .tick-tock {
  width: 100%; }
  .simulator-detail .tick-tock .item {
    display: flex;
    flex-direction: column-reverse;
    background: #f1f4f9; }
  .simulator-detail .tick-tock .item-full {
    text-align: center;
    line-height: 0;
    margin: 25px 0; }
    .simulator-detail .tick-tock .item-full img {
      max-width: 100%; }
  .simulator-detail .tick-tock .textual {
    padding: 26px; }
  .simulator-detail .tick-tock .image {
    line-height: 0; }
    .simulator-detail .tick-tock .image img {
      width: 100%; }
  .simulator-detail .tick-tock h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #30569d;
    line-height: 25px;
    margin-bottom: 1.5em; }
  .simulator-detail .tick-tock p {
    margin: 1em 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: #2c3a55; }
    .simulator-detail .tick-tock p a:only-child {
      display: inline-block; }
  @media screen and (min-width: 992px) {
    .simulator-detail .tick-tock .image {
      overflow: hidden;
      position: relative; }
      .simulator-detail .tick-tock .image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .simulator-detail .tick-tock .item {
      display: flex;
      background: none;
      flex-direction: row; }
      .simulator-detail .tick-tock .item:nth-child(odd) {
        flex-direction: row-reverse; }
      .simulator-detail .tick-tock .item:nth-child(odd) .textual {
        padding-right: 40px; }
      .simulator-detail .tick-tock .item:nth-child(even) .textual {
        padding-left: 40px; }
      .simulator-detail .tick-tock .item .image,
      .simulator-detail .tick-tock .item .textual {
        width: 50%; }
      .simulator-detail .tick-tock .item .textual {
        padding-top: 40px;
        padding-bottom: 40px;
        max-width: 600px; } }
  @media screen and (min-width: 1200px) {
    .simulator-detail .tick-tock .item:nth-child(odd) .textual {
      padding-right: 50px; }
    .simulator-detail .tick-tock .item:nth-child(even) .textual {
      padding-left: 50px; } }
  @media screen and (min-width: 1800px) {
    .simulator-detail .tick-tock .item:nth-child(odd) .textual {
      padding-right: 100px; }
    .simulator-detail .tick-tock .item:nth-child(even) .textual {
      padding-left: 100px; } }

.simulator-detail .faq ul {
  padding: 0 26px;
  list-style-type: none; }
  .simulator-detail .faq ul li {
    margin-top: 26px; }

.simulator-detail .instructors {
  background: transparent; }

.simulator-detail .opening-image {
  margin-bottom: -12px; }
  .simulator-detail .opening-image img {
    width: 100%; }

@media screen and (min-width: 992px) {
  .simulator-detail h1 .own-line {
    display: inline; } }

.order {
  text-align: center; }
  .order p.description {
    text-align: center;
    color: #2c3a55;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    margin: 10px 0;
    padding: 0 26px;
    max-width: 1200px;
    display: inline-block; }

.extend-validity form {
  padding-bottom: 80px; }
  .extend-validity form .btn-yellow {
    padding: 0 14px;
    margin-top: 0;
    min-width: 200px; }

.order-review .voucher {
  position: relative; }
  .order-review .voucher strong a {
    text-decoration: none;
    color: #30569d; }
  .order-review .voucher .download {
    display: block;
    font-size: 14px;
    line-height: 18px; }

.order-review .qr-payment {
  margin-top: 30px;
  text-align: center; }
  .order-review .qr-payment .description {
    clear: both;
    display: inline-block;
    max-width: 320px;
    line-height: 1.4em; }

.simulator-detail + .order .order-form, .simulator-detail + .order .reservation-form {
  float: left;
  margin-top: 0; }

.order-form, .reservation-form {
  width: 100%;
  background-color: #f1f4f9;
  padding: 35px 12px 0 12px; }
  .order-form .order-summary, .reservation-form .order-summary {
    background-color: #2c3a55;
    border-radius: 5px;
    float: left;
    width: 100%;
    margin-bottom: 23px;
    color: #ffffff;
    overflow: hidden;
    padding-top: 32px; }
    .order-form .order-summary .illustrative-pic, .reservation-form .order-summary .illustrative-pic {
      position: relative;
      max-height: 111px;
      overflow: hidden;
      padding-right: 19px;
      width: 100%; }
      .order-form .order-summary .illustrative-pic .pic, .reservation-form .order-summary .illustrative-pic .pic {
        background: url(images/042f4d8e989dc34046a712568e022619.jpg) no-repeat left top;
        background-size: contain;
        width: 100%;
        padding-top: 24%;
        max-width: 460px; }
    .order-form .order-summary .item, .reservation-form .order-summary .item {
      width: 100%;
      padding: 30px 19px;
      display: flex;
      border-top: 1px solid #3c4b69; }
      .order-form .order-summary .item.main, .reservation-form .order-summary .item.main {
        border-top: 0; }
        .order-form .order-summary .item.main .textual, .reservation-form .order-summary .item.main .textual {
          width: 100%; }
      .order-form .order-summary .item .textual > *, .reservation-form .order-summary .item .textual > * {
        display: block; }
      .order-form .order-summary .item strong, .reservation-form .order-summary .item strong {
        font-size: 15px; }
      .order-form .order-summary .item .variant, .reservation-form .order-summary .item .variant {
        font-size: 15px; }
      .order-form .order-summary .item .smallprint, .reservation-form .order-summary .item .smallprint {
        margin-top: 1em;
        font-size: 13px;
        color: #95a5c1; }
      .order-form .order-summary .item .about-experience, .reservation-form .order-summary .item .about-experience {
        display: none; }
      .order-form .order-summary .item .about-experience-checkbox, .reservation-form .order-summary .item .about-experience-checkbox {
        display: none; }
      .order-form .order-summary .item .about-experience-checkbox:checked ~ .textual .about-experience, .reservation-form .order-summary .item .about-experience-checkbox:checked ~ .textual .about-experience {
        display: block; }
      .order-form .order-summary .item .about-experience-checkbox:checked ~ .more-info, .reservation-form .order-summary .item .about-experience-checkbox:checked ~ .more-info {
        display: none; }
      .order-form .order-summary .item .price, .reservation-form .order-summary .item .price {
        text-align: right;
        font-size: 16px;
        white-space: nowrap;
        font-weight: bold;
        padding-left: 1em;
        flex-grow: 1; }
      .order-form .order-summary .item.totals, .reservation-form .order-summary .item.totals {
        background-color: #30569d;
        align-items: baseline;
        position: relative; }
        .order-form .order-summary .item.totals::after, .reservation-form .order-summary .item.totals::after {
          content: '';
          position: absolute;
          top: -1px;
          right: 40px;
          width: 0;
          height: 0;
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 8px solid #2c3a55; }
        .order-form .order-summary .item.totals .textual, .reservation-form .order-summary .item.totals .textual {
          font-size: 15px;
          line-height: 20px; }
        .order-form .order-summary .item.totals .price, .reservation-form .order-summary .item.totals .price {
          font-size: 20px; }
    .order-form .order-summary.loading > *, .reservation-form .order-summary.loading > * {
      opacity: 0.2; }
    @media screen and (min-width: 992px) {
      .order-form .order-summary, .reservation-form .order-summary {
        position: absolute;
        top: 0;
        right: 0;
        width: 388px; }
        @supports (position: sticky) or (position: -webkit-sticky) {
          .order-form .order-summary, .reservation-form .order-summary {
            float: right;
            position: sticky;
            position: -webkit-sticky;
            top: 35px;
            margin-bottom: 62px;
            right: auto;
            left: 100%;
            z-index: 2; } }
        .order-form .order-summary .item.totals .textual, .reservation-form .order-summary .item.totals .textual {
          font-size: 16px; } }
  @media screen and (max-width: 991px) {
    .order-form, .reservation-form {
      float: left; } }
  .order-form form, .reservation-form form {
    margin: 0; }
  .order-form fieldset, .reservation-form fieldset {
    background: white; }
  .order-form fieldset .item, .reservation-form fieldset .item {
    padding: 10px 19px;
    float: left;
    width: 100%; }
    .order-form fieldset .item:first-child, .reservation-form fieldset .item:first-child {
      padding-top: 15px; }
    .order-form fieldset .item .item, .reservation-form fieldset .item .item {
      padding-left: 0;
      padding-right: 0; }
      .order-form fieldset .item .item:first-child, .reservation-form fieldset .item .item:first-child {
        margin-top: 0;
        padding-top: 0; }
    .order-form fieldset .item .label, .reservation-form fieldset .item .label {
      padding-left: 30px; }
    .order-form fieldset .item + .item, .reservation-form fieldset .item + .item {
      padding-top: 0; }
    .order-form fieldset .item.is-checkbox, .reservation-form fieldset .item.is-checkbox {
      display: flex;
      position: relative;
      border-top: 1px solid #dfe5ef;
      padding: 10px 19px; }
      .order-form fieldset .item.is-checkbox:first-of-type, .reservation-form fieldset .item.is-checkbox:first-of-type {
        border-top: 0; }
      .order-form fieldset .item.is-checkbox .item-checkbox, .reservation-form fieldset .item.is-checkbox .item-checkbox {
        position: absolute;
        left: 19px;
        top: 10px; }
        .order-form fieldset .item.is-checkbox .item-checkbox:checked ~ .label label, .reservation-form fieldset .item.is-checkbox .item-checkbox:checked ~ .label label {
          font-weight: 700; }
      .order-form fieldset .item.is-checkbox .item-number, .reservation-form fieldset .item.is-checkbox .item-number {
        width: 60px; }
        .order-form fieldset .item.is-checkbox .item-number ~ .label, .reservation-form fieldset .item.is-checkbox .item-number ~ .label {
          padding-top: 4px;
          padding-left: 1em; }
      .order-form fieldset .item.is-checkbox .description, .reservation-form fieldset .item.is-checkbox .description {
        color: #2c3a55;
        line-height: 19px; }
      .order-form fieldset .item.is-checkbox.has-error, .reservation-form fieldset .item.is-checkbox.has-error {
        padding-bottom: 1.6em;
        background: #fef0f0;
        border-color: #f50a0a; }
        .order-form fieldset .item.is-checkbox.has-error .error, .reservation-form fieldset .item.is-checkbox.has-error .error {
          position: absolute;
          padding-left: 26px;
          left: 23px;
          top: 2.3em; }
    .order-form fieldset .item.radio-buttonlist > label, .reservation-form fieldset .item.radio-buttonlist > label {
      margin-right: 0.5em; }
    .order-form fieldset .item.radio-buttonlist .button-list, .reservation-form fieldset .item.radio-buttonlist .button-list {
      display: inline-flex;
      margin-top: 0.25em;
      border-left: 1px solid #dfe5ef;
      border-right: 1px solid #dfe5ef;
      background: #f1f4f9;
      border-radius: 4px;
      width: 100%; }
    .order-form fieldset .item.radio-buttonlist input, .reservation-form fieldset .item.radio-buttonlist input {
      position: absolute;
      left: -5000px; }
      .order-form fieldset .item.radio-buttonlist input + label, .reservation-form fieldset .item.radio-buttonlist input + label {
        border: 1px solid #dfe5ef;
        border-left: 0;
        padding: 2px 5px;
        cursor: pointer;
        flex-grow: 1;
        display: block; }
        .order-form fieldset .item.radio-buttonlist input + label:hover, .reservation-form fieldset .item.radio-buttonlist input + label:hover {
          background-color: #cdd8ea;
          border-color: #cdd8ea; }
        .order-form fieldset .item.radio-buttonlist input + label:last-child, .reservation-form fieldset .item.radio-buttonlist input + label:last-child {
          border-right: 0; }
      .order-form fieldset .item.radio-buttonlist input:checked + label, .reservation-form fieldset .item.radio-buttonlist input:checked + label {
        background-color: #30569d;
        border-color: #dfe5ef;
        color: #ffffff; }
    .order-form fieldset .item.has-error input[type='text'], .reservation-form fieldset .item.has-error input[type='text'],
    .order-form fieldset .item.has-error input[type='email'],
    .reservation-form fieldset .item.has-error input[type='email'],
    .order-form fieldset .item.has-error input[type='tel'],
    .reservation-form fieldset .item.has-error input[type='tel'],
    .order-form fieldset .item.has-error input[type='number'],
    .reservation-form fieldset .item.has-error input[type='number'] {
      border-bottom-color: #f50a0a; }
  .order-form label, .reservation-form label,
  .order-form p,
  .reservation-form p {
    font-size: 13px;
    line-height: 19px;
    color: #2c3a55; }
  .order-form .change-term-warning, .reservation-form .change-term-warning {
    font-size: 11px;
    line-height: 15px;
    margin-top: 3px;
    color: #2c3a55; }
  .order-form .change-term-warning-valid, .reservation-form .change-term-warning-valid {
    display: none;
    color: #310202;
    font-size: 13px; }
  .order-form input:checked + .label .change-term-warning, .reservation-form input:checked + .label .change-term-warning {
    display: none; }
  .order-form input:checked + .label .change-term-warning-valid, .reservation-form input:checked + .label .change-term-warning-valid {
    display: block; }
  .order-form input[type='text'], .reservation-form input[type='text'],
  .order-form input[type='tel'],
  .reservation-form input[type='tel'],
  .order-form input[type='email'],
  .reservation-form input[type='email'],
  .order-form input[type='number'],
  .reservation-form input[type='number'] {
    border: 1px solid #dfe5ef;
    background-color: #ffffff;
    padding: 5px 10px;
    width: 100%; }
  .order-form label + input[type='text'], .reservation-form label + input[type='text'],
  .order-form label + input[type='tel'],
  .reservation-form label + input[type='tel'],
  .order-form label + input[type='email'],
  .reservation-form label + input[type='email'],
  .order-form label + input[type='number'],
  .reservation-form label + input[type='number'] {
    margin-top: 5px; }
  .order-form .not-required, .reservation-form .not-required {
    color: #7486a7; }
  .order-form fieldset .price, .reservation-form fieldset .price {
    white-space: nowrap;
    font-size: 14px;
    font-weight: 700;
    padding-left: 15px;
    padding-right: 20px;
    flex-grow: 1;
    text-align: right; }
  .order-form input.showable-toggle ~ .showable, .reservation-form input.showable-toggle ~ .showable {
    display: none;
    margin-top: 10px; }
  .order-form input.showable-toggle:checked + label, .reservation-form input.showable-toggle:checked + label {
    font-weight: bold; }
  .order-form input.showable-toggle:checked ~ .showable, .reservation-form input.showable-toggle:checked ~ .showable {
    display: block;
    animation: fadeIn 0.8s; }
  .order-form .recalculate-upsell-price, .reservation-form .recalculate-upsell-price {
    float: left;
    width: 100%;
    text-align: right;
    padding: 12px 19px; }
    .order-form .recalculate-upsell-price .btn-yellow, .reservation-form .recalculate-upsell-price .btn-yellow {
      padding: 0 15px;
      display: inline-block; }
  .order-form hr, .reservation-form hr {
    border: 0;
    background: #dfe5ef;
    height: 1px;
    width: 100%;
    float: left;
    margin: 11px 0; }
  .order-form .ending, .reservation-form .ending {
    float: left;
    padding-bottom: 62px;
    width: 100%; }
    .order-form .ending .item, .reservation-form .ending .item {
      font-size: 14px;
      color: #2c3a55;
      margin-top: 16px;
      padding-left: 28px;
      position: relative; }
      .order-form .ending .item input[type='checkbox'], .reservation-form .ending .item input[type='checkbox'] {
        position: absolute;
        left: 0;
        margin-right: 8px; }
      .order-form .ending .item.has-error, .reservation-form .ending .item.has-error {
        border: 1px solid #f50a0a;
        background: #fef0f0;
        padding-top: 10px;
        border-radius: 5px; }
        .order-form .ending .item.has-error .error, .reservation-form .ending .item.has-error .error {
          display: block;
          color: #310202;
          padding-right: 5px; }
    .order-form .ending .btn-yellow, .reservation-form .ending .btn-yellow {
      margin-top: 32px;
      width: 100%; }
  .order-form .toggle-for-more-label, .reservation-form .toggle-for-more-label {
    width: auto;
    position: absolute;
    top: 10px;
    right: 19px; }
    .order-form .toggle-for-more-label::after, .reservation-form .toggle-for-more-label::after {
      font-size: 20px;
      top: 9px; }
    .order-form .toggle-for-more-label span, .reservation-form .toggle-for-more-label span {
      display: none; }
  .order-form .toggle-for-more-checkbox:checked ~ .label .toggle-for-more-target, .reservation-form .toggle-for-more-checkbox:checked ~ .label .toggle-for-more-target {
    display: block;
    animation: fadeIn 0.8s; }
  .order-form .item.credit-card label, .reservation-form .item.credit-card label {
    background-image: url(images/64bc4845af574890fba695967a9be239.png);
    background-position: right center;
    background-repeat: no-repeat;
    padding-right: 130px; }
  @media screen and (max-width: 767px) {
    .order-form .item .description, .reservation-form .item .description {
      display: block;
      font-size: 12px; } }
  @media screen and (min-width: 768px) {
    .order-form .toggle-for-more-label, .reservation-form .toggle-for-more-label {
      width: 70px;
      height: 18px; }
      .order-form .toggle-for-more-label span, .reservation-form .toggle-for-more-label span {
        display: block; }
    .order-form fieldset .item .price, .reservation-form fieldset .item .price {
      padding-right: 70px; }
    .order-form .ending, .reservation-form .ending {
      display: flex;
      align-items: center; }
      .order-form .ending .checkboxes, .reservation-form .ending .checkboxes {
        flex-grow: 1;
        padding-right: 19px; }
      .order-form .ending .btn-yellow, .reservation-form .ending .btn-yellow {
        flex-grow: 1;
        float: right;
        width: auto;
        margin-top: 10px; }
    .order-form .item.is-radio .label, .reservation-form .item.is-radio .label {
      display: flex;
      width: 100%; }
      .order-form .item.is-radio .label .description, .reservation-form .item.is-radio .label .description {
        display: block;
        flex-grow: 1;
        font-size: 13px;
        text-align: right; }
    .order-form fieldset .item.radio-buttonlist .button-list, .reservation-form fieldset .item.radio-buttonlist .button-list {
      width: auto; } }
  @media screen and (min-width: 992px) {
    .order-form, .reservation-form {
      position: relative;
      text-align: center; }
      .order-form form, .reservation-form form {
        max-width: 1200px;
        position: relative;
        display: inline-block;
        text-align: left; }
        .order-form form fieldset, .reservation-form form fieldset,
        .order-form form .left-col,
        .reservation-form form .left-col {
          float: left;
          clear: left;
          width: calc(100% - 400px); } }

.reservation-form-container {
  background: #f1f4f9;
  text-align: center;
  width: 100%;
  float: left; }

.reservation-form form .calendar-and-lessons-fieldset.loading .calendar-and-lessons,
.reservation-form form fieldset .simulator-picker.loading {
  opacity: 0.3; }
  .reservation-form form .calendar-and-lessons-fieldset.loading .calendar-and-lessons, .reservation-form form .calendar-and-lessons-fieldset.loading .calendar-and-lessons *,
  .reservation-form form fieldset .simulator-picker.loading,
  .reservation-form form fieldset .simulator-picker.loading * {
    cursor: wait !important; }

@media screen and (min-width: 768px) {
  .reservation-form form fieldset .calendar-and-lessons {
    display: flex;
    padding-bottom: 0; }
    .reservation-form form fieldset .calendar-and-lessons .lesson-list {
      flex-grow: 1; } }

.reservation-form .simulator-picker {
  padding: 12px 19px 0 19px; }
  .reservation-form .simulator-picker .simulator-item {
    padding-bottom: 13px; }
    .reservation-form .simulator-picker .simulator-item label {
      display: block;
      margin-bottom: 6px; }
    .reservation-form .simulator-picker .simulator-item select {
      width: 100%;
      padding: 6px 4px; }
  @media screen and (min-width: 768px) {
    .reservation-form .simulator-picker {
      display: flex; }
      .reservation-form .simulator-picker .division {
        width: 13px;
        margin-right: 19px;
        background: transparent url(images/b11e5564c77b9673de770ff759ee6c8b.svg) center 30px no-repeat; }
      .reservation-form .simulator-picker .simulator-item {
        flex-grow: 1; }
        .reservation-form .simulator-picker .simulator-item:not(:last-child) {
          padding-right: 19px; } }

.reservation-form .last-minute-switcher {
  padding: 12px 19px 0 19px;
  line-height: 1.5em; }

.reservation-form .tips {
  margin-bottom: 19px; }
  .reservation-form .tips p {
    font-size: 14px; }

.reservation-form .ending {
  display: flex;
  align-items: center;
  justify-content: flex-end; }
  .reservation-form .ending .checkboxes {
    flex-grow: 1;
    padding-right: 19px; }
  .reservation-form .ending .btn-yellow {
    flex-grow: 0;
    margin-top: 10px;
    padding: 0 19px; }

@media screen and (min-width: 992px) {
  .reservation-form .order-summary-container {
    position: absolute;
    right: 0;
    bottom: 6px;
    top: 35px; } }

.reservation-form .order-summary h2 {
  color: #ffffff;
  font-size: 22px;
  font-weight: bold;
  line-height: 25px;
  margin: 0 19px; }

.reservation-form .order-summary h3 {
  padding: 19px 19px 10px 19px;
  margin: 0;
  border-top: 1px solid #3c4b69; }
  .reservation-form .order-summary h3 ~ .item {
    border-top: 0;
    padding-top: 15px;
    padding-bottom: 15px; }
  .reservation-form .order-summary h3 ~ .item.totals {
    margin-top: 10px; }

.reservation-form .order-summary .item.main .more-info {
  align-items: flex-start; }
  .reservation-form .order-summary .item.main .more-info .btn-yellow {
    font-size: 13px;
    line-height: 35px;
    white-space: nowrap;
    padding: 0 14px; }

.reservation-form .order-summary .voucher-options {
  padding: 0 19px 20px 19px; }
  .reservation-form .order-summary .voucher-options a {
    display: inline-block;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    background: no-repeat left center;
    padding-left: 28px;
    margin-bottom: 10px; }
    .reservation-form .order-summary .voucher-options a:not(:last-child) {
      margin-right: 2em; }
    .reservation-form .order-summary .voucher-options a.extend-validity {
      background-image: url(images/6b09f9f229e33c6a7530c8f51ed63002.svg); }
    .reservation-form .order-summary .voucher-options a.change-experience {
      background-image: url(images/77e087d2beda5bfc8e8734c6cd03f6d4.svg); }

.reservation-form .order-summary .totals {
  flex-wrap: wrap; }
  .reservation-form .order-summary .totals .smaller {
    padding-top: 10px;
    font-size: 14px;
    color: #dfe5ef;
    width: 100%; }

@media screen and (max-width: 767px) {
  .reservation-form .order-summary .totals {
    display: block; }
    .reservation-form .order-summary .totals .price {
      padding-left: 0;
      text-align: left; } }

.partner-link {
  padding: 0 2em;
  margin-top: 3em; }

.voucher-form-introduction {
  text-align: center; }

.voucher-form-content {
  background-color: #f1f4f9;
  text-align: center; }
  .voucher-form-content h2 {
    color: #30569d;
    font-size: 22px;
    line-height: 20px; }
  .voucher-form-content .voucher-form {
    display: inline-block;
    max-width: 725px;
    background-color: #ffffff;
    border: 1px solid #dfe5ef;
    margin: 29px 14px;
    width: calc(100% - 28px);
    border-radius: 5px;
    overflow: hidden; }
    .voucher-form-content .voucher-form .upper {
      padding: 14px; }
      .voucher-form-content .voucher-form .upper p {
        color: #2c3a55;
        font-weight: 400;
        font-size: 12px;
        line-height: 20px; }
    .voucher-form-content .voucher-form .lower {
      padding: 14px;
      padding-top: 35px;
      background-image: linear-gradient(to bottom, #f1f4f9 0, #ffffff 21px); }
  .voucher-form-content form label {
    font-size: 14px;
    font-weight: 700;
    color: #2c3a55; }
  .voucher-form-content form .input-group {
    max-width: 468px;
    width: 100%;
    margin-top: 15px;
    display: inline-block; }
  .voucher-form-content form input[type='text'],
  .voucher-form-content form input[type='password'] {
    font-size: 20px;
    text-align: left;
    border: 1px solid #dfe5ef;
    padding: 22px 22px;
    color: #7587a8;
    text-transform: uppercase;
    width: 100%; }
    .voucher-form-content form input[type='text']::-webkit-input-placeholder,
    .voucher-form-content form input[type='password']::-webkit-input-placeholder {
      text-transform: none;
      color: rgba(0, 0, 0, 0.35);
      transition: color 0.2s; }
    .voucher-form-content form input[type='text']::-moz-placeholder,
    .voucher-form-content form input[type='password']::-moz-placeholder {
      text-transform: none;
      color: rgba(0, 0, 0, 0.35);
      transition: color 0.2s; }
    .voucher-form-content form input[type='text']:-ms-input-placeholder,
    .voucher-form-content form input[type='password']:-ms-input-placeholder {
      text-transform: none;
      color: rgba(0, 0, 0, 0.35);
      transition: color 0.2s; }
    .voucher-form-content form input[type='text']:focus::-webkit-input-placeholder,
    .voucher-form-content form input[type='password']:focus::-webkit-input-placeholder {
      color: rgba(0, 0, 0, 0.15); }
    .voucher-form-content form input[type='text']:focus::-moz-placeholder,
    .voucher-form-content form input[type='password']:focus::-moz-placeholder {
      color: rgba(0, 0, 0, 0.15); }
    .voucher-form-content form input[type='text']:focus:-ms-input-placeholder,
    .voucher-form-content form input[type='password']:focus:-ms-input-placeholder {
      color: rgba(0, 0, 0, 0.15); }
  .voucher-form-content form input[type='submit'] {
    padding: 0 35px;
    margin: 13px 15px 13px 0;
    width: 100%;
    display: inline-block; }
  .voucher-form-content .get-a-code {
    padding: 0 14px 3em 14px; }

.voucher-form-introduction code,
.voucher-text-only code {
  border: 1px solid #dfe5ef;
  background: #f1f4f9;
  padding: 1px 6px;
  font-weight: bold;
  border-radius: 3px; }

@media screen and (min-width: 768px) {
  .partner-link {
    display: inline-block; }
  .voucher-form-content {
    padding-top: 53px; }
    .voucher-form-content.no-top-padding {
      padding-top: 0; }
    .voucher-form-content .voucher-form form .input-group {
      display: inline-flex;
      border: 1px solid #dfe5ef;
      margin-bottom: 30px; }
    .voucher-form-content .voucher-form form input[type='text'],
    .voucher-form-content .voucher-form form input[type='password'] {
      border: 0; }
    .voucher-form-content .voucher-form form input[type='submit'] {
      width: auto; }
    .voucher-form-content .get-a-code {
      padding: 0 14px 50px; } }

.calendar {
  float: left;
  font-size: 14px;
  color: #2c3a55;
  margin-top: 19px;
  margin-left: 19px;
  display: flex;
  flex-direction: column; }
  .calendar .head {
    text-align: center;
    display: flex;
    padding: 6px 0 8px 0;
    font-weight: 500;
    line-height: 30px; }
    .calendar .head span.arrow {
      flex-grow: 1;
      position: relative;
      text-align: left; }
      .calendar .head span.arrow.next-month {
        text-align: right; }
    .calendar .head a {
      display: inline-block;
      height: 100%;
      width: 100%;
      position: absolute;
      max-width: 1em;
      text-decoration: none;
      font-size: 30px;
      font-weight: 400;
      line-height: 26px;
      transition: font-size 0.4s;
      color: #2c3a55; }
      .calendar .head a:hover {
        font-size: 36px; }
    .calendar .head .prev-month a {
      left: 0;
      padding-left: 5px; }
    .calendar .head .next-month a {
      right: 0;
      padding-right: 5px; }
  .calendar table {
    border-collapse: collapse;
    overflow: hidden; }
    .calendar table td, .calendar table th {
      padding: 0; }
      .calendar table td .plain-cell-content, .calendar table th .plain-cell-content {
        display: block;
        padding: 6px; }
      .calendar table td:nth-child(6), .calendar table th:nth-child(6) {
        border-left: 1px solid #dfe5ef; }
    .calendar table thead th {
      position: relative;
      font-weight: 500;
      text-align: center; }
    .calendar table tbody td {
      text-align: center;
      font-weight: 400;
      position: relative; }
      .calendar table tbody td.out-of-month {
        color: #ccc; }
      .calendar table tbody td label {
        border: 4px solid #ffffff;
        cursor: pointer;
        display: block;
        background: #a4d56a;
        font-weight: 500;
        transition: border-color 0.2s;
        border-radius: 2px;
        padding-top: 2px;
        height: 30px; }
        .calendar table tbody td label.active {
          border-color: #72a930; }
        .calendar table tbody td label:hover {
          background: #7fbd35; }
      .calendar table tbody td.has-upsell-lessons label {
        background: #fdce00; }
        .calendar table tbody td.has-upsell-lessons label.active {
          border-color: #977b00; }
        .calendar table tbody td.has-upsell-lessons label:hover {
          background: #e4b900; }
  .calendar .legend-title {
    font-size: 13px;
    font-weight: 500;
    margin-top: 15px; }
  .calendar dl.legend {
    position: relative;
    margin-left: 4px;
    margin-top: 10px;
    font-size: 13px; }
    .calendar dl.legend dt {
      position: absolute;
      width: 16px;
      height: 16px; }
      .calendar dl.legend dt.has-lessons {
        background: #a4d56a; }
      .calendar dl.legend dt.has-upsell-lessons {
        background: #fdce00; }
      .calendar dl.legend dt.no-lessons {
        background: #ffffff;
        border: 1px solid #dfe5ef; }
    .calendar dl.legend dd {
      margin: 0;
      padding-left: 25px;
      margin-bottom: 12px; }
  @media screen and (max-width: 767px) {
    .calendar {
      margin-top: 0;
      padding-bottom: 14px; }
      .calendar .head {
        padding-bottom: 0; }
      .calendar table thead th {
        font-size: 10px;
        padding-top: 0;
        padding-bottom: 0; } }

@media screen and (max-width: 767px) {
  .calendar-and-lessons {
    position: relative;
    padding-bottom: 130px !important; }
    .calendar-and-lessons .calendar dl.legend {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0;
      z-index: 5;
      height: 112px;
      padding-top: 12px;
      border-top: 1px solid #dfe5ef;
      margin-left: -19px;
      padding-left: 38px; }
    .calendar-and-lessons .calendar-container {
      text-align: center;
      width: 100%;
      float: left; }
      .calendar-and-lessons .calendar-container .calendar {
        float: none;
        display: inline-flex;
        text-align: left; } }

.lesson-list {
  background-color: #f8fafd;
  padding-bottom: 11px; }
  .lesson-list input.day-selector-radio {
    display: none; }
  .lesson-list p.no-lessons-available {
    margin: 19px; }
  .lesson-list table.day {
    color: #2c3a55;
    font-size: 14px;
    width: 100%;
    border-collapse: collapse; }
    .lesson-list table.day thead th {
      font-weight: 400;
      padding: 10px 5px 10px 5px;
      background-image: linear-gradient(to bottom, #f1f4f9 0%, #ffffff 24px); }
    .lesson-list table.day tbody tr.in-range td {
      background: #ecf2fa; }
    .lesson-list table.day tbody tr:hover td {
      background: #dce6f5; }
    .lesson-list table.day tbody td {
      border-top: 1px solid #dfe5ef; }
      .lesson-list table.day tbody td.input {
        text-align: center; }
        .lesson-list table.day tbody td.input input + label {
          position: relative;
          display: inline-block;
          width: 16px;
          height: 16px;
          margin-top: 4px;
          background: #a4d56a;
          border: 1px solid #72a930;
          border-radius: 3px;
          cursor: pointer; }
          .lesson-list table.day tbody td.input input + label.is-upsell {
            background: #fdce00;
            border-color: #caa400; }
        .lesson-list table.day tbody td.input input:checked + label::before {
          content: "";
          position: absolute;
          left: 5px;
          top: 2px;
          width: 5px;
          height: 9px;
          border: solid #2c3a55;
          border-width: 0 2px 2px 0;
          transform: rotate(45deg); }
    .lesson-list table.day label {
      padding: 3px 5px;
      display: block; }
  @media screen and (max-width: 767px) {
    .lesson-list {
      float: left;
      width: 100%;
      margin-bottom: -19px;
      border-top: 1px solid #dfe5ef; } }
  @media screen and (min-width: 768px) {
    .lesson-list {
      margin-left: 2em;
      border-left: 1px solid #dfe5ef; } }

.page.std.partner-login {
  text-align: center; }
  .page.std.partner-login form {
    display: inline-block;
    max-width: 500px;
    margin: 3em 0; }
  .page.std.partner-login input {
    margin-bottom: 0; }
  .page.std.partner-login .form-group {
    margin-bottom: 1em; }
  .page.std.partner-login .btn {
    float: left;
    margin-right: 2em;
    margin-bottom: 1em; }
  .page.std.partner-login .btn-default {
    background: #ffffff;
    box-shadow: none;
    color: #2c3a55;
    border: 1px solid #dfe5ef; }
    .page.std.partner-login .btn-default:hover {
      background: rgba(255, 255, 255, 0.6); }
  .page.std.partner-login .help-block {
    display: block;
    clear: left;
    color: #2c3a55;
    font-size: 14px;
    padding-top: 6px; }

.page.professionals {
  z-index: 3; }
  .page.professionals::after {
    content: none; }

.professionals-about {
  background-color: #30569d;
  text-align: center; }
  .professionals-about h1, .professionals-about h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 700; }
  .professionals-about .content {
    padding: 100px 0;
    max-width: 1200px;
    display: inline-block;
    text-align: left;
    padding-left: 14px;
    padding-right: 14px; }
    .professionals-about .content p {
      color: #c6d0e2;
      font-size: 15px;
      font-weight: 400;
      line-height: 23px; }
      .professionals-about .content p:first-of-type {
        color: #ffffff;
        font-size: 18px;
        line-height: 28px; }
    @media screen and (min-width: 992px) {
      .professionals-about .content {
        position: relative; }
        .professionals-about .content p {
          width: 48%;
          float: right;
          clear: right; }
          .professionals-about .content p:first-of-type {
            float: left; } }

.nas-pribeh {
  background-color: #f1f4f9;
  text-align: center; }
  .nas-pribeh .content {
    display: inline-block;
    text-align: left;
    padding: 14px;
    color: #2c3a55;
    max-width: 1200px; }
    .nas-pribeh .content p {
      font-size: 16px;
      font-weight: 400;
      line-height: 25px; }
    .nas-pribeh .content .team-and-links img {
      max-width: 100%; }
    .nas-pribeh .content .team-and-links .links {
      margin-top: 40px; }
    .nas-pribeh .content .links h2 {
      color: #30569d;
      font-size: 30px;
      font-weight: 700; }
    .nas-pribeh .content .links > ul {
      list-style-type: none;
      padding: 0;
      margin: 0; }
      .nas-pribeh .content .links > ul li {
        margin-bottom: 30px; }
      .nas-pribeh .content .links > ul h3 {
        font-size: 18px;
        margin: 0; }
        .nas-pribeh .content .links > ul h3 a {
          color: #30569d; }
      .nas-pribeh .content .links > ul p {
        color: #2c3a55;
        font-weight: 400;
        line-height: 25px;
        margin: 0; }
    .nas-pribeh .content .team-photo-full,
    .nas-pribeh .content .team-photo-mobile {
      max-width: 100%; }
  @media screen and (max-width: 991px) {
    .nas-pribeh .team-photo-full {
      display: none; } }
  @media screen and (min-width: 768px) {
    .nas-pribeh .links > ul {
      display: flex;
      flex-wrap: wrap; }
      .nas-pribeh .links > ul li {
        width: 50%; }
        .nas-pribeh .links > ul li:nth-child(2n) {
          padding-left: 15px; }
        .nas-pribeh .links > ul li:nth-child(2n+1) {
          padding-right: 15px; } }
  @media screen and (min-width: 992px) {
    .nas-pribeh .team-photo-mobile {
      display: none; }
    .nas-pribeh .content {
      display: inline-flex; }
      .nas-pribeh .content .text,
      .nas-pribeh .content .team-and-links {
        width: 50%; }
      .nas-pribeh .content .text {
        order: 2; }
      .nas-pribeh .content .team-and-links {
        order: 1; }
      .nas-pribeh .content .links {
        padding-right: 30px; } }

.vyroba-simulatoru-list .introductory-explanation {
  background: #ffffff; }

.vyroba-simulatoru-list .article-list li {
  background: #ffffff; }

@media screen and (min-width: 768px) {
  .vyroba-simulatoru-list .article-list .btn-yellow {
    display: inline-block;
    padding: 0 1.5em; } }

.faq-content {
  background: #f1f4f9;
  text-align: center; }
  .faq-content .items-container {
    width: 100%;
    max-width: 1200px;
    display: inline-block;
    text-align: left;
    background-color: #ffffff;
    overflow: hidden;
    border: 1px solid #dfe5ef; }
    .faq-content .items-container:last-child {
      border-bottom: 0; }
    .faq-content .items-container > input {
      display: none; }
  .faq-content .item {
    position: relative;
    background-color: #f8fafd;
    width: 100%;
    padding: 15px 0;
    border-bottom: 1px solid #dfe5ef; }
    .faq-content .item .number {
      position: absolute;
      top: 17px;
      background-color: #fed500;
      background-image: linear-gradient(to top, #fdcc00 0%, #ffe500 100%);
      width: 23px;
      height: 23px;
      border-radius: 50%;
      text-align: center;
      line-height: 23px;
      font-size: 12px;
      left: 23px; }
    .faq-content .item .content {
      padding-left: 61px; }
    .faq-content .item > label {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      cursor: pointer; }
      .faq-content .item > label .text {
        position: absolute;
        top: 19px;
        right: 40px;
        font-size: 12px;
        color: #30569d;
        opacity: 1;
        transition: opacity 0.2s; }
      .faq-content .item > label .cross {
        position: absolute;
        top: 21px;
        right: 22px;
        width: 11px;
        height: 11px;
        transition: transform 0.4s; }
        .faq-content .item > label .cross::before, .faq-content .item > label .cross::after {
          content: "";
          position: absolute;
          background-color: rgba(48, 86, 157, 0.7);
          transition: background-color 0.4s; }
        .faq-content .item > label .cross::before {
          top: 5px;
          width: 100%;
          height: 1px; }
        .faq-content .item > label .cross::after {
          left: 5px;
          height: 100%;
          width: 1px; }
      .faq-content .item > label:hover .cross {
        transform: rotate(90deg); }
    .faq-content .item h2 {
      color: #30569d;
      font-size: 20px;
      font-weight: 500;
      margin: 0; }
    .faq-content .item h2 ~ * {
      display: none; }
    .faq-content .item p {
      color: #2c3a55;
      font-size: 14px;
      line-height: 22px; }
  .faq-content input:checked + .item {
    background-color: #ffffff; }
    .faq-content input:checked + .item > label {
      bottom: auto;
      height: 57px; }
      .faq-content input:checked + .item > label .text {
        opacity: 0; }
      .faq-content input:checked + .item > label .cross {
        transform: rotate(45deg); }
        .faq-content input:checked + .item > label .cross::before, .faq-content input:checked + .item > label .cross::after {
          background-color: #30569d; }
      .faq-content input:checked + .item > label:hover .cross {
        transform: rotate(-45deg); }
    .faq-content input:checked + .item h2 {
      color: #30569d;
      font-weight: 700; }
    .faq-content input:checked + .item h2 ~ * {
      display: block; }

@media screen and (max-width: 767px) {
  .faq-content::before {
    content: none; }
  .faq-content .items-container {
    border-left: 0;
    border-right: 0; } }

@media screen and (min-width: 768px) {
  .faq-content {
    padding: 0 14px; }
    .faq-content .items-container {
      margin-top: 30px;
      margin-bottom: 30px;
      border-radius: 10px; } }

@media screen and (min-width: 992px) {
  .faq-content .items-container {
    margin-top: 68px;
    margin-bottom: 109px; } }

.instructors {
  background-color: #f1f4f9;
  text-align: center; }
  .instructors ul {
    list-style-type: none;
    padding: 0;
    padding-top: 30px;
    display: inline-flex;
    text-align: left;
    max-width: 1200px;
    flex-direction: column; }
  .instructors li {
    border: 1px solid #dfe5ef;
    background: #ffffff;
    margin: 15px;
    margin-top: 25vmin;
    border-radius: 10px;
    padding: 60px 20px 30px 20px;
    position: relative;
    width: calc(100% - 30px); }
  .instructors h3 {
    font-size: 22px;
    color: #30569d;
    font-weight: bold;
    margin: 0; }
  .instructors strong {
    color: #7486a7;
    font-size: 13px;
    font-weight: normal;
    margin: 0;
    display: block; }
  .instructors img {
    position: absolute;
    top: 0;
    transform: translate(0, -50%);
    right: 35px;
    max-width: 30vmin;
    max-height: 30vmin; }
  .instructors p {
    color: #2c3a55;
    font-size: 16px; }
  @media screen and (min-width: 992px) {
    .instructors ul {
      flex-wrap: wrap;
      flex-direction: row; }
    .instructors li {
      width: calc(50% - 30px);
      padding: 50px 80px 30px 35px;
      margin-top: 130px; }
    .instructors img {
      max-width: 190px;
      max-height: 190px;
      right: auto;
      left: 35px; }
    .instructors h3,
    .instructors strong {
      margin-left: 218px; } }

.photo-video .nav {
  margin-top: 20px;
  line-height: 33px; }
  .photo-video .nav a {
    display: inline-block;
    color: #30569d;
    padding: 0 0.4em; }

.photo-video .photo-video-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .photo-video .photo-video-list li {
    float: left;
    padding-bottom: 30px;
    margin-top: 55px;
    width: 100%;
    background-image: linear-gradient(to top, #f1f4f9 0%, #ffffff 100%);
    text-align: center; }
    .photo-video .photo-video-list li .content {
      text-align: left;
      display: inline-block;
      max-width: 1200px;
      width: 100%; }
  .photo-video .photo-video-list h2 {
    color: #30569d;
    font-size: 26px;
    font-weight: 700;
    text-align: center; }
  .photo-video .photo-video-list .embed-container .embed {
    width: 100%;
    padding-top: 56%;
    position: relative; }
    .photo-video .photo-video-list .embed-container .embed iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-video .photo-video-list .quad {
    display: flex;
    float: left;
    flex-wrap: wrap;
    width: 100%; }
    .photo-video .photo-video-list .quad .photo {
      width: 100%;
      display: block;
      text-align: center;
      position: relative;
      transition: opacity 0.2s; }
      .photo-video .photo-video-list .quad .photo:hover {
        opacity: 0.8; }
  .photo-video .photo-video-list .embed-container, .photo-video .photo-video-list .photo {
    padding-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .photo-video .photo-video-list .quad {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .photo-video .photo-video-list .quad .photo {
        width: 50%;
        height: 50%; }
        .photo-video .photo-video-list .quad .photo:nth-child(even) {
          padding-left: 5px; }
        .photo-video .photo-video-list .quad .photo:nth-child(odd) {
          padding-right: 5px; }
        .photo-video .photo-video-list .quad .photo img {
          position: absolute;
          top: 50%;
          left: 50%;
          width: auto;
          height: 100%;
          transform: translate(-50%, -50%);
          min-width: 100%;
          min-height: 100%; }
    .photo-video .photo-video-list .embed-container + .quad-container {
      float: left;
      width: 50%;
      margin-top: 0.8vmin;
      padding-top: calc(28% - 0.8vmin);
      position: relative; }
      .photo-video .photo-video-list .embed-container + .quad-container .quad .photo {
        width: 50%;
        border: 1px solid transparent;
        overflow: hidden; }
        .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(1), .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(3) {
          border-right-width: 0.4vmin; }
        .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(2), .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(4) {
          border-left-width: 0.4vmin; }
        .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(1), .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(2) {
          border-bottom-width: 0.4vmin; }
        .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(3), .photo-video .photo-video-list .embed-container + .quad-container .quad .photo:nth-child(4) {
          border-top-width: 0.4vmin; }
      .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container {
        width: calc(100% - 0.8vmin);
        margin: 0.8vmin 0 0.8vmin 0.8vmin;
        margin-top: 0;
        float: left;
        padding-top: 14%;
        position: relative; }
        .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo {
          height: 100%;
          overflow: hidden;
          border-right: 0.8vmin solid transparent; }
          .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo:last-child {
            border-right: 0; }
          .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo:nth-child(1), .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo:nth-child(2) {
            width: calc(25% - 0.15vmin); }
          .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo:nth-child(3) {
            width: calc(25% + 0.5vmin); }
          .photo-video .photo-video-list .embed-container + .quad-container ~ .quad-container .photo:nth-child(4) {
            width: calc(25% - 0.2vmin); } }
  @media screen and (min-width: 992px) {
    .photo-video .photo-video-list .embed-container {
      width: 50%;
      float: left;
      padding: 0.8vmin; }
    .photo-video .photo-video-list .embed-container + .quad {
      width: 50%; }
      .photo-video .photo-video-list .embed-container + .quad .photo {
        width: 50%; }
    .photo-video .photo-video-list .quad .photo {
      width: 25%; }
      .photo-video .photo-video-list .quad .photo:nth-child(even), .photo-video .photo-video-list .quad .photo:nth-child(odd) {
        padding: 0.8vmin; } }

