/*!
Theme Name:	Flooring Source Child
Description: Child theme of 'Base Layer' theme
Author:			Martin
Template:		baselayer
Version:		 1.0.0


*/
/* ***** */
/* COLORS */
/* CSS Vars */
:root {
	--red:        #b02318;
	--red-bright: #ed1c24;
	--red-deep:   #8a1b12;
	--ink:        #221c1a;
	--ink-soft:   #4a423f;
	--wood:       #c98a4b;
	--bone:       #f6f1e9;
	--panel:      #efe7da;
	--line:       #cfcac4;
	--white:      #ffffff;
	--text:        var(--ink);
	--body-bg:     var(--bone);
	--button-bg:  var(--red-bright);
	--button-text: var(--white);
	--button-border-color: var(--red-bright);
	--border-radius: 2px;
	--text-input:  var(--text);
	--link-color:  var(--red-bright);
	--link-hover-color: var(--red);
}

/* ***** */
/* TYPOGRAPHY */
/* CSS VARS */
:root {
	--font-primary: 'Source Sans 3', Arial, sans-serif;
	--font-secondary: 'Barlow Condensed', Arial, sans-serif;
	--font-code: monaco, consolas, Andale Mono, DejaVu Sans Mono, monospace;
}

:root {
	--rem: 18px;
	--type-scale: 1.62;
	--gap: calc( var(--rem) * var(--type-scale));
	--font-size-sm: 16.2px;
	--font-size-0: var(--rem);
	--font-size-1: calc( var(--rem) * var(--type-scale));
	--font-size-2: calc( var(--font-size-1) * var(--type-scale));
	--font-size-3: calc( var(--font-size-2) * var(--type-scale));
	--font-size-4: calc( var(--font-size-3) * var(--type-scale));
	--wp--preset--font-size--small:   var(--font-size-sm);
	--wp--preset--font-size--medium:	 var(--font-size-0);
	--wp--preset--font-size--large:   var(--font-size-1);
	--wp--preset--font-size--xlarge:	 var(--font-size-2);
	--wp--preset--font-size--xxlarge: var(--font-size-3);
}

/* ***** */
/* STRUCTURE */
:root {
	--aligndefault: 950.4px;
	--alignwide: 1202.4px;
}
@media screen and (min-width: 950.4px) {
	:root {
		--page-margin: calc( 2 * var(--gap) );
	}
}


h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-secondary);
	color: var(--ink);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.005em;
}

h1 { font-size: var(--font-size-3); }
h2 { font-size: var(--font-size-2); }
h3 { font-size: var(--font-size-1); }
h4 {
	font-size: var(--font-size-0);
	text-transform: none;
	margin-bottom: var(--gap);
}

del,
strike,
s {
	text-decoration: 2px solid var(--red) line-through;
}

ins,
mark {
	background: var(--ink-soft);
	padding: 0 3px;
}

pre,
.wp-block-code,
.wp-block-preformatted {
	border: 1px solid var(--line);
}

code, kbd, tt, var {
	color: var(--ink-soft);
}

blockquote,
.wp-block-quote {
	background: var(--panel);
	border-left: 5px solid var(--red);
	border-radius: var(--border-radius);
	padding: 20px 26px;
	margin-left: 0;

	p {
		font-family: var(--font-secondary);
		font-size: var(--font-size-1);
		font-weight: 600;
		line-height: 1.14;
		color: var(--ink);
	}
	cite {
		font-size: var(--font-size-sm);
		font-weight: 600;
		font-style: normal;
		color: var(--red);
		text-transform: uppercase;
		padding-left: calc(0.75 * var(--gap));
	}
}
.wp-block-media-text__content .wp-block-quote {
	margin-left: calc( -1 * var(--page-margin) / 2 ) !important;
	margin-right: 0 !important;
	padding: var(--gap) 1rem !important;
	width: calc(100% + ( var(--page-margin) / 2)) !important;
}

body,
input,
select,
optgroup,
textarea {
	color: var(--text);
	font-family: var(--font-primary);
	font-size: var(--font-size-0);
}

