.big{
  font-size: 50px;
}


.red{
  color: #eb595f;
}

.big-headers{
  font-family: 'Baloo Tamma 2', cursive;
  font-weight: 700;
  font-size: 40px;
  color: #41303e;
}

body{
  color: #41303e;
  padding-top: 74px;
  overflow-x: hidden;
  font-family: Roboto,sans-serif;
  background-color: white;
}

#logo{
    width: auto;
    height: 34px
}

#mynavbar{
  font-size: 1.1rem;
  background-color: white;
  min-height: 40px;
  height: 80px;
  padding-left:  30px;
  padding-right: 30px;
  box-shadow: 2px 1px 5px #b8b8b8;
}
#mynavbar .nav-item{
  margin-left: 0.7rem;
}

#mynavbar .nav-link {

  color: black;
}
.c-color{
  transition: all 0.3s ease;
}

.c-color:hover{
  color: #eb595f;
  text-decoration: none;
}

#mynavbar .nav-link {
  transition: 0.3s;
}

#mynavbar .nav-link:hover {
  color: #eb595f;
}

#mynavbar .navbar-nav{
  height: auto;
}

.dropdown:hover{
  color: #eb595f;
}

.d-img{
  border-radius: 4%;
  width:200px;
  height: 113px;
}

#offering>.dropdown-menu{
  visibility: hidden;
  opacity: 0;
  display:flex;
  border-radius: 0;
  position: absolute;
  width: 470px;
  padding-top: 20px;
  padding-bottom: 20px;
  
}

#offering:hover>.dropdown-menu{
  visibility: visible;
  opacity: 1;
  transition-duration: 0.4s;
  transition-property: all;
  transition-timing-function: ease-in-out;
  transition-delay: 0.1;

}

#looks>.dropdown-menu{
  visibility: hidden;
  opacity: 0;
  display:flex;
  border-radius: 0;
  position: absolute;
  width: 1128px;
  padding-top: 20px;
  padding-bottom: 20px;

}

#looks:hover>.dropdown-menu{
  visibility: visible;
  opacity: 1;
  transition-duration: 0.4s;
  transition-property: all;
  transition-timing-function: ease-in-out;
  transition-delay: 0.1;

}

#dm >.dropdown-menu{
  visibility: hidden;
  opacity: 0;
  display: flex;
  border-radius: 0;
  position: absolute;
  justify-content: start;
  width: 260px;
  font-size: 1.1rem;


}

#dm:hover>.dropdown-menu{

visibility: visible;
opacity: 1;
transition-duration: 0.4s;
transition-property: all;
transition-timing-function: ease-in-out;
transition-delay: 0.1;


}

.ditem:hover{
  background-color: white;
  border-left: 4px solid #eb595f;

}

.dropdown-items{
  padding:20px;
}



.but{
  border-radius:24px;
  color: white;
  padding: 9px 36px;
  font-size: 13px;
  font-weight: 600;
  background-color: #eb595f;
  outline: none;
}

#navbarDropdown{
  padding-top: 28px;
  transition: 0.3s;
}










/* video */
.shad{
  text-shadow: 1px 1px 10px rgb(56, 55, 55);
}

.video-container{
  position: relative;
}

video{
  height: auto;
  vertical-align: middle;
  width: 100%;
}

.overlay-desc{

  color: white;
  font-weight: 700;
  margin-top: 70px;
  margin-left: 170px;
  margin-right: 170px;

  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;right: 0;bottom: 0;left: 0;



}

.mybtn{
  border-radius:24px;
  color: white;
  padding: 10px 53px;
  font-size: 20px;
  font-weight: 400;
  background-color: #eb595f;
}

/* pink-thing */

.pink-thing-main{
background-color: #fdeeef;

}

.pink-row{
  color: #41303e;

  padding-top:90px;
  padding-bottom: 90px;
}

p{
  font-weight: 400;
  font-size: 25px;

}
                            /* CARD SECTION */
.greyish-bg{
  padding-bottom: 70px;
  background-color: #f5f4f5;
}




.one-stop{
  padding-top: 50px;
  padding-bottom: 50px;
}

.ileft{
  border-radius: 8px;
  width: 50%;
  box-shadow: 1px 1px 10px #adadad;
  margin-right: 15px;


}
.iright{

    border-radius: 8px;
  width: 50%;
  margin-left: 15px;
    box-shadow: 1px 1px 10px #adadad;

}

