/* ########## GENERAL STYLES ########## */

body, html {
	height: 100%;
}

body {
	background: rgb(255,255,255);
	font-family: 'Figtree', sans-serif !important;
	color: rgb(35,31,32);
}

.is-style-wrapper,
.wrapper {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}

hr {
	margin: 2rem 0;
	opacity: 1;
	background: rgb(237,125,50) !important;
	border: none !important;
	height: 5px !important;
	width: 100px;
}

a,
a:focus {
	color: rgb(237,125,50);
	outline: none;
	text-decoration: none;
}

a:hover {
    color: rgb(35,31,32);
}

section {
	padding: 5rem 0;
}

body:not(.home) .site-content section:first-of-type {
	padding: 0;
}

/* ########## CORE TYPOGRAPHY STYLES ########## */


.has-brand-1-color,
.text-accent {
  color: rgb(237,125,50) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Figtree", sans-serif;
    font-weight: 900;
    font-style: normal;
	line-height: 1em;
	color: rgb(35,31,32);
	text-transform: uppercase;
}

h1, h2, h3 {
	letter-spacing: -3px;
}

h4, h5, h6 {
	letter-spacing: -2px;
}

h1 strong {
	display: block;
	color: rgb(237,125,50);
	font-weight: 900;
}

h2 strong, 
h3 strong {
	color: rgb(237,125,50);
	font-weight: 900;
}

h1.heading {
	position: relative;
	display: inline-block;
	margin-right: 100px;
	margin-bottom: 2rem;
}

h1 span,
h1 .subheading,
h2 span,
h2 .subheading,
h2.subheading {
	display: block;
	color: rgb(35,31,32);
}

h2 span,
h2 .subheading {
	font-size: 0.8em;
	margin-top: -0.25em;
}

h2.subheading {
	font-size: calc(2.5rem * 0.8);
	margin-top: -0.25em;
}

h3 .subheading,
h4 .subheading,
h3.is-style-subheading,
h4.is-style-subheading {
	font-size: 1.25rem;
	letter-spacing: -1px;
}

.h2.is-style-shadow-text:before {
	content: attr(data-prefix);
	font-weight: 900;
	color: rgba(255,255,255,0.1);
	position: absolute;
	left: 10%;
	top: 0;
	width: 100%;
	font-size: 4rem;
	color: rgb(0,0,0,0.5);
	z-index: -1;
}


.blog-post h2,
.row h2 {
	margin-top: 0;	
}

.row .entry-content h2 {
	margin-top: 1em;
}

.is-style-text-lead,
.text-lead {
    font-size: 1.4em;
    font-weight: 300;
    font-family: 'Figtree', sans-serif;
    line-height: 1.4em;
}

.is-style-preheading,
.preheading {
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 700;
	position: relative;
	padding-left: 40px;
	color: rgb(237,125,50);
	margin: 1rem 0;
}

.is-style-preheading:before,
.preheading:before {
	height: 3px;
	width: 30px;
	background:  rgb(237,125,50);
	position: absolute;
	left: 0;
	top: 7px;
	content: '';
	display: block;
}

.has-text-align-left {
	text-align: left;
}

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

.has-text-align-right {
	text-align: right;
}

.has-small-font-size {
	font-size: 0.9rem;
}

.text-muted,
.is-style-text-muted {
	color: rgba(255,255,255,0.5);
}

.is-style-text-statistic,
.text-statistic {
	font-size: 6rem;
	font-weight: 900;
	color: rgba(237,125,50,1);
	line-height: 0.8em;
}

.is-style-text-label,
.text-label {
	text-transform: uppercase;
	font-size: 0.8rem;
	line-height: 1em;
	font-weight: 500;
}

.theme-bg-brand .is-style-text-statistic,
.theme-bg-brand .text-statistic {
	font-size: 4rem;
	color: rgb(35,31,32);
}

/* ########## LABEL & BADGE STYLES ########## */

.badge {
    font-size: 0.9em;
    padding: 0.5em;
}
.badge-primary {
	background: rgba(237,125,50,1);
}
.badge-secondary {
	background: rgba(35,31,32,1);
}
.badge-success {
    background: rgba(154,202,60,1);
}
a.badge-primary:hover {
	background: rgba(237,125,50,0.75);
}
a.badge-secondary:hover {
	background: rgba(35,31,32,0.75);
}
a.badge-success:hover {
    background: rgba(154,202,60,0.75);
}

/* ########## BUTTON STYLES ########## */

.btn {
    border-radius: 0;
    font-size: 0.9rem;
    font-weight: 600;
	transition: .25s;
	position: relative;
	text-transform: uppercase;
	padding: 0.5rem 1rem;
}

.btn-lg {
	padding: 1rem;
}

.btn-primary {
	color: rgba(35,31,32,1) !important;
    border: none !important;
	clip-path: polygon(1rem 0%, 100% 0%, calc(100% - 1rem) 100%, 0% 100%);
	background: rgba(237,125,50,1);
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}


.btn-primary:hover {
	background: rgba(237,125,50,0.75);
    border: none;
}

.btn-primary:hover:after,
.btn-secondary:hover:after {
	transform: scaleX(1);
}

.btn-primary:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -0.5rem;
	width: 100%;
	height: 5px;
	background-color: rgb(237,125,50);
	z-index: -1;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s ease;
}

.btn-secondary {
    color: rgba(255,255,255,1) !important;
	border: none !important;
	clip-path: polygon(1rem 0%, 100% 0%, calc(100% - 1rem) 100%, 0% 100%);
    background: rgba(35,31,32,1);
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}
.btn-secondary:hover {
    background: rgba(35,31,32,0.75);
    border: none;
}

.btn-secondary:after {
	content: "";
	position: absolute;
	bottom: -0;
	left: 0;
	width: 100%;
	height: 5px;
	background-color: rgb(35,31,32);
	z-index: -1;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s ease;
}

.btn-dark {
    background: rgba(255,255,255,1);
    border: none;
}
.btn-dark:hover {
    background: rgba(255,255,255,0.75);
    border: none;
}
.btn-ghost {
    background: none;
    border: 1px solid rgba(255,255,255,1);
    color: rgba(255,255,255,1) !important;
}
.btn-ghost:hover {
    background: none;
    border: 1px solid rgba(255,255,255,0.5);
    color: rgba(255,255,255,0.5);
}
.btn-outline {
    background: none;
    border: 1px solid rgba(35,31,32,1);
    color: rgba(35,31,32,1) !important;
}
.btn-outline:hover {
    background: none;
    border: 1px solid rgba(237,125,50,0.5);
    color: rgba(237,125,50,0.5) !important;
}
.btn-danger-outline {
    background: none;
    border: 1px solid rgba(220,53,69,1);
    color: rgba(220,53,69,1);
}
.btn-danger-outline:hover {
    background: none;
    border: 1px solid rgba(220,53,69,0.5);
    color: rgba(220,53,69,0.5);
}

