/* ==========================================================================
   Normalize styles
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

main {
    display: block;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
    max-width: 100%;
    height: auto;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[hidden] {
    display: none;
}

/* ==========================================================================
   Base theme styles
   ========================================================================== */

:root {
    --color-background: #ffffff;
    --color-surface: #f7f7fb;
    --color-text: #191923;
    --color-muted: #5d6470;
    --color-primary: #f97316;
    --color-primary-dark: #c2410c;
    --color-border: #e6e8ef;
    --font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --container-width: 1280px;
    --spacing-section: clamp(3rem, 7vw, 6rem);
}

body {
/*     background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-base);
    font-size: 16px;
    line-height: 1.6; */
}

a {
    color: var(--color-primary-dark);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

a:hover,
a:focus {
    color: var(--color-primary);
}

button,
a {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 3px;
}

.container {
    width: min(100% - 2rem, var(--container-width));
    margin-inline: auto;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link:focus {
    top: 1rem;
    left: 1rem;
    z-index: 9999;
    width: auto;
    height: auto;
    padding: 0.75rem 1rem;
    clip: auto;
    background: var(--color-text);
    color: #fff;
    border-radius: 0.5rem;
}

.site-logo-text {
    color: var(--color-text);
    font-size: 1.25rem;
    font-weight: 800;
    text-decoration: none;
}

.menu-toggle {
    display: none;
    padding: 0.65rem 0.9rem;
    background: var(--color-text);
    color: #fff;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
}

.site-main {
    min-height: 60vh;
}

.page-content,
.archive-content {
    padding-block: var(--spacing-section);
}

.entry-header {
    max-width: 820px;
    margin-bottom: 2rem;
}

.entry-title {
    margin: 0;
    font-size: clamp(2.25rem, 6vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.entry-content > *:first-child {
    margin-top: 0;
}

.entry-content > *:last-child {
    margin-bottom: 0;
}

.post-card {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--color-border);
}

.post-card__title {
    margin: 0 0 0.5rem;
}

.post-card__title a {
    color: var(--color-text);
    text-decoration: none;
}

.site-footer {
    background: var(--color-text);
    color: #fff;
    padding-block: 3rem 1.25rem;
}

.site-footer__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 2rem;
}

.site-footer__title {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    font-weight: 800;
}

.site-footer__text,
.site-footer__bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

.footer-navigation a {
    color: #fff;
}

.site-footer__bottom {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}


/* ===================================
   			THEME
===================================== */
html {
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 1.56em;
	color: #1A1A1A;
}

html, body {
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 40px;
    line-height: 1.1em;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 20px;
    margin-top: 0;
}

.bg-dark {
	background-color: #0F172A;
	color: #fff;
} 

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6 {
	color: inherit;
}

.bg-light {
	background-color: #fff;
	color: #0f172a;
}

.bg-light h1,
.bg-light h2,
.bg-light h3,
.bg-light h4,
.bg-light h5,
.bg-light h6 {
	color: #0f172a;
}

.bg-cream {
	background-color: #F5F5F7;
	color: #0f172a;
}

.bg-cream h1,
.bg-cream h2,
.bg-cream h3,
.bg-cream h4,
.bg-cream h5,
.bg-cream h6 {
	color: #0f172a;
}

p {
	margin: 0;
}

.eyebrow {
    text-transform: uppercase;
	font-family: 'Poppins', sans-serif;
    display: block;
    color: #2E7D32;
    font-size: 18px;
    line-height: 1em;
    font-weight: 600;
    margin-bottom: 12px;
}

ul {
	
}

li{
	
}

ul li{
	
}

ol li{
	
}

@media only screen and (max-width: 500px){
	html {
		font-size: 14px;
	}
	
	h1, h2, h3, h4, h5, h6 {
		font-size: 32px;
	}

	.eyebrow {
		font-size: 14px;
	}
}

/* ===================================
   		THEME BUTTONS
===================================== */
.button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 48px;
    background: #2E7D32;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
    border-color: #2E7D32;
    font-weight: 500;
    transition: .3s;
    gap: 8px;
}

.button:hover {
    background: #25732a1f;
	color: #25732a;
    border: solid 2px;
    border-color: #25732a;
}

.button-primary {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 48px;
    background: #EEC708;
	border: solid 2px #EEC708;
    color: #1a1a1a;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: .3s;
    gap: 8px;
}

.button-primary:hover {
    background: #c9a90e;
    color: #ffffff;
    border: solid 2px;
}

.button-ghost {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 55px;
    background: #eec70808;
    border: solid 2px;
    border-color: #EEC708;
    color: #EEC708;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: .3s;
	gap: 8px;
}

.button-ghost:hover {
    border-color: #EEC708;
    background-color: #EEC708;
    color: #ffffff;
}

.button svg{
    width: 16px;
    height: 16px;
    transition: transform .3s ease;
}


/* ===================================
   				HEADER
====================================== */
.site-header {
    border-bottom: transparent;
    position: absolute;
    padding: 25px 0;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background: transparent;
}

.site-header .row {
    display: flex;
    flex-wrap: unset;
    justify-content: space-between;
    align-items: center;
}

.header-button .button {
    height: 50px;
}


/* ================================
   				LOGO
================================== */

.header-logo{
    display:flex;
    align-items:center;
}

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

/* =================================
   			NAVIGATION
=================================== */
.site-navigation {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    overflow: visible;
}

.site-navigation a, 
.footer-navigation a {
	color: #fff;
	font-weight: 500;
	text-decoration: none;
}

.site-navigation a:hover, 
.site-navigation a:focus, 
.footer-navigation a:hover, 
.footer-navigation a:focus {
	color: #25732a;
}

.nav-menu {
    display: flex;
    gap: 1.5em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu li{
	width:100%;
    text-align:center;
    list-style:none;
}

.nav-menu a{
	position: relative;
    text-decoration:none;
    color:#ffffff;
    font-size:16px;
    font-weight:500;
    transition:.3s;
}

.nav-menu a:hover, 
.nav-menu 
.current-menu-item a {
    color: #2E7D32;
    font-weight: 700;
}

.nav-menu a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 3px;
    background: #2E7D32;
    border-radius: 50px;
    transform: scaleX(0);
    transition: transform .3s ease;
}

.nav-menu a:hover::after,
.nav-menu .current-menu-item a::after{
    transform: scaleX(1);
}

.menu-toggle{
    display:none;
    background:none;
    border:none;
    color:#fff;
    font-size:32px;
    cursor:pointer;
}

.mobile-contact-button{
    display:none;
}

@media only screen and (max-width: 980px){
	.site-header {
		padding: 20px 0;
	}
	
	.site-header .container{
		position: relative;
	}
	
	.menu-toggle svg {
		width: 55px;
		height: 55px;
		display: block;
		color: #fff;
		padding: 14px;
/* 		background-color: #0E452E; */
		background-color: rgba(14, 69, 46, 0.5);
		border-radius: 50px;
	}
	
	.menu-toggle.is-open svg {
		width: 55px;
		height: 55px;
		display: block;
		color: #2E7D32;
		padding: 14px;
		/* background-color: #0E452E; */
		border-radius: 50px;
	}
	
	.menu-toggle{
        display:block;
    }

	.site-navigation {
		position: absolute;
		padding: 20px;
		top: 100%;
		left: 0;
		width: 100%;
		background: #0F172A;
		height: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(-10px);
		transition: height .4s ease,
				opacity .25s ease,
				transform .3s ease;
		z-index: 99;
	}

	.site-navigation.is-active {
		opacity: 1;
		transform: translateY(0);
		border-radius: 8px;
	}
	
	.site-navigation ul, 
	.footer-navigation ul {
		display: flex;
		align-items: center;
		gap: 1rem;
		list-style: none;
		margin: 0;
		padding: 0;
		flex-wrap: wrap;
		width: 100%;
	}

    .nav-menu{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:24px;
		width:100%;
		margin:0;
		padding:30px 0;
    }
	
	.header-button{
        display:none;
    }

}
@media only screen and (max-width: 980px){
	.mobile-contact-button {
		display: flex;
		margin-top: 25px;
		text-align: center;
		flex-wrap: wrap;
		width: 100%;
		justify-content: center;
	}
}

@media only screen and (max-width: 500px){
	.nav-menu a {
		font-size: 14px;
	}
	
	.site-navigation a, 
	.footer-navigation a {
		font-size: 14px;
	}
	
	.button {
		width: 160px;
		height: 52px;
	}
}

/* ===================== HOMEPAGE BODY CONTENT START ================== */
/* =================================
			HERO
=================================== */
.hero-section{
    min-height:850px;
    display:flex;
    align-items:center;
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    position:relative;
}

.hero-content {
    margin: auto;
    text-align: center;
}

.hero-content h1 {
    font-size: 60px;
    margin-bottom: 30px;
    margin: 0 0 30px;
}

.hero-content h1 span {
    display: block;
    color: #2E7D32;
}

.hero-content p {
    max-width: 760px;
    margin: 0 auto 50px;
    font-size: 24px;
    line-height: 1.56em;
}

.hero-content p span {
    color: #4ADE80;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;
}

.hero-buttons .button {
    width: 300px;
    height: 60px;
    font-size: 16px;
    gap: 8px;
}

.hero-buttons .button-ghost {
    width: 300px;
    height: 60px;
    font-size: 16px;
    gap: 8px;
}

.hero-buttons .button svg{
    width: 20px;
    height: 20px;
    transition: transform .3s ease;
}

.button-ghost svg{
    width: 20px;
    height: 20px;
    transition: transform .3s ease;
}

@media only screen and (max-width: 980px){
	.hero-content {
		margin-top: 60px;
	}
}

@media only screen and (max-width: 768px){
	.hero-content {
		margin-top: 0px;
	}
	
	.hero-section {
		background-position: 10% center;
		min-height: 900px;
	}
}

@media only screen and (max-width: 640px){
	.hero-content {
		margin: 0px;
	}
	
	.hero-section {
		min-height: 1000px;
		padding-bottom: 40px;
	}
}

@media only screen and (max-width: 500px){
	.hero-section {
		background-position: 11% center;
	}
	
	.hero-content {
		margin: -100px 7px 0;
	}
	
	.hero-content h1 {
		font-size: 40px;
		margin: 0 0 30px;
	}
	
	.hero-content p {
		margin: 0 15px 50px;
		font-size: 16px;
	}
	
	.hero-buttons .button {
		width: 300px;
		height: 55px;
		font-size: 14px;
	}
	
	.button svg {
		width: 14px;
		height: 14px;
	}
	
	.hero-buttons .button-ghost {
		width: 300px;
		height: 55px;
		font-size: 14px;
	}
	
	.button-ghost svg {
		width: 14px;
		height: 14px;
	}
}

/* =======================================
 		FLOATING FEATURE BAR
========================================== */
.hero-features-wrapper {
    position: absolute;
    margin-top: -75px;
    width: 100%;
    z-index: 10;
}

.hero-features {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0px;
    background: #fff;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 15px 40px rgba(0,0,0,.15);
}

.feature-item {
    flex: 1;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: 
		"icon title"
		"icon desc";
    align-items: start;
    column-gap: 15px;
    padding: 0 20px;
}

.feature-item:not(:last-child){
	border-right:1px solid #E6E6E6;
}

.feature-icon {
	grid-area: icon;
}

.feature-icon svg {
	width: 42px;
	height: 42px;
	color: #2E7D32;
	flex-shrink: 0;
	display: block;
}

.feature-title {
	grid-area: title;
	margin: 0 0 8px;
	font-size: 20px;
	align-self: end;
}

.bg-dark h3 {
	color: #1A1A1A;
}

.feature-desc{
	grid-area: desc;
	margin:0;
	color:#666;
	line-height:1.6;
}

@media only screen and (max-width: 980px){
	.hero-features-wrapper {
		margin-top: -105px;
	}
	
	.hero-features {
		align-items: stretch;
	}
	
	.feature-item {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	
	.feature-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		align-content: center;
		text-align: center;
	}
	
	.feature-item h3 {
		align-content: center;
		margin: 0 auto;
		padding: 15px 0;
	}
}

@media only screen and (max-width: 768px){
	.hero-features-wrapper {
		margin-top: -125px;
	}
	.feature-item {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

@media only screen and (max-width: 640px){
	.hero-features-wrapper {
		margin-top: -160px;
	}
	
	.hero-features{
		justify-content: center;
		display: grid;
		flex-direction: column;
		padding: 0;
	}
	
	.feature-item{
		display: grid;
		width: 100%;
		grid-template-columns: auto auto;
		grid-template-areas:
			"icon title"
			"desc desc";
		justify-content: center;
		align-items: center;
		column-gap: 12px;
		row-gap: 12px;
		padding: 35px 25px;
		border-right: none;
		position: relative;
		text-align: center;
	}
	
	.feature-item:not(:last-child){
		border-right: none;
	}
	
	.feature-item:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 100%;
		height: 2px;
		background: #e6e6e6ab;
	}
	
	.feature-icon{
		justify-self: end;
	}
	
	.feature-title{
		justify-self: start;
		margin: 0;
		align-self: center;
	}
	
	.feature-desc{
		justify-self: center;
	}
}

@media only screen and (max-width: 500px){
	.hero-features-wrapper {
		margin-top: -220px;
	}
	
	.feature-item h3 {
		font-size: 18px;
	}
}

/* ===================================
		CHALLENGES SECTION
====================================== */
.challenges_section {
    padding: 160px 0 70px;
}

.challenges_section .row {
    display: flex;
    flex-wrap: wrap;
    gap: 70px;
    align-items: center;
}

.challenges_section .content-col {
    flex: 1.2;
    align-content: center;
}

.content-col-image {
    flex: 1;
    align-content: center;
    width: 588px;
    height: 500px;
}

.content-col-image img {
    border-style: none;
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 2px 5px 20px black;
}

@media only screen and (max-width: 1012px){
	.hero-features {
		align-items: start;
	}
	
	.challenges_section {
		padding: 200px 0 70px;
	}
}

@media only screen and (max-width: 980px){
	.challenges_section {
		padding: 210px 0 70px;
	}
	.challenges_section 
	.content-col {
		flex: 1;
	}
}

@media only screen and (max-width: 768px){
	.challenges_section {
		padding: 235px 0 70px;
	}
	.challenges_section .row {
		flex-direction: column;
		gap: 40px;
	}
	
	.content-col-image {
		width: 100%;
	}
}

@media only screen and (max-width: 640px){
	.challenges_section {
		padding: 705px 0 70px;
	}
}

@media only screen and (max-width: 500px){
	.challenges_section {
		padding: 620px 0 70px;
	}
}


/* ========================================
		OUR SOLUTIONS SECTION
=========================================== */
.solution-section {
    padding: 70px 0;
}

.section-header {
    text-align: center;
    margin: 0 0 40px;
}

.section-header h2 {
    margin: 20px 0;
}

.solution-section .row {
    display: flex;
    gap: 34px;
}

.solution-card {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    min-height: 479px;
    width: 100%;
    max-width: 404px;
    box-shadow: 0px 5px 23px -5px black;
    flex: 1;
}

.solution-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.solution-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
		180deg,
		#0F172A1A 0%,   /* 10% opacity */
		#0F172AE6 53%,  /* 90% opacity */
		#0F172AFF 100%  /* 100% opacity */
	);
}

