/*
 * TABLE OF CONTENTS
 * -----------------
 * 1. Global Imports
 * 2. Root Variables
 * 3. Global Styles
 * 4. Body Section
 * 5. Hero Section
 * 6. Welcome Section
 * 7. Travel Section
 * 8. Rooms Section
 * 9. Contact Section
 * 10. Map Section
 * 11. Testimonials Section
 * 12. Footer Section
 * 13. Media Queries
 */


/* 1. Global Imports */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* 2. Root Variables */
:root{
--main-color:#36454F;
--secondary-color-1:#B8B09F;
--secondary-color-2:#FFFCE8;
--secondary-color-3:#DFA671;
--secondary-color-4:#fff;
--light-color-1:rgb(184, 176, 159, .7);
--lighter-color-1:rgb(184, 176, 159, .4);
--border-radius:12px
}


/* 3. Global Styles */
*{
box-sizing: border-box;
padding: 0;
margin: 0;
}
/* Chrome, Safari, Edge */
::-webkit-scrollbar {
width: 10px;
height: 10px;
}

::-webkit-scrollbar-track {
background: var(--lighter-color-1);
border-radius: 10px;
}

::-webkit-scrollbar-thumb {
background-color: var(--secondary-color-3);
border-radius: 10px;
border: 2px solid #f0f0f0;
}


html {
scroll-behavior: smooth;
scrollbar-color: var(--secondary-color-3) var(--lighter-color-1);
scrollbar-width: thin;
overflow-x: hidden;

}

.logo{
color: var(--main-color);
}

.elements_width{
width: 1140px;
}
.smaller_width{
  width: 920px;
}

.subtitle {
color: var(--secondary-color-1);
}

.btn{
display: flex;
align-items: center;
justify-content: center;
background-color: var(--main-color);
padding: 10px 20px;
border-radius: var(--border-radius);
height: 38px;
outline: 0;
border: 0;
color: var(--secondary-color-4);
font-weight: 500;
font-size: 16px;
transition: all 0.3s ease;
}

.btn:hover {
transform: scale(1.05);
}

section {
padding: 60px 0;
}

textarea {
  border-radius: var(--border-radius);
  outline:0;
  border: 1px solid var(--light-color-1);
  padding: 8px 12px !important;
  font-size: 15px !important;
}

 input {
  border-radius: var(--border-radius);
  outline:0;
  border: 1px solid var(--light-color-1);
  height: 38px;
  padding: 8px 12px !important;
  font-size: 15px !important;
}
 input::placeholder{
  color:var(--light-color-1)
}

/* 4. Body Section */
body{
font-family: 'Poppins', sans-serif;
min-height: 100vh;
width: 100%;
overflow-x: hidden !important;

}

/* 5. Hero Section */
header{
height: 70px;
padding: 12px 0;
transition: height 0.3s ease-in-out;
}

/* Style for menu links */


#menu ul li a {
  transition: all 0.3s ease; 
  padding: 4px 8px;        
  border: 2px solid transparent;     
  display: inline-block;     
}

/* Hover effect for menu links */
#menu ul li a:hover {
  border: 2px solid var(--secondary-color-3);
  color: var(--secondary-color-3);    
  border-radius: 0;      
}
.hero_section{
background-image: url('../images/hero-bg.jpg');
background-repeat: no-repeat;
background-size: cover;
width: 100%;
text-align: center;
height: 75vh
}

.hero_section::after{
content:"";
position:absolute;
width: 100%;
height: 100%;
top:0;
left:0;
background-color: var(--lighter-color-1);
z-index: 0;
}
.hero_section .hero_child{
position: relative;
z-index: 2;
}

.hero_section .checkin_box{
border-radius: var(--border-radius);
background-color: var(--secondary-color-4);
border: 1px solid var(--secondary-color-1);
position: absolute;
bottom: -102px;
}




.hero_section .checkin_box #adults, .hero_section .checkin_box #children{
  width: 90px;
}

/* 6. Welcome Section */

.welcome_section{
  background-image: url('../images/welcome-bg.png');
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  }