/* Elements
--------------------------------------------- */
body {
	background: var(--body-bg);
	color: var(--text);
}

#page {
	grid-template-rows: auto auto 1fr auto
}

/* Admin Bar */
#wpadminbar *:not(li) ul li::marker {
	content: "";
}
.has-red-color { color: var(--red); }
.has-red-bright-color { color: var(--red-bright); }
.has-ink-color { color: var(--ink); }
.has-white-color { color: var(--white); }

.has-red-background-color { background-color: var(--red); }
.has-ink-background-color { background-color: var(--ink); }
.has-white-background-color { background-color: var(--white); }

.has-extra-extra-large-font-size { font-size: var(--wp--preset--font-size--xxlarge) !important; }

@media screen and (max-width:500px) {
	.wp-block-cover .has-extra-extra-large-font-size {
		font-size: var(--wp--preset--font-size--xlarge) !important;
	}
}

@media screen and (min-width: 1202.4px) {
	.entry-content > .wp-block-image > .alignleft,
	.page-content > .wp-block-image > .alignleft {
		margin-left: calc(-4 * var(--gap));
	}
	.entry-content > .wp-block-image > .alignright,
	.page-content > .wp-block-image > .alignright {
		margin-right: calc(-4 * var(--gap));
	}
}
.wp-block-media-text > .wp-block-media-text__content {
	padding-left: calc(2 * var(--gap));
	padding-right: 0;
}
@media screen and (min-width:601px) and (max-width:800px) {
	.wp-block-media-text > .wp-block-media-text__content {
		padding-left: var(--gap);
	}
}
@media screen and (max-width:600px) {
	.wp-block-media-text > .wp-block-media-text__content {
		padding-left: 0;
		padding-top: calc( 2 * var(--gap));
	}
}
.wp-block-media-text.has-media-on-the-right {
	grid-template-columns: 66.67% 33.33%;
}
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
	padding-left: 0;
	padding-right: calc(2 * var(--gap));
}
.wp-block-media-text .wp-block-media-text__media img {
	border-radius: var(--border-radius);
}

.wp-block-table table th {
	border-width: 0 0 3px;
	border-color: var(--ink);
	border-style: solid;
}
.wp-block-table table td {
	border-color: var(--line);
}
.wp-block-table table td:first-child {
	border-left: none;
}
.wp-block-table table td:last-child {
	border-right: none;
}

/* Links
--------------------------------------------- */
a {
	color: var(--link-color);
	transition: color 0.5s;
}
a:hover, a:focus {
	color: var(--link-hover-color);
}

/* Forms
--------------------------------------------- */
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
	color: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--border-radius);
	padding: 0.25em;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
	color: var(--text-input);
	border-color: var(--link-color);
}

select {
	border: 1px solid var(--line);
}

.comment-form .required {
	color: var(--error);
}

.comment-form textarea[required=""] {
	border-color: var(--error);
}

button,
.wp-block-button__link,
.wp-block-button__link:visited,
input[type=button],
input[type=reset],
input[type=submit] {
	border: 2px solid;
	border-color: var(--button-border-color);
	border-radius: var(--border-radius);
	background: var(--button-bg);
	color: var(--button-text);
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.16px;
	line-height: 1;
	padding: 14px 26px;
	margin: 0 0 var(--gap);
}

button:hover, button:active, button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:active,
.wp-block-button__link:focus,
input[type=button]:hover,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:hover,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:hover,
input[type=submit]:active,
input[type=submit]:focus {
	border-color: var(--red);
	background-color: var(--red);
	color: var(--white);
}

.wp-block-button.secondary .wp-block-button__link {
	border-color: var(--white);
	background: transparent;
}
.wp-block-button.secondary .wp-block-button__link:hover,
.wp-block-button.secondary .wp-block-button__link:active,
.wp-block-button.secondary .wp-block-button__link:focus {
	border-color: var(--white);
	background: var(--white);
	color: var(--red);
}

button,
.wp-block-button__link,
input[type=button],
input[type=reset],
input[type=submit] {
	transition: background-color 0.125s;
}

