/*
	Theme Name: FieldWrk Theme
	Author: FieldWrk
*/

#tinymce {
	padding: 2em;
}

#tinymce p,
#tinymce li,
#tinymce a {
	color: #000000 !important;
}

/* Login Screen */

.login {
	background: var(--black-1);
}

#login {
	border: 0;
	margin: 0 auto;
	margin-top: 8%;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}

.login h1.admin-email__heading {
	font-size: 1.4em;
}

.login-action-confirm_admin_email #login {
	margin-top: 8%;
}

.login h1 a {
	background-image: url(/wp-content/themes/spfd/images/logo.svg);
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 100%;
	margin: 0 0 2em 0;
	border: 0;
}

#login-message {
	border-radius: 5px 5px 0 0;
}

.login #login_error, .login .message, .login .success {
	background: #ffffff;
	color: #21353C;
	text-align: center;
	border: unset;
	padding: 0;
	font-style: italic;
	margin: 0;
	padding: 2em;
	font-size: 0.7em;
}

.login form {
	background: #ffffff;
	box-shadow: unset;
	border: unset;
	padding-bottom: 2em;
	padding-top: 2em;
	margin: 0;
}

.login label, .login .message p, .login .notice p, .login .success p {
	color: var(--black-1);
	font-weight: 200;
	margin: 0;
}

.login form .input, .login input[type=password], .login input[type=text] {
	font-size: 1em !important;
	padding: 0.5em 1em !important;
	-webkit-appearance: none;
	font-weight: 200;
	width: 100%;
	border: 1px solid #E4E4E4;
	box-shadow: unset;
	border-radius: 0;
	margin-bottom: 1em;
	font-family: 'Arial', sans-serif;
}

.login .user-pass-wrap {
	margin-bottom: 1em;
}

#login form p.submit {
	text-align: center;
}

.wp-core-ui .button.button-large.button-primary, .wp-core-ui .button.button-large {
	padding: 0.8em 1.5em;
	transition: 0.5s all;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	justify-content: space-between;
	font-family: 'Arial', sans-serif;
	letter-spacing: 0.1em;
	background: var(--yellow-stripe);
	color: var(--black-1);
	border: 1px solid var(--yellow-stripe);
    font-size: clamp(18px, 0.8rem, 0.8rem);
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
}

.wp-core-ui .button.button-large.button-primary:hover {
	background: transparent;
	text-decoration: none;
	color: var(--black-1);
	border: 1px solid var(--black-1);
}

.wp-core-ui .button.button-large {
    background: #ffffff;
    color: var(--black-1);
}

.login #backtoblog a, .login #nav a {
	color: var(--black-1);
}

.login #backtoblog a:hover, .login #nav a:hover, .login h1 a:hover {
	color: var(--black-1);
}

.login form .forgetmenot {
	float: none;
}

.login #nav, .login #backtoblog {
	background: #ffffff;
	margin-top: -1px;
}

.login #backtoblog {
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 0;
	border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.login .privacy-policy-page-link {
	display: none;
}

/* Variables */

:root {
	--white-1: #ffffff;
	--white-fade-80: rgba(255, 255, 255, 0.80);
	--white-fade-65: rgba(255, 255, 255, 0.65);
	--white-fade-30: rgba(255, 255, 255, 0.30);
	--white-fade-8: rgba(255, 255, 255, 0.08);
	--black-1: #000000;
	--black-fade-65: rgba(0, 0, 0, 0.65);
	--black-fade-30: rgba(0, 0, 0, 0.30);
	--yellow-stripe: #FFB500;
	--yellow-fill: #FDB515;
	--charcoal: #232323;
	--strone-gray: #E1E7EA;
}

/* Font References */

@font-face {
	font-family: "Special Gothic Condensed One";
  	font-weight: 400;
	font-style: normal;
	font-display: swap;
  	src: url("/wp-content/themes/spfd/library/fonts/SpecialGothicCondensedOne-Regular.ttf") format('truetype');
}

/* Global */
@keyframes slide-in {
	from {
		left: -100%;
	}
	to {
		left: 0%;
	}
}

.fade-out-dark-gray {
	position: relative;
}

.fade-out-dark-gray:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(90deg, #232323 0%, rgba(35, 35, 35, 0.00) 100%);
	height: 100%;
	width: 208px;
	z-index: 2;
}

.fade-out-dark-gray:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(90deg, rgba(35, 35, 35, 0.00) 0%, #232323 100%);
	height: 100%;
	width: 208px;
	z-index: 2;
}

.row-gap-1 {
	row-gap: calc(1em * .25);
}
.row-gap-2 {
	row-gap: calc(1em * .5);
}
.row-gap-3 {
	row-gap: 1em;
}
.row-gap-4 {
	row-gap: calc(1em * 1.5);
}

.row-gap-5 {
	row-gap: calc(1em * 3);
}

.right-0 {
	right: 0;
}
.left-0 {
	left: 0;
}

.animated-yellow-stripe:not(.animated-yellow-stripe-non-banner) {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	animation: slide-in 1.2s cubic-bezier(0.49, -0.01, 0.32, 1.01) 1;
}

.animated-yellow-stripe .yellow-block {
	height: 2em;
	background: var(--yellow-fill);
}

/* Full Width Image */
.full-width-image {
	position: relative;
}
.full-width-image.animate-stripe .animated-yellow-stripe {
	height: auto;
}
.full-width-image.animate-stripe .animated-yellow-stripe.animated-yellow-stripe-non-banner {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: -100%;
	z-index: 2;
}
.full-width-image.animate-stripe:has(+ .animate-stripe-trigger.in) .animated-yellow-stripe-non-banner {
	animation: slide-in 1.2s cubic-bezier(0.49, -0.01, 0.32, 1.01) 1;
	left: 0;
}



* {
    box-sizing: border-box;
}

html {
	font-size: 18px;
	margin: 0;
	padding: 0;
}

html.fixed {
	height: 100%;
	overflow: hidden;
}

body {
	font-size: 1em;
	margin: 0;
	padding: 0;
	font-family: 'Arial', sans-serif;
	color: #000000;
	position: relative;
	background: #ffffff;
}

.container-fluid {
	position: relative;
	z-index: 2;
}

.container {
	width: 90%;
	max-width: 1140px;
} 

.container.full-width {
	width: 80%;
	max-width: 1800px;
}

.container.full-width {
	width: 95%;
	max-width: 95%;
}

.row {
	padding-top: 6em;
	padding-bottom: 6em;
}

.py-small {
	padding-top: 3em;
	padding-bottom: 3em;
}

.pt-small {
	padding-top: 3em;
}

.pb-small {
	padding-bottom: 3em;
}

.row .row {
	padding-top: 0;
	padding-bottom: 0;
}

/* Typography */

h1, .h1 {
	font-family: 'Special Gothic Condensed One', sans-serif;
	font-size: clamp(48px, 3.5em, 3.5em);
	font-style: normal;
	font-weight: 400;
	line-height: 112.5%;
}

h2, .h2 {
	font-family: 'Special Gothic Condensed One', sans-serif;
	font-size: clamp(48px, 2.7em, 2.7em);
}

h3, .h3 {
	font-family: "Special Gothic Condensed One", sans-serif;
	font-size: clamp(36px, 2em, 2em);
	font-style: normal;
	font-weight: 400 !important;
	line-height: 122.22% !important;
}

h4 {
	font-family: 'Arial', sans-serif;
	font-size: clamp(28px, 1.6em, 1.6em);
	font-style: normal;
	font-weight: 400 !important;
	line-height: 128.571% !important;
}

h5, h6 {
	font-family: Arial;
	font-size: clamp(24px, 1.35em, 1.35em);
	font-style: normal;
	font-weight: 400 !important;
	line-height: 133.333% !important;
}

.eyebrow {
	font-family: 'Arial', sans-serif;;
	font-size: clamp(16px, 0.95em, 0.9em);font-style: normal;
	font-weight: 700;
	line-height: 100%; /* 16px */
	letter-spacing: 1.92px;
	text-transform: uppercase;
}

a, a > span {
	transition: 0.5s all;
	font-family: 'Arial', sans-serif;
	font-size: clamp(18px, 1em, 1em);
}

p, p > a:not(.btn-primary):not(.btn-secondary), li, li > a:not(.btn-primary):not(.btn-secondary), p > span, a:not(.btn-primary):not(.btn-secondary) > span, li > span {
	font-family: 'Arial', sans-serif;
	font-size: clamp(18px, 1em, 1em);
	font-style: normal;
	font-weight: 400;
	line-height: 28px;
	letter-spacing: -0.09px;
	color: var(--white-fade-80);
}


a:hover {
	text-decoration: underline;
	color: var(--white-1);
}

p:last-of-type {
	margin-bottom: 0;
}

hr {
	border-top: 1px solid #E7EBED;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	width: 100%;
}

b, strong {
	font-weight: 900;
}

.stat .number, .stat .appended-label {
	font-family: "Special Gothic Condensed One", sans-serif;
	font-size: 4.5em;
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
}

.stat .label {
	font-family: 'Arial';
	font-size: 1em;
	font-style: normal;
	font-weight: 400;
	line-height: 155.556%;
	letter-spacing: -0.09px;
}

.large {
	font-size: 2.2em;
}

.medium {
	font-size: 1.3em;
}

.small {
	font-size: 0.7em;
}

.color-white {
	color: #ffffff;
}

.color-black {
	color: #000000;
}

.small {
	font-size: 0.7em;
}

.btn-primary, .btn-secondary, .nav-btn-secondary a {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 0.7em 1.7em;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none !important;
	font-family: 'Arial', sans-serif;
	font-size: clamp(14px, 0.8rem, 0.8rem);
	font-style: normal;
	font-weight: 700;
	line-height: 125%;
	text-transform: uppercase;
	transition: 0.3s all;
	overflow: hidden;
	width: fit-content;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	text-align: center;
}