h4{
  margin-left: 30px;
}

.icard{
  border-radius: 0 0 4px 4px;

  background-color: white;
}

.descrip{
  padding-left: 30px;
  padding-right: 50px;
  font-size: 17px;
  color: #7a6e77;
}



h4{
  font-weight: 500;
}




/* carousel */

.co-button{
  box-shadow: 1px 1px 10px #888888;
  border: 0;
  background-color: white;
  height: 50px;
  width: 50px;
  border-radius: 100%;
}

.white-bg{
background-color: white;
padding-top: 120px;
padding-bottom: 120px;

}

.arrow{
  height: 20px;
  width: 12px;
}

.carousel-indicators{
  margin-bottom: 2px;
  color: black;
}

.carousel-caption{
  padding-left: 20px;

  background-color: white;
  border-radius: 5px;
  color: black;
  opacity: 80%;
}

.carousel-caption p {
  font-size: 15px;
}


.carousel-caption h5 {
  font-weight: 600;
}


/* table */

.table-wrapper{
padding-top: 100px;
border: none;
padding-left: 70px;
padding-right: 70px;

}




td{
  line-height: 28px;
  text-align: left;
  border: none;
  
}




.head{
  border: none;
  font-weight: 600;
  font-size: 20px;
}

.head1{
  border: none;

}



table{
  border: none;
  font-size: 20px;
  padding :50px;
  outline: none;
}

tr{
  border:none;
}

table td:nth-child(3){
  border: none;
  border-bottom:2px dashed #b8b8b8;
  vertical-align: middle;
  
  
}

table td:nth-child(2){
  border: none;
  border-bottom:2px dashed #b8b8b8;
  box-shadow: 0 2px 6px 0 rgba(65,48,62,.12) ;
  vertical-align: middle;
  font-weight: bold;
  background-color: white;
}


table td:nth-child(1){
  border: none;
  border-bottom:2px dashed #b8b8b8;
  vertical-align: middle;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
}


#head{
  
  border-radius: 8px 8px 0 0;
  border-top-style:hidden;
  border-left-style:hidden;
  border-right-style:hidden;

  padding: 30px;
  font-size: 25px;
  background-color: #eb595f;
  color: #f5f4f5;
}



#table-button{
  font-size: larger;
}


/* 4 cards */

.card4{
  display: flex;
  justify-content: space-around;
  font-size: 20px;
  
}

.squares img{
  width: 100px;
  height: 100px;
}

.squares{
  border-radius: 10px;
  background-color: #f5f4f5;
  width: 22%;
  padding:0px 12px ;
  text-align: center;
  
    
    
}


/* videocard */

.videocard-container{
  
  padding-top: 110px;
}

.videocard-container{
  
  padding-top: 110px;
}

.videocard-container a{
  font-size: 20px;
  color: #eb595f;
}

