@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oleo+Script:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
html {
  font-size: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  list-style: none;
  list-style-type: none;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  font-weight: normal; /* Uses the regular weight */
  line-height: 1.5;
  color: #000000;
  background: #FFF;
  touch-action: pan-y;
  overflow: hidden; /* Prevent default scrolling */
}

body.scrolling {
  overflow-y: hidden;
}

body.popup-open {
    overflow: hidden;
}
a,
button {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
  border: none;
  outline: none;
  background: none;
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  a,
  button {
    cursor: default !important;
    border: none;
    outline: none;
  }
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.w-33 {
	width: 32.333%;
}

.w-50 {
	width: 50%;
}

.w-100 {
	width: 100%;
}

.edge {
    width: 100%;
    height: auto;
    display: table;
}

.left {
    width: 20%;
    height: 100vh;
    display: table;
    padding: 20px 30px;	
	position: fixed;
	float: left;
	left: 0;
	border-right: 1px dashed #CCC;
	box-shadow: rgba(33, 35, 38, 0.1) 10px 0 10px -10px;
	z-index: 1;
	/* background-color: #d4d4d4; */
}

.left .logo {
	width: 100%;
	height: auto;
	display: table;
	padding: 0 0 10px 0;
}

.left .logo img {
	width: auto;
	height: auto;
	display: block;
	margin: 0 auto;
}

.left .menu {
	width: 100%;
	height: auto;
	display: table;
	padding: 25px 0;
}

.left .menu li {
	padding: 20px 0 10px 0;
	/*border-bottom: 1px dotted #CCC;*/
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 1rem;
    font-weight: bold;
	box-shadow: rgb(0 0 111 / 33%) 0px 10px 10px -10px;
	color: #000;
}

.left .menu a {
	color: #000;
}

.left .menu .menu-top {
	/*border-top: 1px dotted #CCC;*/
	padding: 10px 0 15px 0;
	color: #000;
}

/* .left .menu li:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/Whitearrow.svg);
	filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
    /*transform: rotate(180deg);*/
} */

.contact-form {
	width: 100%;
	height: auto;
	display: table;
	padding: 10px 0;
}

.contact-form h4 {
	font-size: 1rem;
    font-weight: 300;
    text-align: center;
    padding: 10px 5px;
    /* text-decoration: underline; */
    background: #000060;
    color: #FFF;
	border-radius: 10px;
}

.contact-form hr {
	border: 0;
    border-bottom: 1px dashed #ccc;
    background: #999;
}

.contact-form .form {
    width: 100%;
}

.contact-form .form-col {
    width: 100%;
	position: relative;
}

.contact-form .form-control {
    width: 100%;
    height: 30px;
    padding: 0 20px 0 15px;
    font-size: 0.9rem;
    line-height: 1.5;
    color: #000;
    /*background-color: #eee;*/
    background-image: none;
    border: 0px dotted #999;
    margin: 15px 0 0 0;
	position: relative;
	border-radius: 5px;
	box-shadow: rgba(33, 35, 38, 0.2) 0px 10px 10px -10px;
}

.contact-form .form-control.mob-form {
	padding-left: 20px;
}

.contact-form .butn {
    border: none;
    padding: 8px 0;
    text-transform: capitalize;
    border-radius: 5px;
    cursor: pointer;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    background-size: 200%;
    transition: 0.6s;
    background-color: #eb0000;
    background-position: right;
    float: right;
	width: 100%;
	margin-top: 10px;
}

.contact-form .butn:hover {
	background-position: left;
}

.contact-form .form-field-icon i {
    position: absolute;
    margin-top: 20px;
    margin-left: 10px;
    color: #332e6e;
    z-index: 2;
    left: 0;
}

.contact-form .form-field-icon i::before {
	content: "";
    display: block;
    width: 22px;
    height: 22px;
    float: left;
    margin: 3px 5px 0 0;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    cursor: pointer;
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
}

.contact-form .form-field-icon .fa-user:before {
    background-image: url(../img/icons/user.svg);
}

.contact-form .form-field-icon .fa-mobile-retro:before {
    background-image: url(../img/icons/call.svg);
}

.contact-form .form-field-icon .fa-envelope:before {
    background-image: url(../img/icons/email.svg);
}

.contact-form .error {
    color: red;
    font-size: 0.7rem;
    position: relative;
    margin-top: 5px;
}

.left .contact {
	width: 100%;
	height: auto;
	display: table;
	position: absolute;
	bottom: 0;
	padding: 30px 0;
}

.right {
    width: 80%;
    height: auto;
    display: table;
	float: left;
	position: absolute;
	right: 0;
	padding: 0 50px;
	background-color: #FFF;
}

.fullpage-section {
  height: 100vh;
  width: 100%;
  display: table;
}

/* Optional: Different background colors for each section 
.fullpage-section:nth-child(1) { background-color: #3498db; }
.fullpage-section:nth-child(2) { background-color: #2ecc71; }
.fullpage-section:nth-child(3) { background-color: #e74c3c; }
.fullpage-section:nth-child(4) { background-color: #f39c12; }

*/

#nav-dots {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.nav-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
  border: 2px solid rgba(0, 0, 0, 0.2);
}

.nav-dot:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.nav-dot.active {
  background-color: #000;
  transform: scale(1.3);
  border-color: rgba(0, 0, 0, 0.2);
}

/*.nav-dot::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  background: white;
  color: black;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 12px;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  white-space: nowrap;
}

.nav-dot:hover::after {
  opacity: 1;
}*/

/* Ensure mobile scrolling works normally */
@media (max-width: 768px) {
  body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  
  .fullpage-section {
    height: auto;
    /*min-height: 100vh;*/
  }
  
  #nav-dots {
    display: none;
  }
}




.right .banner .header  {
	width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
	padding: 20px 0;
}

.right .banner .header .head-left {	
    width: 75%;
    height: auto;
    display: table;
}