.btn-primary span, .btn-secondary span {
	text-decoration: none;
	font-family: 'Arial', sans-serif;
	font-size: clamp(14px, 0.8rem, 0.8rem);
	font-style: normal;
	font-weight: 700;
	line-height: 125%;
}

.btn-primary .flip-in, .btn-primary .flip-out, .btn-secondary .flip-in, .btn-secondary .flip-out, .nav-btn-secondary a .flip-in, .nav-btn-secondary a .flip-out {
	transition: 0.3s all;
	
}

.btn-primary .flip-out, .btn-secondary .flip-out, .nav-btn-secondary a .flip-in, .nav-btn-secondary a .flip-out {
	top: 0;
	position: relative;
}

.btn-primary .flip-in, .btn-secondary .flip-in, .nav-btn-secondary a .flip-in {
	top: 75px;
	position: absolute;
	pointer-events: none;
}

.btn-primary:hover .flip-in, .btn-primary:active .flip-in, .btn-secondary:hover .flip-in, .btn-secondary:active .flip-in {
	top: calc(50% - 9px);
}

.nav-btn-secondary:hover a .flip-in, .nav-btn-secondary:active a .flip-in {
	top: calc(50% - 13px);
}


.btn-primary:hover .flip-out, .btn-primary:active .flip-out, .btn-secondary:hover .flip-out, .btn-secondary:active .flip-out,
.nav-btn-secondary:hover a .flip-out, .nav-btn-secondary:active a .flip-out {
	top: -75px;
}

.btn-nav {
	margin-left: 0.9em;
	height: auto;
	align-self: center;
	display: none;
}

.btn-primary {
	background: var(--yellow-stripe);
	color: var(--black-1);
	border: 1px solid var(--yellow-stripe);
}

.btn-primary:hover, 
.btn-primary:active, 
.btn-primary:not(:disabled):not(.disabled):active, 
.btn-primary:not(:disabled):not(.disabled):active:focus {
	background: var(--white-1);
	border-color: var(--white-1);
	color: var(--black-1);
	text-decoration: none;
	box-shadow: none;
}

/* Use https://codepen.io/sosuke/pen/Pjoqqp to adjust the color of svgs */
.btn-secondary, .nav-btn-secondary a {
	background: none;
	color: var(--yellow-stripe);
	border: solid 1px var(--yellow-stripe);
}

.btn-secondary:hover, .nav-btn-secondary a:hover, .btn-secondary:active, .nav-btn-secondary a:active {
	border-color: var(--white-1);
	color: var(--white-1);
	background: none;
}

.btn-primary:focus, .btn-secondary:focus, .nav-btn-secondary a:focus {
	box-shadow: none;
}


/* Helpers */

.fancybox-bg {
	background: rgba(47,43,45,0.97);
	opacity: 1 !important;
}

.fancybox-content {
	background: transparent;
	width: 100%;
	height: 100%;
	padding: 0;
	color: rgba(255,255,255,0.7);
	overflow: hidden;
}

.fancybox-slide--html .fancybox-close-small {
	padding: 0;
	top: 1em;
	right: 1em;
	height: 44px;
	width: 44px;
	background: #ffffff;
	opacity: 1;
	transition: 0.5s all;
}

.fancybox-slide--html .fancybox-close-small:hover {
	opacity: 0.8;
}

.fancybox-button svg {
	color: #000000;
}

.fancybox-content .container,
.fancybox-content .row {
	height: 100%;
}

.fancybox-content a {
	color: rgba(242,242,242,0.6);
}

.fancybox-content hr {
	border: 2px solid #209EDD;
}

.separator-1 {
	height: 1em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-2 {
	height: 2em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-3 {
	height: 3em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-4 {
	height: 4em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-6 {
	height: 6em;
	display: block;
	clear: both;
	width: 100%;
}

.bg-black {
	background-color: var(--black-1);
}

.bg-black h1, .bg-black h2, .bg-black h3, .bg-black h4 {
	color: var(--white-1);
}

.bg-dark-gray {
	background-color: var(--charcoal);
}

.bg-dark-gray h2, .bg-dark-gray h3, .bg-dark-gray h4 {
	color: var(--white-1);
}

.bg-black .stat .number, .bg-dark-gray .stat .number, .bg-dark-gray .stat .appended-label, .bg-black .stat .appended-label {
	color: var(--yellow-stripe);
}

.bg-black .stat .label, .bg-dark-gray .stat .label {
	color: var(--white-fade-65);
}

.bg-gray {
	background-color: var(--strone-gray);
}

.bg-gray .stat .number, .bg-gray .stat .label, .bg-gray p, .bg-gray li, .bg-gray .stat .appended-label,
.bg-white .stat .number, .bg-white .stat .label, .bg-white p, .bg-white li, .bg-white .stat .appended-label,
.bg-white a:not(.primary-btn):not(.secondary-btn),
.bg-gray a:not(.primary-btn):not(.secondary-btn) {
	color: var(--black-1);
}

.bg-white a:not(.primary-btn):not(.secondary-btn) {
	text-decoration: underline;
}

.bg-white a:not(.primary-btn):not(.secondary-btn):hover {
	text-decoration: none;
}



.bg-image {
	background-size: cover;
	background-position: center;
	width: 100%;
	overflow: hidden;
	position: relative;
	height: 60vh;
}

.bg-image.h-auto {
	height: auto;
	overflow: visible;
}

.bg-image.h-auto .row {
	position: relative;
}

.bg-image.h-full, .h-full {
	height: 100vh;
}

.bg-image.parallax {
	background-attachment: fixed;
}

.bg-image .container, .h-full .container {
	height: 100%;
}

.bg-image .row, .h-full .row {
	height: 100%;
}

.bg-image .bg-image {
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

/* .hero-video {
	height: 100%;
    width: 100%;
    object-fit: cover;
	overflow: hidden;
} */

.bg-video h1, .bg-video h2 {
	color: var(--white-1);
}

/* .hero-video.tall, .hero-video.tall video {
	min-height: 80vh;
} */

.layout-hero {
    position: relative;
    display: flex;
}

.hero-background-container {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
}

.bg-video {
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.bg-video .bg-image {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: 0.5s all 0.5s;
}

.bg-video .bg-image.in,
.bg-image .bg-image.in {
	opacity: 1;
}

/* Interior Banner */ 
.interior-banner .breadcrumb-link {
	transition: none;
	position: relative;
	left: 18px;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	margin-bottom: 20px;
}

.interior-banner .animated-yellow-stripe .yellow-block {
	height: 1em;
}

.interior-banner .eyebrow {
	margin-bottom: 20px;
}

.interior-banner .breadcrumb-link h2 {
	font-size: clamp(14px, 0.9em, 0.9em);
	margin: 0;
}

.interior-banner .breadcrumb-link:before {
	content: "<";
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--white-1);
	position: absolute;
	left: -18px;
}

.interior-banner .inner-copy {
	padding: calc(50px + 2em) 0 50px 0;
}

.interior-banner .inner-copy {
	position: relative;
	left: 5%;
}


.interior-banner .banner-img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

.interior-banner .offset-bottom {
	top: -2em;
}

#header .container {
	z-index: 4;
	position: relative;
}

#header.bg-video {
	min-height: 80vh;
}

.bg-video .container, .bg-video .row:not(.animated-yellow-stripe) {
	height: 100%;
}

.bg-video .yellow-stripe-offset {
	top: -36px;
}

.bg-video .video video {
	width: 100%;
	height: 100%;
 	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.bg-video .video.in {
	opacity: 1;
}

#header .overlay {
	z-index: 2;
}

.bg-video {
	z-index: 1;
}

.bg-video + .row {
	position: relative;
	z-index: 2;
}

.bg-video .overlay {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.35) 100%);
	pointer-events: none;
}

.overlay {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.65) 100%);
	pointer-events: none;
}

/* YouTube Embeds */

.video-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	padding-top: 30px; 
	height: 0;
	overflow: hidden; 
}

.video-container iframe, .video-container object, .video-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
}

/* Images */

img {
	max-width: 100%;
}

/* Google Maps */

#map-section {
	min-height: 80vh;
	height: auto;
}

#map-section .container,
#map-section .row {
	height: 100%;
}

#map-container {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	padding-right: 0;
}

#map {
	height: 100%;
	width: 100%;
}

.gm-style-iw-chr {
	position: absolute;
	width: 100%;
}

.gm-style-iw-ch {
	padding: 0;
}

.gm-style .gm-style-iw-d {
	padding: 1.5em;
	padding-right: 4em;
	background-color: #ffffff;
	color: #212524;
	border-radius: 4px;
	overflow: unset !important;
	line-height: 1.4;
	font-size: 0.8em;
}

.gm-style .gm-style-iw-t {
	bottom: 15px !important;
}

.gm-style-iw-tc {
	display: none;
}

.gm-style .gm-style-iw-t::after {
	border: 1px solid #3A7C5B;
	z-index: 1;
    border-right: 0;
    border-top: 0;
}
  
.gm-style .gm-style-iw-d .btn-text {
	font-size: 0.7em;
}

.gm-style .gm-style-iw-d .btn-text img {
	height: 15px;
	width: 20px;
}

.gm-style .gm-style-iw-d img {
	width: 80px;
	margin-bottom: 1.5em;
	display: block;
}

.gm-style .gm-style-iw-c {
	border-radius: 4px;
	padding: 0;
	box-shadow: unset;
	background: #0E120F;
	padding-top: 0 !important;
	margin-top: -3.2em;
}

.gm-style .gm-style-iw-c button {
	top: 0.5em !important;
	right: 0.5em !important;
	margin: 0 !important;
	height: 15px !important;
	width: 15px !important;
}
 
.gm-ui-hover-effect>span {
	height: 15px !important;
	width: 15px !important;
	background: #212524 !important;
	margin: 0 !important;
}