.welcome_section .img_box{
  border-radius: var(--border-radius);
  height: 250px;
}
.welcome_section .img_box::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: var(--border-radius);
  background-color: rgba(0, 0, 0, 0.5);
  transition: all .6s ease-in;
}
.welcome_section .img_box:hover::after{
  background-color: rgba(255, 255, 255, 0.2);
}
.welcome_section .img_box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius);

}
.welcome_section .img_box h4{
 bottom: 0;
 left: 50%;
 transform: translate(-50%, -50%);
 z-index: 2;

}
.welcome_section .rating i {
  color: #FFE234;
}

.welcome_section .quick_features {
  color: var(--main-color);
}
.welcome_section .quick_features span i {
  font-size: 40px;
}


/* 7. Travel Section */
.travel_section{
background-color: var(--secondary-color-2)
}


/* 8. Rooms Section */
.rooms_section{
  background-color: var(--secondary-color-4);
}

.rooms_section .filter_btn{
  color: var(--main-color);
  background-color: var(--secondary-color-4);
  padding: 10px 16px;
  text-transform: uppercase;
  border-radius: var(--border-radius);
  border: 1px solid var(--main-color);
}

.rooms_section .filter_btn:hover,.rooms_section .filter_btn.active {
  color: var(--secondary-color-4);
  background-color: var(--main-color);

}

.rooms_section .hotel_box{
  border-radius: var(--border-radius);
}

.rooms_section .hotel_box img{
  border-top-left-radius:var(--border-radius) ;
  border-top-right-radius:var(--border-radius) ;
  height: 250px;
}
.rooms_section .hotel_box .rating i {
  color: #FFE234;
}


/* 9. Contact Section */
.contact_section{
  background-image: url('../images/room2.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}
.contact_section::after{
  content: '';
  background-color: rgba(0, 0, 0, 0.5);
  position:absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  z-index: 1;
}

.contact_section .contact_form{
  border-radius: var(--border-radius);
}

/* 10. Map Section */
section.map_section{
  padding: 0 !important;
}

.map_section .mapouter, .map_section .mapouter .gmap_canvas ,.map_section .mapouter iframe{
  width: 100%;
  height: 100%;
}
.styled_frame{
  border: none; 
  overflow: hidden;
  height: 100%;
  width: 100%; 
  margin: 0; 
}

/* 11. Testimonials Section */
.testimonials_section{
  background-image: url('../images/testimonials-bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}
.testimonials_section::after{
  content: '';
  background-color: rgba(0, 0, 0, 0.5);
  position:absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  z-index: 1;
}

.testimonials_section .avatar img{
  border-radius: 50%;
  width: 80px;
  height: 80px;
  object-fit: cover;
}
/* 12. Footer Section */

.footer {
  padding: 60px 20px 20px 20px;
  background-color: var(--secondary-color-4)
}

.footer p, footer li {
  color: var(--secondary-color-1);
}

/* Go to the top button */
#goUpBtn{
display: none;
background-color: var(--main-color);
width: 50px;
height: 50px;
bottom: 20px;
right: 20px;
cursor: pointer;
z-index: 1000;
}

/* Loading State */
.loading-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;  
    position: fixed;  
    width: 100%; 
    background-color: var(--secondary-color-4); 
    top: 0;
    left: 0;
    z-index: 1000; 
}
  .dots > div {
    width: 12px;
    height: 12px;
    background-color: var(--main-color);
    border-radius: 50%;
    display: inline-block;
    animation: dotFlashing 1s infinite linear alternate;
    animation-delay: 0s, 0.2s, 0.4s;
  }
  
  @keyframes dotFlashing {
    0% {
      background-color: var(--main-color);
    }
    50%, 100% {
      background-color: transparent;
    }
  }




/* 12. Media Queries */
@media (max-width: 1240px) {

html, body {
width: 100%;
overflow-x: hidden;
}
.header, .elements_width {
width: 90%;
}

}
@media (max-width: 768px) {
.header, .elements_width, .smaller_width {
width: 100%;
}
section{
padding: 60px 16px;
}


.hero_section .hero_child{
width: 100%;
max-width: 90%;
}


}

@media (min-width: 768px) {
.header, .elements_width {
width: 90%;
}
}