/*!
Theme Name: newlyrestored
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: newlyrestored
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

newlyrestored is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# 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;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* 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: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

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

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# 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: 37.5em) {

	.menu-toggle {
		display: none;
	}

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

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

/* .post,
.page {
	margin: 0 0 1.5em;
} */

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

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

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# 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;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/*--------------------------------------------------------------
# Global Styles
--------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
}

.hidden {
	display: none !important;
}

body {

	&.modal-open,
	&.mobile-menu-open {
		/* position: relative !important; */
		height: 100vh !important;
		width: 100% !important;
		overflow-y: hidden !important;
		touch-action: hidden !important;
		overflow: hidden !important;
	}
}

.site {

	h1,
	.site-h1 {
		font-size: 80px;
		line-height: 96px;
		font-weight: 500;
		color: #333;
		font-family: "dunbar-tall";

		@media(max-width: 1080px) {
			font-size: 62px
		}

		@media(max-width: 767px) {
			font-size: 58px;
			line-height: 62.4px;
		}

		@media(max-width: 550px) {
			font-size: 52px;
			line-height: 1.2em;
		}

		@media(max-width: 400px) {
			font-size: 48px;
		}
	}

	h2,
	h3.h2-style,
	h4.h2-style,
	h5.h2-style {
		color: #fff;
		font-family: 'dunbar-tall', sans-serif;
		font-size: 64px;
		letter-spacing: 1px;
		line-height: 1.2em;
		font-weight: 500;

		@media(max-width: 1080px) {
			font-size: 48px;
		}

		@media(max-width: 400px) {
			font-size: 36px;
		}
	}

	h2.eyebrow,
	h4.eyebrow,
	p.eyebrow {
		font-family: "sofia-pro", sans-serif;
		font-size: 20px;
		color: #215732;
		text-transform: uppercase;
		letter-spacing: 2px;
		font-weight: 500;
		margin-bottom: 24px;

		@media(max-width: 767px) {
			font-size: 18px;
		}

		@media(max-width: 550px) {
			font-size: 16px;
		}
	}

	h3,
	h1.h3-style {
		font-size: 48px;
		font-weight: 500;
		color: #25282A;
		line-height: 1.2em;
		font-family: "dunbar-tall";

		@media(max-width: 767px) {
			font-size: 36px;
		}

		@media(max-width: 550px) {
			font-size: 32px;
		}

		@media(max-width: 400px) {
			font-size: 26px;
		}
	}

	h4,
	h3.h4-style {
		font-size: 36px;
		font-weight: 500;
		color: #25282A;
		font-family: "dunbar-tall";
		letter-spacing: 0.72px;

		@media(max-width: 1080px) {
			font-size: 32px;
		}

		@media(max-width: 767px) {
			font-size: 28px;
		}

		@media(max-width: 550px) {
			font-size: 24px;
		}

		@media(max-width: 400px) {
			font-size: 19px;
			line-height: 1.3em;
		}
	}

	p {
		font-size: 16px;
		letter-spacing: 0.32px;
		line-height: 1.4em;
		color: #5f625f;
		font-weight: 400;
		font-family: "sofia-pro";

		@media(max-width: 550px) {
			font-size: 15px
		}
	}

}

.site-container {
	max-width: 1440px;
	padding: 0 30px;
	width: 100%;
	margin: 0 auto;
	position: relative;

	@media(max-width: 1080px) {
		padding: 0 15px;
	}
}

.btn {
	font-family: 'sofia-pro', sans-serif;
	font-size: 16px;
	color: #25282A;
	font-weight: 500;
	background-color: #94F26B;
	padding: 0 50px 0 24px;
	border-radius: 32px;
	transition: .3s;
	position: relative;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.32px;

	&:visited {
		color: #25282A;
	}

	&::after {
		content: '';
		position: absolute;
		right: 5px;
		top: 0;
		bottom: 0;
		width: 50px;
		background: url('data:image/svg+xml,<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.2834 8.66666H3.16675V7.33332H11.2834L7.55008 3.59999L8.50008 2.66666L13.8334 7.99999L8.50008 13.3333L7.55008 12.4L11.2834 8.66666Z" fill="%2325282A"/></svg>') center no-repeat;
		background-size: 20px;
		transition: .3s;
	}

	@media(max-width: 550px) {
		font-size: 15px;
		height: 56px;
	}

	&:hover {
		background-color: #67B346;
		color: #25282A;

		&::after {
			right: 2px;
		}
	}
}

.mobile-btn-quote {
	font-family: 'sofia-pro', sans-serif;
	font-size: 16px;
	color: #25282A;
	font-weight: 500;
	background-color: #94F26B;
	padding: 0 50px 0 24px;
	border-radius: 32px;
	transition: .3s;
	position: relative;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.32px;	
	gap: 5px;
    width: 100%;

	&:visited {
		color: #25282A;
	}

	@media(max-width: 550px) {
		font-size: 15px;
		height: 56px;
	}

	&:hover {
		background-color: #67B346;
		color: #25282A;

		&::after {
			right: 2px;
		}
	}

	svg {
		display: inline-block;
		position: relative;
		top: 2px;
	}
}

.btn-alt {
	font-family: 'sofia-pro', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #25282A;
	display: inline-block;
	transition: .4s;
	position: relative;
	cursor: pointer;
	height: 40px;
	border: 1px solid #67B346;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 50px 0 24px;
	border-radius: 32px;
	z-index: 10;
	letter-spacing: 0.32px;


	&:visited {
		color: #25282A;
	}

	@media(max-width: 550px) {
		font-size: 15px;
		height: 56px;
	}

	&::after {
		content: '';
		position: absolute;
		right: 5px;
		top: 0;
		bottom: 0;
		width: 50px;
		background: url('data:image/svg+xml,<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.2834 8.66666H3.16675V7.33332H11.2834L7.55008 3.59999L8.50008 2.66666L13.8334 7.99999L8.50008 13.3333L7.55008 12.4L11.2834 8.66666Z" fill="%2325282A"/></svg>') center no-repeat;
		background-size: 20px;
		transition: .3s;
	}

	&:hover {
		background-color: #67B346;
		color: #25282A;

		&::after {
			right: 2px;
		}
	}


	@media(min-width: 551px) {
		height: auto;
		border: none;
		padding: 0;

		&::after {
			display: none;
		}

		span {
			position: relative;
			z-index: 10;
			transition: .4s;
			display: inline-block;
			padding: 0 0 0 50px;
			cursor: pointer;
		}

		&::before {
			content: '';
			position: absolute;
			left: 0;
			top: 0;
			bottom: 0;
			margin: auto;
			width: 40px;
			height: 40px;
			border: 1px solid #67B346;
			border-radius: 50%;
			background: url('data:image/svg+xml,<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.2834 8.66666H3.16675V7.33332H11.2834L7.55008 3.59999L8.50008 2.66666L13.8334 7.99999L8.50008 13.3333L7.55008 12.4L11.2834 8.66666Z" fill="%2325282A"/></svg>') center no-repeat;
			background-size: 20px;
			transition: width .4s 0s, border-radius .4s 1s, background-position .4s 0s;
		}

		&:hover {
			background-color: transparent;

			&::before {
				width: calc(100% + 25px);
				border-radius: 32px;
				background-position: calc(100% - 20px) center;
				transition: width .4s .07s, border-radius .4s 0s, background-position .4s 0s;
			}

			span {
				transform: translateX(-25px);
			}
		}
	}
}


.text_btn {
	font-family: 'sofia-pro', sans-serif;
	font-size: 16px;
	font-weight: 500;
	position: relative;
	display: inline-block;
	padding-right: 24px;
	transition: .3s;

	span {
		display: inline-block;
		color: #fff !important;
	}

	&::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 16px;
		height: 17px;
		background: url('data:image/svg+xml,<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7837 9.16675H2.66699V7.83342H10.7837L7.05033 4.10008L8.00033 3.16675L13.3337 8.50008L8.00033 13.8334L7.05033 12.9001L10.7837 9.16675Z" fill="white"/></svg>');
		background-repeat: no-repeat;
		background-size: contain;
		pointer-events: none;
	}

	&::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: -4px;
		width: 100%;
		height: 2px;
		background: #94F26B;
		transition: .3s;
	}

	&:hover {
		&::before {
			background: #67B346;
		}
	}
}

.text_btn--dark {
	span {
		color: #25282A !important;
	}

	&::after {
		background: url('data:image/svg+xml,<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7837 9.16675H2.66699V7.83342H10.7837L7.05033 4.10008L8.00033 3.16675L13.3337 8.50008L8.00033 13.8334L7.05033 12.9001L10.7837 9.16675Z" fill="%2325282A"/></svg>');
	}
}


.hover-circle {
	height: 144px;
	width: 144px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 144px;
	padding: 30px;
	background-color: #94F26B;
	transform: scale(0);
	position: absolute;
	z-index: 1001;
	font-family: 'dunbar-tall', sans-serif;
	color: #25282A;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 1.22px;
	text-align: center;
	cursor: none;
	line-height: 1.2em;

	@media (max-width: 768px) {
		height: 120px;
		width: 120px;
		border-radius: 120px;
		font-size: 12px;
	}
}

