/*
	Theme Name: Balefire Theme
	Theme URI: https://roofwithfoster.com
	Description: Balefire Agency WordPress Theme
	Version: 1.4.6
	Author: Balefire Agency
	Author URI: https://balefireagency.com/
	Tags: Balefire Theme
	License: MIT
	License URI: http: //opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    VARIABLES
\*------------------------------------*/

:root {
	--font-body: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--body: #383838;
	--black: #000;
	--white: #fff;
	--primary: #3C92D8;
	--primary-light: #7EA8D1;
	--primary-mid: #194893;
	--primary-dark: #021d49;
	--blue-overlay: hsla(217, 75%, 46%, 0.82);
	--primary-dark-overlay: hsla(216, 95%, 15%, 0.82);
	--gray-light: #eaeaea;
	--gray-mid: #A7A8A9;
	--gray: #676E76;
	--gray-bg: #eeeeee;
	--gray-bg-fa: #F1F3F5;
	--gray-darker-bg: #636364;
	--gray-overlay: rgba(99, 99, 99, 0.88);

	--space-5xs: clamp(0.25rem, 0.2283rem + 0.1087vw, 0.3125rem);
	--space-4xs: clamp(0.3125rem, 0.2908rem + 0.1087vw, 0.375rem);
	--space-3xs: clamp(0.375rem, 0.3315rem + 0.2174vw, 0.5rem);
	--space-2xs: clamp(0.5rem, 0.4565rem + 0.2174vw, 0.625rem);
	--space-xs: clamp(0.75rem, 0.6848rem + 0.3261vw, 0.9375rem);
	--space-s: clamp(1rem, 0.913rem + 0.4348vw, 1.25rem);
	--space-m: clamp(1.5rem, 1.3696rem + 0.6522vw, 1.875rem);
	--space-l: clamp(2rem, 1.8261rem + 0.8696vw, 2.5rem);
	--space-xl: clamp(3rem, 2.7391rem + 1.3043vw, 3.75rem);
	--space-2xl: clamp(4rem, 3.6522rem + 1.7391vw, 5rem);
	--space-3xl: clamp(6rem, 5.4783rem + 2.6087vw, 7.5rem);

	/* One-up pairs */
	--space-5xs-4xs: clamp(0.25rem, 0.2065rem + 0.2174vw, 0.375rem);
	--space-4xs-3xs: clamp(0.3125rem, 0.2473rem + 0.3261vw, 0.5rem);
	--space-3xs-2xs: clamp(0.375rem, 0.288rem + 0.4348vw, 0.625rem);
	--space-2xs-xs: clamp(0.5rem, 0.3478rem + 0.7609vw, 0.9375rem);
	--space-xs-s: clamp(0.75rem, 0.5761rem + 0.8696vw, 1.25rem);
	--space-s-m: clamp(1rem, 0.6957rem + 1.5217vw, 1.875rem);
	--space-m-l: clamp(1.5rem, 1.1522rem + 1.7391vw, 2.5rem);
	--space-m-ll: clamp(1.5rem, 1.1522rem + 1.7591vw, 3rem);
	--space-l-xl: clamp(2rem, 1.3913rem + 3.0435vw, 3.75rem);
	--space-xl-2xl: clamp(3rem, 2.3043rem + 3.4783vw, 5rem);
	--space-2xl-3xl: clamp(4rem, 2.7826rem + 6.087vw, 7.5rem);

	/* Custom space pairs */
	--space-1-0: clamp(0.125rem, 1.4375rem - 1.3125vw, 1rem);
	--space-1-3: clamp(2.75rem, 1.4304rem + 2.3478vw, 3.25rem);
	--space-s-l: clamp(1rem, 0.4783rem + 2.6087vw, 2.5rem);
	--space-s-xl: clamp(1.125rem, 0.212rem + 4.5652vw, 3.75rem);
	--space-xs-xl: clamp(0.75rem, -0.2935rem + 5.2174vw, 3.75rem);
	--space-none-2xl: clamp(0rem, -1.0870rem + 5.4348vw, 5rem);
	--space-s-2xl: clamp(1.125rem, -0.2228rem + 6.7391vw, 5rem);
	--space-m-xl: clamp(1.5rem, 0.6304rem + 4.3478vw, 3.75rem);
	--space-m-2xl: clamp(1.5rem, -0.2555rem + 6.9875vw, 5rem);
	--space-m-3xl: clamp(1.6875rem, -0.3342rem + 10.1087vw, 7.5rem);
	--space-l-3xl: clamp(2.25rem, 0.4239rem + 9.1304vw, 7.5rem);

	/* Fluid Type for fonts */
	--font-xs: clamp(0.64rem, -0.01vi + 0.64rem, 0.63rem);
	--font-sm: clamp(0.8rem, 0.08vi + 0.78rem, 0.84rem);
	--font-base: clamp(1rem, 0.23vi + 0.94rem, 1.125rem);
	--font-md: clamp(1.35rem, 0.45vi + 1.14rem, 1.5rem);
	--font-lg: clamp(1.75rem, 0.79vi + 1.36rem, 2.125rem);
	--font-xl: clamp(1.95rem, 1.29vi + 1.63rem, 2.66rem);
	--font-2xl: clamp(2.44rem, 2.02vi + 1.94rem, 3.55rem);
	--font-3xl: clamp(3.05rem, 3.06vi + 2.29rem, 4.73rem);
	--font-4xl: clamp(3.81rem, 4.54vi + 2.68rem, 6.31rem);

	/* Custom Fluid font pairs */
	--font-m-l: clamp(1rem, 0.9348rem + 0.3261vw, 1.25rem);
	--font-cta-hl: clamp(1.5rem, 1.5065rem + 1.1087vw, 1.875rem);
	--font-l-xl: clamp(2.125rem, 1.7065rem + 1.1087vw, 3rem);
	--font-m-l: clamp(1rem, 0.8261rem + 0.8696vw, 1.5rem);
	--font-l-2xl: clamp(2.375rem, 1.0978rem + 3.3967vw, 4rem);
	--font-hero-title: clamp(2rem, 0.7391rem + 3.2609vw, 5.25rem);
	--font-hero-text-top: clamp(0.875rem, 0.6875rem + 0.9375vw, 1.5rem);
    --font-hero-text-bottom: clamp(0.875rem, 0.6094rem + 1.3281vw, 1.688rem);
}

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*::after,
*::before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-rendering: optimizeLegibility;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	font: 400 16px/1.3 var(--font-body);
	color: var(--body);
	margin: 0;
	padding: 0;
}

main {
	padding-bottom: var(--space-m-2xl);
}

.about-us main,
.roofing-financing-options main,
.realtors main {
	padding-bottom: 0;
}

.clear::before,
.clear::after {
	content: ' ';
	display: table;
}

.clear::after {
	clear: both;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	text-decoration: none;
}

/* Main link styles */
main a:not(.btn):not(.btn-sm),
main a:not(.btn):not(.btn-sm):not(.modal-phone-btn),
main a:not(.btn):not(.btn-sm):not(.modal-phone-btn):not(.call-now-cta) {
    color: var(--primary);
    text-decoration: none;
}
main a:not(.btn):not(.btn-sm):hover {
    color: var(--primary);
}

main a:not(.btn):not(.btn-sm):focus {
    color: var(--primary-dark);
    outline: 0;
}

main a:not(.btn):not(.btn-sm):hover,
main a:not(.btn):not(.btn-sm):active {
    outline: 0;
}

/* Button styles */
a.btn,
.btn {
    font-size: 21px;
    color: var(--white);
    display: inline-block;
    text-transform: uppercase;
    padding: 0.675rem 1.25rem;
    margin-block: auto;
    border: none;
    background: var(--primary);
    font-weight: 700;
    transition: all 0.2s ease-in-out;
    align-items: center;
}

a.btn-sm,
.btn-sm {
    font-size: 1rem;
    color: var(--white);
    display: inline-block;
    text-transform: uppercase;
    padding: 0.625rem 0.85rem;
    margin-block: auto;
    border: none;
    background: var(--primary);
    font-weight: 700;
    transition: all 0.2s ease-in-out;
    align-items: center;
	line-height: 1;
}

a.btn:hover,
.btn:hover,
a.btn:focus,
.btn:focus,
a.btn-sm:hover,
.btn-sm:hover,
a.btn-sm:focus,
.btn-sm:focus {
    color: var(--white);
    background: var(--primary-dark);
    text-decoration: none;
}

a.call-now-cta {
	position: relative;
	padding-left: 1.125rem;
	font-size: 1.4rem;
	font-weight: 700;
	text-transform: uppercase;
	margin-left: 1rem;
}

a.call-now-cta{
	color: var(--white);
}

