@charset "UTF-8";
@import"bootstrap/bootstrap-reboot.min.css";
@import"bootstrap/bootstrap-grid.min.css";
@import"bootstrap/bootstrap-utilities.min.css";
@import"auxlm.css";
@import"owl.css";
@import"bootstrap-icons/bootstrap-icons.css";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;700&amp;family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,400&amp;display=swap");

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: .3125rem !important
}

.mt-rem-5 {
  margin-top: .3125rem !important
}

.mb-rem-10 {
  margin-bottom: .625rem !important
}

.mt-rem-10 {
  margin-top: .625rem !important
}

.mb-rem-15 {
  margin-bottom: .9375rem !important
}

.mt-rem-15 {
  margin-top: .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: .3125rem !important
  }

  .mtm-rem-5 {
    margin-top: .3125rem !important
  }

  .mbm-rem-10 {
    margin-bottom: .625rem !important
  }

  .mtm-rem-10 {
    margin-top: .625rem !important
  }

  .mbm-rem-15 {
    margin-bottom: .9375rem !important
  }

  .mtm-rem-15 {
    margin-top: .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;
}

@media(min-width:768px) and (hover:hover) {
  .cta {
    transition: color .2s, background-color .2s, border-color .2s, filter .2s, opacity .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: .7em 1em
}

.cta.logout {
  color: #000 !important;
  background-color: #f2ce00;
  width: 100px !important;
  min-width: 0;
  font-size: 1em;
  padding: 3px;
  line-height: 1.5em
}

@media(max-width:991px) {
  .cta {
    font-size: 1.375rem;
    line-height: 1.327em;
    padding: .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: .8125rem;
  border-radius: .4375rem;
  background-color: rgba(255, 255, 255, .26);
  margin: 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, .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: .5625rem;
    border-radius: .28125rem;
    margin: 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, .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, .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, .26)
}

#wrapper {
  position: relative;
  width: 100%;
  max-width: 4000px;
  margin: auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh
}

@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;
  }
}

#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: 85%;
  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: .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: 0.7rem
  }

  #header .header1 .user {
    font-size: .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 {
    transition: all .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%, #fff 95%)
  }

  .header-steps .steps::before {
    left: 0;
    background: linear-gradient(to right, #fff 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: 0;
    height: 0
  }

  .header-steps .steps ul li .step {
    font-size: .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
}

.content {
  flex-grow: 1;
  margin-bottom: 40px
}

.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: .625rem;
  border-bottom: solid 1px #ebe9e9;
  left: 0;
  bottom: -.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: 23.625rem;
  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 .1875rem .625rem rgba(0, 0, 0, .16);
  transition: transform .7s, opacity .7s
}

#tickets-hero .slide .fg .inner .box .title {
  margin-bottom: .2em
}

#tickets-hero .slide .fg .inner .box .desc {
  font-size: 1.0625rem;
  line-height: 1.65em;
  overflow: hidden;
  max-height: 4.95em;
  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: .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: .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(.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: .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: .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;
  min-height: 35em
}

.card.card-ticket .info .desc {
  font-size: 1.375rem;
  line-height: 1.6em;
  overflow: hidden;
  min-height: 6.4em
}

.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;
  min-height: 26.7em
}

.card.card-banner .info .icon {
  font-size: 1.875rem;
  margin-bottom: .4em
}

.card.card-banner .info .title {
  margin-bottom: .4em
}

.card.card-banner .info .desc {
  font-size: 1rem;
  line-height: 1.7em;
  overflow: hidden
}

