@charset "UTF-8";
@import url(bootstrap/bootstrap-reboot.min.css);
@import url(bootstrap/bootstrap-grid.min.css);
@import url(bootstrap/bootstrap-utilities.min.css);
@import url(auxlm.css);
@import url(owl.css);
@import url(bootstrap-icons/bootstrap-icons.css);
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");
/* ==========================================================================
   Site
   ========================================================================== */
html {
  font-size: 16px;
  scroll-behavior: auto !important; }

body {
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  background: #fff;
  font-size: inherit;
  line-height: 1.75em;
  color: #003b4a;
  font-weight: 500; }

a {
  color: inherit;
  outline: none !important;
  text-decoration: none; }
  a:hover {
    color: inherit;
    text-decoration: none; }
  a:active, a:focus {
    color: inherit;
    text-decoration: none; }

a, button, input, textarea, select {
  outline: none !important; }

ul, li {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  display: block;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit; }

p {
  margin: 0 0 1.8em 0;
  line-height: inherit; }
  p:last-child {
    margin-bottom: 0 !important; }

.mb-rem-5 {
  margin-bottom: 0.3125rem !important; }

.mt-rem-5 {
  margin-top: 0.3125rem !important; }

.mb-rem-10 {
  margin-bottom: 0.625rem !important; }

.mt-rem-10 {
  margin-top: 0.625rem !important; }

.mb-rem-15 {
  margin-bottom: 0.9375rem !important; }

.mt-rem-15 {
  margin-top: 0.9375rem !important; }

.mb-rem-20 {
  margin-bottom: 1.25rem !important; }

.mt-rem-20 {
  margin-top: 1.25rem !important; }

.mb-rem-25 {
  margin-bottom: 1.5625rem !important; }

.mt-rem-25 {
  margin-top: 1.5625rem !important; }

.mb-rem-30 {
  margin-bottom: 1.875rem !important; }

.mt-rem-30 {
  margin-top: 1.875rem !important; }

.mb-rem-35 {
  margin-bottom: 2.1875rem !important; }

.mt-rem-35 {
  margin-top: 2.1875rem !important; }

.mb-rem-40 {
  margin-bottom: 2.5rem !important; }

.mt-rem-40 {
  margin-top: 2.5rem !important; }

.mb-rem-45 {
  margin-bottom: 2.8125rem !important; }

.mt-rem-45 {
  margin-top: 2.8125rem !important; }

.mb-rem-50 {
  margin-bottom: 3.125rem !important; }

.mt-rem-50 {
  margin-top: 3.125rem !important; }

.mb-rem-55 {
  margin-bottom: 3.4375rem !important; }

.mt-rem-55 {
  margin-top: 3.4375rem !important; }

.mb-rem-60 {
  margin-bottom: 3.75rem !important; }

.mt-rem-60 {
  margin-top: 3.75rem !important; }

.mb-rem-65 {
  margin-bottom: 4.0625rem !important; }

.mt-rem-65 {
  margin-top: 4.0625rem !important; }

.mb-rem-70 {
  margin-bottom: 4.375rem !important; }

.mt-rem-70 {
  margin-top: 4.375rem !important; }

.mb-rem-75 {
  margin-bottom: 4.6875rem !important; }

.mt-rem-75 {
  margin-top: 4.6875rem !important; }

.mb-rem-80 {
  margin-bottom: 5rem !important; }

.mt-rem-80 {
  margin-top: 5rem !important; }

.mb-rem-85 {
  margin-bottom: 5.3125rem !important; }

.mt-rem-85 {
  margin-top: 5.3125rem !important; }

.mb-rem-90 {
  margin-bottom: 5.625rem !important; }

.mt-rem-90 {
  margin-top: 5.625rem !important; }

.mb-rem-95 {
  margin-bottom: 5.9375rem !important; }

.mt-rem-95 {
  margin-top: 5.9375rem !important; }

.mb-rem-100 {
  margin-bottom: 6.25rem !important; }

.mt-rem-100 {
  margin-top: 6.25rem !important; }

@media (max-width: 767px) {
  .mbm-rem-5 {
    margin-bottom: 0.3125rem !important; }

  .mtm-rem-5 {
    margin-top: 0.3125rem !important; }

  .mbm-rem-10 {
    margin-bottom: 0.625rem !important; }

  .mtm-rem-10 {
    margin-top: 0.625rem !important; }

  .mbm-rem-15 {
    margin-bottom: 0.9375rem !important; }

  .mtm-rem-15 {
    margin-top: 0.9375rem !important; }

  .mbm-rem-20 {
    margin-bottom: 1.25rem !important; }

  .mtm-rem-20 {
    margin-top: 1.25rem !important; }

  .mbm-rem-25 {
    margin-bottom: 1.5625rem !important; }

  .mtm-rem-25 {
    margin-top: 1.5625rem !important; }

  .mbm-rem-30 {
    margin-bottom: 1.875rem !important; }

  .mtm-rem-30 {
    margin-top: 1.875rem !important; }

  .mbm-rem-35 {
    margin-bottom: 2.1875rem !important; }

  .mtm-rem-35 {
    margin-top: 2.1875rem !important; }

  .mbm-rem-40 {
    margin-bottom: 2.5rem !important; }

  .mtm-rem-40 {
    margin-top: 2.5rem !important; }

  .mbm-rem-45 {
    margin-bottom: 2.8125rem !important; }

  .mtm-rem-45 {
    margin-top: 2.8125rem !important; }

  .mbm-rem-50 {
    margin-bottom: 3.125rem !important; }

  .mtm-rem-50 {
    margin-top: 3.125rem !important; }

  .mbm-rem-55 {
    margin-bottom: 3.4375rem !important; }

  .mtm-rem-55 {
    margin-top: 3.4375rem !important; }

  .mbm-rem-60 {
    margin-bottom: 3.75rem !important; }

  .mtm-rem-60 {
    margin-top: 3.75rem !important; }

  .mbm-rem-65 {
    margin-bottom: 4.0625rem !important; }

  .mtm-rem-65 {
    margin-top: 4.0625rem !important; }

  .mbm-rem-70 {
    margin-bottom: 4.375rem !important; }

  .mtm-rem-70 {
    margin-top: 4.375rem !important; }

  .mbm-rem-75 {
    margin-bottom: 4.6875rem !important; }

  .mtm-rem-75 {
    margin-top: 4.6875rem !important; }

  .mbm-rem-80 {
    margin-bottom: 5rem !important; }

  .mtm-rem-80 {
    margin-top: 5rem !important; }

  .mbm-rem-85 {
    margin-bottom: 5.3125rem !important; }

  .mtm-rem-85 {
    margin-top: 5.3125rem !important; }

  .mbm-rem-90 {
    margin-bottom: 5.625rem !important; }

  .mtm-rem-90 {
    margin-top: 5.625rem !important; }

  .mbm-rem-95 {
    margin-bottom: 5.9375rem !important; }

  .mtm-rem-95 {
    margin-top: 5.9375rem !important; }

  .mbm-rem-100 {
    margin-bottom: 6.25rem !important; }

  .mtm-rem-100 {
    margin-top: 6.25rem !important; } }