.wp-block-table {
	padding: 0;
}

.site-header-wrap {
	background: var(--bone);
	width: 100vw;
}

.site-header {
	background-color: transparent;
}
.site-header .site-branding {
	padding-top: 10px;
	padding-bottom: 10px;
	display: flex;
	flex-direction: row;
	gap: 16px;
	justify-content: flex-start;
	align-items: center;
}
.site-header .custom-logo {
	max-height: 72px;
	display: block;
}

.page-header {
	width: 100%;
	max-width: var(--alignwide);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--page-margin);
	padding-right: var(--page-margin);
}
@media screen and (min-width: 1288.8px) {
	.page-header {
		padding-left: 0;
		padding-right: 0;
	}
}

.site-title,
.site-title a {
	font-family: var(--font-primary);
	font-size: var(--font-size-3);
	font-weight: 300;
	line-height: 1;
	color: var(--text);
	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus {
	color: var(--link-color);
	text-decoration: none;
}

.site-description {
	position: static !important;
	clip: unset !important;
	font-family: var(--font-secondary);
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	letter-spacing: 2.34px;
	line-height: 1;
	color: var(--ink-soft);
	padding-left: 16px;
	border-left: 1px solid var(--line);
}

@media screen and (max-width:500px) {
	.site-header .site-branding {
		flex-direction: column;
		align-items: flex-start;
	}
	.site-description {
		padding: 16px 0;
		border-top: 1px solid var(--line);
		border-left-width: 0;
	}
}

.site-footer-wrap {
	background-color: var(--ink);
	color: var(--line);

	a:hover,
	a:focus {
		color: var(--white);
	}
}

.site-footer .widget_block:has(.footer-copyright) {
	margin-bottom: 0;
}
.site-footer .footer-copyright {
	font-size: var(--font-size-sm);
	margin-bottom: 0;
}

.site-content.w-sidebar {
	display: grid;
	grid-template-columns: 1fr 25%;
	grid-template-rows: auto 1fr;
	grid-auto-columns: 1fr;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas: "page-header page-header" "site-main sidenav";
	width: 100%;
	max-width: var(--alignwide);
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 782px) {
	.site-content.w-sidebar {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		grid-auto-columns: 1fr;
		grid-template-areas: "page-header" "site-main" "sidenav";
	}
	.site-content.w-sidebar .page-header-inner,
	.site-content.w-sidebar .sidenav {
		padding-left: var(--page-margin);
		padding-right: var(--page-margin);
	}
	.site-content.w-sidebar #primary .entry-content > *:not(.alignfull):not(ol):not(ul) {
		padding-left: var(--page-margin);
		padding-right: var(--page-margin);
	}
}
@media screen and (min-width: 783px) and (max-width: 1288.8px) {
	.site-content.w-sidebar {
		padding-left: var(--page-margin);
		padding-right: var(--page-margin);
	}
}
@media screen and (min-width: 1288.8px) {
	.site-content.w-sidebar {
		grid-template-columns: 1fr 16.667%;
	}
}
.site-content.w-sidebar .page-header {
	grid-area: page-header;
	padding-left: 0;
	padding-right: 0;
}
.site-content.w-sidebar #primary {
	grid-area: site-main;
}
.site-content.w-sidebar #primary .entry-content > :not(hr) {
	margin-left: 0;
	margin-right: 0;
	max-width: calc(100% - var(--page-margin));
}
.site-content.w-sidebar #primary .entry-content > :not(hr).alignfull, .site-content.w-sidebar #primary .entry-content > :not(hr).alignwide {
	padding-right: 0;
}
.site-content.w-sidebar #primary .entry-content > *:not(ul):not(ol):not(.wp-block-table) {
	padding-left: 0;
	padding-right: var(--gap);
}
.site-content.w-sidebar #primary .entry-content > *:not(ul):not(ol):not(.wp-block-table).alignfull, .site-content.w-sidebar #primary .entry-content > *:not(ul):not(ol):not(.wp-block-table).alignwide {
	padding-right: 0;
}
@media screen and (min-width: 1288.8px) {
	.site-content.w-sidebar #primary .entry-content > *:not(.alignfull):not(.alignwide) {
		max-width: var(--aligndefault);
		margin-left: auto;
		margin-right: auto;
	}
}
.site-content.w-sidebar #primary .entry-content > .wp-block-image > .alignleft,
.site-content.w-sidebar #primary .page-content > .wp-block-image > .alignleft {
	margin-left: 0;
}
.site-content.w-sidebar #primary .entry-content > .wp-block-image > .alignright,
.site-content.w-sidebar #primary .page-content > .wp-block-image > .alignright {
	margin-right: 0;
}
.site-content.w-sidebar .sidenav {
	grid-area: sidenav;
	border-left: 1px solid var(--line);
}

