/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
## Layouts
# Components
	- Navigation
# Utilities
	- Accessibility
	- Alignments
# Customizations
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}


/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
    color: var(--Black, #000);

    /* Medium Paragraph */
    font-family: Raleway, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 1.9125rem */
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 1.125rem;
        line-height: 170%;
    }
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: calc(1080/16 * 1rem)) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}


/*--------------------------------------------------------------
# Customizations
--------------------------------------------------------------*/

/* Variables and utility classes
--------------------------------------------- */
:root {
    --Deep-Forest: #26594A;
    --Cedar-Green: #006652;
    --Seafoam: #00AB8F;
    --Seafoam-light: #14BFA3;
    --Seafoam-x-light: #d9f2ee;
    --Black: #000000;
    --Silver: #DCE6E6;
    --White: #FFFFFF;

    --button-primary-bg: var(--Seafoam);
    --button-primary-bg-hover: var(--Seafoam-light);
    --button-primary-text: var(--Black);

    --button-secondary-bg: white;
    --button-secondary-bg-hover: var(--Seafoam-x-light);
    --button-secondary-text: black;
    --button-secondary-border: var(--Seafoam-light);

    --edge-margin: 20px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        --edge-margin: 80px;
    }

    --gutter: 20px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        --gutter: 30px;
    }
}

.color-deep-forest {
    color: var(--Deep-Forest);
}

.bg-silver {
    background-color: var(--Silver);
}

.bg-deep-forest {
    background-color: var(--Deep-Forest);
    color: var(--White);

    --button-primary-bg: var(--White);
    --button-primary-bg-hover: var(--Seafoam-x-light);
    --button-primary-text: var(--Black);

    --button-secondary-bg: transparent;
    --button-secondary-text: var(--White);
}

.bg-cedar-green {
    background-color: var(--Cedar-Green);
    color: var(--White);

    --button-primary-bg: var(--White);
    --button-primary-bg-hover: var(--Seafoam-x-light);
    --button-primary-text: var(--Black);

    --button-secondary-bg: transparent;
    --button-secondary-text: var(--White);
}

.bg-black {
    background-color: var(--Black);
    color: var(--White);

    --button-primary-bg: var(--White);
    --button-primary-bg-hover: var(--Seafoam-x-light);
    --button-primary-text: var(--Black);

    --button-secondary-bg: transparent;
    --button-secondary-text: var(--White);
}

html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto; /* Reverts to instant scrolling */
  }
}
/* Type
--------------------------------------------- */


h1, .h1 {

    color: var(--Deep-Forest);
    font-family: brother-1816, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 2.375rem;
    line-height: 100%; /* 4.0625rem */
    margin: 0;
    padding-bottom: var(--gutter);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        /* Heading 1 */
        font-size: 4.0625rem;
    }
}

h2, .h2 {
    font-family: brother-1816, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.875rem;
    line-height: 110%;
    margin: 0 0 1.25rem 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 3.125rem;

    }
}

h3, .h3 {
    font-family: brother-1816, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.25rem;
    line-height: 120%;
    margin: 0 0 1.25rem 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 2.1875rem;

    }
}

h4, .h4 {
    font-family: brother-1816, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.25rem;
    line-height: 120%;
    margin: 0 0 0 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 1.5625rem
    }
}

h5, .h5 {
    font-weight: 500;
    font-style: normal;
    font-size: 0.9375rem;
    line-height: 100%;
    letter-spacing: 0.0375rem;
    text-transform: uppercase;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 0.9375rem;
    }
}

h6, .h6 {
    font-family: brother-1816, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1rem;
    line-height: 150%;
    margin-bottom: 0.75em;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 1rem;
    }
}

