@charset "utf-8";
/* CSS Document */

a, a:hover, a:focus, a:active {
      text-decoration: none;
      color: inherit;
}

/* 
Blue: #2F4F5B
Orange: #F26F05
font-family: "Roboto", sans-serif;
*/

.g-recaptcha {
margin-bottom: 10px;
}
/* W1.................................................MOB */	

/* ---------- STICKY HEADER ---------- */
.sticky-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: white;
  transition: box-shadow 0.3s ease;
}

.sticky-shadow {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* ---------- MOBILE HEADER ---------- */
.mobile-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background: white;
}

.header-icon {
  width: 44px;
  height: 44px;
  background-color: #2F4F5B;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}

.burger {
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.burger-line {
  width: 20px;
  height: 2px;
  background-color: white;
}

.header-logo img {
  height: 40px;
  width: auto;
}

.phone img {
  width: 24px;
  height: 24px;
}

/* ---------- MOBILE MENU ---------- */
.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 80%;
  max-width: 300px;
  height: 100%;
  background: white;
  z-index: 1001;
  transition: left 0.3s ease;
  padding: 80px 20px 20px;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
  background-color: #F7F7F7;
}

.mobile-menu ul {
  list-style: none;
  margin-left: -40px;
}

.mobile-menu ul li {
  margin-bottom: 10px;
}

.mobile-menu ul li a {
  font-size: 16px;
  font-weight: 700;
  color: #333;
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
letter-spacing: 1px;
}

.mobile-menu ul li a:hover {
  color: #F26F05;
}

.close-menu {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  color: #000;
  cursor: pointer;
}

/* ---------- DESKTOP HEADER ---------- */
.desktop-header {
  display: none;
}

/* ---------- DESKTOP STYLES ---------- */
@media (min-width: 950px) {
  .mobile-header,
  .mobile-menu {
    display: none;
  }

  .desktop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
	max-width: 1200px;
    margin: 0 auto;
    padding: 10px 30px;
  }

  .desktop-logo img {
    height: 40px;
  }
@media (min-width: 1050px) {
.desktop-logo img {
    height: 50px;
  }
}
  .desktop-nav-wrap {
    display: flex;
    align-items: center;
    gap: 30px;
  }

  .desktop-nav {
    display: flex;
    list-style: none;
    gap: 30px;
  }

  .desktop-nav li a {
    font-family: "Roboto", sans-serif;
letter-spacing: 1px;
    font-size: 15px;
	text-transform: uppercase;
    letter-spacing: 1px;
    color: #444;
    transition: color 0.3s ease;
  }

  .desktop-nav li a:hover {
    color: #F26F05;
  }

  .desktop-quote .quote-btn-desktop {
    background-color: #2F4F5B;
    color: white;
    padding: 12px 20px;
    font-family: "Roboto", sans-serif;
letter-spacing: 1px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 5px;
    transition: background 0.3s ease;
    display: inline-block;
	cursor: pointer;
  }

  .desktop-quote .quote-btn-desktop:hover {
    background-color: #F26F05;
  }

  /* Dropdown Styles */
  .desktop-nav .dropdown {
    position: relative;
  }

  .desktop-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #2F4F5B;
    padding: 10px 0;
    display: none;
    list-style: none;
    min-width: 220px;
    z-index: 1002;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
  }

  .desktop-nav .dropdown-menu li a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    white-space: nowrap;
	text-transform: uppercase;
  }

  .desktop-nav .dropdown-menu li a:hover {
    background-color: #2F4F5B;
    color: #F26F05;
  }

  .desktop-nav .dropdown:hover .dropdown-menu {
    display: block;
  }
}

/* Default logo sizes */
.desktop-logo img,
.header-logo img {
  transition: height 0.3s ease;
}

/* Shrunk size on scroll */
.shrink-logo {
  height: 40px !important;
}

/* Optional: reduce padding or apply shadow when shrunk */
.shrink-header {
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}


/* W2.................................................MOB */	

.hero {
  position: relative;
  width: 100%;
  min-height: 60vh;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  text-align: center;
  padding: 50px 0px;
  
  
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* dark overlay */
  z-index: 1;
}

.hero-content {
  z-index: 2;
  max-width: 1200px;
  width: 100%;
   margin: 0 auto;
   
   
}

.hero-content-inner { 
  max-width: 700px;
  margin: 0 auto;
  padding: 0px 20px;
}

.hero-subheading {
  color: #fff;
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 15px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 1px;
}