.btn-success {
    background: rgba(154,202,60,1);
    border: none;
}
.btn-success:hover {
    background: rgba(154,202,60,0.75);
    border: none;
}

.btn-check:focus + .btn-primary, .btn-primary:focus,
.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
	background: rgba(35,31,32,0.5) !important;
}

.btn-arrow {
    position: relative;
    padding-right: 2.5em !important;
}

.btn-arrow:after {
    display: block;
    right: 1em;
    font-family: "Font Awesome Sharp";
    line-height: 1.35em;
    content:"\f061";
    font-size: 1em;	
    position: absolute;
    font-weight: 400;
    top: 0.5em;
}

.btn-external {
    position: relative;
    padding-right: 2.5em !important;
}

.btn-external:after {
    display: block;
    right: 1em;
    font-family: "Font Awesome Sharp";
    line-height: 1.35em;
    content:"\f08e";
    font-size: 1em;	
    position: absolute;
    font-weight: 400;
    top: 0.5em;
}

.btn-quote {
    position: relative;
    padding-right: 2.5em !important;
}

.btn-quote:after {
    display: block;
    right: 1em;
    font-family: "Font Awesome Sharp";
    line-height: 1.35em;
    content:"\f4a6";
    font-size: 1em;	
    position: absolute;
    font-weight: 400;
    top: 0.5em;
}

.btn-lg.btn-arrow:after,
.btn-lg.btn-external:after,
.btn-lg.btn-quote:after {
	top: 1em;
	font-size: 1.1em;
}

.btn-file {
    position: relative;
    padding-right: 2.5em !important;
}

.btn-file:after {
    display: block;
    right: 1em;
    font-family: "Font Awesome Sharp";
    line-height: 1.35em;
    content:"\f56e";
    font-size: 1em;	
    position: absolute;
    font-weight: 400;
    top: 0.5em;
}

.link-icon {
    position: relative;
    margin: 0.5em 1em 0.5em 0;
    padding: 0 2em 0 0;
    display: inline-block;
	font-weight: 700;
	color: rgb(35,31,32);
	text-transform: uppercase;
	font-size: 0.75rem;
}

.link-icon:hover {
	color: rgb(237,125,50);
}

.link-icon:after {
    display: block;
    right: 5%;
    font-weight: 400;
    font-family: "Font Awesome Sharp";
    line-height: 1em;
    font-size: 1em;	
    position: absolute;
    top: 15%;
    margin-left: 0;
    transition: all .25s;
}

.link-icon:hover:after {
    right: 0;
}

.link-more:after {
    content:"\f061";
}

.link-external:after {
    content:"\f08e";
}

.link-quote:after {
    content:"\f4a6";
}

.link-directions:after {
    content:"\f5a0";
}

.link-file:after {
    content:"\f56e";
}

.link-lg {
	font-size: 2rem;
}

.is-style-link-button-more a {
    position: relative;
    margin: 0.5em 1em 0.5em 0;
    padding: 0 2em 0 0;
    display: inline-block;
	font-weight: 700;
	color: rgb(35,31,32);
	text-transform: uppercase;
	font-size: 0.75rem;
}

.is-style-link-button-more a:hover {
	color: rgb(237,125,50) !important;
}

.is-style-link-button-more a:after {
    display: block;
    right: 5%;
    font-weight: 400;
    font-family: "Font Awesome Sharp";
    line-height: 1em;
    font-size: 1em;	
    position: absolute;
    top: 15%;
    margin-left: 0;
    transition: all .25s;
	content:"\f061";
}

.is-style-link-button-more a:hover:after {
    right: 0;
}

.wp-block-spacer {
	height: 50px !important;
}

/* ########## HEADER STYLES ########## */

header {
	position: fixed;
	top: 0;
	z-index: 99;
	transition: all .5s;
	height: 60px;
	width: 100%;
	display: table;
}

header .logo {
	position: absolute;
	left: 0;
	top: -0.5rem;
	transition: all .5s;
	z-index: 5;
}

header .logo img {
	width: 70px;
	height: 70px;
	display: block;
	transition: all .5s;
}

header .mobile-menu {
	font-size: 1.4em;
	color: rgb(255,255,255);
	padding: 0;
	height: 100%;
	vertical-align: middle;
	text-align: right;
	display: block;
	top: 0.5rem;
	position: relative;
}

header .mobile-menu .menu-icon {
	padding: 0;
	cursor: pointer;
	position: relative;
	top: 0.15rem;
}

header .mobile-menu .menu-icon:hover {
	color: rgb(237,125,50);
}

header .mobile-menu button {
	margin: 0 0.25rem;
}

header ul,
header li {
	margin: 0;
	padding: 0;
	list-style: none;
}

header nav li a {
	font-weight: 700;
	font-size: 0.9rem;
	text-transform: uppercase;
}

header .phone {
	font-size: 1.25rem;
	font-weight: 500;
	border-bottom: none !important;
	color: rgba(237,125,50,0.75) !important;
	position: relative;
	display: inline-block;
}

header .phone:hover {
	background: none !important;
	color: rgba(237,125,50,1) !important;
}

/* Under Medium Breakpoint - Mobile Nav */
@media screen and (max-width: 991px) {

	header {
		background: rgb(35,31,32);
		box-shadow: 0 0 5px rgba(0,0,0,0.25);
	}

	header:after {
		content: '';
		bottom: 0;
		height: 1px;
		width: 100%;
		display: block;
		position: absolute;
		background-image: linear-gradient(to right, transparent 25%, rgb(237,125,50) 100%);
    }

	header nav {
		padding: 0;	
		position: fixed;
		width: 70vw;
		max-width: 300px;
		top: 60px;
		z-index: -1;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
        transition: all 0.5s;
		color: rgb(255,255,255);
		right: -70vw;	
		display: block; 
		font-size: 0.9em;
		background: rgb(35,31,32);
        direction: ltr;
        font-weight: 500;
        height: 100vh;
	}
	.offcanvasmenu-active header nav {
		right: 0;	
    }
    
	header nav a:not(.phone),
	header nav span.section {
		display: block;
		border-bottom: 1px solid rgba(0,0,0,0.5);
		color: rgb(255,255,255);
		text-decoration: none;
		padding: 1em;
		position: relative;
		text-transform: uppercase;
		font-weight: 500;
		opacity: 1;
	}

	header nav li > a:not(.phone):hover,
	header nav li > span:hover {
		color: rgb(255,255,255);
		cursor: pointer;
		opacity: 1;
	}

	header nav li > a:not(.phone):before,
	header nav li > span:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: linear-gradient(to left, transparent 25%, rgb(237,125,50) 100%);
		z-index: -1;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.5s ease;
	}

	header nav li > a:hover:before,
	header nav li > span:hover:before {
		transform: scaleX(1);
	}
	header nav span.open:hover {
		background: none;	
	}
	
	header nav .menu-sub .section:after {
		display: block;
		font-family: "Font Awesome Sharp";
		line-height: 1.5em;
		content:"\f107";
		font-size: 1.2em;	
		position: absolute;
		right: 1em;
		top: 0.75em;	
		opacity: 0.75;
	}

	header nav .menu-sub.open .section:after {
		content:"\f106";
	}
	
	header nav .menu-sub nav {
		display: none;
		margin: 0;
		font-size: 0.9em;		
		background: rgba(0,0,0,0.15);
	}
    
    header nav .menu-sub nav a {
        padding-left: 2em;
    }
    
	header nav a:hover {
        text-decoration: none;
    }

	header .menu-buttons {
		padding: 2rem;
		text-align: center;
	}
	
	header .menu-buttons .btn {
		display: block;
		width: 100%;
		margin-top: 1rem;
	}
	
	.offcanvasmenu-active .site-overlay {
		background: rgba(0,0,0,0.75);
		height: 100%;
		width: 100%;
		position: fixed;
		top: 0;
		z-index: 90;
	}

    
}