p {
    margin: 0 0 1.5rem 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {

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

ul {
 list-style: none;
 padding-left: 1rem;
}

ul li {
 position: relative;
 padding-left: 20px; /* Adjust based on your needs */
 margin-bottom: 8px; /* Optional spacing between items */
}

ul li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0.5rem; /* Adjust vertical alignment */
 width: 8px;
 height: 10px;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='10' viewBox='0 0 8 10' fill='none'%3E%3Cpath d='M3.25552 0.5V0.500704H0V5.17734C0 5.26777 0.00334014 5.35785 0.00964929 5.44722L0.0564112 5.83146C0.132492 6.27445 0.284654 6.69986 0.504361 7.09078L0.725923 7.44194C0.805715 7.55489 0.891446 7.66362 0.983114 7.76847L1.11338 7.90676L1.24736 8.04328C1.45222 8.23821 1.67935 8.4152 1.92763 8.56932C2.54556 8.9532 3.20282 9.25862 3.89274 9.5C4.55038 9.27094 5.15818 9.02257 5.15818 9.02257C5.15818 9.02257 5.80813 8.76883 6.07311 8.56897C7.27816 7.81985 8 6.54222 8 5.17593V0.5H3.25589H3.25552Z' fill='url(%23paint0_linear_795_5722)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_795_5722' x1='8' y1='5' x2='0' y2='5' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300AB8F'/%3E%3Cstop offset='1' stop-color='%2326594A'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
 background-repeat: no-repeat;
 background-size: contain;
}

.small-text {
    font-size: .875rem;
    line-height: 160%;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 1rem;
    }
}

.large-text {
    font-size: 1.125rem;
    line-height: 155%;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        font-size: 1.375rem;
        font-weight: 600;
    }
}

.text-center {
    text-align: center;
}

.max-width-text {
    max-width: 850px;
}

.text-center.max-width-text {
    margin-left: auto;
    margin-right: auto;
}

.cta {
    display: inline-flex;
    min-height: 50px;
    padding: 20px 35px;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    font-weight: 600;
    transition: all 0.2s;
    text-decoration: none;
    line-height: 1;
    width: fit-content;
}

.cta--primary {
    background-color: var(--button-primary-bg);
    color: var(--button-primary-text);
    border: solid 1px var(--button-primary-bg);
}
.cta--primary:hover, .cta--primary:focus {
    background-color: var(--button-primary-bg-hover);
}

.cta--secondary {
    background-color: var(--button-secondary-bg);
    color: var(--button-secondary-text);
    border: solid 1px var(--button-secondary-border);
}
.cta--secondary:hover, .cta--secondary:focus {
    background-color: var(--button-secondary-bg-hover);

}


/* Header
--------------------------------------------- */

.site-header {
    background-color: var(--White);
    padding: 20px;
    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 20px var(--edge-margin);
    }
}

.home-link {
    width: fit-content;
    height: fit-content;
    margin: 0px auto;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        margin: 0;
    }
}

.home-link svg {
    display: block;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* Sections
--------------------------------------------- */

.hero {

    @media screen and (min-width: calc(1080/16 * 1rem)) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

.hero__text {
    background: linear-gradient(73deg, var(--Silver) -1.71%, var(--White) 46.21%, var(--Silver) 100%);
    padding: 40px var(--gutter) 50px;
    text-align: center;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: var(--gutter) var(--gutter) var(--gutter) var(--edge-margin);
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: left;
    }
}

.hero__image {
    display: block;
    overflow: hidden;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        /* flex: 1; */
    }
}

.hero__image img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#primary {
    overflow: hidden;
}

.fivecol {
    padding: 0 var(--edge-margin);
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(1, 1fr);
    border-bottom: solid 1px #00665220;
    @media screen and (min-width: calc(600/16 * 1rem)) {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        /* display: flex;
        flex-wrap: wrap;
        justify-content: center; */
        
        grid-template-columns: repeat(3, 1fr);
    }
    @media screen and (min-width: calc(1400/16 * 1rem)) {
        display: grid;
        gap: 0px;
        grid-template-columns: repeat(5, 1fr);
        margin-left: -30px;
        margin-right: -30px;
    }
}

.fivecol__sub {
    padding: 45px 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        /* width: calc(33.333% - 40px); */
    }
    @media screen and (min-width: calc(1400/16 * 1rem)) {
        padding: 40px 30px;
        border-right: solid 1px #00665220;

    }
}

.fivecol__sub:first-child {
    @media screen and (min-width: calc(1400/16 * 1rem)) {
        /* margin-left: -30px; */
    }
}

.fivecol__sub:last-child {
    border-right: none;
    @media screen and (min-width: calc(1400/16 * 1rem)) {
        /* margin-right: -30px; */
    }
}

.fivecol__sub svg {
    display: block;
    margin-bottom: 10px;
}

.new-location {
    padding: var(--gutter) var(--edge-margin);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding-top: 60px;
    }
}