.hero h1 {
  font-size: 28px;
  line-height: 36px;
  margin-bottom: 20px;
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
letter-spacing: 3px;
}
@media (min-width: 600px) {
.hero h1 {
font-size: 36px;
  line-height: 44px;
}
}
.hero-buttons {
  display: flex;
  flex-direction: row;
  gap: 12px;
  margin-top: 40px;
  align-items: center; 
  justify-content: center;
}


.hero-btn-call {
background-color: #2F4F5B;
border: #fff thin solid;
  display: inline-block;
  padding: 8px 16px;
  font-size: 16px;
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;
  letter-spacing: 1px;
  font-weight: 600;
  border-radius: 5px;
  text-align: center;
  transition: background 0.3s ease;
  width: auto; /* ensures button shrinks to fit content */
  cursor: pointer;
}

.hero-btn-quote {
background-color: #F26F05;
border: #F26F05 thin solid;
  display: inline-block;
  padding: 8px 16px;
  font-size: 16px;
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;
  letter-spacing: 1px;
  font-weight: 600;
  border-radius: 5px;
  text-align: center;
  transition: background 0.3s ease;
  width: auto; /* ensures button shrinks to fit content */
  cursor: pointer;
}
.hero-btn-call:hover {
  background-color: transparent;
}

.hero-btn-quote:hover {
  background-color: transparent;
}

/* ---------- DESKTOP ---------- */
@media (min-width: 900px) {
  .hero {
    justify-content: flex-start;
    padding: 50px 0;
  }

  .hero::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }

  .hero-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
  }


.hero h1 {
  text-align: left;
  max-width: 400px;
  font-size: 36px;
  line-height: 44px;
}
  .hero-content-inner {
    text-align: left;
	margin: 0px;
  }

  .hero-subheading {
    display: inline-block;
    margin: 0 0 15px 0;
    text-align: left;
	max-width: 400px;
  }
  .hero-buttons {
    flex-direction: row;
    gap: 15px;
	justify-content: flex-start;
  }
}
@media (min-width: 1000px) {
.hero h1 {
  max-width: 500px;
  
}
}
.hero-trust {
margin-top:25px;
padding:2px 14px;
border-radius:012px;
display:inline-block;
}
.hero-trust img {
max-width: 120px;
display:inline-block;
margin-bottom: 10px;
}
.hero-trust p {
color:#fff;
font-size:16px;
line-height: 25px;
font-weight:500;
opacity:1;
letter-spacing:0.5px;  
font-family: "Roboto", sans-serif;
}