.hover-circle-wrapper {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1001;

	/* @media (max-width: 550px) {
		display: none;
	} */
}

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

.header {
	height: 85px;
	display: flex;
	align-items: center;

	@media(max-width: 1080px) {
		height: 70px;
	}
}

.header_content {
	display: flex;
	align-items: center;
	justify-content: space-between;

	@media(max-width: 1080px) {
		gap: 20px;
	}
}

.menu {
	display: flex;
	align-items: center;
	gap: 32px;

	@media(max-width: 1080px) {
		gap: 24px;
	}

	li {
		position: relative;
		height: 100%;
		transition: .3s;

		a {
			font-family: 'sofia-pro', sans-serif;
			font-size: 16px;
			color: #25282A;
			font-weight: 400;
			text-decoration: none;
			transition: .3s;
			letter-spacing: 1px;
			top: 0;
			position: relative;

			&:hover {
				color: #25282A;
			}
		}

		&.menu-item-has-children {
			&::before {
				content: '';
				position: absolute;
				bottom: -20px;
				height: 20px;
				width: 100%;
				background-color: transparent;
			}

			&::after {
				content: '';
				position: relative;
				height: 8px;
				width: 10px;
				background-image: url('data:image/svg+xml,<svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 1.5884e-08L8 4L7.06667 4.93333L4 1.86667L0.933333 4.93333L-1.56824e-07 4L4 1.5884e-08Z" fill="%2325282A"/></svg>');
				background-size: contain;
				background-repeat: no-repeat;
				top: 0;
				bottom: 0;
				margin: 0 auto;
				display: inline-block;
				margin-left: 3px;
				transition: .3s;
				transform: rotate(180deg)
			}

			&:hover {
				.sub-menu {
					opacity: 1;
					visibility: visible;
					transform: translateY(0);
				}

				&::after {
					transform: rotate(0deg)
				}
			}

			&>a {
				&:hover {
					color: #25282A;
					top: 0;
					padding-bottom: 0;
				}
			}
		}

		.sub-menu {
			position: absolute;
			box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
			background: #E9E9E9;
			top: 150%;
			padding: 32px;
			border-radius: 6px;
			left: -35%;
			margin: 0;
			display: flex;
			flex-direction: column;
			gap: 16px;
			transition: .3s;
			opacity: 0;
			visibility: hidden;
			transform: translateY(20px);
			border-radius: 16px;

			a {
				font-size: 20px;
				transform: skewX(0deg);
				display: inline-block;

				&:hover {
					top: 0;
					transform: skewX(-10deg);
					color: #215732;
					padding-bottom: 0;
				}
			}
		}
	}
}

.header_desktop-menu {
	@media(max-width: 767px) {
		display: none;
	}

	&.service-open {

		li,
		.btn-alt {
			opacity: .5;
		}

		li.menu-item-has-children {
			opacity: 1;

			.sub-menu {
				li {
					opacity: 1;
				}
			}
		}
	}
}

.header_desktop-menu.hover-active-item .menu-item {
	opacity: .5;
}
.header_desktop-menu.hover-active-item .menu-item.active-item,
.header_desktop-menu.hover-active-item .menu-item.active-item .sub-menu .menu-item{
	opacity: 1;
}

.header_logo {
	position: relative;
	transition: .25s;

	&:hover {
		opacity: .6;
	}

	@media(max-width: 767px) {
		display: none;
	}
}

.header_logo_mobile {
	position: relative;
	transition: .25s;
	display: none;

	&:hover {
		opacity: .6;
	}

	@media(max-width: 767px) {
		display: block;
	}
}

.header_desktop-menu-wrap {
	position: relative;
	z-index: 102;
}

.header_mobile-menu {
	background-color: #fff;
	position: absolute;
	height: 100vh;
	width: 100%;
	z-index: 101;
	top: 0;
	padding: 150px 30px 50px 30px;
	transition: .4s;
	opacity: 0;
	visibility: hidden;
	transform-origin: center top;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;

	.header_mobile-menu_list {
		opacity: 0;
		transition: .3s;
		transform: translateY(-80px);
	}

	ul {
		display: flex;
		flex-direction: column;
		gap: 24px;
		width: 100%;

		li {
			a.header_mobile-menu_link {
				font-family: 'sofia-pro', sans-serif;
				color: #25282A;
				font-size: 32px;
				font-weight: 400;

				@media(max-width: 450px) {
					font-size: 28px;
				}
			}

			.btn {
				width: 100%;
			}

			ul {
				gap: 16px;
				margin-top: 16px;
			}
		}

		&:last-child {
			width: 100%;
		}
	}

	&.active {
		opacity: 1;
		visibility: visible;

		.header_mobile-menu_list {
			opacity: 1;
			transform: translateY(0);
			transition: .5s .2s;
		}
	}

	.header_mobile-menu_link_sub {
		font-family: 'sofia-pro', sans-serif;
		color: #5F625F;
		font-size: 24px;
		font-weight: 400;
		display: flex;
		align-items: center;
		gap: 8px;

		@media(max-width: 450px) {
			font-size: 20px;
		}

		svg {
			position: relative;
			top: 2px;
		}
	}
}

.hamburger {
	height: 10px;
	width: 30px;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	transition: .2s;
	appearance: none;
	border: none;
	outline: none;

	&:hover {
		opacity: .6;
	}

	span {
		display: block;
		height: 2px;
		width: 100%;
		background-color: #25282A;
		border-radius: 8px;
		transition: .4s;
		position: relative;
	}

	&.active span:nth-child(1) {
		transform: rotate(45deg);
		top: 5px;
	}

	&.active span:nth-child(2) {
		transform: rotate(-45deg);
		top: -3px;
	}
}

.preheader {
	background-color: #67B346;
	text-align: center;
	height: 50px;
	transition: .3s;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
	z-index: 101;

	@media(max-width: 550px) {
		text-align: left;
		justify-content: space-between;
	}

	.site-container {
		display: flex;
		align-items: center;
		gap: 20px;
		justify-content: center;
	}


	&.hide {
		height: 0;
	}

	p {
		color: #000;

		@media(max-width: 767px) {
			font-size: 14px;
		}

		@media(max-width: 550px) {
			font-size: 12px;
			line-height: 1.2em;
		}
	}

	button {
		cursor: pointer;
		transition: .3s;
		appearance: none;
		outline: none;
		border: none;

		&:hover {
			opacity: .6;
		}
	}
}

.site-header {
	z-index: 10001;
	position: relative;
}

body:not(.single-post) {

	&.modal-open,
	&.mobile-menu-open {
		/* position: relative !important; */
		height: 100vh !important;
		width: 100% !important;
		overflow-y: hidden !important;
		touch-action: hidden !important;
		overflow: hidden !important;
	}

	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 10001;
		transition: transform 0.3s ease-in-out;
		transform: translateY(-100%);
	}

	.site-header.show {
		transform: translateY(0);
	}

	.header {
		background: #fff;
	}

	.site-content {
		margin-top: 85px;
		transition: .3s;
	}

	.banner-active {
		.site-content {
			margin-top: 135px;
		}
	}
}

.menu-item-21.current_page_item,
.menu-item-24.current-menu-item {
	position: relative;

	&::after {
		content: '';
		position: absolute;
		bottom: -8px;
		left: 0;
		right: 0;
		margin: auto;
		border-radius: 4px;
		width: 4px;
		height: 4px;
		background-color: #25282A;
	}
}
.current-menu-item > a,
.current-menu-parent > a {
	position: relative;

	&::after {
		content: '';
		position: absolute;
		bottom: -8px;
		left: 0;
		right: 0;
		margin: auto;
		border-radius: 4px;
		width: 4px;
		height: 4px;
		background-color: #25282A;
	}
}
.current-menu-parent .current-menu-item a {
	color: #215732;

	&::after {
		display: none;
	}
}
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

.main-footer {
	padding: 120px 0 80px 0;

	@media(max-width: 1080px) {
		padding: 60px 0 40px 0;
	}
}

.main-footer .site-container {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	@media(max-width: 1080px) {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 48px;
	}
}

.main-footer h3 {
	margin-bottom: 48px;
	margin-top: 20px;

	@media(max-width: 550px) {
		margin-bottom: 32px;
	}
}

.main-footer_left {
	max-width: 500px;
	text-align: left;

	svg {
		@media(max-width: 550px) {
			width: 47px;
			height: 65px;
		}
	}
}

.main-footer_right {
	display: flex;
	align-items: flex-start;
	gap: 120px;


	@media(max-width: 1200px) {
		gap: 50px;
	}

	@media(max-width: 1080px) {
		width: 100%;
		justify-content: space-between;
	}
}