.right .banner .header .head-left h1 {
	font-size: 2rem;
	line-height: auto;
	font-weight: 400;
	color: #000060;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
}

.right .banner .header .head-left p {
    font-family: "Montserrat", sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 1px;
}

.right .banner .header .head-right {	
    width: 25%;
    height: auto;
    display: table;
}

.right .banner .header .head-right::before {
    content: "";
    display: block;
    width: 55px;
    height: 55px; /* Make it square */
    float: left;
    margin: 5px 20px 0 -20px;
    background-color: #CCC; /* Add your desired background color */
    border-radius: 50%; /* Makes it circular */
    background-repeat: no-repeat;
    background-position: center; /* Center the icon */
    background-size: 24px 24px; /* Adjust icon size inside the circle */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='black' d='M491.1 19.1l-104-24c-11.2-2.6-22.8 2.5-28.9 12.6l-48 80c-5.5 9.2-5.3 20.9.4 29.8l41.5 68.9c-23.9 45.1-61.8 83-106.9 106.9l-68.9-41.5c-8.9-5.7-20.6-5.9-29.8-.4l-80 48c-10.1 6.1-15.2 17.7-12.6 28.9l24 104c2.5 11 12.3 18.9 23.5 18.9c229.8 0 416-186.2 416-416c0-11.2-7.9-21-18.9-23.5z'/></svg>");
    cursor: pointer;
    transform: rotate(115deg);
    /*filter: brightness(0) sepia(1) hue-rotate(0deg) saturate(2);*/
}

.right .banner .header .head-right p {	
    font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 1px;
    font-family: "Montserrat", sans-serif;
}

.right .banner .header .head-right h3 {	
    font-size: 2rem;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 2rem;
	color: #000060;
    font-family: "Montserrat", sans-serif;
}

.right .banner .header .head-right a {
	color: #000;
}

			/* Sliding Banner Start */
			
			.slider-container {
				width: 100%;
				height: 76vh;
				position: relative;
				border-radius: 10px;
				overflow: hidden;
			}
			
			.slider {
				width: 100%;
				height: 100%;
				display: flex;
				transition: transform 0.5s ease-in-out;
			}
			
			.slide {
				min-width: 100%;
				height: 100%;
				position: relative;
			}
			
			.slide-img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				border-radius: 10px;
			}
			
			/* Hide mobile image by default */
			.mobile-img {
				display: none;
			}
			
			/* Navigation buttons */
			.slider-nav {
				position: absolute;
				top: 50%;
				width: 100%;
				display: flex;
				justify-content: space-between;
				transform: translateY(-50%);
				z-index: 10;
			}
			
			.slider-btn {
                background: rgba(0,0,0,0.5);
				border: none;
				padding: 15px;
				cursor: pointer;
				border-radius: 50%;
				margin: 0 20px;
				transition: all 0.3s;
				width: 60px;
				height: 60px;
				color: #FFF;
				font-weight: 300;
				font-size: 1.2rem;
			}
			
			.slider-btn:hover {
				background: rgba(255, 255, 255, 0.8);
				color: #000
			}
			
			/* Dots indicator */
			.slider-dots {
				position: absolute;
				bottom: 20px;
				left: 50%;
				transform: translateX(-50%);
				display: flex;
				gap: 10px;
				z-index: 10;
			}
			
			.dot {
				width: 12px;
				height: 12px;
				border-radius: 50%;
				background: rgba(255, 255, 255, 0.5);
				cursor: pointer;
				transition: all 0.3s;
			}
			
			.dot.active {
				background: rgba(255, 255, 255, 0.9);
			}
			
			/* Media query for mobile devices */
			@media (max-width: 768px) {
				.slider-container {
					height: 50vh;
					border-radius: 0;
				}
				
				.slide-img {
					border-radius: 0;
				}
				
				.slider-btn {
					padding: 13px;
					margin: 0 5px;
					width: 50px;
					height: 50px;
				}
				
				.desktop-img {
					display: none;
				}
				
				.mobile-img {
					display: block;
				}
			}
			
			/* Sliding Banner Start */

.about {
  background-image: url('../img/bird-bg.png');
  background-size: 40%; /* or contain, or specific dimensions like 100% 100% */
  background-position: right calc(10px + 3%); /* positions the image */
  background-repeat: no-repeat; /* prevents image from repeating */
}

.about .container {
	width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.about-col {
	width: 100%;
    height: auto;
    display: table;
	padding: 50px 0;
}

.about-col h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .about-col h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.about-col h2 {
	font-size: 2rem;
    line-height: normal;
    font-weight: 500;
    padding: 10px 0 20px; 
    color: #000060;
}

.about-col p {
	font-size: 1rem;
    font-weight: 300;
    line-height: 2rem; 
}


.price {
    background-image: url(../img/bird-bg.png);
    background-size: 50%;
    background-position: right calc(10px + 3%);
    background-repeat: no-repeat;
}

.price .container {
	width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
	padding: 50px 0;
}

.price-head {
	width: 100%;
    height: auto;
    display: table;
	padding: 0 200px 0 30px;
}

.price-head h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .price-head h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.price-head h2 {
	font-size: 2rem;
    line-height: normal;
    font-weight: 500;
    padding: 10px 0 20px; 
    color: #000060;
}

.price-head p {
	font-size: 1rem;
    font-weight: 300;
    line-height: 2rem;
	margin: 0 0 20px 0;
}

.price-choose-col {
	width: 33.333%;
	height: auto;
	display: table;
	padding: 10px 25px;
}

.price-choose-col-inner {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
    align-items: center;
	border: 1px solid #999;
	padding: 20px;
    flex-wrap: wrap;
    margin: 0 auto;
	border-radius: 10px;	
}

.price-choose-col-inner-right {
	width: 100%;
	height: auto;
	display: table;
}

.price-icon {
	width: 45%;
    height: auto;
    display: table;
    margin: -50px auto 10px auto;
    position: relative;
    background-color: #FFF;
    padding: 30px;
    border-radius: 100%;
    box-shadow: 0 0 0 10px #fff;
    outline: 1px solid #000;
    outline-offset: -10px;	
    text-align: center;
}

.price-icon .fa{
    font-size: 30px;
}

.price-icon:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    position: absolute;
    left: -60px; /* Matches your negative margin-left */
    top: 50%;
    margin-top: -15px; /* Half of height for perfect vertical centering */
    background-repeat: no-repeat;
    background-size: 40px 30px;
    background-position: center;
    cursor: pointer;
    background-image: url(../img/icons/blur-on.svg);
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
    
    /* Enhanced effects */
    transition: all 0.3s ease;
    opacity: 0.8;
}