.hero-badge {
  position: absolute;
  bottom: -60px; /* controls overlap */
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.hero-badge img {
  width: 120px; /* adjust as needed */
  height: auto;
  display: block;
}
@media (min-width: 800px) {
.hero-badge img {
  width: 150px; /* adjust as needed */
}
}
/* =========================================
   REASONS SECTION — DISTINCT, PREMIUM, RESPONSIVE
========================================= */

.reasons {
  width: 100%;
  background: linear-gradient(to bottom, #f7f7f7 0%, #ffffff 100%);
  padding: 40px 20px 60px;
  font-family: "Roboto", sans-serif;
  box-sizing: border-box;
  box-shadow:0 -10px 20px rgba(0,0,0,0.2);
}

.reasons-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.reasons-heading {  
  margin: 0 auto 90px;
  text-align: center;
}

.reasons-heading h2 {
 color:#2F4F5B;
	font-size:30px;
	line-height:40px;
	text-transform:uppercase;
	letter-spacing:1px;
	margin: 40px auto 10px;
	max-width: 700px;
}

.reasons-heading p {
  color: #444;
  font-size: 1.1rem;
  line-height: 1.6;
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================
   GRID
========================================= */

.reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

/* =========================================
   CARD
========================================= */

.reasons-card {
  background: #fff;
  border-radius: 8px;
  padding: 80px 25px 40px;
  position: relative;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  transition: all 0.35s ease;
  border-top: 6px solid #F26F05;
}

.reasons-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.25);
  border-top-color: #ff7a26;
}

/* =========================================
   ICON — DIAMOND STYLE
========================================= */

.reasons-icon.diamond {
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, #f9f9f9 0%, #fff 100%);
  transform: rotate(45deg);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -45px;
  left: calc(50% - 45px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  border: 3px solid #F26F05;
}

.reasons-icon img {
  width: 60px;
  height: 60px;
  transform: rotate(-45deg);
}

/* =========================================
   TEXT
========================================= */

.reasons-card h3 {
  margin-top: 20px;
  margin-bottom: 12px;
  font-size: 1.25rem;
  color: #333;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-align: center;
}

.reasons-card p {
  font-size: 1rem;
  color: #555;
  line-height: 1.55;
  text-align: center;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1000px) {
  .reasons-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .reasons {
    padding: 40px 15px;
  }

  .reasons-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .reasons-heading h2 {
    font-size: 1.9rem;
  }

  .reasons-card {
    padding: 70px 20px 30px;
  }

  .reasons-card h3 {
    font-size: 1.15rem;
  }
}

/* body.................................................MOB */	



.body {
	width:100%;
	height:auto;
	background: linear-gradient(to bottom, #f7f7f7 0%, #ffffff 100%);
	padding-bottom:60px;
	box-shadow:0 -10px 20px rgba(0,0,0,0.2);
}
.body-content {
	max-width:1200px;
	margin:0 auto;
	overflow:hidden;
		padding-left:20px;
		padding-right:20px;
		padding-top:30px;
	font-family: 'Roboto', sans-serif;
}
.body h2 {
	color:#2F4F5B;
	font-size:30px;
	line-height:40px;
	text-transform:uppercase;
	letter-spacing:1px;
	margin: 40px 0 10px;
}
.body h3 {
	color:#2F4F5B;
	font-size:24px;
	line-height:30px;
	text-transform:uppercase;
	letter-spacing:1px;
	margin: 40px 0 10px;
}
.body p,li {
	color:#555;
	font-size:17px;
	line-height:27px;
	transition:0.3s;
}
.body a:hover {
	color:#F26F05;
	transition:0.3s;
}

.body-left {
	padding-bottom:40px;
}
.body-right {
	
}
.body-button-quote {
		display:none;
	width:200px;
	height:40px;
	line-height:40px;
	text-align:center;
	border-radius:5px;
	background-color:#2F4F5B;
	border-color:#2F4F5B;
	border-style:solid;
	border-width:medium;
	color:#fff;
	font-size:18px;
	margin-top:30px;
	transition:0.5s;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	}
.body-button-quote:hover {
	background-color:transparent;
	transition:0.5s;
	color:#2F4F5B;	
}
.body-form {
	text-align:center;
	width:100%;
	height:100%;
	overflow:hidden;
	background-size:cover;
	border-radius:10px;
	margin-left:auto;
	margin-right:auto;	
	font-family: 'Roboto', sans-serif;
}
.body-form-header {
	background-color:#2F4F5B;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	color:#fff;
	}
.body-form-header h3 {
	font-size:26px;
	font-weight:500;
	text-align:center;
	color:#fff;
	margin:0px;
	margin-bottom:30px;
	padding-top:15px;
	padding-bottom:15px;
	letter-spacing:1px;	
}
.body-form h5 {
	color:#fff;
	font-size:24px;
	text-transform:uppercase;
	letter-spacing:1px;
	text-align:center;
	margin-bottom:30px;
	letter-spacing:1px;
	margin-top:30px;	
}
.body-form input {
  width: 90%;
  height:35px;
  margin-bottom:25px;
    font-size:18px;
	box-sizing:border-box;
	padding-left:10px;
	border-radius:3px;
	border-color:#fff;
	border-width:thin;
	border-style:solid;
	font-family: 'Roboto', sans-serif;
	color:#666;
}
.body-form textarea {
  width: 90%;
  height:60px;
  margin-bottom:25px;
  font-size:18px;
	box-sizing:border-box;
	padding-left:10px;
	border-radius:3px;
	border-color:#fff;
	border-width:thin;
	border-style:solid;
	font-family: 'Roboto', sans-serif;
	color:#666;
}
.body-form select {
  width: 90%;
  height:35px;
  margin-bottom:15px;
    font-size:18px;
	box-sizing:border-box;
	padding-left:10px;
	border-radius:3px;
	border-color:#fff;
	border-width:thin;
	border-style:solid;
	font-family: 'Roboto', sans-serif;
	color:#666;
}
.body-form input[type=submit] {
  width: 90%;
  height:35px;
  border-radius: 3px;
  margin-top:5px;
  line-height:10px;
  border-color:#666;
  border-style:solid;
	border-width:thin;
	margin-top:10px;
	background-color:#2F4F5B;
	color:#fff;
	transition:0.8s;
 }
 .body-form input[type=submit]:hover {
	background-color:#fff;
	color:#2F4F5B;
	transition:0.8s;
 }
 @media only screen and (min-width: 900px) {
	.body-left {
		float:left;
		box-sizing:border-box;
		width:60%;
		padding-right:40px;
}
.body-right {
	float:left;
		box-sizing:border-box;
		width:40%;
		padding-left:40px;
		margin-top:20px;
}
}

@media only screen and (min-width: 1000px) {
.body-button-quote {
	display:block;
}
.body-left {
	padding-bottom:0px;
}
}
 @media only screen and (min-width: 1100px) {
.body-left {
		width:65%;
		padding-right:60px;
}
.body-right {
	float:left;
		box-sizing:border-box;
		width:35%;
		padding-left:60px;
}
}
/* W5...............BODY IMAGES.........................MOB */	
.body-right-wrapper {
  position:relative;
  margin-top: 20px;
}

.body-images {
position: sticky;
  top: 40px;
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
}

/* Make images behave */
.body-images img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
}

@media (max-width: 999px) {
  .body-right-wrapper,
  .body-images {
    width: 100%;
  }

  .body-images {
  display: none;
    position: static;
    margin-top: 40px;
  }
}
/* W5...............SERVICES.........................MOB */	

.services {
width:100%;
height:auto;
padding-top:80px;
padding-bottom:50px;
box-shadow:0 -10px 20px rgba(0,0,0,0.2);
font-family: "Roboto", sans-serif;
}

.services-content {
max-width:1400px;
margin:0 auto;
overflow:hidden;
padding-left:20px;
padding-right:20px;
}
.services h2 {
	color:#2F4F5B;
	font-size:40px;
	line-height:48px;
	text-transform:uppercase;
	letter-spacing:1px;
	text-align: center;
	max-width: 700px;
	margin: 0 auto 40px;
}
.services p {
	color:#555;
	font-size:17px;
	line-height:27px;
	transition:0.3s;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto 40px;
}
.services-container {
display:grid;
grid-template-columns:1fr;
gap:20px;
}

.service-item {
display:block;
width:100%;
text-align:center;
text-decoration:none;
background-image:url(../images/service-bg.jpg);
background-size:cover;
background-position:center;
border:1px solid #ddd;
border-radius:8px;
position:relative;
transition:transform 0.3s, box-shadow 0.3s;
background: linear-gradient(to bottom, #2F4F5B, #3E6A78);
overflow:hidden;
}

.service-item img {
width:100%;
height:auto;
max-height:200px;
object-fit:cover;
border-radius:8px 8px 0 0;
display:block;
}

.service-item h4 {
font-family:"Roboto", sans-serif;
text-transform:uppercase;
font-weight:bold;
font-size:22px;
letter-spacing:2px;
color:#fff;
position:relative;
margin:30px 0 10px;
}

.service-item p {
font-family:"Roboto", sans-serif;
font-size:17px;
line-height:24px;
color:#fff;
padding-left:15px;
padding-right:15px;
}

.service-item .read-more {
display:block;
margin: 0 auto;
padding:5px 10px;
color:#fff;
background-color:#F26F05;
border:none;
border-radius:4px;
cursor:pointer;
text-align:center;
margin-bottom:20px;
transition:0.5s;
font-family:"Roboto", sans-serif;
font-size:17px;
letter-spacing:1px;
}

.service-item:hover {
transform:translateY(-5px);
box-shadow:0 4px 8px rgba(0, 0, 0, 0.2);
}

.service-item:hover .read-more {
color:#2F4F5B;
background-color:#fff;
transition:0.5s;
}

@media (min-width:768px) {
.services-container {
grid-template-columns:repeat(2, 1fr);
}
}

@media (min-width:1200px) {
.services-container {
grid-template-columns:repeat(4, 1fr);
}
}


/* W6..........3 STEP PROCESS.................MOB */	

.process {
    width: 100%;
    height: auto;
    background-color: #f0f0f0;
	padding-top:30px;
	padding-bottom:40px;
	box-shadow:0 -10px 20px rgba(0,0,0,0.2);
}

.process-content {
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    padding-left: 15px;
    padding-right: 15px;
    font-family: "Roboto", sans-serif;
}
.process h3 {
	font-family: "Roboto", sans-serif;
	color:#F26F05;
	font-size:40px;
	line-height:48px;
	text-transform:uppercase;
	letter-spacing:1px;
	text-align:center;
}

.process-container {
    display: flex;
    flex-wrap: wrap; /* Ensure items wrap on small screens */
    justify-content: space-around;
    align-items: stretch;
    padding: 15px;
    gap: 20px;
    background-color: #ffffff; /* Background color for the container */
    border-radius: 8px; /* Rounded corners for the container */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add shadow to the container */
}

.process-step {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    text-align: center;
    flex: 1 1 100%; /* Make each step full-width on small screens */
    max-width: none; /* Remove max-width constraint */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.step-icon img {
    width: 120px; /* Increase image size */
    height: 120px; /* Increase image size */
    margin-bottom: 15px;
}

.process-step h4 {
	font-family: "Roboto", sans-serif;
    font-size: 22px;
	line-height:28px;
    margin: 15px 0;
    color: #666;
	letter-spacing:1px;
}

.step-number {
	font-family: "Roboto", sans-serif;
    font-size: 40px; /* Increase the font size of the number */
    font-weight: bold; /* Make the number bold */
    color: #F26F05; 
}

.process-step p {
    font-size: 1em;
    color: #666;
    line-height: 1.5em;
	lex-grow: 1; 
}
@media only screen and (min-width: 500px) {
.process-container {
    padding: 40px;
}
}

@media only screen and (min-width: 700px) {
.process-step {
    flex: 1 1 30%; /* Make each step full-width on small screens */
    max-width: 380px; /* Remove max-width constraint */
}
}


/* W7.............TESTIMONIALS................MOB */	

.testimonial {
	width:100%;
	height:auto;
	background-image:url(../images/testimonials.webp);
	background-size:cover;
	background-position:center;
	padding-top:70px;
}
.testimonial-content {
	max-width:1200px;
	margin:0 auto;
	overflow:hidden;
		padding-left:15px;
		padding-right:15px;
	font-family: "Roboto", sans-serif;
}
.mySlides {display: none;}
img {vertical-align: middle;}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  padding-left:20px;
  padding-right:20px;  
  margin: auto;
  padding-top:40px;
  padding-bottom:50px;	
}

/* Caption text */
.text {
  color: #fff;
  font-size: 22px;
  line-height:36px;
font-family: "Roboto", sans-serif;
  width: 100%;
  text-align: center;
  margin-bottom:20px;
}
@media only screen and (min-width: 500px) {
  .text {font-size: 28px;line-height:44px;}
}
@media only screen and (min-width: 800px) {
  .text {font-size: 38px;line-height:54px;}
}
/* Number text (1/3 etc) */
.numbertext {
  color: #101b37;
  font-size: 12px;
  padding: 8px 12px;

  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  height: 10px;
  width: 10px;
  margin: 0 3px;
  background-color: #aaa;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
  margin-bottom:30px;
}

.active {
  background-color: #fff;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}
/* Footer.............................................. */	
.footer-section {
  background: #2F4F5B;
  color: white;
  font-family: "Roboto", sans-serif;
  padding: 20px 20px;
  text-align: center;
}

.footer-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.footer-left,
.footer-right {

  gap: 10px;
}

.footer-left a,
.footer-right a {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.footer-left a:hover,
.footer-right a:hover {
  color: #F26F05;
}


/* Layout side-by-side on wider screens */
@media (min-width: 768px) {
  .footer-container {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: auto;
  }

  .footer-left,
  .footer-right {
    flex-direction: row;
  }
}

/* Footer.............................................. */	

/* Contact............................................... */	

.contact-section {
  font-family: "Roboto", sans-serif;
  padding: 60px 20px;
  background: linear-gradient(to bottom, #f9f9f9 0%, #ffffff 100%);
}

.contact-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}
.contact-logo {
  max-width: 250px;
  display: block;
}
.contact-info {
  flex: 1;
  color: #2F4F5B;
}

.contact-info h2 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.contact-info p,
.contact-info li {
  color: #2F4F5B;
  text-decoration: none;
  font-size: 1rem;
  line-height: 25px;
}
.contact-info a {
  color: #2F4F5B;
  text-decoration: none;
}

.contact-info a:hover {
  text-decoration: underline;
}

.contact-form {
  flex: 1;
  background: white;
  padding: 20px;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  font-family: "Roboto", sans-serif;
}

/* Reuse popup style elements */
.contact-form .popup-logo {
  max-width: 160px;
  margin: 0 auto 15px;
  display: block;
}

.contact-form .popup-subtext {
  background: #f2f2f2;
  padding: 20px;
  font-size: 0.95rem;
  text-align: center;
  border-radius: 6px;
  color: #333;
  margin: 10px 0 30px;
}

.contact-form .popup-subtext span {
  display: block;
  text-align: center;
  margin-top: 0;
  color: #2F4F5B;
  font-size: 1.3rem;
  padding-bottom: 15px;
}

.contact-form .popup-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.contact-form .popup-form label {
  font-weight: 600;
  font-size: 0.95rem;
  color: #333;
}

.contact-form .popup-form input,
.contact-form .popup-form textarea {
  padding: 10px;
  font-size: 1rem;
  font-family: inherit;
  border: 1px solid #ccc;
  border-radius: 6px;
}
.contact-form select,
.popup-form select {
  padding: 10px;
  font-size: 1rem;
  font-family: inherit;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  color: #333;
  appearance: none; /* Removes default styling (especially on Chrome & Safari) */
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px;
}


.contact-form .popup-form button {
  background: #2F4F5B;
  color: white;
  padding: 12px;
  border: none;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.contact-form .popup-form button:hover {
  background: #F26F05;
}


.body-contact-form  select {
  padding: 10px;
  font-size: 1rem;
  font-family: inherit;
  border: 1px solid #ccc;
  border-radius: 6px;
}



/* Responsive row layout for larger screens */
@media (min-width: 900px) {
  .contact-container {
    flex-direction: row;
    align-items: flex-start;
  }
}

/* Contact............................................... */

/* FAQ................................................MOB */	
.faq {
  max-width: 900px;
  margin: 40px auto;
font-family: "Roboto", sans-serif;
  color: #010203;
}
.faq-item {
margin-bottom: 10px;
}
.faq h3 {
font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  padding: 15px 20px;
  background: #fff;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #ddd;
}

.faq h3:hover {
  background: #f1f1f1;
}

.faq-toggle {
  font-size: 26px;
  font-weight: 700;
  color: #F26F05;
}

.faq-answer {
  display: none;
  padding: 20px;
  background: #f7f7f7;
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .faq-toggle {
  content: "–";
}


/* BODY TESTIMONIALS..............................................MOB */	

.body-testimonials-wrapper {
      max-width: 1200px;
      margin: 0 auto;
	padding: 40px 0 60px;
    }

   .body-testimonials-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, auto);
  gap: 20px;
}

    .body-testimonial {
      background: #fff;
      border-radius: 10px;
      padding: 20px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      display: block;
      position: relative;
	font-family: "Roboto", sans-serif;
    }

    .body-testimonial h3 {
      font-size: 16px;
      margin: 0 0 5px;
		
    }

    .body-testimonials-stars {
      width: 130px;
      margin: 15px 0 20px;
    }

    .body-testimonials-google-logo {
      width: 30px;
      position: absolute;
      top: 20px;
      right: 20px;
    }

    .body-testimonial p {
      font-size: 14px;
      line-height: 1.6;
      margin: 0;
    }

    .body-testimonials-see-more-wrapper {
      text-align: center;
      margin-top: 20px;
    }

    .body-testimonials-see-more-btn {
      background: #2F4F5B;
		width: 100%;
      color: #fff;
		font-size: 17px;
		letter-spacing: 1px;
      padding: 10px 20px;
      border: none;
      border-radius: 6px;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.3s ease;
	  cursor: pointer;
    }

    .body-testimonials-see-more-btn:hover {
      background: #F26F05;
    }

.body-testimonials-heading {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 30px;
font-family: "Roboto", sans-serif;
  color: #3b2a96;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

   /* Responsive columns */
@media (min-width: 600px) {
  .body-testimonials-container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
}

@media (min-width: 900px) {
  .body-testimonials-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* GALLERY................................... */
.gallery{
font-family: "Nunito", sans-serif;
padding:40px 0px;
background:#ffffff;
color:#343434;
}

.gallery .gallery-inner{
max-width:1200px;
margin:0 auto;
}

.gallery .gallery-stage{
position:relative;
width:100%;
background:#333;
border-radius:10px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
aspect-ratio:16/9;
}

.gallery .gallery-stage::before{
content:none;
display:none;
}

.gallery .gallery-main-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:3;
width:46px;
height:46px;
border-radius:999px;
border:0;
background:rgba(255,255,255,0.90);
color:#111;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:0.2s ease;
}

.gallery .gallery-main-btn:hover{
background:rgba(255,255,255,1);
}

.gallery .gallery-main-btn:active{
transform:translateY(-50%) scale(0.98);
}

.gallery .gallery-main-btn.gallery-prev{
left:14px;
}

.gallery .gallery-main-btn.gallery-next{
right:14px;
}

.gallery .gallery-main-img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:contain;
cursor:pointer;
user-select:none;
-webkit-user-drag:none;
display:block;
}

.gallery .gallery-main-fade{
opacity:0;
transition:opacity 220ms ease;
}

.gallery .gallery-main-fade.gallery-show{
opacity:1;
}

.gallery .gallery-counter{
position:absolute;
left:14px;
bottom:14px;
z-index:3;
background:rgba(0,0,0,0.55);
color:#fff;
padding:6px 0;
border-radius:999px;
font-size:13px;
letter-spacing:0.5px;
}

.gallery .gallery-thumbs{
margin-top:16px;
display:flex;
gap:10px;
overflow:auto;
padding-bottom:6px;
scrollbar-width:thin;
}

/* Thumb button + image styles (GALLERY) */
.gallery .gallery-thumb-btn{
border:0;
padding:0;
background:transparent;
cursor:pointer;
flex:0 0 auto;
border-radius:8px;
outline:none;
}

.gallery .gallery-thumb{
width:92px;
height:62px;
object-fit:cover;
border-radius:8px;
display:block;
border:3px solid transparent;
transition:0.15s ease;
}

.gallery .gallery-thumb-btn:hover .gallery-thumb{
transform:translateY(-1px);
}

.gallery .gallery-thumb-btn.gallery-active .gallery-thumb{
border-color:#7da83e;
}

.gallery .gallery-hint{
text-align:center;
font-size:13px;
color:#666;
margin-top:10px;
}

/* LIGHTBOX................................... */
.gallery-lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,0.86);
z-index:10001;
display:none;
align-items:center;
justify-content:center;
padding:20px;
margin-top: 120px;
}

.gallery-lightbox.gallery-open{
display:flex;
}

.gallery-lightbox-inner{
width:100%;
max-width:1400px;
display:flex;
flex-direction:column;
gap:14px;
}

.gallery-lightbox-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
}

.gallery-lightbox-title{
color:#fff;
font-size:14px;
letter-spacing:0.5px;
margin:0;
}

.gallery-lightbox-close{
border:0;
background:rgba(255,255,255,0.92);
color:#111;
border-radius:999px;
width:42px;
height:42px;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:0.2s ease;
flex:0 0 auto;
}

.gallery-lightbox-close:hover{
background:rgba(255,255,255,1);
}

/* This is the popup “viewer” */
.gallery-lightbox-stage{
position:relative;
width:100%;
background:#333;
border-radius:10px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.25);
aspect-ratio:16/9;
max-height:70vh;
}

.gallery-lightbox-stage::before{
content:none;
display:none;
}

/* centred vertically + horizontally by absolute inset + object-fit */
.gallery-lightbox-img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:contain;
user-select:none;
-webkit-user-drag:none;
display:block;
}