.gm-style .gm-style-iw-c button:focus {
	outline: unset;
}

.gm-style .gm-style-iw-c button img {
	height: 100% !important;
	width: 100% !important;
	margin: 0 !important;
}

.gm-style .gm-style-iw-tc::after {
	height: 35px;
	width: 40px;
	left: -8px;
	background: #2E6084;
	display: none !important;
}

#map-section .text {
	padding-left: 2em;
}

/* Header */
header.container-fluid {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	height: 90px;
	background: var(--black-1);
	transition: 0.5s background;
	border-bottom: solid 1px var(--charcoal);
}

.logged-in header.container-fluid {
	top: 32px;
}

header .container {
	height: 100%;
}

header .row {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

#logo {
	position: relative;
	z-index: 3;
	transition: 0s all;
	height: 100%;
}

#logo img {
	width: 100%;
	max-width: 200px;
	margin: 0;
	height: auto;
}

/* Header Navigation */
#navigation {
	position: relative;
	z-index: 2;
	height: 100%;
}

#menu-primary-navigation {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	height: 100%;
}

#menu-primary-navigation li {
	list-style-type: none;
	text-transform: none;
	margin: 0;
	display: block;
	font-size: 1em;
	width: auto;
}

#menu-primary-navigation li {
	position: relative;
}

#menu-primary-navigation li.nav-btn-secondary {
	width: auto;
	margin-top: 20px;
}
#menu-primary-navigation li.nav-btn-secondary a {
	width: auto;
}

#menu-primary-navigation li:before {
	display: none;
}

#menu-primary-navigation li:not(.nav-btn-secondary) a {
	color: var(--white-1);
	font-family: 'Arial', sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	transition: 0.5s ease;
	text-decoration: none;
	z-index: 2;
	position: relative;
	padding-left: 0.9em;
	padding-right: 0.9em;
	padding-top: 0.7em;
	padding-bottom: 0.7em;
	justify-content: center;
	height: 100%;
	line-height: 175%;
	letter-spacing: -0.08px;
}

#menu-primary-navigation .menu-item-has-children > a:after {
	content: '';
	background-size: cover;
	background-image: url(/wp-content/themes/spfd/images/arrow-down.svg);
	background-repeat: no-repeat;
	height: 10px;
	width: 14px;
	margin-left: 0.5em;
	display: inline-block;
	transition: 0.5s all;
}

#menu-primary-navigation .menu-item-has-children > a {
	cursor: pointer;
}

#menu-primary-navigation .sub-menu li {
	display: block;
	padding: 0.9em 2em;
    border: none;
	white-space: nowrap;
	width: 100%;
	text-align: left;
	line-height: 1;
	border-top: solid 1px var(--charcoal);
}

#menu-primary-navigation .sub-menu li:first-of-type {
	border-top: 0;
}

#menu-primary-navigation .sub-menu li a {
	padding: 0;
	display: flex;
	align-items: center;
	color: var(--white-1);
	justify-content: flex-start;
	line-height: 150%;
	opacity: 0.5;
}

#menu-primary-navigation .sub-menu a:hover {
	text-decoration: none;
	opacity: 1;
}

#nav-icon {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	justify-content: flex-end;
}

.nav-icon {
  	height: 40px;
	width: 40px;
	background: var(--yellow-stripe);
}

.nav-icon:after, 
.nav-icon:before, 
.nav-icon div {
  	background-color: var(--black-1);
  	content: '';
  	display: block;
  	height: 1px;
	width: calc(100% - 0.8em);
	position: relative;
	left: 0.4em;
  	margin: 7px 0;
  	border-radius: 0px;
  	transition: all .2s ease-in-out;
}

.nav-icon:before {
	top: 8px;
}
.nav-icon div {
	top: 6px;
}
.nav-icon:after {
	top: 4px;
}

.nav-icon.close:before {
  	transform: translateY(6px) rotate(135deg);
	width: 24px;
}

.nav-icon.close:after {
  	transform: translateY(-6px) rotate(-135deg);
	width: 24px;
}

.nav-icon.close div {
  	transform: scale(0);
}

.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover, .nav-icon.close {
	opacity: 1;
}

/* Special Layouts */
#header {
	margin-top: 90px;
	position: relative;
}

.cta-button .btn-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 164px;
	width: 100%;
	transition: 0.5s all;
	background: linear-gradient(90deg,rgba(255, 181, 0, 1) 50%, rgba(255, 181, 0, 0) 50%);
	color: var(--black-1);
	margin: 0;
	position: relative;
}
.cta-button .btn-cta div {
	z-index: 3;
}
.cta-button .btn-cta:hover {
	text-decoration: none;
	transition: 0.5s all;
	
}
.cta-button .btn-cta .grow {
	background: var(--yellow-stripe);
	height: 100%;
	width: 140px;
	position: absolute;
	left: calc(50% - 140px);
	top: 0;
	transition: 0.5s all;
	pointer-events: none;
}
.cta-button .btn-cta:hover .grow {
	width: calc(50% + 140px);
	overflow: hidden;
}
.cta-button .btn-cta .grow:before {
	content: "";
	background: url('images/arrow-large.svg') no-repeat;
	background-size: contain;
	background-position: center center;
	position: absolute;
	right: 0;
	width: 140px;
	height: 100%;
	z-index: 3;
	transition: 0.5s all;
}
.cta-button .btn-cta:hover .grow:before {
	transform: rotate(45deg);
}

.cta-button .title{
	padding: 0 15px;
}

/* Contact Embed */
.contact-embed .form-steps-wrapper {
	background: var(--black-1);
	padding: 1.77em;
	margin-top: 129px;
}

.contact-embed .form-steps-wrapper h2 {
	margin-bottom: 24px;
}

.contact-embed .form-steps-wrapper p,
.contact-embed .form-steps-wrapper a {
	color: var(--white-1);
}

.contact-embed .form-steps-wrapper .steps .step {
	padding-bottom: 12px;
	border-bottom: solid 1px rgba(255, 255, 255, 0.12);
	margin-bottom: 12px;
}

.contact-embed .form-steps-wrapper .steps .step:last-of-type {
	margin-bottom: 24px;
}

.contact-embed .form-steps-wrapper .cta p {
	margin-bottom: 0;
}

/* Projects Archive */
.projects-body .filter-group {
	row-gap: 1em;
}

.projects-wrapper .project {
	height: 434px;
}

.projects-wrapper .project .project-inner {
	background: var(--white-1);
	position: relative;
	height: 100%;
}

.projects-wrapper .project .project-inner .fill-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.projects-wrapper .project .project-inner .img-wrapper {
	overflow: hidden;
	pointer-events: none;
}

.projects-wrapper .project .project-inner img {
	object-fit: cover;
	height: 233px;
	width: 100%;
	transition: 500ms all;
}

.projects-wrapper .project .project-inner:hover img {
	transform: scale(1.1);
}