.main-footer ul {
	margin-top: 15px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.main-footer ul li a,
.main-footer ul li p {
	color: #25282A;
	font-family: 'sofia-pro', sans-serif;
	font-size: 16px;
	letter-spacing: 2%;
	position: relative;
}

.main-footer ul li a {
	transition: .3s;

	&:hover {
		color: #67B346;
		padding-left: 5px;
	}
}

.main-footer ul.contact-info li a {
	border-bottom: 2px solid #94F26B;
	transition: .3s;

	&:hover {
		border-color: #67B346;
		padding-left: 0;
		color: #25282A;
	}
}

/* .main-footer ul li a::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #67B346;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .3s;
}

.main-footer ul li a:hover {
	&::after {
		transform: scaleX(1);
		transform-origin: left;
	}
} */

.bottom-footer {
	background-color: #E9E9E9;
	position: relative;
	top: 24px;

	.site-container {
		position: relative;
		padding-top: 50px;
		padding-bottom: 50px;

		@media(max-width: 767px) {
			padding-top: 30px;
			padding-bottom: 30px;
		}
	}

	ul {
		display: flex;
		align-items: center;
		gap: 32px;
		margin-bottom: 20px;

		@media(max-width: 767px) {
			gap: 12px;
			flex-wrap: wrap;
		}
	}

	ul a,
	p {
		color: #25282A;
		font-family: 'sofia-pro', sans-serif;
		font-size: 16px;
		letter-spacing: 2%;

		@media(max-width: 767px) {
			font-size: 14px;
		}
	}


	ul a {
		transition: .3s;
		position: relative;

		&:hover {
			opacity: 0.6;
		}


		/* &::after {
			content: '';
			position: absolute;
			bottom: -3px;
			left: 0;
			width: 100%;
			height: 2px;
			background-color: #67B346;
			transform: scaleX(0);
			transform-origin: right;
			transition: transform .3s;
		}

		&:hover {
			&::after {
				transform: scaleX(1);
				transform-origin: left;
			}
		} */

	}

	img {
		position: absolute;
		right: 0;
		bottom: 0;
		max-width: 380px;
		width: 100%;

		@media(max-width: 767px) {
			display: none;
		}
	}

	.bottom-footer_content {
		display: flex;
		flex-direction: column;
		gap: 150px;

		@media(max-width: 767px) {
			gap: 16px;
		}
	}

	.bottom-footer_privacy {
		display: flex;
		align-items: center;
		gap: 12px;

		p {
			color: #5F625F;
			font-family: 'sofia-pro', sans-serif;
			font-size: 14px;
			font-weight: 300;
		}

		a {
			color: #5F625F;
			font-family: 'sofia-pro', sans-serif;
			text-decoration: underline;
			text-underline-offset: 4px;
			font-weight: 300;
			font-size: 14px;

			&:hover {
				text-decoration: none;
			}

		}
	}

}

@media(max-width: 550px) {
	.main-footer_right {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 32px;
	}

	.main-footer_services {
		order: 2;
		width: 40%;
	}

	.main-footer_explore {
		order: 3;
		width: 40%;
	}

	.main-footer_contact {
		order: 1;
		width: 100%;
	}
}

/*--------------------------------------------------------------
# Certs
--------------------------------------------------------------*/

.home .certs {
	padding: 120px 0 60px 0;
}

.certs {
	background-color: #E9E9E9;
	padding: 60px 0;
}

.certs h4 {
	text-align: center;
}

.certs ul {
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 32px;
}

.certs ul li {
	padding: 30px;
	background-color: #fff;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
}

.certs h5 {
	font-family: 'sofia-pro', sans-serif;
	font-size: 18px;
	color: #0B381A;
	font-weight: 500;
	margin-bottom: 6px;
}

.certs p {
	color: #25282A;
}

@media(max-width: 1080px) {
	.certs ul li {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
}

@media(max-width: 767px) {
	.certs ul {
		display: flex;
		flex-direction: column;
	}
}

@media(max-width: 550px) {
	.certs ul {
		margin-top: 32px;
	}

	.certs ul li {
		padding: 20px;
	}
}

/*--------------------------------------------------------------
# Articles
--------------------------------------------------------------*/

.articles {
	padding: 80px 0;

	@media(max-width: 767px) {
		padding: 48px 0;
	}
}

.home .articles {
	position: relative;
	padding-top: 80px;

	@media(max-width: 767px) {
		padding: 50px 0 0 0;
	}
}

.home .articles::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background-color: #e9e9e9;
	z-index: 1;
}

.home .articles .site-container {
	position: relative;
	z-index: 100;
}

.articles_headers {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 32px;

	@media(max-width: 1080px) {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
	}
}

.articles_headers h2 {
	margin-bottom: 10px;
}

.articles_body {
	display: flex;
	gap: 22px;
}

.articles_link {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 8px;
	transition: .3s;
	padding: 40px 30px;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
	height: 540px;
	position: relative;
	cursor: none;

	@media(max-width: 767px) {
		padding: 30px 20px;
	}

	&::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, rgba(33, 87, 50, 0.00) 24.01%, #000 100.02%);
		background-blend-mode: normal, overlay, normal;
		border-radius: 8px;
		z-index: 0;
		transition: .3s;
	}
}

.articles_content {
	z-index: 100;
	position: relative;
}

.articles_content h4 {
	margin-top: 15px;
	color: #fff;
	font-family: 'dunbar-tall', sans-serif;
	font-size: 24px;
	line-height: 1.1em;

	@media(max-width: 767px) {
		font-size: 20px;
	}

	@media(max-width: 550px) {
		font-size: 18px;
	}
}

.articles_content p {
	color: #E9E9E9;
	padding-top: 10px;
	transition: .7s;
	overflow: hidden;
	height: 0;
}

.articles_tags {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;

	@media(max-width: 550px) {
		gap: 4px;
	}
}

.articles_tags span {
	font-family: 'dunbar-tall', sans-serif;
	font-size: 12px;
	color: #E9E9E9;
	font-weight: 500;
	text-transform: uppercase;
	border: 2px solid #E9E9E9;
	padding: 4px 12px;
	border-radius: 8px;
	letter-spacing: 1.44px;

	@media(max-width: 550px) {
		font-size: 10px;
		letter-spacing: 1.2px;
	}
}

.articles_tags span:first-child {
	color: #94F26B;
	border-color: #94F26B;
}

.articles_link:hover .articles_content p {
	@media(min-width: 551px) {
		height: 100px;
	}
}

@media(max-width: 1080px) {
	.articles_body {
		flex-direction: column;
	}

	.articles_link {
		height: 382px;
		background-position: center 30%;
	}
}

/*--------------------------------------------------------------
# Home Hero
--------------------------------------------------------------*/

.home-hero {
	padding-top: 80px;

	@media(max-width: 767px) {
		padding-top: 64px;
	}

	@media(max-width: 550px) {
		padding-top: 48px;
	}
}

.home-hero_text {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;

	p {
		max-width: 418px;
		margin: 0 auto;
	}
}

.home-hero_content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	margin-bottom: 64px;
	text-align: center;

	@media(max-width: 767px) {
		gap: 20px;
	}

	@media(max-width: 550px) {
		margin-bottom: 48px;
		gap: 32px;
	}
}

.home-hero video {
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;

	@media(max-width: 550px) {
		height: 301px !important;
	}
}

.home-hero_buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 48px;
	margin-top: 48px;

	@media(max-width: 550px) {
		flex-direction: column;
		gap: 16px;
		max-width: 220px;
		margin: 32px auto 0 auto;

		.btn,
		.btn-alt {
			width: 100%;
		}
	}
}

/*--------------------------------------------------------------
# About Hero
--------------------------------------------------------------*/

.about-hero {
	padding: 80px 0 60px 0;

	@media(max-width: 550px) {
		padding: 60px 0 40px 0;
	}
}

.about-hero h1 {
	margin-bottom: 32px;

	@media(max-width: 550px) {
		margin-bottom: 16px;
	}
}

.about-hero_text {
	max-width: 660px;
}

.about-hero_image {
	width: 100%;
	object-fit: cover;
}

/*--------------------------------------------------------------
# Impact
--------------------------------------------------------------*/

.impact {
	background-color: #0B381A;
	padding: 160px 0;
	position: relative;
	background-image: url('https://newlyrestored.kinsta.cloud/wp-content/uploads/2025/09/impact-bg.svg');
	background-position: center left;
	background-size: contain;
	background-repeat: no-repeat;

	h2 {
		font-family: 'dunbar-tall', sans-serif;
		color: #fff;
		font-size: 48px;
		letter-spacing: 2%;
		max-width: 690px;
		line-height: 1.3em;
		margin: 0 auto;
		font-weight: 500;
		text-align: center;


		@media(max-width: 767px) {
			font-size: 38px;
			line-height: 1.5em;
		}

		@media(max-width: 550px) {
			font-size: 32px;
		}

		@media(max-width: 450px) {
			font-size: 28px;
		}
	}

	@media(max-width: 767px) {
		padding: 156px 0;
		background-image: url("https://newlyrestored.kinsta.cloud/wp-content/uploads/2025/11/impact-mobile.svg");
		background-size: auto;
		background-position: bottom left;
	}
}