.video-card{
  position: relative;
  padding-top:50px ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.card-body{
  text-align: center;
  font-style: italic;
}

.name-card{
  font-weight: 600;
}

.grey{
  font-style: normal;
  color: #888888;
}

.card-body{
  padding-left: 30px;
  padding-right: 30px;
}

.cards{
  border-radius: 5px;
  transition: all 0.5s ease;
}

.cards:hover{
  box-shadow: 1px 0.5px 10px #d9d6d8;
}

.card-img{
  overflow: hidden;
}

.cards img{
  transition: transform 0.5s ease;
}

.cards img:hover{
 transform:scale(1.1) ;
}










/* modal */

.modal-dialog {
  max-width: 800px;
  margin: 30px auto;
}



.modal-body {
position:relative;
padding:0px;
}
.close {
position:absolute;
right:-30px;
top:0;
z-index:999;
font-size:2rem;
font-weight: normal;
color:#fff;
opacity:1;
}










/* below video card */

.b-vc img{
  border-radius: 5px;
  width: 100%;
}

.b-vc a img{
  
  width: 13px;
  padding-left:3px ;
}



/* chatbox */

.open-button {
  background-color: #78A300 ;
  color: black;
  padding: 12px 10px;
  border: none;
  cursor: pointer;
  opacity: 0.8;
  position: fixed;
  bottom: 12px;
  right: 30px;
  width: 110px;
  font-weight: 600;
  font-size: 15px;
  align-items: center;
  border-radius: 50px;
  
}

.open-button img {
  width: 15px;
  margin-right: 5px;
}

.open-button div {
  padding: 0%;
}

.chat-popup {
  
  box-shadow: 1px 1px 10px #888888;
  width: 341px;
  display: none;
  position: fixed;
  bottom: 0;
  right: 25px;
  border:none;
  background-color: #78A300;
  z-index: 9;
  border-radius: 10px;
 
  max-height: 565px;
  min-height: 150px;
  overflow: hidden;

}

.form-container {
  max-height: 450px;
  max-width: 100%;
  padding: 30px;
  padding-bottom: 50px;
  background-color: white;
  overflow-y: scroll;
  scrollbar-width: thin;

  
}

.headsec{
  width: 100%;
  padding: 10px 10px;

  display: flex;
  align-items: center;
  text-align: center;
  position: relative;
  
}

.headsec h5{
  padding: 0%;
  margin: 0;
  
  font-size: 17px;
  font-weight: 600;
  position: absolute;
  left:35%;
}
.headsec img {
  margin-left: auto;
  padding-right: 5px;
  width: 20px;
 
}

.form-group{
  padding-top: 20px;
}

label{
  font-size: 17px;
  font-weight: 600;
}

.chat-popup footer{
  box-shadow: 0 -5px 5px -5px  #888888;
  width: 100%;
  background-color: white;
  padding: 20px;
  display: flex;
  justify-content: end;
}

.chat-popup footer button{
  border: none;
  background-color: #78A300;
  padding:10px 25px;
  font-weight: 500;
  border-radius: 10px;
  color: black;
  transition: all 0.2s ease;
}

.chat-popup footer button:hover{
  background-color: rgb(128, 175, 0);

}

*:focus {
  outline-width: 0px !important;
}









/* mytabs */

.my-tabs h1{
  font-size: 45px;
  margin-bottom: 0;
  font-weight: 600;
}



.my-tabs {

  padding-top: 70px;
 
}


.my-tabs p{
  font-size: 20px;
  margin-bottom: 0;
}


.tab-container{
  width: 100%;
}

.tab-container .button-container{
  border-bottom: 2px solid #b9b9b9;;
  height: 40%;
  box-sizing: border-box;
}

.tab-container .button-container button{
  text-align: left;
  height: 100%;
  border: none;
  outline: none;
  cursor: pointer;
  padding-top: 12px;
  padding-left: 0;
  padding-right: 15px;
  padding-bottom: 18px;
  font-size: 18px;
  color: #7a6e77;;
  background-color:#f5f4f5; 
  transition: all 0.3s  ease;
  box-sizing: border-box;
}

.tab-container .button-container button:hover{
  
  color: #eb595f;
}


.tab-container  .tab-panel a{
 color:#eb595f; 
  
}
.tab-container  .tab-panel{
display: none;
  
}


.tab-container  .tab-panel .video-card .card-body{
  background-color: #f5f4f5;
  text-align: left;
  padding-left: 0;
  margin-left: 0;
  
}

.tab-container  .tab-panel .video-card .cards{
  border: none;
  
  
}

.tab-container  .tab-panel .video-card {
 padding-top: 20px;
  
  
}

.tab-container  .tab-panel .video-card .cards:hover{
  box-shadow: none;

  
}






/* design fix */

.design-fix h1{
  font-size: 45px;
  margin-bottom: 0;
}


.design-fix p{
  font-size: 20px;
  margin-bottom: 0;
}

.design-fix a{
  color: #eb595f;
}


.design-fix .card-text{
  font-weight: 600;
}

.design-fix .card{
  border: none;
}
.design-fix .card img{
  border-radius: 5px;
}


/* news */

.news{
  font-size: 50px;
  padding-top: 50px;
  padding-bottom: 20px;
}

.reviews{
  margin: 0;
  padding:0;
  display: flex;
  justify-content: space-between;
  flex-shrink: 1;

}

.reviews .square{
  height: 190px;
  border:1px solid #eceaeb;
  border-radius: 4px;
  padding:20px;
  background-color: white;
  text-align: left;
  margin-left: 1rem;
  margin-right: 1rem;

  max-width: 350px;
}

.reviews .square img{
  
 width: 200px;
}

.reviews .square p{
  margin-top: 8px;
  line-height: 24px;
  text-align: center;
  font-size: 16px;
}






/* semi-footer */

#semi-footer{
  height: 450px;
  padding: 0;
 position: relative;

}