/* Over Medium Breakpoint - Main Nav */
@media screen and (min-width: 992px) {
    
	header {
		position: fixed;
        margin: 4rem auto;
		height: 80px;
		text-align: right;
	}
	header.bg {
		background: rgb(35,31,32);
        margin-top: 0;
		box-shadow: 0 0 5px rgba(0,0,0,0.25);
	}

	header.bg:after {
		content: '';
		bottom: 0;
		height: 1px;
		width: 100%;
		display: block;
		position: absolute;
		background-image: linear-gradient(to right, transparent 25%, rgb(237,125,50) 100%);
    }
	
	header .logo {
		top: -75px;
	}
	
	header.bg .logo {
		top: -10px;
	}
	
	header.bg .logo img {
		height: 100px;
	}
	
	header .menu-main {
		text-align: right;
		width: 100%;
    }
	
	header .logo img {
		width: 250px;
		height: 250px;
	}

	header.bg .logo img {
		width: 100px;
		height: 100px;
	}

	header nav {
		position: relative;
		display: inline-block;
		overflow: hidden;
		height: 100%;
		right: 0;
		vertical-align: top;
	}
	
	header.bg nav {
		border-radius: 0 0 0.5rem 0;
	}
	
	header nav li {
		display: inline-block;
		height: 80px;
		margin: 0;
		padding: 0;
		vertical-align: top;
	}
	header nav li a {
		display: block;
		padding: 0 0.5rem;
		line-height: calc(80px - 0.5em);
		color: rgb(255,255,255);
		font-weight: 700;
		position: relative;
	}

	header nav li a:not(.btn) {
		height: 100%;
	}

	header nav li a:hover {
		color: rgb(237,125,50);
	}
	header nav li > a:not(.phone):before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height:5px;
		background: rgb(237,125,50);
		z-index: -1;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.5s ease;
		border-radius: 0.25rem;
	}

	header nav li > a:hover:before {
		transform: scaleX(1);
	}
	
	header .menu-buttons button {
		height: 80px;
		display: inline-block;
		padding: 0 1rem;
	}
	
	header .menu-buttons button span {
		display: block;
	}

	header .btn-quote {
    	padding-right: 1rem !important;
	}

	header .btn-quote:after {
		display: none;
	}

}


@media screen and (min-width: 1200px) {
	
	header nav li a {
			padding: 0 1rem;
	}

	header .menu-buttons {
		padding: 0 0 0 10%;
	}

}

/* ########## HERO /  HEADING STYLES ########## */

.hero {
	background: rgb(35,31,32) url('../images/hero-default.jpg)') no-repeat;
	background-size: cover;
	background-position: bottom right;
	padding: 0;
	height: auto;
	width: 100%;
	overflow: hidden;
	z-index: 1;
	position: relative;
	display: table;
}

.hero .wrapper {
	height: 100%;
	width: 90%;
	overflow: hidden;
	display: table;
}

.hero .content {
    max-width: 600px;
	position: relative;
	height: 100% !important;
	z-index: auto !important;
    padding: 10rem 0 5rem 0;
	overflow: hidden;
	display: table;
	width: 100%;
}

.hero .heading {
    font-size: 3rem;
    font-family: "Figtree", sans-serif;
    font-weight: 900;
    font-style: normal;
    color: rgb(255,255,255);
	line-height: 0.8em;
	text-transform: uppercase;
	letter-spacing: -3px;
}

.hero .heading strong {
    color: rgb(237,125,50);
}

.hero .caption {
	font-size: 1rem;
	font-weight: 300;
	font-family: 'Figtree', sans-serif;
	line-height: 1.5em;
	color: rgb(255,255,255);
}

.hero .actions {
	padding: 2rem 0;
}

.hero .actions a:not(.btn),
.hero .actions a.link-icon {
	color: rgb(255,255,255);
}

.hero .actions a:not(.btn):hover,
.hero .actions a.link-icon:hover {
	color: rgb(237,125,50);
}


.hero .actions .btn {
	margin-right: 2rem;
}

.page-header {
	background: rgb(35,31,32) url('../images/hero-default.jpg)') no-repeat;
	background-size: cover;
	background-position: center right;
	height: 200px;
	width: 100%;
	overflow: hidden;
	z-index: 1;
	position: relative;
	padding: 0;
	padding-top: calc(200px - 6rem);
	margin-bottom: 5rem;
}

.page-header .heading {
    font-size: 2rem;
    font-family: "Figtree", sans-serif;
    font-weight: 900;
    font-style: normal;
    color: rgb(255,255,255);
	line-height: 0.8em;
	text-transform: uppercase;
	letter-spacing: -3px;
	position: relative;
	display: block;
}

.page-header .heading strong {
    color: rgb(237,125,50);
	display: inline-block;
}

.page-header .heading .shadow {
	position: absolute;
	left: 10%;
	top: 0;
	width: 100%;
	font-size: 4rem;
	color: rgb(0,0,0,0.5);
	z-index: -1;
}


/* Medium Breakpoint */
@media screen and (min-width: 768px) {

	
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
    
	.hero {
		top: 0;
		left: 0;
		width: 100%;
		padding: 15rem 0 5rem 0;
	}

	.hero:after {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		bottom: -1px;
		left: 0;
		z-index: 0;
		background: url('../images/hero-bottom.svg)') no-repeat bottom center;
		background-size: 100%;

	}

	.hero .wrapper {
		position: relative;
		z-index: +1;
	}

	.hero .heading {
    	font-size: 5rem;
	}

	.page-header {
		height: 400px;
		padding-top: calc(400px - 8rem);
	}

	.page-header .heading {
    	font-size: 3rem;
	}

	.page-header .heading .shadow {
		left: 10%;
		top: 0;
		font-size: 6rem;
	}

}

/* ########## MAP STYLES ########## */

.map {
	height: 800px;
	width: 100%;
	overflow: hidden;
	margin-top: 10em;
}

.map .map-marker-img img {
    max-width: 275px;
}

.map :is(h1,h2,h3,h4,h5,h6) {
    font-size: 1.5rem !important;    
}

/* ########## CONTENT STYLES ########## */

mark {
	padding: 0;
}

