body {
	font-family: "Open Sans", sans-serif;
	color: #777;
}

a {
	color: #43aea0;
}


a:hover {
	color: #00d3b8;
	text-decoration: none;
}



/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
	position: fixed;
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 3px;
	right: 15px;
	bottom: 15px;
	background: #70b9b0;
	color: #fff;
	transition: display 0.5s ease-in-out;
	z-index: 99999;
}

.back-to-top i {
	font-size: 24px;
	position: absolute;
	top: 8px;
	left: 8px;
}

.back-to-top:hover {
	color: #fff;
	background: #8bc6bf;
	transition: background 0.2s ease-in-out;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
	height: 80px;
	transition: all 0.5s;
	z-index: 997;
	transition: all 0.5s;
	padding: 20px 0;
	background: #2d6760;
}

#header.header-scrolled {
	background: #1d443f;
	height: 60px;
	padding: 10px 0;
}

#header .logo h1 {
	font-size: 30px;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 1px;
}

#header .logo h1 a,
#header .logo h1 a:hover {
	color: #fff;
	text-decoration: none;
}

#header .logo img {
	padding: 0;
	margin: 0;
	max-height: 40px;
}

@media (max-width: 768px) {
	#header .logo h1 {
		font-size: 28px;
		padding: 8px 0;
	}
}

#main {
	margin-top: 80px;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Desktop Navigation */
.nav-menu,
.nav-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-menu>ul>li {
	position: relative;
	white-space: nowrap;
	float: left;
}

.nav-menu a {
	display: block;
	position: relative;
	color: #d2ece9;
	padding: 10px 15px;
	transition: 0.3s;
	font-size: 14px;
	font-family: "Open Sans", sans-serif;
}

.nav-menu a:hover,
.nav-menu .active>a,
.nav-menu li:hover>a {
	color: #9cd5ce;
	text-decoration: none;
}

.nav-menu .drop-down ul {
	display: block;
	position: absolute;
	left: 0;
	top: calc(100% - 30px);
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	padding: 10px 0;
	background: #fff;
	box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
	transition: ease all 0.3s;
}