.solution-body {
    position: absolute;
    left: 25px;
    right: 25px;
    bottom: 30px;
    z-index: 2;
}

.solution-body h3 {
    margin-bottom: 12px;
    color: #fff;
    font-size: 25px;
}

.solution-body p {
    color: #fff;
    margin: 0 0 40px 0;
    font-weight: 100;
}

.solution-icon {
    position: absolute;
    top: 30px;
    left: 25px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(14, 69, 46, .5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.solution-icon svg {
    width: 30px;
    height: 30px;
    color: #fff;
}

.solution-section .button {
    width: auto;
    height: 48px;
    gap: 8px;
}

@media only screen and (max-width: 768px){
	.solution-section .row {
		flex-direction: column;
		align-items: center;
	}
	
	.solution-card {
		max-width: 100%;
		min-height: 380px;
	}
}

@media only screen and (max-width: 640px){
	.solution-card {
		min-height: 430px;
	}
}

@media only screen and (max-width: 500px){
	.solution-body h3 {
		font-size: 20px;
	}
}

/* =========================================
			BENEFITS SECTION
=========================================== */
.section_content {
    padding: 70px 0 70px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 70px;
    align-items: center;
}

.row-reverse {
    flex-direction: row-reverse;
}

.section_content .content-col {
    flex: 1.2;
    align-content: center;
    width: 100%;
    max-width: 616px;
}

@media only screen and (max-width: 980px){
	.section_content 
	.content-col {
		flex: 1;
	}
}

@media only screen and (max-width: 768px){
	.section_content .row {
		flex-direction: column;
		gap: 40px;
	}
	
	.section_content .content-col {
		max-width: 100%;
	}
}

/* =========================================
			WHY CHOOSE US SECTION
=========================================== */
.info_section {
    padding: 70px 0 70px;
}

.info_section .row {
    display: flex;
    flex-wrap: wrap;
    gap: 180px;
    align-items: center;
}

.info_section .content-col {
    flex: 1.4;
    align-content: center;
}

.info_features_grid {
    flex: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 40px;
}

.info_feature_item {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon title"
        "icon desc";
    column-gap: 10px;
    align-items: start;
}

.info_feature_icon {
    grid-area: icon;
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #C7D2CF;
    border-radius: 50%;
}

.info_feature_icon svg {
    width: 28px;
    height: 28px;
	color: #2E7D32;
}

.info_feature_item h3 {
    grid-area: title;
    margin: 0 0 5px 0;
    font-size: 20px;
    color: #0F172A;
}

.info_feature_item p {
    padding: 0 25px 0 0;
    font-weight: 100;
}

@media only screen and (max-width: 980px){
	.info_section .row {
		flex-direction: column;
		gap: 70px;
	}

}

@media only screen and (max-width: 500px){
	.info_section .row {
		align-items: start;
	}
	
	.info_features_grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* =========================================
			OUR PROCESS SECTION
========================================= */
.process-section {
    padding: 70px 0;
}

.process-steps {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.step {
    flex: 1;
    text-align: center;
    position: relative;
    padding: 0 15px;
}

.step-number {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #2d6a2f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    margin: 0 auto;
    top: 8%;
    position: relative;
    z-index: 3;
}

.step-icon {
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background: #C7D2CF;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
}

.step-icon svg {
    width: 45px;
    height: 45px;
    color: #2E7D32;
}

.step h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
    text-align: center;
}

.step p {
    font-weight: 100;
    padding: 0 20px;
    text-align: center;
}

/* dashed connector line */
.process-steps::before {
    content: "";
    position: absolute;
    top: 40%;
    left: 12%;
    right: 12%;
    border-top: 1px dashed #7fae7f;
    z-index: 1;
}

@media only screen and (max-width: 1200px){
	.process-steps::before {
		content: "";
		top: 35%;
	}
}

@media only screen and (max-width: 980px){
	.process-steps::before {
		content: "";
		top: 35%;
	}
}

@media only screen and (max-width: 870px){
	.process-steps::before {
		content: "";
		top: 30%;
	}
}

@media only screen and (max-width: 768px){
	.process-section .section-header {
		text-align: center;
		margin: 0 0 100px;
	}
	
	.process-steps {
		flex-wrap: wrap;
		flex-direction: column;
		align-content: center;
		gap: 100px;
	}
	
	.step-number {
		margin: -25px auto;
	}
	
	.text_content_bg {
		background-color: #F5F5F7;
		padding: 10px 0;
	}
	
	.step p {
		padding: 0 130px;
	}
	
	.process-steps::before {
		content: "";
		position: absolute;
		top: 5%;
		bottom: 10%;
		left: 50%;
		border-top: none;
		border-left: 1px dashed #7fae7f;
		z-index: 0;
	}
}

@media only screen and (max-width: 500px){
	.step h3 {
		font-size: 18px;
	}
	.step p {
		padding: 0 100px;
	}
}


/* =============================================
			GALLERY SECTION
============================================= */
.gallery_section {
    padding: 70px 0;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-auto-rows: minmax(220px, auto);
    gap: 12px;
}

/* =============================== */
.gallery-item{
    overflow:hidden;
    border-radius:8px;
}

.gallery-item a{
    display:block;
    width:100%;
    height:100%;
}
/* ================================ */
.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.3s;
}

.gallery-item:hover img{
    transform:scale(1.05);
}

.gallery-large{
    grid-column:span 2;
    grid-row:span 2;
}

.gallery-wide{
    grid-column:span 2;
}

.gallery-bottom {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media only screen and (max-width: 640px){
	.gallery-grid {
		grid-template-columns: repeat(2,1fr);
	}

	/* gallery-bottom mobile override */
	.gallery-bottom {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, 1fr);
	}
	.gallery-bottom .gallery-item:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}
	.gallery-bottom .gallery-item:nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}
	.gallery-bottom .gallery-item:nth-child(3) {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

/* ================================================
			CTA / TESTIMONIALS
================================================ */
.warranty_section{
    padding:0;
    background:#fff;
}

.warranty-bg{
    position:relative;
}

.warranty-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

.container{
    position:relative;
    z-index:1;
}

.warranty-grid {
    display: grid;
    grid-template-columns: 35% 65%;
    align-items: stretch;
}

/* ===== LEFT PANEL ===== */
.warranty-left {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    padding-right: 60px;
}

/* Full-bleed green background */
.warranty-left::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100vw;
    background: linear-gradient(to bottom left, #0E452E 30%, #2E7D32 100%);
    z-index: -1;
}

.warranty-left h2 {
    color: #fff;
}

.warranty-left p {
    margin: 0 0 40px 0;
}
.warranty-left .button {
	width: 198px;
}

/* ===== RIGHT PANEL ===== */
.warranty-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 0 70px 50px;
}

.warranty-right h2 {
    width: 100%;
    max-width: 639px;
}

/* ===== TESTIMONIAL CARDS ===== */
.testimonial-card {
	background: #f6f6f6;
	border-radius: 8px;
	padding: 25px;
	margin: 0 10px;
	height: 100%;
	box-sizing: border-box; /* important: so padding doesn't break your height:100% math */
}

.testimonial-card p {
	font-size: 15px;
	line-height: 1.6;
	color: #333;
	margin: 0;
}

.testimonial-grid{
    margin:0 -10px;
}

.testimonial-card{
    margin:0 10px;
}

.testimonial-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 15px;
	flex-wrap: wrap;
}

