* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat";
}

html{
    scroll-behavior: smooth;
    /* filter: blur(5px); */
}

a{
    text-decoration: none;
}

/* NAVBAR */

    .close-btn {
        position: absolute;
        top: 0px;
        right: 30px;
        background: none;
        border: none;
        color: white;
        font-size: 4rem;
        cursor: pointer;
        /* z-index: 1002;  */
        z-index: 3; 
    }

    .ham-menu {
        display: none;
        cursor: pointer;
        z-index: 3;
    }

    .ham-menu span {
        display: block;
        width: 25px;
        height: 2px;
        background-color: white;
        margin: 5px 0;
        transition: all 0.3s ease;
    }

    .off-screen-menu {
        position: fixed;
        top: 0;
        right: -100%;
        background-color: black;
        height: 100vh;
        width: 100%;
        transition: all 0.3s ease;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        z-index: 3;
    }

    .off-screen-menu.active {
        right: 0;
    }

    .off-screen-menu ul {
        list-style: none;
        padding: 0;
    }

    .off-screen-menu ul li {
        margin: 20px 0;
        font-size: 1.5rem;
        color: white;
        cursor: pointer;
    }

    

    
    .navbar{
        display: flex;
        position: fixed;
        width: 100%;
        padding: 25px 25px; 
        justify-content: space-between;
        align-items: center;
        background-color: black;
        z-index: 3;
        flex-wrap: wrap; 
        
       

    }

    .navbar h1{
        font-family: "DM Serif Text";
        letter-spacing: 0.05em;
        color: white;
        font-weight: 500;
        cursor: pointer;
        
    }

    .navbar-buttons{
        
        font-family: "DM Serif Text" !important;
        display: flex;
        list-style: none;
        font-size: 1.1rem;

        @media(max-width: 800px){
            display: none;
        }
        
    }

    .navbar-buttons li{
        position: relative; /* Needed for absolute positioning of ::after */
        margin: 10px 20px;
        cursor: pointer;
        font-family: "Montserrat";
        color: white;
    }

    .navbar-buttons li::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px; 
        width: 0;
        height: 2px; 
        background-color: white; 
        transition: width 0.3s ease-in-out; 
    }
    
    .navbar-buttons li:hover::after {
        width: 100%; /* Expands underline on hover */
    }

    .navbar-account-button{
        background-color: #E64D43;
        cursor: pointer;
        border: none;
        border-radius: 5px;
        height: 2.5rem;
        width: 7rem;
        color: white;
        margin-right: 4px;
        margin-left: 4px;
        font-size: 1.1rem;
        font-family: "DM Serif Text" !important;
    }

    
    .off-screen-menu{
        color: white;
        
    }

    .ham-menu{
        color: white;
        display: none;
        @media (max-width: 800px) {
            display: block;
        }
    }

/* END OF NAVBAR */

/* HERO SECTION */
    .ellipse-hero{
        display: none;
    }
    .hero-section{
        display: flex;
        justify-content:flex-end;
        padding: 0px 10px;
        height: 775px;
        /* background-color: #C6B1A3; */
        background-image: linear-gradient(rgba(198,177,163,0.8),rgba(198,177,163,0.8)), url(resources/hero.png);
        background-position: center;
        background-size: cover; 
        background-position: relative;

    }

    .hero-section-cta{
        margin-top: 94px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        width: 100%;
        /* background-color: red; */
    }

    .hero-main-text{
        font-family: "DM Serif Text";
        margin: 40px 0px;
        font-weight: 500;
        color: white;
        font-size: 3rem;
    }

    .hero-sub-text{
        font-size: 1rem;
        letter-spacing: 5px;
        
    }

    .hero-section-picture{
        width: 50%;
        position: relative;
        display: none;
    }

    .hero-buttons-div{
        margin-top: 50px;
    }

    .hero-booknow-btn{
        background-color: black;
        color: white;
        border: none;
        height: 55px;
        width: 85vw;
        margin: 10px;
        border-radius: 5px;
        font-size: 1.1rem;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
    }

    .hero-booknow-btn:hover{
        background-color: white;
        color: black;
    }

    .hero-booknow-btn:active {
        transform: scale(0.95);
    }

    .hero-services-btn{
        background-color: transparent;
        color: black;
        border: 1px solid black;
        height: 55px;
        width: 85vw;
        border-radius: 5px;
        font-size: 1.1rem;
        cursor: pointer;
        transition: all 0.3s ease-in-out;

    }

    .hero-services-btn:hover{
        background-color: black;
        color: white;

    }

    .hero-services-btn:active{
        transform: scale(0.95);
    }


