* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    --thm-black: #191919;
}
html{
    scroll-behavior: smooth;
}
body {
    font-family: "Noto Serif", serif;
    font-size: 18px;
    line-height: 28px;
    --thm-green:#215A49;
    --thm-dark-green:#132823;
    background: #f8ffeb;
}
.thm-btn {
    padding: 10px 25px;
    text-decoration: none;
    overflow: hidden;
    display: block;
    width: fit-content;
    position: relative;
    cursor: pointer;
    outline: none;
    border-color: transparent;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    font-family:  "Noto Serif", serif;
}
/* pop up */
.pop-model{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    height: 100%;
    z-index: -99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    opacity: 0;
    transition: all 0.5s;
}
.pop-model.active{
    background-color: #0005;
    opacity: 1;
    z-index: 99999;
}
.pop-model .content-box{
    background-color: #fff;
    width: 100%;
    max-width: 300px;
    border-radius: 5px;
    position: relative;
}
.pop-model .content-box .close-icon{
    height: fit-content;
    width: fit-content;
    background-color: #000;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
}
.pop-model .content-box svg{
    width: 25px;
    min-width: 25px;
    height: 25px;
    user-select: none;
    display: block;
    fill: #fff;
}

/* sticky header */
.stick-header{
    transition: all 0.5s;
}
.stick-header.active .logo,
.stick-header.active nav{
opacity: 0;
visibility: hidden;
pointer-events: none;
}
.home{
    z-index: 9999;
}

img,
video,
svg {
    max-width: 100%;
}

.py-45 {
    padding-top: 45px;
    padding-bottom: 45px
}
.py-55 {
    padding-top: 55px;
    padding-bottom: 55px
}
.pt-55 {
    padding-top: 55px
}
.pb-55 {
    padding-bottom: 55px
}
.pb-45 {
    padding-bottom: 45px
}

.pt-45 {
    padding-top: 45px;
}
.thm-head-font {
    font-family: "Aoboshi One", serif;
    font-size: 30px;
    letter-spacing: 1px;
    font-weight: 500;
    line-height: 42px;
    text-transform: uppercase;
}
.thm-green-clr{
color: var(--thm-green);
}
.thm-container,
.thm-container-fluid {
    padding: 0px 15px;
    width: 100%;
    display: block;
    margin: auto;
}

.thm-container {
    max-width: 1140px;
}

.text-center {
    text-align: center;
}
.clr-white{
    color: #fff !important;
}
.clr-gold{
    color: #c6b168 !important;
}
.font-14{
    font-size: 14px;
}
.thm-clr {
    color: #F4F0BE;
}