.blog .meat-potatoes,
.archive .meat-potatoes {
	max-width: var(--alignwide);
	margin: 0 var(--page-margin);
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	grid-gap: var(--gap);
}
@media screen and (min-width: 1288.8px) {
	.blog .meat-potatoes,
	.archive .meat-potatoes {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Primary Nav */
.main-navigation {
	width: auto;
}

.main-navigation li.menu-item {
	margin: 0;
}
.main-navigation li.menu-item a {
	font-family: var(--font-secondary);
	font-size: var(--font-size-0);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 400;
	color: var(--ink);
	border-bottom: 1px solid transparent;
}
.main-navigation li.menu-item a:hover,
.main-navigation li.menu-item a:focus {
	color: var(--red);
	border-color: var(--red);
}
.main-navigation li.menu-item.cta a {
	border-bottom: none;
	background: var(--red-bright);
	color: var(--white);
	padding: 0.5rem 1rem;
}
.main-navigation li.menu-item.cta a:hover,
.main-navigation li.menu-item.cta a:focus {
	background: var(--red);
}

@media screen and (max-width: 800px) {
	.main-navigation,
	.main-navigation.toggled > .menu-primary-container {
		display: none;
	}
}
@media screen and (min-width: 801px) {
	.main-navigation ul.nav-menu {
		align-items: center;
	}
}

.menu-primary-container > .nav-menu > li {
	padding-left: 0;
}
.menu-primary-container > .nav-menu > li::marker {
	content: "";
	color: unset;
}


/* Secondary Nav */
.subnav,
.children {
	list-style-type: none;
}
.subnav a,
.children a {
	display: block;
	color: var(--text);
	text-decoration: none;
	padding: calc(0.25 * var(--gap));
}
.subnav a:hover, .subnav a:focus,
.children a:hover,
.children a:focus {
	color: var(--link-hover-color);
	text-decoration: underline;
}

.subnav .children {
	margin: 0;
	padding-left: calc(0.75 * var(--gap));
}
.subnav .children li {
	border-bottom: 1px solid var(--line);
	margin-bottom: 0;
}
.subnav .children .children li:last-child {
	border-bottom: none;
}

.subnav > li:first-child > a {
	font-size: var(--font-size-1);
	font-weight: bold;
	padding: 0;
}

.subnav .current_page_item > a {
	font-weight: bold;
}

/* Mobile Nav */
@media screen and (max-width: 600px) {
	.main-navigation > .menu-primary-container {
		z-index: 9;
	}
}
.header-contact-nav #menu-header-contact {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: var(--gap);
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.header-contact-nav #menu-header-contact li {
	display: block;
	margin: 0;
}
.header-contact-nav #menu-header-contact li a {
	display: block;
	height: 40px;
	width: 40px;
	background-image: url(/inc/img/icon-call.png);
	background-size: contain;
}

/* Icons, such as tags & categories */
.posted-on {
	position: relative;
	padding-left: 1.75em;
	display: block;
}
.posted-on svg {
	position: absolute;
	left: 0;
	top: 0;
	height: 1.25em;
	width: 1.25em;
}
.posted-on svg #cal-page-top,
.posted-on svg #cal-binder-left,
.posted-on svg #cal-binder-right,
.posted-on svg #cal-grid {
	fill: var(--link-color);
}