/* END OF HERO SECTION */

/* STORY SECTION */
    .story-section{
        position: relative;
        display: flex;
        background-image: linear-gradient(rgba(242,232,222,0.8),rgba(198,177,163,0.8)), url(resources/story.png);
        background-position: center;
        background-size: cover; 
        background-position: relative;
        height: 700px;
        z-index: 2;
    }

    .story-section-picture{
        display: none;
    }

    .story-section-text{
        display: flex;
        flex-direction: column;
        justify-content:center;
        align-items: center;
        text-align: center;
       
    }

    .story-main-text{
        font-size: 3rem;
        font-family: "DM Serif Text";
        color: black;
    }

    .story-sub-text{
        font-size: 1rem;
        margin: 40px 20px 40px 20px;
        color: black;

        line-height: 180%;
    }

    .story-btn{
        background-color: black;
        color: white;
        border: none;
        height: 55px;
        width: 45vw;
        border-radius: 5px;
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
    }

    .story-btn:hover{
        background-color: white;
        color: black;
    }

    
    .story-btn:active {
        transform: scale(0.95);
    }
    
/* END OF STORY SECTION */

/* SERVICES SECTION */
    .services-section{
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: #C6B1A3;
        height: auto;
        position: relative;
        overflow: hidden;
        padding-bottom: 40px;
        
    }

    .services-main-text{
        font-size: 3rem;
        color: black;
        font-family: "DM Serif Text";
        z-index: 2;
        margin: 30px 0px 30px 0px;
    }

    .services-main-container{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        z-index: 2;
        /* background-color: gray; */
        width: 95vw;
        gap: 20px;
    }

    .service-container{
        margin: 5px;
        display: flex;
        align-items: center;
        height: 150px;
        border-radius: 5px ;
        width: 90%;
        /* flex-wrap: wrap; */
        
        
    }

    .service-img{
        height: 100%;
        width: 350px;
        object-fit:cover;
        border-radius: 5px;
        border-radius: 5px 0px 0px 5px;
    }

    .service-details{
        background-color: white;
        width: 100%;
        height: 100%;
        padding: 10px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        border-radius: 0px 5px 5px 0px;
    }

    .service-details-label{
        font-size: 1.2rem;
        margin-top: 0px;
        font-weight: bold;

    }

    .service-details-desc{
        
        font-size: 0.8rem;
        color: gray;
        line-height: 1.4;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 3; /* Limit to 3 lines */
        -webkit-box-orient: vertical;
        
    }

    .service-buttons-container{
        align-content: center;
    }

    .book-service-btn{
        color: white;
        background-color: black;
        border: none;
        height: 40px;
        border-radius: 5px;
        cursor: pointer;
        font-size: 1rem;
        margin-top: 10px;
        width: 48%;
        transition: all 0.3s ease-in-out;
    }

    .book-service-btn:hover{
        color: black;
        background-color: white;
        border: 1px solid black;
    }

    .book-service-btn:active {
        transform: scale(0.95);
    }

    .service-details-btn{
        color: black;
        background-color: transparent;
        border: 1px solid black;
        height: 40px;
        border-radius: 5px;
        cursor: pointer;
        font-size: 1rem;
        margin-top: 10px;
        width: 48%;
        transition: all 0.3s ease-in-out;
    }

    .service-details-btn:hover{
        color: white;
        background-color: black;
        border: none;
    }

    .service-details-btn:active{
        transform: scale(0.95);
    }

    

    .service-ellipse1{
        height: 250px;
        width: 250px;
        background-color: white;
        border-radius: 50%;
        filter:blur(50px);
        position: absolute;
        z-index: 1;
        top: -50px;
        right: -50px;
        
    }

    .service-ellipse2{
        height: 250px;
        width: 250px;
        background-color: white;
        color: white;
        border-radius: 50%;
        filter:blur(50px);
        position: absolute;
        z-index: 1;
        bottom: -50px;
        left: -50px;
    }

