
:root{
  --ae-green:#003E43;
  --ae-orange:#FF5B1A;
  --ae-light:#EDF3F2;
  --ae-gray:#56686C;
  --ae-line:rgba(0,62,67,.16);
  --ae-ink:#173033;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--ae-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
}
main{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:44px 0 90px;
}
main>h1{
  max-width:900px;
  margin:18px 0 16px;
  color:var(--ae-green);
  font-size:clamp(40px,5.2vw,76px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:760;
}
main>p:first-of-type{
  max-width:760px;
  margin:0 0 46px;
  color:var(--ae-gray);
  font-size:clamp(18px,2vw,24px);
  line-height:1.45;
}
main>article{
  padding:28px 0 30px;
  border-top:1px solid var(--ae-line);
  background:transparent;
}
main>article:last-of-type{border-bottom:1px solid var(--ae-line)}
main>article h2,
main>article h3{
  margin:0 0 8px;
  color:var(--ae-green);
  font-size:clamp(24px,2.6vw,38px);
  line-height:1.12;
  letter-spacing:-.025em;
}
main>article p{
  margin:7px 0;
  color:var(--ae-gray);
  font-size:16px;
}
main>article p:nth-of-type(2){
  color:var(--ae-green);
  font-weight:650;
}
details{
  margin-top:18px;
}
summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 20px;
  border:1px solid var(--ae-green);
  border-radius:2px;
  background:var(--ae-green);
  color:#fff;
  font-weight:760;
  letter-spacing:.02em;
  cursor:pointer;
  list-style:none;
  transition:transform .18s ease,background .18s ease;
}
summary::-webkit-details-marker{display:none}
summary:hover{transform:translateY(-1px)}
details[open] summary{
  background:#fff;
  color:var(--ae-green);
}
details>*:not(summary){
  max-width:760px;
}
details form,
details section,
details div{
  margin-top:20px;
}
label{
  display:block;
  margin:16px 0 6px;
  color:var(--ae-green);
  font-size:14px;
  font-weight:700;
}
input,select,textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(0,62,67,.28);
  border-radius:2px;
  background:#fff;
  color:var(--ae-ink);
  font:inherit;
  outline:none;
}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:var(--ae-green);
  box-shadow:0 0 0 3px rgba(0,62,67,.08);
}
button,
input[type="submit"]{
  min-height:48px;
  padding:13px 20px;
  border:0;
  border-radius:2px;
  background:var(--ae-orange);
  color:#fff;
  font:inherit;
  font-weight:760;
  cursor:pointer;
}
button:hover,input[type="submit"]:hover{filter:brightness(.96)}
input[type="checkbox"],input[type="radio"]{
  width:auto;
  min-height:auto;
  margin-right:8px;
}
a{color:var(--ae-green)}
main>footer,
main .section-footer{
  padding-top:34px;
  color:var(--ae-gray);
}
@media (max-width:700px){
  main{width:min(100% - 28px,1180px);padding:28px 0 60px}
  main>h1{font-size:42px}
  main>article{padding:22px 0 24px}
  main>article h2,main>article h3{font-size:28px}
  summary{width:100%}
}


/* MOBILE BOOKING — v1.0.9 */
@media(max-width:700px){
  body{font-size:16px}
  main{
    width:min(100% - 22px,1180px);
    padding:22px 0 54px;
  }
  main>h1{
    font-size:38px;
    line-height:1;
    letter-spacing:-.04em;
    margin:10px 0 14px;
  }
  main>p:first-of-type{
    font-size:17px;
    margin-bottom:30px;
  }
  main>article{
    padding:22px 0 24px;
  }
  main>article h2,
  main>article h3{
    font-size:26px;
    line-height:1.08;
  }
  main>article p{
    font-size:15px;
  }
  summary{
    width:100%;
    min-height:50px;
    padding:14px 16px;
    text-align:center;
  }
  details>*:not(summary){
    max-width:100%;
  }
  input,select,textarea,button{
    font-size:16px;
  }
  input,select,textarea{
    min-height:50px;
  }
  button,input[type="submit"]{
    width:100%;
    min-height:50px;
  }
}
@media(max-width:390px){
  main{width:min(100% - 18px,1180px)}
  main>h1{font-size:34px}
  main>article h2,main>article h3{font-size:24px}
}


/* LIVE EVENTS CATALOG UX — v1.1.0 */
.ae-booking-back{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin:0 0 22px;
  color:var(--ae-green);
  text-decoration:none;
  font-weight:720;
}
.ae-booking-tools{
  margin:0 0 20px;
  padding:22px 0;
  border-top:1px solid var(--ae-line);
  border-bottom:1px solid var(--ae-line);
}
.ae-booking-search-label{
  display:block;
  max-width:620px;
  margin:0 0 14px;
  color:var(--ae-green);
  font-weight:760;
}
.ae-booking-search{
  margin-top:8px;
}
.ae-booking-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ae-booking-filters button{
  width:auto;
  min-height:44px;
  padding:10px 15px;
  border:1px solid rgba(0,62,67,.22);
  background:#fff;
  color:var(--ae-green);
  font-size:14px;
  font-weight:730;
}
.ae-booking-filters button.is-active{
  border-color:var(--ae-green);
  background:var(--ae-green);
  color:#fff;
}
.ae-booking-count{
  margin:12px 0 0;
  color:var(--ae-gray);
  font-size:14px;
}
main>article[hidden]{display:none!important}

@media(max-width:700px){
  .ae-booking-back{
    margin-bottom:14px;
  }
  .ae-booking-tools{
    margin-bottom:8px;
    padding:16px 0;
  }
  .ae-booking-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    margin-right:-22px;
    padding-right:22px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .ae-booking-filters::-webkit-scrollbar{display:none}
  .ae-booking-filters button{
    flex:0 0 auto;
    width:auto;
    white-space:nowrap;
  }
}