.gallery-lightbox-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:3;
width:52px;
height:52px;
border-radius:999px;
border:0;
background:rgba(255,255,255,0.92);
color:#111;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:0.2s ease;
}

.gallery-lightbox-btn:hover{
background:rgba(255,255,255,1);
}

.gallery-lightbox-btn.gallery-prev{
left:14px;
}

.gallery-lightbox-btn.gallery-next{
right:14px;
}

.gallery-lightbox-counter{
position:absolute;
left:14px;
bottom:14px;
z-index:3;
background:rgba(0,0,0,0.55);
color:#fff;
padding:6px 10px;
border-radius:999px;
font-size:13px;
letter-spacing:0.5px;
}

/* Thumbnails (LIGHTBOX) */
.gallery-lightbox-thumbs{
display:flex;
gap:10px;
overflow:auto;
padding-bottom:6px;
scrollbar-width:thin;
}

/* Thumb button + image styles (LIGHTBOX) */
.gallery-lightbox .gallery-thumb-btn{
border:0;
padding:0;
background:transparent;
cursor:pointer;
flex:0 0 auto;
border-radius:8px;
outline:none;
}

.gallery-lightbox .gallery-thumb{
width:92px;
height:62px;
object-fit:cover;
border-radius:8px;
display:block;
border:3px solid transparent;
transition:0.15s ease;
}