article .lead:first-of-type {
	margin-bottom: 4rem;
}

.checklist {
	margin: 4rem 0;
	padding-left: 1rem;
}

.checklist li {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1rem 0.5rem 3rem;
	line-height: 1.5rem !important;
	position: relative;
	font-size: 0.9rem;
}

.checklist li strong {
	font-size: 1rem;
	text-transform: uppercase;
}

.checklist li:before {
	font-family: "Font Awesome Sharp";
	content: "\f00c";
	font-weight: 400;
	position: absolute;
	top: 0.6rem;
	left: -1rem;
	opacity: 1;
	font-style: normal;
	color: rgba(35,31,32,0.5);
	background: rgb(237,125,50);
	clip-path: polygon(1rem 0%, 100% 0%, calc(100% - 1rem) 100%, 0% 100%);
	padding:  0.5rem 1rem;
}

.is-style-list-numbered,
.is-style-list-numbered li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.is-style-list-numbered {
	counter-reset: list-number-counter;
}

.is-style-list-numbered > li {
	padding: 0.5rem 0;
	counter-increment: list-number-counter;
	margin: 0;
	position: relative;
	padding-left: 7rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,0.5)
}

.is-style-list-numbered li strong {
	color: rgba(255,255,255,1);
	text-transform: uppercase;
	font-size: 1rem;
}

.is-style-list-numbered > li:before {
	content: '0'counter(list-number-counter);
	color: rgba(237,125,50,0.25);
	margin: 0;
	font-family: 'Figtree',sans-serif;
	font-weight: 900;
	font-size: 4rem;
	transition: all .3s;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	line-height: 1;
}

.is-style-list-numbered > li:hover:before {
	color: rgba(237,125,50,1);
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
	.checklist li {
		display: inline-block;
		width: calc(50% - 2rem);
	}
}

.notice,
.is-style-notice {
	border: 1px solid rgba(125,125,125,0.5);
	padding: 2rem;
	border-radius: 0.2rem;
	margin: 4rem 0;
}


/* ########## EXPERTISE BLOCK STYLES ########## */

.expertise-block {
	padding: 0;
}


.expertise-block .row > div:not(:first-of-type) {
	max-width: 700px;
	padding: 4rem 2rem;
}


.expertise-block .wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	margin: 0;
	width: 100%;
	height: 100%;
	max-height: 1000px;
}

.expertise-block .wp-block-gallery .wp-block-image {
	width: calc(50% - 2px) !important;
	height: 50%;
	display: inline-block;
}

.expertise-block .wp-block-gallery .wp-block-image img {
	filter: grayscale(100%);
	opacity: 0.5;
}

.expertise-block .wp-block-gallery .wp-block-image img:hover {
	filter: grayscale(0%);
	opacity: 1;
}

.expertise-block .row > div:first-of-type {
	position: relative;
}

.expertise-block .row > div:first-of-type .wp-block-group {
	position: absolute;
	width: 200px;
	height: 200px;
	top: calc(50% - 100px);
	left: calc(50% - 100px);
	color: rgb(35,31,32) !important;
	text-align: center;
	vertical-align: center;
	padding: 2rem;
	padding-top: 3.5rem;
	filter: drop-shadow(0 5px 20px rgba(0, 0, 0, 0.5));
}

.expertise-block .row > div:first-of-type .wp-block-group:before {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
	background: rgb(237,125,50);
}

.expertise-block .row > div:first-of-type .wp-block-group p {
	margin: 0 !important;
	text-align: center;
	width: 100%;
	position: relative;
}

.expertise-block .row > div:first-of-type .wp-block-group .is-style-text-statistic {
	color: rgb(35,31,32) !important;
	font-size: 3rem;
	line-height: 1.25em;
}



/* ########## ACCENT STYLES ########## */

.theme-bg-brand {
	background: rgb(237,125,50);
}

.theme-bg-dark {
	background: rgb(0,0,0);
}

.theme-bg-medium {
	background: rgb(35,31,32);
}

.theme-bg-medium,
.theme-bg-dark,
.theme-bg-medium :is(h1, h2, h3, h4, h5, h6),
.theme-bg-dark :is(h1, h2, h3, h4, h5, h6),
.theme-bg-medium a.link-icon,
.theme-bg-dark a.link-icon,
.theme-bg-medium .is-style-link-button-more a,
.theme-bg-dark .is-style-link-button-more a {
	color: rgb(255,255,255);
}

.theme-bg-light {
	background: rgb(125,125,125);
}

.theme-bg-lightest {
	background: rgba(125,125,125,0.1);
}

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

.accent-blocks {
	margin: 5rem 0;
	color: rgb(255,255,255);
}

.accent-blocks :is(h1,h2,h3,h4,h5.h6) {
	color: rgb(255,255,255);
}

.accent-blocks .block {
	padding: 5rem;
	position: relative;
}

.accent-blocks .block:first-of-type {
	background: rgba(237,125,50);
}

.accent-blocks .block:nth-of-type(2) {
	background: rgba(35,31,32);
}

.aside,
.is-style-aside,
.aside-box {
	border-left: 5px solid rgb(237,125,50);
	background: rgba(35,31,32);
	color: rgb(255,255,255);
	padding: 3rem;
}

.aside-box :is(h2,h3,h4,h5,h6) {
	color: rgb(237,125,50);
	letter-spacing: -1px;
}

.aside.icon-location,
.is-style-aside.icon-location {
	padding-left: 6rem;
	position: relative;
}

.aside.icon-location:before,
.is-style-aside.icon-location:before {
	position: absolute;
	top: 2rem;
	left: 2rem;
	font-family: "Font Awesome";
	content: "\f3c5";
	font-size: 3rem;
	font-weight: 300;
	color:rgba(255,255,255,0.25) !important;
	display: block;
}


.aside-box ul {
  margin: 0;
  padding-left: 1rem;
}

.aside-box li:before {
  font-family: "Font Awesome";
  content: "\f0c8";
  font-size: 0.8rem;
  font-weight: 700;
  position: absolute;
  top: 1rem;
  left: -1rem;
  opacity: 1;
  font-style: normal;
  color:rgb(237,125,50) !important;
}

.aside-box li {
	font-size: 0.8rem;
	color: rgba(255,255,255,0.5);
	list-style: none;
	margin: 0;
	padding: 1rem;
	line-height: 1.25em !important;
	position: relative;
	width: 100% !important;
	display: block !important;
}

.aside-box li > strong:first-of-type {
	font-size: 1rem;
	color: rgba(255,255,255,1);
	text-transform: uppercase;
}

.is-style-aside a,
.aside-box a {
	color: rgba(255,255,255,1);
}

.is-style-aside a:hover,
.aside-box a:hover {
	color: rgb(237,125,50);
}

.feature-cta .block {
	display: flex;
	flex-wrap: nowrap;
	background: rgba(35,31,32,1);
	border-left: 5px solid rgb(237,125,50);
	padding: 1rem;
	text-align: center;
	width: 100%;
}