.testimonial-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.testimonial-meta h4 {
    margin: 0;
    font-size: 18px;
}

.testimonial-meta span {
    font-size: 16px;
    color: #1A1A1A;
    font-weight: 100;
}

.testimonial-stars {
    margin-left: 0;
    color: #f5c518;
    letter-spacing: 2px;
    font-size: 24px;
}

/* ===== DOTS ===== */
.slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 25px;
	padding: 0;
	list-style: none;
}

.slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
}

.slick-dots li button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #d9d9d9;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	transition: background 0.2s ease;
}

.slick-dots li button:before {
	content: none;
}

.slick-dots li.slick-active button {
	background: #1a5c3a;
}

.slick-track{
    display:flex !important;
}

@media only screen and (max-width: 830px){
	.testimonial-grid {
		display: grid;
		gap: 20px;
	}
	.warranty-grid {
		grid-template-columns: 1fr;
	}
	
	.warranty-left::before {
		content: "";
		left: 50%;
		transform: translateX(-50%);
	}
	
	.warranty-right {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	
	.warranty-left, 
	.warranty-right {
		padding: 70px 0;
	}
}

@media only screen and (max-width: 640px){
	.warranty-left, 
	.warranty-right {
		padding: 70px 0;
	}
	.testimonial-card:nth-child(2) {
        display: none;
    }
	
	.testimonial-grid {
		grid-template-columns: 1fr;
	}
	
	.testimonial-stars {
		margin-left: 0;
	}
}

/* =================================================
			ABOUT / 2ND CTA SECTION
================================================= */
.about_section {
    padding: 70px 0 70px;
}

.about_section .row {
    display: flex;
    flex-wrap: wrap;
    gap: 70px;
    align-items: center;
}

.about_section 
.content-col {
    flex: 1;
/*     width: 513px;
    max-width: 100%; */
    align-content: center;
}

.about_section .content-col p {
    margin: 0 0 40px 0;
}

.request_form {
    flex: 1.2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
}

.watch_story {
    width: 218px;
}

/* ===== REQUEST FORM CARD ===== */
.request_form {
    background: linear-gradient(to bottom right, #0E452E 50%, #2E7D32 100%);
    border-radius: 20px;
    padding: 70px 40px;
    box-shadow: 0 20px 40px rgba(13, 51, 32, 0.25);
    display: block;
}

.request_form h3 {
    color: #fff;
    /* font-size: 35px; */
    margin: 0 0 8px 0;
}

.request_form > p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    margin: 0 0 40px 0;
}

.estimate_form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
}

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