.gallery-lightbox .gallery-thumb-btn:hover .gallery-thumb{
transform:translateY(-1px);
}

.gallery-lightbox .gallery-thumb-btn.gallery-active .gallery-thumb{
border-color:#7da83e;
}

@media (max-width:900px){
.gallery .gallery-stage{
aspect-ratio:3/2;
}
.gallery-lightbox-stage{
aspect-ratio:3/2;
max-height:72vh;
}
.gallery .gallery-thumb{
width:84px;
height:58px;
}
.gallery-lightbox .gallery-thumb{
width:84px;
height:58px;
}
}

@media (max-width:650px){
.gallery{
padding:50px 0;
}
.gallery .gallery-main-btn{
width:42px;
height:42px;
}
.gallery-lightbox-btn{
width:46px;
height:46px;
}
.gallery .gallery-thumb{
width:78px;
height:54px;
}
.gallery-lightbox .gallery-thumb{
width:78px;
height:54px;
}
}

/* FLOATING BUTTON / POP UP.............................. */
/* Floating Button */
/* Base Floating Button */
/* Floating Button (shared styles) */
.floating-button{
    position:fixed;
    bottom:10px;
    right:10px;
    width:90px;
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#F26F05;
    color:#fff;
    border:1px solid rgba(255,255,255,0.5);
    font-family:"Roboto", sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: bold;
    font-size:14px;
	line-height: 16px;
    text-align:center;
    text-decoration:none;
    box-sizing:border-box;
    padding:8px 12px 0px; /* small padding helps text wrap cleanly */
    margin:0;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
    z-index:1000;
    transition:background 0.3s ease;
    overflow:hidden;
	cursor: pointer;
}



