@font-face {
	font-family: 'Saira';
	src: url('../fonts/Saira-VariableFont_wdth,wght.ttf') format('truetype');
	font-weight: 100 900; /* range for weight axis */
	font-stretch: 75% 125%; /* optional range for width axis */
	font-display: swap;
}
@font-face {
	font-family: 'Saira';
	src: url('../fonts/Saira-Italic-VariableFont_wdth,wght.ttf') format('truetype');
	font-style: italic;
	font-weight: 100 900;
	font-stretch: 75% 125%;
	font-display: swap;
}
@font-face {
	font-family: 'Gantari';
	src: url('../fonts/Gantari-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900; /* Range supported by the variable font */
}
:root {
	--color-burgundy: #83031c;
	--color-blue: #223e6e;
	--color-ligher-blue: #2f6690;
	--color-gunmetal: #2B363E;
	font-size: 24px;
}
html, body {
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
body {
	margin: 0 auto;
	font-family: 'Saira', sans-serif;
	font-weight:500;
	font-size: 1rem;
	color:#000;
	background-color: #fff;
}
body.no-scroll {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
}
a:link,a:visited,a:active {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
img {
	max-width:100%;
	height:auto;
}
.drop-shadow {
	-webkit-box-shadow: 0px 7px 25px -15px #000000; 
	box-shadow: 0px 7px 25px -15px #000000;
}
hr.faded-line {
    border: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--color-burgundy), transparent);
    margin:50px auto;
    width: 90%;
}
.front-page hr.faded-line {
	margin:6px auto;
}
#wrapper h1,#wrapper h2,#wrapper h3,#wrapper h4,#wrapper h5,#wrapper p {
    font-weight:unset;
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(8px); /* starts 10px below */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* ends in place */
    }
}
.fade-in-up {
    animation: fade-in-up 0.8s ease-in-out forwards;
}
@keyframes delay-fade-in-up {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}
	30% {
		opacity: 0;
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
.delay-fade-in-up {
	animation: delay-fade-in-up 0.8s ease-out forwards;
}
.delay-fade-in-up1 {
	animation: delay-fade-in-up 1s ease-out forwards;
}
.delay-fade-in-up2 {
	animation: delay-fade-in-up 1.2s ease-out forwards;
}
.delay-fade-in-up3 {
	animation: delay-fade-in-up 1.4s ease-out forwards;
}
:root {
	--button-width: 275px;
	--button-bg: #003da0;
	--button-hover-bg: #e1591e;
}
.button-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	text-align: center;
	font-family: 'Saira', sans-serif;
}
.button-container img {
	max-width:18px;
}
button:not(.menu-container button):not(.cky-btn),
input[type="button"]:not(.menu-container input[type="button"]):not(.cky-btn),
input[type="submit"]:not(.menu-container input[type="submit"]):not(.cky-btn),
input[type="reset"]:not(.menu-container input[type="reset"]):not(.cky-btn),
a.button:not(.menu-container a.button):not(.cky-btn),
.wp-block-button__link:not(.cky-btn) {
	display: flex;
	align-items:center;
	justify-content:space-evenly;
	width: var(--button-width);
	margin: 10px;
	padding: 20px;
	background-color: var(--color-burgundy);
	color: #fff;
	border: 0;
	border-radius: 15px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	text-shadow: 1px 2px 1px rgba(27, 27, 27, 0.8);
	box-shadow: 0px 0px 10px 3px rgba(119, 119, 119, 0.2);
	cursor: pointer;
	transition: transform 0.1s ease, box-shadow 0.1s ease, background-color 0.2s ease;
	font-family: 'Saira', sans-serif;
}
button:not(.menu-container button):not(.cky-btn):hover,
input[type="button"]:not(.menu-container input[type="button"]):not(.cky-btn):hover,
input[type="submit"]:not(.menu-container input[type="submit"]):not(.cky-btn):hover,
input[type="reset"]:not(.menu-container input[type="reset"]):not(.cky-btn):hover,
a.button:not(.menu-container a.button):not(.cky-btn):hover,
.wp-block-button__link:not(.cky-btn):hover {
	background-color:var(--color-burgundy);
	transform: translateY(-2px);
	box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.6);
	text-decoration: none;
}
button:not(.menu-container button):not(.cky-btn):focus,
input[type="button"]:not(.menu-container input[type="button"]):not(.cky-btn):focus,
input[type="submit"]:not(.menu-container input[type="submit"]):not(.cky-btn):focus,
input[type="reset"]:not(.menu-container input[type="reset"]):not(.cky-btn):focus,
a.button:not(.menu-container a.button):not(.cky-btn):focus,
.wp-block-button__link:not(.cky-btn):focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(34, 34, 34, 0.5);
}
button:not(.menu-container button):not(.cky-btn):active,
input[type="button"]:not(.menu-container input[type="button"]):not(.cky-btn):active,
input[type="submit"]:not(.menu-container input[type="submit"]):not(.cky-btn):active,
input[type="reset"]:not(.menu-container input[type="reset"]):not(.cky-btn):active,
a.button:not(.menu-container a.button):not(.cky-btn):active,
.wp-block-button__link:not(.cky-btn):active {
	background-color: var(--color-burgundy);
	transform: translateY(0);
	box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1);
}
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper input.gform_next_button,
.gform_wrapper .gform_footer button {
	background-color: var(--color-burgundy) !important;
	color: #fff !important;
	padding: 15px 20px !important;
	border-radius: 5px !important;
	border: 0 !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	text-shadow: 1px 2px 1px rgba(27, 27, 27, 0.1) !important;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
	transition: transform 0.1s ease, box-shadow 0.1s ease, background-color 0.2s ease !important;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover {
	background-color: var(--color-burgundy) !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15) !important;
}
.cky-notice-btn-wrapper button.cky-btn,
.cky-prefrence-btn-wrapper button.cky-btn {
	padding: 10px;
}
button.cky-btn-revisit:hover {
	background-color: inherit !important;
}
#wrapper > div#container > main#content div.entry-content p.before-heading { /* added with javascript */
    margin-bottom:50px;
}
#desktop-menu-container {
	display:none;
}
:root {
	--top-bar-height: 65px;
}
#wrapper > #header {
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	justify-content:center;
	position:relative;
	color: var(--color-burgundy);
	background: linear-gradient(to bottom,  var(--color-gunmetal) 0%, #ffffff 100%);

	padding:0;
	position:relative;
}
#wrapper > #header a:link,#wrapper > #header a:visited,#wrapper > #header a:active,#wrapper > #header a:hover {
	color: #fff;
	text-decoration:none;
	text-shadow:1px 1px 1px rgba(0,0,0,0.4);
}
#wrapper > #header > #top-bar {
	position:fixed;
	z-index:999;
	top:0;
	right:0;
	left:0;
	width:100%;
	height:var(--top-bar-height);
	color:#fff;
	background-color:#000;
	font-size:.75rem;
	font-weight:500;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	font-family: 'Gantari', sans-serif;
}
/*	for fixed header on scroll	*/
#wrapper > #header > #top-bar {
	transition: transform 0.4s ease;
}
#wrapper > #header > #top-bar.hide {
	transform:translateY(calc(-1 * var(--top-bar-height)));
}
#wrapper > #header > #top-bar > #top-bar-contact {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
/*	call button in top barl	*/
#wrapper > #header > #top-bar > #top-bar-contact > .button-container > a.button {
	transition: transform 0.4s ease;
	margin:8px;
	padding:10px;
	width:220px;
}
#wrapper > #header,
#wrapper > #container,
#wrapper > footer {
	position:relative;
	top:var(--top-bar-height);
}
#wrapper > #header > #branding > #site-logo,
#wrapper > #header > #branding > #site-title {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	padding-top:10px;
}
#wrapper > #header > #branding > #site-logo img.custom-logo {
	max-width:250px;
}
#wrapper > #container {
	min-height:65vh;
}
#wrapper > #container:not(.front-page) > main#content {
	padding:1rem;
}
#wrapper > #container > #crumbs {
	padding:.5rem;
	font-size:.6rem;
	border-top:2px solid var(--color-gunmetal);
	border-bottom:2px solid var(--color-gunmetal);
	color:#000;
	background:#fff;
}
#wrapper > #container > #crumbs a:link,#wrapper > #container > #crumbs a:visited,#wrapper > #container > #crumbs a:active,#wrapper > #container > #crumbs a:hover {
	color:var(--color-burgundy);
	text-decoration:none;
	text-shadow:1px 1px 1px rgba(0,0,0,0.1);
}
#wrapper > #container > #crumbs a:hover {
	text-decoration:underline;
}
#wrapper > #container > main#content > div#content-container > div.page-title {
	margin:0 auto;
	text-align:center;
}
#wrapper > #container > main#content > div#content-container > div.page-title > h2 {
	font-size:1.4rem;
}
#wrapper > #footer {
	background:var(--color-burgundy);
	color:#fff;
	text-shadow:1px 1px 1px rgba(0,0,0,0.4);
	font-family: 'Gantari', sans-serif;
}
#wrapper > #footer a:link,#wrapper > #footer a:visited,#wrapper > #footer a:active {
	color: #fff;
	text-decoration: none;
}
#wrapper > #footer a:hover {
	text-decoration: underline;
}
#wrapper > #footer > section.footer-nav {
	margin:0 auto;
	max-width:1000px;
}
#wrapper > #footer > section > #copyright {
	font-size:.6rem;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-evenly;
	gap:15px;
	padding:1rem;
}
#wrapper > #footer > section > #copyright > div {
	flex:100%;
	max-width:280px;
	text-align:center;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content {
	position:relative;
	font-family: 'Gantari', sans-serif;
	font-weight:500;
	border-top:2px solid #83031c;
	border-bottom:2px solid #83031c;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > .front-page-image {
	min-height:210px;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > #image1 {
	background:url(../img/front-page-image-600w.jpg) no-repeat;
	background-size:cover;
	background-position:center;
	
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > #image2 {
	background:url(../img/front-page-image2-600w.jpg) no-repeat;
	background-size:cover;
	background-position:center;
}
#wrapper > #header > #branding > #front-page-description {

	font-weight:600;
	display: flex;
	align-items:center;
	justify-content: center;
	gap:0 10px;
}
#wrapper > #header > #branding > #front-page-description > h2 {
	margin-top:0;
	opacity: 0;
}
@keyframes honest-fade-in-up {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#wrapper > #header > #branding > #front-page-description > h2.visible {
	animation: fade-in-up 0.6s ease-in-out forwards;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main {
	margin:auto;
	width:95%;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	justify-content: center;
	gap:0px;
	color:#fff;
	text-shadow:1px 1px 1px rgba(0,0,0,0.4);
	z-index:995;
	animation: fade-in-up .4s ease-in-out forwards;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > .background-overlay {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:rgba(0,0,0,0.5);
	z-index:994;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > h3 {
	margin:0;
	text-align:center;
	font-weight:700;
	width:90%;
	max-width:490px;
	font-size:1.2rem;
	letter-spacing:1px;

}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul,
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > p {
	font-size:1.1rem;
	letter-spacing:1px;
	text-align:center;
	margin:5px auto;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul > li {
	display: flex;
	align-items:center;
	width:90%;
	margin:15px auto;
	font-weight:600;
	text-align:left;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul > li:first-of-type {
	margin-top:0;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul > li img {
	margin-right:5px;
	max-width:25px;
}
#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > p {
	font-size:.7rem;

}
#wrapper > #container > main#content > div#front-page-container > .services {
	background:url(../img/sheetrock-background.jpg) no-repeat;
	background-size:cover;
	background-position:0 0;
}
#wrapper > #container > main#content > div#front-page-container > .services,
#wrapper > #container > main#content > div#front-page-container #construction-services-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:.5rem;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container {
	gap: 1rem;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container {
	max-width:785px;
}
#wrapper > #container > main#content > div#front-page-container > .services > header {
	flex:100%;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container a.service-link {
	color:#fff;
	text-shadow:1px 1px 1px rgba(0,0,0,0.4);
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box {
	display: flex;
	flex-direction:column;
	align-items: center;
	justify-content: space-evenly;
	text-align: center;
	width: 130px;
	height: 130px;
	background-color:var(--color-gunmetal);
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	border-radius: 8px;
	padding:6px;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box:hover {
    transform: scale(105%);
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box.visible {
	opacity: 1;
	transform: translateY(0);
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box .service-title h4 {
	font-size:.725rem;
	font-weight:400;
	margin:3px;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box .service-title {
	flex: 0 0 auto;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box .service-icon {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box .service-icon img {
	max-width:65px;
}
#wrapper > #container > main#content > div#front-page-container .services > main {
	margin:40px auto;
	width:90%;
}
#wrapper > #container > main#content > div#front-page-container .services > main > p {
	text-align:center;
	max-width:800px;
}
#wrapper > #container > main#content > div#front-page-container .services > main > h3 {
	text-align:center;
	font-weight:600;
	margin:40px 5px;
}
#wrapper > #container > main#content > div#front-page-container > section:not(#front-page-content).front-page {
	margin:0 auto;
}
#wrapper > #container > main#content > div#front-page-container > section:not(#front-page-content).front-page > header {
	padding:1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#wrapper > #container > main#content > div#front-page-container > section:not(#front-page-content).front-page > header > h3 {
	font-size:1.5rem;
}
#wrapper > #container > main#content section.right-sidebar,
#wrapper > #container > main#content .services-archive .services-grid,
#wrapper > #container > main#content .services-archive .services-grid article.service-item {
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:10px;
}
#wrapper > #container > main#content .services-archive .services-grid article.service-item {
	flex:100%;
	border:1px solid var(--color-burgundy);
	border-radius:10px;
	margin:20px;
	padding:.5rem;
}
#wrapper > #container > main#content .services-archive .services-grid article.service-item h3 {
	flex:100%;
	font-size:1.1rem;
}
#wrapper > #container > main#content .services-archive .services-grid article.service-item img.service-thumb {
	max-width:50px;
}
#wrapper > #container > main#content .services-archive .services-grid article.service-item p {
	flex:100%;
	font-size:.9rem;
	max-width:800px;
	margin:0 auto;
}
article.construction_service {
	text-align:center;
	padding-bottom:2rem;
}
article.construction_service img {
	padding-top:1rem;
}
article.construction_service p {
	margin:10px auto;
	width:85%;
	max-width:800px;
}
#wrapper > #container > main#content section.right-sidebar {
	flex-direction:row;
	align-items:flex-start;
}
#wrapper > #container > main#content section.right-sidebar #template-container {
	flex:100%;
	margin-top:40px;
}
@media only screen and (min-width:500px) {
	#wrapper > #header > #top-bar {
		justify-content:center;
	}
}
@media only screen and (min-width:900px) {
	#wrapper > #header,
	#wrapper > #header > #top-bar {
		color:#fff;
		background:transparent;
	}
	#wrapper > #header > #top-bar {
		color:#fff;
		justify-content: flex-end;
		flex-direction:row-reverse;
		width:auto;
		min-width:600px;
		left:auto;
	}
	#wrapper > #header > #top-bar > #top-bar-contact {
		display:none;
	}
	#wrapper > #header {
		justify-content:flex-start;
	}
	#wrapper > #header,
	#wrapper > #container,
	#wrapper > footer {
		top:0;
	}
	#wrapper > #header.front-page {
		position:absolute;
		top:0;
		right:0;
		left:0;
		z-index:990;
	}
	#wrapper > #header:not(.front-page) {
		background:var(--color-gunmetal);
	}
	#wrapper > #header.scroll-up #desktop-menu-container #desktop-main-menu-container {
		background:rgba(0,0,0,0.6);
	}
	#wrapper > #header.at-top #desktop-menu-container #desktop-main-menu-container {
		background:transparent;
	}
	#wrapper > #container.front-page {
		top:0;
		right:0;
		left:0;
		z-index:989;
	}
	#wrapper > #header > #branding {
		padding-left:.5rem;
		min-width:280px;
	}
	#wrapper > #header > #branding > #site-logo {
		padding:0;
	}
	#wrapper > #header > #branding > #site-logo img.custom-logo {
		max-width:190px;
	}
	#wrapper > #container > #crumbs {
		font-size:.8rem;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
    	justify-content: center;
		border-top:0;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > .front-page-image {
		flex:45%;
		min-height:400px;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main {
		height:auto;
		top:auto;
		padding:1rem;
		max-width:890px;
		margin:auto;
		align-items:center;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > h3 {
		margin:8px;
		width:auto;
		max-width:410px;
		font-size:1.2rem;
		letter-spacing:normal;
		flex:1 35%;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul {
		font-size:.9rem;
	}
	#wrapper > #footer {
		top:0;
	}
	#wrapper > #container > main#content > div#front-page-container #construction-services-container .service-box {
		transition: opacity 0.3s ease, transform 0.3s ease;
	}
	#wrapper > #container > main#content section.right-sidebar {
		margin:0 auto;
		max-width:1000px;
	}
	#wrapper > #container > main#content section.right-sidebar article {
		flex:1 60%;
	}
	#wrapper > #container > main#content section.right-sidebar #template-container {
		flex:1 30%;
		margin-top:0;
	}
}
@media only screen and (min-width:1300px) {
	#wrapper > #header > #top-bar {
		min-width:800px;
		font-size:1.8rem;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main {
		left:auto;
		max-width:none;
	}
	#wrapper > #container > main#content > div#front-page-container .services > main > p {
		font-size:1.2rem;
		max-width:1000px;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > h3 {
		max-width:none;
		font-size:2rem;
		flex:0 45%;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul {
		font-size:1.5rem;
		flex:1;
	}
	#wrapper > #container > main#content > div#front-page-container > #front-page-content > main > ul > li {
		justify-content:center;
	}
	#wrapper > #container > main#content .services-archive .services-grid {
		flex-direction:row;
		align-items:flex-start;
	}
	#wrapper > #container > main#content .services-archive .services-grid article.service-item img.service-thumb {
		max-width:100px;
	}
	#wrapper > #container > main#content .services-archive .services-grid article.service-item {
		flex:1 35%;
	}
}
@media only screen and (min-width:1600px) {
	#wrapper > #header > #branding > #site-logo img.custom-logo {
		max-width:220px;
	}
	#wrapper > #container > main#content > div#front-page-container #construction-services-container {
		max-width:none;
	}
}