a.call-now-cta::before {
	content: '';
	color: var(--primary);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 23px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.755' height='22.009' viewBox='0 0 13.755 22.009'%3E%3Cpath id='Path_422' data-name='Path 422' d='M12.38,0a1.249,1.249,0,0,1,.963.413,1.249,1.249,0,0,1,.413.963V20.633a1.41,1.41,0,0,1-1.376,1.376h-11A1.249,1.249,0,0,1,.413,21.6,1.249,1.249,0,0,1,0,20.633V1.376A1.249,1.249,0,0,1,.413.413,1.249,1.249,0,0,1,1.376,0Zm-.963,16.506V3.714H2.338V16.506Zm-5.5,3.714a1.249,1.249,0,0,0,.963.413,1.249,1.249,0,0,0,.963-.413,1.33,1.33,0,0,0,0-1.926,1.249,1.249,0,0,0-.963-.413,1.249,1.249,0,0,0-.963.413,1.33,1.33,0,0,0,0,1.926Z' fill='%231594E1'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.pagination {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 2rem 0;
}

.pagination .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 2rem;
	color: var(--body) !important;
    height: 2rem;
    margin: 0 0.25rem;
    padding: 0.25rem 0.5rem;
    text-decoration: none;
    color: var(--body);
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    transition: all 0.3s ease;
}

.pagination a {
	color: var(--body);
}

.pagination .page-numbers,
.pagination .page-numbers a:link {
	color: var(--body);
}

.pagination .page-numbers.current {
    background-color: var(--white);
    font-weight: bold;
	color: var(--body);
}

.pagination .page-numbers:hover:not(.current) {
    background-color: var(--gray-light) !important;
	color: var(--body);
}

.pagination .next,
.pagination .prev {
    background-color: var(--primary);
    color: var(--white) !important;
    border: none;
    padding: 0.25rem 0.75rem;
	transition: all 0.3s ease;
}

.pagination .next:hover,
.pagination .prev:hover {
    background-color:var(--primary-dark);
	color: var(--black) !important;
}

.pagination .dots {
    border: none;
}

.pagination .dots:hover {
    background-color: none;
}

/*------------------------------------*\
    GLOBAL
\*------------------------------------*/

body {
	font-family: var(--font-body);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-weight: 700;
	line-height: 1.3;
	margin: 0.5rem 0;
	color: var(--primary);
	text-transform: uppercase;
	color: var(--primary);
}

h1,.h1 {
	font-size: var(--font-xl);
	font-weight: 900;
}

h2,.h2 {
	font-size: var(--font-lg);
	font-weight: 700;
}

h3 {
	font-size: var(--font-md);
}

h4 {
	font-size: 1.4rem;
}

h5 {
	font-size: 1.3rem;
}

h6 {
	font-size: 1.2rem;
}

h2+p, h3+p, h4+p, h5+p, h6+p {
	margin-block-end: 0.5rem;
}

p,ol,ul,blockquote,address {
	font-size: var(--font-base);
	line-height: 1.4;
	margin-block: inherit;
}

main p {
	margin-block-end: 0.75rem;
}

address {
	font-style: normal;
}

strong {
	font-weight: 700;
}

main ul {
	font-size: var(--font-base);
}

main ul>li {
	margin-block: var(--space-xs);
	list-style-type: inherit;
}

main ul.wp-block-list>li {
	margin-block: var(--space-xs);
	list-style-type: disc;	
}

main ol {
	padding: 0 0 20px 20px;
	color: var(--black);
	font-size: var(--font-base);
	line-height: 1;
}

main ol>li {
	margin-bottom: 10px;
	list-style-type: decimal;
}

body .vc_column_container>.vc_column-inner {
	box-sizing: border-box;
	padding-left: inherit;
	padding-right: inherit;
	width: 100%;
}

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

.text-small {
	font-size: 0.875rem;
}

.disclaimer {
	font-size: 0.875rem;
	max-width: 550px;
}

.edit-post {
	text-align: center;
	padding: 2rem 1rem;
	font-size: 1.25rem;
	background-color: var(--gray-light);

	a {
		color: var(--white);
		text-decoration: none;
		background-color: var(--primary);
		padding: 1rem 2rem;
	}

	.post-edit-link {
		margin-right: 0.125rem;
		background-color: var(--primary-dark);
	}
}

/*------------------------------------*\
    HEADER
\*------------------------------------*/

.header-spacer {
	display: block;
	width: 100%;
	height: auto;
	padding-top: 75px;
}

header.header {
	box-shadow: 0 0.25rem 17px 0 rgba(0, 0, 0, 0.25);
	position: fixed;
	top: 0;
	z-index: 9999;
	width: 100%;
	background-color: var(--white);
}

.header-inner {
	display: flex;
	flex-direction: row;
	max-width: 1280px;
	margin: auto;
	justify-content: space-between;
	padding: var(--space-2xs) var(--space-xs);
}

header .logo a {
	padding: 2.5px 0 5px;
	display: flex;
	align-items: center;
	width: 100%;
	height: auto;
  }
  
header .logo a img {
	width: 100%;
	max-width: 161px;
	height: auto;
	padding: 5px 0;
}

.header-right {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0;
	margin: auto 0;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--primary-dark);
}

.header-right .nav ul {
	list-style-type: none;
	margin-block-start: auto;
	margin-block-end: 1rem;
	color: var(--primary-dark);
}

.nav .menu-item-has-children .sub-menu li a {
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: capitalize;
}

.header-right .top-menu {
	display: flex;
	flex-direction: row;
	align-items: center;
	align-self: flex-end;
	margin: 0;
	padding: var(--space-2xs) 0 var(--space-s);
}

.header-right .menu li a {
	text-transform: uppercase;
	font-weight: 700;
	color: var(--gray);
}

.header nav.nav .menu-item-has-children ul.sub-menu {
	display: none;
}

.nav {
	font-family: var(--font-body);
}

.nav a {
	position: relative;
	cursor: pointer;
}

.nav .menu-item-has-children>a::after {
	content: '\2303';
	position: absolute;
	font-size: 12px;
	color: #A7A8A9;
	display: inline-block;
	font-weight: 700;
	width: 6px;
	height: 3px;
	right: 2px;
	bottom: 12px;
	transform: translate(0, -50%) rotate(180deg);
}

.mobile-menu {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;	
}

.mobile-menu svg {
	align-self: center;
	margin: auto auto;
}

.mobile-phone {
	margin-top: 0.25rem;
}

.mobile-nav {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.nav button.close-btn {
	position: absolute;
	top: 16px;
	right: 16px;
	background-color: transparent;
	border: none;
	cursor: pointer;
	color: var(--white);
}

.nav-toggle {
	z-index: 1;
	position: relative;
	margin: auto 10px auto 15px;
	width: 37px;
	height: 32px;
}

.logo {
	min-width: 150px;
}

.logo-img {
	display: flex;
}

header nav.nav {
	color: var(--white);
}

#menu-top-bar {
	display: flex;
	flex-direction: row;
	margin-left: auto;
	font-size: 0.9rem;
}

.header-top-menu li a {
	color: var(--gray);
}

#menu-top-bar li.menu-item {
	padding-left: 1rem;
	padding-right: 1rem;
	font-weight: 400;
}

#menu-top-bar li.menu-item:last-child {
	padding-left: 1rem;
	padding-right: 0;
}

li.top-menu-blog {
	position: relative;
	padding-left: 2rem;
	/* Adjust this value as needed */
}