.tags-links {
	position: relative;
	padding-left: 1.5em;
	display: block;
}
.tags-links svg {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1em;
	width: 1em;
}
.tags-links svg path {
	fill: var(--blue);
}

.cat-links {
	position: relative;
	padding-left: 1.5em;
	display: block;
}
.cat-links svg {
	position: absolute;
	left: 0;
	bottom: 2px;
	height: 1.139em;
	width: 1.395em;
}
.cat-links svg #check-bg {
	fill: #ffffff;
}
.cat-links svg #box {
	fill: var(--text);
}
.cat-links svg #checkmark {
	fill: var(--link-color);
}

/* Front Page */
.home #content {
	margin-top: calc(2 * var(--gap));
}

/* Blog and Archive pages */
.blog .meat-potatoes > .post,
.archive .meat-potatoes > .post {
	position: relative;
	padding: 0 calc(0.5 * var(--gap)) calc(0.5 * var(--gap));
	margin-bottom: var(--gap);
	background-color: #ffffff;
	background-image: linear-gradient(to bottom, var(--line), #ffffff 175px);
	border-radius: calc(2 * var(--border-radius));
}
.blog .meat-potatoes > .post .post-thumbnail,
.archive .meat-potatoes > .post .post-thumbnail {
	padding-left: 0;
	padding-right: 0;
	margin: 0 calc(-0.5 * var(--gap));
	width: calc(100% + var(--gap));
}
.blog .meat-potatoes > .post .entry-header,
.archive .meat-potatoes > .post .entry-header {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: calc(0.5 * var(--gap));
}
.blog .meat-potatoes > .post .entry-header a,
.archive .meat-potatoes > .post .entry-header a {
	text-decoration: none;
}
.blog .meat-potatoes > .post .entry-title,
.archive .meat-potatoes > .post .entry-title {
	margin-bottom: calc(0.25 * var(--gap));
}
.blog .meat-potatoes > .post .post-thumbnail + .entry-header .entry-title,
.archive .meat-potatoes > .post .post-thumbnail + .entry-header .entry-title {
	margin-top: calc(0.5 * var(--gap));
}
.blog .meat-potatoes > .post .entry-meta,
.archive .meat-potatoes > .post .entry-meta {
	font-size: var(--font-size-sm);
}
.blog .meat-potatoes > .post .entry-meta .posted-on,
.archive .meat-potatoes > .post .entry-meta .posted-on {
	padding-left: 1.25em;
}
.blog .meat-potatoes > .post .entry-meta svg,
.archive .meat-potatoes > .post .entry-meta svg {
	height: 0.9em;
	width: 0.9em;
	top: auto;
	bottom: 3px;
}
.blog .meat-potatoes > .post .entry-footer,
.archive .meat-potatoes > .post .entry-footer {
	padding-left: 0;
	padding-right: 0;
	margin-top: calc(0.5 * var(--gap));
	font-size: var(--font-size-sm);
}
.blog .meat-potatoes > .post .entry-footer a,
.archive .meat-potatoes > .post .entry-footer a {
	text-decoration: none;
}
.blog .meat-potatoes > .post .cat-links svg,
.archive .meat-potatoes > .post .cat-links svg {
	bottom: auto;
	top: 0;
}
.blog .meat-potatoes > .post .tags-links svg,
.archive .meat-potatoes > .post .tags-links svg {
	bottom: auto;
	top: 0.375em;
}
.blog .meat-potatoes > .post .comments-link,
.archive .meat-potatoes > .post .comments-link {
	display: none;
}

.sticky {
	border: 2px solid var(--red);
	border-bottom-width: 0;
}

.single .post .entry-meta,
.single .post .entry-footer {
	font-size: var(--font-size-sm);
}

/* Cards */
.wp-block-group.is-layout-flex.cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	grid-gap: var(--gap);
}
.wp-block-group.is-layout-flex.cards > .wp-block-group {
	width: unset;
	max-width: unset;
}