/* Hover Effects */
.price-icon:hover:before {
    opacity: 1;
    filter: brightness(0.4) sepia(9) hue-rotate(360deg) saturate(3);
    transform: translateX(-3px); /* Slight pull effect */
}

.price-icon:after {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    position: absolute;
    right: -60px; /* Matches your negative margin-left */
    top: 50%;
    margin-top: -15px; /* Half of height for perfect vertical centering */
    background-repeat: no-repeat;
    background-size: 40px 30px;
    background-position: center;
    cursor: pointer;
    background-image: url(../img/icons/blur-on.svg);
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
    
    /* Enhanced effects */
    transition: all 0.3s ease;
    opacity: 0.8;
}

/* Hover Effects */
.price-icon:hover:after {
    opacity: 1;
    filter: brightness(0.4) sepia(9) hue-rotate(360deg) saturate(3);
    transform: translateX(3px); /* Slight pull effect */
}



.price-choose-col-inner-right img {
	width: 100%;
    height: auto;
    display: block;
    filter: brightness(0.2) sepia(9) hue-rotate(300deg) saturate(2);
    margin: 0 auto;
}

.price-choose-col-inner-right h3 {
	color: #000;
	font-weight: 600;
	margin: 0 0 5px 0;
	text-align: center;
	font-size: 1.3rem;
}

/*
.premium-sec .price-icon {
	width: 55%;
	background-color: #444;
	padding: 40px;
}

.premium-sec h3 {
	font-weight: 800;
	font-size: 1.3rem;
}*/

.price-choose-col-inner-right p {
	color: #000;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.6rem;
	text-align: center;
	margin: 0 0 10px 0;
}

.price-choose-col-inner-right h2 {
	color: #000;
	font-weight: 800;
	margin: 10px 0 0 0;
	text-transform: uppercase;
	text-align: center;
	font-size: 2rem;
	font-family: "Montserrat", sans-serif;
}

.price-choose-col-inner-right h2 span {
	font-weight: 600;
	text-transform: lowercase;	
	letter-spacing: 1px;
	font-size: 1.3rem;
}

.price-choose-col-inner-right h2 .rupee {
	font-weight: 300;
}

.price-choose-col-inner-right .buton {
    border: none;
    padding: 8px 0;
    text-transform: capitalize;
    border-radius: 5px;
    cursor: pointer;
    color: #FFF;
    display: inline-block;
    font-size: 16px;
    background-size: 200%;
    transition: 0.6s;
    background-color: #eb0000;
    background-position: right;
    /*float: right;*/
    width: 100%;
    margin: 10px 8px 0 0;
	border: 1px solid #eb0000;
	text-align: center;
	font-weight: 500;
}

.price-choose-col-inner-right .butn {
    border: none;
    padding: 8px 0;
    text-transform: capitalize;
    border-radius: 5px;
    cursor: pointer;
    color: #000;
    display: inline-block;
    font-size: 16px;
    background-size: 200%;
    transition: 0.6s;
    background-image: linear-gradient(to left, #aaa, #CCC, #aaa);
    background-position: right;
    /*float: right;*/
    width: 48%;
    margin-top: 10px;
	text-align: center;
}

.specification {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* Transparent background */
    justify-content: center;
    align-items: center;
	z-index: 999;
}

.specification-content {
	width: 70%;
	height: 90vh;
	overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For IE and Edge */
    background: white;
    border: 30px solid #FFF;
    border-radius: 10px;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.specification-content::-webkit-scrollbar {
    display: none; /* For Chrome, Safari, and Opera */
}

.specification-content h2 {
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0 0 20px 0;
    position: relative;
	text-align: center;
}

.specification-content span {
    position: relative;
    top: -20px;
}

.specification-content span img {
	width: 200px;
	margin: 0 auto;
	filter: brightness(0.5) sepia(1) hue-rotate(138deg) saturate(8);
}

.specification-close-btn {
    position: absolute;
    top: 2%;
    right: 14%;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 9999;
    background-color: #000;
    color: #FFF;
    padding: 5px 16px;
    border-radius: 100%;
}

.specification-row {
	width: 98%;
	height: auto;
    margin: 15px 0;
    border-radius: 10px;
	padding: 10px;
	/*box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;*/
	box-shadow: rgba(33, 35, 38, 0.2) 0px 10px 10px -10px;
    margin: 10px auto;
    display: flex;
    justify-content: space-between;
}

.specification-col1 {
	width: 25%;
	height: auto;
	display: table;
	float: left;
	padding: 10px 20px;
}

.specification-col1 p {
	font-weight: 500;
	color: #000;
}

.specification-col2 {
	width: 75%;
	height: auto;
	display: table;
	float: left;
	position: relative;
}

.specification-col2 li {
    list-style-type: none;
    display: list-item;
    list-style-position: outside;
    padding: 5px 0;
    margin: 0 50px 0 20px;
	font-size: 0.9rem;
	line-height: 1.2rem;
	border-bottom: 1px dotted #CCC;
}

li.noborder {
	border-bottom: 0;
}

.specification-col2 li:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    position: absolute;
    left: -40px; /* Matches your negative margin-left */
    /*top: 50%;*/
    margin-top: 0; /* Half of height for perfect vertical centering */
    background-repeat: no-repeat;
    background-size: 40px 30px;
    background-position: center;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
    
    /* Enhanced effects */
    transition: all 0.3s ease;
    opacity: 0.8;
}

/* Hover Effects */
.specification-col2 li:hover:before {
    opacity: 1;
    filter: brightness(0.4) sepia(9) hue-rotate(360deg) saturate(3);
    transform: translateX(-3px); /* Slight pull effect */
}

.spec-tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  gap: 10px;
}