.estimate_form input, 
.estimate_form select {
    width: 100%;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 10px 18px;
    height: 50px;
    font-size: 16px;
    color: #fff;
    outline: none;
    transition: border-color 0.2s ease, background 0.2s ease;
    box-sizing: border-box;
}

.estimate_form input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.estimate_form input:focus,
.estimate_form select:focus {
	border-color: rgba(255, 255, 255, 0.4);
	background: rgba(0, 0, 0, 0.3);
}

form.estimate_form 
.button-primary {
    width: 100%;
    grid-column: span 2;
    height: 50px;
    margin: 20px 0 0 0;
}

/* ============= CUSTOM DROP DOWN============= */
.custom-select {
	position: relative;
	cursor: pointer;
	user-select: none;
}

.select-selected {
	width: 100%;
	background: rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	padding: 10px 44px 10px 18px;
	height: 50px;
	line-height: 28px;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.6);
	box-sizing: border-box;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.custom-select.open .select-selected,
.custom-select:focus .select-selected {
	border-color: rgba(255, 255, 255, 0.4);
	background: rgba(0, 0, 0, 0.3);
}

.select-selected.has-value {
	color: #fff;
}

.select-options {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	background: #0d3320;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 8px;
	overflow: hidden;
	z-index: 10;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
	/* animation setup */
	max-height: 0;
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
	transition: max-height 0.25s ease, opacity 0.2s ease, transform 0.2s ease;
}

