/* CSS Document */

/* Global
---------------------------------------------------------------------------- */

body {
	background-color: #547F69;
	color: #231F20;
	font-size: 21px;
	line-height: 1.5;
}

.site-container {
	background-color: #fff;
	overflow: hidden;
	position: relative;
}

.site-inner {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

body:not(.home) .site-inner {
	padding-top: 180px;
}

.wrap,
.wp-block-group.alignfull > div {
	margin-inline: auto;
	max-width: 90%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "fields", "Quicksand", sans-serif;
}

.alignfull:not(.has-background) div.wp-block-group__inner-container > p:not(.has-background-color) {
	padding-left: 0;
	padding-right: 0;
}

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

.site-header {
	box-shadow: none;
	padding: 10px 0 0;
	position: absolute;
	width: 100%;
	z-index: 9999;
}

.site-header .wrap {
	max-width: 95%;
}

.wp-custom-logo .title-area {
	max-width: 130px;
}

.wp-custom-logo .title-area a {
	display: block;
	position: relative;
}

.wp-custom-logo .title-area a::before {
	background-color: #eae5de;
	border-radius: 100%;
	content: '';
	display: block;
	height: 85px;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: calc(50% - 5px);
	transform: scale(.8) translate(-50%,-50%);
	transform-origin: 0 0;
	transition: all .2s ease-in-out;
	width: 85px;
	z-index: 0;
}

.wp-custom-logo .title-area a:focus,
.wp-custom-logo .title-area a:hover {
	cursor: pointer;
}

.wp-custom-logo .title-area a:focus::before,
.wp-custom-logo .title-area a:hover::before {
	opacity: 1;
	transform: scale(1) translate(-50%,-50%);
}

.wp-custom-logo .site-header.opaque .title-area a:focus::before,
.wp-custom-logo .site-header.opaque .title-area a:hover::before {
	opacity: .2;
}

.wp-custom-logo .title-area a img {
	position: relative;
	z-index: 1;
}


/* Navigation
--------------------------------------------- */

.nav-primary .genesis-nav-menu a {
	color: #231f2;
	font-size: 17px;
	font-weight: 500;
	position: relative;
}

.nav-primary .genesis-nav-menu a:focus,
.nav-primary .genesis-nav-menu a:hover {
	color: #e9f2eb;
}

.nav-primary .genesis-nav-menu li.phone a {
	font-family: 'fields', 'Quicksans', sans-serif;
	font-weight: 700;
}

.menu-toggle,
.sub-menu-toggle {
	
}

.menu-toggle:focus,
.menu-toggle:hover {
	
}

.menu-toggle {
	font-size: 0;
	margin: 0;
	padding-bottom: 0;
}

.site-header.opaque .menu-toggle {
	color: #fff;
}

button.menu-toggle::before {
	content: '\f0c9';
	font-family: 'fontawesome';
	font-size: 21px;
	height: auto;
	width: auto;
}

button.menu-toggle.activated::before {
	content: "\f00d";
}


/* Buttons
--------------------------------------------- */

div.site-container .wp-block-button.is-style-outline .wp-block-button__link {
	border: none;
	border-radius: 25px;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 1.5;
	overflow: hidden;
	position: relative;
	text-transform: uppercase;
	transition: transform .05s ease-in-out;
	z-index: 1;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link:focus,
div.site-container .wp-block-button.is-style-outline .wp-block-button__link:hover {
	box-shadow: none;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link:active {
	transform: scale(0.975);
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link::before {
	background-color: #547f69;
	border-radius: 25px;
	content: '';
	display: block;
	height: 100%;
	opacity: .5;
	position: absolute;
	right: calc(100% - 50px);
	top: 0;
	transition: all .3s ease-in-out;
	width: 100%;
	z-index: -1;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link.has-theme-primary-color::before {
	background-color: #e9f2eb;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link:focus::before,
div.site-container .wp-block-button.is-style-outline .wp-block-button__link:hover::before {
	opacity: 1;
	right: 0;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link::after {
	content: '\f061';
	display: inline-block;
	font-family: 'fontawesome';
	padding-left: 8px;
	position: relative;
	right: 0;
	transition: all .3s ease-in-out;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link:focus::after,
div.site-container .wp-block-button.is-style-outline .wp-block-button__link:hover::after {
	right: -5px;
}

/* Animations
--------------------------------------------- */

@keyframes bounceAround {
	0% { transform: translateY(0); }
	40% { transform: translateY(0); }
	55% { transform: translateY(3px); }
	70% { transform: translateY(0px); }
	85% { transform: translateY(5px); }
	100% { transform: translateY(0); }
}

@keyframes bounceRight {
	0% { transform: translateX(0); }
	40% { transform: translateX(0); }
	55% { transform: translateX(4px); }
	70% { transform: translateX(0px); }
	85% { transform: translateX(6px); }
	100% { transform: translateX(0); }
}

@keyframes slide-1 {
	0% { left: 45%; }
	50% { left: 55%; }
	100% { left: 45%; }
}

@keyframes slide-2 {
	0% { left: 55%; }
	50% { left: 45%; }
	100% { left: 55%; }
}

@keyframes slide-3 {
	0% { left: 45%; }
	50% { left: 55%; }
	100% { left: 45%; }
}

@keyframes slide-4 {
	0% { left: 55%; }
	50% { left: 45%; }
	100% { left: 55%; }
}

@keyframes pulseRotate {
	0% { transform: rotate(0deg) scale(1); }
	5% { transform: rotate(3deg) scale(1.03); }
	10% { transform: rotate(0deg) scale(1); }
	100% { transform: rotate(0deg) scale(1); }
}

/* Curves
--------------------------------------------- */

.hideSVGs {
	height: 0;
	width: 0;
}

.curves {
	height: 71px;
	margin-bottom: -2px;
	margin-top: -45px;
	position: relative;
	width: 100%;
	z-index: 2;
}

.curves::before,
.curves::after {
	animation: slide 8s linear 0s infinite;
	bottom: 0;
	content: '';
	display: block;
	left: 50%;
	min-width: 1200px;
	position: absolute;
	transform: translateX(-50%) translateZ(0);
	width: calc(100vw + 10%);
}

.curves.outer {
	
}

.footer.curves.outer {
	margin-bottom: 45px;
	margin-top: -2px;
	top: -3px;
	transform: scaleY(-1);
	z-index: 2;
}

.curves.outer::before {
	animation-duration: 12s;
	animation-name: slide-1;
	background-color: #56816A;
	clip-path: url(#curve-1);
    -webkit-clip-path: url(#curve-1);
	height: 71px;
}

.footer.curves.outer::before {
	animation-duration: 9s;
}

.curves.outer::after {
	animation-duration: 10s;
	animation-name: slide-2;
	background-color: #83AF96;
	clip-path: url(#curve-2);
    -webkit-clip-path: url(#curve-2);
	height: 61px;
}

.footer.curves.outer::after {
	animation-duration: 11s;
}

.curves.inner {
	z-index: 1;
}

.curves.inner::before {
	animation-duration: 7s;
	animation-name: slide-3;
	background-color: #BDD9C9;
	clip-path: url(#curve-3);
    -webkit-clip-path: url(#curve-3);
	height: 51px;
}

.footer.curves.inner::before {
	animation-duration: 7s;
}

.curves.inner::after {
	animation-duration: 10s;
	animation-name: slide-4;
	background-color: #F9F5F2;
	bottom: -1px;
	clip-path: url(#curve-4);
    -webkit-clip-path: url(#curve-4);
	height: 41px;
}

.footer.curves.inner::after {
	animation-duration: 12s;
}

body.home .footer.curves.inner::after,
body.projects-page .footer.curves.inner::after {
	background-color: #fff;
}

/* Gradients
--------------------------------------------- */

:root {
    --overlay-color-1: #77a290;
    --overlay-color-2: #547F69;
    --anim-duration: 6s;
}

/*.gradient {
	background: #77a290;
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: -1;
}

.footer-widgets .gradient {
	position: absolute;
	height: 100%;
}

.gradient:after,
.gradient:before {
    content: '';
    display: block;
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
}

.gradient:before {
    background: linear-gradient(45deg, var(--overlay-color-2) 0%, var(--overlay-color-1) 100%);
    animation: OpacityAnim var(--anim-duration) ease-in-out 0s infinite alternate;
}

.gradient:after {
    background: linear-gradient(135deg, var(--overlay-color-1) 0%, var(--overlay-color-2) 100%);
    animation: OpacityAnim var(--anim-duration) ease-in-out calc(-1 * var(--anim-duration)) infinite alternate;
}

@keyframes OpacityAnim {
    0%{opacity: 1.0}
    100%{opacity: 0.0}
}*/


/* Pages
---------------------------------------------------------------------------- */

.content > article {
	margin: 0;
}

body:not(.home) .content p {
	line-height: 1.4;
}

body:not(.home) .site-container p.has-normal-font-size {
	line-height: 1.6;
}

p.eyebrow {
	margin-bottom: 8px;
	position: relative;
}

p.eyebrow::before {
	background-color: #77a290;
	content: '';
	display: block;
	height: 4px;
	position: absolute;
	right: calc(100% + 25px);
	top: 50%;
	transform: translateY(-50%);
	width: 100vw;
}

.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
	padding-left: 0;
}

.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
	box-shadow: 0 2px 20px rgba(0,0,0,.15);
	left: 0;
	width: 120%;
}

.wp-block-heading {
	letter-spacing: -.25px;
}

.wp-block-heading.check {
	position: relative;
}

.wp-block-heading.check::before {
	content: '\f058';
	display: inline-block;
	font-family: 'fontawesome';
	font-size: 120%;
	margin-right: 15px;
	position: relative;
}

.content .phone,
.content .email {
	margin: 0;
}

.content .phone a,
.content .email a {
	line-height: 1.25;
	padding: 0 5px;
	position: relative;
	text-decoration: none;
}

.content .phone a::before,
.content .email a::before {
	background-color: #EAE5DE;
	border-radius: 3px;
	bottom: -1px;
	content: '';
	display: block;
	height: 9px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: all .3s ease-in-out;
	width: 100%;
	z-index: -1;
}

.content .email a::before {
	bottom: -4px;
}

.content .phone a:focus::before,
.content .phone a:hover::before,
.content .email a:focus::before,
.content .email a:hover::before {
	bottom: 3px;
	opacity: 1;
}

.content .email a:focus::before,
.content .email a:hover::before {
	bottom: 0;
}

.content .cursive {
	color: #55816a;
	display: inline-block;
	font-family: 'Dancing Script', cursive;
	font-size: 150%;
	font-weight: 700;
	line-height: .7;
}

.gb-block-container.solution {
	border-radius: 20px;
	padding: 30px 0;
	position: relative;
}

.gb-block-container.solution::before {
	background-color: #e9f2eb;
	border-bottom-left-radius: 20px;
	border-top-left-radius: 20px;
	content: '';
	display: block;
	height: 100%;
	left: -30px;
	position: absolute;
	top: 0;
	width: 100vw;
}

.gb-block-container.solution > * {
	position: relative;
}

.gb-block-container.solution p:last-child {
	margin: 0;
}


/* Projects
--------------------------------------------- */

.projects .wp-block-heading {
	margin-bottom: 3px;
}

.projects .wp-block-buttons {
	position: relative;
}

.projects .wp-block-buttons::before {
	background-color: #77a290;
	content: '';
	display: block;
	height: 4px;
	position: absolute;
	right: calc(100% + 25px);
	top: calc(50% - 4px);
	transform: translateY(-50%);
	width: 100vw;
}

div.site-container .wp-block-button.is-style-outline .wp-block-button__link.has-theme-primary-color::before {
	background-color: #d3ddd6;
}

.pagination {
	clear: both;
	flex-basis: 100%;
}

.pagination ul {
	padding: 0;
	text-align: center;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li .current,
.archive-pagination li a {
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination li .current {
	background-color: #77599e;
	color: #fff;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: #333;
	color: #fff;
}


/* Project Slider
---------------------------------------------------------------------------- */

.project-slider {
	position: relative;
	width: 100%;
}

.project-slider::before,
.project-slider::after {
	content: '';
	display: block;
	height: calc(100% + 40px);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.project-slider::before {
	background: linear-gradient(to right,  rgba(249,245,242,0) 0%,rgba(249,245,242,1) 100%);
	left: 100%;
	width: 215px;
}

body.home .project-slider::before {
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

.project-slider::after {
	background-color: #f9f5f2;
	left: calc(100% + 214px);
	width: 100vw;
}

body.home .project-slider::after {
	background-color: #fff;
}

.project-slider .bx-wrapper {
	max-width: none !important;
}

.project-slider .bx-viewport {
	overflow: visible !important;
}

.project-slider .project-wrapper {
	display: flex;
	grid-gap: 0 100px;
}

.project-slider .project-wrapper .project {
	flex: 0 0 auto;
}

.project-wrapper .project .wrap {
	max-width: none;
}

.project-wrapper .project .screenshot {
	aspect-ratio: 16/10;
	box-shadow: 0 2px 20px rgba(0,0,0,.1);
	margin-bottom: 15px;
	position: relative;
}

.project-wrapper .project .screenshot::before {
	background-color: rgba(0,0,0,0.05);
	content: '';
	display: block;
	height: 100%;
	left: 10px;
	position: absolute;
	top: 10px;
	width: 100%;
	z-index: 0;
}

.project-wrapper .project .screenshot a {
	display: block;
	position: relative;
	text-decoration: none;
}

.project-wrapper .project .screenshot a::before,
.project-wrapper .project .screenshot a::after {
	display: block;
	opacity: 0;
	position: absolute;
	transition: opacity .2s ease-in-out;
}

.project-wrapper .project .screenshot a::before {
	color: #fff;
	content: '\f101';
	font-family: 'fontawesome';
	font-size: 28px;
	height: 30px;
	left: 50%;
	line-height: 28px;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 30px;
	z-index: 3;
}

.project-wrapper .project .screenshot a:focus::before,
.project-wrapper .project .screenshot a:hover::before {
	opacity: 1;
}

.project-wrapper .project .screenshot a::after {
	background-color: #547f69;
	content: '';
	height: 100%;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 2;
}

.project-wrapper .project .screenshot a:focus::after,
.project-wrapper .project .screenshot a:hover::after {
	opacity: .8;
}

.project-wrapper .project .screenshot img {
	aspect-ratio: 16/10;
	border: 1px solid #fff;
	object-fit: cover;
	object-position: center top;
	position: relative;
	width: 100%;
	z-index: 1;
}

.project-wrapper .project .project-title {
	font-family: 'fields', 'Quicksand', sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.1;
}

.project-wrapper .project .project-launch {
	font-size: 16px;
}

.project-slider .bx-wrapper .bx-controls-direction {
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 3;
}

.project-slider .bx-wrapper .bx-controls-direction a {
	background: none;
	bottom: -50px;
	font-size: 0;
	line-height: 1;
	margin-top: -35px;
	padding: 0;
	text-indent: 0;
	top: auto;
	transition: all .2s ease-in-out;
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-prev {
	left: 5%;
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-next {
	animation: bounceRight 2s linear 0s infinite;
	right: 5%;
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-prev::before,
.project-slider .bx-wrapper .bx-controls-direction a.bx-next::before {
	border-radius: 100%;
	color: #77599e;
	display: block;
	font-family: 'fontawesome';
	font-size: 45px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-prev::before {
	content: '\f0a8';
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-next::before {
	content: '\f0a9';
}

.project-slider .bx-wrapper .bx-controls-direction a.bx-prev::after,
.project-slider .bx-wrapper .bx-controls-direction a.bx-next::after {
	background-color: #fff;
	content: '';
	display: block;
	height: 90%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 90%;
	z-index: -1;
}

.project-slider .bx-wrapper .bx-controls-direction a.disabled {
	display: block;
	opacity: 0;
}


/* Legal pages
---------------------------------------------------------------------------- */

body.legal {
	font-size: 18px;
}


/* Footer
---------------------------------------------------------------------------- */

.footer-widgets {
	background: linear-gradient(45deg, var(--overlay-color-2) 0%, var(--overlay-color-1) 100%);
	border: none;
	color: #fff;
	padding: 160px 0 70px;
	position: relative;
	margin-top: -100px;
	z-index: 1;
}

.footer-widgets > .wrap {
	display: grid;
	grid-gap: 0 5%;
	grid-template-areas: 'cta contact';
	grid-template-columns: 1fr 300px;
}

.footer-widget-area {
	margin: 0;
	padding: 0;
}

.footer-widgets .widget {
	margin-bottom: 30px;
}

.footer-widgets-1 {
	font-size: 32px;
	grid-area: cta;
	line-height: 1.1;
}

.footer-widgets-1 .widget-title {
	font-family: 'Dancing Script', cursive;
	font-size: 60px;
	line-height: .75;
	margin-bottom: 10px;
}

div.site-container .footer-widgets-1 .wp-block-button.is-style-outline .wp-block-button__link::before {
	background-color: #554b5e;
}

.footer-widgets-2 {
	font-size: 21px;
	grid-area: contact;
	text-align: center;
}

.footer-widgets-2 img {
	width: 300px;
}

.footer-widgets-2 .phone,
.footer-widgets-2 .email {
	color: #fff;
	line-height: 1.25;
	padding: 0 15px;
	position: relative;
	text-decoration: none;
}

.footer-widgets-2 .phone {
	font-family: 'fields', 'Quicksand', sans-serif;
	font-size: 36px;
	font-weight: 700;
}

.footer-widgets-2 a.phone::before,
.footer-widgets-2 a.email::before {
	background-color: #554b5e;
	border-radius: 3px;
	bottom: -1px;
	content: '';
	display: block;
	height: 9px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: all .3s ease-in-out;
	width: 100%;
	z-index: -1;
}

.footer-widgets-2 a.email::before {
	bottom: -4px;
}

.footer-widgets-2 a.phone:focus::before,
.footer-widgets-2 a.phone:hover::before,
.footer-widgets-2 a.email:focus::before,
.footer-widgets-2 a.email:hover::before {
	bottom: 3px;
	opacity: 1;
}

.footer-widgets-2 a.email:focus::before,
.footer-widgets-2 a.email:hover::before {
	bottom: 0;
}

.footer-widgets-2 .super {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.25px;
	margin-bottom: -3px;
	text-transform: uppercase;
}

.site-footer {
	background-color: #547F69;
	border: none;
	color: #D3DDD6;
	font-size: 13px;
	font-weight: 500;
	padding: 20px 0;
	position: relative;
	text-align: right;
	z-index: 3;
}

.site-footer a {
	color: #D3DDD6;
	display: inline-block;
	text-decoration: none;
}

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

.site-footer p {
	margin: 0 0 0 auto;
	max-width: calc(100% - 160px);
}

.footer-image {
	bottom: 0;
	left: 2.5%;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

.footer-image .widget {
	margin: 0;
}

.footer-image .widget_media_image {
	position: relative;
}

.footer-image .widget_media_image::before,
.footer-image .widget_media_image::after {
	aspect-ratio: 1/1;
	border-radius: 100%;
	box-shadow: 40px 10px 0 #77A290;
	content: '';
	display: block;
	height: auto;
	left: 0;
	position: absolute;
	top: 100%;
	width: 420px;;
	z-index: 0;
}

.footer-image .widget_media_image::before {
	background-color: #77599e;
	left: -225%;
	top: calc(100% - 110px);
}

.footer-image .widget_media_image::after {
	background-color: #554b5e;
	left: -90%;
	top: calc(100% - 50px);
	z-index: 2;
}

.footer-image .widget_media_image img {
	image-rendering: pixelated;
	pointer-events: none;
	position: relative;
	width: 126px;
	z-index: 3;
}


/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 960px ) {
	
	.site-header {
		background-color: rgba(85,75,94,0);
		transition: background .2s ease-in-out;
	}

	.site-header.opaque {
		background-color: rgba(85,75,94,0.95);
		padding-bottom: 10px;
	}
	
	.nav-primary .genesis-nav-menu a {
		margin-left: 8px;
		margin-right: 8px;
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.nav-primary .genesis-nav-menu a:focus,
	.nav-primary .genesis-nav-menu a:hover {
		color: #547f69;
	}
	
	.nav-primary .genesis-nav-menu a::before {
		background-color: #e9f2eb;
		border-radius: 3px;
		bottom: 4px;
		content: '';
		display: block;
		height: 9px;
		left: 0;
		opacity: 0;
		position: absolute;
		transition: all .3s ease-in-out;
		width: 100%;
	}
	
	body.home .nav-primary .genesis-nav-menu a::before {
		background-color: #547f69;
	}

	.nav-primary .genesis-nav-menu a span {
		position: relative;
	}

	.nav-primary .genesis-nav-menu a:focus::before,
	.nav-primary .genesis-nav-menu a:hover::before {
		bottom: 8px;
		opacity: 1;
	}
	
	.nav-primary .genesis-nav-menu li.phone a {
		color: #574c5f;
	}
	
	body.home .nav-primary .genesis-nav-menu li.phone a {
		color: #fff;
	}

	.nav-primary .genesis-nav-menu li.phone a:focus,
	.nav-primary .genesis-nav-menu li.phone a:hover {
		color: #785a9f;
	}
	
	body.home .nav-primary .genesis-nav-menu li.phone a::before {
		background-color: #547f69;
	}
	
}

@media only screen and (min-width: 1024px) {
	
	.wrap,
	.wp-block-group.alignfull > div {
		max-width: 960px;
	}
	
}

@media only screen and (min-width: 1240px) {
	
	.wrap,
	.wp-block-group.alignfull > div {
		max-width: 1170px;
	}
	
}

@media only screen and (max-width: 1239px) {
	
	.project-slider::before {
		left: auto;
		right: 0;
		width: 215px;
	}

	.project-slider::after {
		left: calc(100% - 1px);
		width: 100vw;
	}
	
}

@media only screen and (max-width: 959px) {
	
	.site-header {
		background-color: rgba(85,75,94,0);
		transition: background .2s ease-in-out;
	}

	.site-header.opaque {
		background-color: rgba(85,75,94,0.97);
		padding-bottom: 10px;
	}
	
	.site-header .wrap {
		max-width: 90%;
	}
	
	.title-area img {
		transition: opacity .2s ease-in-out;
	}

	.site-header.opaque .title-area img {
		filter: brightness(3);
		opacity: 1;
	}

	.nav-primary {
		padding: 0;		
	}
	
	p.eyebrow::before {
		right: calc(100% + 2%);
	}
	
}

@media only screen and (max-width: 959px) {
	
	.nav-primary .genesis-nav-menu a {
		color: #fff;
	}
	
}

@media only screen and (max-width: 900px) {
	
	.footer-widgets {
		padding: 160px 0;
	}
	
	.footer-widgets > .wrap {
		grid-template-areas: 'cta' 'contact';
		grid-template-columns: auto;
		text-align: center;
	}
	
	.footer-widgets-1 {
		margin-bottom: 60px;
	}
	
	.footer-widgets-1 .wp-block-buttons {
		justify-content: center;
	}
	
}

@media only screen and (max-width: 600px) {
	
	body {
		font-size: 19px;
	}
	
	.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
		padding-right: 0;
	}

	.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
		left: 50%;
		margin-bottom: 40px;
		position: relative;
		transform: translateX(-50%);
		width: 100vw;
	}
	
	.project-slider::before,
	.project-slider::after {
		display: none;
	}
	
	.site-footer {
		padding-bottom: 90px;
	}
	
	.site-footer p {
		max-width: calc(100% - 125px);
	}

	
}