li.top-menu-blog::before {
	content: "";
	position: absolute;
	left: 0;
	top: 48%;
	transform: translateY(-50%);
	width: 15.158px;
	height: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.158' height='12' viewBox='0 0 15.158 12'%3E%3Cpath id='Path_455' data-name='Path 455' d='M15.147,8.173C15.005,4.629,13.476,2.616,12.3,3.06c-.989.376-7.428,3.045-10.218,4.2A1.6,1.6,0,0,1,.5,6.969a3.407,3.407,0,0,0,.07,3.649,1.562,1.562,0,0,1,1.52-.458c2.8.887,9.611,3.034,10.634,3.347,1.3.4,2.569-1.79,2.428-5.334ZM13.46,11.314c-.342.951-1.01,1-1.43.063A8.952,8.952,0,0,1,11.8,5.234c.367-.95.986-.993,1.43-.063A8.952,8.952,0,0,1,13.46,11.314ZM8.973,13.6,7.791,14.746a.9.9,0,0,1-.9.211l-2.46-.772a.9.9,0,0,1-.6-.663l-.368-1.662,1.323.418.128.582a.6.6,0,0,0,.4.439l1.334.414a.593.593,0,0,0,.595-.14l.4-.393,1.324.417Z' transform='translate(0 -3)' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

li.top-menu-blog a {
	padding-left: 0.33rem;
}

li.top-menu-reviews {
    position: relative;
    padding-left: 2rem;
}

li.top-menu-reviews::before {
    content: "";
    position: absolute;
    left: 0.33rem;
    top: 44.5%;
    transform: translateY(-50%);
    width: 12.617px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.617' height='12' viewBox='0 0 12.617 12'%3E%3Cpath id='Path_440' data-name='Path 440' d='M6.309.587,8.237,4.566l4.38.605L9.429,8.235l.778,4.352L6.309,10.5l-3.9,2.086.779-4.352L0,5.171l4.38-.605Z' transform='translate(0 -0.587)' fill='%233C92D8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

li.top-menu-reviews a {
    padding-left: 0.33rem;
}

li.top-menu-company {
	position: relative;
	padding-left: 2rem;
	/* Adjust this value as needed */
}

li.top-menu-company::before {
	content: "";
	position: absolute;
	left: 0.5rem;
	top: 46%;
	transform: translateY(-50%);
	width: 13px;
	/* Match the SVG width */
	height: 16px;
	/* Match the SVG height */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'%3E%3Cpath id='Path_441' data-name='Path_441' d='M5,12,6.5,7.5H2L9,0,7.5,4.5H12Z' transform='translate(-2)' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

li.top-menu-company a {
	padding-left: 0.33rem;
}

li.top-menu-faq {
	position: relative;
	padding-left: 2rem;
	/* Adjust this value as needed */
}

li.top-menu-faq::before {
	content: "";
	position: absolute;
	left: 0.25rem;
	top: 48%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath id='Path_439' data-name='Path_439' d='M6,1A5,5,0,1,1,1,6,5.006,5.006,0,0,1,6,1ZM6,0a6,6,0,1,0,6,6A6,6,0,0,0,6,0Zm.625,8.5A.625.625,0,1,1,6,7.875.625.625,0,0,1,6.625,8.5Zm.7-5a1.765,1.765,0,0,0-1.276-.477A1.772,1.772,0,0,0,4.251,5H5.256c0-.743.415-1.007.769-1.007a.661.661,0,0,1,.682.613c.031.424-.2.638-.481.911A1.841,1.841,0,0,0,5.51,7.25h1A1.317,1.317,0,0,1,6.98,6.161,2.24,2.24,0,0,0,7.748,4.65,1.565,1.565,0,0,0,7.321,3.5Z' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

li.top-menu-faq a {
	padding-left: 0.33rem;
}

li.top-menu-contact {
	position: relative;
	padding-left: 2rem;
}

li.top-menu-contact::before {
	content: "";
	position: absolute;
	left: 0.55rem;
	top: 46%;
	transform: translateY(-50%);
	width: 8px;
	height: 13px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.5' height='12' viewBox='0 0 7.5 12'%3E%3Cpath id='Path_422' data-name='Path_422' d='M6.75,0a.681.681,0,0,1,.525.225A.681.681,0,0,1,7.5.75v10.5a.769.769,0,0,1-.75.75h-6a.681.681,0,0,1-.525-.225A.681.681,0,0,1,0,11.25V.75A.681.681,0,0,1,.225.225.681.681,0,0,1,.75,0ZM6.225,9V2.025H1.275V9Zm-3,2.025a.681.681,0,0,0,.525.225.681.681,0,0,0,.525-.225.725.725,0,0,0,0-1.05A.681.681,0,0,0,3.75,9.75a.681.681,0,0,0-.525.225.725.725,0,0,0,0,1.05Z' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

li.top-menu-contact a {
	padding-left: 0.33rem;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper {
	max-width: 1280px;
	width: 97.5%;
	margin: 0 auto;
	position: relative;
	padding: 0 var(--space-m);
}

.home .page-header,
.page-header {
	position: relative;
	z-index: 1;
}

.home .page-header {
	position: relative;
	width: 100%;
	min-height: 155px;
	margin: auto;
	overflow: hidden;
}

.home .page-header video {
	position: absolute;
	width: 100%;
	height: auto;
}

.home .page-header {
	position: relative;
	width: 100%;
	height: auto;
	margin: auto;
	overflow: hidden;
	top: 0;
}

.page-header {
	display: block;
	width: 100%;
	height: auto;
}

.page-header h1 {
	color: var(--white);
	display: block;
	text-shadow: 3px 5px 10px rgba(0, 0, 0, 0.5);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.page-header .subhead {
	font-size: 18px;
	font-weight: 500;
	color: #D8D7D2;
}

.page-header {
	margin: 0 auto;
}

.page-header .header-overlay {
	width: 100%;
	height: auto;
	z-index: 1;
}

.page-header .header-text {
	max-width: 1280px;
	margin: auto;
}

#breadcrumbs {
	font-size: 12px;
	font-weight: 400;
	padding: 0.6rem 0;
	margin: 0 auto var(--space-m);
	color: var(--white);
	background: linear-gradient(150deg, var(--blue-overlay), var(--primary-dark-overlay));
	margin-block-end: var(--space-m-l);
}

#breadcrumbs .wrapper {
	padding-inline: var(--space-xs);
}

#breadcrumbs a {
	color: var(--white);
}

.gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme.gform-theme--framework.gform_wrapper input:is([type="submit"], [type="button"], [type="reset"]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme.gform-theme--framework.gform_wrapper input[type="submit"].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	background: var(--primary);
	color: var(--black);
	border: none;
	padding: var(--space-m) var(--space-l);
	width: auto;
	text-align: center;
	margin: 0.25rem auto;
	font-size: 1.25rem;
	font-weight: 700;
}

.quote-box #gform_save_1_footer {
	display: none;
}

input[type="submit"] {
	background: var(--primary);
	padding: 1rem 2rem;
	color: var(--white);
	border: none;
	font-size: 1.25rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
	background: var(--primary-dark);
}

.single {
	h2,
	.h2,
	h3,
	.h3,
	h4,
	.h4,
	h5,
	.h5,
	h6,
	.h6 {
		font-weight: 700;
		line-height: 1;
		margin: var(--space-s-m) 0;
		color: var(--body);
		text-transform: none;
		color: var(--body);
	}
}


/* sidebar */
.sidebar {
	margin: 0 auto var(--space-m-2xl);
}

.sidebar .social {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	margin: 1rem 0;
	padding-top: 0;
}

.sidebar .social-icon a svg {
	color: var(--primary);
	margin-right: 0.5rem;
}

.sidebar .social-icon a:hover svg {
	color: var(--primary-darker);
	margin-right: 0.5rem;
}

.sidebar h2,
.sidebar h3 {
	color: var(--primary);
	margin-block: 1rem;
}

.sidebar a,
.sidebar a:link {
	color: var(--primary);
	text-decoration: none;
}

.sidebar .fb-page.fb_iframe_widget iframe {
	min-width: 100%;
	margin-block: var(--space-s-m);
}

ul.wp-block-latest-posts li {
	padding-block: 0.25rem;
	font-size: 1.25rem;
}

.search-form {
    display: flex;
    flex-direction: row;
    min-width: 100%;
    margin-bottom: 1.5rem;
}

.search-form .search-input {
    width: 66%;
    padding: 1rem;
    border: 1px solid #ccc;
    border-right: none;
    font-size: 0.9rem;
}

.search-form .search-submit {
    width: 34%;
    padding: 0.5rem;
    background-color: var(--primary);
    color: white;
	font-weight: 700;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

.search-form .search-submit:hover {
    background-color: var(--primary-dark);
}

.search-form .search-container {
    width: 100%;
}

.search-bar {
	margin: auto auto var(--space-l);
}

.search-bar {
    margin: var(--space-m-l) auto var(--space-s-m);
	max-width: 55rem;
}

.search.search-results .search-bar {
	padding: var(--space-m-xl) var(--space-m) var(--space-2xs);
}

.search-bar ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	list-style-type: none;
	padding: 0;
	margin: var(--space-m) auto;
	text-align: center;
	font-size: var(--font-size-m);
	list-style-type: none;
}

.search-bar ul li a {
	color: var(--primary);
}

.search-bar ul li {
	color: var(--gray);
	padding: 0 var(--space-4xs-3xs);
}

#post-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--space-s-m);
}

#post-grid article {
	background-color: var(--gray-bg);
	margin-block-end: 0.25rem;
}

#post-grid .post-thumb a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-height: 210px;
	max-width: none;
	margin-block-end: var(--space-s);
}

#post-grid h2 {
	font-size: var(--font-m-l);
	list-style: 1.3;
	margin-block-end: var(--space-xs);
}

#post-grid .post-info {
	padding: var(--space-3xs-2xs) var(--space-s-m) var(--space-s-m);
}

#post-grid article.no-results {
    grid-column: span 3;
    text-align: center;
    margin: var(--space-m-l) auto;
    font-size: var(--font-m-xl);
    background-color: var(--white);
}

.padding-y-lg {
	padding-top: var(--space-m-2xl);
	padding-bottom: var(--space-m-2xl);
}

#gray-bg,
.gray-bg,
#types-grid {
	background-color: var(--gray-bg);
	padding: 0;
	margin: auto;
}