/* Hover effect */
.floating-button:hover {
  background: #2F4F5B;
  color: #fff;
}

/* Visibility Control */
@media (max-width: 767px) {
  .floating-button.mobile-only {
    display: flex !important;
  }
  .floating-button.desktop-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .floating-button.mobile-only {
    display: none !important;
  }
  .floating-button.desktop-only {
    display: flex !important;
  }
}

/* Popup Overlay */
.popup-overlay{
position:fixed;
top:0;
left:0;
right:0;
bottom:0;
padding:8px;
background:rgba(10,44,99,0.7);
display:none;
justify-content:center;
align-items:center;
z-index:9999;
overflow:hidden;
box-sizing:border-box;
}

.popup-box{
background:#fff;
padding:22px 20px;
border-radius:12px;
max-width:460px;
width:94%;
position:relative;
box-shadow:0 4px 20px rgba(0,0,0,0.2);
font-family:"Roboto",sans-serif;
box-sizing:border-box;
max-height:calc(100vh - 16px);
overflow:hidden;
}

.popup-close{
position:absolute;
top:8px;
right:10px;
background:none;
border:none;
font-size:1.8rem;
line-height:1;
color:#2F4F5B;
cursor:pointer;
}

.popup-logo{
max-width:180px;
margin:0 auto 20px;
display:block;
}