/* END OF SERVICES SECTION */

/* CALL TO ACTION SECTION */
    .cta-section{
        position: relative;
        width: 100%;
        z-index: 1;
        background-image: linear-gradient(rgba(242,232,222,0.8),rgba(198,177,163,0.8)), url(resources/cta.png);
        background-position:top;
        background-size: cover; 
        background-position: relative;
        height: auto;
        display: flex;
    }

    .cta-main-text{
        font-size: 2.5rem;
        font-family: "DM Serif Text";
        margin: 30px 0px 30px 0px;
    }

    .cta-sub-text{
        padding: 0px 20px;
        font-size: 1.3rem;
    }

    .cta-text{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .cta-picture{
        display: none;
    }

    .cta-button-container{
        margin: 50px 0px;
    }

    .cta-book-btn{
        background-color: black;
        color: white;
        border: none;
        height: 55px;
        width: 85vw;
        margin: 10px;
        border-radius: 5px;
        font-size: 1.1rem;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
    }

    .cta-book-btn:hover{
       background-color: transparent;
       border: 1px solid black;
       color: black;
    }

    .cta-book-btn:active{
        transform: scale(0.95);
    }

    .cta-contact-btn{
        margin: 10px;
        background-color: transparent;
        color: black;
        border: 1px solid black;
        height: 55px;
        width: 85vw;
        border-radius: 5px;
        font-size: 1.1rem;
        cursor: pointer;
        transition: all 0.3s ease-in-out;
    }

    .cta-contact-btn:hover{
        background-color: black;
        color: white;
    }

    .cta-contact-btn:active{
        transform: scale(0.95);
    }



/* END OF CALL TO ACTION SECTION */

/* FOOTER */
    .footer{
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: center;
        background-color: black;
        color: white;
        flex-wrap: wrap;

    }

    .footer-section{
        margin: 20px;
        width: 40%;
       
    }

    .footer-section p{
        font-size: 1.25rem;
        font-weight: 500;
    }

    .footer-section ul{
        line-height: 200%;
        list-style: none;
    }

    .footer-email{
        margin: 20px;
        line-height: 250%;
        grid-column: 1 / -1; 
    }

    .footer-hr{
        margin: 10px 20px;
        grid-column: 1 / -1;
    }

    .footer-email-maintext{
        font-size: 1.25rem;
        font-weight: 500;


    }

    .footer-email input{
        border-radius: 5px;
        border: none;
        font-size: 1rem;
        padding: 5px;
        width: 100%;
        height: 2.375rem;
        margin: 10px 0px;
    }

    .footer-email button{
        font-weight: 500;
        color: black;
        background-color: #C6B1A3;
        border: none;
        border-radius: 5px;
        width: 100%;
        height: 2.375rem;
        margin-bottom: 20px;
        transition: all 0.3s ease-in-out;
    }

    .footer-email button:active{
        transform: scale(0.95);
    }
    .footer-copyright{
        margin: 20px;
    }
    .footer-socmed{
        text-align: right;
        margin: 20px;
    }

    .footer-socmed i{
       
        margin: 0px 5px;
    }



/* END OF FOOTER */

/* MODAL */

    .modal-overlay{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5); 
        backdrop-filter: blur(5px); 
        z-index: 4; 
        display: none; 
        
    }
    
    .modal-container{
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        width: 80%;
        height: 40%;
        display: none;
        z-index: 5;
        
    }

    .modal-title-container{
        color: white;
        display: flex;
        align-items: center;
        background-color: #C6B1A3;
        font-size: 1.1rem;
        height: 25%;
        padding: 20px;
        border-radius: 8px 8px 0px 0px;
    }

    .modal-body-container{
        display: flex;
        align-items: center;
        background-color: white;
        font-size: 1rem;
        height: 50%;
        padding: 20px;
    }

    .modal-button-container{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background-color: #C6B1A3;
        height: 25%;
        padding:10px;
        border-radius: 0px 0px 8px 8px;
    }

    .modal-close-btn{
        color: black;
        background-color: white;
        border: 1px solid white;
        height: 100%;
        width: 30%;
        border-radius: 5px;
        margin-right: 5px;
    }

    .modal-login-btn{
        border-radius: 5px;
        background-color: black;
        color: white;
        height: 100%;
        border: none;
        width: 30%;
    }