.tab-btn {
  padding: 8px 16px;
  border: 1px solid #ccc;
  background: #f7f7f7;
  cursor: pointer;
  border-radius: 5px;
  transition: background 0.3s;
  width: 20%;
}

.tab-btn:hover {
  background: #e0e0e0;
}

.tab-btn.active {
  background: #333;
  color: #fff;
  border-color: #42813d;
}





.projects .container {
	width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.projects-col {
	width: 50%;
    height: auto;
    display: table;
	padding: 50px 30px;
}
.projects-col.new{
    width: 100%;
}

.projects-col.pro-col-img {
	height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.projects-col.pro-col-img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	/**filter: grayscale(90%);**/
	cursor: pointer;
}

.projects-col.pro-col-img img:hover {
	filter: grayscale(90%);
}

.pro-img {
	height: auto;
    display: table;
	padding: 10px;
}

.projects-col h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .projects-col h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.projects-col h2 {
	font-size: 2rem;
    line-height: normal;
    font-weight: 500;
    padding: 20px 0; 
    color: #000060;
}

.projects-col p {
	font-size: 1rem;
    font-weight: 300;
    line-height: 2rem; 
}

.projects-col img {
	width: 100%;
	height: auto;
	display: block;
}

.projects-col button {
    border: none;
    padding: 10px 30px;
    width: fit-content;
    background-color: #000/*#c40002*/;
    color: #FFF;
    font-size: 1rem;
    cursor: pointer;
    letter-spacing: 0.5px;
    border-radius: 5px;
    display: inline-block;
    margin: 30px 0;
	background-size: 200%;
    transition: 0.6s;
	background-image: linear-gradient(to left, #555, #333, #555);
    background-position: right;
}

.projects-col button:hover {
	background-position: left;
}

.services .container {
	width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.services-col {
	width: 50%;
    height: auto;
    display: table;
	padding: 50px 30px;
}

.services-col h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .services-col h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.services-col h2 {
	font-size: 2rem;
    font-weight: 500;
    padding: 10px 0 20px; 
    color:#000060;
}

.services-col p {
	font-size: 1rem;
    font-weight: 300;
    line-height: 2rem;
	margin: 0 0 20px 0;
}

.service-col-img {
	width: 100%;
	height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.service-icon-col {
	height: auto;
	display: table;
	padding: 10px 20px 10px 0;
}

.service-icon-inner {
	width: 100%;
	border: 1px solid #eee;
	background-color: #eee;
	border-radius: 10px;
	padding: 10px;
	cursor: pointer;
	text-align: center;
}

.service-icon-inner:hover {
	background-color: #fff;
}

.services-col .service-icon-inner img {
	width: 35%;
	height: auto;
	display: block;
	margin: 10px auto;
}

/*.service-icon-inner:hover > img {
	filter: brightness(1) sepia(1) hue-rotate(320deg) saturate(1);
}*/

.service-icon-inner h3 {
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 1px;
}

/*.service-icon-inner:hover > h3 {
	color: #FFF;
}*/

.services-col img {
	width: 100%;
	height: auto;
	display: block;
	transition: all 3s;
}

.services-col img:hover {
	transform: scale(1.1);
}

.services-col button {
    border: none;
    padding: 10px 30px;
    width: fit-content;
    background-color: #000/*#c40002*/;
    color: #FFF;
    font-size: 1rem;
    cursor: pointer;
    letter-spacing: 0.5px;
    border-radius: 5px;
    display: inline-block;
    margin: 30px 0;
	background-size: 200%;
    transition: 0.6s;
	background-image: linear-gradient(to left, #555, #333, #555);
    background-position: right;
}

.services-col button:hover {
	background-position: left;
}

.why {
    background-image: url(../img/bird-bg.png);
    background-size: 60%;
    background-position: right calc(10px + 3%);
    background-repeat: no-repeat;
}

.why .container {
	width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
	padding: 50px 0;
}

.why-head {
	width: 100%;
    height: auto;
    display: table;
	padding: 0 30px;
}

.why-head h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .why-head h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.why-head h2 {
	font-size: 2rem;
    font-weight: 500;
    padding: 10px 0 20px; 
    color:#000060;
}

.why-head p {
	font-size: 1rem;
    font-weight: 300;
    line-height: 2rem;
	margin: 0 0 20px 0;
}
.why-choose-sec {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    margin: 0 auto;
}

.why-choose-col {
	width: 50%;
	height: auto;
	display: table;
	padding: 10px 25px;
}

.why-choose-col-inner {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
    margin: 0 auto;
	
}

.why-choose-col-inner-left {
	width: 20%;
	height: auto;
	display: table;
}

.why-choose-col-inner-left img {
	width: 65%;
	height: auto;
	display: block;
	filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
}

.why-choose-col-inner-right {
	width: 80%;
	height: auto;
	display: table;
}

.why-choose-col-inner-right h3 {
	color: #000;
	font-weight: 600;
	margin: 0 0 10px 0;
	text-transform: uppercase;
}

.why-choose-col-inner-right p {
	color: #000;
	font-size: 0.9rem;
	font-weight: 300;
	line-height: 1.6rem;
}


.contact .container {
	width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.contact-col {
	width: 50%;
    height: auto;
    display: table;
	padding: 50px 30px;
}

.contact-col.contact-col-img {
	height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.contact-img {
	height: auto;
    display: table;
	padding: 10px;
}

.map {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    display: block;
	width: 100%;
	height: 550px;
	border-radius: 10px;
}

.contact-col h4 {
	font-size: 1.2rem;
    font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* .contact-col h4:before {
    content: "";
    display: block;
    width: 45px;
    height: 30px;
    float: left;
    margin: -2px 10px 0 0;
    background-repeat: no-repeat;
    background-size: 40px 30px;
    cursor: pointer;
    background-image: url(../img/icons/link-arrow-plain.png);
    filter: brightness(0.3) sepia(9) hue-rotate(360deg) saturate(2);
} */

.contact-col h2 {
	font-size: 2rem;
    font-weight: 500;
    padding: 10px 0 20px; 
    color:#000060;
}

.contact-col p {
	font-size: 1.2rem;
    font-weight: 300;
    line-height: 2.5rem;
	margin: 0 0 10px 0;
}

.contact-col p:before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    float: left;
    margin: 10px 15px 10px 0;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    cursor: pointer;
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
}

.contact-col .address:before {
	background-image: url(../img/icons/location.svg);
}

.contact-col .email:before {
	background-image: url(../img/icons/email.svg);
}

.contact-col .phone:before {
	background-image: url(../img/icons/call.svg);
}

.contact-col a {
	color: #000;
}

.contact-col a:hover {
	color:#cc262c;
	font-weight: 500;
}

.contact-col img {
	width: 100%;
	height: auto;
	display: block;
}

.contact-col button {
    border: none;
    padding: 10px 30px;
    width: fit-content;
    background-color: #000/*#c40002*/;
    color: #FFF;
    font-size: 1rem;
    cursor: pointer;
    letter-spacing: 0.5px;
    border-radius: 5px;
    display: inline-block;
    margin: 30px 0;
	background-size: 200%;
    transition: 0.6s;
	background-image: linear-gradient(to left, #555, #333, #555);
    background-position: right;
}

.contact-col button:hover {
	background-position: left;
}

.bottom {
	width: 100%;
	height: auto;
	display: table;
	padding: 20px;
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #ccc;
}

.bottom p {
	font-size: 0.9rem;
	font-weight: 300;
}

.bottom p:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    float: left;
    margin: 0;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    cursor: pointer;
    filter: brightness(0.2) sepia(9) hue-rotate(360deg) saturate(2);
}

.bottom a {
	color:#000;
	font-weight: 500;
}

.bottom a:hover {
	color:#cc262c;
	font-weight: 500;
}

.wa {
    z-index: 99999;
    position: fixed;
    bottom: 40%;
    left: 0;
}

.wa img {
    width: 60%;
}

.pdf {
    z-index: 99999;
    position: fixed;
    bottom: 30%;
    right: -23px;
	display: none;
}

.pdf img {
    width: 60%;
}

.enquire-btn {
	z-index: 99999;
    position: fixed;
    bottom: 60%;
    left: -62px;	
}

.enquire-btn p {	
	box-shadow: 0px 5px 15px rgb(153 153 153 / 20%);
    -moz-box-shadow: 0px 5px 15px rgba(153, 153, 153, 0.2);
    -webkit-box-shadow: 0px 5px 15px rgb(153 153 153 / 20%);	
	padding: 5px 20px;
	color: #FFF;
	transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
	background-image: linear-gradient(to left, #62bb26, #327802, #62bb26);
    background-origin: border-box;
	text-transform: uppercase;
	letter-spacing: 1px;
	background-position: right;
    background-size: 200%;
    transition: 0.6s;
}

.enquire-btn p:hover {
	background-position: left;
}

.bro-btn {
	z-index: 99999;
    position: fixed;
    bottom: 60%;
    right: -105px;
}

.bro-btn p {	
	box-shadow: 0px 5px 15px rgb(153 153 153 / 20%);
    -moz-box-shadow: 0px 5px 15px rgba(153, 153, 153, 0.2);
    -webkit-box-shadow: 0px 5px 15px rgb(153 153 153 / 20%);	
	padding: 5px 20px;
	color: #FFF;
	transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
	background-image: linear-gradient(to left, #62bb26, #327802, #62bb26);
    background-origin: border-box;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 900;
	background-position: left;
    background-size: 200%;
    transition: 0.6s;
}

.bro-btn p:hover {
	background-position: right;
}

.modal-content1 {
    /*background-image: linear-gradient(to right, #f91504 , #c50000);*/
    background-origin: border-box;
    margin: auto;
    padding: 20px 30px;
    width: 30%;
	display: table;
	background: url(../img/bg/popup.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.modal-content1 h3 {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    text-transform: uppercase;
    color: #FFF;
    text-align: center;
}

.closebtn {
    color: #DDD;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    top: 2%;
    right: 5%;
}

.modal-content1 .butn {
    border: none;
    padding: 10px;
    width: 100%;
    background-image: linear-gradient(to left, #62bb26, #327802, #62bb26);
    background-position: right;
	float: right;
    background-origin: border-box;
    color: #FFF;
    cursor: pointer;
    margin-top: 20px;
}

.modal-content1 .butn:hover {
	background-position: left;
}

.cookie-form {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.9);
    display: none;
}

.modal-content-popup-form {
    margin-top: 10%;
    padding: 20px;
}

.modal-content-popup-form p {
	color: #FFF;
	text-align: center;
	text-transform: uppercase;
	border-top: 1px dotted #999;
	padding-top: 10px;
}

.msconstruction-cookie-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    background: rgba(0, 0, 0, 0.9);
    display: none;
}

.desktop-hide {
    display: none;
}

.msconstruction-cookie-banner img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8%;
    width: 60%;
    height: auto;
    z-index: 9999999;
}

.pop-btn {
    position: absolute;
    right: 40px;
    top: 20px;
    color: #FFF;
    background-color: transparent;
    font-size: 2rem;
    border: 0;
    cursor: pointer;
}






#myModal2.modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.9);
    z-index: 99999999;
}

.close {
    color: white;
    position: absolute;
    top: 10px;
    right: 25px;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
}

.modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    width: 50%;
    height: auto;
    max-width: 1200px;
}

.modal-content2 {
    background-image: linear-gradient(to right, #62814C, #62814C);
    background-origin: border-box;
    margin: auto;
    padding: 20px;
    width: 30%;
    display: table;
}

.modal-content2 h3 {
    margin: 0 0 20px 0;
    font-size: 1.5rem;
    text-transform: uppercase;
    color: #FFF;
    text-align: center;
}

.closebtn {
    color: #DDD;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    top: 2%;
    right: 5%;
}

.modal-content2 .form {
    width: 100%;
}

.modal-content2 .form-col {
    width: 100%;
	position: relative;
}

.modal-content2 .form-control {
    width: 100%;
    height: 40px;
    padding: 0 20px 0 40px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #000;
    background-color: #FFF;
    background-image: none;
    border: 1px dotted #CCC;
    margin: 15px 0 0 0;
}

.modal-content2 #phone2 {
	padding: 0 20px 0 80px;
}

.modal-content2 .form-control-textarea {
    width: 100%;
    height: 80px;
    padding: 0 20px 0 40px;
    font-size: 14px;
    line-height: 3.5;
    color: #000;
    background-color: #FFF;
    background-image: none;
    border: 1px dotted #CCC;
    margin: 15px 0 0 0;
}

.modal-content2 .butn {
    border: none;
    padding: 10px;
    width: 100%;
    background-image: linear-gradient(to right, #f9b904, #f9e769);
    background-origin: border-box;
    color: #000;
    cursor: pointer;
    margin-top: 15px;
}

.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

a.top-form-a {
    border: none;
    padding: 10px 30px;
    width: fit-content;
    background-color: #000/*#c40002*/;
    color: #FFF;
    font-size: 1rem;
    cursor: pointer;
    letter-spacing: 0.5px;
    border-radius: 5px;
    display: inline-block;
    margin: 30px 0;
	background-size: 200%;
    transition: 0.6s;
	background-image: linear-gradient(to left, #555, #333, #555);
    background-position: right;
}

a.top-form-a:hover {
    background-position: left;
	color: #eee;
}

.error2 {
    color: #F0C311;
    font-size: 0.8rem;
    position: relative;
    margin-top: 5px;
	text-align: left;
}

.modal-content2 .form-field-icon i {
    position: absolute;
    margin-top: 20px;
    margin-left: 10px;
    color: #332e6e;
    z-index: 2;
    left: 0;
}

.modal-content2 .form-field-icon i::before {
	content: "";
    display: block;
    width: 22px;
    height: 22px;
    float: left;
    margin: 3px 5px 0 0;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    cursor: pointer;
    filter: brightness(0.4) sepia(9) hue-rotate(50deg) saturate(2);
}

.modal-content2 .form-field-icon .fa-user:before {
    background-image: url(../img/icons/user.svg);
}

.modal-content2 .form-field-icon .fa-mobile-retro:before {
    background-image: url(../img/icons/call.svg);
}

.modal-content2 .form-field-icon .fa-envelope:before {
    background-image: url(../img/icons/email.svg);
}


/* Sliding Gallery Start */
			.gallery {
				padding: 80px 100px 50px 100px;
			}
			.gallery .heading {
				width: 100%;
				height: auto;
				display: table;
			}
			.gallery .heading h1 {
				color: #000;
				font-size: 3rem;
				font-weight: 100;
				text-align: center;
			}
			.gallery .heading p {
				color: #000;
				font-size: 0.9rem;
				line-height: 1.6rem;
				font-weight: 300;
				text-align: center;
				margin: 20px auto;
				width: 80%;
			}
			.gallery .gal-sec {
				width: 100%;
				height: auto;
				display: table;
				padding: 30px 0;
				border-bottom: 1px solid #CCC;
			}
			.gallery .thumbnails {
				width: 80%;
				height: auto;
				display: flex;
				justify-content: center;
				align-items: center;
				flex-wrap: wrap;
				margin: 0 auto;
				padding: 20px 0;
			}
			.gallery .thumbnails .col {
				width: 25%;
				height: auto;
				display: table;
				padding: 10px;
				overflow: hidden;
			}
			.gallery .thumbnails .col img {
				width: 100%;
				height: auto;
				cursor: pointer;
				transition: transform 0.3s ease;
			}
			.gallery .thumbnails .col img:hover {
				transform: scale(1.03);
			}
			/* Modal styles */
			.projects .modal {
				display: none;
				position: fixed;
				z-index: 1000;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				overflow: hidden;
				background-color: rgba(0,0,0,0.9);
				-webkit-tap-highlight-color: transparent;
			}
			.projects .modal-content {
				position: relative;
				background-color: transparent;
				margin: auto;
				padding: 0;
				width: 100%;
				height: 100%;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
			}
			.slides-container {
				position: relative;
				width: 100%;
				max-width: 1200px;
				height: 100%;
				overflow: hidden;
			}
			.slides-wrapper {
				display: flex;
				height: 100%;
				transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
				will-change: transform;
			}
			.mySlides {
				min-width: 100%;
				height: 100%;
				text-align: center;
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
				touch-action: pan-y;
			}
			.mySlides img {
				max-width: 100%;
				max-height: 80vh;
				object-fit: contain;
				pointer-events: none;
			}
			.close {
				color: white;
				position: absolute;
				top: 15px;
				right: 35px;
				font-size: 40px;
				font-weight: 100;
				transition: 0.3s;
				z-index: 1001;
				cursor: pointer;
			}
			.close:hover {
				color: #999;
			}
			.numbertext {
				color: #f2f2f2;
				font-size: 16px;
				padding: 8px 12px;
				position: absolute;
				top: 10%;
				left: 50%;
				transform: translateX(-50%);
				background: rgba(0,0,0,0.5);
				border-radius: 0 0 10px 10px;
				z-index: 1001;
			}
			.prev, .next {
				cursor: pointer;
				position: absolute;
				top: 50%;
				width: 60px;
				height: 60px;
				padding: 16px;
				margin-top: -30px;
				color: white;
				font-weight: normal;
				font-size: 30px;
				transition: 0.3s ease;
				border-radius: 50%;
				user-select: none;
				background-color: rgba(0,0,0,0.5);
				display: flex;
				align-items: center;
				justify-content: center;
				z-index: 1000;
			}
			.prev {
				left: 20px;
			}
			.next {
				right: 20px;
			}
			.prev:hover, .next:hover {
				background-color: rgba(0,0,0,0.8);
			}
			@media (max-width: 768px) {
				.gallery .thumbnails .col {
					width: 50%;
				}
				.prev, .next {
					width: 50px;
					height: 50px;
					font-size: 24px;
				}
				.close {
					font-size: 30px;
					right: 20px;
				}
			}
			@media (max-width: 480px) {
				.gallery .thumbnails .col {
					width: 100%;
				}
				.prev, .next {
					width: 50px;
					height: 50px;
					font-size: 20px;
				}
			}
			
			/* Sliding Gallery End */


/**
 * CSS Timeline: Corrected for Zigzag Layout
 * Requires adding <div class="step-spacer"></div> in the HTML for alternating sides.
 */

/* ----------------------------------
 * 1. Container for the Entire Flow
 * ---------------------------------- */
.process-flow-container {
    max-width: 800px;
    margin: 40px auto;
    position: relative;
    padding: 0 10px;
}

.flow-title {
    text-align: center;
    color: #333;
    margin-bottom: 5px;
    font-size: 1.8em;
    font-weight: bold;
}

/* ----------------------------------
 * 2. List Setup and Main Line
 * ---------------------------------- */
.process-list {
    list-style: none; /* Removes default list numbers */
    padding: 0;
    margin: 0;
    position: relative;
}

/* The Main Vertical Timeline Line */
.process-list::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    background-color: #ccc; /* Light grey line */
    transform: translateX(-50%);
}

/* ----------------------------------
 * 3. Individual Step Styling (Flexbox)
 * ---------------------------------- */
.process-step {
    display: flex; /* Key to layout */
    position: relative;
    margin-bottom: 20px; /* Space between steps */
    align-items: center; /* Vertically align content and icon */
}

/* IMPORTANT FIX: Apply width to content and spacer ONLY */
.process-step > .step-content,
.process-step > .step-spacer { /* Targets the flow items (content and spacer) */
    width: auto; /* Each flow item takes half the space */
    padding: 0 20px;
    box-sizing: border-box;
}

/* ----------------------------------
 * 4. Icon (the circle in the center)
 * ---------------------------------- */
.step-icon {
    width: 30px; /* Circle size */
    height: 30px;
    border-radius: 50%;
    background-color: #e6e6fa; /* Light purple background */
    color: #4b0082; /* Darker purple text */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 10px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); /* Centering the circle precisely */
    z-index: 10; /* Ensures it sits on top of the line */
    border: 4px solid #fff; /* White border to make it pop */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* ----------------------------------
 * 5. Content Text Styling & Arrows
 * ---------------------------------- */
.step-content {
    padding: 15px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    line-height: 1.4;
    font-size: 14px;
    color: #555;
    position: relative;
}

/* Content on the Left */
.step-content.left1 {
    text-align: right;
    margin-right: 50px; /* Space from the center line */
    /* margin-right is now used for positioning the content, not the 50% division */
}

/* Arrow for Left Content (pointing right) */
.step-content.left1::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px; /* Positioning the arrow head */
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left-color: #fff; /* Arrow color matches content background */
}

/* Content on the Right */
.step-content.right1 {
    text-align: left;
    margin-left: 50px; /* Space from the center line */
    /* margin-left is now used for positioning the content, not the 50% division */
}

/* Arrow for Right Content (pointing left) */
.step-content.right1::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -10px; /* Positioning the arrow head */
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-right-color: #fff; /* Arrow color matches content background */
}

/* ----------------------------------
 * 6. Responsive adjustments for smaller screens
 * ---------------------------------- */
@media (max-width: 600px) {
    .process-flow-container {
        padding: 0;
    }

    /* Move the line to the left */
    .process-list::before {
        left: 20px;
        transform: none;
    }

    /* Stack steps vertically on one side (left-aligned) */
    .process-step {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 40px;
    }

    /* Hide the spacer on mobile, as it's no longer needed for 50/50 division */
    .step-spacer {
        display: none; 
    }

    /* Reset width to full on mobile for the step content */
    .process-step > .step-content {
        width: 90%; /* Content now uses full mobile width */
        padding: 0 20px; /* Keep horizontal padding for content */
    }
    
    /* Reset margins for content */
    .step-content.left1,
    .step-content.right1 {
        margin-left: 50px; /* Pushes content away from the line/icon */
        margin-right: 0;
        text-align: left !important;
        width: auto;
    }

    /* Reposition icon to the left and adjust size/position */
    .step-icon {
        width: 50px; /* Smaller circle on mobile */
        height: 50px;
        font-size: 1em;
        left: 20px;
        top: 0;
        transform: translate(-50%, 0);
        margin-bottom: 10px;
        position: relative; /* Use relative to take up space in flow */
        
        /* Ensure the icon's position doesn't clash with content on mobile */
        left: 20px; 
        top: 15px; 
        transform: translate(-50%, 0);
    }
    
    .step-icon i {
        display: none; /* Optionally hide the icon text on mobile for cleanliness */
    }

    /* Fix the arrow direction and position on mobile to point to the line (left) */
    .step-content::after {
        border-right-color: #fff !important;
        border-left-color: transparent !important;
        left: -10px !important;
        right: auto !important;
    }
    
    /* Content on mobile should be pushed right to clear the icon/line */
    .step-content {
        margin-left: 60px; /* Space for the icon */
        margin-right: 0;
        padding: 15px;
        margin-top: -50px; /* Pull up to align with icon top */
    }
}

.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 20px;
    background-color: #25D366;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: transform 0.3s ease;
  }
  
  .whatsapp-float:hover {
    transform: scale(1.1);
  }
  
  .whatsapp-float img {
    width: 35px;
    height: 35px;
  }

  
  /* Link style */
.enquiry-now-form h4 {
    cursor: pointer;
    color: #007bff;
}

/* Modal background */
.modal {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

/* Modal box */
.modal-content {
    background: #fff;
    width: 70%;
    max-width: 900px;
    margin: 2% auto;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

/* Close button */
.close-btn {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 28px;
    cursor: pointer;
}

/* Modal layout */
.modal-body {
    display: flex;
}

/* Left image */
.modal-left {
    width: 50%;
}

.modal-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Right form */
.modal-right {
    width: 50%;
    padding: 30px;
}

.modal-right h2 {
    margin-bottom: 20px;
}

.modal-right input,
.modal-right textarea {
    width: 100%;
    margin-bottom: 15px;
    padding: 10px;
}

.modal-right button {
    padding: 10px 20px;
    background: #007bff;
    border: none;
    color: #fff;
    cursor: pointer;
}

@media (max-width: 768px) {
    .modal-content {
        max-width: 300px;
    }
}


/* Main Container */
.process-flow {
    position: relative;
    max-width: 800px;
    margin: auto;
    padding-left: 40px;
}


/* Step */
.process-step {
    position: relative;
    margin-bottom: 50px;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.process-step.active {
    opacity: 1;
    transform: translateY(0);
}

/* Icon */
.step-icon {
    position: absolute;
    left: 10px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: none;
    background: transparent;
}
.step-icon img{
    filter: none;
}

/* Content Box */
.step-content {
    width: auto;
    margin-left: 50px;
    background: transparent;
    padding: 20px 25px;
    border-radius: 10px;
    box-shadow: none;
}


.step-content h3 {
    margin: 0;
    color: #1f2937;
    position: relative;
}

.step-content h3::before {
    content: "*";
    position: absolute;
    left: -23px;
    top: -1px;
    font-size: 20px;         /* increase size */
    font-weight: 600;
    color: #000;           /* optional accent color */

    opacity: 0;
    transform: translateX(-12px) scale(0.8);
    animation: tildeIn 0.6s ease-out forwards;
}

@keyframes tildeIn {
    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

.step-content h3::before {
    animation:
        tildeIn 0.6s ease-out forwards,
        float 2s ease-in-out infinite 0.6s;
}

@keyframes float {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(0) translateY(-3px);
    }
}

@media (max-width: 600px) {
    .process-flow {
        padding-left: 20px;
    }

    .step-content {
        margin-left: 70px;
    }
}


.owner-content {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 1100px;
    margin: auto;
    padding: 20px;
}

.owner-image {
    width: 220px;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.owner-content p {
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}

/* ---------- Mobile Responsive ---------- */
@media (max-width: 768px) {
    .owner-content {
        flex-direction: column;
        text-align: center;
    }

    .owner-image {
        width: 180px;
        margin-bottom: 15px;
    }
}


.ib-testimonial-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 0 10px 20px;     /* FIX: prevents left peek */
    touch-action: pan-y;
  
    scroll-snap-type: x mandatory; /* FIX: snap slider */
  }
  
  .ib-testimonial-track::-webkit-scrollbar {
    display: none;
  }
  
  .ib-testimonial-card {
    min-width: 320px;
    max-width: 320px;
    box-sizing: border-box;
  
    background: #fff;
    color: #333;
    border-radius: 12px;
    padding: 25px 20px;
  
    flex-shrink: 0;
    min-width: 0;        /* 🔥 CRITICAL FIX */
  
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .ib-testimonial-card p {
    width: 100%;
    min-width: 0;        /* 🔥 CRITICAL FIX */
  
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  
  .ib-testimonial-card h4 {
    margin: 0;
  }
  
  .ib-testimonial-card span {
    font-size: 13px;
    color: #777;
  }
  
  /* Dots */
  .ib-testimonial-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
  }
  
  .ib-testimonial-dot {
    width: 10px;
    height: 10px;
    background: #555;
    border-radius: 50%;
    cursor: pointer;
  }
  
  .ib-testimonial-dot.active {
    background: #000;
  }
  
  @media (max-width: 768px) {
    .ib-testimonial-track {
      display: block;       /* ⬅️ No flex slider */
      overflow: visible;    /* ⬅️ No scroll */
      padding: 0;
    }
  
    .ib-testimonial-card {
      width: 100%;
      max-width: 100%;
      margin-bottom: 20px;  /* Space between cards */
    }
  
    .ib-testimonial-dots {
      display: none;        /* ⬅️ No dots on mobile */
    }
    .right .banner .header .head-left h1 {
        font-size: 1.0rem;
        margin: 0 0 10px 0;
        line-height: 120%;
    }
    .right .banner .header .head-left p {
        font-size: 1.0rem;
        line-height: 120%;
    }
    .process-flow {
        max-width: 400px;
    }
    .projects-col.pro-col-img{
        height: auto;
    }
    .process-step {
        margin-bottom: 30px;
    }
    .step-icon{
        width: 30px;
        height: 30px;
        top: -5px;
    }
    .step-content {
        margin-left: 40px;
        margin-top: 0;
    }
  }

  
  

  
  