.sharethis-inline-share-buttons {
	padding-bottom: var(--space-m);
}

#types-grid {
	padding: 0 var(--space-m);
}

#types-grid.padding-3xl-y {
	padding: var(--space-m-3xl) 0 var(--space-m-2xl);
}

#fw-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: var(--space-none-2xl) 0;
}

.residential-roofing #fw-inner .wpb_content_element,
.wpb_single_image.wpb_content_element.vc_align_center.wpb_content_element {
	margin-bottom: auto;
}

.gray-bg .vc_row.wpb_row.vc_inner.vc_row-fluid.wrapper,
#types-grid .vc_row.wpb_row.vc_inner.vc_row-fluid.wrapper {
	margin: auto auto;
	width: 100%;
	padding: var(--space-m-l) 0;
	gap: 2rem;
}

#types-grid h2 {
	font-size: var(--font-lg);
	max-width: 700px;
	text-align: center;
	margin: auto;
	padding-bottom: var(--space-m-l);
}

#types-grid h3 {
	padding-top: 1rem;
	margin-bottom: 0;
}

#types-grid #types-grid-inner {
	padding: var(--space-2xs) var(--space-xs-s);
}

#types-grid #types-grid-inner p {
	padding-bottom: var(--space-m-l);
}

.service-grid {
	max-width: 850px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	padding: 0 var(--space-s);
	gap: var(--space-m);
}

h2.service-grid-title {
	width: 100%;
	text-align: center;
	padding: var(--space-m-xl) var(--space-m) var(--space-4xs);
	margin: auto auto;
	text-transform: uppercase;
	font-size: var(--font-l-xl);
}

.roof-replacement h2.service-grid-title {
	padding: var(--space-m-xl) var(--space-m) 0;
	margin: auto auto;
}

.service-item {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	gap: var(--space-s-l);
	width: 100%;
}

.service-image {
	flex: 0 0 33%;
}

.service-image img {
	width: 100%;
	height: 100%;
	max-height: 175px;
	object-fit: cover;
}

.service-info {
	flex: 1;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.service-title {
	margin: 0;
	padding: 0 0 0.25rem;
	line-height: 1.1;
	color: var(--primary);
	text-transform: uppercase;
}

.service-info a,
.service-info a:link {
	color: var(--primary);
}

.services-text-area {
	text-align: center;
	max-width: 875px;
	margin: auto;
	padding: var(--space-m);
}

.roof-replacement .services-text-area {
	text-align: center;
	max-width: 875px;
	margin: auto;
	padding: var(--space-2xs) var(--space-s) var(--space-m-l);
}

.page-id-1279 .service-item:last-child {
	padding: var(--space-1-3) 0 var(--space-4xs);
	margin: var(--space-l-2xl) 0 auto;
	border-top: solid 5px var(--white);
}

/* footer */
.footer {
	background: var(--primary-dark);
	color: var(--white);
}

footer a,
footer a:link {
	text-decoration: none;
}

footer.footer {
	margin: 0 auto;
	padding: 2.5rem 0 0;
	background: linear-gradient(150deg, var(--primary-dark), var(--primary-mid));
}

.footer-inner {
	width: 100%;
	height: auto;
}

.footer-top {
	display: flex;
	flex-direction: column;
	padding: 0 0 var(--space-m-l);
	width: 100%;
	height: auto;
	color: var(--white);
	font-weight: 600;
}

.footer-top h2 {
	color: var(--white);
	font-size: 22px;
	padding-bottom: 0.25rem;
	margin-bottom: 0.25rem;
	letter-spacing: -0.04rem;
}

.footer-top a,
.footer-top a:link {
	color: var(--white);
}

.footer-grid {
	display: flex;
	flex-direction: row;
	margin: auto auto var(--space-m-l);
	padding-block-start: var(--space-s-m);
}

.footer-top .phone {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	margin: 0 0 0.1rem;
	padding-top: 0;
	font-weight: 700;
}

.footer-top .phone svg {
	margin-right: 0.375rem;
}

.footer-top address {
	position: relative;
	padding-left: 1rem;
	/* Adjust this value as needed */
}

.footer-top address::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	/* Adjust this value to align with the first line of text */
	width: 9.846px;
	/* Match the SVG width */
	height: 16px;
	/* Match the SVG height */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.846' height='16' viewBox='0 0 9.846 16'%3E%3Cpath id='Subtraction_1' data-name='Subtraction 1' d='M4.923,16h0L.658,7.385H.665a4.923,4.923,0,1,1,8.518,0h.007L4.924,16Zm0-12.9a1.762,1.762,0,1,0,1.76,1.761A1.763,1.763,0,0,0,4.923,3.1Z' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

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

.footer-top .footer-social {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	margin: 0 auto;
}

.footer-top .footer-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: auto;
	margin: auto auto 1rem;
}

.footer-address-left,
.footer-address-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	width: auto;
	height: auto;
	min-width: 20rem;
	margin: 1rem auto;
}

.footer-top .footer-logo a img {
	width: 100%;
	height: auto;
	max-height: 108px;
	margin: auto auto;
	padding: 0.5rem;
}

.footer-top .footer-social {
	margin: 1.5rem auto auto;
}

.footer-top .footer-social .social-icon a {
	margin: auto auto;
	padding: 0 0.5rem;
}

#menu-footer {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	text-align: center;
	list-style-type: none;
	padding: var(--space-xs) var(--space-s);
	margin: 0 auto;
}

#menu-footer .menu-item {
	position: relative;
	margin-right: 0.5rem;
	padding-right: 1rem;
}

#menu-footer .menu-item:not(:last-child)::after {
	content: "\2022";
	position: absolute;
	top: 0.075rem;
	right: -0.09rem;
	color: var(--gray-light);
	padding-right: 0.125rem;
}

#menu-footer .menu-item:last-child {
	margin-right: 0;
	padding-right: 0;
}

footer.site-footer a,
footer.site-footer a:link {
	color: var(--white);
}

.footer-bottom {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: auto auto;
	font-size: 0.75rem;
	background-color: var(--primary-dark);
	color: var(--gray-light);
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0.675rem 1rem;
}

footer.footer {
	color: var(--white);
}

.footer-bottom p,
.footer-bottom a {
	color: var(--primary-light);
	line-height: 1.4;
	font-size: 0.75rem;
}

.footer-bottom .copyright {
	max-width: 800px;
	font-size: 0.75rem;
}

/*------------------------------------*\
    HOME
\*------------------------------------*/

.home-hero {
    position: relative;
    overflow: hidden;
    max-height: 38.625rem;
}

.home-hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    max-height: 38.625rem;
}

.home-hero .hero-overlay {
    position: relative;
    z-index: 1;
    background: linear-gradient(150deg, var(--blue-overlay), var(--primary-dark-overlay));
    height: 100%;
}

.hero-inner {
    max-width: 980px;
    color: var(--white);
    text-align: center;
    margin: auto;
    display: flex;
    flex-direction: column;
    min-height: 20vh;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}

.hero-inner h1 {
	font-size: var(--font-l-xl);
	font-weight: 900;
	color: var(--white);
	text-transform: uppercase;
	line-height: 1;
	padding: 0;
	margin: 0 auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.hero-inner .hero-text {
	color: var(--white);
	text-transform: uppercase;
}

.hero-inner .hero-text-top {
	font-size: var(--font-hero-text-top);
	line-height: 1.1;
	padding: 3vh 1rem 0;
	margin: auto auto 0.5rem;
	font-weight: 700;
}

.hero-inner .hero-text-bottom {
	font-size: var(--font-hero-text-bottom);
	padding: 0 1rem 3vh;
	margin: 0.5rem auto auto;
}

#home-intro {
	margin: auto;
	padding: var(--space-s-xl) var(--space-s) var(--space-s-l);
	text-align: center;
}

#home-intro .wpb_content_element:nth-child(2) {
	margin-bottom: auto;
}

#home-intro .intro-header-row {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-block-end: var(--space-xs);
}

#home-intro .intro-header-row h2 {
	font-size: 1.375rem;
	color: var(--black);
}

#home-intro .intro-header-row strong {
	font-weight: 400;
	color: var(--gray-mid);
	padding: 0 0.125rem;
}

#home-intro p {
	max-width: 847px;
	margin: auto;
}

.featured-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	text-align: center;
}

.featured-item {
	overflow: hidden;
}

.featured-image-container {
	position: relative;
	overflow: hidden;
}

.featured-image {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
	cursor: pointer;
}

.featured-title {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(167, 168, 169, 0.83);
	color: white;
	font-size: 2.75rem;
	line-height: 1;
	text-transform: uppercase;
	margin: 0;
	padding: 10px;
	transition: background 0.3s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-shadow: 1px 1px 0.25rem rgba(0, 0, 0, 0.5);
}

.featured-item:hover .featured-image {
	transform: scale(1.5);
}