.popup-subtext{
background:#f2f2f2;
padding:12px 14px;
font-size:0.9rem;
line-height:1.4;
text-align:center;
border-radius:6px;
color:#333;
margin:0 0 14px;
}

.popup-subtext span{
display:block;
text-align:center;
margin:0;
color:#2F4F5B;
font-size:1.2rem;
font-weight:700;
padding-bottom:6px !important;
}

.popup-form{
display:flex;
flex-direction:column;
gap:9px;
}

.popup-form label{
display:none;
}

.popup-form input,
.popup-form textarea,
.popup-form select{
width:100%;
padding:10px 11px;
font-size:0.95rem;
font-family:inherit;
border:1px solid #ccc;
border-radius:6px;
box-sizing:border-box;
}

.popup-form textarea{
height:82px;
resize:none;
}

.popup-form input::placeholder,
.popup-form textarea::placeholder{
color:#666;
opacity:1;
}

.popup-form button{
background:#2F4F5B;
color:white;
padding:11px;
border:none;
font-weight:600;
font-size:1rem;
border-radius:6px;
cursor:pointer;
transition:background 0.3s ease;
}

.popup-form button:hover{
background:#F26F05;
}

.g-recaptcha{
transform:scale(0.88);
}

@media (min-width:600px){
.popup-box{
padding:24px 24px;
}

.popup-logo{
max-width:165px;
}

.popup-form{
gap:10px;
}
}

@media (max-height:650px){
.popup-logo{
max-width:125px;
margin-bottom:6px;
}

.popup-subtext{
padding:9px 12px;
font-size:0.85rem;
margin-bottom:10px;
}

.popup-subtext span{
font-size:1.05rem;
padding-bottom:4px !important;
}

.popup-form{
gap:7px;
}

.popup-form input,
.popup-form textarea{
padding:8px 10px;
font-size:0.9rem;
}

.popup-form textarea{
height:64px;
}

.popup-form button{
padding:9px;
}

}