.nav-menu .drop-down:hover>ul {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

.nav-menu .drop-down li {
	min-width: 180px;
	position: relative;
}

.nav-menu .drop-down ul a {
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
	color: #25564f;
}

.nav-menu .drop-down ul a:hover,
.nav-menu .drop-down ul .active>a,
.nav-menu .drop-down ul li:hover>a {
	color: #70b9b0;
}

.nav-menu .drop-down>a:after {
	content: "\ea99";
	font-family: IcoFont;
	padding-left: 5px;
}

.nav-menu .drop-down .drop-down ul {
	top: 0;
	left: calc(100% - 30px);
}

.nav-menu .drop-down .drop-down:hover>ul {
	opacity: 1;
	top: 0;
	left: 100%;
}

.nav-menu .drop-down .drop-down>a {
	padding-right: 35px;
}

.nav-menu .drop-down .drop-down>a:after {
	content: "\eaa0";
	font-family: IcoFont;
	position: absolute;
	right: 15px;
}

@media (max-width: 1366px) {
	.nav-menu .drop-down .drop-down ul {
		left: -90%;
	}

	.nav-menu .drop-down .drop-down:hover>ul {
		left: -100%;
	}

	.nav-menu .drop-down .drop-down>a:after {
		content: "\ea9d";
	}
}

/* Mobile Navigation */
.mobile-nav {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 9999;
	overflow-y: auto;
	left: -260px;
	width: 260px;
	padding-top: 18px;
	background: #01292a;
	transition: 0.4s;
}

.mobile-nav * {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-nav a {
	display: block;
	position: relative;
	color: #d2ece9;
	padding: 10px 20px;
	font-weight: 500;
}

.mobile-nav a:hover,
.mobile-nav .active>a,
.mobile-nav li:hover>a {
	color: #9cd5ce;
	text-decoration: none;
}

.mobile-nav .drop-down>a:after {
	content: "\ea99";
	font-family: IcoFont;
	padding-left: 10px;
	position: absolute;
	right: 15px;
}

.mobile-nav .active.drop-down>a:after {
	content: "\eaa0";
}

.mobile-nav .drop-down>a {
	padding-right: 35px;
}

.mobile-nav .drop-down ul {
	display: none;
	overflow: hidden;
}

.mobile-nav .drop-down li {
	padding-left: 20px;
}

.mobile-nav-toggle {
	position: fixed;
	right: 15px;
	top: 15px;
	z-index: 9998;
	border: 0;
	background: none;
	font-size: 24px;
	transition: all 0.4s;
	outline: none !important;
	line-height: 1;
	cursor: pointer;
	text-align: right;
}

.mobile-nav-toggle i {
	color: #fff;
}

.mobile-nav-overly {
	width: 100%;
	height: 100%;
	z-index: 9997;
	top: 0;
	left: 0;
	position: fixed;
	background: rgba(1, 41, 42, 0.9);
	overflow: hidden;
	display: none;
}

.mobile-nav-active {
	overflow: hidden;
}

.mobile-nav-active .mobile-nav {
	left: 0;
}

.mobile-nav-active .mobile-nav-toggle i {
	color: #fff;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
	width: 100%;
	height: 75vh;
	background: url("../img/hero-background.jpg") top center;
	background-size: cover;
	position: relative;
	margin-bottom: -80px;
}

#hero:before {
	content: "";
	background: rgba(112, 185, 176, 0.5);
	;
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
}

#hero .hero-container {
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	padding-top: 80px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

#hero h1 {
	margin: 0 0 10px 0;
	font-size: 48px;
	font-weight: 300;
	line-height: 56px;
	color: #fff;
}

#hero h2 {
	color: #eee;
	margin-bottom: 50px;
	font-size: 20px;
	font-weight: 300;
}

#hero .btn-get-started {
	font-family: "Lato", sans-serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 1px;
	display: inline-block;
	padding: 8px 28px 10px 28px;
	border-radius: 50px;
	transition: 0.5s;
	border: 1px solid #fff;
	color: #fff;
}

#hero .btn-get-started:hover {
	background: #fff;
	color: #70b9b0;
	border: 1px solid #70b9b0;
}

@media (min-width: 1024px) {
	#hero {
		background-attachment: fixed;
	}
}

@media (max-width: 768px) {
	#hero h1 {
		font-size: 28px;
		line-height: 36px;
	}

	#hero h2 {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 30px;
	}
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
	padding: 60px 0;
}

.section-bg {
	background-color: #f2f9f8;
}

.section-title {
	text-align: center;
	padding-bottom: 30px;
}

.section-title h2 {
	font-size: 32px;
	font-weight: 300;
	margin-bottom: 20px;
	padding-bottom: 0;
	color: #555;
}