#semi-footer div{
  display: flex;
 flex-direction: column;
 align-items: center;
  justify-content: space-around;
  position: absolute;
  top:170px;
  left: 50vh;
  
}

#semi-footer img{
  width: 100%;
  
  
}
#semi-footer small{
  color: #b8b8b8;
  position: relative;
  top: 20px;
  padding-left: 10%;
  padding-right: 10%;
  text-align: center;
  
  
}
#semi-footer a{
  color: #eb595f;
  position: relative;
  
  padding-left: 10%;
  padding-right: 10%;
  text-align: center;
  
  
}

/* footer */

.footer{
  font-size: 14px;
  color: white;
  background-color:#41303e;
}

.footer a {
  color: white;
}
.footer .top-sec{
  padding-bottom: 60px;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
}

.footer .top-sec img{
  width: 200px;
}

.footer .top-sec svg{
width: 25px;
height: 25px;
}
 

.logs{
  width: 100%;
  justify-content: space-between;
}

.foot-sec{
  width: 280px;
}

.foot-sec .row{
  padding-top: 10px;
}


hr.style-one {
  margin-bottom: 0;
  border: 0;
  height: 1px;
  background: black;
  background-image: linear-gradient(to right,  rgb(99, 99, 99), rgb(99, 99, 99), rgb(153, 153, 153));
}

.bottom-sec{
  justify-content: space-around;
  padding-top: 20px;
  padding-bottom: 20px;
}

.country{
  margin-left:auto;
  margin-right: 5px;
}

.ind{
  padding:5px 10px;
  border-radius: 50px;
  border: 2px solid red;
}
.ind img{
  margin-right: 5px;
  
  width: 30px;
 
}

.SG{
  padding-left: 10px;
  padding-right: 10px;
}

.SG img{
  margin-right: 5px;
  
  width: 30px;
 
}

/* Responsive fixes */
.video-container { position: relative; overflow: hidden; }
.video-container video {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  max-height: 65vh;
}

/* overlay responsive and centered */
.overlay-desc { padding: 1rem; text-align: center; }
.overlay-desc h1 { font-size: calc(1.2rem + 2.2vw); line-height: 1.05; margin-bottom: .5rem; }
.overlay-desc h5 { font-size: 1rem; }

/* reduce large left/right margins that caused overflow */
.pink-row { padding-left: 1rem !important; padding-right: 1rem !important; margin-left: 0 !important; margin-right: 0 !important; }