.custom-select.open .select-options {
	max-height: 300px;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.select-option {
    padding: 10px 18px;
    font-size: 16px;
    color: #fff;
    transition: background 0.15s ease;
}

.select-option:hover {
	background: #2E7D32;
}

.select-option.selected {
	background: rgba(255, 255, 255, 0.08);
	font-weight: 600;
}

.custom-select svg {
	position: absolute;
	right: 16px;
	top: 25px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	color: #fff;
	pointer-events: none;
	transition: transform 0.2s ease;
}

.custom-select.open svg {
	transform: translateY(-50%) rotate(180deg);
}

@media only screen and (max-width: 980px){
	.request_form {
		flex: 1;
	}
    .estimate_form {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    form.estimate_form .button-primary {
        grid-column: auto;
        margin-top: 0;
    }

}
@media only screen and (max-width: 768px){
	.about_section .row {
		display: flex;
		flex-wrap: wrap;
		gap: 70px;
	}
	
	.request_form {
		flex: none;
		width: 100%;
	}
	
    .estimate_form {
        grid-template-columns: 1fr;
        gap: 20px;
    }

	form.estimate_form .button-primary {
		grid-column: auto;
		margin-top: 20px;
	}

}
/* ====================== HOMEPAGE BODY CONTENT END ===================== */


/* ===================== RISDENTIAL BODY CONTENT START ================== */
/* =================================
		RISDENTIAL HERO
=================================== */
.residential_hero_section {
    min-height: 491px;
    display: flex;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.residential_hero_content {
    margin: auto;
    text-align: center;
}

.residential_hero_content h1 {
    font-size: 60px;
    margin: 70px 0 0;
}

.residential_hero_content h1 span {
    display: block;
    color: #2E7D32;
}

@media only screen and (max-width: 768px){
	.residential_hero_section {
		background-position: 10% center;
	}
}

@media only screen and (max-width: 500px){
	.residential_hero_section {
		min-height: 400px;
	}
	.residential_hero_content h1 {
		font-size: 40px;
		margin: 100px 0 0;
	}
}

/* =======================================
			RISDENTIAL SECTION_ONE
========================================== */
.row-reverse {
    flex-direction: row-reverse;
}

.section_one .row p {
    margin: 0 0 40px;
}

.section_one .button {
    width: 218px;
}

@media only screen and (max-width: 768px){
	.section_content .row_reverse {
		flex-direction: column;
	}

}

/* =======================================
			RISDENTIAL SECTION_TWO
========================================== */
span.highlight-text {
    color: #2E7D32;
}

/* =======================================
			RISDENTIAL SECTION_THREE
========================================== */
.info_section .service_section .content-col {
    flex: 1;
    width: 100%;
    max-width: 513px;
}

.info_section .service_section .info_features_grid {
    flex: 1;
}

@media only screen and (max-width: 980px){
	.info_section .service_section .content-col {
		max-width: 100%;
	}
}

/* =======================================
		CTA__V2--RISDENTIAL SECTION_FOUR
========================================== */
.section_four.section-header span {
    display: block;
    color: #2E7D32;
}

.section_four.section-header {
    margin: 0;
}

.section_four.section-header p {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
}

.section_four .button {
    width: 220px;
    margin: 40px auto 0 auto;
}
/* ===================== RISDENTIAL BODY CONTENT END ================== */

/* ===================== CONTACT US BODY CONTENT START ================== */
/* ==========================================
		CONTACT US SECTION
========================================== */
.contact_hero_section {
    min-height: 834px;
    display: flex;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

/* ============================
		CONTACT FORM
============================ */
.contact_us {
	padding: 0 0 70px; 
	position: relative;
}

.contact_us .request_form {
    padding: 70px 50px;
    width: 100%;
    max-width: 910px;
    height: 100%;
    min-height: 650px;
    margin: -220px auto 0;
    position: relative;
    z-index: 2;
    align-content: center;
}

.contact_us .request_form > p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    margin: 0 0 50px 0;
}

.contact_us .estimate_form {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px 25px;
}

.contact_us .estimate_form .span-2 { grid-column: span 2; }
.contact_us .estimate_form .span-3 { grid-column: span 3; }
.contact_us .estimate_form .span-6 { grid-column: span 6; }

.contact_us .estimate_form textarea {
    width: 100%;
    height: 100%;
    max-height: 150px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 16px 18px;
    font-size: 16px;
    color: #fff;
    outline: none;
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.contact_us .estimate_form textarea::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.contact_us .estimate_form textarea:focus {
	border-color: rgba(255, 255, 255, 0.4);
	background: rgba(0, 0, 0, 0.3);
}

.contact_us form.estimate_form .button-primary {
    grid-column: span 6;
    height: 50px;
    margin: 0;
    width: 100%;
    max-width: 280px;
}

@media only screen and (max-width: 768px){
	.contact_us .request_form {
		margin-top: -200px;
		padding: 60px 35px;
	}
	
	.contact_us .estimate_form {
		display: flex;
		flex-direction: column;
		gap: 20px;
		align-items: start;
	}
}

/* ====================================
		LOCATION MAP SECTION
==================================== */
.map_location {
    flex: 1.3;
}

.map_location {
    position: relative;
    width: 100%;
    height: 460px;
    border-radius: 12px;
    overflow: hidden;
}

.map_location iframe {
	display: block;
	width: 100%;
	height: 100%;
}

@media only screen and (max-width: 768px){
	.about_section .row {
		flex-direction: column;
		gap: 40px;
	}
	
	.about_section .content-col,
	.map_location {
		flex: none;
		width: 100%;
	}

	.map_location {
		height: 400px;
	}
}
/* ===================== CONTACT US BODY CONTENT END ================== */


/* ======================================================
			GALLERY WEBPAGE SECTION
======================================================= */
.gallery--solar .gallery-item {
    position: relative;
    background: #10151b;
    border: 1px solid rgba(244,241,234,0.08);
}

.gallery--solar .gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,193,94,0);
    transition: box-shadow .35s ease;
    pointer-events: none;
}

.gallery--solar .gallery-item:hover::after {
    box-shadow: inset 0 0 0 1px #2E7D32;
}

.gallery--solar .tile-overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 16px 14px;
    background: linear-gradient(
        to top,
        rgba(8,10,13,.92) 0%,
        rgba(8,10,13,.55) 55%,
        rgba(8,10,13,0) 100%
    );
    transform: translateY(38%);
    transition: transform .35s ease;
}

.gallery--solar .gallery-item:hover .tile-overlay {
    transform: translateY(0%);
}

.tile-overlay h3 {
    padding: 0;
    margin: 0 0 2px;
    font-size: 16px;
    font-weight: 600;
    color: #F4F1EA;
    line-height: 1.25;
	opacity: 0;	
    max-height: 0;
    overflow: hidden;
    transition: opacity .3s ease .05s, max-height .3s ease;
}

.gallery--solar .gallery-item:hover h3 {
    opacity: 1;
    max-height: 30px;
}

.tile-overlay p {
    margin: 0;
    font-size: 12.5px;
    color: rgba(244,241,234,.65);
    opacity: 0;
    max-height: 0;
    transition: opacity .3s ease .05s, max-height .3s ease;
}

.gallery--solar .gallery-item:hover p {
    opacity: 1;
    max-height: 30px;
}

/* ================= DIVIDER ======================= */
.gallery--solar .gallery-grid > .cluster-divider {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 14px;
}

.gallery--solar .cluster-divider::before,
.gallery--solar .cluster-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: rgba(244,241,234,.12);
}