/*--------------------------------------------------------------
# Infinite Banner
--------------------------------------------------------------*/

.infinite-banner {
	padding: 20px 0;
	background-color: #E9E9E9;
	overflow: hidden;
	position: relative;
}

.infinite-banner_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 150px;
	flex-shrink: 0;

	@media(max-width: 550px) {
		gap: 60px;
	}

	li {
		display: flex;
		align-items: center;
		gap: 10px;
		position: relative;

		p {
			font-family: 'dunbar-tall', sans-serif;
			letter-spacing: 1.92px;
			color: #25282A;
			font-size: 16px;
			text-transform: uppercase;
			font-weight: 600;

			@media(max-width: 550px) {
				font-size: 14px;
			}

			@media(max-width: 450px) {
				font-size: 13px;
			}
		}
	}

	li::after {
		content: '';
		height: 16px;
		width: 16px;
		background: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_254_5505)"><path d="M7.99999 15.208C11.9809 15.208 15.208 11.9809 15.208 7.99999C15.208 4.01912 11.9809 0.791992 7.99999 0.791992C4.01912 0.791992 0.791992 4.01912 0.791992 7.99999C0.791992 11.9809 4.01912 15.208 7.99999 15.208Z" fill="%2394F26B"/><path d="M7.992 0.791992C6.56797 0.791992 5.17592 1.21426 3.99189 2.00541C2.80786 2.79656 1.88501 3.92104 1.34006 5.23667C0.795112 6.5523 0.652528 7.99998 0.930341 9.39664C1.20815 10.7933 1.89389 12.0762 2.90083 13.0832C3.90776 14.0901 5.19068 14.7758 6.58734 15.0536C7.98401 15.3315 9.43169 15.1889 10.7473 14.6439C12.0629 14.099 13.1874 13.1761 13.9786 11.9921C14.7697 10.8081 15.192 9.41602 15.192 7.99199C15.192 6.08243 14.4334 4.25109 13.0832 2.90082C11.7329 1.55056 9.90155 0.791992 7.992 0.791992ZM11.376 5.95999L7.824 10.888C7.71819 11.0308 7.56379 11.13 7.38989 11.1669C7.216 11.2037 7.03463 11.1757 6.88 11.088L4.84 9.89599C4.6745 9.79627 4.5554 9.63489 4.50889 9.44736C4.46238 9.25982 4.49227 9.06149 4.592 8.89599C4.69172 8.7305 4.8531 8.61139 5.04063 8.56489C5.22817 8.51838 5.4265 8.54827 5.592 8.64799L7.04 9.51199L10.24 5.11999C10.3588 5.00101 10.5154 4.92734 10.6828 4.91175C10.8502 4.89616 11.0177 4.93963 11.1564 5.03462C11.2951 5.12962 11.3962 5.27015 11.4422 5.43186C11.4881 5.59357 11.476 5.76626 11.408 5.91999L11.376 5.95999Z" fill="%23215732"/></g><defs><clipPath id="clip0_254_5505"><rect width="16" height="16" fill="white"/></clipPath></defs></svg>') center no-repeat;
		background-size: cover;
		position: relative;

		@media(max-width: 550px) {
			height: 14px;
			width: 14px;
		}

		@media(max-width: 450px) {
			height: 13px;
			width: 13px;
		}
	}

	img {
		@media(max-width: 550px) {
			max-width: 80px;
		}
	}
}

.infinite-banner[data-animated='true'] .infinite-banner_inner {
	width: max-content;
	flex-wrap: nowrap;
	animation: scroll var(--_animation-duration, 50s) var(--_animation-direction, forwards) linear infinite;
}

@keyframes scroll {
	to {
		transform: translate(calc(-50% - 0.5rem));
	}
}

/*--------------------------------------------------------------
# Tabs
--------------------------------------------------------------*/

.tabs {
	padding: 80px 0;
	position: relative;

	@media(max-width: 767px) {
		padding: 60px 0;
	}

	@media(max-width: 550px) {
		padding: 48px 0;
	}
}

.tabs--home::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	background-color: #e9e9e9;
}

.tabs .site-container,
.tabs_body {
	position: relative;
	z-index: 100;
}

.tabs_intro {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	margin-bottom: 48px;

	@media(max-width: 550px) {
		gap: 8px;
		margin-bottom: 32px;
	}

	h3 {
		margin-bottom: 32px;

		@media(max-width: 550px) {
			margin-bottom: 12px;
		}
	}
}

.tabs--services .tabs_intro {
	margin-bottom: 0;
}

.tabs_controls {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.tabs_controls button {
	width: 33%;
	padding: 10px 0;
	position: relative;
	cursor: pointer;
	transition: .2s;
	position: relative;
	color: #5F625F;
	font-family: 'dunbar-tall', sans-serif;
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2px;
	transition: .3s;
	border-radius: 8px;
	appearance: none;
	border: none;
	outline: none;

	@media(max-width: 768px) {
		font-size: 18px;
	}

	@media(max-width: 550px) {
		font-size: 14px;
	}

	@media(max-width: 400px) {
		font-size: 12px;
	}

	&.active {
		color: #25282A;
		background-color: #E9E9E9;
	}

	&:hover {
		color: #25282A;
	}
}

.tabs_panel {
	margin: 0 auto;
	display: none;
	transition: 0.2s;
	gap: 16px;
	display: none;
	position: relative;
	justify-content: center;
	padding: 50px 30px 20px 30px;
	text-align: center;
	max-width: 1310px;

	&.active {
		display: flex;
	}

	@media(max-width: 1080px) {
		padding: 40px 20px 40px 20px;
		overflow: scroll;
		flex-shrink: 0;
		justify-content: flex-start;
	}
}

.tab_cards {
	background-color: #afafaf;
	border-radius: 8px;
	flex-grow: 1;
	width: 100%;
	height: 400px;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	cursor: none;
	transition: .5s;
	border: none;

	h4 {
		color: #fff;
		position: relative;
		z-index: 101;
		font-size: 36px;

		@media(max-width: 767px) {
			font-size: 48px;
			text-align: center;
			line-height: 1.1em;
		}

		@media(max-width: 400px) {
			font-size: 32px;
		}
	}

	@media(max-width: 1080px) {
		flex-shrink: 0;
		max-width: 366px;
	}

	@media(max-width: 400px) {
		max-width: 300px;
	}
}

.tab_cards__image {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
	border-radius: 8px;
}

.tab_cards img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: 1s;
	border-radius: 8px;
}

.tab_cards:hover img {
	transform: scale(1.12);

	@media(max-width: 550px) {
		transform: scale(1);
	}
}

.tab_card_content {
	padding: 48px 24px;
	text-align: left;
	position: relative;
	z-index: 100;
	height: 100%;
	width: 100%;
	transition: .3s;
}

.tab_card_content::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(33, 87, 50, 0.00) 24%, #000 100%);
	border-radius: 8px;
	transition: .3s;
}

.tabs-modals {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10001;
	display: flex;
	visibility: hidden;
	background-color: transparent;
	transition: visbility 0s .5s;

	&.active {
		visibility: visible;
	}
}

.tabs-modal_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	transition: .3s .2s;

	&.active {
		opacity: 1;
		transition: .4s .005s;
	}
}

.tabs-modals_modal {
	background-color: #fff;
	border-radius: 12px;
	max-width: 1300px;
	position: relative;
	z-index: 100;
	height: calc(100% - 100px);
	width: calc(100% - 30px);
	overflow: scroll;
	transform: translateY(120%);
	transition: .5s;
	position: absolute;
	padding-top: 20px;

	&.active {
		transform: translateY(0);
		transition: .7s .1s;
	}

	@media(max-width: 550px) {
		width: 100%;
		height: 100%;
		border-radius: 0;
	}
}

.tabs-modals_close_container {
	position: absolute;
	top: 0;
	top: 20px;
	right: 20px;
	transition: .3s;

	&:hover {
		opacity: .7
	}

	@media(max-width: 550px) {
		position: sticky;
		z-index: 1001;
		top: 0;
		padding-right: 20px;
		justify-content: flex-end;
		align-items: flex-end;
		display: flex;
	}
}

.tabs-modals_close {
	position: relative;
	outline: none;
	border: none;
}

/*--------------------------------------------------------------
# Service Modal
--------------------------------------------------------------*/

.service-modal {
	overflow: initial;
}

.service-modal_header {
	display: flex;
	align-items: center;
	padding: 40px 30px;
	justify-content: center;
	gap: 102px;
}

.service-modal_header h2 {
	flex-shrink: 0;
}

.service-modal_header p {
	max-width: 500px;
}

.service-modal_banner-img {
	width: 100%;
	height: 800px;
	object-fit: cover;
	object-position: center;
}

.service-modal_body {
	padding: 20px 30px;
}


/*--------------------------------------------------------------
# Brands
--------------------------------------------------------------*/

.brands {
	padding: 100px 0 0 0;
	background-color: #e9e9e9;
	text-align: center;

	@media(max-width: 767px) {
		padding: 60px 0 0 0;
	}
}