.feature-cta .label {
	color: rgba(255,255,255,0.5);
	text-transform: uppercase;
	font-size: 0.9rem;
	position: relative;
	top: 0.75rem;
}

.feature-cta .stat {
	color: rgb(237,125,50);
	font-weight: 900;
	font-size: 3rem;
	width: 150px;
	text-align: center;
}

/* Small Breakpoint */
@media screen and (min-width: 576px) {
	.feature-cta {
		display: flex;
	}
	.feature-cta .block {
		width: 50%;
	}
}


/* Large Breakpoint */
@media screen and (min-width: 992px) {

	.feature-cta {
		position: absolute;
		z-index: +1;
		top: calc(50vh - 5rem);
		right: 0;
		width: 30%;
		left: auto;
		max-width: 300px;
		display: block;
	}

	.feature-cta .block {
		background: rgba(35,31,32,0.75);
		border-left: 5px solid rgb(237,125,50);
		margin: 1rem 0;
		box-shadow: 0px 0px 20px rgba(0,0,0,0.5);
		width: auto;
		transition: all 0.5s;
	}

	.feature-cta .block:hover {
		margin-left: -2rem;
		width: calc(auto + 2rem);
		box-shadow: 0px 0px 20px rgba(237,125,50,0.75);
	}

	.feature-cta .block .label {
		max-width: 125px;
	}

}

/* Extra Large Breakpoint */
@media screen and (min-width: 1200px) {

	
}

/* ########## MEDIA STYLES ########## */

figure iframe {
	max-width: 100%;
}

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

/* ########## REVIEW STYLES ########## */

.reviews {
	position: relative;
}

.reviews blockquote {
	background: rgb(255,255,255);
	box-shadow: 0 0 20px 5px rgba(0,0,0,0.1);
	padding: 2rem;
	margin: 2rem;
 	position: relative;
}

.reviews blockquote .name {
	font-weight: 700;
	font-size: 1.25rem;
}

.reviews blockquote .rating {
	color: rgb(237,125,50);
	font-size: 1.5rem;
}

/* ########## GALLERY STYLES ########## */

.gallery .thumbnail {
	border-radius: 0;
	overflow: hidden;
	position: relative;
	padding: 0.5rem;
	cursor: pointer;
}

.gallery .thumbnail img {
	width: 100%;
	height: 200px;
	max-height: 200px;
	object-fit: cover;
	margin: 0 !important;
	max-width: none !important;
	border-radius: 0;
}

.gallery .thumbnail:hover {
	transform: scale(1.1,1.1);
}

.gallery .thumbnail-fill img {
    object-fit: cover;
    object-position: center;
}

.gallery .thumbnail:hover img {
	opacity: 0.25;
	z-index: 2;
	position: relative;
}

.gallery .thumbnail:hover:before {
	content: '';
	display: block;
	position: absolute;
	width: calc(100% - 1rem);
	height: calc(100% - 1rem);
	background: rgba(237,125,50,1);
	border-radius: 0;
	z-index: 1;
}

.gallery .thumbnail:hover:after {
	display: block;
	position: absolute;
    content: "\f00e";
    font-family: "Font Awesome";
	font-size: 4rem;
    top: calc(50% - 0.75em);
    left: calc(50% - 0.5em);
	color: rgb(255,255,255);
	z-index: 1;
}

.gallery.caseStudy .thumbnail:first-of-type {
	padding: 0 0.5rem;
}
.gallery.caseStudy .thumbnail:first-of-type img {
	height: 400px;
	max-height: 400px;
}


/* ########## PROCESS LIST STYLES ########## */

.process-list {
	counter-reset: process-counter;
}

.process-list > div {
	padding: 1rem;
	counter-increment: process-counter;
	margin: 0;
	position: relative;
	padding-left: calc(75px + 2rem);
}

.process-list > div:before {
	content: counter(process-counter)'';
	width: 75px;
	height: 75px;
	border: 1px solid rgba(237,125,50,1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	font-family: 'Figtree',sans-serif;
	font-weight: 900;
	font-size: 2rem;
	transition: all .3s;
	position: absolute;
	z-index: 1;
	left: 0;
}

.process-list > div:hover:before {
	background: rgba(237,125,50,1);
	box-shadow: 0 0 20px 5px rgba(237,125,50,0.5);
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
	.process-list > div {
		text-align: center;
		margin: 4rem 0 0 0;
		padding-left: 1rem;
	}

	.process-list > div:before {
		margin: 0 auto 2rem auto;
		position: relative;
	}

	.process-list > div:not(:last-of-type):after {
		content: '';
		position: absolute;
		top: 55px;
		width: 50%;
		left: auto;
		right: -25%;
		height: 2px;
		background-image: linear-gradient(to right, transparent 0%, rgb(237,125,50) 50%, transparent 100%);
		z-index: 0;
	}
}


/* ########## SERVICE STYLES ########## */

.services ul {
  margin: 2rem 0;
  padding-left: 1rem;
}

.services li:before {
  font-family: "Font Awesome";
  content: "\f0c8";
  font-size: 0.5rem;
  font-weight: 700;
  position: absolute;
  top: 0.5rem;
  left: -1rem;
  opacity: 1;
  font-style: normal;
  color:rgb(237,125,50) !important;
}

.services li {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1rem;
	line-height: 1.25em !important;
	position: relative;
}

.services .actions {
	padding: 2rem 0;
}

.services.featured {
	padding: 5rem 0;
}

.services.featured .item {
	background: rgba(0,0,0,0.25);
	position: relative;
	display: flex;
	color: rgb(255,255,255);
	margin: 1px;
}

.services.featured .item:hover {
	background: rgba(0,0,0,0.75);
}

.services.featured .item:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background-color: rgb(237,125,50);
	z-index: -1;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.5s ease;
	z-index: +1;
}

.services.featured .item:hover:before {
	transform: scaleY(1);
}

.services.featured .item .icon span {
	opacity: 0.25;
}

.services.featured .item:hover .icon span {
	color: rgb(237,125,50);
	opacity: 1;
}

.services.featured .item .title {
	text-transform: uppercase;
	font-weight: 900;
	max-width: 300px; 
}

.services.featured .item .summary p {
	opacity: 0.5;
	font-size: 0.8rem;
}

.services.featured .item:hover .summary p {
	opacity: 1;
}

.services.featured .item .actions {
	visibility: hidden;
}

.services.featured .item .actions {
	color: rgb(237,125,50);
    font-weight: 700;
    line-height: 1rem;
    font-size: 0.8rem;
	text-transform: uppercase;
}

.services.featured .item:hover .actions {
	visibility: visible;
	transition: all .25s;
}


/* Medium Breakpoint */
@media screen and (min-width: 768px) {
	.services li {
		display: inline-block;
		width: calc(50% - 2rem);
	}
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
	.services.featured .item span > span:not(:last-of-type) {
		border-right: 1px solid rgba(255,255,255,0.1);
	}
	.services.featured .item .actions {
		text-align: right;
	}
}


/* ########## PROJECT STYLES ########## */