.section-title p {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# About Us
--------------------------------------------------------------*/
.about h3 {
	font-weight: 400;
	font-size: 26px;
}

.about ul {
	list-style: none;
	padding: 0;
}

.about ul li {
	padding-bottom: 10px;
}

.about ul i {
	font-size: 20px;
	padding-right: 4px;
	color: #70b9b0;
}

.about p:last-child {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
/* .services .icon-box {
	margin-bottom: 20px;
	text-align: center;
}

.services .icon {
	display: flex;
	justify-content: center;
	margin-bottom: 15px;
}

.services .icon i {
	color: #70b9b0;
	font-size: 42px;
}
.icon-box .icon img {
	max-width: 64px;;
	height: auto%;
  }

.services .title {
	font-weight: 700;
	margin-bottom: 15px;
	font-size: 18px;
	text-transform: uppercase;
}

.services .title a {
	color: #343a40;
	transition: 0.3s;
}

.services .icon-box:hover .title a {
	color: #70b9b0;
}

.services .description {
	line-height: 24px;
	font-size: 14px;
} */
.services .icon-box {
	margin-bottom: 20px;
	text-align: center;
  }
  
  .services .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background-color: #f2f9f8;
  }
  
  .services .icon img {
	max-width: 60px;
	max-height: 60px;
  }
  
  .services .title {
	font-weight: 700;
	margin-bottom: 15px;
	font-size: 18px;
	text-transform: uppercase;
  }
  
  .services .title a {
	color: #343a40;
	transition: 0.3s;
  }
  
  .services .icon-box:hover .title a {
	color: #70b9b0;
  }
  
  .services .description {
	line-height: 24px;
	font-size: 14px;
	text-align: justify;
  }
  
  @media (max-width: 992px) {
	.services .icon-box {
	  margin-bottom: 40px;
	}
  }

/*--------------------------------------------------------------
Our Products

--------------------------------------------------------------*/

/*--------------------------------------------------------------
Our Products
--------------------------------------------------------------*/
.products {
    padding: 60px 0;
}

.products .section-title {
    text-align: center;
    padding-bottom: 30px;
}

.products .section-title h2 {
    font-size: 32px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 20px;
    padding-bottom: 0;
    color: #333;
}

.products .products-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.products .product-item {
    position: relative;
    margin-bottom: 30px;
    overflow: hidden;
    text-align: center;
}

.products .product-item img {
    transition: all 0.3s ease-in-out;
}

.products .product-item:hover img {
    transform: none;
}

.products .product-title {
    margin-top: 10px;
    font-size: 1.2em;
    color: #333;
    font-weight: bold;
    text-transform: uppercase;
}
.products .product-title1 {
    margin-top: 10px;
    font-size: 1.2em;
    color: #333;
    font-weight: bold;
    text-transform: uppercase;
}

.products .product-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #10c2b3;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    padding: 20px;
    box-sizing: border-box;
}

.products .product-item:hover .product-overlay {
    opacity: 1;
}

.products .overlay-content {
    text-align: left;
    padding-top: 20px;
    overflow: hidden;
}

.products .overlay-content h4 {
    font-size: 1.2em;
    margin-bottom: 10px;
    text-align: center;
}

.products .overlay-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 20px;
    text-align: left;
}
.product-item:hover .product-title {
    color: #28cdb4;
  }

.products .overlay-content ul li {
    margin-bottom: 5px;
    font-size: 0.9em;
}

.products .product-item a {
    display: block;
    text-decoration: none;
}

.products .product-info {
    padding: 10px;
    background-color: #ffffff;
}