.home .brands {
	padding: 60px 0 0 0;

	@media(max-width: 767px) {
		padding: 20px 0 0 0;
	}
}


.brands h5 {
	font-family: 'dunbar-tall', sans-serif;
	font-size: 24px;
	color: #5F625F;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2.88px;

	@media(max-width: 767px) {
		font-size: 18px;
	}

	@media(max-width: 550px) {
		font-size: 14px;
		letter-spacing: 1.68px;
	}
}

.brands .infinite-banner {
	background-color: transparent;
	margin-top: 30px;

	@media(max-width: 767px) {
		margin-top: 20px;
	}
}

.brands .infinite-banner_inner {
	gap: 140px;

	@media(max-width: 1080px) {
		gap: 100px;
	}

	@media(max-width: 767px) {
		gap: 80px;
	}

	@media(max-width: 550px) {
		gap: 70px;
	}
}

.brands .infinite-banner_inner li::after {
	display: none;
}

.brands .infinite-banner[data-animated='true'] .infinite-banner_inner {
	animation: scroll var(--_animation-duration, 60s) var(--_animation-direction, forwards) linear infinite;
}

/*--------------------------------------------------------------
# Vertical Scroll
--------------------------------------------------------------*/

.vertical-scroll {
	padding: 180px 0;
	background-image: url('placeholder.jpg');
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	position: relative;

	@media(max-width: 1080px) {
		padding: 100px 0;
	}

	@media(max-width: 767px) {
		padding: 60px 0;
		background-attachment: scroll;
	}

	&::before {
		content: '';
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.48);
		pointer-events: none;
		z-index: 1;
	}
}

.vertical-scroll_content {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 100;

	@media(max-width: 1080px) {
		flex-direction: column;
		gap: 48px;
	}
}

.vertical-scroll_bottom-link {
	margin-top: 48px;
	display: none;
	text-align: center;
	position: relative;
	z-index: 10;

	@media(max-width: 1080px) {
		display: block;
	}
}

.vertical-scroll_top-link {
	margin-top: 48px;

	@media(max-width: 1080px) {
		display: none;
		margin-top: 0;
	}
}

.vertical-scroll_text {
	max-width: 500px;
	position: relative;
	position: sticky;
	top: 0;

	@media(max-width: 1080px) {
		position: relative;
	}

	.eyebrow {
		color: #E9E9E9 !important;
	}

	h3, h2 {
		color: #fff !important;
	}
}

.vertical-scroll_text--smaller {
	max-width: 310px;
}

.vertical-scroll_pin {
	display: flex;
	flex-direction: column;
	gap: 50px;

	@media(max-width: 1080px) {
		width: 100%;
	}

	@media(max-width: 767px) {
		gap: 32px;
	}

	@media(max-width: 550px) {
		gap: 16px;
	}
}

.vertical-scroll_pin div:nth-child(2n) {
	margin-left: auto;
}

.glass-card {
	box-shadow: 0 24px 32px 0 rgba(0, 0, 0, 0.25);
	max-width: 520px;
	width: 100%;
	padding: 38px 38px 70px 38px;
	border-radius: 32px;
	box-shadow: 1px 1px 0 0 rgba(255, 255, 255, 0.25) inset, 48px 48px 56px 0 rgba(255, 255, 255, 0.10) inset;
	background: rgba(95, 98, 95, 0.12);
	backdrop-filter: blur(32px);

	@media(max-width: 767px) {
		padding: 32px;
	}

	@media(max-width: 400px) {
		padding: 24px;
	}

	p {
		color: #fff;
		font-size: 32px;

		@media(max-width: 1080px) {
			font-size: 28px;
		}

		@media(max-width: 767px) {
			font-size: 24px;
		}

		@media(max-width: 400px) {
			font-size: 20px;
		}
	}
}

.vertical-scroll--services .glass-card {
	border: none;
	padding: 158px 37px 70px 37px;

	@media(max-width: 767px) {
		padding: 80px 32px 32px 32px;
	}
}

.glass-card_header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 24px;
	margin-bottom: 32px;

	@media(max-width: 400px) {
		gap: 16px;
		margin-bottom: 24px;
	}

	h5 {
		color: #fff;
		font-family: 'dunbar-tall', sans-serif;
		letter-spacing: 2px;
		font-weight: 500;
		font-size: 24px;
		text-transform: uppercase;

		@media(max-width: 767px) {
			font-size: 22px;
		}

		@media(max-width: 550px) {
			font-size: 18px;
		}
	}

	img, svg {
		@media(max-width: 550px) {
			width: 40px;
			height: 40px;
		}
	}
}

/*--------------------------------------------------------------
# Vertical Text Scroll
--------------------------------------------------------------*/

.vertical-text-scroll {
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	position: relative;
	background-color: #0B381A;
	padding: 80px 0 160px 0;

	@media (max-width: 767px) {
		padding: 50px 0 80px 0;
		background-attachment: scroll;
	}

	&::before {
		display: none;
	}
}

.vertical-text-scroll .site-container {
	max-width: 1100px;
}

.vertical-text-scroll_content {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 100;

	@media(max-width: 1080px) {
		flex-direction: column;
		gap: 48px;
		align-items: center;
	}
}

.vertical-text-scroll_bottom-link {
	margin-top: 48px;
	display: none;
	text-align: center;
	position: relative;
	z-index: 10;

	@media(max-width: 1080px) {
		display: block;
	}
}

.vertical-text-scroll_top-link {
	margin-top: 48px;

	@media(max-width: 1080px) {
		display: none;
		margin-top: 0;
	}
}

.vertical-text-scroll_text {
	max-width: 500px;
	position: relative;
	position: sticky;
	top: 64px;

	@media(max-width: 1080px) {
		position: relative;
		max-width: 480px;
		width: 100%;
		top: 0;
	}

	.eyebrow {
		color: #E9E9E9 !important;
	}

	h3, h2 {
		color: #fff !important;
	}
}

.vertical-text-scroll_text--smaller {
	max-width: 310px;

	@media(max-width: 1080px) {
		max-width: 480px;
	}
}

.vertical-text-scroll_pin {
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 200px;

	@media(max-width: 1080px) {
		width: 100%;
		margin-top: 0;
	}

	@media(max-width: 767px) {
		gap: 32px;
	}

	@media(max-width: 550px) {
		gap: 16px;
	}
}

.vertical-text-scroll_pin div:nth-child(2n) {
	margin-left: auto;
}

/*--------------------------------------------------------------
# Values List
--------------------------------------------------------------*/

.values-list {
	max-width: 487px;
	display: flex;
	flex-direction: column;
	gap: 120px;

	@media(max-width: 1080px) {
		margin: 0 auto;
	}

	@media(max-width: 767px) {
		margin-bottom: 16px;
		gap: 64px;
	}
}

.value-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 24px;
	margin-bottom: 24px;

	@media(max-width: 767px) {
		margin-bottom: 16px;
		gap: 16px;
	}

	h4 {
		font-family: 'dunbar-tall', sans-serif;
		font-size: 24px;
		color: #fff;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 2.88px;

		@media(max-width: 767px) {
			font-size: 20px;
		}

		@media(max-width: 550px) {
			font-size: 16px;
			letter-spacing: 1.92px
		}
	}
}

.value-description {
	p {
		color: #E9E9E9;
		font-size: 24px;
		letter-spacing: 0.48px;

		@media(max-width: 767px) {
			font-size: 20px;
			letter-spacing: 0.4px;
		}
	}
}

.value-description {

	ul {
		padding-top: 22px;
		display: flex;
		flex-direction: column;
		gap: 12px;

		li {
			font-size: 24px;
			color: #fff;
			font-family: 'sofia-pro', sans-serif;
			position: relative;
			padding-left: 30px;

			@media(max-width: 767px) {
				font-size: 20px;
			}

			@media(max-width: 550px) {
				font-size: 16px;
			}


			a {
				color: #fff;
				text-decoration: underline;
				text-underline-offset: 7px;
				text-decoration-color: #94F26B;
				text-decoration-thickness: 2px;
				transition: .2s;

				&:hover {
					text-decoration-color: #67B346;
				}
			}

			&::before {
				content: '';
				position: absolute;
				background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.7837 8.66699H2.66699V7.33366H10.7837L7.05033 3.60033L8.00033 2.66699L13.3337 8.00033L8.00033 13.3337L7.05033 12.4003L10.7837 8.66699Z" fill="%2394F26B"/></svg>');
				height: 20px;
				width: 20px;
				left: 0;
				background-position: center;
				background-repeat: no-repeat;
				top: 0;
				bottom: 0;
				margin: auto;
			}
		}
	}
}

/*--------------------------------------------------------------
# FAQS
--------------------------------------------------------------*/

.faqs {
	background-color: #0b381a;
	padding: 80px 0;

	@media (max-width: 767px) {
		padding: 50px 0;
	}

	h3 {
		color: #fff;
		text-align: center;
		margin-bottom: 40px;

		@media(max-width: 550px) {
			margin-bottom: 24px;
		}
	}
}