.projects .item {
	position: relative;
	min-height: 25rem;
	background: rgba(242,242,242,1);
}

.projects .item .image {
	height: 250px;
	width: 100%;
}

.projects .item .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	max-height: 300px;
}

.projects .item .info {
	width: 100%;
	padding: 2rem 2rem 3rem 2rem;
	color: rgb(35,31,32);
	padding: 2rem;
}

.projects .item .heading {
    font-family: "Figtree", sans-serif;
    font-weight: 900;
    font-style: normal;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.projects .item .summary {
	font-size: 0.8rem;
}

.projects .item .location {
	color: rgba(237,125,50,1);
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: 700;
	padding-bottom: 0.5rem;
}


.projects.featured .item {
	position: relative;
	min-height: 0;
	background: rgba(242,242,242,1);
	display: block;
}

.projects.featured .item .image {
	height: 250px;
	width: 100%;
}

.projects.featured .item .info {
	width: 100%;
}

/* Small Breakpoint */
@media screen and (min-width: 576px) {

	.projects.featured .item {
		display: flex;
	}

	.projects.featured .item .info,
	.projects.featured .item .image {
		width: 50%;
	}

	.projects.featured .item .image {
		height: 100%;
	}

}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
	.projects.featured .item.first {
		display: block;
	}

	.projects.featured .item.first .info,
	.projects.featured .item.first .image {
		width: 100%;
	}

	.projects.featured .item.first .image {
		height: 250px;
	}
}


/* ########## PRODUCT STYLES ########## */

.products.featured {
	background: rgb(35,31,32);
}

.products .item {
	position: relative;
	min-height: 25rem;
	background: rgb(255,255,255);
}

.products.featured .row > div:nth-child(n+2) {
	display: none;
}

.products a.item,
.products span {
	display: block;
}

.products .item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.products .item .info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 2rem 2rem 3rem 2rem;
	background: rgba(35,31,32,0.9);
	color: rgb(255,255,255);
}

.products .item .heading {
    font-family: "Figtree", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 1.25rem;
	min-height: 3em;
}

.products .item .summary {
	font-size: 0.8rem;
}

.products .item .data {
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.5);
	padding: 0.5rem 0.75rem;
	font-size: 0.8rem;
}

.products .item .view {
	position: absolute;
	bottom: 0;
	right: 0;
	line-height: 1em;
	padding: 0.5rem 0.75rem;
	background: rgba(237,125,50,1);
}

.products .item .price {
	position: absolute;
	bottom: 0;
	right: 0;
	line-height: 1em;
}

.products .item .price label {
	display: block;
	font-size: 0.8rem;
}

.products .item .block {
	background: rgba(237,125,50,1);
}

.products .item .block.actions {
	background: rgba(0,0,0,0.5);
}

.products .item .block:not(.actions) {
	padding: 0.5rem;
	margin-left: 0.25rem;
}

.products .item .block button {
	border: none !important;
	background: none !important;
	color: rgb(255,255,255);
}
	
.products a.item:hover .price {
	background: rgba(35,31,32,0.9);
}


.products a.item:hover .info {
	background: rgba(237,125,50,0.9);
}

.product-label {
  color: rgb(35,31,32);
}
	

/* ########## TEAM STYLES ########## */

.team .item {
	background: rgba(0,0,0,0.25);
	position: relative;
	display: flex;
	color: rgb(255,255,255);
	margin: 1px;
}

.team .item:hover {
	background: rgba(0,0,0,0.75);
}

.team .item:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background-color: rgb(237,125,50);
	z-index: -1;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.5s ease;
	z-index: +1;
}

.team .item:hover:before {
	transform: scaleY(1);
}

.team .item div {
	height: 100%;
}


.team .item .position {
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 500;
	position: relative;
	color: rgb(237,125,50);
	display: block;
}

.team .item .name {
	text-transform: uppercase;
	font-size: 1.5rem;
	font-weight: 900;
	max-width: 300px; 
	display: block;
}

.team .item .highlights,
.team .item .summary {
	opacity: 0.5;
	font-size: 0.8rem;
}

.team .item:hover .highlights,
.team .item:hover .summary {
	opacity: 1;
}

.team .highlights ul {
	position: relative;
  margin: 2rem 0;
  padding-left: 1rem;
}

.team .highlights li {
	list-style: none;
	margin: 0;
	padding: 0.5rem 1rem;
	line-height: 1.25em !important;
	position: relative;
}