.gallery--solar .cluster-divider span {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(244,241,234,.5);
}

@media (prefers-reduced-motion: reduce) {
    .gallery--solar .gallery-item img,
    .gallery--solar .tile-overlay,
    .gallery--solar p {
        transition: none !important;
        transform: none !important;
    }
    .gallery--solar .gallery-item:hover .tile-overlay {
        transform: none;
    }
}


/* ======================================================
			ABOUT--SECTION TWO
======================================================= */
.stats_section {
    padding: 60px 0;
}

.stats_row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stat_block {
    text-align: center;
    padding: 20px 16px;
    border-left: 1px solid rgba(244,241,234,.14);
}

.stat_block:first-child {
    border-left: none;
}

.stat_number {
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.stats_row h3 {
	color: #fff;
}

.stats_row p {
    margin-top: 8px;
    color: #2E7D32;
}

@media only screen and (max-width: 768px) {
    .stats_row { 
		grid-template-columns: repeat(2, 1fr); 
	}
	
	.stat_block:first-child {
		border-left: none;
		border-top: none;
	}
	
	.stat_block:nth-child(2) {
		border-top: none;
	}
	
	.stat_block:nth-child(3) {
		border-left: none;
	}
	
	.stat_block {
		border-top: 1px solid rgba(244,241,234,.14);
	}
}

@media only screen and (max-width: 500px) {
	.stats_section {
		padding: 35px 0;
	}
	
    .stats_row { 
		grid-template-columns: 1fr; 
	}
	.stat_block:nth-child(2) {
		border-top: 1px solid rgba(244,241,234,.14);
	}
	
	.stat_block {
		border-left: none !important;
		border-top: 1px solid rgba(244,241,234,.14);
		padding: 35px;
	}
	
    .stat_block:first-child { 
		border-top: none; 
	}
	
	.stats_section {
		padding: 50px 0;
	}
}

/* ================================================
			ABOUT--SECTION THREE
================================================ */
.values_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.value_card {
    border-radius: 12px;
    padding: 0 25px;
    margin: 30px 0 0;
    transition: transform .3s ease, box-shadow .3s ease;
    text-align: center;
}

.value_icon {
    width: 95px;
    height: 95px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #C7D2CF;
    color: #0B0F14;
    margin: 0 auto 20px;
}

.value_icon svg {
    width: 45px;
    height: 45px;
    color: #2E7D32;
}

.value_card h3 {
	font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
}

.value_card p {
	font-weight: 100;
}

@media only screen and (max-width: 980px) {
    .values_grid, .team_grid { 
		grid-template-columns: repeat(2, 1fr); 
	}
	
	.value_card p {
		padding: 0 20px;
	}
}

@media only screen and (max-width: 640px) {
    .values_grid, .team_grid { grid-template-columns: 1fr; }
}

/* ================================================
			ABOUT--SECTION FOUR
================================================ */
.team_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 30px 0 0;
}