.wp-block-group.cards.services {
	grid-template-columns: 1fr 1fr;

	.card {
		background: var(--white);
		border: 1px solid var(--line);
		border-radius: calc( 2 * var(--border-radius));
		position: relative;
		padding: var(--gap);
		transition: 0.2s;

		.wp-block-group__inner-container {
			gap: 0.75rem !important;
		}

		.wp-block-image { margin: 0 0 0.5rem; }
		h3 { margin: 0; }
		p { font-size: var(--font-size-sm); }
	}
	.card::before{
		content: "";
		position: absolute;
		left: 0;
		top: var(--gap);
		width: 4px;
		height:56px;
		background:var(--red);
		border-radius:0 var(--border-radius) var(--border-radius) 0;
	}
	.card:hover{
		transform: translateY(-3px);
		box-shadow:0 16px var(--gap) -22px rgba(34,28,26,.5);
	}
}
@media screen and (max-width:600px) {
	.wp-block-group.cards.services {
		display: flex;
	}
}

.home .site-main .entry-footer {
	display: none;
}

.section-heading2 {
	position: relative;
	padding-bottom: 1rem;
	margin-top: 0;
}
.section-heading2:after {
	content: "";
	position: absolute;
	height: 6px;
	width: 205px;
	bottom: 0;
	left: calc(50% - 102.5px);
	background-color: var(--red);
}

.wp-block-media-text__content > h2,
.wp-block-media-text__content > h3,
.wp-block-media-text__content > h4 {
	margin-top: 0;
}

.wp-block-group.center .wp-block-list.list-center {
	text-align: left;
	display: inline-block;
	width: auto;
	max-width: 100%;
}

.has-background:not(.alignfull) {
	border-radius: var(--border-radius);
}


.comment-list .children {
	border-left-color: var(--line);
}
.comment-list .comment:not(:last-child) {
	border-bottom: var(--line);
}

.comment-respond {
	border-top: 1px solid var(--line);
}

.footer-widget-container.col-1 .widget-area {
	width: 100%;
}
.footer-widget-container.include-subfooter {
	border-bottom: 1px solid var(--line);
	justify-content: flex-start;
}
#footer-1 {
	min-width: 96px;
	width: 96px;
}
#footer-2 {
	width: auto;
	max-width: calc( 100% - 96px - (2 * var(--gap)));

	p {
		font-size: var(--font-size-sm);
		margin-bottom: 1em;
	}
}
#subfooter-1 .wp-block-image {
	text-align: center;
}



:root {
	--wp--custom--carousel-block--navigation-color: var(--white);
	--swiper-button-size: 40px;
}

.wp-block-cb-carousel-v2 .swiper-button-next,
.wp-block-cb-carousel-v2 .swiper-button-prev {
	top: unset;
	bottom: calc(-1 * var(--swiper-button-size));
	width: var(--swiper-button-size);
	height: var(--swiper-button-size);
	background-color: var(--blue);
	border-radius: calc(var(--swiper-button-size) / 2);
}

.wp-block-cb-carousel-v2 .swiper-button-next {
	padding-left: 4px;
	left: auto;
	right: calc(50% - var(--swiper-button-size) - var(--gap));
}

.wp-block-cb-carousel-v2 .swiper-button-prev {
	padding-right: 4px;
	left: calc(50% - var(--swiper-button-size) - var(--gap));
	right: auto;
}

.wp-block-cb-carousel-v2.cb-carousel-block {
	margin-bottom: calc(2 * var(--gap) + var(--swiper-button-size)) !important;
}