.projects-wrapper .project .project-inner .title {
	padding: 36px;
	height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.projects-wrapper .project .project-inner .title h3,
.projects-wrapper .project .project-inner .title p {
	color: var(--black-1);
}

.projects-wrapper .project .project-inner .title h3 {
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden;
}

.projects-wrapper .project .project-inner .title .label {
	font-family: Arial;
    font-size: 1.2em;
    font-style: normal;
    font-weight: 400;
    line-height: 136.364%;
    margin-top: 12px;
    margin-bottom: 0px;
    letter-spacing: normal;
}

/* All Contact Info */
.contact-info-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	align-items: stretch;
}
.contact-info-grid .contact-block {
	background: var(--charcoal);
	min-height: 368px;
	padding: 2em;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	position: relative;
}
.contact-info-grid .contact-block .inner-wrap {
	margin-bottom: 16px;
}
.contact-info-grid .contact-block .inner-wrap:last-of-type {
	margin-bottom: 0;
}
.contact-info-grid .contact-block a {
	color: var(--white-fade-65);
}
.contact-info-grid .contact-block .contact-icon {
	position: absolute;
	height: 72px;
	width: 72px;
	top: 0;
	right: 0;
	background: var(--yellow-stripe);
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact-info-grid .contact-block .address-icon:before {
    content: "";
    background: url(/wp-content/themes/spfd/images/pin-icon.svg) no-repeat;
    background-size: 40px;
    background-position: center center;
    height: 40px;
    width: 40px;
}
.contact-info-grid .contact-block .email-icon:before {
    content: "";
    background: url(/wp-content/themes/spfd/images/email-icon.svg) no-repeat;
    background-size: 40px;
    background-position: center center;
    height: 40px;
    width: 40px;
}


/* Single Project */
.single-project .stat .label {
	font-family: 'Arial', sans-serif;
	font-size: clamp(18px, 1.2em, 1.2em);
	font-style: normal;
	font-weight: 400;
	line-height: 136.364%;
	color: var(--white-1);
	margin-top: 30px;
	margin-bottom: 8px;
	letter-spacing: normal;
}

.single-project .why-us .grid-2,
.single-project .why-us .grid-3 {
	padding-left: 0;
	padding-right: 0;
}

.single-project .sidebar-cta {
	background: var(--charcoal);
}

.single-project .sidebar-cta .copy-wrapper {
	padding: 24px;
}

.single-project .sidebar-cta .label {
	font-family: 'Arial', sans-serif;
	font-size: clamp(18px, 1.2em, 1.2em);
	font-style: normal;
	font-weight: 400;
	line-height: 136.364%;
	color: var(--white-1);
	letter-spacing: normal;
	margin-bottom: 8px;
}

.single-project .sidebar-cta p:not(.label) { 
	color: var(--white-fade-65);
}

.single-project .sidebar-cta .btn-primary {
	width: 100%;
	text-align: center;
	border: solid 2px var(--yellow-stripe);
}

.single-project .sidebar-cta .btn-primary:hover {
	border-color: var(--charcoal);
}

.single-project .sidebar-cta .btn-primary:hover span {
	color: var(--charcoal);
}

.single-project .swiper-projects .swiper-slide img,
.single-post .swiper-projects .swiper-slide img {
	object-fit: cover;
}

.single-project .themed-swiper-nav-btn,
.single-post .themed-swiper-nav-btn {
	border-color: var(--black-1);	
}

.single-project .themed-swiper-nav-btn:after,
.single-post .themed-swiper-nav-btn:after {
	filter: none;
	opacity: 1;
}

.single-project .themed-swiper-nav-btn:hover,
.single-post .themed-swiper-nav-btn:hover {
	border-color: var(--yellow-fill);
	filter: brightness(1);
}

.single-project .themed-swiper-nav-btn:hover:after,
.single-post .themed-swiper-nav-btn:hover:after {
	filter: brightness(0) saturate(100%) invert(79%) sepia(49%) saturate(4309%) hue-rotate(2deg) brightness(102%) contrast(108%);
}

.single-project .themed-swiper-scrollbar,
.single-post .themed-swiper-scrollbar {
	background: var(--black-fade-30);
}

.single-project .themed-swiper-scrollbar .swiper-scrollbar-drag,
.single-post .themed-swiper-scrollbar .swiper-scrollbar-drag {
	background: var(--black-1);
}

.single-project .swiper-projects .swiper-slide.swiper-slide-active:after,
.single-post .swiper-projects .swiper-slide.swiper-slide-active:after {
	opacity: 0;
}

.single-project .swiper-projects .swiper-slide:after,
.single-post .swiper-projects .swiper-slide:after {
	background: var(--strone-gray);
}

.single-project .swiper-projects .swiper-slide:hover .project-image,
.single-post .swiper-projects .swiper-slide:hover .project-image {
	transform: unset;
}

.single-project p:has(+ h2, + h3, + h4, + h5, + ul, + ol),
.single-post p:has(+ h2, + h3, + h4, + h5, + ul, + ol),
.text-html p:has(+ h2, + h3, + h4, + h5, + ul, + ol),
.single-project ul:has(+ ol, + ul),
.single-post ul:has(+ ol, + ul),
.text-html ul:has(+ ol, + ul),
.single-project ol:has(+ ul, + ol),
.single-post ol:has(+ ul, + ol)
.text-html ol:has(+ ul, + ol) {
	margin-bottom: 2em;
}

/* Blog Archive */
.page-template-landing-blogs .article {
	height: 500px;
}

.page-template-landing-blogs .article-inner {
	height: 100%;
	overflow: hidden;
	position: relative;
}

.page-template-landing-blogs .article-inner .fill-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-template-landing-blogs .article-inner img {
	height: 175px;
	width: 100%;
	object-fit: cover;
}

.page-template-landing-blogs .article-inner .copy-wrapper {
	background: var(--strone-gray);
	padding: 32px;
	height: -webkit-fill-available;
	height: -moz-fill-available;
	height: fill-available;
}

.page-template-landing-blogs .article-inner .copy-wrapper h4 { 
	color: var(--black-1);
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-template-landing-blogs .article-inner .copy-wrapper p {
	color: var(--black-fade-65);
	display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-template-landing-blogs .article-inner .copy-wrapper .btn-secondary {
	color: var(--black-1);
	border-color: var(--black-1);
}

/* Contact Info */
.phone-block {
	background: var(--charcoal);
	height: 233px;
	padding: 32px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	position: relative;
}
.phone-block .phone-icon {
	position: absolute;
	height: 72px;
	width: 72px;
	top: 0;
	right: 0;
	background: var(--yellow-stripe);
	display: flex;
	justify-content: center;
	align-items: center;
}
.phone-block .phone-icon:before {
	content: "";
	background: url('/wp-content/themes/spfd/images/phone-icon.svg') no-repeat;
	background-size: 40px;
	background-position: center center;
	height: 40px;
	width: 40px;
}
.phone-block .fill-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.phone-block:hover p {
	text-decoration: underline;
}

/* 404 Page*/
.error404 .error404-banner {
	min-height: 70vh;
}
.error404 .bg-image:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.65) 100%);
}
.error404 h1 {
	font-size: clamp(48px, 7em, 7em);
}

/* Cards */
.image-cards .card-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: stretch;
	gap: 1.5em;
}

.image-cards .card {
	padding: 1.75em;
	height: 100%;
	min-height: 365px;
}

.image-cards .card.no-copy-card.icon-card {
	min-height: auto;
}

.image-cards .card.no-copy-card.icon-card h3 {
	margin-bottom: 0;
	margin-top: 0.8em;
}

.image-cards .card.copy-card.icon-card h3 {
	margin-top: 12px;
}

.image-cards .card .card-body {
	padding: 0;
	background: inherit;
	position: relative;
	z-index: 1;
}

.image-cards .card .card-img img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.image-cards .card.no-copy-card.icon-card .card-img img {
	width: 42px;
	height: 42px;
}

.image-cards .card.bg-gray {
	background: var(--strone-gray);
}

.image-cards .card.no-icon-card {
	justify-content: space-between;
}

.image-cards .card.icon-card .card-body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.image-cards .card.icon-card.no-copy-card .card-body {
	justify-content: flex-end;
}

.image-cards .card.copy-card.no-icon-card .card-body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.image-cards .card.bg-gray h3 {
	color: var(--black-1);
}

.image-cards .card.bg-gray p {
	color: var(--black-fade-65);
}

.image-cards .card.bg-dark-gray {
	background: var(--charcoal);
}

.image-cards .card.bg-dark-gray .card-img img {
	filter: brightness(0) saturate(100%) invert(67%) sepia(90%) saturate(498%) hue-rotate(347deg) brightness(102%) contrast(98%);
}

/* Purpose/Vision */
.purpose-vision .bg-image.parallax {
	max-height: 555px;
	background-size: contain;
	background-repeat: no-repeat;
}

/* Image/Text */
.image-text .image-wrapper {
	height: 100%;
	width: 100%;
}

.image-text .image-wrapper img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center center;
}

/* History Slider */
.swiper-history {
	overflow: hidden;
}

.swiper-history .swiper-slide img {
	height: 0;
}

.swiper-history .swiper-slide.swiper-slide-active img {
	height: auto;
}

.swiper-history .copy-wrapper {
	width: 45%;
	margin: 0 auto;
}

.history-nav-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.history-scrollbar {
	width: 80%;
}

.history-nav-wrapper .swiper-button-disabled {
	pointer-events: none;
}

.swiper-history p {
	color: var(--white-1);
}

/* Articles Slider */
.latest-articles .swiper-container-fluid {
	overflow: hidden;
}

.latest-articles .swiper-container-fluid .swiper-container {
	overflow: hidden;
}

.latest-articles .swiper-articles .copy-wrapper {
	background: var(--strone-gray);
	padding: 32px;
}

.latest-articles .swiper-articles .copy-wrapper * {
	color: var(--black-1);
}

.latest-articles .swiper-articles .copy-wrapper h4 {
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden;
}

.latest-articles .swiper-articles .copy-wrapper p {
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden;
}

.latest-articles .swiper-articles .copy-wrapper .btn-secondary {
	border-color: var(--black-1);
	margin-top: 40px;
}

/* Testimonials Slider */
.swiper-testimonials {
	overflow: hidden;
}
.swiper-testimonials .swiper-slide {
	background: var(--black-1);
	min-height: 420px;
	opacity: 0.3;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.swiper-testimonials .swiper-slide h4 {
	color: var(--yellow-stripe);
}
.swiper-testimonials .swiper-slide.swiper-slide-active {
	opacity: 1;
}
.swiper-testimonials .author-title h4 {
	margin-bottom: 0;
	margin-top: 16px;
}

/* Projects Slider */
.swiper-projects,
.swiper-gallery {
	overflow: hidden;
}

.swiper-projects .swiper-slide,
.swiper-gallery .swiper-slide {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.swiper-projects .swiper-slide:after,
.swiper-gallery .swiper-slide:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--black-1);
	opacity: 0.65;
	transition: opacity 500ms ease;
}
.swiper-projects .swiper-slide.swiper-slide-active:after {
	opacity: 0.35;
}

.swiper-gallery .swiper-slide.swiper-slide-active:after {
	opacity: 0;
}

.swiper-projects .swiper-slide .project-name,
.swiper-gallery .swiper-slide .project-name {
	width: 350px;
	height: auto;
	padding: 24px;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background: var(--white-1);
	position: absolute;
	bottom: 0;
	left: 0;
	transition: 0.5s all;
	opacity: 0;
	z-index: 2;
}
.swiper-projects .swiper-slide.swiper-slide-active .project-name,
.swiper-gallery .swiper-slide.swiper-slide-active .project-name {
	opacity: 1;
}
.swiper-projects .swiper-slide .project-name p {
	color: var(--black-1);
	max-width: 200px;
}
.swiper-projects .swiper-slide .fill-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 4;
}
.swiper-projects .swiper-slide .project-image,
.swiper-gallery .swiper-slide .project-image {
	width: 100%;
	height: 100%;
	max-height: 700px;
	object-fit: cover;
	transition: 0.5s all;
}
.swiper-projects .swiper-slide:hover .project-image {
	transform: scale(1.1);
}
.swiper-projects .swiper-slide .centered-text,
.swiper-gallery .swiper-slide .centered-text {
	position: absolute;
	color: var(--white-1);
	pointer-events: none;
	transition: 1s all;
	opacity: 0;
	z-index: 2;
}
.swiper-projects .swiper-slide.swiper-slide-active .centered-text {
	opacity: 1;
}
.projects-scroll-wrapper {
	row-gap: 30px;
}
.themed-swiper-scrollbar {
	height: 3px;
	background: var(--white-fade-30);
}
.themed-swiper-scrollbar .swiper-scrollbar-drag {
	background: var(--white-1);
}
.projects-nav-wrapper {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 8px;
}
.themed-swiper-nav-btn {
	height: 64px;
	width: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 2px var(--yellow-stripe);
	position: relative;
	cursor: pointer;
	transition: 0.5s all;
}
.themed-swiper-nav-btn:hover {
	filter: brightness(.75);
}
.themed-swiper-nav-btn:after {
	content: "";
	background: url('images/arrow-large.svg') no-repeat;
	background-size: contain;
	width: 54px;
	height: 54px;
	position: absolute;
	filter: brightness(0) saturate(100%) invert(75%) sepia(69%) saturate(2582%) hue-rotate(359deg) brightness(101%) contrast(105%);
	transition: 0.5s all;
}

