/* GENERAL */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

html{
  scroll-behavior: smooth;
  scroll-padding: 1rem;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
body{
  animation: slideIn 2s ;
  margin: 0;
  height: 4100px;
  background-color: white;
  padding:0;
  height: 100%;
  overflow-x: hidden;
  padding-top: 87px;
}


body::-webkit-scrollbar {
  display: none;
}

button{
  cursor:pointer;
}

a{
  cursor:pointer;
  color:rgba(250,204,51,255);
  -webkit-tap-highlight-color: rgba(250,204,51,255);
  -webkit-user-select: none;
  user-select: none;
  outline: none;
  text-decoration:none;
}

section {
  scroll-margin-top: 92px; /* adjust to your header height */
}

.vertical-container{
  display:flex;
  flex-direction:column;
  margin:0;
  padding:0;
  background-color: white;
}

.home > ul {
  margin: 0;
  padding:0;
  list-style: none;
}



.header{
  display:flex;
  flex-direction:row;
  justify-content: center;
  align-items:center;
  background-color: black;
  height:auto;
  z-index: 3;
  position:fixed;
  top: 0; 
  left: 0; 
  right: 0;
  padding-left:100px;
  padding-right:220px;
  
}

.header2{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content: center;
  background-color: black;
  height:auto;
  z-index: 3;
  position:fixed;
  top: 0; 
  left: 0; 
  right: 0;
  
  
}



a:focus {
  outline: none;
  background-color: #f0f0f0; /* A light background for focus indication */
}

.head {
  margin: 34px 0 0 0;
  font: bold larger sans-serif;
}


.head:hover{
  color:white;

}
.left-header{
  
  display:flex;
  height:auto;
  flex-direction:row;
  width:auto;
  margin:auto;
  justify-content: center;
  align-items: center;
}


@media (max-width: 968px) {

  .header {
    display:none;
        
      }
    } 
    
        .left-header a{
          margin-left:90px;
          
        }
        
        .logo-banner{
          font-size:5px;
          display: inline-block;
        }
        .logo{
          max-width: 100%;
          height:100px;
  
}

/*Navbar before about section*/


@media (max-width: 960px) {
  .sidebar  {
    list-style: none;
    position: fixed;
    top: 100px; 
    left: 0;
    right: 0;
    bottom: 0;
    height: 100vh; /* Full viewport height */
    background-color: rgba(0, 79, 48, 255);
    display: flex;
    flex-direction: column;
    z-index: 1;
    transform: translateX(-100%);
    transition: transform 0.5s ease;
    margin: 0; 
    padding: 0; 
    align-items:left;
   }
   
   
   .sidebar.active {
      transform: translateX(0);
    }
    .sidebar-menu{
      margin-top:70px;
      font-size:17px;
      padding-left: 12px;
      padding-bottom:7px;
    }
    .sidebar li {
      width: 98%;                
      text-align: left;           
      border-bottom: 5px solid rgb(0,0,0); 
    }

}

@media (min-width: 968px) {
  .sidebar li{
    display:none;
  }
  .header2{
      display: none;
      }
      
    .sidebar-menu{
      margin-top:110px;
      font-size:25px;
    }

}
/*Navbar*/

.navbar {
  text-align: center;
  position: fixed;
  width: 100%;
  top: -1;
  z-index: 1000;
  top: -50px;
  transition: top 0.3s;
}


.nav-list {
  
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  margin-left:13px;
  
}

.nav-list li {
  margin-right: 60px;
}

.nav-list a, .sidebar-menu a{
  text-decoration: none;
  color: rgba(245, 193, 45, 255);
  font-weight: bold;
}

.nav-list a:hover, .sidebar-menu a:hover{
  text-decoration: none;
  color: white;
  font-weight: bold;
}



/* Media query for screens less than 400px */
@media (max-width: 968px) {

  .navbar {
    display:inline;
    width:30px;
    height: 30px;
    top:34px;
    
  }


  .nav-list {
    display: none;
  }

  

  nav.active .nav-list {
    display: flex;
    flex-direction: column;
    text-align: center;
    background-color: #e7dddd;
  }
  
  .ham {
      position: relative; /* Needed so span positions are relative to .ham */
      width: 30px;
      height: 24px;
      cursor: pointer;
      margin-left:25px;
      margin-bottom:35px;
    }
    
    .ham span {
      height: 4px;
      width: 100%;
      background-color: rgba(245, 193, 45, 255);
      border-radius: 25px;
      position: absolute;
      left: 0;
      transition: all 0.3s ease;
    }
    
    .ham span:nth-child(1) {
      top: 0;
    }
    
    .ham span:nth-child(2) {
      top: 10px;
    }
    
    .ham span:nth-child(3) {
      top: 20px;
    }
    
    .ham.active span:nth-child(1) {
      top: 10px;
      transform: rotate(45deg);
    }
    
    .ham.active span:nth-child(2) {
      opacity: 0;
    }
    
    .ham.active span:nth-child(3) {
      top: 10px;
      transform: rotate(-45deg);
    }
}
 


/* HOME SECTION */

.image-grid {
  display: flex;
  width: 100%;
  aspect-ratio: 3 / 2;
  background-color: black;
}

.left-img {
  width: 50%;
  height: 100%;
  object-fit: fill;
  border-radius: 8px;
}

.right-images {
  width: 50%;
  display: flex;
  flex-direction: column;
  
}

.right-img {
  width: 100%;
  height: 50%;
  object-fit: contain;
  border-radius: 8px;
}

.carousel {
  display: none;
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.carousel-images {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
 
}

.carousel-item {
   
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  z-index: 0;
  pointer-events: none;
}

.carousel-item.active {
  background-color: black;    
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}


.carousel-buttons {
  display: flex;
  justify-content: center;
  
  gap: 10px;
  background-color: black;
}

.carousel-buttons input[type="radio"] {
  appearance: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(0, 79, 48, 1); 
  cursor: pointer;
  transition: background-color 0.3s ease;
  border: none;
  outline: none;
}

.carousel-buttons input[type="radio"]:checked {
  background-color: rgba(245, 193, 45, 255);
}

@media (max-width: 683px), (max-height: 572px) {
  .image-grid {
    display: none;
  }
  .carousel {
    display: block;
  }
}

@media (max-width: 480px) {
  .carousel-buttons input[type="radio"] {
    width: 2px;
    height: 2px;
  }
}

@media (min-width: 684px) and (min-height: 573px) {
  .carousel {
    display: none;
  }
}



/* ABOUT SECTION */


#About{
  background-image: url('9318.jpg');
  background-size: cover; 
  background-position: center;
}


.feed{
    display: flex;
    justify-content: center !important;
    align-content: center;
   
}
/* Base Styles */
.about-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 40px auto;  /* Center the content */
  gap: 20px;
  max-width: 1600px;  /* Set a max-width to limit expansion */
  padding: 0 20px;    /* Add some padding for smaller screens */
  padding-bottom:50px;

}