.container,
.container-fluid {
  position: relative;
  z-index: 10;
  padding: 0 28px; }

.color-black {
  color: #000 !important; }

.color-white {
  color: #fff !important; }

.color-grey {
  color: #919191 !important; }

.color-bright-green {
  color: #98d801 !important; }

.color-green {
  color: #00b142 !important; }

.color-emerald {
  color: #009863 !important; }

.color-teal {
  color: #3adcc9 !important; }

.color-blue {
  color: #0072da !important; }

.color-navy {
  color: #003b4a !important; }

.color-red {
  color: #e40032 !important; }

.color-orange {
  color: #ff8f29 !important; }

.color-yellow {
  color: #f2ce00 !important; }

.color-dark-green {
  color: #3F6C77 !important; }

.bg-black {
  background-color: #000 !important; }

.bg-white {
  background-color: #fff !important; }

.bg-grey {
  background-color: #919191 !important; }

.bg-bright-green {
  background-color: #98d801 !important; }

.bg-green {
  background-color: #00b142 !important; }

.bg-emerald {
  background-color: #009863 !important; }

.bg-teal {
  background-color: #3adcc9 !important; }

.bg-blue {
  background-color: #0072da !important; }

.bg-navy {
  background-color: #003b4a !important; }

.bg-red {
  background-color: #e40032 !important; }

.bg-orange {
  background-color: #ff8f29 !important; }

.bg-yellow {
  background-color: #f2ce00 !important; }

.bg-dark-green {
  background-color: #3F6C77 !important; }

.h1 {
  font-size: 4.375rem;
  line-height: 1.214em;
  font-weight: bold; }
  @media (max-width: 991px) {
    .h1 {
      font-size: 2.1875rem;
      line-height: 1.2em; } }

.h2 {
  font-size: 2.5rem;
  line-height: 1.375em;
  font-weight: bold; }
  @media (max-width: 991px) {
    .h2 {
      font-size: 2.1875rem;
      line-height: 1.2em; } }

.h3 {
  font-size: 2rem;
  line-height: 1.313em;
  font-weight: bold; }
  @media (max-width: 991px) {
    .h3 {
      font-size: 1.625rem;
      line-height: 1.2em; } }

.h4 {
  font-size: 1.75rem;
  line-height: 1.214em;
  font-weight: bold; }
  @media (max-width: 991px) {
    .h4 {
      font-size: 1.375rem;
      line-height: 1.3em; } }

.h5 {
  font-size: 1.375rem;
  line-height: 1.214em;
  font-weight: bold; }
  @media (max-width: 991px) {
    .h5 {
      font-size: 1.125rem;
      line-height: 1.3em; } }

.h6 {
  font-size: 1.0625rem;
  line-height: 1.6em;
  font-weight: bold; }

.intro {
  font-size: 1.75rem;
  line-height: 1.5em; }
  @media (max-width: 991px) {
    .intro {
      font-size: 1.1875rem; } }

.intro-sm {
  font-size: 1.0625rem;
  line-height: 1.647em; }
  @media (max-width: 991px) {
    .intro-sm {
      font-size: 1rem; } }

.cta {
  display: inline-block;
  font-size: 1.5625rem;
  font-weight: bold;
  text-align: center;
  line-height: 1em;
  padding: 1em;
  border-radius: .6em;
  border: none;
  background-color: #003b4a;
  color: #fff !important;
  min-width: 11.440em;
  max-width: 100% !important; }
  @media (min-width: 768px) and (hover: hover) {
    .cta {
      transition: color 0.2s, background-color 0.2s, border-color 0.2s, filter 0.2s, opacity 0.2s; }
      .cta:hover {
        filter: brightness(1.1); } }
  .cta.bg-yellow {
    color: #003b4a !important; }
  .cta.cta-100 {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none; }
  .cta.cta-sm {
    font-size: 1.375rem;
    line-height: 1.327em;
    padding: 0.7em 1em; }
  @media (max-width: 991px) {
    .cta {
      font-size: 1.375rem;
      line-height: 1.327em;
      padding: 0.7em 1em; }
      .cta.cta-sm-mobile, .cta.cta-sm {
        font-size: 1rem;
        line-height: 1.125em;
        padding-top: 1em;
        padding-bottom: 1em; }
      .cta.cta-mobile-100 {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: none; } }

.owl-progress-dots .owl-dots, .owl-bar-dots .owl-dots {
  width: 100%;
  display: flex;
  justify-content: center; }
  .owl-progress-dots .owl-dots .owl-dot, .owl-bar-dots .owl-dots .owl-dot {
    display: block;
    width: 5.625rem;
    height: 0.8125rem;
    border-radius: 0.4375rem;
    background-color: rgba(255, 255, 255, 0.26);
    margin: 0 0.46875rem;
    overflow: hidden;
    position: relative; }
    .owl-progress-dots .owl-dots .owl-dot:hover, .owl-bar-dots .owl-dots .owl-dot:hover {
      background-color: rgba(255, 255, 255, 0.36); }
    .owl-progress-dots .owl-dots .owl-dot::after, .owl-bar-dots .owl-dots .owl-dot::after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: -101%;
      top: 0;
      border-radius: inherit;
      background-color: #fff;
      transition: all 0s; }
@media (max-width: 991px) {
  .owl-progress-dots .owl-dots .owl-dot, .owl-bar-dots .owl-dots .owl-dot {
    width: 3.4375rem;
    height: 0.5625rem;
    border-radius: 0.28125rem;
    margin: 0 0.3125rem; } }

.owl-bar-dots .owl-dots .owl-dot.active::after {
  transition: all .25s linear;
  left: 0; }

.owl-progress-dots .owl-dots .owl-dot {
  background-color: #fff; }
  .owl-progress-dots .owl-dots .owl-dot:hover {
    background-color: #fff; }
  .owl-progress-dots .owl-dots .owl-dot.active {
    background-color: rgba(255, 255, 255, 0.26); }
    .owl-progress-dots .owl-dots .owl-dot.active::after {
      transition: all 7.5s linear;
      left: 0; }
    .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot {
      background-color: rgba(255, 255, 255, 0.26); }
      .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot:hover, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot:hover, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot:hover, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot:hover, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot:hover, .owl-progress-dots .owl-dots .owl-dot.active + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot + .owl-dot:hover {
        background-color: rgba(255, 255, 255, 0.26); }

#wrapper {
  position: relative;
  width: 100%;
  max-width: 4000px;
  margin: auto; }
  @media (max-width: 991px) {
    body.mobile-fixed-header #wrapper {
      padding-top: 4.6875rem; } }

#header {
  position: relative;
  z-index: 4000;
  width: 100%; }
  #header .header1 {
    position: relative;
    z-index: 100;
    height: 6.875rem;
    background: linear-gradient(to right, #00b142 0%, #003b4a 80%);
    color: #fff; }
    #header .header1 .logo {
      height: 6.875rem;
      position: relative;
      width: 18.75rem;
      max-width: 100%; }
      @media (min-width: 1750px) {
        #header .header1 .logo {
          width: 21.4375rem;
          transform: translateX(-3.625rem); } }
      #header .header1 .logo a {
        display: block;
        position: absolute;
        left: 0;
        top: 2.3125rem;
        width: 100%;
        height: inherit; }
        #header .header1 .logo a img {
          display: block;
          width: 100%;
          height: auto; }
    #header .header1 .user {
      display: flex;
      justify-content: flex-end;
      font-size: 1.1875rem;
      line-height: 1.2em;
      color: #fff; }
      #header .header1 .user .username {
        display: block;
        position: relative;
        padding-left: 1.316em;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.957 14.299"><g fill="%23fff"><circle cx="3.502" cy="3.502" r="3.502" transform="translate(4.477)"/><path d="M0 14.299s1.672-5.395 8.377-5.32 7.58 5.32 7.58 5.32"/></g></svg>') left center no-repeat;
        background-size: 0.842em auto; }
  @media (max-width: 991px) {
    #header {
      width: 100%; }
      body.mobile-fixed-header #header {
        position: fixed;
        left: 0;
        top: 0; }
      #header .header1 {
        height: 4.75rem; }
        #header .header1 .logo {
          height: 4.75rem;
          width: 11.1875rem; }
          #header .header1 .logo a {
            top: 1.0625rem; }
        #header .header1 .user {
          font-size: 0.875rem; } }

.header-steps {
  background: #fff;
  position: relative;
  z-index: 20; }
  .header-steps:after {
    content: "";
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    font-size: 0;
    line-height: 0;
    background-color: #EBE9E9; }
  .header-steps .steps ul {
    display: flex;
    width: 100%;
    justify-content: space-between; }
    .header-steps .steps ul li .step {
      display: flex;
      height: 3.125rem;
      align-items: center;
      border-top: solid 4px transparent;
      border-bottom: solid 4px transparent;
      padding: 0 1em;
      font-size: 1.0625rem;
      line-height: 1.1em; }
      .header-steps .steps ul li .step.active {
        font-weight: bold;
        color: #009863;
        border-bottom-color: #009863; }
      .header-steps .steps ul li .step.past {
        color: #009863; }
  @media (max-width: 991px) {
    .header-steps {
      padding-top: 3.75rem;
      transition: all 0.3s; }
      .header-steps .steps {
        overflow: hidden;
        position: relative;
        width: calc( 100% + 30px );
        margin-left: -15px; }
        .header-steps .steps:before, .header-steps .steps:after {
          content: "";
          position: absolute;
          z-index: 10;
          left: calc(100% - 1rem);
          top: 0;
          width: 1rem;
          height: calc( 100% - 2px );
          background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 95%); }
        .header-steps .steps::before {
          left: 0;
          background: linear-gradient(to right, white 5%, rgba(255, 255, 255, 0) 100%); }
        .header-steps .steps ul {
          overflow: auto;
          position: relative;
          z-index: 1;
          flex-wrap: nowrap;
          padding: 0 1rem; }
          .header-steps .steps ul::-webkit-scrollbar {
            -webkit-appearance: none;
            width: 0px;
            height: 0px; }
          .header-steps .steps ul li .step {
            font-size: 0.875rem;
            white-space: nowrap;
            padding: 0;
            margin-right: 1.2em; } }

.main {
  position: relative;
  z-index: 10; }
  .main.main-padding {
    padding: 2rem 0 5rem 0; }
  .main.main-padding-top {
    padding-top: 2rem; }
  .main.main-padding-bottom {
    padding-bottom: 5rem; }

.login-base {
  display: block;
  width: 100%;
  padding: 10rem 0 8.75rem 0;
  min-height: calc( 100vh - 104px - 110px ); }
  .login-base .login {
    max-width: 31.875rem;
    margin: auto; }
    .login-base .login .login-footer {
      font-size: 1.0625rem; }
      .login-base .login .login-footer .forgot {
        font-size: 1rem; }
    .login-base .login .booking-form .form-group {
      margin-bottom: 1.25rem; }
      .login-base .login .booking-form .form-group:after {
        content: "";
        position: absolute;
        display: block;
        pointer-events: none;
        width: 100%;
        height: 0.625rem;
        border-bottom: solid 1px #EBE9E9;
        left: 0;
        bottom: -0.625rem; }
      .login-base .login .booking-form .form-group .form-control-placeholder {
        font-weight: normal; }
      .login-base .login .booking-form .form-group .form-control {
        background: transparent;
        font-weight: normal;
        position: relative; }
        .login-base .login .booking-form .form-group .form-control.not-empty + .form-control-placeholder, .login-base .login .booking-form .form-group .form-control:focus + .form-control-placeholder {
          color: #919191; }
        .login-base .login .booking-form .form-group .form-control.valid:after, .login-base .login .booking-form .form-group .form-control:invalid:after {
          content: "✓";
          position: absolute;
          right: 0;
          bottom: 0; }
  @media (max-width: 991px) {
    .login-base {
      min-height: 0;
      padding: 5.625rem 0 4.375rem 0; } }

#tickets-hero {
  width: 100%; }
  #tickets-hero .owl-carousel .owl-dots {
    position: absolute;
    left: 0;
    bottom: 2.1875rem; }
  #tickets-hero .slide {
    width: 100%;
    position: relative; }
    #tickets-hero .slide .bg {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0; }
      #tickets-hero .slide .bg img {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover; }
    #tickets-hero .slide .fg {
      display: block;
      width: 100%;
      z-index: 100;
      position: relative; }
      #tickets-hero .slide .fg .inner {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
        min-height: 36.125rem;
        padding: 4.8125rem 0 5.8125rem 0; }
        #tickets-hero .slide .fg .inner .box {
          width: 100%;
          max-width: 54.5rem;
          background-color: #fff;
          padding: 3.4375rem 2.5rem;
          box-shadow: 0 0.1875rem 0.625rem rgba(0, 0, 0, 0.16);
          transition: transform 0.7s, opacity 0.7s; }
          #tickets-hero .slide .fg .inner .box .title {
            margin-bottom: 0.2em; }
          #tickets-hero .slide .fg .inner .box .desc {
            font-size: 1.0625rem;
            line-height: 1.65em;
            overflow: hidden;
            max-height: calc( 1.65em * 3 );
            margin-bottom: 1.5em; }
            #tickets-hero .slide .fg .inner .box .desc p {
              margin-bottom: 0; }
  #tickets-hero .infobar {
    background-color: #f2ce00;
    padding: 1rem; }
    #tickets-hero .infobar ul {
      display: flex;
      width: 100%;
      justify-content: space-between;
      align-items: center; }
      #tickets-hero .infobar ul li {
        display: flex;
        align-items: center; }
        #tickets-hero .infobar ul li:not(:last-child) {
          padding-right: 1rem; }
        #tickets-hero .infobar ul li .icon {
          flex: 0; }
          #tickets-hero .infobar ul li .icon svg, #tickets-hero .infobar ul li .icon img {
            display: block;
            width: 3.625rem; }
        #tickets-hero .infobar ul li .label {
          padding-left: .55em;
          font-size: 1.25rem;
          line-height: 1.1em; }
  @media (max-width: 991px) {
    #tickets-hero .owl-carousel .owl-dots {
      bottom: auto;
      top: 78vw; }
    #tickets-hero .slide .bg {
      position: relative;
      width: 100%;
      height: auto;
      aspect-ratio: 43 / 37; }
    #tickets-hero .slide .fg {
      position: relative; }
      #tickets-hero .slide .fg .inner {
        display: block;
        min-height: 0;
        padding: 0; }
        #tickets-hero .slide .fg .inner .box {
          max-width: none;
          box-shadow: none;
          padding: 2.125rem 0; }
    #tickets-hero .infobar ul {
      display: block; }
      #tickets-hero .infobar ul li {
        padding: 0 !important; }
        #tickets-hero .infobar ul li:not(:last-child) {
          margin-bottom: 1rem; }
        #tickets-hero .infobar ul li .icon svg, #tickets-hero .infobar ul li .icon img {
          width: 2.75rem; }
        #tickets-hero .infobar ul li .label {
          font-size: 0.875rem; } }