.themed-swiper-nav-btn:hover:after {
	filter: brightness(0) saturate(100%) invert(86%) sepia(24%) saturate(6298%) hue-rotate(343deg) brightness(103%) contrast(107%);
}
.themed-swiper-button-prev:after {
	transform: rotate(-135deg);
}
.themed-swiper-button-next:after {
	transform: rotate(45deg);
}

/* Reviews */
#sb-reviews-container-1 {
	background: var(--white);
	padding: 1.66em;
}
[id^=sb-reviews-container-] .sb-btn[data-full-width=true] {
	display: flex;
	position: relative;
	flex-direction: column !important;
	align-items: center;
	justify-content: space-between;
	padding: 0.7em 1.7em !important;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none !important;
	font-family: 'Arial', sans-serif;
	font-size: clamp(14px, 0.8rem, 0.8rem) !important;
	font-style: normal;
	font-weight: 700 !important;
	line-height: 125% !important;
	text-transform: uppercase;
	transition: 0.3s all;
	overflow: hidden;
	width: fit-content;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	background: none !important;
	box-shadow: none;
	border: solid 2px var(--black-1);
	margin: 0 auto !important;
}

[id^=sb-reviews-container-] .sb-btn[data-full-width=true]:hover {
	background: none !important;
	color: var(--black-1) !important;
}
.sb-item-text, .sb-item-author-date {
	font-family: 'Arial', sans-serif;
}
.sb-item-author-ctn {
	align-items: center !important;
}
.sb-item-author-name  {
	font-family: 'Arial', sans-serif;
	font-size: 1.2em !important;
	font-style: normal;
	font-weight: 400 !important;
	line-height: 136.364% !important;
}
.sb-item-rating-ctn {
	margin: 12px 0;
}
[data-icon-size=small] .sb-item-rating-icon svg {
	width: 25px;
    height: 25px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    box-sizing: border-box;
}
#sb-reviews-container-1 [data-post-style="regular"] .sb-post-item-wrap {
	border-bottom: solid 2px var(--black-fade-30) !important;
}
.sb-post-item-wrap {
	padding: 40px 0 !important;
}
.sb-post-item-wrap:first-of-type {
	padding-top: 0 !important;
}
.sb-more {
	color: var(--black-1) !important;
}

/* Parallax Image With Label */
.headline-label {
	height: 160px;
	width: 160px;
	box-sizing: border-box;
	padding: 18px;
	position: absolute;
	top: 0;
	right: 0;
	background: var(--yellow-fill);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
}

.headline-label img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Stats Counter */
@keyframes line-grow {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

.animated-line {
	height: 2px;
	background: var(--white-fade-30);
	width: 0;
}

.in.animated-line-0 {
	animation: line-grow 500ms ease-in 1 forwards;
}
.in.animated-line-1 {
	animation: line-grow 500ms ease-in 500ms 1 forwards;
}
.in.animated-line-2 {
	animation: line-grow 500ms ease-in 1s 1 forwards;
}
.in.animated-line-3 {
	animation: line-grow 500ms ease-in 1.5s 1 forwards;
}
.in.animated-line-4 {
	animation: line-grow 500ms ease-in 2s 1 forwards;
}
.in.animated-line-5 {
	animation: line-grow 500ms ease-in 2.5s 1 forwards;
}
.in.animated-line-6 {
	animation: line-grow 500ms ease-in 3s 1 forwards;
}
.in.animated-line-7 {
	animation: line-grow 500ms ease-in 3.5s 1 forwards;
}
.in.animated-line-8 {
	animation: line-grow 500ms ease-in 4s 1 forwards;
}

/* Why Us */
.why-us .grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 30px;
	row-gap: 56px;
	width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}

.why-us .grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 30px;
	row-gap: 56px;
	width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}

.why-us .animated-line {
	background: var(--yellow-stripe);
}
.why-us.bg-black .label {
	font-family: Arial;
	font-size: clamp(18px, 1.2em, 1.2em);
	font-style: normal;
	font-weight: 400;
	line-height: 136.364%;
	color: var(--white-1);
	margin-top: 30px;
	margin-bottom: 8px;
	letter-spacing: normal;
}

/* Stacked Cards */
.stacked-card {
	display: flex;
	flex-wrap: nowrap;
	position: sticky;
	top: 120px;
	padding-top: 15px;
	padding-bottom: 15px;
}

.stacked-card .copy-wrapper {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: auto;
	padding: 32px;
	background: var(--charcoal);
	box-sizing: border-box;
	flex-grow: 1;
	flex-shrink: 1;
	gap: 16px;
}

.bg-dark-gray .stacked-card .copy-wrapper {
	background: var(--black-1);
}

.stacked-card .copy-wrapper h4 {
	color: var(--white-1);
}

.stacked-card .image-wrapper {
	width: 542px;
	height: 100%;
	flex-shrink: 0;
}

.stacked-card .image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.stacked-card.yellow-bg .copy-wrapper {
	background: var(--yellow-stripe);
}

.stacked-card.yellow-bg .copy-wrapper h4 {
	color: var(--black-1);
}

.stacked-card.yellow-bg .copy-wrapper p {
	color: var(--black-fade-65);
}

.stacked-card:not(.yellow-bg) .copy-wrapper .btn-secondary {
	border: solid 2px var(--yellow-stripe);
}
.stacked-card:not(.yellow-bg) .copy-wrapper .btn-secondary:hover {
	border: solid 2px var(--white-1);
}
.stacked-card.yellow-bg .copy-wrapper .btn-secondary {
	color: var(--black-1);
	border: solid 2px var(--black-1);
}


/* Cards */

.card {
	justify-content: center;
	border: 0;
	overflow: hidden;
	border-radius: 0;
	background: transparent;
}

/* Swiper */

button[aria-label="1 of 1"] {
	display: none !important;
}

.swiper-slide {
	 height: auto !important;
}

.tagline-swiper,
.logos-carousel,
.testimonials-content-swiper,
.testimonials-image-swiper,
.gallery-swiper {
	position: relative;
	overflow: hidden;
}

.tagline-swiper .swiper-wrapper,
.logos-swiper .swiper-wrapper,
.gallery-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.logos-swiper .swiper-wrapper {
	align-items: center;
}

.logos-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 2em;
	padding-right: 2em;
	max-width: 300px;
}

.logos-swiper .swiper-slide a {
	height: 100px;
    width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logos-swiper .swiper-slide img {
	height: 100px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
}

.tagline-swiper .swiper-slide {
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	width: auto;
	padding-left: 4em;
	padding-right: 4em;
}

.swiper-arrows {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}

.swiper-pagination + .swiper-arrows {
	margin-top: 1.5em;
}

.swiper-button-next, .swiper-button-prev {
	position: relative;
	top: unset;
	height: 94px;
	width: 96px;
	color: unset;
	margin: 0;
	background-size: contain;
	background-position: center;
	background-color: transparent;
	background-repeat: no-repeat;
	left: unset;
	right: unset;
	transition: 0.5s background-image, 0.5s opacity
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
	background-color: transparent;
	opacity: 0.8;
}

.swiper-button-next:after, .swiper-button-prev:after {
	display: none;
}

.swiper-button-next {
	background-image: url(/wp-content/themes/spfd/images/icon-arrow-left.svg);
	transform: rotate(180deg);
}

.swiper-button-next.swiper-button-disabled {
	background-image: url(/wp-content/themes/spfd/images/icon-arrow-left-disabled.svg);
}

.swiper-button-prev {
	background-image: url(/wp-content/themes/spfd/images/icon-arrow-left.svg);
}

.swiper-button-prev.swiper-button-disabled {
	background-image: url(/wp-content/themes/spfd/images/icon-arrow-left-disabled.svg);
}

.swiper-pagination {
	position: relative;
	opacity: 1;
	bottom: unset;
	margin-top: 2em;
	height: 6px !important;
}

.swiper-horizontal>.swiper-pagination-progressbar {
	background: #F4F1EE;
	height: 8px;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: #209EDD;
}

/* Filter */

.filter {
	width: 100%;
	position: relative;
	cursor: pointer;
	line-height: 1;
}

.filter .active {
	padding: 0.8em 1.7em;
	background-color: var(--white-1);
	background-image: url(/wp-content/themes/spfd/images/arrow-down-black.svg);
	background-size: 16px;
	background-position: calc(100% - .85em) center;
	background-repeat: no-repeat;
	padding-right: 2.5em;
	color: var(--black-1);
	width: 100%;
	text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
	font-family: 'Arial', sans-serif;
	font-size: 1em;
	font-style: normal;
	font-weight: 700;
	line-height: 125%;
	text-transform: uppercase;
}

.filter .dropdown {
	position: absolute;
	background: #ffffff;
	min-width: 350px;
	z-index: 998;
	border: 0;
	transform: translateY(-6px);
	transition: 300ms transform, 300ms opacity;
	opacity: 0;
	pointer-events: none;
}

.filter:has(> div.show) .active {
	min-width: 350px;
}

#markets .dropdown {
	width: 400px;
}

.filter-wrapper {
	/* min-width: 350px; */
}

.filter .dropdown {
	width: 100%;
}