/* END OF MODAL */

@media(min-width: 480px){

    /* NAVBAR AND HERO SECITON */

    .navbar{
        padding: 25px 25px;
    }
    .hero-section-cta{
        width: 100%;
    }
    .hero-section-picture{
        display: none;
    }

    /* STORY SECTION */

    .story-main-text{
        font-size: 3rem;
    }

    .story-sub-text{
        font-size: 1.1rem;
        margin: 40px 40px 40px 40px;
    } 

    .story-btn{
        font: 1.1rem;
    }

    /* SERVICES */
    .service-details-desc{
        -webkit-line-clamp: 3; /* Limit to 3 lines */
    }
        

}

@media(min-width: 640px){

    /* NAVBAR AND HERO SECITON */

    .navbar{
        padding: 25px 50px;
    }

    .hero-main-text{
        font-size: 4rem;
    }

    .hero-section{     
        padding: 0px 50px;
    }

    .hero-booknow-btn{
        width: 40vw;
    }
    .hero-services-btn{
        width: 40vw;
    }

    /* STORY SECTION */

    .story-main-text{
        font-size: 3.5rem;
    }

    .story-sub-text{
        font-size: 1.2rem;
    }

    .story-btn{
        font: 1.2rem;
    }

    /* SERVICES SECTION */

    .services-section{
        height: 1870px;
    }

    .service-container{
        height: 250px
    }

    .service-img{
        height: 250px;
        width: 250px;
       
    }

    .service-details-label{      
        margin-top: 10px;
    }

    .service-details-desc{
        -webkit-line-clamp: 6; 
    }

    .book-service-btn{
        margin-bottom: 10px;
    }

    /* MODAL */

    
    .modal-container{
        width: 60%; 
    }
}

@media(min-width: 768px){

    /* NAVBAR AND HERO SECITON */
    .navbar{
        padding: 25px 75px;
    }

    /* STORY SECTION */

    .story-sub-text{
        font-size: 1.2rem;
    }

    .story-btn{
        font-size: 1.2rem;
    }

    /* SERVICES SECTION */
    .services-main-text{
        font-size: 3.5rem;
    }

    .service-details-desc{      
        font-size: 0.9rem;
    }

    /* CTA SECTION */

    .cta-book-btn{
        width: 45vw;
    }

    .cta-contact-btn{
        width: 45vw;
    }

    /* FOOTER SECTION */

    .footer{
        grid-template-columns: 1fr 1fr 1fr;
        padding:30px 55px;
    }

    .footer-copyright{
        grid-column: 1 / -2;
    }

    .footer-socmed{
        grid-column: 3;
    }

    /* MODAL SECTION*/

    .modal-container{
        width: 50%; 
    }
}