.white-faqs {
	.faqs {
		background-color: #fff;
	}

	p,
	h3 {
		color: #0B381A;
	}

	.accordion_button {
		color: #5F625F;

		&::after {
			background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 8H0V6H6V0H8V6H14V8H8V14H6V8Z" fill="%2325282A"/></svg>');
			height: 15px;
			width: 15px;
		}
	}

	.accordion {
		max-width: 1100px;
	}

	.accordion_content {
		p {
			color: #0B381A;
		}
	}
}

.accordion {
	max-width: 660px;
	margin: 0 auto;
}

.accordion_item {
	border-bottom: 1px solid #215732;
}

.accordion_button {
	color: #e9e9e9;
	font-family: "sofia-pro", sans-serif;
	padding: 30px 50px 30px 20px;
	cursor: pointer;
	transition: 0.4s;
	position: relative;
	width: 100%;
	display: flex;
	appearance: none;
	border: none;
	outline: none;
	text-align: left;

	@media(max-width: 550px) {
		padding: 20px 45px 20px 10px;
	}

	&:hover {
		opacity: 0.5;

		@media(max-width: 550px) {
			opacity: 1;
		}
	}

	span {
		display: inline-block;
		transition: .3s;
	}

	strong {
		margin-right: 20px;

		@media(max-width: 550px) {
			margin-right: 10px;
		}
	}

	&::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 0;
		background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 13H5V11H11V5H13V11H19V13H13V19H11V13Z" fill="%2394F26B"/></svg>');
		width: 24px;
		height: 24px;
		background-size: cover;
		background-repeat: no-repeat;
		transition: transform 0.4s;
		transform: rotate(0deg);
	}
}

.accordion_button.active {
	&::after {
		transform: rotate(45deg);
	}

	span {
		transform: skewX(-15deg);
	}
}

.accordion_content {
	padding: 0 20px 20px 56px;
	color: #e9e9e9;
	display: none;
	transition: all 0.3s;

	@media(max-width: 550px) {
		padding: 0 10px 20px 36px;
	}

	p {
		color: #e9e9e9;
	}

	&.active {
		display: block;
	}
}

/*--------------------------------------------------------------
# Our Team
--------------------------------------------------------------*/

.our-team {
	padding: 100px 0;

	@media(max-width: 550px) {
		padding: 70px 0 50px 0;
	}
}

.our-team_header .eyebrow {
	margin-bottom: 10px;
}

.our-team_header {
	text-align: center;
	padding-bottom: 64px;

	@media(max-width: 550px) {
		padding-bottom: 48px;
		;
	}
}

.our-team_header h3 {
	margin-bottom: 20px;
}

.our-team_header p {
	max-width: 660px;
	margin: 0 auto;
}

.our-team_cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;
	max-width: 1000px;
	margin: 0 auto;
	gap: 16px;
	position: relative;

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

	@media(max-width: 550px) {
		gap: 8px;
	}
}

.our-team_card {
	height: 480px;
	width: 100%;
	position: relative;
	padding: 30px;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;

	@media(max-width: 767px) {
		padding: 20px;
	}

	@media(max-width: 550px) {
		height: 350px;
	}

	@media(max-width: 450px) {
		height: 300px;
		padding: 20px 15px;
	}

	@media(max-width: 400px) {
		height: 250px;
	}

	&::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, rgba(33, 87, 50, 0.00) 50%, rgba(0, 0, 0, 0.80) 100.02%);
		z-index: 10;
	}
}

.team-desktop_title {
	display: block;

	@media(max-width: 550px) {
		display: none;
	}
}
.team-mobile_title {
	display: none;

	@media(max-width: 550px) {
		display: block;
	}
}
.our-team_card img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}

.our-team_card h6 {
	position: relative;
	z-index: 100;
	color: #fff;
	font-size: 32px;
	font-weight: 500;
	z-index: 11;
	line-height: 1.3em;
	font-family: 'sofia-pro', sans-serif;

	@media(max-width: 767px) {
		font-size: 28px;
	}

	@media(max-width: 550px) {
		font-size: 24px;
	}

	@media(max-width: 450px) {
		font-size: 16px;
	}
}

.our-team_card p {
	font-family: "dunbar-tall", sans-serif;
	color: #94f26b;
	font-weight: 500;
	position: relative;
	z-index: 11;
	text-transform: uppercase;
	letter-spacing: 1.92px;
	margin-top: 7px;

	@media(max-width: 550px) {
		font-size: 11px;
		margin-top: 5px;
	}
}

/*--------------------------------------------------------------
# Stats
--------------------------------------------------------------*/
.stats-cards {
	padding: 80px 0 0 0;

	@media (max-width: 767px) {
		padding: 50px 0 0 0;
	}

	.parent {
		display: grid;
		grid-template-columns: repeat(9, 1fr);
		grid-template-rows: repeat(2, 1fr);
		grid-column-gap: 24px;
		grid-row-gap: 24px;
	}

	.stats-cards_card {
		background: #e9e9e9;
		border-radius: 8px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		padding: 48px 32px 24px 32px;
		min-height: 206px;
		box-shadow: 0 2px 8px 0 rgba(34, 34, 34, 0.04);
		position: relative;
		overflow: hidden;
		gap: 12px;

		@media(max-width: 767px) {
			padding: 24px;
			min-height: auto;
			flex-direction: row;
			align-items: flex-start;
			gap: 24px;
			justify-content: flex-start;
		}

		img {
			@media(max-width: 767px) {
				max-width: 36px;
			}
		}
	}

	.stats-cards_desc-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.stats-cards_card-main {
		background: #0b381a;
		border-radius: 8px;
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
		flex-direction: column;
		min-height: 430px;
		padding: 48px 40px;
		box-shadow: 0 2px 8px 0 rgba(34, 34, 34, 0.04);
		position: relative;
		overflow: hidden;
		position: relative;
		background-image: url('data:image/svg+xml,<svg width="224" height="310" viewBox="0 0 224 310" fill="none" xmlns="http://www.w3.org/2000/svg"><g opacity="0.16"><path d="M278.806 -102.742C277.961 -102.947 266.872 -105.49 242.375 -107.858C220.275 -110.002 187.252 -112 140.995 -112C43.4511 -112 4.7869 -103.122 3.1945 -102.742L0 -101.992V115.348C0 167.154 22.4975 216.572 60.9286 250.68C65.2592 254.53 69.7839 258.175 74.5028 261.605L140.995 310L207.497 261.605C254.152 227.662 282 172.991 282 115.348V-101.992L278.806 -102.742ZM261.279 115.348C261.279 140.461 255.259 165.555 243.86 187.931C232.441 210.325 215.673 229.972 195.341 244.775L140.995 284.311L86.6594 244.775C77.843 238.353 69.6965 231.034 62.3754 222.965C52.7919 212.43 44.6065 200.619 38.1399 187.931C26.7503 165.555 20.7109 140.461 20.7109 115.348V-84.6937C38.703 -87.2762 76.6973 -91.2133 140.995 -91.2133C173.455 -91.2133 199.302 -90.1901 219.256 -88.8355C238.568 -87.5393 252.356 -85.9314 261.279 -84.6645V115.348Z" fill="black"/><path d="M140.995 -18.0262L33.6054 44.3533H48.4904V129.858L140.995 183.126L235.452 129.858L235.558 44.3533H248.385L140.995 -18.0262ZM140.995 159.591L70.7257 119.548L140.995 79.4851L211.284 119.538L140.995 159.591Z" fill="black"/></g></svg>');
		background-repeat: no-repeat;
		background-position: top right;
		background-size: 250px auto;

		@media(max-width: 1080px) {
			min-height: 350px;
		}

		@media(max-width: 767px) {
			min-height: 300px;
		}

		@media(max-width: 550px) {
			min-height: 250px;
			padding: 32px 20px;
			background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="223" height="214" viewBox="0 0 223 214" fill="none"><g opacity="0.16"><path d="M237.281 -75.1241C236.562 -75.2982 227.125 -77.462 206.276 -79.4766C187.468 -81.3005 159.364 -83 119.996 -83C36.9797 -83 4.07396 -75.4474 2.71873 -75.1241L0 -74.4857V110.407C0 154.479 19.1468 196.52 51.8541 225.536C55.5397 228.811 59.3906 231.912 63.4067 234.83L119.996 276L176.593 234.83C216.3 205.954 240 159.445 240 110.407V-74.4857L237.281 -75.1241ZM222.365 110.407C222.365 131.772 217.242 153.119 207.541 172.154C197.823 191.206 183.551 207.919 166.247 220.512L119.996 254.146L73.7527 220.512C66.2494 215.049 59.3162 208.823 53.0854 201.958C44.9292 192.996 37.963 182.948 32.4595 172.154C22.7662 153.119 17.6263 131.772 17.6263 110.407V-59.7702C32.9387 -61.9672 65.2743 -65.3165 119.996 -65.3165C147.621 -65.3165 169.619 -64.446 186.601 -63.2937C203.037 -62.191 214.771 -60.8231 222.365 -59.7454V110.407Z" fill="black"/><path d="M119.996 -3.05549L28.6004 50.0115H41.2685V122.752L119.996 168.067L200.384 122.752L200.475 50.0115H211.391L119.996 -3.05549ZM119.996 148.046L60.1921 113.98L119.996 79.8985L179.816 113.972L119.996 148.046Z" fill="black"/></g></svg>');
			background-position: bottom right;
		}

		@media(max-width: 450px) {
			min-height: 220px;
		}
	}

	.stats-cards_card-main h2 {
		color: #fff;
		font-family: "dunbar-tall", sans-serif;
		font-size: 48px;
		text-align: left;
		font-weight: 500;
		line-height: 1.3em;

		strong {
			color: #67b346;
			font-weight: 500;
		}

		@media(max-width: 767px) {
			font-size: 40px;
		}

		@media(max-width: 550px) {
			font-size: 32px;
		}

		@media(max-width: 450px) {
			font-size: 28px;
		}
	}

	.div1 {
		grid-area: 1 / 1 / 3 / 4;
	}

	.div2 {
		grid-area: 1 / 4 / 2 / 7;
	}

	.div3 {
		grid-area: 1 / 7 / 2 / 10;
	}

	.div4 {
		grid-area: 2 / 4 / 3 / 7;
	}

	.div5 {
		grid-area: 2 / 7 / 3 / 10;
	}

	@media (max-width: 1080px) {
		.parent {
			display: flex;
			flex-direction: column;
			gap: 16px;
		}

		.div1,
		.div2,
		.div3,
		.div4,
		.div5 {
			grid-area: unset !important;
			width: 100%;
		}
	}
}