.filter .dropdown.show {
	transform: translateY(0);
	pointer-events: auto;
	opacity: 1;
	display: block !important;
}

.filter .dropdown .option {
	padding: 0.8em 1.7em;
	transition: 0.5s all;
	border: 2px solid rgba(30,30,30,0.08);
	color: var(--black-fade-65);
	margin-top: -2px;
	font-family: 'Arial', sans-serif;
	font-size: 0.8em;
	font-style: normal;
	font-weight: 700;
	line-height: 125%;
	text-transform: uppercase;
}

.filter .dropdown .option:hover {
	background: rgba(30,30,30,0.08);
	color: var(--black-1);
}

.filter .clear-filter {
	display: none;
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	z-index: 2;
	font-size: 1.4em;
	line-height: 1;
	color: var(--black-1);
	cursor: pointer;
}

.filter .clear-filter:before {
	content: "";
	width: 28px;
	height: 28px;
	background: url('/wp-content/themes/spfd/images/plus-icon.svg') no-repeat;
	background-size: contain;
	background-position: center center;
	transform: rotate(45deg);
	filter: brightness(0) saturate(100%);
	display: block;
}

.filter.has-selection .active {
	background-image: none;
}

.filter.has-selection .clear-filter {
	display: block;
}

.checkbox {
	display: flex;
	align-items: center;
	margin-top: 1em;
	margin-bottom: 1em;
	font-size: 1.1em;
	cursor: pointer;
}

.checkbox span {
	border: 1px solid #DDE2E5;
	height: 30px;
	width: 30px;
	display: inline-flex;
	margin-right: 0.5em;
	align-items: center;
	justify-content: center;
	position: relative;
	border-radius: 4px;
	background: #ffffff;
}

.checkbox.checked span:before {
	content: "";
	background-image: url(/wp-content/themes/spfd/images/ICON_NAME_HERE.svg);
	transform: rotate(45deg);
	background-size: cover;
	height: 24px;
	width: 25px;
	position: absolute;
}

/* Isotope */

.hidden-item {
	display: none;
}

.grid-item {
	margin-bottom: 30px;
}

#load-more {
	margin-top: 42px;
}

.grid-item:last-of-type {
	margin-bottom: 0;
}

/* Table */

table {
	width: 100%;
	font-size: 1em;
	line-height: 1;
}

thead {
	background: #F4F4F4;
}

th {
	padding: 1em;
}

th:last-of-type {
	padding-right: 4em;
}

td {
	border: 0;
	padding: 1em;
}

/* Accordion */

.accordion {
	padding: 0;
	margin: 0;
	border: solid 1px var(--charcoal);
}

.accordion li {
	list-style-type: none;
	margin: 0;
	padding: 0  0 0 1.5em;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	display: block;
	cursor: default;
	transition: background 500ms ease;
}

.accordion li:not(.open):hover {
	background: rgba(255,255,255,0.1);
}

.accordion li:not(.open) {
	cursor: pointer;
}

.accordion li:last-child {
	margin-bottom: 0;
}

.accordion h4 {
	font-family: Arial;
	font-size: clamp(22px, 1.25em, 1.25em);
	font-style: normal;
	font-weight: 400;
	line-height: 136.364%;
	
}

.accordion li:not(.open):hover h3 {
	opacity: 0.6;
}

.accordion li.open {
	background: rgba(255, 255, 255, 0.03);
}

.accordion li .copy {
	width: 90%;
	border-right: solid 1px var(--charcoal);
	padding: 1.5em 1em 1.5em 0;
}

.accordion h4 span {
	display: block;
}

.accordion .answer {
	display: none;
	margin-top: 0;
	padding-left: 0;
	margin-bottom: 0;
	padding-top: 1em;
}

.accordion li .icon {
	background-image: url(/wp-content/themes/spfd/images/plus-icon.svg);
	background-repeat: no-repeat;
	background-size: 48px 48px;
	background-position: center center;
	height: 48px;
	width: 10%;
	position: relative;
	display: block;
	transition: 0.5s all;
	cursor: pointer;
}

.accordion li.open .icon {
	transform: rotate(-135deg);
}

/* Lists */

ul, ol {
	padding: 0;
	margin-left: 15px;
}

ul li,
ol li {
	width: 100%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

/* ol li::marker {
	line-height: normal;
	letter-spacing: normal;
	font-family: 'Arial', sans-serif;
	font-weight: 600;
	font-size: 18px;
} */

ol {
	list-style-type: none;
	counter-reset: item;
}

ol li {
	counter-increment: item;
	position: relative;
	padding-left: 5px;
}

ol li:before {
	content: counter(item) ".";
	width: auto;
	display: inline-block;
	position: absolute;
	left: -15px;
	font-family: 'Arial', sans-serif;
	font-size: clamp(18px, 1em, 1em);
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: -0.09px;
}

ul.two-col {
	display: flex;
	flex-wrap: wrap;
}

ul.two-col li {
	width: 50%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

/* Gravity Forms */
.gform_heading {
	display: none !important;
}

#gform_1 input, #gform_1 textarea, #gform_1 select {
	color: var(--white-1) !important;
	background-color: var(--white-fade-8) !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 28px  16px !important;
	font-family: 'Arial', sans-serif !important;
	font-size: 1em !important ;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 155.556% !important;
	letter-spacing: -0.09px !important;
}

#gform_confirmation_message_1 {
	color: var(--white-1) !important;
	font-family: 'Arial', sans-serif !important;
	font-size: 1em !important ;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 155.556% !important;
	letter-spacing: -0.09px !important;
}

#gform_1 input:focus, #gform_1 textarea:focus, #gform_1 select:focus {
	outline-color: var(--white)0 !important;
}

#gform_1 input::placeholder {
	opacity: 0.5;
}

#gform_1 select {
	padding: 9px  16px !important;
	height: 56px;
	background-image: url('/wp-content/themes/spfd/images/arrow-down.svg') !important;
	display: flex !important;
	align-items: center !important;

}

/* Windows Chrome renders the dropdown popup with OS defaults; force readable option colors */
#gform_1 select option {
	color: var(--white) !important;
	background-color: var(--charcoal) !important;
}

#gform_1 input[type="file"] {
	padding: 9px  16px !important;
	height: 56px;
}

#gform_1 input::placeholder {
	color: var(--white-1) !important;
	font-family: 'Arial', sans-serif !important;
	font-size: 1em !important ;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 155. 556% !important;
	letter-spacing: -0.09px !important;
}

#gform_1 .gform_fileupload_rules {
	color: var(--white-1) !important;
	font-family: 'Arial', sans-serif !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 155. 556% !important;
	letter-spacing: -0.09px !important;
}

#gform_1 label, #gform_1 .gfield_required, #gform_1 .gform-field-label__text {
	color: var(--white-1) !important;
	font-family: 'Arial', sans-serif !important;
	font-size: 1em !important ;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 155. 556% !important;
	letter-spacing: -0.09px !important;
}

#gform_1 input[type="checkbox"] {
	border-radius: 50% !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
}

#gform_1 input[type="checkbox"]:before {
	color: var(--white) !important;
}

#gform_1 input[type="checkbox"]:focus {
	outline: 0 !important;
	border: solid 2px var(--white) !important;
}

#gform_submit_button_1.btn-primary {
	display: flex !important;
	position: relative !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.7em 1.7em !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	font-family: 'Arial', sans-serif !important;
	font-size: clamp(14px, 0.8rem, 0.8rem) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 125% !important;
	text-transform: uppercase !important;
	transition: 0.3s all !important;
	overflow: hidden !important;
	width: fit-content !important;
	width: -moz-fit-content !important;
	width: -webkit-fit-content !important;
	text-align: center !important;
	background: var(--yellow-stripe) !important;
    color: var(--black-1) !important;
    border: 1px solid var(--yellow-stripe) !important;
}

.gform_validation_errors a,
.gform_validation_errors li,
.gform_validation_errors h2 {
	color: var(--white-1) !important;
}

.gform_validation_errors a {
	text-decoration: none !important;
}

.gform_validation_errors a:hover {
	text-decoration: underline !important;
}

.gform_validation_errors {
	border-color: var(--white-1) !important;
	background-color: none !important;
	background: none !important;
}

.gform_validation_errors .gform-icon {
	border-color: var(--white-1) !important;
}

.gform_validation_errors .gform-icon:before {
	color: var(--white-1) !important;
}

.gform_validation_errors ol li:before {
	display: none !important;
}

.gfield_validation_message {
	color: var(--white-1) !important;
	font-weight: bold !important;
}

#gform_1 label.invalid {
	position: relative;
	bottom: -10px;
}



/* Footer */

footer {
	color: var(--white-1);
	background: var(--black-1);
	position: relative;;
	min-height: 583px;
	overflow: hidden;
}

footer .row {
	padding-top: 3em;
	padding-bottom: 3em;
}

footer a {
	color: var(--white-1);
}

footer .list-label {
	margin-bottom: 8px;
	color: var(--white-1);
}

footer .container-fluid {
	min-height: inherit;
}

footer .locations {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

footer .locations a, footer .locations span {
	color: var(--white-fade-80);
}

footer .locations a:hover, footer .locations a:hover span {
	color: var(--white-1);
}

footer .logo img {
	width: 100%;
}

footer .icon {
	position: relative;
	top: 6px;
}

.footer-logo {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	object-fit: cover;
}

footer .social-wrapper {
	margin-bottom: 32px;
}

footer .social-wrapper > div {
	margin-left: 12px;
}
footer .social-wrapper > div:first-child {
	margin-left: 0;
}

footer .social {
	height: 24px;
	width: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

footer .social:hover {
	text-decoration: none;
	opacity: 0.5;
}

footer .social img {
	height: 24px;
	width: 24px;
}

footer a {
	text-decoration: none;
	font-weight: 500;
}

footer a:hover {
	text-decoration: underline;
}

footer ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

footer li {
	list-style-type: none;
	margin: 0;
    position: relative;
    margin-bottom: 12px;
    margin-top: 0;
}

footer li a {
	color: var(--white-fade-80);
}

footer li:last-child a {
	margin-bottom: 0;
}

footer li:hover a {
	color: #F5F6F4;
}

#menu-footer-secondary-navigation {
	flex-direction: row;
	justify-content: center;
}

#menu-footer-secondary-navigation li {
	width: auto;
	margin-right: 0.5em;
	margin-left: 0.5em;
	margin-bottom: 0;
}