.about-photo-img {
  width: 300px;
  height: auto;
  border-radius: 10px;
}

.aboutdescription h3 {
  font-size: 18px;
  color: #dadada;
  line-height: 1.6;
  font-family:  Helvetica, sans-serif;
}


@media (max-width: 1024px) {
  .about-container {
      gap: 10px; /* Reduces space between the image and text */
  }
  .aboutdescription h3 {
      font-size: 22px;
  }
}

/* Media Query for mobile screens */
@media (max-width: 768px) {
  .about-container {
      flex-direction: column;
      align-items: center;
  }
  
  .aboutdescription h3 {
      text-align: center;
      font-size:16px;
  }
  
  .about-photo-img {
      width: 80%; /* Adjusts image width on mobile */
      padding-left: 25px;
  }
}


.details-container {
   display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0px;  /* Center the content */
  gap: 20px;
 
  padding: 0 14px;    
  padding-bottom:20px;
  
}

@media (max-width: 768px) {
  .details-container {
      flex-direction: column;
      align-items: center;
      padding: 0 24px; 
  }
} 

.details {
  
  background-size: cover; 
  background-position: center; 
  background-repeat: no-repeat;
 
  display:block;
  right:0;
}  

@media (min-width:960px) {
  .block1{
  width:80vw;
  justify-content: center;
  margin-left:10vw;
    }
}