.featured-item:hover .featured-title {
	background: rgba(167, 168, 169, 0.9);
}

.featured-content {
	padding: var(--space-s);
}

.featured-content .btn {
	display: inline-block;
	color: white;
	text-decoration: none;
}

.featured-item:hover .featured-image {
	transform: scale(1.1);
}

.featured-item:hover .featured-title {
	background: rgba(167, 168, 169, 0)
}

/*------------------------------------*\
    COOKIES NOTIFICATION
\*------------------------------------*/
.cookies {
	position: relative;
}

.cookies #cookieConsent {
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.75);
	color: #ffffff;
	line-height: 1;
	padding: 15px 35px 20px 25px;
	border-radius: 0 5px 0 0;
	z-index: 9999999;
}

.cookies #cookieConsent a {
	color: var(--white);
}

.cookies #cookieConsent p {
	margin: 0;
	padding: 0.5em 0 0;
	margin-left: 1rem;
	font-size: var(--font-sm);
	line-height: 1.2;
}

.cookies #cookieConsent svg {
	fill: #fff;
	max-width: 15px;
	max-height: 15px;
	margin-left: auto;
}

#cookieConsent .accept {
	cursor: pointer;
	position: absolute;
	right: 10px;
	left: 10px;
}

section.cookies #cookieConsent a {
	color: #fff;
}

section.cookies #cookieConsent a:hover {
	color: rgba(255, 255, 255, 0.5);
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.header-overlay {
	background: linear-gradient(150deg, var(--blue-overlay), var(--primary-dark-overlay));
}

#text-block {
	padding: var(--space-m-xl) 0;
}

#text-block.vc_row.wpb_row.vc_row-fluid.financing-mid {
	padding-bottom: var(--space-m);
}

#fin-block {
	padding-block-end: var(--space-m-2xl);
}

main #text-block:first-child {
	padding-top: var(--space-m-l);
	padding-bottom: var(--space-m-2xl);
}

.realtors #text-block:last-child {
	padding-bottom: 0;
}

.financing-intro-text .wpb_text_column.wpb_content_element,
.financing-intro-text .wpb_single_image.wpb_content_element {
	margin-bottom: var(--space-xs);
}

.financing-cta-container {
	background-color: var(--gray-bg);
	padding: var(--space-s-xl) var(--space-s);
	margin: var(--space-l-2xl) auto auto;
}

.financing-cta-container .wpb_wrapper {
	max-width: 1280px;
	margin: auto;
	gap: var(--space-m);
}

.financing-cta-container p {
	max-width: 550px;
}

.financing-cta-container-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2rem;
	max-width: 1280px;
	margin: auto;
}

.financing-cta-image,
.financing-cta-content {
	flex: 1 1 300px;
}

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

.financing-cta-content h2 {
	margin-top: 0;
	color: var(--primary);
	text-transform: uppercase;
	font-size: 2rem;
}

.financing-cta-content .btn {
	display: inline-block;
	color: var(--white);
}

.logo-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	padding: var(--space-1-0) var(--space-2xs);
}

.logo-item {
	display: flex;
	justify-content: center;
	align-items: center;
	place-content: center;
	padding: 1rem 0.5rem;
}

.logo-item img {
	max-width: 100%;
	height: auto;
	max-height: 6rem;
}

.review-hero {
	background-image: url('img/foster-roofing-reviews-bg.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.review-hero .review-overlay {
	background: var(--gray-overlay);
}

.review-hero .inner {
	display: flex;
	flex-direction: column;
	max-width: 80rem;
	margin: auto;
	padding: var(--space-m-3xl) var(--space-m);
}

.review-hero .inner .stars {
	max-width: 20rem;
	margin: auto auto;
	padding: var(--space-m) var(--space-m) 0;
}

.review-hero .inner .review-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--white);
	text-align: center;
	max-width: 50rem;
	margin: auto;
}

.review-hero .inner .review-content p {
	font-size: var(--font-m-l);
	line-height: 1.4;
	font-weight: 500;
	margin: auto auto;
}

.review-hero .inner .review-content h3 {
	font-weight: 400;
	font-size: var(--font-m-2xl);
	color: var(--white);
	padding-top: 0;
}

.review-hero .inner .review-content .review-btn {
	margin: var(--space-m) auto;
}

.recent-updates {
	padding: var(--space-m-2xl) 0;
}

.recent-updates h2 {
	color: var(--primary-dark);
	text-align: center;
	font-size: var(--font-l-xl);
	margin-block-end: var(--space-l);
}

.recent-updates .post-thumbnail {
	width: 100%;
	height: auto;
	margin-bottom: auto;
}

.recent-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, calc(33.333% - 1rem));
	gap: 1rem;
	margin: var(--space-m-l) auto auto;
}

.recent-post {
	padding: 1rem;
}

.recent-post h3 {
	margin: var(--space-m) 0 var(--space-s);
	font-size: 1.2rem;
	text-transform: uppercase;
	color: var(--primary);
	margin: 0.125rem 0 0.5rem;
}

.recent-posts-grid .recent-post .post-excerpt {
	padding: var(--space-s) var(--space-xs);
}

.view-all-posts {
	text-align: center;
	display: block;
	margin: auto auto;
	width: 100%;
	height: auto;
}

.view-all-posts a.btn {
	display: inline-block;
	color: var(--white);
	margin: auto;
}

#types-grid {
	padding: var(--space-m-l) var(--space-m) var(--space-m-2xl);
}

#type-grid-inner {
	gap: var(--space-m-l);
}

#gallery h2 {
	text-align: center;
	font-size: var(--font-l-xl);
	margin-block-start: var(--space-l-3xl);
	margin-block-end: var(--space-m);
}

.home-builders #gallery h2 {
	text-align: center;
	font-size: var(--font-l-xl);
	margin-block-start: var(--space-l-3xl);
	margin-block-end: var(--space-4xs);
}

#gallery h2+p {
	margin-block-end: var(--space-s);
}

#gallery p {
	text-align: center;
	font-size: var(--font-base);
	padding-block-end: var(--space-xs);
	max-width: 875px;
	margin: auto;
}

.roof-repair #gallery h2 {
	text-align: center;
	font-size: var(--font-l-xl);
	margin-block-start: auto;
	margin-block-end: var(--space-l);
}

.roof-repair #text-block-short {
	padding: var(--space-m-xl) var(--space-m) var(--space-xs);
}

.gallery-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xs);
	margin-block-end: var(--space-m);
	padding: 0 var(--space-2xs);
}

.contact-centered-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
	margin: auto auto;
}

.contact-centered-cta a {
	display: block;
	width: fit-content;
	margin-block: 0.5rem;
}

.contact-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-block: 1.5rem;
	gap: 1rem;
}

.contact-cta a {
	display: block;
	width: fit-content;
	height: auto;
	align-items: center;
	justify-content: flex-start;
}

.modal {
	display: none;
	position: fixed;
	z-index: 99999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(2, 29, 73, 0.975);
}

.modal-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: auto auto;
	padding: 1rem;
	width: 100%;
	max-width: 975px;
	min-height: 90vh;
}

.modal-content h2 {
	display: flex;
	flex-direction: column;
	text-align: center;
	font-size: var(--font-l-xl);
	padding-block-end: 2rem;
	display: block;
	width: 100%;
	margin-top: auto
}

.modal-content a {
	color: var(--white);
}

.hero-overlay .phone-locations-grid {
	display: none;
}
.phone-locations-grid a.phone-location {
	color: var(--white) !important;
}

.phone-modal {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	place-content: center;
	text-align: center;
	margin: 0.5rem auto auto;
}

.phone-locations-grid {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	place-content: center;
	text-align: center;
	margin: 0 auto auto;
}
a.modal-phone-btn {
	color: var(--primary-dark);
	background-color: rgba(9,176,227,0.16);
	border: solid 0.25rem rgba(255,255,255,0.1);
	border-radius: 1rem;
	width: 100%;
	height: auto;
	display: block;
	padding: 2rem 2.5rem;
	transition: all 0.33s ease-in-out;
}

a.modal-phone-btn:hover,
a.modal-phone-btn:focus {
	background-color: rgba(9,176,227,0.24);
	border: solid 0.25rem rgba(255,255,255,0.2);
}

