:root{
  --gradient-primary:linear-gradient(270deg, #e9495a 0%, #ed8038 100%); 
  --gradient-bg-dark:linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%); 
  --max-win:1220; 
  --min-win:360;
}

body{font-family:'Mulish', Arial, sans-serif; font-size:16px;margin:0; background-color:#fff; -webkit-text-size-adjust:100%; -webkit-tap-highlight-color:transparent;}
a{text-decoration:none;}
p{margin-bottom:24px; margin-top:0;}
img{display:inline-block; max-width:100%;}
img, svg{vertical-align:middle;}
section{padding:70px 0px;}

h1, h2, h3, .display-2{font-family:'Cormorant Garamond', serif;line-height:1;font-weight:700;}
h1{--min-font:54; --max-font:92;}
h3{--min-font:24; --max-font:30;}
.form-control, .form-select, .btn{border-radius:15px; padding:14px 18px;}
.form-control, .form-select{background-color:#fafafa;border-color:#d5d5d5;}

.btn-gradient{background:var(--gradient-primary); border:none; color:white; font-weight:700; transition:all 0.3s ease;}
.btn-gradient:hover{background:linear-gradient(270deg, #d63847 0%, #dc7129 100%); color:white; transform:scale(1.05);}
.btn-cross-arrow::after{content:''; width:10px; height:10px; background:url('../img/icon-arrow-corner.svg') no-repeat center/contain; display:inline-block; vertical-align:middle; margin-left:12px;}
.send-btn::before{content:''; width:22px; height:22px; background:url('../img/icon-send.svg') no-repeat center/contain; display:inline-block; vertical-align:middle; margin-right:12px;}

.sec-head{text-align:center; margin-bottom:52px;}
.sec-head h2{--min-font:36;--max-font:60;font-weight:700; line-height:1;}
.sec-head h2 span{background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.sec-head p{font-size:15px; color:rgba(0, 0, 0, 0.5); text-transform:uppercase; margin-bottom:0; font-weight:600;}
.sec-head-white h3, .sec-head-white p{color:#ffffff;}

.gradient-text{background:var(--gradient-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}

/****** Hero Section *****/
.hero-section{min-height:100vh; position:relative;padding-top:0;padding-bottom:10px;}
.hero-section .hero-banner-bg{position:absolute; top:0; left:0; width:100%; height:100%; z-index:-1; overflow:hidden;}
.hero-section .hero-banner-bg::before{content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(180deg, rgba(0, 0, 0, 0.6) 13.83%, rgba(0, 0, 0, 0) 64.26%, rgba(0, 0, 0, 0.5) 100%); z-index:1;}
.hero-section .hero-banner-bg img{width:100%; height:100%; object-fit:cover;}
.hero-section::before{content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:var(--gradient-bg-dark);}
.hero-content{position:relative; z-index:1;}
.hero-top-content{color:#fff; text-align:center;margin:20px 0px 52px;}
.hero-top-content h1{margin-bottom:16px;}
.hero-top-content p{font-size:20px;}
.booking-form{background-color:#fff; border-radius:20px; box-shadow:0px 0px 0px 5px rgba(255, 255, 255, 0.3); padding:20px;}
.form-control-icon{background:var(--bg) no-repeat;background-position: left 15px center;padding-left: 40px;}
.down-arrow-round{display:table; margin:0px auto; border:1px solid #fff; border-radius:15px; padding:0px 4px;cursor: pointer;}
.down-arrow-icon{-moz-animation:bounce 2s infinite; -webkit-animation:bounce 2s infinite; animation:bounce 2s infinite;}

/****** Activity Section *****/
.activity-card{margin-bottom:25px; position:relative;}
.activity-card-img{border-radius:30px 30px 0 0; overflow:hidden; position:relative; margin-bottom:20px;}
.activity-card-img img{width:100%;}
.activity-card-img::after{content:''; position:absolute; bottom:0; left:0; width:100%; height:30%; background:linear-gradient(0deg, #ffffff 0%, transparent 99%);}

/****** Offers Section *****/
.offers-section{padding:50px 0; position:relative; color:#ffffff;}
.offers-section .sec-head{margin-bottom:46px;}
.offers-section::after{content:''; position:absolute; top:0; left:0; width:100%; height:100%; z-index:-2; background-color:#243241;}
.offers-section-bg{position:absolute; top:0; left:0; width:100%; height:100%; z-index:-1; overflow:hidden; object-fit:cover; opacity:0.2;}
.offer-icon{width:60px; height:60px; padding:12px; background:var(--gradient-primary); border-radius:14px; margin-right:15px;}
.offers-card{background:rgba(0, 0, 0, 0.3); border:1px solid rgba(255, 255, 255, 0.4); border-radius:25px; padding:20px; height:100%;}
.offers-card h3{margin-bottom:5px; font-size:30px;}

/****** Opening Hours Section *****/
.open-card{border-radius:25px; border:1px solid rgba(0, 0, 0, 0.15); padding:20px; height:100%;}
.open-card-header{display:flex; align-items:center; margin-bottom:15px;}
.open-card-header h3{margin-bottom:0px;}
.time-card{justify-content:space-between; align-items:center; display:flex; background-color:#F7F7F7; border-radius:15px; padding:15px; margin-bottom:15px; font-size:16px;}
.time-card .fw-bold{flex-shrink:0;margin-right: 20px}
.time-card > div{text-align: right}
.time-card-note{font-size:14px; display:flex;}
.badge-outline{padding:12px; border-radius:14px; font-weight:800; position:relative; display:table;}
.badge-outline:before{content:""; position:absolute; inset:0; padding:2px; background:var(--gradient-primary); border-radius:inherit; --m:conic-gradient(#000 0 0); mask:var(--m) content-box exclude, var(--m); pointer-events:none;}
.weather-notice{background:rgba(237, 128, 56, 0.1); border-image:var(--gradient-primary); border-radius:14px; padding:20px; border:1px solid #ED8038; margin-bottom:15px;}
.peak-badge{background:linear-gradient(270deg, rgba(233, 73, 90, 0.2) 0%, rgba(237, 128, 56, 0.2) 100%); color:#e94a59; font-weight:700; padding:4px 10px; border-radius:10px; font-size:12px;}

/****** Location Section *****/
.map-container{border-radius:25px; overflow:hidden; height:100%;min-height:370px;}

/****** Footer Section *****/
footer{background-color:#1b4370; color:#ffffff; padding:12px 0px;}

/****** Responsive Media Queries ****/
@media screen and (min-width:350px){
body, h1, h3, .sec-head h2{font-size:calc(var(--min-font) * 1px + ((var(--max-font) - var(--min-font))) * (100vw - var(--min-win) * 1px) / (var(--max-win) - var(--min-win)));}
}

@media screen and (min-width:1400px){
.container{max-width:1220px;}
body, h1, h3, .sec-head h2{font-size:calc(var(--max-font) * 1px);}
.adventures-section{padding-top:98px;}
footer{margin-top:72px;}
}

@media screen and (min-width:768px){
  .sec-head{margin-bottom:52px;}
}



/****** Animation keyframes ****/
@-moz-keyframes bounce{
0%, 20%, 50%, 80%, 100%{-moz-transform:translateY(0); transform:translateY(0);}
40%{-moz-transform:translateY(-8px); transform:translateY(-8px);}
60%{-moz-transform:translateY(-3px); transform:translateY(-3px);}
}

@-webkit-keyframes bounce{
0%, 20%, 50%, 80%, 100%{-webkit-transform:translateY(0); transform:translateY(0);}
40%{-webkit-transform:translateY(-8px); transform:translateY(-8px);}
60%{-webkit-transform:translateY(-3px); transform:translateY(-3px);}
}

@keyframes bounce{
0%, 20%, 50%, 80%, 100%{-moz-transform:translateY(0); -ms-transform:translateY(0); -webkit-transform:translateY(0); transform:translateY(0);}
40%{-moz-transform:translateY(-8px); -ms-transform:translateY(-8px); -webkit-transform:translateY(-8px); transform:translateY(-8px);}
60%{-moz-transform:translateY(-3px); -ms-transform:translateY(-3px); -webkit-transform:translateY(-3px); transform:translateY(-3px);}
}