/* PORT 1 */


.maternity{
  background-image: url('background.jpg');
  background-color: pink;
}

.port1{
  margin-bottom:40px;
  padding-top: 15px;
}


h1{
  font-size:4.5vw;
  font-family:Raleway;
  text-align:center;
  color:rgba(245,193,45,255);
  text-shadow: 0 0 0 0 #33333333;
}


h2{
  font-size:2.5vw;
  text-align:center;
  font-family:Roboto;
  color:rgba(0,79,48,255);
  font-weight: lighter;
  margin-left:20px;
  margin-right:20px;
  font-weight: bold;
}

.h2white{
    color:white;
}

@media (max-width: 767px) {
  h1 {
    font-size: 5.9vw;
  }

  h2 {
    font-size: 4.5vw;
    word-wrap: break-word;
  }
  .descript{
      margin-right:40px;
  }
}


/* PORT 2 */

.port2{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 3fr));
  padding:10px;
  grid-gap:35px;
}
#Portfolio{
  display: grid !important;
  
}
/* keeps 3x3 grid layout */

@media (min-width: 17in) {
  .port2 {
    grid-template-columns: repeat(auto-fit, minmax(400px, calc(100%/3 - 35px)));
  }
}


.categoryImages img{
  width:100%;
  border-radius: 5px;
}

.description{
  font-size:2vw;
  text-align:center;
  font-family:Raleway;
  color: rgba(0, 79, 48, 255);
  font-weight: bold;
  margin-top:15px;
}
/* responsive text */
@media (max-width: 900px) {
  .description {
    font-size: 4vw;
  }

}

.categoryImages{ 
  transition: transform .2s;

}

.categoryImages:active{
  transform: scale(1.1);
  transition: transform .2s;

}

.categoryImages:hover{
  transform: scale(1.1);
  transition: transform .2s;

}


/* Reservation */

#Reservation{
  background-image: url('9318.jpg');
  background-size: cover; 
  background-position: center;
}

/* Reviews */


#Reviews{
    
  background-image: url('../pictures/9317.jpg');
  background-size: contain; 
  background-position: center;  
}

.sk-ww-google-reviews {
  background-image: url('../pictures/9317.jpg');  
}    


/* CONTACT */

#Contact{
  background-image: url('../pictures/9318.jpg');
  background-size: cover; 
  background-position: center;

}

form {
  width: 100%;
  background-size: contain;
  background-position: center;
  max-width: 767px;
  margin: 0 auto;
  padding: 20px;
  background-color: black;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  font-family: Courier New;
  font-weight: bold;
  box-sizing: border-box; /* Ensures padding is included in width calculations */
  overflow: hidden; /* Prevents content overflow */
}

label {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
  display: block;
  color:white;
  font-family:Raleway;
}

input, select, textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #fffcfc;
  border-radius: 4px;
  font-size: 14px;
  font-family:Roboto;
}

.new-option , .selection{
    background-color: black !important;
}

textarea {
  resize: vertical;
  height: 100px;
}
/*submit button*/
button {
  width: 170px;
  height: 50px;
  padding: 12px;
  background-color: rgba(0, 79, 48, 255);
  color: white;
  border: none;
  border-radius: 23px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  display: block;
  margin: 20px auto;
  
}

button:hover {
  background-color: #8c8d8d;
}

input[type="date"],
input[type="tel"],
input[type="text"],
input[type="email"],
select {
  font-family: inherit;
  font-size: 14px;
  border: 1px solid #ccc;
  padding: 8px;
  border-radius: 4px;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #007bff;
}


@media (max-width: 767px) {
  form {
    padding: 10px;
    
  }
  
  p{
    font-size:12px;    
  }
  
  button {
    padding: 10px;
  }
}




/* Products */
#product {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

@media (max-width: 767px) {
  .new-option.reveal p {
    padding-right:15px;
    right:15px;
}
}