.breadcrumbs {
  margin-bottom: 2.1875rem; }
  .breadcrumbs > ul {
    font-size: 1rem;
    line-height: 2em;
    display: flex;
    width: 100%;
    flex-wrap: wrap; }
    .breadcrumbs > ul > li {
      display: block;
      position: relative;
      margin: 0 2.25em 0 0; }
      .breadcrumbs > ul > li::after {
        content: "/";
        position: absolute;
        left: 100%;
        top: 0;
        width: 2.25em;
        text-align: center;
        line-height: inherit;
        opacity: .3; }
      .breadcrumbs > ul > li > a {
        opacity: .3; }
        .breadcrumbs > ul > li > a:hover {
          opacity: .7; }
      .breadcrumbs > ul > li:last-child {
        margin-right: 0; }
        .breadcrumbs > ul > li:last-child::after {
          display: none; }
        .breadcrumbs > ul > li:last-child > a {
          opacity: 1 !important; }

.discount-corner {
  z-index: 100;
  position: absolute;
  right: 0;
  top: 0;
  color: #003b4a;
  display: flex;
  flex-direction: column;
  text-align: center;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 173 169" preserveAspectRatio="none"><defs><clipPath id="a"><path fill="none" d="M17 0h173v169H17z"/></clipPath><clipPath id="b"><path fill="%23f2ce00" d="M0 0h190v184H0z"/></clipPath></defs><g transform="translate(-17)" clip-path="url(%23a)" style="isolation:isolate"><g clip-path="url(%23b)"><path d="M166 135c31-24 66-47 106-49 21-1 42 5 62 13L299-38a437 437 0 0 1-37-39 516 516 0 0 1-59-90l-102 26a162 162 0 0 1 3 18c2 33-7 66-27 92C60-9 35 7 24 33c-10 21-8 46-1 68 5 17 14 34 27 47s31 21 49 20c26-1 47-18 67-33" fill="%23f2ce00"/></g></g></svg>') right top no-repeat;
  background-size: 100% 100%;
  min-width: 10.8125rem;
  min-height: 10.5625rem;
  justify-content: center;
  padding: 1rem 1.25rem 2.5rem 1.75rem; }
  .discount-corner .line {
    font-weight: bold;
    font-size: 1.875rem;
    line-height: 1em;
    width: 100%;
    white-space: nowrap;
    margin-bottom: 0.2em; }
    .discount-corner .line:last-child {
      margin-bottom: 0; }
    .discount-corner .line.line-big {
      font-size: 3.125rem; }
    .discount-corner .line.line-tiny {
      font-size: 1rem;
      font-weight: 500; }
  @media (max-width: 991px) {
    .discount-corner {
      transform: scale(0.75);
      transform-origin: right top; } }