@media(max-width:991px) {
  .card.card-banner .photo {
    aspect-ratio: 37/28
  }

  .card.card-banner .info {
    padding: 1.375rem .9375rem 4.0625rem .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: .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: .9375rem;
  width: 100%
}

.redeem-box .ticket-number::placeholder {
  opacity: 1;
  color: #003b4a
}

@media(max-width:991px) {
  .redeem-box {
    padding: 1.25rem .75rem .9375rem .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 .1875rem .375rem rgba(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 .1875rem .375rem rgba(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: .875rem;
  text-align: center;
  color: #003b4a;
  background-color: #f2ce00;
  border-radius: .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 .1875rem .375rem rgba(0, 0, 0, .16);
  left: -15.625rem;
  top: -6.25rem;
  cursor: default;
  text-align: center;
  transition: all .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: .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, .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 {
  padding: 10px 20px;
}

.tbl-booking td:last-child {
  padding-right: 0 !important
}

.tbl-booking tr {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid #DCDFE4;
}

.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: .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;
  white-space: nowrap
}

.tbl-booking .total-tickets i {
  font-size: 1.4em;
  margin-left: .1em
}

.tbl-booking .add-another {
  padding: .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 .2s, background-color .2s, border-color .2s, filter .2s, opacity .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: .625rem;
  padding-bottom: .625rem
}

@media(max-width:991px) {
  .tbl-booking {
    font-size: 1rem
  }

  .tbl-booking td {
    padding-top: .9375rem;
    padding-bottom: .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: .625rem
  }

  .tbl-booking .tr-mobile .tr-mobile-header .ticket-type {
    width: 10.9375rem;
    line-height: 1.25em
  }
}

@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
}

.ticket-summary {
  padding-bottom: 1.25rem
}

.booking-timer {
  display: flex;
  width: auto;
  height: 4.6875rem;
  border: solid 1px #e40032;
  border-radius: .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 .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: .8125rem .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, .4);
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 6.25rem 1.875rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all .3s
}

.modal .window {
  display: block;
  background: #fff;
  width: 100%;
  max-width: 48.125rem;
  box-shadow: 0 .1875rem .375rem rgba(0, 0, 0, .16);
  border-radius: 1rem;
  padding: 2.1875rem 3.125rem;
  position: relative;
  transition: all .3s;
  transform: translateY(-2rem);
  opacity: 0;
  text-align: center
}

.modal .window .x {
  position: absolute;
  z-index: 200;
  right: .625rem;
  top: .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: .9375rem .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: .625rem
}

.booking-extras .extra .prices {
  margin: 0 0 1.25rem 0
}

.booking-extras .extra .prices .price-label {
  font-size: .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: .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: .9375rem;
  border: none;
  display: block;
  width: 100%;
  line-height: 1.2941176471em;
  padding: 2.0588235294em 1.1764705882em .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: .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 .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: -.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: .375rem 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: .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: .875rem
}

@media(max-width:991px) {
  .booking-form .form-control {
    font-size: 1rem;
    line-height: 1.375em;
    padding: 1.875em .75em .4375em .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: .875rem;
    padding: 0 .8571428571em;
    height: 3.75rem
  }

  .booking-form .form-ps {
    font-size: .875rem;
    line-height: 1.4285714286em
  }
}

.box-enter-code {
  background-color: #ccc;
  color: #fff;
  border-radius: 1rem;
  padding: .9375rem
}

.box-enter-code .input-code {
  display: block;
  background-color: #fff;
  width: 100%;
  border: none;
  font-size: 1rem;
  line-height: 1.25em;
  padding: .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: .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 .ui-datepicker {
  width: 100%;
  height: auto;
  margin: 5px auto 0
}

.booking-calendar .ui-datepicker .ui-datepicker-header {
  text-align: center;
  display: flex;
  width: 100%;
  margin-bottom: 2.5rem
}

@media(max-width:991px) {
  .booking-calendar .ui-datepicker .ui-datepicker-header {
    margin-bottom: 1.25rem
  }
}

.booking-calendar .ui-datepicker .ui-datepicker-header>* {
  flex: 1;
  font-size: 1.25rem;
  line-height: 1.5em;
  white-space: nowrap;
  color: rgba(0, 0, 0, .3);
  cursor: pointer
}

@media(max-width:991px) {
  .booking-calendar .ui-datepicker .ui-datepicker-header>* {
    font-size: .9375rem
  }
}

.booking-calendar .ui-datepicker .ui-datepicker-header>[data-handler=prev] {
  order: 1
}

.booking-calendar .ui-datepicker .ui-datepicker-header>.ui-datepicker-title {
  order: 2;
  font-weight: bold;
  color: #003b4a
}

.booking-calendar .ui-datepicker .ui-datepicker-header>[data-handler=next] {
  order: 3
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar {
  display: table;
  width: 100%;
  font-size: 1.25rem
}

@media(max-width:991px) {
  .booking-calendar .ui-datepicker table.ui-datepicker-calendar {
    font-size: .875rem;
    padding: .5rem 0
  }
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar th {
  width: 14.2857142857%;
  text-align: center;
  padding: .375rem 0;
  font-weight: bold;
  text-transform: uppercase;
  padding-bottom: .9375rem
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td {
  width: 14.2857142857%;
  text-align: center;
  padding: .375rem 0;
  overflow: hidden
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td span, .booking-calendar .ui-datepicker table.ui-datepicker-calendar td a {
  width: 3.5rem;
  line-height: 3.5rem;
  border-radius: 1.75rem;
  display: inline-block;
  position: relative;
  font-weight: normal
}

@media(max-width:991px) {
  .booking-calendar .ui-datepicker table.ui-datepicker-calendar td span, .booking-calendar .ui-datepicker table.ui-datepicker-calendar td a {
    width: 2.5rem;
    line-height: 2.5rem
  }
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-unselectable {
  color: rgba(0, 0, 0, .4)
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-current-day>a {
  background-color: #fff596
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td.sold-out>span {
  background-color: #ffdbdb
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td.extra-discounts>a {
  background-color: #d5f5de
}

.booking-calendar .ui-datepicker table.ui-datepicker-calendar td.park-closed>span {
  background-color: #dbdbdb
}

@media(max-width:991px) {
  .booking-calendar .ui-datepicker table.ui-datepicker-calendar td, .booking-calendar .ui-datepicker table.ui-datepicker-calendar th {
    font-size: .875rem;
    padding: .5rem 0
  }

  .booking-calendar .ui-datepicker table.ui-datepicker-calendar a, .booking-calendar .ui-datepicker table.ui-datepicker-calendar span {
    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 .375rem 0
}

.booking-calendar .calendar-legend .color .dot {
  display: block;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: .6875rem;
  margin: auto
}

.booking-calendar .calendar-legend .color .dot.sold-out {
  background-color: #ffdbdb
}

.booking-calendar .calendar-legend .color .dot.extra-discounts {
  background-color: #d5f5de
}

.booking-calendar .calendar-legend .color .dot.selected {
  background-color: #fff596 !important
}

.booking-calendar .calendar-legend .color .dot.park-closed {
  background-color: #dbdbdb
}

@media(max-width:991px) {
  .booking-calendar .calendar-legend .legend {
    font-size: .8125rem;
    line-height: 1.4em
  }
}

#footer {
  position: relative;
  z-index: 100;
  padding: 2.375rem 0;
  box-shadow: 0 0 .875rem rgba(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
  }
}

.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
  }
}

@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
  }
}

#startTimesContainer {
  display: flex;
  align-items: center;
  gap: 20px 0;
  flex-flow: row wrap;
  align-content: flex-start
}

#startTimesContainer label {
  width: 20%
}

@media(max-width:991px) {
  #startTimesContainer label {
    width: 25%
  }
}

#startTimesContainer label input:checked:after {
  content: "•";
  font-size: 50px
}

.modal-info {
  position: fixed;
  display: flex;
  width: 100%;
  height: 100%;
  overflow: auto;
  left: 0;
  top: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, .7);
  align-items: center;
  justify-content: center;
  padding: 3rem 1.8rem 1.8rem;
  pointer-events: none;
  transition: all .2s;
  opacity: 0;
  visibility: hidden
}

.modal-info.open {
  opacity: 1;
  visibility: visible;
  pointer-events: inherit;
  display: flex !important
}

.modal-info.open .window {
  transform: translateY(0)
}

.modal-info .window {
  background: #fff;
  position: relative;
  border-radius: 1rem;
  max-width: 100rem;
  margin: 3.4375rem auto 0 auto;
  transition: all .3s;
  transform: translateY(-1rem);
  padding: initial !important;
  text-align: initial !important
}

.modal-info .window .close {
  position: absolute;
  display: block;
  right: 0;
  top: -2em;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #fff
}

.modal-info .window .discount-corner {
  border-top-right-radius: 1rem
}

.modal-info .window .photo {
  width: 100%;
  height: 100%;
  min-height: 30.875rem;
  position: relative;
  overflow: hidden;
  border-radius: 1rem 0 0 1rem
}

.modal-info .window .photo img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover
}

.modal-info .window .info {
  padding: 1.5rem 12.5rem 1.5rem .75rem;
  position: relative;
  border-radius: 0 1rem 1rem 0
}

.modal-info .window .info .info-title {
  font-size: 2.8125rem;
  line-height: 1.1em;
  margin-bottom: .5em;
  font-weight: 700
}

.modal-info .window .info .desc {
  line-height: 2em;
  overflow: hidden;
  height: 12em;
  margin-bottom: 2.5rem
}

.modal-info .window .info .cta:after {
  content: none
}

@media(max-width:767px) {
  .modal-info {
    align-items: flex-start
  }

  .modal-info .window {
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto
  }

  .modal-info .window .discount-corner {
    transform: scale(.8);
    transform-origin: right top
  }

  .modal-info .window .photo {
    min-height: 0;
    height: auto;
    aspect-ratio: 37/29;
    border-radius: 1rem 1rem 0 0
  }

  .modal-info .window .info {
    padding: 2.8125rem 1.875rem 1.5625rem
  }

  .modal-info .window .info .info-title {
    font-size: 1.625rem;
    margin-bottom: .65em
  }

  .modal-info .window .info .desc {
    height: 100%
  }
}

.discount-corner {
  z-index: 100;
  position: absolute;
  right: 0;
  top: 0;
  color: #f2ce00;
  display: flex;
  flex-direction: column;
  text-align: center;
  min-width: 10.8125rem;
  min-height: 10.5625rem;
  justify-content: center;
  padding: 1rem 1.25rem 2.5rem 1.75rem
}

.discount-corner:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(https://www.emeraldpark.ie/wp-content/themes/emeraldpark/assets/img/discount_corner_orange.svg) right top no-repeat;
  background-size: 100% 100%;
  z-index: -1
}

.discount-corner.discount-blue:after {
  background-image: url(https://www.emeraldpark.ie/wp-content/themes/emeraldpark/assets/css/../img/discount_corner_blue.svg)
}

.discount-corner.invert {
  right: auto;
  left: 0;
  padding: 1rem 3.25rem 5.5rem 1.75rem
}

.discount-corner.invert:after {
  transform: scale(-1, 1)
}

.discount-corner.less-padding {
  padding: 1rem 3.25rem 3.5rem 1.75rem
}

.discount-corner .line {
  font-weight: 700;
  font-size: 1.9375rem;
  line-height: 1em;
  width: 100%;
  white-space: nowrap;
  margin-bottom: .2em
}

@media(max-width:767px) {
  .discount-corner .line {
    font-size: 1.5625rem
  }
}

.discount-corner .line:last-child {
  margin-bottom: 0
}

.discount-corner .line.line-big {
  font-size: 3.25rem
}

.discount-corner .tiny .line {
  font-size: 1.5rem
}

.discount-corner .tiny .line.line-big {
  font-size: 2.5rem
}

.discount-corner .larger .line.line-big {
  font-size: 3.75rem;
  line-height: .9em;
  margin-bottom: .05em
}

.gift-card-img img {
  margin-top: 25%;
  width: 90%
}

@media(max-width:991px) {
  .gift-card-img img {
    display: none
  }
}

.box-split-content {
  display: flex;
  width: 100%;
  min-height: 34.375rem;
  border-radius: 1rem;
  overflow: hidden;
  margin: 0 auto 3.125rem auto
}

.box-split-content .col-photo {
  overflow: hidden;
  width: 50%;
  position: relative;
  background-color: inherit
}

.box-split-content .col-photo img {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .3s ease-in-out
}

.box-split-content .col-photo img:hover {
  transform: scale(1.1)
}

.box-split-content .col-main {
  background: right center no-repeat;
  background-size: cover;
  width: 50%;
  padding: 2.1875rem 1.75rem;
  color: #fff;
  display: flex;
  flex-direction: column
}

.box-split-content .col-main .title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.375em;
  margin-bottom: .3em;
  flex: 0
}

.box-split-content .col-main .tt-content {
  font-size: 1.375rem;
  line-height: 1.59em;
  max-width: 43.125rem;
  padding: 1rem 0;
  margin-bottom: 1.5em;
  flex: 1
}

.box-split-content .col-main .tt-content ul li {
  padding-left: 1.3em;
  position: relative
}

.box-split-content .col-main .tt-content ul li:before {
  content: "•";
  color: #fff;
  position: absolute;
  left: 3px;
  top: 0;
  line-height: inherit;
  transform: scale(2.5)
}

@media(max-width:991px) {
  .box-split-content {
    width: calc(100% + 1.8rem + 1.8rem);
    margin-left: -1.8rem;
    display: block;
    max-width: none;
    min-height: 0
  }

  .box-split-content .col-photo {
    width: 100%;
    aspect-ratio: 428/292
  }

  .box-split-content .col-main {
    width: 100%;
    display: block;
    padding: 1.875rem 1.8rem 1.375rem
  }

  .box-split-content .col-main .title {
    font-size: 1.625rem;
    margin-bottom: 1.1em
  }

  .box-split-content .col-main .tt-content {
    font-size: 1rem
  }
}