/* make ileft/iright flexible */
.ileft, .iright { width: 100%; margin: .5rem 0; box-shadow: 1px 1px 10px #adadad; }

/* cards responsive */
.video-card .card, .tab-panel .card, .design-fix .card { width: 100%; max-width: 22rem; margin: 0.5rem auto; }
.video-card { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

/* card4 layout */
.card4.container { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; }
.card4 .squares { flex:1 1 160px; min-width:160px; text-align:center; }

/* table responsiveness */
.table-wrapper { padding-left: 1rem; padding-right: 1rem; padding-top: 60px; }
.table-wrapper .table-responsive { overflow-x:auto; }

/* design fix cards */
.design-fix .card { width:100%; max-width: 346px; margin-bottom: .75rem; }

/* smaller paddings and font sizes on small devices and hide video for cheap bandwidth */
@media (max-width: 767.98px) {
  .overlay-desc h1 { font-size: 1.6rem; }
  .display-5, .display-4, .display-3 { font-size: 1.6rem; }
  .btn.mybtn { padding: .625rem 1rem; font-size: .95rem; }
  .pink-thing-main .col-sm-6 { padding-left: .5rem; padding-right: .5rem; }
  .video-container video { display:none; }
  .video-container { background-image: url('assets/imgs/banneralt.jpg'); background-size: cover; background-position: center; min-height: 220px; }
  .table-wrapper .table { font-size: 0.95rem; }
  .card4.container { flex-direction: column; align-items: center; }
  .reviews { flex-direction: column; gap: 1rem; }
  #semi-footer div { left: 25%; top: 120px; }
}

/* medium screens tweaks */
@media (min-width: 768px) and (max-width: 991.98px) {
  .overlay-desc h1 { font-size: 2rem; }
  .video-container video { max-height: 50vh; }
}

/* ensure images are fluid */
img { max-width: 100%; height: auto; display: block; }
/* Append: responsive mega-dropdown adjustments (paste at end of master.css) */

/* Mega-menu: desktop = absolute/flex layout, mobile = stacked inside collapsed nav */
.dropdown-menu.mega-menu {
  border-radius: 4px;
  background-color: white;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

/* Desktop: make mega-menu full width and positioned under navbar */
@media (min-width: 768px) {
  .dropdown-menu.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 0.25rem;
  }
  .dropdown-menu.mega-menu .d-md-flex { align-items: flex-start; }
}

/* Mobile: drop back to normal stacked menu inside collapse */
@media (max-width: 767.98px) {
  .dropdown-menu.mega-menu {
    position: static !important;
    width: 100% !important;
    box-shadow: none;
    border: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .dropdown-menu.mega-menu .d-md-flex { display: block !important; }
  .dropdown-menu.mega-menu .imgthing { padding: 0.5rem 0; display:flex; align-items:center; gap:.75rem; }
  .dropdown-menu.mega-menu .d-img { width: 56px; height: 56px; object-fit: cover; margin: 0; border-radius: 4px; }
  .dropdown-menu.mega-menu h6 { margin: 0; font-size: .95rem; }
  /* make consult button full width on mobile */
  .btn.but.btn-block { width: 100%; }
}

/* Small visual tweak: ensure toggler icon visible */
.navbar-toggler { border: none; }
.navbar-light .navbar-toggler-icon { background-image: none; }
/* simple icon (three bars) to replace default if overridden by custom CSS */
.navbar-toggler .navbar-toggler-icon::after {
  content: "\2630"; /* Unicode triple bar */
  font-size: 1.2rem;
  color: #41303e;
}

/* ===== Dropdown conflict fixes — keep desktop hover, stack on mobile ===== */

/* Desktop: keep hover/absolute mega-menu behaviour */
@media (min-width: 768px) {
  #offering > .dropdown-menu,
  #looks > .dropdown-menu,
  #dm > .dropdown-menu {
    visibility: hidden;
    opacity: 0;
    display: flex;
    border-radius: 0;
    position: absolute;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    background: white;
  }

  #offering:hover > .dropdown-menu,
  #looks:hover > .dropdown-menu,
  #dm:hover > .dropdown-menu {
    visibility: visible;
    opacity: 1;
  }

  /* desktop widths */
  #offering > .dropdown-menu { width: 470px; }
  #looks > .dropdown-menu { width: 1128px; }
  #dm > .dropdown-menu { width: 260px; justify-content: flex-start; }

  /* keep desktop hover color behavior */
  .dropdown:hover { color: #eb595f; }
  #navbarDropdown { padding-top: 28px; }
}

/* Mobile: override absolute/hidden behavior so menus are usable inside collapsed navbar */
@media (max-width: 767.98px) {
  #offering > .dropdown-menu,
  #looks > .dropdown-menu,
  #dm > .dropdown-menu {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    box-shadow: none;
    background: transparent;
  }

  /* Make mega menu items stack nicely and reduce image footprint */
  .dropdown-menu .d-md-flex { display: block !important; }
  .dropdown-menu .imgthing { padding: 0.5rem 0; display:flex; align-items:center; gap:.75rem; }
  .dropdown-menu .d-img { width: 56px; height: 56px; object-fit: cover; margin: 0; border-radius: 4px; }
  .dropdown-menu.mega-menu { padding-left: .5rem; padding-right: .5rem; }

  /* disable hover-based color on touch devices */
  .dropdown:hover { color: inherit; }
  #navbarDropdown { padding-top: 0; }

  /* ensure consult button is full width on small */
  .btn.but { width: 100%; display: block; }
}

/* Safe fallback: ensure general dropdown-menu doesn't get hidden by other rules */
.dropdown-menu {
  visibility: visible;
  opacity: 1;
  transition: none;
}

/* Contact page tweaks */
.icard { background: #fff; border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,0.06); }
.form-privacy { margin-top: .5rem; }
.map-wrapper iframe { border-radius: 12px; }
.map-btn { border-radius: 6px; padding: .5rem .75rem; }

/* ensure invalid feedback works with is-invalid */
.form-control.is-invalid + .invalid-feedback,
select.is-invalid + .invalid-feedback,
textarea.is-invalid + .invalid-feedback { display: block; }