/* Style for the product-info section */
:root {
    --primary-color: #4CAF50; /* Adjust primary color as needed */
    --text-color: #333;
    --background-color: #f5f5f5;
    --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Container Styling */
.product-details .container {
    max-width: 1170px;
    margin: auto;
    padding: 0 15px;
    background-color: var(--background-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Row and Columns Flexbox Layout */
.product-details .row {
    display: flex;
    align-items: center;
    gap: 20px; /* Adds space between the two columns */
}

.product-details .col-lg-6 {
    flex: 1; /* Each column takes equal width */
    padding: 20px; /* Adds padding inside the columns */
}

/* Product Image Styling */
.product-details .product-image img {
    max-width: 100%;
    height: auto;
    border-radius: 10px; /* Adds rounded corners to the image */
    transition: transform 0.3s ease; /* Smooth transition for hover effect */
}

.product-details .product-image img:hover {
    transform: scale(1.05); /* Slightly enlarge the image on hover */
}

/* Key Features and Sizes List Styling */
.product-details h3 {
    color: var(--primary-color);
    margin-bottom: 15px;
    font-family: var(--font-family);
}

.product-details ul {
    list-style-type: none; /* Removes default list style */
    padding: 0;
    font-family: var(--font-family);
}

.product-details ul li {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}

.product-details ul li::before {
    content: '•'; /* Custom bullet point */
    color: var(--primary-color);
    position: absolute;
    left: 0;
}

/* Customization Text Styling */
.product-details p {
    font-style: italic;
    color: var(--text-color);
    font-family: var(--font-family);
}
  /* Style for the we-deal section */
  .service-areas {
	padding: 80px 0;
	background-color: #f2f2f2;
  }
  
  .service-areas h2 {
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	margin-bottom: 40px;
	color: #333;
  }
  
  .service-areas ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
  }
  
  .service-areas li {
	background-color: #fff;
	padding: 20px;
	margin-bottom: 20px;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
  }
  
  .service-areas li:hover {
	transform: translateY(-5px);
  }
  
  .service-areas li:before {
	content: "✓";
	color: #4CAF50;
	font-weight: bold;
	margin-right: 10px;
  }
  
  @media (max-width: 991px) {
	.service-areas .col-lg-6 {
	  margin-bottom: 30px;
	}
  }
  /* Additional global styles */
  body {
	font-family: 'Open Sans', sans-serif;
	line-height: 1.6;
	color: #333;
  }
  
  .container {
	max-width: 1170px;
	margin: auto;
	padding: 0 15px;
  }
  
  /* Clearfix for floated elements */
  .row::after {
	content: "";
	clear: both;
	display: table;
  }
  
  /* Style for header */
  header {
	background: #35424a;
	padding: 20px 0;
	color: white;
  }
  
  /* Style for navigation menu */
  .nav-menu a {
	color: white;
	text-decoration: none;
	padding: 0 15px;
  }
  
  .nav-menu a:hover {
	color: #e8491d;
  }
  
  /* ... additional styling as needed for other elements ... */
  
  /* Footer styles */
  footer {
	background: #333;
	color: white;
	text-align: center;
	padding: 10px 0;
  }
  
  footer a, footer a:hover {
	color: #d3d3d3;
	text-decoration: none;
  }
  
  /* Style for back-to-top button */
  .back-to-top {
	position: fixed;
	bottom: 25px;
	right: 25px;
	background: #e8491d;
	color: #ffffff;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 42px;
	border-radius: 50%;
	display: none;
  }
  


/*--------------------------------------------------------------
# Frequently Asked Questions
FAQ Section Styling */
.faq {
    padding: 60px 0;
}

.faq .faq-list {
    padding: 0;
    list-style: none;
}

.faq .faq-list li {
    border-bottom: 1px solid #d9f1f0;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.faq .faq-list a {
    display: block;
    position: relative;
    color: #000000; /* Default color for the FAQ questions */
    font-weight: 500;
    padding-right: 30px;
}

/* Arrow Styling */
.faq .faq-list a::after {
    content: '\25B6';
    font-size: 24px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease-in-out;
    color: #70b9b0; /* Green color for the arrow */
}

/* Rotated arrow when the section is active/open */
.faq .faq-list a.collapsed::after {
    transform: translateY(-50%) rotate(90deg);
    color: #000000; /* Black color for the collapsed arrow */
}

/* Question Paragraph Styling */
.faq .faq-list p {
    margin-bottom: 0;
    padding: 10px 0 0 30px;
    color: #31c490; /* Text color */
}

/* Clicked/Expanded Question Styling */
.faq .faq-list a:not(.collapsed) {
    color: #000000; /* Green color for the expanded question */
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
    .faq .faq-list {
        padding: 0;
    }

    .faq .faq-list a {
        padding-right: 15px;
    }
}

/* clients*/
.client-name {
	padding: 20px 0;
	font-size: 1.25rem;
	/* 20px */
	font-weight: 500;
	color: #70b9b0;
	/* Adjust the color to fit your design */
	border-bottom: 1px solid #eee;
	/* Optional: adds a line between items */
	margin-bottom: 15px;
	/* Space between rows */
}

.client-logo img {
	height: 80px;
	/* Set a fixed height */
	width: auto;
	/* Width can be auto to maintain aspect ratio */
	max-width: 100%;
	/* Ensures image is not bigger than its container */
	object-fit: contain;
	/* Ensures logo is scaled within the dimensions */
	margin: auto;
	/* Centers the image within its container */
	display: block;
	/* Treats the image as a block for centering purposes */
}


/* Optional: Aligns text to the center in larger screens and left in smaller screens */
@media (min-width: 992px) {
	.client-name p {
		text-align: center;
	}
}

@media (max-width: 991px) {
	.client-name p {
		text-align: left;
		padding-left: 15px;
		/* Adjusts padding for text alignment in smaller screens */
	}
}


/*--------------------------------------------------------------
# Contact Us
--------------------------------------------------------------*/
.contact .contact-about h3 {
	font-size: 36px;
	margin: 0 0 10px 0;
	padding: 0;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 1px;
	color: #70b9b0;
}

.contact .contact-about p {
	font-size: 14px;
	line-height: 24px;
	font-family: "Lato", sans-serif;
	color: #888;
}

.contact .social-links {
	padding-bottom: 20px;
}

.contact .social-links a {
	font-size: 18px;
	display: inline-block;
	background: #fff;
	color: #70b9b0;
	line-height: 1;
	padding: 8px 0;
	margin-right: 4px;
	border-radius: 50%;
	text-align: center;
	width: 36px;
	height: 36px;
	transition: 0.3s;
	border: 1px solid #70b9b0;
}

.contact .social-links a:hover {
	background: #70b9b0;
	color: #fff;
}

.contact .info {
	color: #777;
}

.contact .info i {
	font-size: 32px;
	color: #70b9b0;
	float: left;
	line-height: 1;
}

.contact .info p {
	padding: 0 0 10px 42px;
	line-height: 28px;
	font-size: 14px;
}

.contact .form .validate {
	display: none;
	color: red;
	margin: 0 0 15px 0;
	font-weight: 400;
	font-size: 13px;
}

.contact .form .error-message {
	display: none;
	color: #fff;
	background: #ed3c0d;
	text-align: center;
	padding: 15px;
	font-weight: 600;
}

.contact .form .sent-message {
	display: none;
	color: #fff;
	background: #18d26e;
	text-align: center;
	padding: 15px;
	font-weight: 600;
}

.contact .form .loading {
	display: none;
	background: #fff;
	text-align: center;
	padding: 15px;
}

.contact .form .loading:before {
	content: "";
	display: inline-block;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	margin: 0 10px -6px 0;
	border: 3px solid #18d26e;
	border-top-color: #eee;
	-webkit-animation: animate-loading 1s linear infinite;
	animation: animate-loading 1s linear infinite;
}

.contact .form input,
.contact .form textarea {
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
}

.contact .form button[type="submit"] {
	background: #70b9b0;
	border: 0;
	padding: 10px 24px;
	color: #fff;
	transition: 0.4s;
}

.contact .form button[type="submit"]:hover {
	background: #92cac3;
}
.map-responsive {
	overflow: hidden;
	padding-bottom: 400px; /* Adjust the height as needed */
	position: relative;
	height: 0;
	border: 4px solid #70b9b0; /* Add a border */
	border-radius: 8px; /* Add border radius for rounded corners */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Add a subtle shadow */
	transition: transform 0.3s ease-in-out; /* Add transition for smooth hover effect */
  }
  
  .map-responsive:hover {
	transform: scale(1.02); /* Slightly scale up the map on hover */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Increase the shadow on hover */
  }
  
  .map-responsive iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
  }
@-webkit-keyframes animate-loading {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes animate-loading {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
	background: #073839;
	padding: 30px 0;
	color: #fff;
	font-size: 14px;
}

#footer .copyright {
	text-align: center;
}

#footer .credits {
	padding-top: 10px;
	text-align: center;
	font-size: 13px;
	color: #fff;
}