/* OUR WORK */
#our_work {
	padding-top: calc(2 * var(--gap));
	padding-bottom: calc(2 * var(--gap));
	margin-bottom: 0;

	h2 {
		margin-bottom: calc(2 * var(--gap));
	}
}
.project {
	.project-head {
		align-items: baseline;
		margin: calc( 2 * var(--gap)) 0 1rem;

		h3, p {
			margin: 0 0 0 0;
		}
	}

	.images-row {
		gap: var(--gap);

		.wp-block-image {
			position: relative;
			display: block;
			aspect-ratio: 4 / 3;
			object-fit: cover;
		}
		.wp-block-image.before:after {
			content: "before";
			position: absolute;
			top: 13px;
			left: 13px;
			font-family: var(--font-secondary);
			font-size: 13px;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 1.16px;
			background: var(--black);
			color: var(--white);
			padding: 5px 13px;
			border-radius: var(--border-radius);
		}
		.wp-block-image.during:after {
			content: "during";
			position: absolute;
			top: 13px;
			left: 13px;
			font-family: var(--font-secondary);
			font-size: 13px;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 1.16px;
			background: var(--wood);
			color: var(--black);
			padding: 5px 13px;
			border-radius: var(--border-radius);
		}
		.wp-block-image.after:after {
			content: "after";
			position: absolute;
			top: 13px;
			left: 13px;
			font-family: var(--font-secondary);
			font-size: 13px;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 1.16px;
			background: var(--red);
			color: var(--white);
			padding: 5px 13px;
			border-radius: var(--border-radius);
		}

		img {
			max-height: 100%;
		}
	}
	.carpet.images-row .wp-block-image {
		width: calc( 50% - ( var(--gap) / 2));
	}
	.hardwood.images-row .wp-block-image {
		width: calc( 33% - ( var(--gap) * 0.667 ) );
	}
}
@media screen and (max-width:600px) {
	.project .project-head {
		display: block;
	}
	.project .carpet.images-row .wp-block-image,
	.project .hardwood.images-row .wp-block-image {
		width: 100%;
	}
}
.project:first-child .project-head {
	margin-top: 0;
}


/* TOP UTILITY BAR */
.util-wrap {
	background: var(--ink);
	width: 100%;

	.util {
		max-width: var(--alignwide);
		font-size: var(--font-size-sm);
		margin: 0 auto;
		padding: 0.5em var(--page-margin);
		color: var(--panel);
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.tags {
		font-family: var(--font-secondary);
		font-weight: 600;
		letter-spacing: 2.34px;
	}
	.contact a {
		font-weight: 600;
		color: var(--white);
		text-decoration: none;
	}
	.contact a:hover,
	.contact a:focus {
		color: var(--panel);
	}
}
@media screen and (min-width:1546.24px) {
	.util-wrap .util {
		padding-left: 0;
		padding-right: 0;
	}
}

.eyebrow {
	font-size: var(--font-size-sm);
	font-family: var(--font-secondary);
	text-transform: uppercase;
	letter-spacing: 2.34px;
	margin-bottom: 0;
}
.eyebrow + h2 {
	margin-top: 0;
}

.seam {
	position: relative;
	margin-bottom: calc( (var(--gap) / 2 ) + 16px );
}
.seam:after {
	content: '';
	position: absolute;
	width: 64px;
	height: 2px;
	bottom: -14px;
	left: 0;
	background: var(--red);
}
.seam.has-text-align-center:after {
	left: calc( 50% - 32px );
}


/* HOME HERO */
.entry-content .wp-block-cover.home-hero.alignfull > .wp-block-cover__inner-container {
	max-width: var(--aligndefault) !important;
}
.home-hero {
	padding-top: 4rem;
	padding-bottom: 4rem;

	.wp-block-cover__inner-container {
		margin-left: auto;
		margin-right: auto;
	}

	.faux-heading {
		line-height: 1;
		font-family: var(--font-secondary);
		color: var(--white);
		font-weight: 700;
		margin-bottom: 1rem;
	}
}

@media screen and (min-width: 1130.24px) {
	.home-hero .wp-block-cover__inner-container > :last-child,
	.home-hero .wp-block-group__inner-container > :last-child,
	.wp-block-group .wp-block-group__inner-container > :last-child {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

.home-hero .chips {
	gap: 1rem;

	.chip {
		display: inline-block;
		font-family: var(--font-secondary);
		font-size: var(--font-size-sm);
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 1.16px;
		line-height: 1;
		background: rgb( 255, 255, 255, .1 );
		border: 1px solid rgb( 255, 255, 255, .25 );
		border-radius: var(--border-radius);
		padding: 0.5rem 1rem;
	}

	p,
	#check,
	#shield,
	#house {
		position: relative;
		padding: 0 0 0 24px !important;
		margin: 0;
	}
	p:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		height: 16px;
		width: 16px;
		background-color: transparent;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#check:before {
		background-image: url(inc/img/chip-check.png);
	}
	#shield:before {
		background-image: url(inc/img/chip-shield.png);
	}
	#house:before {
		background-image: url(inc/img/chip-house.png);
	}
}