.card {
  display: block;
  position: relative;
  margin-bottom: 7.8125rem; }
  .card .top-header {
    display: flex;
    width: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 8.125rem;
    overflow: hidden;
    border-radius: 1.125rem 1.125rem 0 0;
    padding: 0.8em 1.5em; }
    .card .top-header .title {
      line-height: 1.25em; }
  .card .price-header {
    border-left: solid 1px #D4D7D9;
    border-right: solid 1px #D4D7D9;
    display: flex;
    height: 8rem;
    align-items: center;
    width: 100%; }
    .card .price-header .price-col {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 0.5rem;
      flex: 1; }
      .card .price-header .price-col:not(:last-child) {
        border-right: solid 1px #D4D7D9; }
      .card .price-header .price-col > * {
        display: block;
        width: 100%;
        text-align: center; }
      .card .price-header .price-col .price-label {
        color: #668992;
        font-size: 1.375rem;
        line-height: 1.5em; }
  .card .photo {
    width: 100%;
    aspect-ratio: 62 / 41;
    position: relative; }
    .card .photo img {
      display: block;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      position: relative; }
  .card .cta-base {
    position: absolute;
    width: 100%;
    height: 2.34375rem;
    text-align: center;
    left: 0;
    bottom: 0; }
  @media (max-width: 991px) {
    .card {
      margin-bottom: 4.6875rem; }
      .card .top-header {
        height: auto;
        min-height: 6.25rem; }
      .card .price-header {
        height: 6rem; }
        .card .price-header .price-label {
          font-size: 1rem !important; }
      .card .cta-base {
        height: 1.875rem; } }
  .card.card-ticket .info {
    border: solid 1px #D4D7D9;
    border-top: none;
    padding: 1.625rem 1.625rem 4.6875rem 1.625rem;
    position: relative;
    z-index: 1; }
    .card.card-ticket .info .desc {
      font-size: 1.375rem;
      line-height: 1.6em;
      overflow: hidden;
      min-height: calc( 1.6em * 4 ); }
      .card.card-ticket .info .desc + .list {
        margin-top: 1.875rem; }
    .card.card-ticket .info .list {
      font-size: 1.125rem;
      line-height: 1.667em; }
      .card.card-ticket .info .list li {
        padding-left: 2.5em;
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g transform="translate(137.22 -724.85)"><circle cx="15" cy="15" r="15" transform="translate(-137.22 724.85)" fill="%2300b142"/><path d="m-126.77 745.08-4.36-4.37a.8.8 0 0 1 0-1.13l.32-.32a.8.8 0 0 1 1.13 0l4.36 4.37 9.73-9.74a.8.8 0 0 1 1.14 0l.32.32a.8.8 0 0 1 0 1.13l-9.73 9.74-.6.6a1.2 1.2 0 0 1-1.7 0Z" fill="%23fff"/></g></svg>') left top no-repeat;
        background-size: auto 1.667em; }
        .card.card-ticket .info .list li:not(:last-child) {
          margin-bottom: 1.389em; }
  @media (max-width: 991px) {
    .card.card-ticket .info {
      padding: 1.25rem 1.25rem 4.0625rem 1.25rem; }
      .card.card-ticket .info .desc {
        font-size: 1rem;
        min-height: 0; }
      .card.card-ticket .info .list {
        font-size: 1rem; }
        .card.card-ticket .info .list li:not(:last-child) {
          margin-bottom: 1.125em; } }
  .card.card-banner .info {
    text-align: center;
    color: #fff;
    padding: 1.375rem 2.8125rem 4.6875rem 2.8125rem;
    position: relative; }
    .card.card-banner .info .icon {
      font-size: 1.875rem;
      margin-bottom: 0.4em; }
    .card.card-banner .info .title {
      margin-bottom: 0.4em; }
    .card.card-banner .info .desc {
      font-size: 1rem;
      line-height: 1.7em;
      overflow: hidden;
      height: calc( 1.7em * 3 ); }
  @media (max-width: 991px) {
    .card.card-banner .photo {
      aspect-ratio: 37 / 28; }
    .card.card-banner .info {
      padding: 1.375rem 0.9375rem 4.0625rem 0.9375rem; }
      .card.card-banner .info .desc {
        height: auto;
        max-height: none; } }
  @media (min-width: 992px) {
    .card.card-banner.card-banner-full {
      display: flex;
      height: 21.4375rem; }
      .card.card-banner.card-banner-full .photo {
        width: 50%;
        aspect-ratio: inherit;
        height: inherit; }
        .card.card-banner.card-banner-full .photo img {
          position: absolute;
          left: 0;
          top: 0; }
      .card.card-banner.card-banner-full .info {
        width: 50%;
        display: flex;
        height: 100%;
        flex-direction: column;
        padding-top: 4.0625rem; }
        .card.card-banner.card-banner-full .info > * {
          width: 100%;
          margin-left: auto;
          margin-right: auto;
          max-width: 31.25rem; }
        .card.card-banner.card-banner-full .info .cta-base {
          max-width: none !important; } }

.redeem-box {
  background-color: #003b4a;
  color: #fff;
  margin-bottom: 7.1875rem;
  border-radius: 0.9375rem;
  padding: 2.5rem 4.375rem; }
  .redeem-box .ticket-number {
    display: block;
    border: none;
    background: #fff;
    color: #003b4a;
    font-size: 1.0625rem;
    line-height: 1.529em;
    padding: 1em;
    font-weight: 500;
    border-radius: 0.9375rem;
    width: 100%; }
    .redeem-box .ticket-number::placeholder {
      opacity: 1;
      color: #003b4a; }
  @media (max-width: 991px) {
    .redeem-box {
      padding: 1.25rem 0.75rem 0.9375rem 0.75rem;
      margin-bottom: 3.125rem; } }

.bg-hero {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 18rem;
  background: #003b4a;
  z-index: 1; }
  .bg-hero img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
  @media (max-width: 991px) {
    .bg-hero {
      height: 7.5rem; } }

.booking-header {
  display: flex;
  height: 9.375rem;
  align-items: center; }
  body .main .bg-hero + .container .booking-header {
    color: #fff; }
  .booking-header .inner {
    display: block;
    width: 100%; }
  .booking-header .back {
    display: block;
    width: 4.5rem;
    aspect-ratio: 1 / 1;
    text-align: left;
    overflow: hidden;
    text-indent: -9999px;
    border: none;
    border-radius: 2.25rem;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.53 20.18"><g fill="none" stroke="%230c9e6d" stroke-linecap="round" stroke-width="2"><path d="M11.26 1.41 1.5 10.1l9.76 8.68"/><path d="M1.5 10.1h32.03"/></g></svg>') center center no-repeat #fff;
    background-size: 2rem;
    box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); }
  .booking-header .step-label {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.1em; }
  @media (max-width: 991px) {
    .booking-header {
      height: 6.5625rem; }
      .booking-header .back {
        width: 3.125rem;
        background-size: 1.5625rem auto; }
      .booking-header .title {
        font-size: 1.375rem !important;
        line-height: 1.273em !important; } }

hr {
  border: none;
  border-top: solid 1px #EBE9E9;
  opacity: 1;
  margin: 1.4375rem 0;
  width: 100%;
  clear: both;
  display: block; }

@media (min-width: 992px) {
  .col-full-booking {
    width: 78%; } }

.booking-main {
  background: #fff;
  box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
  min-height: calc( 100% - 9.375rem );
  padding: 1.875rem 3.125rem 3.125rem 3.125rem;
  border-radius: 1.5625rem 1.5625rem 0 0; }
  @media (max-width: 991px) {
    .booking-main {
      box-shadow: none;
      padding: 1.4375rem 0 2.5rem 0;
      border-radius: 0;
      position: relative;
      min-height: 0; }
      .booking-main::before {
        content: "";
        position: absolute;
        height: 1rem;
        width: calc( 100% + 28px + 28px );
        left: -28px;
        top: 0;
        height: 1rem;
        border-radius: 1rem 1rem 0 0;
        background-color: #fff; } }
    @media (max-width: 991px) and (max-width: 429px) {
      .booking-main::before {
        width: calc( 100% + 20px + 20px );
        left: -20px; } }

.btn-info {
  display: inline-block;
  width: 1.5625rem;
  height: 1.5625rem;
  border: none;
  position: relative; }
  .btn-info > span {
    position: relative;
    display: block;
    z-index: 1;
    width: 100%;
    line-height: 1.5625rem;
    font-size: 0.875rem;
    text-align: center;
    color: #003b4a;
    background-color: #f2ce00;
    border-radius: 0.78125rem;
    cursor: pointer; }
  .btn-info .infowindow {
    position: absolute;
    z-index: 200;
    width: 43.75rem;
    height: auto;
    background: #fff;
    border-radius: 1rem;
    padding: 2.1875rem 2.5rem;
    box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
    left: -15.625rem;
    top: -6.25rem;
    cursor: default;
    text-align: center;
    transition: all 0.2s;
    opacity: 0;
    visibility: hidden; }
    .btn-info .infowindow .cta:first-child:last-child {
      min-width: 70%; }
  @media (min-width: 992px) and (hover: hover) {
    .btn-info:hover .infowindow {
      opacity: 1;
      visibility: visible; } }
  .btn-info.open .infowindow {
    opacity: 1;
    visibility: visible; }
  @media (max-width: 991px) {
    .btn-info {
      width: 1.25rem;
      height: 1.25rem;
      position: static; }
      .btn-info > span {
        line-height: 1.25rem;
        border-radius: 0.625rem; } }

.btn-quantity-control {
  display: flex;
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 1.3125rem;
  background-color: #009863;
  color: #fff !important;
  align-items: center;
  justify-content: center;
  border: solid 1px transparent;
  padding: 0;
  font-size: 1.3rem;
  cursor: pointer; }
  .btn-quantity-control.minus {
    background: rgba(0, 152, 99, 0.4); }
  .btn-quantity-control.remove {
    border-color: #e40032;
    background-color: #fff;
    color: #e40032 !important;
    transform: rotate(45deg);
    font-size: 1.4rem; }

.input-quantity {
  width: 2.1875rem;
  text-align: center;
  border: none;
  padding: 0;
  margin: 0;
  display: block;
  line-height: 2.625rem;
  font-size: 1.0625rem;
  font-weight: 500; }

.quantity.row {
  flex-wrap: nowrap; }

.tbl-booking {
  display: table;
  width: 100%;
  position: relative;
  z-index: 100;
  font-size: 1.0625rem; }
  .tbl-booking td {
    border-bottom: solid 1px #EBE9E9;
    padding: 1.125rem 0.75rem 1.125rem 0; }
    .tbl-booking td:last-child {
      padding-right: 0 !important; }
  .tbl-booking tr {
    position: relative;
    z-index: 100; }
    .tbl-booking tr:hover, .tbl-booking tr.infowindow-open {
      z-index: 200; }
  body .col-booking-side .tbl-booking .ticket-type {
    line-height: 1.4em; }
  .tbl-booking .price-label {
    white-space: nowrap;
    font-size: 0.875rem;
    line-height: 2em; }
  .tbl-booking .price {
    font-size: 1.0625rem;
    line-height: 1.5em;
    font-weight: bold; }
  .tbl-booking .quantity {
    flex-wrap: nowrap; }
  .tbl-booking .date-label {
    color: #919191;
    font-size: 1rem; }
  .tbl-booking .date-selected {
    font-weight: bold;
    font-size: 1.0625rem; }
  .tbl-booking .total-tickets {
    font-weight: bold;
    font-size: 1.0625rem;
    text-align: right;
    white-space: nowrap; }
    .tbl-booking .total-tickets i {
      font-size: 1.4em;
      margin-left: 0.1em; }
  .tbl-booking .add-another {
    padding: 0.3rem 0; }
    .tbl-booking .add-another a {
      display: block;
      color: #0984E0; }
      @media (min-width: 768px) and (hover: hover) {
        .tbl-booking .add-another a {
          transition: color 0.2s, background-color 0.2s, border-color 0.2s, filter 0.2s, opacity 0.2s; }
          .tbl-booking .add-another a:hover {
            filter: brightness(1.2); } }
  .tbl-booking.no-brd td {
    border: none !important; }
  .tbl-booking.compact td {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
  @media (max-width: 991px) {
    .tbl-booking {
      font-size: 1rem; }
      .tbl-booking td {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; }
      .tbl-booking .tr-mobile td {
        padding-bottom: 0;
        border-bottom: none; }
      .tbl-booking .tr-mobile .tr-mobile-header {
        display: flex;
        align-items: center;
        padding-right: 0.625rem; }
        .tbl-booking .tr-mobile .tr-mobile-header .ticket-type {
          width: 10.9375rem;
          line-height: 1.25em; } }

.col-booking-side {
  padding-top: 9.375rem; }
  @media (min-width: 992px) {
    .col-booking-side {
      width: 28%; } }
  .col-booking-side.no-padtop {
    padding-top: 0; }
  body .main .bg-hero + .container .col-booking-side {
    padding-top: 19.5rem; }
  .col-booking-side .sticky {
    position: sticky;
    top: 1.25rem; }
  .col-booking-side .tbl-booking {
    font-size: 1rem;
    border-top: solid 1px #EBE9E9; }
    .col-booking-side .tbl-booking + .tbl-booking {
      border-top: none; }
  @media (max-width: 991px) {
    .col-booking-side {
      padding-top: 1.25rem !important; } }

.ticket-summary {
  padding-bottom: 1.25rem; }

.booking-timer {
  display: flex;
  width: auto;
  height: 4.6875rem;
  border: solid 1px #e40032;
  border-radius: 0.9375rem;
  color: #e40032;
  align-items: center;
  justify-content: center; }
  .booking-timer > div {
    display: block;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    font-size: 1.5625rem;
    font-weight: bold;
    padding: 0 0.5em;
    line-height: 1.1em;
    min-width: 7.5rem; }
  @media (max-width: 991px) {
    .booking-timer {
      height: 3.75rem; }
      .booking-timer > div {
        font-size: 1.25rem; } }

.booking-floating-btnset {
  display: none;
  position: sticky;
  background: #fff;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 2000;
  padding: 0.8125rem 0.75rem;
  overflow: hidden; }
  @media (max-width: 991px) {
    .booking-floating-btnset {
      display: block; }
      .booking-floating-btnset .booking-timer {
        max-width: 5.625rem;
        height: 3.125rem; }
        .booking-floating-btnset .booking-timer > div {
          font-size: 1rem; } }

.modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 10000;
  display: flex;
  left: 0;
  top: 0;
  background-color: rgba(0, 59, 74, 0.4);
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 6.25rem 1.875rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s; }
  .modal .window {
    display: block;
    background: #fff;
    width: 100%;
    max-width: 48.125rem;
    box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
    border-radius: 1rem;
    padding: 2.1875rem 3.125rem;
    position: relative;
    transition: all 0.3s;
    transform: translateY(-2rem);
    opacity: 0;
    text-align: center; }
    .modal .window .x {
      position: absolute;
      z-index: 200;
      right: 0.625rem;
      top: 0.625rem;
      width: 2.625rem;
      height: 2.625rem;
      text-align: left;
      overflow: hidden;
      text-indent: -9999px;
      border: none;
      padding: 0;
      background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42 42"><g fill="none" stroke="%230c9e6d"><g stroke-width="1.5"><circle cx="21" cy="21" r="21" stroke="none"/><circle cx="21" cy="21" r="20.25"/></g><g stroke-linecap="round" stroke-width="2"><path d="m14.09 14.09 15 15"/><path d="m29.09 14.09-15 15"/></g></g></svg>') center center no-repeat;
      background-size: contain; }
  .modal.open {
    opacity: 1;
    visibility: visible;
    pointer-events: inherit; }
    .modal.open .window {
      opacity: 1;
      transform: translateY(0) !important; }
  .modal.bottom-modal {
    align-items: flex-end;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden; }
    .modal.bottom-modal .window {
      max-width: none;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      transform: translateY(8rem); }
      .modal.bottom-modal .window .inner {
        max-width: 43.75rem;
        margin: auto; }
  @media (max-width: 991px) {
    .modal {
      align-items: flex-end;
      padding: 0; }
      .modal .window {
        border-radius: 0.9375rem 0.9375rem 0 0;
        transform: translateY(2rem);
        padding: 4.375rem 1.5625rem 5rem 1.5625rem; } }

.booking-extras .extra {
  border-bottom: solid 1px #EBE9E9;
  padding-bottom: 1.625rem;
  margin-bottom: 1.625rem; }
  .booking-extras .extra .photo {
    width: 12.9375rem;
    height: 16.5625rem;
    position: relative; }
    .booking-extras .extra .photo img {
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .booking-extras .extra .info {
    min-height: 9.25rem;
    margin-bottom: 0.625rem; }
  .booking-extras .extra .prices {
    margin: 0 0 1.25rem 0; }
    .booking-extras .extra .prices .price-label {
      font-size: 0.875rem;
      line-height: 1.3em; }
    .booking-extras .extra .prices .price {
      font-size: 1rem;
      font-weight: bold; }
@media (max-width: 991px) {
  .booking-extras .extra .photo {
    width: 9.6875rem;
    height: 13.125rem; }
  .booking-extras .extra .info {
    min-height: 0; }
    .booking-extras .extra .info .desc {
      font-size: 0.875rem;
      line-height: 1.6em; } }

.booking-form .form-control {
  position: relative;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #003b4a;
  background-color: #F5F6F4;
  border-radius: 0.9375rem;
  border: none;
  display: block;
  width: 100%;
  line-height: 1.2941176471em;
  padding: 2.0588235294em 1.1764705882em 0.6470588235em 1.1764705882em; }
.booking-form select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 9"><path d="M7 9 0 0h14Z"/></svg>') calc( 100% - 1.5em ) center no-repeat #F5F6F4;
  background-size: 0.824em auto;
  height: 4.375rem;
  padding-right: 3em; }
  .booking-form select.form-control.no-placeholder {
    padding-top: 1.3529411765em;
    padding-bottom: 1.3529411765em; }
.booking-form .form-group {
  position: relative;
  margin: 0 0 1rem 0;
  width: 100%; }
  .booking-form .form-group .form-control-placeholder {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4.375rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.0625rem;
    padding: 0 1.1764705882em;
    font-weight: normal;
    z-index: 10;
    pointer-events: none;
    transition: all 0.2s; }
  .booking-form .form-group .form-control {
    z-index: 1; }
    .booking-form .form-group .form-control.not-empty + .form-control-placeholder, .booking-form .form-group .form-control:focus + .form-control-placeholder {
      top: -0.875rem; }
.booking-form .form-ps {
  font-size: 1rem;
  line-height: 1.75em; }
.booking-form .form-check-label {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 1rem;
  line-height: 1.625em;
  padding: 0.375rem 0 0.125rem 0; }
  .booking-form .form-check-label input[type=checkbox], .booking-form .form-check-label input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 1px #ccc;
    width: 1.625rem;
    height: 1.625rem;
    min-width: 1.625rem;
    border-radius: 0.8125rem;
    background: #fff;
    flex: 0;
    flex-shrink: 0; }
    .booking-form .form-check-label input[type=checkbox]:checked:after, .booking-form .form-check-label input[type=radio]:checked:after {
      content: "✓";
      display: block;
      font-weight: bold;
      color: #009863; }
    .booking-form .form-check-label input[type=checkbox] + div, .booking-form .form-check-label input[type=radio] + div {
      flex: 1;
      padding-left: 0.875rem; }
@media (max-width: 991px) {
  .booking-form .form-control {
    font-size: 1rem;
    line-height: 1.375em;
    padding: 1.875em 0.75em 0.4375em 0.75em; }
  .booking-form select.form-control {
    height: 3.75rem; }
    .booking-form select.form-control.no-placeholder {
      padding-top: 1.15625em;
      padding-bottom: 1.15625em; }
  .booking-form .form-group .form-control-placeholder {
    font-size: 0.875rem;
    padding: 0 0.8571428571em;
    height: 3.75rem; }
  .booking-form .form-ps {
    font-size: 0.875rem;
    line-height: 1.4285714286em; } }

.box-enter-code {
  background-color: #ccc;
  color: #fff;
  border-radius: 1rem;
  padding: 0.9375rem; }
  .box-enter-code .input-code {
    display: block;
    background-color: #fff;
    width: 100%;
    border: none;
    font-size: 1rem;
    line-height: 1.25em;
    padding: 0.9375em 1em;
    border-radius: 1em;
    color: #003b4a;
    font-weight: 500; }
    .box-enter-code .input-code::placeholder {
      color: #003b4a;
      opacity: .8; }

.add-another-voucher .input-code {
  display: block;
  background-color: #F5F6F4;
  width: 100%;
  border: none;
  font-size: 1rem;
  line-height: 1.875em;
  padding: 0.9375em 1em;
  border-radius: 1em;
  color: #003b4a;
  font-weight: 500; }
  .add-another-voucher .input-code::placeholder {
    color: #003b4a;
    opacity: .8; }

.booking-calendar {
  padding: 0 0 3.125rem 0; }
  .booking-calendar .month-selector {
    text-align: center;
    display: flex;
    width: 100%;
    margin-bottom: 2.5rem; }
    .booking-calendar .month-selector .month {
      flex: 1;
      font-size: 1.25rem;
      line-height: 1.5em;
      white-space: nowrap;
      color: rgba(0, 0, 0, 0.3); }
      .booking-calendar .month-selector .month.active {
        font-weight: bold;
        color: #003b4a; }
    @media (max-width: 991px) {
      .booking-calendar .month-selector {
        margin-bottom: 1.25rem; }
        .booking-calendar .month-selector .month {
          font-size: 0.9375rem; } }
  .booking-calendar .sold-out {
    background-color: #DBDBDB; }
  .booking-calendar .extra-discounts {
    background-color: #D5F5DE; }
  .booking-calendar .selected {
    background-color: #FFF596; }
  .booking-calendar .park-closed {
    background-color: #FFDBDB; }
  .booking-calendar table {
    display: table;
    width: 100%;
    font-size: 1.25rem; }
    .booking-calendar table td, .booking-calendar table th {
      width: calc( 100% / 7 );
      text-align: center;
      padding: 0.375rem 0; }
    .booking-calendar table th {
      font-weight: bold;
      text-transform: uppercase;
      padding-bottom: 0.9375rem; }
    .booking-calendar table td {
      text-align: center;
      overflow: hidden; }
    .booking-calendar table .day {
      width: 3.5rem;
      line-height: 3.5rem;
      border-radius: 1.75rem;
      display: inline-block;
      position: relative;
      font-weight: normal; }
      .booking-calendar table .day.previous-month {
        color: rgba(0, 0, 0, 0.4); }
      .booking-calendar table .day.selected::after, .booking-calendar table .day.selected::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: inherit;
        z-index: 1;
        display: none;
        width: 200px; }
      .booking-calendar table .day.selected::after {
        display: block; }
      .booking-calendar table .day.selected:not(.selected-start):not(.selected-end) {
        border-radius: 0; }
        .booking-calendar table .day.selected:not(.selected-start):not(.selected-end)::after {
          left: -199px; }
        .booking-calendar table .day.selected:not(.selected-start):not(.selected-end)::before {
          display: block;
          left: calc( 100% - 1px ); }
      .booking-calendar table .day.selected.selected-start {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .booking-calendar table .day.selected.selected-start::after {
          left: calc( 100% - 1px ); }
      .booking-calendar table .day.selected.selected-end {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .booking-calendar table .day.selected.selected-end::after {
          left: -199px; }
    @media (max-width: 991px) {
      .booking-calendar table td, .booking-calendar table th {
        font-size: 0.875rem;
        padding: 0.5rem 0; }
      .booking-calendar table .day {
        width: 2.5rem;
        line-height: 2.5rem;
        border-radius: 1.25rem; } }
  .booking-calendar .calendar-legend {
    text-align: center; }
    .booking-calendar .calendar-legend .color {
      margin: 0 0 0.375rem 0; }
      .booking-calendar .calendar-legend .color .dot {
        display: block;
        width: 1.375rem;
        height: 1.375rem;
        border-radius: 0.6875rem;
        margin: auto; }
    @media (max-width: 991px) {
      .booking-calendar .calendar-legend .legend {
        font-size: 0.8125rem;
        line-height: 1.4em; } }

#footer {
  position: relative;
  z-index: 100;
  padding: 2.375rem 0;
  box-shadow: 0 0 0.875rem rgba(0, 0, 0, 0.25);
  background: #fff; }
  #footer .flinks {
    display: flex;
    width: 100%;
    max-width: 73.875rem;
    margin: auto;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 1.0625rem;
    line-height: 1.7em; }
    #footer .flinks li {
      font-weight: bold; }
      #footer .flinks li a {
        font-weight: normal;
        display: block; }
        #footer .flinks li a:hover {
          text-decoration: underline; }
  @media (max-width: 991px) {
    #footer .flinks {
      display: block; }
      #footer .flinks li {
        padding: .45em 0; } }

/* ==========================================================================
   Resposive
   ========================================================================== */
.desktop-only, .desktop-only-block, .desktop-only-table, .desktop-only-tr, .desktop-only-td, .desktop-only-inline, .desktop-only-inline-block, .desktop-only-flex {
  display: none; }

@media (min-width: 992px) {
  .desktop-only, .desktop-only-block {
    display: block !important; }

  .desktop-only-table {
    display: table !important; }

  .desktop-only-tr {
    display: table-row !important; }

  .desktop-only-td {
    display: table-cell !important; }

  .desktop-only-inline {
    display: inline !important; }

  .desktop-only-inline-block {
    display: inline-block !important; }

  .desktop-only-flex {
    display: flex !important; } }
.mobile-only, .mobile-only-block, .mobile-only-table, .mobile-only-tr, .mobile-only-td, .mobile-only-inline, .mobile-only-inline-block, .mobile-only-flex {
  display: none; }

@media (max-width: 991px) {
  .mobile-only, .mobile-only-block {
    display: block !important; }

  .mobile-only-table {
    display: table !important; }

  .mobile-only-tr {
    display: table-row !important; }

  .mobile-only-td {
    display: table-cell !important; }

  .mobile-only-inline {
    display: inline !important; }

  .mobile-only-inline-block {
    display: inline-block !important; }

  .mobile-only-flex {
    display: flex !important; } }
/* FONT-SIZE and container control */
@media (min-width: 1690px) {
  .container {
    max-width: 1656px; } }
@media (max-width: 1689px) {
  html {
    font-size: 15px; } }
@media (max-width: 1399px) {
  html {
    font-size: 14px; } }
@media (max-width: 1199px) {
  html {
    font-size: 12px; } }
@media (max-width: 991px) {
  html {
    font-size: 18px; } }
@media (max-width: 767px) {
  html {
    font-size: 16px; } }
@media (max-width: 429px) {
  html {
    font-size: 15px; }

  .container, .container-fluid {
    padding: 0 20px; } }
@media (max-width: 359px) {
  html {
    font-size: 14px; } }

/*# sourceMappingURL=main.css.map */