.new-location__two-up {
    display: flex;
    flex-direction: column;
    gap: var(--gutter);    
    margin-top: 50px;
    margin-bottom: 50px;

    @media screen and (min-width: calc(1080/16 * 1rem)) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

.new-location__two-up__card {
    padding: var(--gutter);
    border-radius: 5px;
    background: linear-gradient(214deg, rgba(0, 102, 82, 0.40) -12.29%, rgba(0, 171, 143, 0.40) 49.18%, rgba(0, 102, 82, 0.40) 113.07%), #006652;
    background-blend-mode: normal, multiply;
    color: var(--White);
    text-align: center;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        text-align: left;
        background-size: cover;
        padding: 50px 50px 120px;
    }
}

.new-location__two-up__card:first-child {
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        border-radius: 5px;
        background-image: url('_splash-imgs/two-up-left-bg.webp');
        background-position: bottom right;
    }
}

.new-location__two-up__card:last-child {
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        border-radius: 5px;
        background-image: url('_splash-imgs/two-up-right-bg.webp');
        background-position: bottom left;
    }
}

.want-to-learn-more {
    text-align: center;
}

.want-to-learn-more .h4 {
    margin-top: 24px;
    margin-bottom: 40px;
}

.mission-values {
    background: linear-gradient(214deg, rgba(0, 102, 82, 0.40) -12.29%, rgba(0, 171, 143, 0.40) 49.18%, rgba(0, 102, 82, 0.40) 113.07%), #006652;
    background-blend-mode: normal, multiply;
    min-height: 300px;
    padding: 40px var(--edge-margin);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 100px var(--edge-margin);
    }
}

.mission-values__three-up {
    display: flex;
    flex-direction: column;
    gap: var(--gutter);
    margin: 30px auto;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin: 50px auto;
    }
}

.mission-values__three-up__card {
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: var(--Cedar-Green, #006652);
    backdrop-filter: blur(4px); 
    padding: 30px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 40px;
    }
}

.single-testimonial {
    margin: 0 var(--edge-margin);
    padding: 50px 0;
    text-align: center;
    border-bottom: solid 1px #00665220;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 100px 0;
        text-align: left;
        display: flex;
        align-items: center;
        gap: var(--edge-margin);

    }
}

.single-testimonial__img {
    max-width: 250px;
    margin: 0 auto 40px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        width: 342px;
        max-width: 342px;
        margin: 0;
    }
}

.single-testimonial__text {
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        display: flex;
        flex-direction: column;
        gap: 70px;
    }
}

.h2-5050 {
    margin: 0 var(--edge-margin);
    padding: 50px 0;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 100px 0;
    }
}

.twocol-5050 {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 60px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        flex-direction: row;
        gap: 90px;
        align-items: center;
    }
}

.twocol-col {

   @media screen and (min-width: calc(1080/16 * 1rem)) {
        flex: 1;
    }
}

.form-lead-in {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        margin-top: 70px;
    }
}

.form-lead-in svg {
    flex: 0 0 auto;
}

.form-lead-in span {
    flex: 0 0 auto;
}

.form-lead-in:after {
    flex: 1;
    content: '';
    height: 1px;
    background-color: #00665212;
}

.twocol-col--img-col {
    display: block;
    overflow: hidden;
    border-radius: 5px;
}

.twocol-col--img-col img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.community {
    padding: 50px var(--edge-margin);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 100px var(--edge-margin);
    }
}

.three-up {
    display: grid;
    gap: var(--gutter);
    margin-top: 30px;
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        margin-top: 70px;
        grid-template-columns: repeat(3, 1fr);
    }
}

.community-card {
    border-radius: 5px;
    border: 1px solid rgba(0, 171, 143, 0.20);
    background: #FFF;
    padding: var(--gutter);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.testimonial-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
    margin-top: var(--gutter);
}

.testimonial-image {
  flex-shrink: 0; /* Prevents image from shrinking */
}

.testimonial-info {
  flex: 1;
}

.testimonial-name {
  margin: 0 0 0.25rem 0;
}

.testimonial-title {
  margin: 0;
  font-weight: 500;
  color: #00AB8F; /* Teal color */
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.final-cta {
    padding: 50px var(--edge-margin);
    @media screen and (min-width: calc(1080/16 * 1rem)) {
        padding: 100px var(--edge-margin);
    }   
}



.site-footer {
    padding: var(--gutter);
    display: flex;
    justify-content: center;
}