.header-box{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
        font-size: 16px;
    color: #F4F0BE;
}
.header-box .logo {
    margin-right: 30px;
    max-width: 230px;
    width: 100%;
}
.header-box nav{
    margin: auto;
}
.header-box nav ul{
    display: flex;
    align-items: center;
    justify-content: center;
    list-style-type: none;
    flex-wrap: wrap;
}
.header-box nav ul li{
    margin: 8px;
}
.header-box nav ul li a{
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    padding: 10px 0px;
    position: relative;
    text-transform: uppercase;
    font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
.header-box nav ul li a::before{
    content: '';
    width: 0%;
    transform: translateX(-50%);
    transition: all 0.5s;
    height: 2px;
    background-color:#fff;
    bottom: 0;
    left: 50%;
    position: absolute;
}
.header-box nav ul li a:hover::before{
    width: 100%;
}
.thm-btn.dark {
    color: #fff;
    background-color: var(--thm-black);
}

.thm-btn.light {
    color: var(--thm-black);
    background-color: #fff;
    border-color: #fff;
}

.thm-btn.thmclr {
    color: #fff;
    background-color: #c7b168;
    border-color:#c7b168 ;
}

.upper {
    text-transform: uppercase;
}

.border {
    border: 1px solid var(--thm-black);
}

.thm-btn span {
    position: relative;
    display: block;
    text-shadow: 0px 45px 0px;
    transition: all 0.5s;
}

.thm-btn:hover span {
    transform: translateY(-45px);
}
.bg-green{
    background-color: var(--thm-green);
}
.thm-bg {
    background-color: #f4f0be;
}

.mxw-md {
    max-width: 920px;
    margin: auto;
    width: 100%;
}

.thm-title {
    font-size: 28px;
    line-height: 36px;
    font-weight: 600;
}
.mb-0{
    margin-bottom: 0 !important;
}
.mb-5 {
    margin-bottom: 5px;
}

.mt-5 {
    margin-top: 5px;
}

.mb-10 {
    margin-bottom: 10px;
}

.mt-10 {
    margin-top: 10px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mt-15 {
    margin-top: 15px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mt-25 {
    margin-top: 25px;
}

.justify-center{
    justify-content: center;
}
.align-center{
    align-items: center;
}
.swiper {
    width: 100%;
    height: 100%;
}
.header-box{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    padding: 10px 15px;
}
.home{
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    min-height: 100dvh;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 150px 15px 30px;
}
.home .img,.home .img::after{
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 1;
}
.home .img::after{
content: '';
background-color: #0001;
}
.home .pos-left-btn{
    position: absolute;
    z-index: 3;
    right: 15px;
    color: #fff;
    border-color: #fff;
    transition: all 0.5s;
}
.home h1{
    font-family: "Aoboshi One", serif;
    font-size: 42px;
    line-height: 52px;
    letter-spacing: 2px;
    top:0;
    font-weight: 550;
    color: #fff;
    text-align: center;
        text-transform: uppercase;
}
.home p{
    font-size: 18px;
    color: #fff;
    margin-top: 10px;
}
.home .img img{
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.home .content-box{
    max-width: 750px;
    height: 100%;
    position: relative;
    z-index: 2;
    width: 100%;
}
.home .content-box .icon{
    width: 25px;
    height: 25px;
    display: block;
    margin: 20px auto auto;
    position: relative;
}

.home .pos-left-btn:hover{
    color: #000;
    background-color: #fff;
}
.home .content-box .icon svg{
    fill: #fff;
}
/* about */
.about .img{
    max-width: 90%;
    display: block;
    margin: 20px auto;
    position: relative;
}
.about .img img{
    display: block;
}
/* .about .img::before{
    content: '';
    height: 95%;
    width: 95%;
    border: 2px dashed #fff;
    position: absolute;
    inset: 0;
    margin: auto;
} */
.about .mini-logo img{
    max-width: 300px;
    width: 100%;
    display: block;
    margin: 15px auto;
}
.about .content-box{
    /* color: #fff; */
}
.img-sec .img img{
    display: block;
}
/* gallery */
.gallery h2,
.feature h2,
.explore h2,
.rules h2,
.contact h2{
    font-family: "Aoboshi One", serif;
    font-size: 42px;
    line-height: 52px;
    letter-spacing: 2px;
    top:0;
    font-weight: 550;
    color: var(--thm-green);
    text-transform: uppercase;
}
.gallery p,
.feature p{
    /* color: #fff; */
}
.gallery .title,
.feature .title{
    margin-bottom: 45px;
}
.feature .feature-box,
.gallery .gallery-box{
    position: relative;
    max-width: 1200px;
    width: calc(100% - 100px);
    display: block;
    margin: auto;
}
.gallery .next-btn,
.gallery .prev-btn,
.feature .next-btn,
.feature .prev-btn  {
    height: 35px;
    width: 35px;
 position: absolute;
 top:50%;
 transform: translateY(-50%) scale(1.5);
 cursor: pointer;
 z-index: 999;
}
.swiper-pagination-bullet-active {
    background-color: #a59d67;
}
/* map */
.map-bg{
    background-image: url('../images/sanctuary/map/map.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}
.card{
    background-color: #fff;
    max-width: 400px;
    width: 100%;

}
.card img{
    display: block;
    width: 100%;
}
.card .text{
    padding: 30px 20px;
}
.card h2{
    font-family: "Aoboshi One", serif;
    font-size: 30px;
    line-height: 42px;
    letter-spacing: 2px;
    top:0;
    font-weight: 550;
    color: #c6b168;
    text-transform: uppercase;
}
.card-location-link{
    text-decoration: none;
    color: inherit;
}
/* contact form */
.contact {
    background-color: var(--thm-dark-green);
}
.contact form label,
.contact p {
    display: block;
    font-size: 18px;
    line-height: 28px;
    color: #fff;
}

.contact form textarea {

    min-width: 100%;
    min-height: 150px;
    max-width: 100%;

}

.contact form input,
.contact form select,
.contact form textarea {
    border-radius: 5px;
    font-weight: 400;
    margin: 6px auto 25px;
    display: block;
    width: 100%;
    padding: 12px 15px;
    font-size: 17px;
    text-transform: uppercase;
    border-color:transparent ;
    outline-color:transparent ;
    accent-color: #cfc792;
    color: var(--thm-black);

}
.contact form input::placeholder,
.contact form select::placeholder,
.contact form textarea::placeholder{
    color: #0005;
}
.contact form input:focus,
.contact form select:focus,
.contact form textarea:focus{
outline: 2px solid #0075ff;
}
.contact form input[type="checkbox"]{
  display: inline-block;
  width: fit-content;
  margin: 5px 15px 5px 0;
  height: 20px;
  width: 20px;
  min-width: 20px;
  accent-color: #5e4a22;
}
.contact form input:checked{
    border: 1px solid #5e4a22;
}
.contact form .checkbox-label{
    display: flex;
    margin-bottom: 25px;
    cursor: pointer;
}
.contact form button{
    width: 100%;
    font-size: 18px;
    text-transform: uppercase;
}
.contact form .error{
    color: #ff0000;
}
.g-recaptcha{
    margin-bottom: 20px;
    width: 100%;
    overflow: hidden;
}
.contact form .thm-col-2,
.contact form .thm-col-5,
.contact form .thm-col-6,
.contact form .thm-col-12{
position: relative;
}
.error-trigger{
    color: #ff0000;
    position: absolute;
    left: 15px;
    bottom: 0;
    font-size: 16px;
    font-weight: 500;
}
/* footer */
footer .top-footer{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    border-bottom: 1px solid #0002;
}
footer .top-footer h2{
    margin: 15px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 22px;
    line-height: 30px;
}
footer .top-footer{
     padding: 40px 0px ;   
}
footer .bottom-footer{
    padding: 30px 0px 20px;
    color: #fff;
}
footer .bottom-footer ul.social-links,
footer .bottom-footer ul.quick-links,
footer .bottom-footer ul.contact-info {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
list-style-type:none ;
margin-bottom: 10px;
}
footer .bottom-footer ul.social-links li,
footer .bottom-footer ul.quick-links li,
footer .bottom-footer ul.contact-info  li{
    margin: 5px;
}
footer .bottom-footer ul.contact-info li {
    margin: 5px 10px;
}
footer .bottom-footer ul.contact-info li a{
    color: #fff;
    text-decoration: none;
}
footer .bottom-footer ul.social-links li a{
display: flex;
align-items: center;
padding: 10px;
justify-content: center;
text-decoration: none;
text-transform: lowercase;
color: #fff;
font-weight: 500;
    transition: all 0.5s;

}
footer .bottom-footer ul.social-links li a:hover{
    text-decoration: underline;
}
footer .bottom-footer ul.social-links li a:hover img,
footer .bottom-footer ul.social-links li a:hover svg{
    transform: rotate(360deg);
}

footer .bottom-footer ul.social-links li a img,
footer .bottom-footer ul.social-links li a svg{
    display: block;
    margin-right: 8px;
    transition: all 0.5s;
        width: 25px;
    height: 25px;
    fill: var(--thm-green);
}
footer .bottom-footer ul.quick-links {
    margin-top: 15px;
}
footer .bottom-footer ul.quick-links a{
    color: #fff;
    text-decoration: none;
    padding: 10px;
    font-size: 14px;
    transition: all 0.5s;
}
footer .bottom-footer ul.quick-links a:hover{
    text-decoration: underline;
}
.page-footer .logo{
    max-width: 350px;
    width: 100%;
    display: block;
    margin: 20px auto;
}
/* pages */
.sm-head section{
    font-size: 14px;
    line-height: 24px;
}
.sm-head section.page-footer{
      font-size: 16px;
    line-height: 24px;  
}
.sm-head .thm-title {
    font-size: 24px;
    line-height: 30px;
    font-weight: 600;
}
.sm-head h4{
    font-size: 22px;
    line-height: 30px;
    margin-bottom: 8px;
}

.banner-sec{
background-repeat: no-repeat;
background-size: cover;
background-position: center;
padding: 30px 0px 45px;
}
.banner-sec .img{
    display: block;
    width: fit-content;
    margin: auto auto 30px auto;
    max-width: 200px;
}
.banner-sec h1{
    color: #fff;
    font-weight: 500;
    font-size:42px;
    line-height: 48px;
    margin: 70px auto;
}

.page-footer{
    --pg-footer: var(--thm-green);
    background-color: var(--pg-footer);
    padding: 45px 0px 10px;
}
.sm-head .page-footer .logo{
    max-width: 200px;
    width: 100%;
    display: block;
    margin: 20px auto;
}
.page-footer .contact-info,
.page-footer .social-links,
.page-footer .quick-links{
    display: flex;
    list-style-type: none;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 15px auto;
    width: 100%;
}
.page-footer .contact-info li a{
    background-color: #fff;
        color: var(--pg-footer);
}
.page-footer .social-links li a{
    color: #fff;
}
.page-footer .contact-info li a,
.page-footer .social-links li a{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px;
    padding: 8px 15px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
}
.page-footer .contact-info li a:hover .icon,
.page-footer .social-links li a:hover .icon{
    transform: rotate(360deg);
}
.page-footer .contact-info li a .icon{
    background-color: #fff;
        min-width: 30px;
}
.page-footer .social-links li a .icon img{
    min-width: 25px;
    width: 25px;
}
.page-footer .contact-info li a .icon,
.page-footer .social-links li a .icon{

    margin-right: 10px;
    transition: all 0.5s;

}
.page-footer .contact-info li a svg{
    width: 30px;
    min-width: 30px;
    height: 30px;
    display: block;
    fill: var(--pg-footer);
}
.page-footer .social-links li a svg{
    fill: var(--pg-footer);
    width: 25px;
    min-width: 25px;
    height: 25px;
    display: block;
}
.page-footer .contact-info li a img,
.page-footer .social-links  li a img{
    display: block;
}
.page-footer .quick-links  li {
    padding: 10px;
}
.page-footer .quick-links  li a{
    text-decoration: none;
    color: #fff;
    font-size: 16px;
}
.page-footer .quick-links  li a:hover{
    text-decoration: underline;
}
@media (min-width: 758.9px) {
.page-footer .contact-info {
    background: #fff;
    border-radius: 30px;
    width: fit-content;
}
}

.gallerySlider .swiper-slide{
    scale: 0.5;
    z-index: 1;
    transition: all 0.5s;
}
.gallerySlider .swiper-slide-prev,
.gallerySlider .swiper-slide-next{
    scale: 0.8;
    z-index: 2;
}
.gallerySlider .swiper-slide-active{
    scale: 1;
    z-index: 5;
}
.gallery .gallerySlider .img-box{
    border: 1px solid #215a495c;
    box-shadow: 0 -5px 10px -5px rgb(0 0 0 / .5);
    min-height: 240px;
    display: flex;
}
.gallery .gallerySlider .img-box img{
    height: auto;
    object-fit: cover;
}
.feature .feature-box .featureSlider img,
.gallery .gallerySlider img{
    display: block;
    width: 100%;
}
.feature .prev-btn,
.gallery .prev-btn{
    left: -20px;
}
.feature .next-btn,
.gallery .next-btn {
    right: -20px;
}
/* explore */
.explore {
    position: relative;
}
.explore .swiper-slide .content-box  .bottom-box{
    opacity: 0;
    transition: all 0.5s;
}
.explore .swiper-slide-active .content-box  .bottom-box{
opacity: 1;
}
.explore .content-box h2{
color: #fff;
max-width: 550px;
width: 100%;
text-shadow: 1px 1px 5px #0005;
}
.explore .content-box .top-box{
    padding: 55px 0px 350px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.explore .content-box .bottom-box{
    background-color: #0f372be6;
    max-width: 90%;
    width: 100%;
    display: block;
    margin: -70px auto 0px;
    padding: 40px;
}
.explore .swiper-slide .content-box .bottom-box{
    height: 0;
    overflow: hidden;
}
.explore .swiper-slide-active .content-box .bottom-box{
    height: 100% !important;
}
.explore .content-box .bottom-box h3{
    font-size: 42px;
    line-height: 56px;
    color: #fff;
    font-weight: 500;
}
.explore .content-box .bottom-box .icon-box{
display: flex;
align-items: center;
margin: 20px 0px;
}
.explore .content-box .bottom-box .icon-box img{
    display: block;
    width: 55px;
    min-width: 55px;
}
.explore .content-box .bottom-box .text{
    color: #c6b168;
    margin-left: 10px;
}
.explore .content-box .bottom-box .text .title{
    font-size: 22px;
    line-height: 30px;
}
.explore .content-box .bottom-box .text span{
    font-size: 14px;
}
.explore .content-box p{
    color: #ffffff;
    opacity: 0.8;
    margin: 15px 0px;
}
.explore .next-btn {
 right: 20px;
}
.explore .prev-btn{
left: 20px;
}
.explore .next-btn,
.explore .prev-btn  {
    height: 35px;
    width: 35px;
 position: absolute;
 top:350px;
 transform:scale(1.5);
 cursor: pointer;
 z-index: 999;
}