a.modal-phone-btn span {
	color: var(--white);
	font-size: var(--font-cta-hl);
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

a.modal-phone-btn span svg {
	margin-inline-end: 0.625rem;
}

a.modal-phone-btn h3 {
	color: var(--white);
	font-size: 1.25rem;
	text-transform: capitalize;
	margin-bottom: 0;
	margin-block-end: 0;
	padding: 0 1rem;
}
.phone-modal a.phone-modal-trigger.call-now-cta {
	color: var(--white) !important;
}

.phone-modal a.phone-modal-trigger.call-now-cta::before {
	content: '';
	color: var(--primary);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 23px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.755' height='22.009' viewBox='0 0 13.755 22.009'%3E%3Cpath id='Path_422' data-name='Path 422' d='M12.38,0a1.249,1.249,0,0,1,.963.413,1.249,1.249,0,0,1,.413.963V20.633a1.41,1.41,0,0,1-1.376,1.376h-11A1.249,1.249,0,0,1,.413,21.6,1.249,1.249,0,0,1,0,20.633V1.376A1.249,1.249,0,0,1,.413.413,1.249,1.249,0,0,1,1.376,0Zm-.963,16.506V3.714H2.338V16.506Zm-5.5,3.714a1.249,1.249,0,0,0,.963.413,1.249,1.249,0,0,0,.963-.413,1.33,1.33,0,0,0,0-1.926,1.249,1.249,0,0,0-.963-.413,1.249,1.249,0,0,0-.963.413,1.33,1.33,0,0,0,0,1.926Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


.close {
	color: var(--gray-light);
	position: absolute;
	top: 0.125rem;
	right: 1rem;
	font-size: 3.5rem;
	font-weight: bold;
	cursor: pointer;
}

.insurance-assistance .financing-cta-container-inner .financing-cta-image {
	order: 2;
}

.insurance-assistance .financing-cta-container-inner .financing-cta-content {
	order: 1;
}

.insurance-assistance .financing-cta-container {
	margin-bottom: auto;
}

#duo-col-img-cta {
	margin: var(--space-m-3xl) auto;
}

#duo-col-img-cta h2 {
	text-align: center;
	font-size: var(--font-l-xl);
	margin-block-end: var(--space-l);
}

#duo-col-img-cta h3 {
	margin-block-start: var(--space-xs-s);
	font-size: 1.75rem;
}

#duo-col-img-cta a img {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}

#duo-col-img-cta a:hover img {
	opacity: 0.8;
}

.gallery-grid img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

#text-block-short {
	max-width: 850px;
	padding: var(--space-m-xl) 0 var(--space-4xs);
	margin: auto;
}

.bma-checklist {
	margin: var(--space-l-2xl) auto;
	background-color: var(--gray-bg);
}

.bma-checklist h2 {
	text-align: center;
	font-size: var(--font-lg);
	padding-block-start: var(--space-m-2xl);
	padding-block-end: var(--space-l);
	padding-inline: var(--space-4xs);
	max-width: 775px;
	margin: auto;
}

ul.bma-checklist-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: var(--space-xs-s);
	padding-block-end: var(--space-2xs);
	max-width: 1100px;
	margin: auto;
	padding: var(--space-s);
	list-style-type: none;
}

ul.bma-checklist-grid li.bma-checklist-item {
	margin-block: auto;
}

.home-builders ul.bma-checklist-grid {
	padding-block-end: var(--space-m-2xl);
}

.home-builders .contact-list-centered-cta {
	padding-block-end: var(--space-m-2xl);
}

.bma-checklist .contact-list-centered-cta {
	padding-block-end: var(--space-m-2xl);
}

.home-builders .bma-checklist .contact-list-centered-cta,
.realtors li.contact-list-cta {
	display: none;
}

.vc_toggle_title h4 {
	font-size: var(--font-hero-text-top);
}

.vc_toggle_content {
	font-size: calc(var(--font-hero-text-top) * 0.875);
}

.uppercase,
strong.uppercase {
	text-transform: uppercase;
}

.gray-bg .team-heading {
	display: block;
	text-align: center;
	padding-block-start: var(--space-m-xl);
	padding-block-end: var(--space-2xs-xs);
	max-width: 1000px;
	margin: auto;
}

.team-heading h2 {
	font-size: var(--font-l);
}

#team-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    padding: 0 var(--space-m);
	max-width: 1280px;
	margin: var(--space-xs-s) auto;
	place-content: center;
}

.grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.grid-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin-bottom: 1rem;
}

.grid-item h3 {
	font-size: 1.125rem;
	color: var(--black);
    margin-bottom: auto;
	padding: 0 var(--space-xs-s);
}

.team-title {
	font-size: 1.1rem;
    font-style: italic;
    color: var(--black);
	margin: 0 auto;
	padding: 0 var(--space-m) var(--space-m);
}

.team-single-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
	padding: var(--space-m-2xl) 0;
}

.team-single-grid-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-single-grid-image {
	order: 1;
}

.team-single-grid-text {
	order: 2;
}

.team-single-grid-text h2 {
	font-size: 1.375rem;
	margin: auto 0 var(--space-3xs);
}

.team-single-grid-text p {
	max-width: 30rem;
}

a.team-btn {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	padding-block-start: var(--space-4xs);
	padding-block-end: var(--space-xs-s);
}

a.team-btn svg {
	margin-right: 0.125rem;
}

.bma-checklist h3 {
	position: relative;
	padding-left: var(--space-m);
}

.bma-checklist-content {
	padding-left: 2rem;
}

.bma-checklist-grid .contact-cta  {
	margin-top: 0;
	padding: var(--space-s);
}

.bma-checklist h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 48%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath id='iconmonstr-check-mark-circle-lined' d='M12,2A10,10,0,1,1,2,12,10,10,0,0,1,12,2Zm0,1.5A8.5,8.5,0,1,0,20.5,12a8.5,8.5,0,0,0-8.5-8.5ZM6.95,12.394,10.8,15.824a.751.751,0,0,0,1.051-.052l5.954-6.511a.745.745,0,0,0-.552-1.249.751.751,0,0,0-.554.243l-5.454,5.963-3.3-2.939a.748.748,0,1,0-1,1.113Z' transform='translate(-2 -2.005)' fill='%233C92D8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.blog-home {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
	padding: var(--space-m) var(--space-2xs);
}

.blog-home article {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: var(--gray-bg);
}

.blog-home article .post-content {
	padding: var(--space-2xs) var(--space-s);
}

.blog-home article h2 {
	font-size: 1.25rem;
	line-height: 1.4;
}

.blog-home article img,
.medium-landscape {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
  max-height: 436px;
  height: auto;
  object-fit: cover;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: 1;
}

.blog-home article img,
.medium-landscape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#single-grid {
    display: grid;
    gap: 2rem;
	margin-block-end: var(--space-m-2xl);
}

main .post-thumbnail  {
	margin: 0 auto var(--space-m);
	width: 100%;
	height: auto;
}

.single .post-meta {
	margin-block: var(--space-s-m);
}

blockquote.review {
	padding: var(--space-s) 0;
	text-align: center;
	max-width: 60rem;
	margin: auto auto;
}

blockquote.review svg {
	margin-bottom: var(--space-2xs);
}

blockquote.review a.h2,
blockquote.review h2 {
	font-size: 1.25rem;
	color: var(--body);
	font-weight: 500;
}

#faq-area {
	padding: var(--space-m) var(--space-s) var(--space-m-2xl);
}

#faq-area .faq-cta {
	padding: var(--space-m);
	text-align: center;
	font-size: var(--font-m-l);
	font-weight: 400;
}

.commercial-roofing #gallery {
	padding-bottom: var(--space-m-3xl);
}

.commercial-roofing #gallery .contact-centered-cta {
	display: none;
}

.commercial-roofing #text-block:nth-child(2) {
	padding-top: var(--space-2xs);
}

#contact-page-form {
	margin-top: var(--space-m-2xl);
	padding-bottom: var(--space-xl-2xl);
}

#contact-page-form .gform_wrapper,
.free-estimate .gform_wrapper {
	max-width: 50rem;
	margin: auto auto;
	padding: 0 var(--space-s);
}

#contact-page-form .gform_title {
	text-align: center;
	font-size: var(--font-l-xl);
	padding-top: var(--space-l);
}

#post-45 .wpb_single_image.wpb_content_element {
	margin-bottom: auto;
}

.contact-rva,
.contact-nwa {
	padding: var(--space-s) 0 var(--space-m-l);
}

.contact-nwa .contact-inner a,
.contact-rva .contact-inner a {
	color: var(--black);
}

.contact-inner .phone a {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-3xs);
	padding-block: var(--space-2xs);
	color: var(--black);
	font-size: var(--font-m-l);
	font-weight: 700;
	line-height: 1.4;
}

.contact-inner .phone a:link {
	color: var(--black);
	text-decoration: none;
}

.contact-inner .address {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-3xs);
	padding-block: var(--space-2xs);
	color: var(--black);
	font-size: var(--font-m);
	font-weight: 400;
	margin: auto 0;
}

.contact-inner .email {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-3xs);
	padding-block: var(--space-2xs);
	color: var(--black);
	font-size: var(--font-m);
	font-weight: 400;
	margin: auto 0;
}

.contact-rva h2,
.contact-nwa h2 {
	color: var(--primary-dark);
	padding: 0 0 var(--space-2xs);
}