@media(min-width: 1024px){
   
    /* NAVBAR AND HERO SECITON */

    .ellipse-hero{
        height: 350px;
        width: 350px;
        background-color: #d9d9d9;
        border-radius: 50%;
        filter:blur(50px);
        position: absolute;
        z-index: 0;
        top: 250px;
        right: 150px;
        display: block;
    }
    .hero-section{
        padding-left: 75px;
        padding-right: 0px;
        background-color: #C6B1A3;
        background-image:none;
    }

    .hero-main-text{
        margin: 10px 0px;
        font-size: 3.8rem;
    }

    .hero-section-cta{
        margin-top: 94px;
        display: flex;
        flex-direction: column;
        justify-content: center; 
        align-items: flex-start;
        text-align:left;
        width: 50%;
    }

    .hero-booknow-btn{
        margin: 10px 0px;
        width: 21.25vw;
        max-width: 200px;
    }

    .hero-services-btn{
        margin: 10px 20px;
        width: 21.25vw;
        max-width: 200px;

    }

    .hero-section-picture{
        position: relative;
        width: 50%;
        display: flex;
    }

    .hero-section-picture img{
        position: absolute;
        bottom: 0px;
        right: 0px;
        width: 90%;  
    }

    /* STORY SECTION */

    .ellipse-story{
        height: 350px;
        width: 350px;
        background-color: #C6B1A3;
        border-radius: 50%;
        filter:blur(50px);
        position: absolute;
        z-index: -1;
        top: 250px;
        left: 250px;
        display: block;
    }

    .story-section{
        background-image: none;
        background-color: #f2e8de;
    }

    .story-section-picture{
        display: flex;
        width: 50%;
    }

    .story-section-text{
        align-items: start;
        text-align: left;
        width: 50%;
    }
    
    .story-sub-text{
        margin: 40px 60px 40px 0px;
    }

    .story-btn{
        width: 20vw;
    }

    /* SERVICES SECTION */

    .services-main-text{
        font-size: 3.8rem;
    }
    .services-section{
        height: 1050px;
    }

    .service-container{
        height: 250px;
    }

    .service-img{
        height: 250px;
        width: 200px;
    }

    .service-container{
        width: 44%;
    }

    /* CTA SECTION */

    
    .cta-section{
        background-color: #f2e8de;
        background-image: none;
        padding: 40px 75px 0px 75px;
    }
    .cta-text{
        text-align: left;
       
        width: 50%;
        align-items: flex-start;
    }

    .cta-sub-text{
        padding: 0px;
    }

    .cta-book-btn{
        margin: 10px 0px;
    }

    .cta-contact-btn{
        margin: 10px 0px;
    }
    .cta-picture{
        
        display: flex;
        width: 50%;
    }

    .cta-picture img{
        
        object-fit: cover;
        width: 100%;
        
    }

    
    /* FOOTER SECTION */

    .footer{
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    
    }

    .footer-email{

        grid-column: 4 / -1; 
    }

    .footer-copyright{
        grid-column: 1 / 4;
    }

    .footer-socmed{
        grid-column: 4 / -1;
    }

    /* MODAL */

    .modal-container{
        width: 40%; 
    }


}

@media(min-width: 1300px){

    /* NAVBAR AND HERO SECITON */

    .ellipse-hero{
        height: 450px;
        width: 450px;
        top: 250px;
        right: 250px;
    }


    .hero-main-text{
        margin: 10px 0px;
        font-size: 4.5rem;
    }

    .hero-section-picture img{
        width: 85%;  
    }

    /* STORY SECTION */

    .ellipse-story{
        height: 450px;
        width: 450px;
        top: 200px;
        left: 150px;
    
    }

    .story-sub-text{
        margin: 40px 70px 40px 0px;
    }

    .services-section{
        height: 1050px;
    }

    /* CTA SECTION */

    .cta-book-btn{
       width: 20vw;
    }

    .cta-contact-btn{
        width: 20vw;
    }
    
    /* FOOTER */

    .footer-email{

        grid-column: 5 / -1; 
    }

    .footer-copyright{
        grid-column: 1 / 3;
    }

    .footer-socmed{
        grid-column: 5 / -1;
    }
    .footer-email input{
       
        width: 73%;
        
    }

    .footer-email button{
        
        width: 23%;
       
    }

   
    .modal-container{
      
        width: 35%;
       
    }

    .modal-title-container{
       
        font-size: 1.2rem;
       
    }

    .modal-body-container{
     
        font-size: 1.2rem;
        
    }

    .modal-button-container{
       
        padding:20px;
        border-radius: 0px 0px 8px 8px;
    }

    .modal-close-btn{
       
        height: 100%;
        width: 30%;
       
    }

    .modal-login-btn{
        
        border: none;
     
    }
   
}

@media(min-width: 1400px){

    /* NAVBAR AND HERO SECITON */
    .hero-main-text{
        font-size: 5rem;
    }

    .hero-section-picture img{
        width: 80%;  
    }

    .story-main-text{
        font-size: 4.5rem;
    }

    .story-sub-text{
        margin: 40px 80px 40px 0px;
    }

    /* SERVICES SECTION */

    .services-main-text{
        font-size: 4.5rem;
    }

    /* MODAL */

    .modal-container{
      
        width: 30%;
       
    }
   
}

@media(min-width: 1600px){
    /* NAVBAR AND HERO SECITON */
    .navbar{
        background-color: black;
    }

    .hero-main-text{
        font-size: 5rem;
    }

    .hero-section-picture img{
        width: 70%;  
    }

    /* STORY SECTION */

    .story-main-text{
        font-size: 5rem;
    }

    .story-sub-text{
        font-size: 1.5rem;
        margin: 40px 100px 40px 0px;
    }
   .story-btn{
        font-size: 1.3rem;
   }
}