/* New-Select */
.new-select {
  width: 440px;  /* Increased width slightly */
  height: 40px;  /* Reduced height */
  margin: auto;
  text-align: center;
  color: #e2e2e2;
  line-height: 40px;
  position: relative;
  font-size: 14px;  /* Reduced font size */
  margin-left: 0px !important;
  margin-bottom:8px;
}

.new-select .selection {
  width: 100%;
  height: 100%;
  background-color: #3a3a3a;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  position: relative;
  z-index: 20;
  text-align: center;
  transition: transform 200ms ease-in-out;
}

.new-select .selection p {
  width: calc(100% - 50px);  /* Adjusted padding */
  
}

.new-select .selection i {
  display: block;
  width: 1px;
  height: 70%;
  position: absolute;
  right: -1px;
  top: 15%;
  background-color: #000000;
}

.new-select .selection > span {
  border-style: solid;
  border-width: 12px 6px 0 6px;  /* Adjusted arrow size */
  border-color: #bbb transparent transparent transparent;
  position: absolute;
  top: 13px; 
  right: 18px; 
}

.new-option {
  background-color: #5e5e5e;
  cursor: pointer;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 0;
  right: 0;
  margin-top: 0;  /* Removed margin-top to eliminate gaps */
  transition: all 300ms ease-in-out;
  font-size: 14px;
  height: 40px;  /* Same height as the select */
  line-height: 40px;  /* Vertically centers text */
  padding-bottom: 9px;  /* Removed padding to ensure text stays vertically centered */
  
}

.new-option.reveal {
  margin-top: 0;  /* Ensures no gap between the options when revealed */
}



/* Input form design */

input[type="text"],
input[type="email"],
input[type="tel"] {  
    border: none;  
    border-bottom: 2px solid #444;  
    background-color: white; 
    padding: 5px 0;  
    width: calc(100% - 10px);  
    font-size: 16px;  
    color: black;  
    margin-bottom: 15px;  
    text-align: left;
    font-family: Courier New;
}

/* Placeholder text styling */
input::placeholder {
    color: rgba(0, 79, 48, 255);  
    font-weight: bold;
}

textarea:placeholder{
  color: rgba(0, 79, 48, 255);  
  font-weight: bold;  
}

input:focus {
    outline: none;  
    border-bottom: 2px solid #bdc3c7;  
}

input:focus::placeholder {
    color: rgba(255, 255, 255, 0.7);  
}




/* footer of website */


.container{
	max-width: 1170px;
	margin:auto;
}
.row{
	display: flex;
	flex-wrap: wrap;
}
ul{
	list-style: none;
	padding-inline-start: 11px;
}
.footer{
	background-color: #000000;
   padding: 70px 0;
}
.footer-col{
   width: 25%;
   padding: 0 15px;
}
.footer-col h4{
	font-size: 18px;
	color:rgba(250,204,51,255);
	text-transform: capitalize;
	margin-bottom: 35px;
	font-weight: 500;
	position: relative;
}
.footer-col h4::before{
	content: '';
	position: absolute;
	left:0;
	bottom: -10px;
	background-color: hsl(var(--hue), 92%, 25%);
	height: 2px;
	box-sizing: border-box;
	width: 50px;
}
.footer-col ul li:not(:last-child){
	margin-bottom: 10px;
}
.footer-col ul li a{
	font-size: 16px;
	text-transform: capitalize;
	color: #ffffff;
	text-decoration: none;
	font-weight: 300;
	color: #bbbbbb;
	display: block;
	transition: all 0.3s ease;
}
.footer-col ul li a:hover{
	color: #ffffff;
	padding-left: 8px;
}
.footer-col .social-links a{
	display: inline-block;
	height: 40px;
	width: 40px;
	background-color: rgba(255,255,255,0.2);
	margin:0 10px 10px 0;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	color: #ffffff;
	transition: all 0.5s ease;
}
.footer-col .social-links a:hover{
	color: #24262b;
	background-color: #ffffff;
}

/*responsive*/
@media(max-width: 767px){
  .footer-col{
    width: 50%;
    margin-bottom: 30px;
}
}
@media(max-width: 574px){
  .footer-col{
    width: 100%;
}
}

.fa {
    font-size: 22px !important;
}