.contact-rva .contact-inner,
.contact-nwa .contact-inner {
	padding-left: var(--space-s);
}

#post-344 {
	padding-top: var(--space-m-xl);
}

#text-block.financing-available-rr {
	max-width: 1065px;
	margin: auto auto;
	padding: var(--space-s) 0;
}

ul.blue-checklist {
    list-style: none;
    padding-inline-start: var(--space-s);
}

ul.blue-checklist li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

ul.blue-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 1.05rem;
    height: 1.05rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.432' height='16.432' viewBox='0 0 16.432 16.432'%3E%3Cpath id='iconmonstr-check-mark-circle-lined' d='M10.217,2.005A8.216,8.216,0,1,1,2,10.221a8.22,8.22,0,0,1,8.217-8.216Zm0,1.233A6.983,6.983,0,1,0,17.2,10.221a6.987,6.987,0,0,0-6.983-6.983Zm-4.149,7.3,3.165,2.819a.617.617,0,0,0,.864-.043l4.892-5.349a.612.612,0,0,0-.454-1.026.617.617,0,0,0-.455.2L9.6,12.04,6.887,9.626a.614.614,0,1,0-.82.915Z' transform='translate(-2 -2.005)' fill='%233C92D8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.title-check h3 {
    position: relative;
    padding-left: 24px;
	align-items: center;
}

.title-check h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.1rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.432' height='16.432' viewBox='0 0 16.432 16.432'%3E%3Cpath id='iconmonstr-check-mark-circle-lined' d='M10.217,2.005A8.216,8.216,0,1,1,2,10.221a8.22,8.22,0,0,1,8.217-8.216Zm0,1.233A6.983,6.983,0,1,0,17.2,10.221a6.987,6.987,0,0,0-6.983-6.983Zm-4.149,7.3,3.165,2.819a.617.617,0,0,0,.864-.043l4.892-5.349a.612.612,0,0,0-.454-1.026.617.617,0,0,0-.455.2L9.6,12.04,6.887,9.626a.614.614,0,1,0-.82.915Z' transform='translate(-2 -2.005)' fill='%233C92D8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.residential-roofing .service-grid-title {
	margin-bottom: var(--space-m-l);
}

.contact-us main {
	padding-bottom: 0;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/



/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media (max-width: 599px) {
	.header-right .nav ul li.estimate-cta a {
		font-size: inherit;
	}

	.home-hero .hero-inner {
		padding: 5vh 0;
	}

	.page-header .header-text {
		padding: 0;
		max-width: 97.5vw;
		padding: 4vh 0;
	}

	#gray-bg .contact-centered-cta,
	.gray-bg .contact-centered-cta {
		padding-bottom: var(--space-s);
	}

	.team-single-grid-image {
		margin-bottom: var(--space-s);
	}

	.cookies #cookieConsent p {
		max-width: 70vw;
	}

	.footer-grid {
		display: flex;
		flex-direction: column;
		margin: auto auto 0.5rem;
	}

	.footer-bottom .wrapper {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}

	.footer-bottom .wrapper {
		display: block;
		width: 100%;
		height: auto;
		text-align: center;
		padding: 0 15px 5px;
	}

	.footer-bottom .copyright {
		display: block;
		flex-direction: column;
		width: 100%;
		text-align: center;
	}

	.footer-bottom .copyright {
		margin: 1rem 1rem 0.25rem
	}

}

@media (min-width: 480px) {
	body .vc_column_container>.vc_column-inner {
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
		margin: auto
	}
}

@media (min-width: 600px) {
	.logo-grid {
		grid-template-columns: repeat(5, 1fr);
		padding: var(--space-m-l) 0;
		place-items: center;
		margin-inline: auto;
	}

	.footer-bottom {
		display: flex;
	}

	.footer-bottom .copyright {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.footer-bottom .wrapper {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
		padding: 1rem;
		margin: auto;
	}

	.footer-bottom p,
	.footer-bottom a {
		display: flex;
		color: var(--gray-light);
		line-height: 1.4;
		margin: inherit;
		padding: 5px 0;
	}

	.copyright {
		display: flex;
	}
}

@media screen and (min-width: 768px) {
	.gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.gallery-grid img {
		width: 100%;
		height: 100%;
		max-height: 238px;
		object-fit: cover;
	}
	.team-single-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
		padding: var(--space-m-2xl) 0;
	}
	.team-single-grid-image {
		order: 2;
	}
	
	.team-single-grid-text {
		order: 1;
	}
	.team-single-grid-text p {
		max-width: 90%;
	}
}

@media (max-width: 768px) {
	.nav {
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 0;
		width: 90%;
		height: 100%;
		max-width: 326px;
		background-color: var(--primary-dark);
		z-index: 9999;
		transition: transform 400ms ease-in-out;
		transform: translateX(-100%);
	}

	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.9);
		z-index: 9998;
		display: none;
	}

	.nav.active {
		padding: 20px 0;
		margin: auto 0;
	}

	.nav.active ul {
		padding: 0;
		margin: auto 0;
	}

	.nav ul li {
		font-size: 21px;
	}

	.nav .menu-item-has-children .sub-menu li a {
		padding: 0;
		font-size: 20px;
	}

	.nav .close-btn {
		position: absolute;
		top: 1rem;
		right: 1rem;
		background-color: transparent;
		border: none;
		cursor: pointer;
		color: var(--white);
		z-index: 999999;
	}

	.nav.active {
		padding: 30px;
	}

	.header-right .nav ul>li a {
		display: block;
		position: relative;
		color: var(--white);
		letter-spacing: -0.025rem;
		font-size: 22px;
		padding: 5px 0;
	}

	.header-right .nav .sub-menu {
		font-size: 21px;
		padding: 0 30px;
	}

	.menu-title {
		display: block;
		margin-bottom: 1rem;
		color: var(--primary);
	}

	.nav.active {
		transform: translateX(0);
	}

	.menu-item-has-children li {
		margin: 10px 0;
	}

	.header-right .nav,
	.header-right .top-menu {
		display: none;
	}

	.page-header .header-text {
		max-width: 1280px;
		margin: auto;
		padding: var(--space-xl) var(--space-xs);
	}

	.page-header .header-text h1 {
		font-size: 2.325rem;
		line-height: 1;
		padding: var(--space-m) inherit;
	}

	.featured-grid {
		grid-template-columns: 1fr;
		padding: var(--space-m) var(--space-xs);
	}

	.financing-cta-container {
		flex-direction: column;
	}

	.recent-posts-grid {
		grid-template-columns: 1fr;
	}

	.service-item {
		flex-direction: column;
	}

	.service-image {
		width: 100%;
		height: 100%;
		max-height: 300px;
		object-fit: cover;
	}
	
	.bma-checklist-grid {
		grid-template-columns: 1fr;
	}

	#single-grid {
        grid-template-columns: 1fr;
    }

    #single-grid main,
    #single-grid .sidebar {
        grid-column: 1 / -1;
    }

	#types-grid .types-grid-inner {
		padding: var(--space-xs) var(--space-m);
	}

	#types-grid .wpb_content_element {
		margin-bottom: var(--space-4xs);
	}
	
	#types-grid h2 {
		font-size: var(--font-lg);
		max-width: 700px;
		text-align: center;
		margin: auto;
		padding-bottom: var(--space-4xs);
	}

	#types-grid-inner .wpb_content_element {
		margin-bottom: var(--space-2xs);
	}

	.contact-centered-cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		text-align: center;
		margin: 0 auto auto;
	}
}