.stats {
	gap: calc( 2 * var(--gap));

	color: var(--ink-soft);
	text-transform: uppercase;
	font-size: var(--font-size-sm);
	line-height: 1.14;

	.stat-head {
		display: block;
		font-family: var(--font-secondary);
		font-weight: 700;
		font-size: var(--font-size-2);
		line-height: 1;
		color: var(--red);
	}
}

#philosophy {
	background: var(--ink);
	color: var(--white);
	padding-top: calc( 2 * var(--gap));
	padding-bottom: calc( 2 * var(--gap));
	margin-bottom: 0;

	h2 {
		color: var(--white);
	}
}

/* SERVICES */
#services {
	background: var(--panel);
	padding-top: calc(2 * var(--gap));
	padding-bottom: calc(2 * var(--gap));
	margin-bottom: 0;
}

/* TESTIMONIALS */
#reviews {
	background: var(--panel);
	margin-bottom: 0;
	padding-top: calc(2 * var(--gap));
	padding-bottom: calc(2 * var(--gap));

	h2 {
		margin-bottom: calc(2 * var(--gap));
	}

	.quotes-row {
		justify-content: center;
		align-items: stretch;
		gap: var(--gap);
	}

	.one-quote {
		position: relative;
		background: var(--white);
		border: 1px solid var(--line);
		border-radius: calc( 2 * var(--border-radius));
		padding: var(--gap);
		max-width: calc( 33% - var(--gap));
		font-size: var(--font-size-sm);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 1rem;
	}
	.one-quote:before {
		content: "\201C";
		position: absolute;
		top: 1rem;
		right: var(--gap);
		font-family: var(--font-secondary);
		font-size: 70px;
		font-weight: 700;
		line-height: 1;
		color: var(--red);
		opacity: 0.2;
	}

	.one-quote .wp-block-group {
		margin-bottom: 0;
	}
	.stars {
		margin-bottom: 1rem;
	}
	.who {
		font-family: var(--font-secondary);
		font-size: var(--font-size-0);
		color: var(--red);
		text-transform: uppercase;
		letter-spacing: 1.16px;
		line-height: 1.1;
		border-top: 1px solid var(--red);
		margin: 0;
		padding: 1rem 0 4px;
	}
	.title {
		margin-bottom: 0;
		font-size: calc( var(--font-size-sm) * 0.9);
		line-height: 1.1;
	}
}
@media screen and (max-width:600px) {
	#reviews .one-quote {
		max-width: 100%;
	}
}
@media screen and (min-width:601px) and (max-width:900px) {
	#reviews .one-quote {
		max-width: calc( 50% - var(--gap));
	}
}

/* CONTACT */
#contact {
	background: var(--red);
	color: var(--white);
	padding-top: calc(2 * var(--gap));
	padding-bottom: calc(2 * var(--gap));
	margin-bottom: 0;

	.call {
		.wp-block-button__link {
			background: var(--white);
			color: var(--red);
			border-color: var(--white);
		}
		.wp-block-button__link:hover,
		.wp-block-button__link:active,
		.wp-block-button__link:focus {
			background: var(--bone);
		}
	}
	.email {
		.wp-block-button__link {
			background: transparent;
			color: var(--white);
			border: 2px solid var(--white);
		}
		.wp-block-button__link:hover,
		.wp-block-button__link:active,
		.wp-block-button__link:focus {
			background: var(--bone);
			border-color: var(--bone);
			color: var(--red);
		}
	}
}