.team .highlights li:before {
  font-family: "Font Awesome";
  content: "\f0c8";
  font-size: 0.5rem;
  font-weight: 700;
  position: absolute;
  top: 0.5rem;
  left: -1rem;
  opacity: 1;
  font-style: normal;
  color:rgb(237,125,50) !important;
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {
	.team .item div > div:not(:last-of-type) {
		border-right: 1px solid rgba(255,255,255,0.1);
	}
}



/* ########## NEWS STYLES ########## */

.row .blog-post .row {
    height: 100%;
}

.row .blog-post .post-info {
    padding: 2rem 1rem 4rem 1rem;
}

.row .blog-post .post-date {
	position: absolute;
	bottom: 2em;
	left: 1em;
	color: rgb(182,187,196);
	font-size: 0.9em;
}

.row .blog-post a .post-excerpt {
	display: block;
	padding: 1em 0;
	font-size: 0.9em;
    line-height: 1.2em;
	word-wrap: break-word;
	overflow: hidden;
}

.row .blog-post a .post-excerpt p {
	line-height: 1.42857143 !important;
	margin: 0 !important;
}

.row .blog-post a {
	display: block;
	padding: 0;
	height: 100%;
	position: relative;
	box-sizing: border-box;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
	border-radius: 0.5em;
	overflow: hidden;
	color: rgb(255,255,255);
	text-decoration: none;
}

.row .blog-post a .post-more {
	position: absolute;
    right: 2em;
    bottom: 2em;
	color: rgb(237,125,50);
	font-size: 0.9em;
    font-family: 'Figtree', sans-serif;
}

.row .blog-post.feed a .post-more {
    right: auto;
    left: 1em;
}

.row .blog-post a .post-more:after {
	display:inline-block;
	font-family:'Font Awesome';
	font-weight: 400;
	line-height: 1;
	vertical-align:middle;
	content:"\f061"; 	
	padding-left: 0.5em;
	top: -2px;
	position: relative;
}

.row .blog-post a .post-title {
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 1em;
    line-height: 1.2em;
    color: rgb(237,125,50);
	display: block;
}

.row .blog-post a:hover {
	text-decoration: none;	
}

.row .blog-post a:hover .post-title,
.row .blog-post a:hover .post-more {
	color: rgb(35,31,32);
}


.row .blog-post .post-image {
	background: rgb(46,51,55) url('../images/article-placeholder.jpg') no-repeat 0 0;
	background-size: cover;
	display: block;
	position: relative;
	margin: 0;
    height: 200px;
    overflow: hidden;
}

.row .blog-post .post-image img {
	width: 100%;
	height: 100%;
    object-fit: cover;
}

.post .main-image {
    border-radius: 0.3em;
    overflow: hidden;
    margin-bottom: 2em;
}

.post .main-image img {
    width: 100%;
    height: auto !important;
}

/* ########## ICON / IMAGE / MEDIA STYLES ########## */

.search-results article {
	border-bottom: 1px solid rgba(255,255,255,0.15);
	padding-bottom: 1em;
	margin-bottom: 1em;
}

.search-results article header {
	font-size: 0.9em;	
}

.search-results header a {
 	color: rgb(255,255,255);
}

.search-results header a:hover {
	color: rgb(237,125,50);
}


/* ########## OUTRO STYLES ########## */

.outro {
	background: rgb(237,125,50);
	background-size: cover;
	padding: 8rem 4rem;
	color: rgb(35,31,32);
	position: relative;
}

.outro .wp-block-heading,
.outro :is(h1,h2,h3,h4,h5) {
	color: rgb(255,255,255);
	font-size: 2.5rem;
	line-height: 0.9em;
	margin: 0 0 2rem 0;
	padding: 0;
}

.outro :is(h1,h2,h3,h4,h5) strong {
	display: block;
	color: rgb(35,31,32);
}

.outro p {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.25em;
}

.outro a:not(.btn) {
	font-weight: 700;
    position: relative;
    display: inline-block;
	color: rgba(35,31,32,0.75);
	font-size: 2rem;
	margin: 2rem 0;
}

.outro a:not(.btn):hover {
	color: rgba(35,31,32,1);
}

.outro:before {
	background: url('../images/emblem.svg') no-repeat bottom center;
	opacity: 0.05;
    display: block;
    bottom: 0;
    position: absolute;
	content:"";
	width: 90%;
	height: 100%;
	left: 5%;
}

.outro .wp-bootstrap-blocks-button {
	display: block;
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {

.outro .wrapper {
	margin: 0 0 0 auto;
}

}

/* ########## FOOTER STYLES ########## */

footer {
	margin-top: 5rem;
}

footer .wrapper {
	padding: 0;
	position: relative;
	width: 100%;
	margin: 0 0 0 auto;
}

footer .footer {
	background: rgb(35,31,32);
	padding: 8rem 4rem;
	color: rgba(125,125,125,1);
	font-size: 0.9rem;
}

footer .footer :is(h1,h2,h3,h4,h5,h6) {
	color: rgb(237,125,50);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0;
	margin: 0.5rem 0;
}

footer .footer img {
	max-width: 200px;
	margin-bottom: 2rem;
}

footer .footer p {
	padding: 0;
	margin: 0;
}

footer .footer ul,
footer .footer ul li {
	list-style: none;
	padding: 0;
	margin: 0;
}

footer .footer ul {
	margin-bottom: 2rem;
}


footer .footer a {
	color: rgba(125,125,125,1);
	font-size: 0.9rem;
}

footer .footer a:hover {
	color: rgb(237,125,50);
	text-decoration: underline;
}

footer .legal {
	font-size: 0.8rem;
	color: rgba(125,125,125,1);
	display: block;
}

footer .legal a {
	color: rgba(125,125,125,1);
}

footer .info {
	font-size: 1rem;
}

footer .wp-block-heading {
	margin: 2rem 0 0 0;
}

@media screen and (max-width: 991px) {
	footer .wp-bootstrap-blocks-button {
		display: inline-block;
	}
}

/* Large Breakpoint */
@media screen and (min-width: 992px) {

	footer .wrapper {
		max-width: 650px;
		margin: 0 auto 0 0;
	}

}


/* ########## MISC STYLES ########## */

.to-top {
	background: rgba(35,31,32,1);
	padding: 0.5em 1em;
	color: #fff;
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 20;
	display: none;
	cursor: pointer;
	font-size: 1.25rem;
	clip-path: polygon(1rem 0%, 100% 0%, calc(100% - 1rem) 100%, 0% 100%);
}

.to-top:hover {
	background: rgba(237,125,50,1);
}

.pagination {
	margin: 0.5em auto;
	padding: 0;
	text-align: center;
	display: table;
}

.pagination a,
.pagination a:visited {
	display: inline-block;
	padding: 0.3em 0.8em;
	border-radius: 0.3em;
	background: rgb(223,226,230);
	color: rgb(255,255,255);
	text-decoration: none;
    border: none;
    font-size: .75rem;
}


.pagination a:hover {
	display: inline-block;
	padding: 0.3em 0.8em;
	border-radius: 0.3em;
	background: rgb(35,31,32);
	color: rgb(237,125,50);
    border: none;
}

.pagination .current {
	display: inline-block;
	padding: 0.3em 0.8em;
	border-radius: 0.3em;
	background: rgb(237,125,50);
	color: rgb(255,255,255);
    font-size: 0.75rem;
}

.at-above-post {
	position: absolute;
	top: -2.5em;
	right: 0;
}

.post .entry-content {
	margin: 1em 0 0 0;
	padding-top: 1em;
	position: relative;
}

a.more {
	color: rgb(237,125,50);
	font-size: 0.9em;
    font-family: 'Figtree', sans-serif;
}

a.more::after {
	display:inline-block;
	font-family:'Font Awesome';
	font-weight: 400;
	line-height: 1;
	vertical-align:middle;
	content:"\f061"; 	
	padding-left: 0.5em;
	top: -2px;
	position: relative;
}

/* ######### MODAL STYLES ######### */

.modal-content {
    border: none !important;
	position: relative;
	border-radius: 0 !important;
	padding: 2rem;
}

.modal-title {
	font-size: 2.5rem;
}

.modal-header {
	border: none;
	paddinG: 0;
	margin: 0;
}
.modal-body {
    padding:  0 0 2rem 0 !important;
}

.modal-content:before {
	border-left: 20px solid rgb(35,31,32);
	border-top: 20px solid rgb(35,31,32);
	box-sizing: border-box;
	height: 100px;
	display: block;
	content: '';
	width: 100px;
	position: absolute;
	top: -40px;
	left: -40px;
}

.modal-content:after {
	border-right: 20px solid rgb(237,125,50);
	border-bottom: 20px solid rgb(237,125,50);
	box-sizing: border-box;
	height: 100px;
	display: block;
	content: '';
	width: 100px;
	position: absolute;
	bottom: -40px;
	right: -40px;
}


/* ########## FORM STYLES ########## */


form .value {
	font-size: 3rem;
	font-weight: 400;
	display: block;
	color: rgb(237,125,50);
}

form label {
	color: rgb(237,125,50);
	font-weight: 500;
	display: block;
}

form .fieldgroup {
	border: 1px solid rgba(125,125,125,0.1);
	border-radius: 0.25rem;
	padding: 1rem;
	margin: 0.5rem 0;
}

form fieldset {
	border: 1px solid rgba(35,31,32,0.25);
	padding: 1rem 1rem 1rem 5rem;
	position: relative;
}

form fieldset:before {
    display: block;
    font-family: "Font Awesome Sharp";
    content:"\e3d6";
    font-size: 2em;	
    position: absolute;
    font-weight: 300;
    top: calc(50% - 0.5em);
	left: 1rem;
	color: rgba(35,31,32,0.25);
}

form .choiceGroup {
  display: inline-block;
  padding: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  overflow: hidden;
}

form .choiceGroup label {
	margin: 0;
	padding: 0.375rem 0.75rem;
	position: relative;
	color: rgb(35,31,32);
	font-weight: 400;
	transition: .5s;
}

form .choiceGroup label.selected {
	background: rgb(35,31,32);
	color: rgb(255,255,255);
	padding-left: 2.5rem;
}

form .choiceGroup label.selected:before {
    font-family: "Font Awesome Sharp";
    content:"\f00c";
    font-size: 1em;	
    position: absolute;
    font-weight: 500;
    top: calc(50% - 0.75em);
	left: 1rem;
	color: rgba(255,255,255,1);	
}

form .choiceGroup input {
	position: absolute;
	clip: rect(0,0,0,0);
	pointer-events: none;
}

.wpcf7-list-item {
	margin: 0;
	padding: 0;
}

.wpcf7-textarea {
    height: 8em;
}

form .checkboxes .wpcf7-list-item {
  padding: 0;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #ced4da;
  display: inline-block;
  margin: 0.25rem !important;
  color: rgb(35,31,32);
  width: calc(100% - 0.5rem);
}

@media screen and (min-width: 768px) {
	form .checkboxes .wpcf7-list-item {
	  width: calc(50% - 0.5rem);
	}
}


form .checkboxes .wpcf7-list-item-label {
  padding: .375rem .75rem;
  margin-left: 35px;
  display: inline-block;
  color: rgb(35,31,32);
}

form .checkboxes label {
	position: relative;
}

form .checkboxes label:before {
	position: absolute;
	left: 1px;
	top: 1px;
	height: calc(100% - 2px);
	background: rgb(255,255,255);
    font-family: "Font Awesome Sharp";
	content: '\f0c8';
	padding: 0.5em .55rem;
	color: rgba(35,31,32,0.5);
	width: 35px;
}

form .checkboxes label.selected:before {
    content:"\f00c";
	color: rgba(237,125,50,1);
}

form .checkboxes label input[type="checkbox"] {
	display: none;
}

form.sent .wpcf7-submit,
form.sent .fieldgroup {
	display: none;
}

form .wpcf7-response-output {
	color: #664d03 !important;
    background-color: #fff3cd !important;
	border: 1px solid #ffeeba !important;
	padding: .75rem 1.25rem !important;
}

form.sent .wpcf7-response-output {
	color: #155724 !important;
    background-color: #d4edda !important;
	border: 1px solid #c3e6cb !important;
}

form label.required::before {
  content: "\2a";
  display: block;
  font-family: "Font Awesome";
  position: relative;
  top: 0.25em;
  left: 0;
  float: left;
  padding-right: .5em;
  color: rgb(35,31,32);
  font-weight: 400 !important;
  font-size: 0.8rem;
}


/* ########## TAB STYLES ########## */

.tab {
	border: 1px solid rgba(35,31,32,0.25);
	padding: 1rem;
	text-align: center;
	color: rgb(35,31,32);
	font-weight: 600;
	cursor: pointer;
	line-height: 1rem;
}

.tab:hover {
	background: rgb(237,125,50);
	border: 1px solid rgb(237,125,50);
	color: rgb(255,255,255);
}

.tab .icon {
	opacity: 0.25;
}

.tab .label {
	display: block;
}

.tab.active {
	background: rgb(35,31,32);
	border: 1px solid rgb(35,31,32);
	color: rgb(255,255,255);
}

.tab input {
	visibility: hidden;
	display: block;
	height: 0;
}

.tab-data {
	display: none;
}



/* ########## RESPONSIVE STYLES ########## */



/* Small Breakpoint */
@media screen and (min-width: 576px) {

    .row .blog-post:not(.feed) .post-image {
        height: auto;   
    }
   
	.products.featured .row > div:nth-child(n+2) {
		display: flex;
	}

	.products.featured .row > div:nth-child(n+3) {
		display: none;
	}
	
}
	
@media screen and (min-width: 576px) and (max-width: 991px) {
	
}

/* Medium Breakpoint */
@media screen and (min-width: 768px) {
	
    .recent_posts article:nth-child(n+3) {
        display: block;
    }
    .recent_posts article:nth-child(n+4) {
        display: none;
    }
	
	.products.featured .row > div:nth-child(n+3) {
		display: flex;
	}

	.products.featured .row > div:nth-child(n+4) {
		display: none;
	}
	
	.divider-left {
		padding-left: 4rem;
		position: relative;
	}
	.divider-left:before {
		content: '';
		display: block;
		height: 100%;
		width: 5px;
		background: rgb(237,125,50);
		top: 0;
		left: 0;
		position: absolute;
	}

}

/* Large Breakpoint */
@media screen and (min-width: 992px) {

	h1 {
		font-size: 3.5rem;
	}

	footer {
		overflow: hidden;
	}
	footer .wrapper:before {
		right: -100px;
		background-position: top right;
		bottom: auto;
		top: 0;
	}
	
	.accent-blocks {
		margin: 10rem 0;
	}
	
	.accent-blocks .block:first-of-type {
		position: relative;
		top: -5rem;
	}

	.accent-blocks .block:nth-of-type(2) {
		position: relative;
		bottom: -5rem;
	}
	
	.cta:after {
		right: -50px;
		bottom: -80px;
	}
	
	.reviews {
		padding-bottom: 200px;
	}

	.reviews blockquote {
		right: 1rem;
	}

	.reviews blockquote:nth-child(2n) {
		left: 1rem;
		right: auto;
	}
	
	.products.featured .row > div:nth-child(n+4) {
		display: flex;
	}
	
}

/* Extra Large Breakpoint */
@media screen and (min-width: 1200px) {

    .recent_posts article:nth-child(n+4) {
        display: block;
    }     
	
}

/* Wrapper Breakpoint */
@media screen and (min-width: 1400px) {

    .recent_posts article:nth-child(n+4) {
        display: block;
    }     
	
	.accent-blocks .block:first-of-type {
		padding-left: calc((100vw - 1400px) / 2);
	}

	.accent-blocks .block:nth-of-type(2) {
		padding-right: calc((100vw - 1400px) / 2);
	}
	
	.reviews {
		padding-right: calc((100vw - 1400px) / 2);
	}
	
}

@media screen and (min-width: calc(1400px + 10rem)) {
	.accent-blocks .block:first-of-type:after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: calc((100vw - 1400px) / 2 - 5rem);
		width: 5px;
		height: calc(100% - 5rem);
		background: rgb(255,255,255);
	}
	
	.accent-blocks .block:nth-of-type(2):after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		right: calc((100vw - 1400px) / 2 - 5rem);
		width: 5px;
		height: calc(100% - 5rem);
		background: rgb(255,255,255);
	}
}