@media (min-width: 769px) {
	body main {
		min-height: 50vh
	}

	header .logo a img {
		width: auto;
		flex-basis: 1 1 100%;
		padding: 5px 0;
	}

	.header-text {
		display: block;
		position: relative;
		padding: var(--space-m-ll) var(--space-m);
	}

	.header-text h1 {
		font-size: 3.125rem;
		padding: 2vh 0;
		line-height: 1;
	}

	.header-right .nav ul>li {
		display: inline-block;
		position: relative;
		letter-spacing: -0.03rem;
	}

	.header-right .nav ul a {
		display: block;
		padding: 10px 6px;
		text-decoration: none;
		color: var(--black);
		position: relative;
		font-size: 16.5px;
	}

	.header-right .nav li.menu-item.hide-lg {
		display: none;
	}

	.header-right .nav ul li.estimate-cta a {
		font-size: 15px;
		padding: 10px 12px;
	}

	.header-right .nav .menu-item-has-children .sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		list-style-type: none;
		padding: 0;
		color: var(--primary);
		background-color: #f0f0f0;
		border: 1px solid #ccc;
		z-index: 1000;
		width: auto;
		padding: var(--space-s);
	}

	.header-right .nav .sub-menu li>a {
		font-size: 18px;
		padding: 5px 15px;
		display: block;
		width: 200px;
		letter-spacing: -0.0125em;
	}
	.header-right .nav ul li.estimate-cta a {
		font-size: 1.063rem;
		text-align: center;
		color: var(--white);
		background: var(---primary);
		transition: background 0.33s ease-in-out;
	}
	
	.header-right .nav ul li.estimate-cta a:hover,
	.header-right .nav ul li.estimate-cta a:focus {
		background: var(--primary-dark);
	}
	.mobile-nav,
	.close-btn,
	.menu-title,
	.mobile-phone {
		display: none;
	}

	.hero-inner {
		max-width: 980px;
		color: var(--white);
		text-align: center;
		margin: auto;
		display: flex;
		flex-direction: column;
		min-height: 620px;
		justify-content: center;
		align-items: center;
	}

	.hero-inner h1 {
		font-size: 5.25rem;
		text-shadow: 3px 5px 10px rgba(0, 0, 0, 0.5);
		line-height: 1;
		padding: 0;
		margin: 0 auto;
	}

	#breadcrumbs {
		font-size: 12px;
		font-weight: 400;
		padding: 0.6rem var(--space-m);
		margin: 0 auto var(--space-m);
		color: var(--white);
		background: linear-gradient(150deg, var(--blue-overlay), var(--primary-dark-overlay));
		margin-block-end: var(--space-m-l);
	}
	
	#breadcrumbs .wrapper {
		padding-inline: var(--space-m);
		max-width: 1280px;
	}

	#single-grid {
        grid-template-columns: 2fr 1fr;
    }

    #single-grid main {
        grid-column: 1 / 2;
    }

    #single-grid .sidebar {
        grid-column: 2 / 3;
    }

	.contact-cta {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		margin-block: 1rem;
	}

	.contact-centered-cta {
		max-width: fit-content;
		display: flex;
		flex-direction: row;
		align-items: center;
		align-items: center;
		text-align: center;
		margin: var(--space-m) auto;
	}

	.gray-bg .contact-centered-cta {
		padding-block-end: var(--space-m-2xl);
	}

	#home-featured {
		margin: var(--space-m) auto var(--space-m-2xl);
	}

	#post-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	#post-grid .post-thumb {
		width: 100%;
		height: auto;
		max-height: 250px;
	}

	#text-block.financing-available-rr {
		max-width: 1065px;
		margin: auto auto;
		padding: var(--space-l) 0 var(--space-2xl);
	}
	
	#post-grid .post-thumb a img {
		width: 100%;
		height: 210px;
		object-fit: cover;
		max-width: 400px;
	}

	.blog-home {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
		padding: var(--space-m) var(--space-2xs);
	}

	.footer-bottom .copyright {
		width: 100%;
	}

	.footer-top {
		display: flex;
		flex-direction: row;
		justify-content: space-between;

	}

	.footer-top .footer-logo,
	.footer-top .footer-address-left,
	.footer-top .footer-address-right,
	.footer-top .footer-social {
		width: calc(25% - 1rem);
		margin: auto;
	}

	.footer-top .footer-social {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		margin: 0.75rem auto 1rem;
	}

	.hero-overlay .phone-locations-grid {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 1.5rem;
		place-content: center;
		text-align: center;
		margin: 0.5rem auto auto;
	}

	.phone-locations-grid {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 3rem;
		place-content: center;
		text-align: center;
		margin: 0.125rem auto auto;
	}

	ul.bma-checklist-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-xs-s);
		padding-block-end: var(--space-2xs);
		max-width: 1100px;
		margin: auto;
		padding: var(--space-s);
		list-style-type: none;
	}

	ul.bma-checklist-grid li.bma-checklist-item {
		margin-block: var(--space-2xs);
	}

	#menu-footer .menu-item {
		position: relative;
		margin-right: 0.5rem;
		padding-right: 0.5rem;
	}

	.bma-checklist-grid .contact-cta  {
		margin-top: 0;
		padding-left: 2rem;
		padding-top: 0.25rem;
	}

	blockquote.review {
		padding: var(--space-m);
		text-align: center;
		max-width: 60rem;
		margin: auto auto;
	}

	#text-block-short {
		max-width: 850px;
		padding: var(--space-m-xl) var(--space-m);
		margin: auto;
	}

	#contact-page-form {
		padding-bottom: var(--space-m-2xl);
	}

	.hero-overlay .phone-locations-grid {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		place-content: center;
		text-align: center;
		margin: 0.5rem auto auto;
	}
	
	.hero-overlay a.modal-phone-btn {
		background-color: rgba(2,29,73,0.55);
		border: solid 0.25rem rgb(21,70,150,1);
		border-radius: 1rem;
		width: 100%;
		height: auto;
		display: block;
		padding: 1rem 2.5rem;
		transition: all 0.33s ease-in-out;
	}

	.phone-modal {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.nav .menu-item-has-children>a::after {
		content: '\2303';
		position: absolute;
		font-size: 10px;
		color: var(--gray-light);
		display: inline-block;
		font-weight: 700;
		width: 0.25rem;
		height: 2px;
		right: -0.25rem;
		bottom: 10px;
		transform: translate(0, -50%) rotate(180deg);
	}
	#team-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
		padding: 0 var(--space-m);
		max-width: 1280px;
		margin: var(--space-xs-s) auto;
		place-content: center;
	}

}

@media (min-width: 992px) {
	header .logo a img {
		width: 100%;
		max-width: 200px;
		padding: 5px;
	}

	.header-right .nav ul a {
		display: block;
		padding: 10px 12px;
		text-decoration: none;
		position: relative;
		font-size: 1.063rem;
		letter-spacing: -0.03rem;
	}

	.header-right .nav ul li.estimate-cta a {
		font-size: 1.063rem;
		text-align: center;
		padding: 12px 15px;
	}

	.home .page-header {
		position: relative;
	}

	.home .page-header {
		position: relative;
		width: 100%;
		min-height: 526px;
		margin: auto;
		overflow: hidden;
		top: 0;
	}

	#types-grid .wpb_button,
	#types-grid .wpb_content_element,
	#types-gridul.wpb_thumbnails-fluid>li {
		margin-bottom: auto;
	}

	#types-grid p {
		padding: 0 var(--space-s);
	}

	#text-block {
		padding: var(--space-m-3xl) 0;
	}

	.wpb_wrapper .vc_figure {
		margin-block-end: auto;
	}

	.roof-replacement .gray-bg:first-child {
		margin-block-start: var(--space-m-2xl);
	}

	main #text-block:first-child {
		padding: var(--space-m-2xl) 0
	}
	#team-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 1rem;
		padding: 0 var(--space-m);
		max-width: 1280px;
		margin: var(--space-xs-s) auto;
		place-content: center;
	}
}

@media (min-width: 1024px) {
	.header-spacer {
		padding-top: 137px;
	}
}

@media (min-width: 769px) and (max-width: 1040px) {
	header .logo {
		width: clamp(100px, 16vw, 200px);
		flex-grow: 1;
	}
	header .logo a img {
		width: 100%;
		max-width: 200px;
		height: auto;
		flex-grow: 1;
	}

	.header-right .nav ul {
		padding-inline-start: var(--space-4xs);
	}
	.header-right .nav ul a {
		display: block;
		padding: 10px 5px;
		text-decoration: none;
		position: relative;
		font-size: 0.9rem;
		letter-spacing: -0.05rem;
	}

	.header-right .nav ul li.estimate-cta a {
		font-size: 0.9rem;
		padding: 0.5rem 0.5rem;
	}
}

@media (min-width: 601px) and (max-width: 1024px) {
	.footer-grid {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		flex-wrap: wrap;
		margin: auto auto var(--space-m-l);
	}

	.footer-grid .footer-logo {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}

	.footer-grid .footer-address-left,
	.footer-grid .footer-address-right,
	.footer-grid .footer-social {
		display: flex;
		width: calc(25% - 1rem);
		margin: auto auto;
		justify-content: center;
		align-items: center;
	}
}

@media (min-width: 1192px) {
	.header-right .nav ul a {
		display: block;
		padding: 10px 16px;
		text-decoration: none;
		color: var(--primary-dark);
		position: relative;
		font-size: 1.063rem;
		letter-spacing: normal;
	}

	.header-right .nav ul li.estimate-cta a {
		font-size: 1.063rem;
		background: var(--primary);
		font-weight: 700;
		padding: 12px 25px;
		transition: background 0.33s ease-in-out;
	}
}

@media (min-width: 1025px) {
	header .logo a img {
		width: 100%;
		height: auto;
		min-width: 261px;
		min-height: 110px;
	}
}

@media (min-width: 1280px) {
	.header-right .nav ul li.estimate-cta {
		margin-left: 8px;
	}
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-resolution: 144dpi) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-webkit-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-moz-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
	font-size: 11px;
	line-height: 1.4;
	margin: 0;
	padding: 0 0.25rem 5px;
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	.ir a::after,
	a[href^="javascript: "]::after,
	a[href^="#"]::after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}