.team_card {
    text-align: center;
}

.team_photo {
    position: relative;
    aspect-ratio: 5 / 5;
    border-radius: 50%;
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
    margin-bottom: 16px;
    background: #1a2027;
}

.team_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.team_grid h3 {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin: 25px 0 5px;
}

.team_grid p {
    color: #2E7D32;
}

@media only screen and (max-width: 768px){
	.team_grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 24px;
	}
	
	.team_photo {
		aspect-ratio: 5 / 5;
	}
}

@media only screen and (max-width: 500px){
	.team_grid {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* ==================================
			FOOTER
===================================== */
.site-footer {
    background: #0F172A;
    color: #fff;
    padding-top: 70px;
    padding-bottom: 0px;
}
.site-footer p {
    margin-top: 0px;
    margin-bottom: 15px;
    line-height: 1.1em;
}

.site-footer .footer-description {
    margin: 20px 0;
    line-height: 1.8;
}

.site-footer .row{
    display:flex;
    justify-content:space-between;
    gap:40px;
    align-items:flex-start;
}

.footer-column h3{
    margin-top: 0px;
	margin-bottom: 20px;
	font-size: 20px;
	text-transform: uppercase;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
}

.contact-item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-item span {
    line-height: 1.5em;
}

.footer-brand{
    flex:0.65;
}

.footer-logo img{
    width:220px;
}

.footer-social{
    display:flex;
    gap:15px;
}

.footer-social a{
    color:#fff;
    font-size:22px;
}

.footer-social a svg {
    width: 30px;
    height: 30px;
    display: block;
    transition: color 0.3s ease, transform 0.3s ease;
}

.footer-menu{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-menu li {
    margin-bottom: 15px;
    line-height: 1.1em;
}

.footer-menu a{
    color:#fff;
    text-decoration:none;
}

.footer-menu a:hover{
    color:#2E8B34;
}

.bottom-footer p {
    text-align: center;
    line-height: 1.56em;
    margin-top: 70px;
    padding: 40px;
    border-top: 1px solid;
    margin-bottom: 0px;
    border-color: #ffffff;
}

@media only screen and (max-width: 1200px){
	.site-footer .row {
		display: flex;
		justify-content: space-between;
		gap: 40px;
		align-items: flex-start;
		flex-wrap: wrap;
	}
}

@media only screen and (max-width: 640px){
	.footer-brand{
		flex:2;
	}
	
	.footer-column {
		width: 100%;
	}
	
	.footer-column:nth-child(3) {
		order: 1;
	}
}
	