/*--------------------------------------------------------------
# Info Cards
--------------------------------------------------------------*/

.info-cards {
	padding: 80px 0;

	@media (max-width: 767px) {
		padding: 50px 0;
	}
}

.info-cards_header {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 50px;

	@media(max-width: 400px) {
		gap: 12px;
		margin-bottom: 40px;
	}
}

.info-cards_header p {
	max-width: 420px;
	margin: 0 auto;
}

.info-cards_flex {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;

	@media (max-width: 767px) {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

.info-card h4 {
	font-size: 24px;
	font-weight: 400;
	font-family: "sofia-pro", sans-serif;
	margin-bottom: 12px;
	margin-top: 20px;

	@media(max-width: 550px) {
		font-size: 20px;
		letter-spacing: 0.4px;
	}
}

.info-card img {
	width: 100%;
	border-radius: 8px;
}

.info-card_link {
	margin-top: 32px;
}


/*--------------------------------------------------------------
# Single Services Page
--------------------------------------------------------------*/
.child-service-hero {
	padding: 50px 0;

	@media(max-width: 767px) {
		padding: 40px 0;
	}

	@media(max-width: 550px) {
		padding: 20px 0 40px 0;
	}

	.site-container {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 80px;

		@media(max-width: 767px) {
			flex-direction: column;
			align-items: flex-start;
			gap: 16px;
		}
	}
}

.child-service-hero_col {
	width: 50%;

	@media(max-width: 767px) {
		width: 100%;
	}
}

.child-services-details {
	padding: 80px 0;

	@media(max-width: 767px) {
		padding: 50px 0;
	}
}

.child-services-details_header {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;

	h3 {
		margin-bottom: 20px;
	}
}

.child-services-details_cards {
	display: flex;
	gap: 16px;
	max-width: 1440px;
	padding: 0 30px;
	width: 100%;
	position: relative;
	margin: 64px auto 0 auto;

	@media(max-width: 1080px) {
		padding-right: 0;
		padding-left: 15px;
		overflow: scroll;
		margin: 48px auto 0 auto;
	}
}

.child-services-details_card {
	background: #E9E9E9;
	border-radius: 8px;
	padding: 32px 40px;
	margin-bottom: 20px;


	@media(max-width: 1080px) {
		max-width: 300px;
		width: 100%;
		flex-shrink: 0;
	}

	@media(max-width: 767px) {
		padding: 32px 20px;
		max-width: 280px;
	}

	h4 {
		margin-bottom: 12px !important;
		font-weight: 600 !important;
		font-size: 16px !important;
	}

	p {
		font-size: 26px;
		color: #25282A;
		line-height: 1.2em;

		@media(max-width: 1080px) {
			font-size: 24px;
		}

		@media(max-width: 550px) {
			font-size: 18px;
		}
	}
}

.child-services-stats {
	padding: 60px 0;

	@media(max-width: 767px) {
		padding: 30px 0;
	}
}

.child-services-stats_cards {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	flex-wrap: nowrap;

	@media(max-width: 1080px) {
		flex-wrap: wrap;
	}
}

.child-services-stats_card {
	background: #E9E9E9;
	border-radius: 8px;
	padding: 32px 40px;
	text-align: center;
	width: 100%;

	@media(max-width: 767px) {
		padding: 32px 20px;
	}

	h3 {
		margin-bottom: 12px !important;
		color: #215732;
	}
}

.child-services-cta {
	padding: 180px 0;
	background-color: #E9E9E9;
	position: relative;
	overflow: hidden;

	@media(max-width: 767px) {
		padding: 100px 0;
	}
}

.child-services-cta_svg-wrapper {
	position: absolute;
	max-width: 2000px;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.child-services-cta_content {
	text-align: center;
}

.child-services-cta_text {
	max-width: 465px;
	margin: 28px auto 0 auto;
	text-align: center;
}

.child-services-cta_button {
	margin-top: 32px;
}

.child-service-preheader.preheader {
	height: auto;
	padding: 18px 0;
	text-align: center;

	p {
		font-size: 24px;
		text-align: center;

		@media(max-width: 767px) {
			font-size: 16px;
		}
	}
}

.child-services-highlight {
	padding: 80px 0;

	@media(max-width: 767px) {
		padding: 50px 0;
	}
}

.child-services-alt-blocks {
	padding: 80px 0;

	@media(max-width: 767px) {
		padding: 50px 0;
	}
}

.child-services-alt-blocks_flex {
	display: flex;
	flex-direction: column;
	gap: 64px;

	@media(max-width: 767px) {
		gap: 48px;
	}
}

.child-services-highlight_content {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	max-width: 826px;
	width: 100%;
	margin: 0 auto;

	img {
		border-radius: 16px;
		width: 100%;
	}
}

.child-services-highlight_text {
	margin-top: 32px;

	h4 {
		margin-bottom: 16px;
	}
}

.child-services-alt-blocks_block {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 80px;

	@media(max-width: 767px) {
		gap: 32px;
		flex-direction: column-reverse;
	}
}

.child-services-alt-blocks_block:nth-child(even) {
	flex-direction: row-reverse;

	@media(max-width: 767px) {
		flex-direction: column-reverse;
	}
}

.child-services-alt-blocks_text {
	max-width: 500px;

	h4 {
		margin-bottom: 12px;
	}

	@media(max-width: 767px) {
		max-width: 100%;
		width: 100%;
	}
}

.child-services-alt-blocks_image {
	max-width: 540px;

	img {
		border-radius: 16px;
		width: 100%;
	}

	@media(max-width: 767px) {
		max-width: 100%;
		width: 100%;
	}
}

.child-services-main-image {
	width: 100%;
}

/*--------------------------------------------------------------
# Service Table Charts
--------------------------------------------------------------*/

.table-section {
	padding: 80px 0;
	background-color: #0B381A;

	@media(max-width: 767px) {
		padding: 48px 0;
	}
}

.table-section-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

.desktop-table {
	display: flex;
	justify-content: space-between;
	gap: 32px;

	@media(max-width: 767px) {
		display: none;
	}
}

.desktop-table_header {
	color: #fff;
	height: 184px;
}

.desktop-table_header h4 {
	font-size: 36px;
	margin: 0;
	padding-bottom: 32px;
	line-height: 1.2em;
	color: #fff;

	@media(max-width: 1200px) {
		padding-bottom: 16px;
		font-size: 28px;
	}

	@media(max-width: 900px) {
		font-size: 24px;
		padding-bottom: 8px;
	}
}

.desktop-table_header p {
	color: #fff;
	font-size: 16px;
	margin: 0;

	@media(max-width: 1200px) {
		font-size: 14px;
	}
}

.desktop-table_col-one {
	max-width: 458px;
	width: 100%;
	margin-right: 64px;

	@media(max-width: 1200px) {
		margin-right: 0;
	}
}

.desktop-table_table-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.desktop-table_table-list li {
	color: #fff;
	font-size: 24px;
	line-height: 1.2em;
	letter-spacing: .48px;
	height: 80px;
	font-family: 'sofia-pro', sans-serif;

	@media(max-width: 1200px) {
		font-size: 18px;
	}
}



.desktop-table_col-header {
	height: 184px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	text-align: center;
}

.desktop-table_col-header h5 {
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	/* 100% */
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #fff;
	font-family: 'dunbar-tall', sans-serif;

	@media(max-width: 1200px) {
		font-size: 18px;
	}
}

.desktop-table_col-two,
.desktop-table_col-three,
.desktop-table_col-four {
	max-width: 272px;
	width: 100%;
	padding: 0 0 60px 0;

	@media(max-width: 1200px) {
		max-width: 200px;
	}
}

.desktop-table_col-two {
	background-color: #215732;
	box-shadow: 0 0.5px 2px 0 rgba(25, 33, 61, 0.10);
	border-radius: 8px;
}

.desktop-table_col-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	padding: 0 10px;
}

.desktop-table_col-list li {
	color: #fff;
	line-height: 1.2em;
	text-align: center;
	height: 80px;
	font-family: 'sofia-pro', sans-serif;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	font-size: 16px;
}

.desktop-table_col-one .desktop-table_col-list li {
	font-size: 24px;
	letter-spacing: .48px;

	@media(max-width: 1200px) {
		font-size: 18px;
	}
}

.desktop-table svg {
	max-width: 100%;
}

.mobile-table {
	display: none;

	@media(max-width: 767px) {
		display: block;
	}
}

.mobile-table_header {
	color: #fff;
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 16px;

	@media(max-width: 550px) {
		margin-bottom: 32px;
	}
}

.mobile-table_header h4 {
	font-size: 24px;
	letter-spacing: .48px;
	line-height: 1.2em;
	margin: 0;
	color: #fff;
}

.mobile-table_header p {
	font-size: 16px;
	margin: 0;
	color: #fff;

	@media(max-width: 550px) {
		font-size: 14px;
	}
}

.mobile-table-view_row {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #215732;
	padding: 12px 0;
	gap: 12px;
}

.mobile-table-view_row:last-child {
	border-bottom: none;
}

.mobile-table-view_header h5 {
	font-size: 16px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 1.44px;
	text-transform: uppercase;
	color: #67B346;
	font-family: 'dunbar-tall', sans-serif;

	@media(max-width: 550px) {
		font-size: 12px;
	}
}

.mobile-table-view_header h6 {
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 120%;
	/* 9.6px */
	letter-spacing: 0.96px;
	text-transform: uppercase;
	color: #fff;
	text-align: center;

	@media(max-width: 550px) {
		font-size: 8px;
	}
}

.mobile-table-view_col {
	width: 15%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mobile-table-view_col--one {
	width: 55%;
	justify-content: flex-start;
	padding-right: 80px;

	@media(max-width: 400px) {
		padding-right: 40px;
	}
}

.mobile-table-view_body .mobile-table-view_col.mobile-table-view_col--one p {
	color: #fff;
	letter-spacing: 0.32px;
	font-size: 18px;
	text-align: left;

	@media(max-width: 550px) {
		font-size: 14px;
	}
}

.mobile-table-view_body .mobile-table-view_col p {
	color: #fff;
	letter-spacing: 0.2px;
	font-size: 12px;
	text-align: center;

	@media(max-width: 550px) {
		font-size: 10px;
	}
}

/*--------------------------------------------------------------
# General Section
--------------------------------------------------------------*/

.general-section {
	padding: 80px 0;

	@media(max-width: 768px) {
		padding: 40px 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5 {
		color: #25282A;
	}

	h5 {
		font-size: 16px;
		font-weight: 600;
		color: #25282A;
		font-family: "dunbar-tall";
		letter-spacing: 1.92px;
		text-transform: uppercase;
		margin-bottom: 8px;
	}

	p,
	li {
		font-size: 16px;
		letter-spacing: 0.32px;
		line-height: 1.4em;
		color: #25282A;
		font-weight: 400;
		font-family: "sofia-pro";

		@media(max-width: 550px) {
			font-size: 15px
		}
	}

	ul {
		padding: 8px 0 8px 20px;
		list-style: disc;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
}


.category-filters {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.category-chips {
	display: inline-block;
	font-family: 'dunbar-tall', sans-serif;
	font-size: 12px;
	letter-spacing: 1.44px;
	text-transform: uppercase;
	font-weight: 500;
	padding: 6px 16px;
	border-radius: 24px;
	transition: .3s;
	background-color: #fff;
	color: #000;
	border: none;

	&:visited {
		color: #000;
	}

	&:hover {
		background-color: #5F625F;
		color: #FFFFFF;
	}

	&.active {
		background-color: #215732;
		color: #FFFFFF;
	}
}

/*--------------------------------------------------------------
# Articles Archive Page
--------------------------------------------------------------*/

.all-articles {
	background-color: #E9E9E9;
	padding: 48px 0;
}

.all-articles_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;

	@media(max-width: 1080px) {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

.all-articles_header h3 {
	display: flex;
	gap: 16px;

	@media(max-width: 767px) {
		gap: 8px;
	}
}

.all-articles_header h3 span {
	color: #5F625F;
	font-size: 24px;
	letter-spacing: .48px;
	position: relative;
	top: -12px;

	@media(max-width: 767px) {
		font-size: 20px;
		top: -8px;
	}
}

.all-articles_body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;

	@media (max-width: 1023px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

}

.all-articles_footer {
	text-align: center;
	margin-top: 48px;
}

.all-articles_body .articles_link {
	height: 385px;

	@media(max-width: 550px) {
		height: 300px;
		padding: 24px 15px;
	}

	@media(max-width: 415px) {
		height: 230px;
		padding: 10px 12px;
	}
}

.article-archive {
	padding: 48px 0;

	@media(max-width: 767px) {
		padding: 48px 0 0 0;
	}
}

.article-archive .site-container {
	@media(max-width: 767px) {
		padding: 0;
	}
}

.article-archive_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 48px;

	@media(max-width: 767px) {
		padding: 0 16px;
		margin-bottom: 0;
	}
}

.article-archive_header h2 {
	color: #25282A;
}

.article-archive_body {
	display: grid;
	gap: 16px;
	;
	grid-template-columns: 1fr 1fr;

	@media (max-width: 767px) {
		display: flex;
		flex-direction: row;
		flex-shrink: 0;
		flex-wrap: nowrap;
		overflow-x: scroll;
		overflow-y: hidden;
		padding: 40px 0;
		padding-left: 16px;
	}
}

.article-archive_col:nth-child(2) {
	display: flex;
	flex-direction: column;
	gap: 16px;

	@media(max-width: 767px) {
		flex-direction: row;
	}
}

.article-archive_col:nth-child(1) .articles_link {
	height: 619px;

	@media(max-width: 767px) {
		height: 400px;
		width: 400px;
	}

	@media(max-width: 550px) {
		height: 366px;
		width: 366px;
	}

	@media(max-width: 400px) {
		height: 300px;
		width: 300px;
	}
}

.article-archive_col:nth-child(2) .articles_link {
	height: 301px;

	@media(max-width: 767px) {
		height: 400px;
		width: 400px;
	}

	@media(max-width: 550px) {
		height: 366px;
		width: 366px;
	}

	@media(max-width: 400px) {
		height: 300px;
		width: 300px;
	}
}

.article-archive_col:nth-child(1) .articles_link h4 {
	@media(min-width: 768px) {
		font-size: 48px;
		letter-spacing: .96px
	}
}

.article-archive_col:nth-child(1) .articles_link p {
	@media(min-width: 768px) {
		height: auto !important;
		padding-top: 32px;
	}
}

/*--------------------------------------------------------------
# Job Listings Archive Module
--------------------------------------------------------------*/

.apply-section {
	background-color: #E9E9E9;
	padding: 80px 0;

	@media (max-width: 767px) {
		padding: 50px 0;
	}
}

.apply-section .site-container {
	max-width: 1100px;
	margin: 0 auto;
}

.apply-section_row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px;

	@media(max-width: 767px) {
		flex-direction: column;
	}
}

.apply-section_text {
	max-width: 315px;

	@media(max-width: 767px) {
		max-width: 100%;
	}

	h3 {
		font-size: 32px;
		font-family: 'sofia-pro', sans-serif;
		color: #25282A;

		@media(max-width: 550px) {
			font-size: 24px;
		}
	}
}

.position_flex {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 100px;

	@media(max-width: 767px) {
		justify-content: flex-start;
		gap: 32px;
	}
}

.apply-section_buttons {
	margin-top: 12px;
}

.positions {
	display: flex;
	flex-direction: column;
	gap: 32px;
	max-width: 660px;

	@media(max-width: 767px) {
		max-width: 100%;
	}
}

.position {
	display: flex;
	flex-direction: column;
	gap: 32px;

	@media(max-width: 767px) {
		gap: 24px;
	}
}

.position p {
	color: #25282A;
}

.position h6 {
	color: #5F625F;
	font-family: 'dunbar-tall', sans-serif;
	font-size: 16px;
	letter-spacing: 1.92px;
	margin-bottom: 12px;
	font-weight: 600;
	text-transform: uppercase;

	@media(max-width: 767px) {
		font-size: 15px;
		margin-bottom: 8px;
	}
}

.apply-section h5 {
	color: #25282A !important;
}

.notfound-section {
	padding: 80px 0;
	text-align: center;

	@media(max-width: 550px) {
		padding: 48px 0;
	}

	img {
		width: 100%;
		margin-top: 48px;
	}
}