#menu-footer-secondary-navigation li a {
	font-size: 0.8em;
	font-weight: normal;
	color: rgba(255,255,255,0.7);
}

#menu-footer-secondary-navigation li a:hover {
	color: rgba(255,255,255,1);
	text-decoration: none;
}

footer .fw img {
	height: 48px;
	transition: 0.5s all;
	margin-bottom: 12px;
}

footer .fw:hover img {
	opacity: 0.5;
}

footer .static-yellow-stripe {
	width: 100%;
	position: absolute;
	bottom: 0;
	z-index: 2;
}

footer .static-yellow-stripe .yellow-block {
	height: 2em;
	background: var(--yellow-fill);
}

/* Animations */

.swipe-up,
.swipe-down,
.reveal-down,
.grow-up,
.grow-down {
	overflow: hidden;
}

.swipe-up span {
	transform: translateY(100%);
	transition: 1s transform cubic-bezier(0.190, 1.000, 0.220, 1.000);
	display: block;
}

.swipe-up.in span {
	transform: translateY(0);
}

.swipe-down span {
	transform: translateY(-100%);
	transition: 1s transform cubic-bezier(0.190, 1.000, 0.220, 1.000);
	display: block;
}

.swipe-down.in span {
	transform: translateY(0);
}

.reveal-down > div {
	clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
	transition: 1s clip-path;
	display: block;
}

.reveal-down.in > div {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.grow-up > div,
.grow-down > div {
	transform: scaleY(0);
	transition: 1s transform cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.grow-up.in > div,
.grow-down.in > div {
	transform: scaleY(1);
}

.grow-down > div {
	transform-origin: top;
}

.grow-up > div {
	transform-origin: bottom;
}

.fade-up {
	transform: translateY(100%);
	transition: 0.8s all ease-out;
}

.fade-up.in {
	transform: translateY(0%);
}

.fade-in {
	opacity: 0;
	top: 100px;
	transition: 0.6s opacity ease-in-out 0.2s, 0.6s top ease-in-out 0.2s;
	position: relative;
	transition-delay: calc(var(--i) * 0.1s + 0.2s);
}

.fade-in.in {
	opacity: 1; 
	top: 0;
}

@media only screen and (min-width: 768px) {
	.latest-articles .swiper-container-fluid {
		padding-left: max(calc(5vw + 30px), calc((100vw - 1164px) / 2 + 15px));
	}
}

@media only screen and (min-width: 992px) {
	.btn-nav {
		display: flex;
	}
	#menu-primary-navigation .menu-item-has-children:hover > a:after {
		transform: rotate(180deg);
	}

	#menu-primary-navigation .sub-menu {
		position: absolute;
		opacity: 0;
		pointer-events: none;
		transition: 0.5s opacity;
		z-index: 1;
		padding-left: 0;
		padding-top: 1em;
		padding-bottom: 0;
		display: flex;
		flex-wrap: wrap;
		width: auto;
		left: 0;
		background: var(--black-1);
		overflow: hidden;
		margin: 0;
	}

	#menu-primary-navigation .menu-item-has-children:hover .sub-menu {
		opacity: 1;
		pointer-events: auto;
	}
}

@media screen and (min-width: 1600px) {
	.interior-banner .copy-wrapper {
		justify-content: center;
	}
	.interior-banner .inner-copy {
		position: relative;
		left: 0;
	}
}

@media only screen and (min-width: 2000px) {
	/* Global */
	
	html {
		font-size: 24px;
	}

	.d-xxl-none {
		display: none !important;
	}

	.d-xxl-block {
		display: block !important;
	}
}



@media only screen and (max-width: 1700px) {
	
}


@media only screen and (max-width: 1600px) {

}

@media only screen and (max-width: 1500px) {
	
}

@media only screen and (max-width: 1440px) {
	

}

@media only screen and (max-width: 1300px) {
	/* Global */

	.container.full-width {
	    width: 100%;
	    max-width: 100%;
	}

	.container {
		max-width: 90%;
		width: 90%;
	}

	/* Interior Banner */
	.interior-banner .inner-copy {
		left: -15px;
	}

	/* Typography */


	/* Header */

	/* Header Navigation */


	/* Helpers */

}

@media only screen and (max-width: 1200px) {
	/* Global */

	html {
		font-size: 16px;
	}

	/* Typography */


	/* Header */


	/* Header Navigation */
	.btn-primary, .btn-secondary, .nav-btn-secondary a {
		padding: 0.65em 2em;
		font-size: 0.9em;
	}

	.contact-embed .form-steps-wrapper {
		margin-top: 122px;
	}

	.cta-button .btn-cta .grow {
		left: calc(60% - 140px);
	}

	.cta-button .btn-cta:hover .grow {
		width: calc(40% + 140px);
	}

	
}

@media only screen and (max-width: 1024px) {
	/* Global */


	/* Typography */


	/* Header Navigation */


	/* Helpers */

	/* Cards */
	.image-cards .card-grid-3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.bg-image.parallax {
		background-attachment: unset;
	}
	.purpose-vision .bg-image.parallax {
		height: auto;
		width: 100%;
		aspect-ratio: 2/1;
	}

	/* Special Layouts */


	/* Isotope */
}

@media only screen and (min-width: 1200px) and (max-height: 750px) {
	/* Header Navigation */


	/* Special Layouts */
	
}

@media only screen and (max-width: 991px) {
	/* Global */
	#logo img {
		max-width: 154px;
	}

	.row {
		padding-top: 4em;
		padding-bottom: 4em;
	}
	
	.py-small {
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.pt-small {
		padding-top: 2em;
	}

	.pb-small {
		padding-bottom: 2em;
	}

	/* Typography */

	/* Header */

	header.container-fluid {
		height: 70px;
	}

	.interior-banner .offset-bottom {
		top: -1em;
	}
	.interior-banner .inner-copy {
		max-width: 90%;
		margin: 0 auto;
		padding: calc(50px + 1em) 0px 50px 0px;
		left: 0;
	}

	/* Header Navigation */

	.nav-icon.close:after {
		
	}

	#navigation {
		margin: inherit;
	}

	.menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		background: var(--black-1);
	    height: calc(100vh - 70px);
	    width: 100%;
	    left: 0;
	    position: fixed;
	    top: calc(-100vh - 70px);
	    display: flex;
	    align-items: flex-start;
	    justify-content: center;
	    overflow-y: scroll;
	}

	.logged-in .menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		height: calc(100vh - 70px - 32px);
	}

	.menu-primary-navigation-container.visible {
		top: 69px;
	}

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(69px + 32px);
	}

	#menu-primary-navigation {
		flex-direction: column;
		align-items: flex-start;
		width: 80%;
		margin: 0 auto;
		padding: 0;
		padding-top: 1.5em;
		gap: 10px;
	}
	#menu-primary-navigation li, #menu-primary-navigation .sub-menu li {
		display: block;
		margin-right: 0;
		margin-left: 0;
		text-align: left;
		width: 100%;
		padding: 0 0.5em;
	}

	#menu-primary-navigation li:not(.nav-btn-secondary) a {
		font-size: 1.5em;
		padding: 0;
		height: auto;
	}

	#menu-primary-navigation > li:not(.nav-btn-secondary):after {
		content: "";
		position: absolute;
		top: 66px;
		right: 0;
		width: calc(100% - 8px);
		height: 1px;
		background: var(--white-fade-30);
	}
	#menu-primary-navigation > li.menu-item-has-children.open:after {
		background: var(--white-1);
	}

	#menu-primary-navigation > li:not(.nav-btn-secondary) > a {
		display: block;
		width: 100%;
		padding: 10px 0;
	}

	#menu-primary-navigation > li.menu-item-has-children > a {
		width: calc(100% - 50px);
	}

	#menu-primary-navigation > li.menu-item-has-children.open  > a:after {
		transform: rotate(180deg);
	}

	#menu-primary-navigation > li.menu-item-has-children > a:after {
		position: absolute;
		top: calc(50% - 5px);
		right: -50px;
		pointer-events: none;
	}

	#menu-primary-navigation .sub-menu {
		display: none;
		position: relative;
		background: transparent;
		padding-top: 0;
		padding-bottom: 0;
		border: 0;
		margin: 20px 0 16px 0;
	}

	#menu-primary-navigation .sub-menu li {
		padding: 0;
		margin: 0;
		border: 0;
		margin-bottom: 7px;
	}

	#menu-primary-navigation .sub-menu li > a:after {
		content: '';
		background-size: cover;
		background-image: url(/wp-content/themes/spfd/images/arrow-down.svg);
		background-repeat: no-repeat;
		height: 10px;
		width: 14px;
		margin-left: 0.5em;
		display: inline-block;
		transform: rotate(-90deg);
		opacity: 0.5;
	}

	#menu-primary-navigation .sub-menu li:last-of-type {
		margin-bottom: 0;
	}

	#menu-primary-navigation .sub-menu li a { 
		font-size: clamp(18px, 1.1em, 1.1em);
		line-height: 155.556%;
		display: inline-block;
		opacity: 1;
	}

	#menu-primary-navigation .sub-menu a:after {
		display: none;
	}

	#menu-primary-navigation .menu-item-has-children > a:after {
		height: 10px;
		width: 14px;
	}

	#menu-primary-navigation .sub-menu a:before {
		display: none;
	}

	/* Special Layouts */

	.contact-embed .form-steps-wrapper {
		margin-top: 2em;
	}

	.contact-embed .form-steps-wrapper .steps .step:last-of-type {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.form-steps-wrapper .cta {
		display: none;
	}

	/* Video Banner */
	.bg-video .yellow-stripe-offset {
		top: -16px;
	}

	/* Why Us */
	.why-us .animated-line {
		margin-top: 30px;
	}
	.why-us.bg-black .label {
		margin-top: 16px;
	}

	/* CTA Button */
	.cta-button .btn-cta .grow {
		left: unset;
		right: 0;
	}

	.cta-button .btn-cta .grow:before {
		right: 10px !important;
	}

	.cta-button .btn-cta:hover .grow {
		right: 10px !important; 
		width: 140px !important;
	}

	/* Stacked Cards */
	.stacked-card { 
		position: relative;
		top: 0;
	}

	/* Logo Carousel*/
	.logos-carousel .row > .position-absolute {
		position: relative !important; 
	}

	/* Stacked Cards */
	.stacked-card {
		flex-direction: column-reverse;
	}

	.stacked-card .image-wrapper {
		width: 100%;
		height: 350px;
	}
	.stacked-card .copy-wrapper {
		min-height: 300px;
	}
	.stacked-card .image-wrapper img {
		object-fit: cover;
	}

	/* CTA Button */
	.cta-button {
		overflow: hidden;
	}
	.cta-button .btn-cta {
		background: var(--yellow-stripe);
	}
	.cta-button .btn-cta .grow {
		left: calc(100% - 140px);
	}
	.cta-button .btn-cta .grow:before {
		transform: rotate(45deg);
	}
	#header {
		margin-top: 70px;
	}

	/* All Contact Info */
	.contact-info-grid {
		grid-template-columns: 1fr;
	}
	.contact-info-grid .contact-block {
		height: auto;
		min-height: auto;
	}

	/* Gravity Forms */

	/* Footer */
	footer .static-yellow-stripe .yellow-block, .animated-yellow-stripe .yellow-block {
		height: 1em;
	}

	/* Projects Slider */
	.swiper-projects .swiper-slide {
		min-height: 400px;
	}
	.swiper-projects .swiper-slide .project-image {
		object-fit: cover;
	}

	/* History Slider */
	.swiper-history .copy-wrapper {
		width: 80%;
	}

	/* Counter Stats */
	.stats .stat {
		margin-top: 20px;
	}

	/* Why Us */
	.why-us .grid-3 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 30px;
		row-gap: 30px;
	}

	.cta-button .btn-cta .grow:before {
		right: 120px;
	}



}

@media only screen and (max-width: 782px) {
	/* Header */

	.logged-in header #menu {
		top: 46px;
	}

	/* Header Navigation */

	.logged-in .menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		height: calc(100vh - 70px - 46px);
	}

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(69px + 46px);
	}

	/* Special Layouts */

	.logged-in #header {
		margin-top: 46px;
	}
}

@media only screen and (max-width: 767px) {
	/* Global */

	#wpadminbar {
		position: fixed !important;
	}

	.container {
		width: 100%;
		max-width: 100%;
	}

	.row {
		padding-top: 3em;
		padding-bottom: 3em;
	}
	
	.py-small {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}

	.pt-small {
		padding-top: 1.5em;
	}

	.pb-small {
		padding-bottom: 1.5em;
	}

	/* Typography */
	.h1 {
		font-size: clamp(48px, 2em, 2em);
	}


	/* Header */
	/* Interior Banner */ 
	.interior-banner .inner-copy {
		padding: 60px 0px;
	}


	/* Helpers */

	.bg-image {
    	height: 400px;
    }

    .bg-video .video {
    	opacity: 1;
    }

	/* Header Navigation */

	#nav-icon {
		margin-right: 0;
	}

	/* Special Layouts */

	/* Cards */


	/* Tables */

	table {
		display: block;
		overflow: scroll;
	}

	th, td {
		font-size: 0.7em;
	}

	td {
		line-height: 1.2;
	}
	
	th:last-of-type {
		padding-right: 2em;
	}

	td:last-of-type {
		padding-right: 2em;
	}

	/* Lists */

	ul.two-col li {
		width: 100%;
		padding-right: 0;
	}

	.swiper-container-fluid {	
		max-width: 100%;
		margin: 0 auto;
		padding: 0 15px;
	}
	.swiper-container {	
		width: 100%;
		padding: 0 15px;
	}

	.themed-swiper-scrollbar:not(.history-scrollbar) {
		display: none;
	}

	.history-scrollbar {
		width: 60%;
	}

	.swiper-projects .swiper-slide {
		min-height: 450px;
	}

	.swiper-projects .swiper-slide .project-name {
		width: 100%;
	}

	/* Image/Text */
	.image-text .image-wrapper.position-absolute {
		position: relative !important;
	}

	/* Articles Slider */
	.latest-articles .swiper-articles {
		margin-left: 0;
		padding-left: 0;
	}

	/* Cards */
	.image-cards .card-grid-3 {
		grid-template-columns: 1fr;
	}

	.image-cards .card-grid-3 > div {
		padding-left: 15px;
		padding-right: 15px;
	}

	.image-cards .card {
		min-height: 200px;
	}

	/* Why Us */
	.why-us .grid-2,
	.why-us .grid-3 {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 30px;
	}

	/* Single Project */
	.single-project .themed-swiper-nav-btn {
		border-color: var(--black-1);
	}

	.single-project .themed-swiper-nav-btn:after {
		opacity: 1;
	}
	/* Gravity Forms */
	

	/* Footer */

	/* Special Layouts */
	.separator-4.mobile-half {
		height: 2em;
	}

	.cta-button .btn-cta .grow:before {
		right: 45px;
	}

	.filter .dropdown {
		min-width: 296px;
	}

	.filter:has(> div.show) .active {
		min-width: 296px;
	}

	.page-template-landing-blogs .article {
		height: auto;
	}

	.page-template-landing-blogs .article .copy-wrapper h4,
	.page-template-landing-blogs .article .copy-wrapper p {
		-webkit-line-clamp: none;
		overflow: visible;
	}

	.interior-banner .inner-copy {
		max-width: 100%;
	}

	.footer-logo {
		display: none;
	}
}

@media only screen and (max-width: 575px) {
	h1, .h1 {
		font-size: 3em;
	}

	h2, .h2 {
		font-size: 2.3em;
	}

	.footer-logo {
		height: 500px;
		top: -100px;
		left: -100px;
	}

	.swiper-history .copy-wrapper {
		width: 100%;
	}

	.history-scrollbar {
		display: none;
	}

	.history-nav-wrapper {
		justify-content: center;
		gap: 8px;
	}

	/* CTA Button */
	.cta-button .btn-cta {
		height: 100px;
	}

	.cta-button .btn-cta .grow {
		background: none;
	}

	.cta-button .btn-cta .grow:before {
		width: 50px;
	}

	.cta-button .title {
		font-size: 0.75em;
	}

	.swiper-testimonials .swiper-slide {
		min-height: 360px;
	}

	.swiper-testimonials .swiper-slide h3 {
		font-size: 1.5em;
	}
	
	.accordion li .copy {
		border-right: 0;
	}

	.accordion li .icon {
		margin-right: 10px;	
	}

	.swiper-testimonials .swiper-slide h4 {
		font-size: 1.25em;
		margin-bottom: 0;
	}

	.swiper-projects .swiper-slide {
		min-height: 300px;
	}

	.filter-wrapper {
		min-width: 100%
	}

	.why-us .grid-3 {
		row-gap: 10px;
	}

	.image-cards .card.no-icon-card {
		justify-content: flex-start;
	}

	.swiper-projects .swiper-slide.swiper-slide-active .centered-text {
		display: none;
	}

	/* Stacked Cards */
	.stacking-cards .stacked-card .copy-wrapper,
	.stacking-cards .stacked-card .image-wrapper {
		min-height: auto;
		height: auto;
	}

	.stacking-cards .stacked-card .copy-wrapper .btn-secondary {
		margin-top: 30px;
	}

	.stacked-card .copy-wrapper h4.h3 {
		font-size: 2em;
	}

	.latest-articles .swiper-articles .copy-wrapper p {
		display: -webkit-box; 
		-webkit-line-clamp: 3; 
		-webkit-box-orient: vertical; 
		overflow: hidden;
	}

	/* Accordions */
	.accordion li .icon {
		margin-top: 1.5em;
	}

	/* Footer */
	footer .fw img {
		margin-top: 12px;
	}

	.themed-swiper-nav-btn {
		height: 50px;
		width: 50px;
	}

	.themed-swiper-nav-btn:after {
		height: 40px;
		width: 40px;
	}

	.logos-swiper .swiper-slide {
		max-width: 200px;
	}

	.logos-swiper .swiper-slide img {
		height: 150px;
		width: 200px;
		object-fit: contain;
	}
}

@media only screen and (max-width: 400px) {
	html {
		font-size: 14px;
	}

	/* Typography */
	
	/* Header Navigation */
	.btn-primary, .btn-secondary, .nav-btn-secondary a {
		padding: 0.6em 1.75em;
		font-size: 1em;
	}

	.interior-banner .offset-bottom {
		top: -0.5em;
	}

	.interior-banner .inner-copy {
		padding: calc(50px + 0.5em) 0 50px 0;
	}

	/* Footer */
	footer .static-yellow-stripe .yellow-block, 
	.animated-yellow-stripe .yellow-block,
	.interior-banner .animated-yellow-stripe .yellow-block {
		height: 0.5em;
	}

	/* CTA Button */
	.cta-button .btn-cta .grow:before {
		width: 50px;
	}

	.swiper-projects .swiper-slide {
		min-height: 250px;
	}

	/* Video Banner */
	.bg-video .yellow-stripe-offset {
		top: -7px;
	}
}

