/* Variables ---------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */

/* Scale */
/*
18 base size
Each step increases by 3 more than the last increase, so the difference is 3, 6, 9, 12, etc.
The formula f(n), where n is the step of the scale, is f(n) = 1.5n^2 - 1.5n + 18
Step 0 is an exception allowing for small text like captions

Horizontal measurements and font sizes must be chosen from the list below
Vertical measurements must be multiples of the line height
*/

:root {
	/* NOTE please make all css variables all lowercase to workaround https://github.com/apache/incubator-pagespeed-mod/issues/1971
	mod_pagespeed has a parser issue which causes variable usage to not match their defined name(the definitions get all lowercased but usage isn't updated).
	It only shows up after several page loads(sometimes many) as pagespeed takes time to initially run. */
	--modular-scale-0: 1.5rem;
	--modular-scale-1: 1.8rem;
	--modular-scale-2: 2.1rem;
	--modular-scale-3: 2.7rem;
	--modular-scale-4: 3.6rem;
	--modular-scale-5: 4.8rem;
	--modular-scale-6: 6.3rem;
	--modular-scale-7: 8.1rem;
	--modular-scale-8: 10.2rem;
	--modular-scale-9: 12.6rem;
	--modular-scale-10: 15.3rem;
	--modular-scale-11: 18.3rem;
	--modular-scale-12: 21.6rem;
	--modular-scale-13: 25.2rem;
	--modular-scale-14: 29.1rem;
	--modular-scale-15: 33.3rem;
	--modular-scale-16: 37.8rem;
	--modular-scale-17: 42.6rem;
	--modular-scale-18: 47.7rem;
	--modular-scale-19: 53.1rem;
	--modular-scale-20: 58.8rem;
	--modular-scale-21: 64.8rem;
	--modular-scale-22: 71.1rem;
	--modular-scale-23: 77.7rem;
	--modular-scale-24: 84.6rem;
	--modular-scale-25: 91.8rem;
	--modular-scale-26: 99.3rem;
	--modular-scale-28: 107.1rem;

	--text-size: var(--modular-scale-1);
	--line-height: var(--modular-scale-3);
	--h1-size: var(--modular-scale-4);
	--h2-size: var(--modular-scale-3);
	--h3-size: var(--modular-scale-2);
	--caption-size: var(--modular-scale-0);

	--max-width: 67.5rem;

	/* --gap and --gap-major can be used for any spacing */
	/* --gap-minor must be used in pairs (for example, top and bottom padding) so it adds up to a multiple of --lineHeight */
	--gap: var(--line-height);
	--gap-major: calc(var(--line-height) * 2);
	--gap-minor: calc(var(--line-height) / 2);
	--gap-mobile: calc(var(--line-height) / 8);

	/* Fonts */

	--body-font: "myriad-pro", sans-serif;
	--heading-font: "adobe-garamond-pro", serif;
	--logo-font: "myriad-pro", sans-serif;

	/* Colors */

	--text: hsla(0, 0%, 18%, 1);
	--text-light: hsla(0, 0%, 35%, 1);
	--text-shade: hsla(0, 0%, 0%, 1);

	--inverted: hsla(0, 0%, 80%, 1);
	--inverted-light: hsla(0, 0%, 100%, 1);
	--inverted-shade: hsla(0, 0%, 59%, 1);

	--accent: hsla(152, 75%, 22%, 1);
	--accentlight: hsla(152, 50%, 35%, 1);
	--accent-shade: hsla(152, 100%, 12%, 1);
	--accent-transparent: hsla(152, 75%, 22%, .5);

	--background: hsla(0, 0%, 100%, 1);
	--background-inverted: hsla(0, 0%, 0%, 1);
	--background-transparent: hsla(0, 0%, 100%, .667);
	--background-transparent-header: hsla(0, 0%, 100%, .9);
	--background-transparent-inverted: hsla(0, 0%, 0%, .667);

	/* Shadows  */

	--text-shadow: 0 0 6px black;
	--box-shadow: 0 0 1.5rem hsla(0, 0%, 0%, .5);

	/* Transitions  */

	--transition-duration: .3s;
	--transition-timing: ease-out;
}

/* Font Imports ------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */

/* Now loaded through Adobe's servers for license compliance. */

/* Imports ------------------------------------------------------------------ */
/* -------------------------------------------------------------------------- */

/* @import "_archive.scss"; */
.archive-item {
	margin-top: var(--line-height);
}

/* @import "_banner.scss"; */
.banners {
	background-color: var(--accent);
	color: var(--inverted-light);
	display: flex;
	flex-wrap: wrap;
	gap: var(--line-height);
	grid-template-columns: 1fr;
	justify-content: center;
	padding: var(--line-height);
	text-align: center;
}

.banners.holiday-hours{
	--accent: #eb0000;
}
.banner-title {
	color: inherit;
}
.banner a {
	color: inherit;
}

.banner.phone-hours {
	background-color: var(--background-inverted);
	color: var(--inverted);
	line-height: 1;
	padding: var(--line-height);
	text-align: center;
}
.phone-hours .banner-title {
	font-size: var(--h3-size);
	font-weight: bold;
}
.banner.phone-hours .banner-disclaimer {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
}
.banner.phone-hours .button {
	margin: 0;
}

@media (min-width: 920px) {

	.banner.phone-hours {
		box-shadow: 0 0 1em black;
		display: table;
		font-size: 0.8em;
		padding: calc(var(--line-height) / 2);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 200;
	}
	.banner.phone-hours .banner-disclaimer {
		display: block;
	}
	.banner.phone-hours .button {
		margin-inline-end: auto;
		margin-inline-start: auto;
	}
	.banner.phone-hours .button + .button {
		margin-block-start: 1rem;
	}

}

@media screen and (min-width: 374px) {
	.banner-title {
		font-size: var(--h1-size);
	}
}

/* @media (min-width: 41.5em) {
	.banners {
		grid-template-columns: repeat( auto-fit, minmax(100px, 1fr) );
	}
} */





.free-shipping .banner-link {
	margin-top: var(--line-height);
}

/* @import "_base.scss"; */
* {
	accent-color: var(--accent);
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	transition-duration: 0.2s;
	transition-property: background-color, border-color, box-shadow, color, opacity, text-shadow, transform;
	transition-timing-function: linear;
}

html {
	background-color: var(--background);
	color-scheme: light;
	font-size: 50%;
	overflow: auto;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--line-height) * 4);
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
	html {
		scroll-behavior: auto !important;
	}
}

@media screen and (min-width: 540px) {
	html {
		scroll-padding-top: calc(var(--line-height) * 6);
	}
}

@media screen and (min-width: 1150px) and (min-height: 700px) {
	html {
		font-size: 62.5%;
	}
}

body {
	/* combined height of .siteHeader and .mainNav*/
	margin-top: calc(var(--line-height) * 3);

	color: var(--text);
	font-family: var(--body-font);
	font-kerning: normal;
	font-variant-ligatures: common-ligatures historical-ligatures contextual;
	font-size: var(--text-size);
	hyphenate-limit-chars: 6 2 3;
	hyphenate-limit-last: always;
	hyphenate-limit-lines: 2;
	hyphens: auto;
	line-height: var(--line-height);
}

@media screen and (min-width: 540px) {
body {
	/* combined height of .siteHeader and .mainNav*/
	margin-top: calc(var(--line-height) * 4);
}
}

@media screen and (min-height: 570px) and (min-width: 540px) {
body {
	/* combined height of .siteHeader and .mainNav*/
	margin-top: calc(var(--line-height) * 5);
}
}





h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--text-shade);
	font-family: var(--heading-font);
	font-variant-numeric: lining-nums;
	font-weight: normal;
	text-transform: capitalize;
}
h1 {
	font-size: var(--h1-size);
}
h2 {
	font-size: var(--h2-size);
}
h3 {
	font-size: var(--h3-size);
}
h4,
h5,
h6 {
	font-size: var(--text-size);
}





p + p {
	margin-top: var(--line-height);
}





a {
	color: var(--accent);
}





figure {
	margin: var(--line-height) auto;
	text-align: center;
}
figcaption {
	color: var(--text-light);
	font-size: var(--caption-size);
	font-style: italic;
}
img, svg {
	max-width: 100%;
	height: auto;
}





b,
dfn,
strong {
	color: var(--text-shade);
	font-style: inherit;
	font-weight: bold;
}





sup,
sub {
	line-height: 0;
}





table {
	table-layout: fixed;
	width: 100%;
	border: 1px solid var(--accent);
	border-spacing: 0;
	font-variant-numeric: tabular-nums;
	margin: var(--gap-major) auto;
	text-align: left;
}
th,
td {
	padding: 0 var(--modular-scale-0);
}
th {
	background-color: var(--accent);
	color: var(--inverted-light);
}

.zebra tr:nth-of-type(odd) td {
	background-color: hsla(152, 75%, 22%, 0.1);
}





abbr {
	cursor: help;
	font-variant-caps: small-caps;
	text-decoration: none;
}





ul,
ol {
	margin: var(--line-height) auto;
}
.mainContent ul,
.mainContent ol {
	padding-left: var(--modular-scale-1);
}

dl > div {
	display: grid;
	grid-template-columns: 1fr 2fr;
}
dl > div + div {
	margin-block-start: var(--gap);
}
dt,
dd {
	display: inline;
}
dt {
	font-weight: bold;
}
dt::after {
	content: ": ";
}





.columns {
	display: flex;
}
.columns > * {
	margin: 0;
}

.columns-2 > * {
	width: 50%;
}
.columns-3 > * {
	width: calc(100% / 3);
}

.columns .button {
	width: 100%;
	margin-right: 0;
	margin-bottom: var(--gap);
	margin-left: 0;
}





.caption {
	color: var(--text-light);
	font-size: var(--caption-size);
	font-style: italic;
}





form {
	padding: var(--gap);
	margin: var(--gap-major) auto;
	background-color: var(--accent);
	color: var(--inverted-light);
}
fieldset {
	border: none;
	margin: var(--gap) 0;
}
fieldset:first-of-type {
	margin-top: 0;
}
fieldset:last-of-type {
	margin-bottom: 0;
}
form h3 {
	margin-top: var(--gap);
	color: var(--inverted-light);
	text-align: center;
}
label,
input {
	display: block;
	width: 100%;
}
input[type="submit"] {
	background-color: transparent;
	color: var(--inverted-light);
	border-color: var(--inverted-light);
	cursor: pointer;
}





iframe {
	display: block;
	width: 100%;
}
iframe + iframe {
	margin-top: var(--line-height);
}
.careers-iframe {
	height: calc(var(--line-height) * 9);
}





details {
	display: block;
	margin: var(--line-height) 0;
}
summary {
	padding: calc(var(--line-height) / 2) var(--modular-scale-0);
	margin-bottom: var(--line-height);
	background-color: var(--accent);
	color: var(--inverted-light);
	cursor: pointer;
}
summary > * {
	display: inline;
	color: var(--inverted-light);
}





hr {
	border-left: none;
	border-right: none;
	border-bottom: none;
	margin: var(--line-height) auto;
	max-width: 10%;
}





.visually-hidden { /* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility */
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
}

/* @import "_button.scss"; */
.button {
	display: block;
	width: fit-content;
	padding: 0 var(--modular-scale-0);
	border: 1px solid var(--text);
	border-radius: 2rem;
	margin-right: auto;
	margin-left:  auto;

	color: var(--text);
	letter-spacing: 0.085em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: 0px 1px 1px rgb(0 0 0 / 0.15),
	            1px 2px 2px rgb(0 0 0 / 0.15),
	            2px 3px 3px rgb(0 0 0 / 0.15);
}

.button.is-inverted {
	color: var(--inverted-light) !important;
	border-color: var(--inverted);
}

.button.has-margins {
	margin-top: var(--line-height);
	margin-bottom: var(--line-height);
}

.button:focus-visible,
.button:hover {
	background-color: var(--accent);
	color: var(--inverted-light);
}

/* @import "_calculator.scss"; */
.calculator.is-deckTile::after {
	content: "";
	display: block;
	clear: both;
}
.calculator.is-deckTile .calculator-row-heading {
	clear: both;
}
.calculator.is-deckTile .calculator-row-heading + .calculator-row,
.calculator.is-deckTile .calculator-row-heading + .calculator-row + .calculator-row {
	width: calc((100% - var(--gap)) / 2);
	float: left;
}
.calculator.is-deckTile .calculator-row-heading + .calculator-row + .calculator-row {
	margin-left: var(--gap);
}

/* @import "_cookieBanner.scss"; */
@media screen and (max-width: 573px) {

	.cc_dialog {
		max-width: 100% !important;
	}
	.cc_dialog_headline {
		font-size: 22px !important;
	}
	.cc_dialog_text {
		font-size: 12px !important;
	}

	}

/* @import "_crossPromote.scss"; */
.crossPromote-items {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

.crossPromote-link {
	border-radius: 2rem;
	color: var(--inverted-light);
	display: block;
	flex: 1 1 auto;
	letter-spacing: 0.085em;
	padding: var(--line-height);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

body.beams .crossPromote-link.is-beams,
body.ceiling .crossPromote-link.is-ceiling,
body.decking .crossPromote-link.is-decking,
body.fencing .crossPromote-link.is-fencing,
body.flooring .crossPromote-link.is-flooring,
body.lumber .crossPromote-link.is-lumber,
body.siding .crossPromote-link.is-siding,
body.slabs .crossPromote-link.is-slabs,
body.turning .crossPromote-link.is-turning {
	display: none;
}


/* @import "_externalNav.scss"; */
.externalNav {
	display: none;
}





@media screen and (min-width: 540px) and (min-height: 570px) {

	.externalNav {
		display:  flex;
		align-items: center;
		justify-content: center;

		position: fixed;
		top: 0;
		left: 0;
		z-index: 120;

		width: 100%;
	height: var(--line-height);
	padding: 0 calc((100% - var(--max-width)) / 2);
	border-bottom: 1px solid var(--background);

	background-color: hsla(0, 0%, 75%, 1);

	font-size: .6em;
	line-height: var(--line-height);

	overflow: hidden;
}



.externalNav > * {
	display: inline-block;
	padding: 0 var(--modular-scale-0);
	margin-right: 1px;
	font-size: 1em;
}



.externalNav-link {
	background-color: hsla(0, 0%, 46%, 1);
	color: var(--inverted-light);
	text-decoration: none;
	text-transform: uppercase;
}
.externalNav-link:hover,
.externalNav-link:focus {
	background-color: var(--background-inverted);
}

.externalNav-link.is-advantage {
	background-color: var(--background);
	color: var(--text);
}
.externalNav-link.is-advantage:hover,
.externalNav-link.is-advantage:focus {
	background-color: var(--background);
}

}

/* @import "_feature.scss"; */
.features {
	margin-top:    var(--gap-major);
	margin-bottom: var(--gap-major);
}



.feature {
	text-align: center;
}
.feature + .feature {
	margin-top: var(--gap-major);
}

.feature-image-link {
	display: block;
}




@supports (display: grid) {

	@media screen and (min-width: 540px) {

		.features {
			display: grid;
			grid-gap: var(--gap);
		}
		.features.col-1 {
			grid-template-columns: 1fr;
		}
		.features.col-2 {
			grid-template-columns: 1fr 1fr;
		}
		.features.col-3 {
			grid-template-columns: 1fr 1fr 1fr;
		}



		.feature + .feature {
			margin-top: 0;
		}
		.col-1 .feature + .feature {
			margin-top: var(--gap-major);
		}



		.col-1 .feature {
			display: grid;
			grid-gap: var(--gap);
			grid-template-columns: 1fr 1fr 1fr;
			grid-template-areas: "text image image";
			align-items: center;

			text-align: right;
		}



		.col-1 .feature-image-link,
		.col-1 .feature > .feature-image {
			grid-area: image;
		}
		.col-1 .feature-text {
			grid-area: text;
		}



		.col-1 .feature-link {
			float: right;
		}



		.col-3 .feature-title {
			font-size: var(--text-size);
		}



		.col-1 .feature:nth-of-type(even) {
			grid-template-areas: "image image text";
			text-align: left;
		}
		.col-1 .feature:nth-of-type(even) .feature-link {
			float: left;
		}

	}

}





/* @import "_flooringComparison.scss"; */
.flooringComparison-table {
	border-color: black;
}
.flooringComparison-table thead {
	border: 1px solid black;
	text-align: center;
}
.flooringComparison-table th {
	background-color: yellow;
	color: black;
}

.flooringComparison-table th:first-of-type {
	border-left: 1px solid black;
}
.flooringComparison-table th:last-of-type {
	border-right: 1px solid black;
}
.flooringComparison-table tr:first-of-type th {
	border-top: 1px solid black;
}
.flooringComparison-table tr:last-of-type th {
	border-bottom: 1px solid black;
}

.flooringComparison-table td {
	border: 1px solid black;
}

.flooringComparison-heading {
	line-height: calc(var(--line-height) * 3);
}

/* @import "_footerNav.scss"; */
.footerNav {
	padding: var(--line-height) var(--modular-scale-0);

	background-color: var(--background-inverted);

	color: var(--inverted);
	font-size: var(--caption-size);
	text-align: center;
}
.footerNav::after {
	content: "";
	display: block;
	clear: both;
}



.footerNav-section {
	float: left;
	width: 25%;
}


/* Tablet */
@media (max-width: 1023px) {
.footerNav-section {
	/* 2 sections per row */
    width: 50%;
    font-size: 1.3em;
    line-height: 1.5em;
}
}

.footerNav-sectionTitle {
	box-shadow: 0 1px 0 var(--inverted-shade);

	color: var(--inverted);
	font-size: var(--text-size);
}



.footerNav-sectionItems {
	list-style-type: none;
}



.footerNav-link {
	color: var(--inverted-light);
}





@media screen and (min-width: 430px) {

.footerNav {
	padding: var(--line-height);
}

}

/* @import "_forms.scss"; */
.netsuite-toggle .netsuiteForm {
	display: block;
}
.netsuite-toggle .wufooForm {
	display: none;
}





.netsuiteForm {
	width: 100%;
	border: none;
}



.netsuiteForm.is-contact,
.pro-sign-up {
	height: calc(var(--line-height) * 48);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-contact,
	.pro-sign-up {
		height: calc(var(--line-height) * 29);
	}
}



.netsuiteForm.is-contact,
.general-contact {
	height: calc(var(--line-height) * 46);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-contact,
	.general-contact {
		height: calc(var(--line-height) * 27);
	}
}





.netsuiteForm.is-sample {
	height: calc(var(--line-height) * 101);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-sample {
		height: calc(var(--line-height) * 76);
	}
}





.netsuiteForm.is-decking-quote,
.decking-quote {
	height: calc(var(--line-height) * 109);
}
@media screen and (min-width: 540px) {
	.netsuiteForm.is-decking-quote,
	.decking-quote {
		height: calc(var(--line-height) * 115);
	}
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-decking-quote,
	.decking-quote {
		height: calc(var(--line-height) * 88);
	}
}

.netsuiteForm.is-tile-quote,
.deck-tiles-quote2 {
	height: calc(var(--line-height) * 170);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-tile-quote,
	.deck-tiles-quote2 {
		height: calc(var(--line-height) * 130);
	}
}

.netsuiteForm.is-siding-quote,
.siding-quote {
	height: calc(var(--line-height) * 108);
}

@media screen and (min-width: 540px) {
	.netsuiteForm.is-siding-quote,
	.decking-quote {
		height: calc(var(--line-height) * 112);
	}
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-siding-quote,
	.siding-quote {
		height: calc(var(--line-height) * 89);
	}
}

.netsuiteForm.is-ceiling-quote,
.ceiling-quote {
	height: calc(var(--line-height) * 109);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-ceiling-quote,
	.ceiling-quote {
		height: calc(var(--line-height) * 82);
	}
}





.netsuiteForm.is-newsletter {
	height: calc(var(--line-height) * 12.25);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-newsletter {
		height: calc(var(--line-height) * 10.25);
	}
}

.netsuiteForm.is-newsletter-signup {
	height: calc(var(--line-height) * 28);
}
@media screen and (min-width: 1150px) {
	.netsuiteForm.is-newsletter-signup {
		height: calc(var(--line-height) * 13);
	}
}





.netsuiteForm.is-makeOffer,
.pressroom,
.wholesale,
.how-to {
	height: calc(var(--line-height) * 45);
}
@media screen and (min-height: 700px) {
	.netsuiteForm.is-makeOffer,
	.pressroom,
	.wholesale,
	.how-to {
		height: calc(var(--line-height) * 26);
	}
}





.netsuiteForm.is-wholesale {
	height: calc(var(--line-height) * 50);
}
@media screen and (min-height: 700px) {
	.netsuiteForm.is-wholesale {
		height: calc(var(--line-height) * 50);
	}
}





.netsuiteForm.is-how-to {
	height: calc(var(--line-height) * 30);
}
@media screen and (min-height: 700px) {
	.netsuiteForm.is-how-to {
		height: calc(var(--line-height) * 20);
	}
}

.tips-techs {
	height: calc(var(--line-height) * 30);
}




.netsuiteForm.is-catalog-request {
	height: calc(var(--line-height) * 45);
}
@media screen and (min-height: 700px) {
	.netsuiteForm.is-catalog-request {
		height: calc(var(--line-height) * 25);
	}
}





/* @import "_gallery.scss"; */
.gallery {
	display: grid;
	gap: var(--line-height);
	grid-template-columns: repeat(auto-fit, minmax( max(125px, (100% - (3 - 1) * var(--line-height)) / 3), 1fr )); /* https://stackoverflow.com/questions/55281598/css-grid-maximum-number-of-columns-without-media-queries */
}

.galleryItem-link,
.galleryItem-link * {
	transition: all var(--transition-duration) var(--transition-timing);
}



.galleryItem-link {
	aspect-ratio: 1/1;
	display: block;
	position: relative;
}

.galleryItem-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;

	object-fit: cover;

	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}

/* @import "_glossary.scss"; */
.glossary {
	margin: var(--gap-major) auto;
}

.glossary-term {
	color: var(--text-shade);
	font-weight: bold;
}
.glossary-definition + .glossary-term {
	margin-top: var(--gap);
}

/* @import "_glossaryNav.scss"; */
.glossaryNav {
	display: flex;
	flex-wrap: wrap;

	margin: var(--gap-major) auto;
	text-align: center;
}

.glossaryNav-link {
	display: block;

	flex-grow: 1;

	width: calc((100% - var(--gap-minor) * 7) / 8);
	border: 1px solid var(--text);
	margin-bottom: var(--gap-minor);
	margin-left: var(--gap-minor);

	color: var(--text);
	font-family: var(--heading-font);
	text-transform: uppercase;
	text-decoration: none;
}
.glossaryNav-link:nth-of-type(8n-7) {
	margin-left: 0;
}





.mainContent-intro .glossaryNav-link {
	color: var(--inverted-light);
	border-color: var(--inverted);
}






@media screen and (min-width: 540px) {

.glossaryNav-link {
	width: calc((100% - var(--gap) * 12) / 13);
	margin-bottom: var(--gap);
	margin-left: var(--gap);
}
.glossaryNav-link:nth-of-type(8n-7) {
	margin-left: var(--gap);
}
.glossaryNav-link:nth-of-type(13n-12) {
	margin-left: 0;
}

}

/* @import "_janka.scss"; */
.jankaChart {
	position: relative;

	width: 100%;
	border-right: 1px dashed var(--background-inverted);
	border-left:  1px dashed var(--background-inverted);
	margin-top:    calc(var(--line-height) * 2);
	margin-bottom: calc(var(--line-height) * 2);

	background-color: var(--accent-transparent);
}



.lbs0,
.lbs4000 {
	display: table;

	position: absolute;
	top: var(--line-height);

	font-size: var(--caption-size);
	font-style: italic;
}
.lbs0 {
	left: 0.4em;
}
.lbs0::before {
	content: "0 pounds";
}
.lbs4000 {
	right: 0.4em;
}
.lbs4000::before {
	content: "4000 pounds";
}




.jankaChart-item {
	padding: 0 var(--modular-scale-0);

	background-color: var(--background-inverted);
	color: var(--inverted-light);
	text-shadow: var(--text-shadow);

	white-space: nowrap;
}
* + .jankaChart-item {
	margin-top: var(--line-height);
}



.jankaChart-itemName,
.jankaChart-itemHardness {
	display: inline;
}

.jankaChart-itemName {
	font-size: var(--text-size);
}
.jankaChart-itemName a {
	color: var(--inverted-light);
}
.jankaChart-itemName::after {
	content: ":";
	color: var(--inverted-light)
}





.lumberList .jankaChart {
	padding-top: var(--line-height);
	margin: 0;
}

.lumberList .lbs0,
.lumberList .lbs4000 {
	top: 0;
}

.lumberList .jankaChart-itemName {
	display: none;
}



/* @import "_lightbox.scss"; */
.lightbox {
	display: grid;
	gap: var(--gap-minor);
	grid-template-rows: 90% 1fr;
	justify-content: center;
	align-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;

	width: 100%;
	height: 100%;
	margin: 0;

	background-color: hsla(0, 0%, 0%, .75);
}
.lightbox-image {
	box-shadow: 0 0 1em black;
	margin-inline: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.lightbox-caption {
	color: white;
}
.lightbox-close {
	display: block;

	position: absolute;
	top: 0;
	right: 0;

	width: calc(var(--line-height) * 2);
	height: calc(var(--line-height) * 2);
	border: none;

	background-color: var(--accent);
	background-image: url(/img/close.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;

	cursor: pointer;
}

/* @import "_locations.scss"; */
.location {
	display: grid;
	grid-template-areas: "name name"
	                     "image image"
	                     "address phone"
	                     "fax email"
	                     "tour tour"
	                     "map map";
	grid-template-columns: 50% 50%;
}
.location p {
	font-size: var(--modular-scale-0);
}
.location .mainContent-heading {
	grid-area: name;
}
.location-image {
	grid-area: image;
}
.location-address {
	grid-area: address;
}
.location-phone {
	grid-area: phone;
}
.location-fax {
	grid-area: fax;
}
.location-email {
	grid-area: email;
}
.location-tour {
	grid-area: tour;
	margin-left: 0;
	margin-top: var(--gap);
}
.location-map {
	grid-area: map;
}





@media screen and (min-width: 440px) {

.location p {
	font-size: var(--text-size);
}

}

/* @import "_lumberList.scss"; */
.lumberList {
	margin-top:    calc(var(--line-height) * 2);
	margin-bottom: calc(var(--line-height) * 2);
}



.lumberList-item {
	border-right: 1px solid var(--accent);
	border-left:  1px solid var(--accent);
	box-shadow: 0  1px 0 var(--accent),
	            0 -1px 0 var(--accent);
}
.lumberList-item + .lumberList-item {
	margin-top: var(--line-height);
}



.lumberList-header {
	position: relative;

	width: 100%;
	height: calc(var(--line-height) * 4);

	color: var(--inverted-light);
	text-shadow: var(--text-shadow);
}

.lumberList-name,
.lumberList-name a {
	color: var(--inverted-light);
}

.lumberList-name,
.lumberList-botanicalName {
	position: absolute;
	left: 0;

	width: 100%;
}

.lumberList-name {
	top: var(--line-height);
	left: 0;

	padding-left: var(--modular-scale-0);

	font-family: var(--body-font);
	font-weight: bold;
}
.lumberList-botanicalName {
	top: calc(var(--line-height) * 2);

	padding-left: var(--modular-scale-0);

	font-style: italic;
}

.lumberList-image {
	display: block;

	width: 100%;
	height: 100%;
	object-fit: cover;

	background: black;
}



.lumberList-section > * {
	padding-right: var(--modular-scale-0);
	padding-left:  var(--modular-scale-0);
}
.lumberList-section + .lumberList-section {
	margin-top: calc(var(--line-height) / 2);
}
.lumberList-section:last-of-type {
	padding-bottom: calc(var(--line-height) / 2);
}



.lumberList-section-heading {
	margin-bottom: calc(var(--line-height) / 2);
	background-color: var(--accent);
	color: var(--inverted-light);
	font-family: var(--body-font);
}



.lumberList-otherNames ul,
.lumberList-uses ul {
	list-style-type: none;
	margin: 0;
	text-transform: capitalize;
}
.lumberList-otherNames li,
.lumberList-uses li {
	display: inline;
}
.lumberList-otherNames li:not(:last-of-type)::after,
.lumberList-uses li:not(:last-of-type)::after {
	content: ",";
}



.lumberList:not(.is-singular) .lumberList-section {
	display: none;
}





@media screen and (min-width: 500px) {

.lumberList-item {
	margin-top: calc(var(--line-height) * 2);
}

}

/* @import "_mainContent.scss"; */
.mainContent {
	display: block;

	margin-bottom: var(--gap-major);
}



.mainContent > * {
	width: 100%;
	max-width: calc(100% - var(--modular-scale-1) * 2);
	margin-right: auto;
	margin-left:  auto;
}



.mainContent-intro {
	width: 100%;
	max-width: 100%;
	padding-right: var(--modular-scale-1);
	padding-left:  var(--modular-scale-1);
	margin-right: 0;
	margin-left:  0;

	padding-top: calc(var(--line-height) * 2);
	padding-bottom: calc(var(--line-height) * 2);
	margin-bottom: calc(var(--line-height) * 2);

	/* background-color: var(--backgroundInverted); */
	/* color: var(--inverted); */
}
@media screen and (min-width: 540px) {
	.mainContent-intro {
		padding-right: calc((100% - var(--max-width)) / 2);
		padding-left:  calc((100% - var(--max-width)) / 2);
	}
}
.mainContent-intro > *:last-child {
	margin-bottom: 0;
}
.mainContent-intro b,
.mainContent-intro strong {
	color: var(--inverted-light);
}
.mainContent-intro a {
	color: var(--accentlight);
}





h2.mainContent-heading {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-top:    calc(var(--line-height) * 2);
	margin-bottom: calc(var(--line-height) * 2);
}
h2.mainContent-heading:before,
h2.mainContent-heading:after {
	content: "";
	border-top: 1px solid var(--text-light);
	margin: 0 var(--gap-minor) 0 0;
	flex: 1 0 var(--gap-minor);
}
h2.mainContent-heading:after {
	margin: 0 0 0 var(--gap-minor);
}





h3.mainContent-heading {
	margin-top: var(--line-height);
}





.mainContent-section > p {
	margin-top:    var(--line-height);
	margin-bottom: var(--line-height);
}



.mainContent-section > ul {
	padding-left: var(--modular-scale-3);
	margin-top:    var(--line-height);
	margin-bottom: var(--line-height);
}





@media screen and (min-width: 540px) {

.mainContent > * {
	width: var(--max-width);
}

}

/* @import "_mainNav.scss"; */
.mainNav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;

	width: calc(100% - var(--line-height) * 2);
	height: 100%;

	background-color: var(--accent);

	transition: left var(--transition-duration) var(--transition-timing);
}
.mainNav.is-hidden {
	left: calc(-100% + var(--line-height) * 2);
}
.mainNav.is-visible {
	left: 0;
}



.mainNav-toggle {
	display: block;

	position: absolute;
	top: 0;
	right: calc(0rem - var(--line-height) * 2);

	width:  calc(var(--line-height) * 2);
	height: calc(var(--line-height) * 2);
	border: none;

	background-image: url(/img/nav-toggle.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 75%;
	background-color: var(--background-inverted);

	cursor: pointer;

	transition: transform var(--transition-duration) var(--transition-timing);
}
.mainNav-toggle:focus {
	outline: none;
}
/* .is-visible .mainNav-toggle {
	background-image: url(/img/nav-toggle-text-reverse.svg);
} */



.mainNav-section {
	position: relative;
}
.mainNav-section-title {
	font-family: var(--body-font);
	font-size: var(--modular-scale-2);
	font-weight: normal;
}
.mainNav-section-title-link {
	display: block;

	padding: 0 var(--modular-scale-1);

	color: var(--inverted-light);
	line-height: calc(var(--line-height) * 2);
	text-decoration: none;
}
.is-emphasized .mainNav-section-title-link,
.is-emphasized .mainNav-section-title-link:hover,
.is-emphasized .mainNav-section-title-link:focus {
	background-color: hsla(0, 100% ,46% ,1);
}



.mainNav-section-links {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;

	width: calc(100% - var(--line-height) * 2);
	height: 100%;
	margin: 0;

	list-style-type: none;

	background-color: var(--accent-shade);

	transition: left var(--transition-duration) var(--transition-timing);
}
.is-hidden > .mainNav-section-links {
	left: calc(-100% + var(--line-height) * 2);
}
.is-visible > .mainNav-section-links {
	left: 0;
}



.mainNav-section-links-item {
	float: left;
	width: 50%;
}
.mainNav-section-links-item:first-of-type,
.is-backLink {
	float: none;
	width: 100%;
}



.mainNav-section-links-link {
	display: block;

	height: calc(var(--line-height) * 2);
	padding: 0 var(--modular-scale-1);

	color: var(--inverted-light);
	line-height: calc(var(--line-height) * 2);
	text-decoration: none;

	white-space: nowrap;
}
.mainNav-section-links-link:hover,
.mainNav-section-links-link:focus,
.mainNav-section-links-link.is-backLink:focus,
.mainNav-section-links-link.is-backLink:hover {
	background-color: rgba(0, 0, 0, .25);
}
.mainNav-section-links-link.is-backLink {
	width: 100%;
	border: none;
	border-bottom: 1px dotted var(--accentlight);

	background: none;

	text-align: left;

	cursor: pointer;
}
.mainNav-section-links-link.is-backLink::before {
	content: "\00AB  ";
}
.mainNav-section-links-link.is-backLink:focus {
	outline: none;
}



.is-search {
	width: calc(100% - var(--modular-scale-1) * 2);
	padding-top:    calc(var(--line-height) / 2);
	padding-bottom: calc(var(--line-height) / 2);
	margin: 0 auto;
}
.addsearch {
	border: 1px solid black;
	border-bottom: 1px solid gray;
	border-right: 1px solid gray;
	padding: 0 .25em;
	width: 100%;
}
.gsc-control-cse {
	background: none !important;
	border: none !important;
	padding: 0 !important;
}
.gsc-search-box {
	background: none;
	margin: 0 !important;
	padding: 0 !important;
	table-layout: auto;
}
.gsc-search-box td {
	height: var(--line-height);
	padding: 0 !important;
}
.gsc-input-box {
	border: none !important;
}
.gsc-input-box table {
	border: none !important;
	margin: 0;
}
input.gsc-input {
	border: none !important;
	block-size: var(--gap) !important;
}
.gsc-search-button {
	aspect-ratio: 1/1;
	box-sizing: border-box;
	block-size: var(--gap);
	inline-size: var(--gap);
	padding: 0 !important;
	transform: translateY(-0.5px);
}
.gsc-results-wrapper-overlay {
	text-align: start;
}




@media screen and (min-width: 540px) {

.mainNav {
	display: flex;
	justify-content: center;

	top: calc(var(--line-height) * 2); /* height of .siteHeader */

	width: 100%;
	height: calc(var(--line-height) * 2);
	padding-right: calc((100% - var(--max-width)) / 2);
	padding-left:  calc((100% - var(--max-width)) / 2);
}
.mainNav.is-hidden {
	left: 0;
}



.mainNav-toggle {
	display: none;
}



.mainNav-section {
	width: calc(100% / 5);

	text-align: center;
}
.is-visible .mainNav-section-title-link,
.mainNav-section-title-link:hover,
.mainNav-section-title-link:focus {
	background-color: var(--accent-shade);
}
.is-emphasized.is-visible .mainNav-section-title-link,
.is-emphasized .mainNav-section-title-link:hover,
.is-emphasized .mainNav-section-title-link:focus {
	background-color: red;
}



.mainNav-link:hover,
.mainNav-link:focus {
	background-color: var(--accent-shade);
}



.mainNav-section-links {
	top: calc(var(--line-height) * 4);

	width: 100%;
	height: calc(100% - var(--line-height) * 4);
	padding-right: calc((100% - var(--max-width)) / 2);
	padding-left:  calc((100% - var(--max-width)) / 2);
	overflow: hidden;

	text-align: left;

	transition: height var(--transition-duration) var(--transition-timing);
}
.is-hidden > .mainNav-section-links {
	left: 0;
	height: 0;
}
.is-visible > .mainNav-section-links {
	left: 0;
	height: calc(100% - var(--line-height) * 4);
}



.mainNav-section-links-item {
	width: calc(100% / 3);
}



.mainNav-section-links-item:first-of-type,
.is-backLink {
	display: none;
}



.is-search {
	position: fixed;
	top: 0;
	right: calc((100% - var(--max-width)) / 2);

	width: 27.1rem;
	margin: 0 0 0 var(--modular-scale-1);
}

}





@media screen and (min-height: 570px) and (min-width: 540px) {

.mainNav {
	top: calc(var(--line-height) * 3); /* height of .siteHeader */
}



.mainNav-section-links {
	top: calc(var(--line-height) * 5);
}
.is-visible > .mainNav-section-links {
	height: calc(100% - var(--line-height) * 6);
}



.is-search {
	top: calc(var(--line-height) * 1.5);

	padding: 0;
	margin-left: 0;
}

}

/* @import "_modal.scss"; */
.modal {
	background-color: var(--background-transparentInverted);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}
.modal > * {
    margin-left: auto;
    margin-right: auto;
	max-height: 100%;
	max-width: 100%;
}
.modal-close {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 5.4rem;
    height: 5.4rem;
    border: none;
    background-color: #0e623b;
    background-image: url(/img/close.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
	cursor: pointer;
	z-index: 1100;
}

.modal > .netsuiteForm {
    max-width: var(--max-width);
}

/* @import "_news.scss"; */
.news {
	width: calc(100% - var(--line-height) * 2);
	margin: 0 auto;
	padding-top:    var(--line-height);
	padding-bottom: var(--line-height);

	width: 100%;
	max-width: 100%;
	padding-right: var(--modular-scale-1);
	padding-left:  var(--modular-scale-1);
	margin-right: 0;
	margin-left:  0;
}

.news-dark {
	padding-top:    calc(var(--line-height) * 2);
	background-color: var(--background-inverted);
	color: var(--inverted);
}

.news::after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (min-width: 540px) {
	.news {
		padding-right: calc((100% - var(--max-width)) / 2);
		padding-left:  calc((100% - var(--max-width)) / 2);
	}
}



.news.news-dark > section + section {
	margin-top: calc(var(--line-height) * 2);
}





.majorAnnouncements {
	width: calc(100% - var(--line-height) * 2);
	margin-right: auto;
	margin-left:  auto;
	text-align: center;
}
.majorAnnouncements::after {
	content: "";
	display: block;
	clear: both;
}

/* Only add margin bottom if also doesn't have `.slim` class */
.majorAnnouncements-heading:not(.slim) {
	margin-bottom: calc(var(--line-height) * 2);
}

.news-dark .majorAnnouncements-heading {
	color: var(--inverted-light);
}

.majorAnnouncement + .majorAnnouncement {
	margin-top: var(--line-height);
}

.majorAnnouncement-name {
	color: var(--inverted-light);
}



.currentContest {
	padding: var(--line-height);
	position: relative;
	text-shadow: var(--text-shadow);
}

.currentContest-bg {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	/* object-position: center bottom; */
}

.currentContest-content {
	position: relative;
}

.newsFeed {
	width: calc(100% - var(--line-height) * 2);
	margin-right: auto;
	margin-left:  auto;

	text-align: center;
}

.newsFeed-item + .newsFeed-item {
	margin-top: var(--line-height);
}

.newsFeed-itemHeading {
	color: var(--inverted-light);
	font-size: var(--caption-size);
}

.newsFeed-itemDescription {
	font-size: var(--caption-size);
}





.twitterFeed {
	width: calc(100% - var(--line-height) * 2);
	margin-right: auto;
	margin-left:  auto;
}
#twitter-widget-0 {
	width: 100% !important;
}





@media screen and (min-width: 540px) {

.news {
	padding-right: calc((100% - var(--max-width)) / 2);
	padding-left:  calc((100% - var(--max-width)) / 2);
}

}





@media screen and (min-width: 1460px) {

/*.majorAnnouncement,
.newsFeed {
	float: left;
	width: calc((100% - var(--lineHeight) * 3) / 2);
	margin-left: var(--lineHeight);
}
.majorAnnouncement + .majorAnnouncement {
	margin-top: 0;
}
*/

.twitterFeed {
	width: 100%;
}



.newsFeed {
	text-align: left;
}

}

/* @import "_newsletterSignup.scss"; */


/* @import "_pageHeader.scss"; */
.pageHeader {
	padding-top: calc(var(--line-height) * 2);

	width: 100%;
	max-width: 100%;
	padding-right: var(--modular-scale-1);
	padding-left:  var(--modular-scale-1);
	margin-right: 0;
	margin-left:  0;

	/* background-color: black; */

	/* color: var(--invertedLight); */
	font-family: var(--heading-font);
	text-align: center;
	text-transform: uppercase;
}
@media screen and (min-width: 540px) {
	.pageHeader {
		padding-right: calc((100% - var(--max-width)) / 2);
		padding-left:  calc((100% - var(--max-width)) / 2);
	}
}
.pageHeader::after {
	content: "";

	display: block;

	width: 100%;
	height: 1px;

	/* background-color: var(--invertedShade); */
	background-color: var(--text-light);
}

.pageHeader-title {
	/* color: var(--invertedLight); */
	font-size: var(--h3-size);
	font-weight: normal;
}

.pageHeader-subtitle {
	/* color: var(--inverted); */
	font-size: var(--caption-size);
}





@media screen and (min-width: 650px) {

.pageHeader-title {
	font-size: var(--h2-size);
}

}





@media screen and (min-width: 920px) {

.pageHeader-title {
	font-size: var(--h1-size);
}

.pageHeader-subtitle {
	font-size: var(--h3-size);
}

}

/* @import "_pageNav.scss"; */
.pageNav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	margin-bottom: var(--gap-major);
}
.pageNav-link {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;

	border: 1px solid var(--text-light);
	color: var(--text);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
.pageNav-link + .pageNav-link {
	margin-left: var(--gap);
}

.mainContent-intro .pageNav-link {
	border: 1px solid var(--inverted);
	color: var(--inverted-light);
}

/* @import "_priceList.scss"; */
.priceList {
	display: grid;
	gap: var(--line-height);
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}



.priceList-item {
	padding-bottom: calc(var(--line-height) / 2);
	border-right: 1px solid var(--accent);
	border-left: 1px solid var(--accent);
	box-shadow: 0 1px 0 var(--accent);
}
.priceList-item + .priceList-item {
	margin-top: 0;
}



.priceList-itemName {
	padding-right: var(--modular-scale-0);
	padding-left:  var(--modular-scale-0);
	margin-bottom: calc(var(--line-height) / 2);

	background-color: var(--accent);
	color: var(--inverted-light);

	font-family: var(--body-font);
	line-height: var(--line-height);
}

.priceList-itemHeader > *:not(.priceList-itemName) {
	display: table;
	padding-right: var(--modular-scale-0);
	padding-left:  var(--modular-scale-0);
}

.priceList-itemImage {
	display: block;
}



.priceList-item-section {
	margin-top: calc(var(--line-height) / 2);
}
.priceList-item-section > * {
	padding-right: var(--modular-scale-0);
	padding-left:  var(--modular-scale-0);
}
.priceList-item-sectionTitle {
	margin-bottom: calc(var(--line-height) / 2);
	background-color: var(--accent);
	color: var(--inverted-light);
	font-family: var(--body-font);
}



.priceList-itemPrice-regular,
.priceList-itemPrice-sale {
	font-variant-numeric: lining-nums;
}
.is-sale .priceList-itemPrice-regular {
	color: hsla(0, 100%, 46%, 1);
	text-decoration: line-through;
}
.is-sale .priceList-itemPrice-regular::before {
	content: "Regular Price: ";
}

.priceList-itemPrice-sale {
	color: var(--text-shade);
	font-weight: bold;
}
.priceList-itemPrice-sale::before {
	content: "Sale Price: ";
}

.priceList-itemPrice-unit {
	color: var(--text-light);
	font-size: var(--caption-size);
	font-weight: normal;
	font-style: italic;
}
.is-sale .priceList-itemPrice-regular .priceList-itemPrice-unit {
	color: hsla(0, 100%, 46%, 1);;
}

.priceList-fob-price-difference {
	font-size: var(--caption-size);
	font-style: italic;
}



.priceList-cartLink,
.priceList-sampleLink {
	display: inline-block;
	margin-left: var(--modular-scale-0);
}
.priceList-cartLink {
	border: none;
	background-color: var(--accent);
	color: var(--inverted-light);
}
.priceList-installLink {
	margin: 0;
	width: 100%;
}



.priceList-disclaimer {
	margin: 0;

	color: var(--text-light);

	font-size: var(--caption-size);
	font-style: italic;
	text-align: center;
}





@media screen and (min-width: 500px) {

.priceList-item {
	width: 100%;
	padding-bottom: 0;
	border: none;
}

.priceList-itemHeader {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: flex-end;

	padding-top:    calc(var(--line-height) / 2);
	padding-bottom: calc(var(--line-height) / 2);
}
.priceList-itemHeader::after {
	content: "";
	display: block;
	clear: both;
}
.priceList-itemName {
	padding: 0;
	margin: 0;

	background-color: transparent;
	color: var(--text-shade);

	line-height: var(--line-height);
	font-weight: bold;
}
.priceList-itemHeader .priceList-itemImage,
.priceList-itemHeader .priceList-itemImageLink {
	padding-left: 0;
}
.priceList-itemHeader > .priceList-itemImage,
.priceList-itemHeader .priceList-itemImageLink {
	max-width: 50%;
}

.priceList-item::after {
	content: "";
	display: block;
	clear: both;
}

.priceList-item-sectionHolder {
	display: table;
	width: 100%;
}
.priceList-item-section {
	display: table-cell;
	width: 50%;
	padding-bottom: calc(var(--line-height) / 2);
}
.priceList-item-section:nth-of-type(odd) {
	border-left: 1px solid var(--accent);
}
.priceList-item-section:nth-of-type(even) {
	border-right: 1px solid var(--accent);
}

}





/* fixes for products without images */
.priceList-itemImage[src*="screws/buglehead"],
.priceList-itemImage[src*="screws/metaljoist"] {
	display: none;
}



/* @import "_promotionBar.scss"; */
.promotionBar {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.promotionBar > * + * {
	margin-top: var(--line-height);
}




.promotionBar-sale-title,
.promotionBar-catalog-title {
	font-family: var(--body-font);
	font-size: var(--text-size);
	font-weight: bold;
}



.promotionBar-catalog {
	position: relative;
}
.promotionBar-catalog-image {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-300%);

	width: auto;
	height: calc(var(--line-height) * 2.5);
}





@media screen and (min-width: 540px) {

.promotionBar {
	flex-direction: row;
	width: var(--max-width);
	margin-right: auto;
	margin-left:  auto;
}
.promotionBar::after {
	content: "";
	display: block;
	clear: both;
}


.promotionBar > * {
	flex: 1 1 0;
	width: 0;
}
.promotionBar > * + * {
	margin-top: 0;
}



.promotionBar-catalog-image {
	transform: translateX(-280%);
}

}

/* @import "_responsiveImage.scss"; */
.responsiveImage {
	position: relative;
	margin-right: auto;
	margin-left:  auto;

	text-align: center;
}



.responsiveImage img {
	max-width: 100%;
	height: auto;
}
.responsiveImage figcaption {
	font-size: var(--caption-size);
	font-style: italic;
}



.captionOverlay figcaption {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);

	width: 100%;
	padding: var(--line-height);

	background-color: hsla(0, 0%, 0%, .5);

	color: var(--inverted);
	font-size: var(--text-size);
	font-style: normal;
	text-shadow: var(--text-shadow);
}

.captionOverlay h1,
.captionOverlay h2,
.captionOverlay h3,
.captionOverlay h4,
.captionOverlay h5,
.captionOverlay h6 {
	color: var(--inverted-light);
}

.captionOverlay a {
	color: var(--inverted-light);
}

/* @import "_responsiveVideo.scss"; */
.responsiveVideo {
	margin-top:    var(--gap-major);
	margin-bottom: var(--gap-major);
	max-inline-size: calc(var(--max-width) / 2);
}

.responsiveVideo-container {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}

.responsiveVideo-placeholder,
.responsiveVideo-playButton,
.responsiveVideo-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* @import "_salesRep.scss"; */
.salesRep {
	color: white;
	position: relative;
	text-align: center;
}

.salesRep * {
	color: inherit;
}

.salesRep-info {
	bottom: var(--line-height);
	position: absolute;
	width: 100%;
}

.salesRep-intro {
	display: none;
	}

.salesRep-email,
.salesRep-phone {
	display: block;
}





@media screen and (min-width: 460px) {

.salesRep {
	align-items: flex-start;
	display: flex;
	text-align: left;
}

.salesRep > * {
	width: 0;
	flex: 1 1 auto;
}

.salesRep * {
	color: initial;
}

.salesRep-info {
	position: static;
}

.salesRep-intro {
	display: block;
	margin-bottom: var(--line-height);
}

.salesRep-email,
.salesRep-phone {
	color: var(--accent);
}

}

/* @import "_siteFooter.scss"; */
.siteFooter {
	padding: var(--line-height) var(--modular-scale-0);

	background-color: var(--background-inverted);

	color: var(--inverted);
	text-align: center;
	padding-bottom: calc(var(--gap-major)*2);
}



.siteFooter-copyright,
.siteFooter-disclaimer {
	margin: 0;
	font-size: var(--caption-size);
}

.siteFooter-disclaimer {
	font-style: italic;
}

.siteFooter-terms a {
	color: var(--inverted-light);
}

/* @import "_siteHeader.scss"; */
.siteHeader {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 90;

	width: 100%;
	height: calc(var(--line-height) * 2);
	box-shadow: var(--box-shadow);

	background-color: var(--background-inverted);
	color: var(--inverted-light);

	/* Disable transition on site header since it doesn't need them.
	This is just the top white logo part of toolbar.
	If you don't do this then transform causes it to slide in from left on every page nav */
	transition: none;
}



.siteHeader-logo {
	display: block;

	position: fixed;
	top: 0;
	left: calc(var(--line-height) * 2);
	z-index: 90;

	width:  calc(100% - var(--line-height) * 2);
	height: calc(var(--line-height) * 2);
	padding: 0 var(--modular-scale-0);
}
.siteHeader-logo-image {
	display: block;
	height: 100%;
}



.siteHeader-contact {
	background: var(--background-inverted);
	color: var(--inverted-light);
	display: flex;
	justify-content: center;
	left: 0;
	padding: 0 var(--gap);
	position: fixed;
	text-align: center;
	top: calc(var(--line-height) * 2);
	width: 100%;
}
.siteHeader-contact > * {
	flex: 1 1 auto;
}
.siteHeader-contact a {
	color: var(--inverted-light);
}
.siteHeader-contact-shop,
.siteHeader-contact-email {
	text-transform: uppercase;
}
.siteHeader-contact-phone {
	font-variant-numeric: lining-nums;
	font-weight: bold;
}

.siteHeader-phone-hours {
	display: none;
}





@media screen and (min-width: 1150px) {

	.siteHeader-phone-hours {
		display: table;
		position: fixed;
		top: 0.5em;
		right: 0.5em;
	}

}

@media screen and (min-width: 540px) {

.siteHeader {
	left: 50%;
	transform: translateX(-50%);

	height: calc(var(--line-height) * 3);
	box-shadow: none;
}



.siteHeader-logo {
	left: calc((100% - var(--max-width)) / 2);

	width: auto;
	padding: 0;
}

}





@media screen and (min-height: 570px) and (min-width: 540px) {

.siteHeader {
	/* top: var(--lineHeight); */
	height: calc(var(--line-height) * 3);
}



.siteHeader-logo {
	top: calc(var(--line-height) / 2);
}



.siteHeader-contact {
	background: none;
	color: var(--text);
	display: table;
	left: auto;
	padding: 0;
	position: fixed;
	right: calc((100% - var(--max-width)) / 2);
	text-align: right;
	top: calc(var(--line-height) / 2);
	width: auto;
	z-index: 120;
}
/* .siteHeader-contact a {
	color: var(--accent);
} */

.siteHeader-contact > * {
	display: inline-block;

	text-decoration: none;
}
.siteHeader-contact > * + * {
	margin-left: var(--modular-scale-0);
}

}

/* @import "_socialLinks.scss"; */
.social-nav {
	background-color: var(--background-inverted);
	color: var(--inverted);
	padding: var(--line-height);
	text-align: center;
}

.social-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--line-height);
	justify-content: center;
	list-style: none;
}

.social-nav__image {
	aspect-ratio: 1/1;
	display: block;
	width: calc(var(--line-height) * 1.5);
}

/* members logos */
.members-nav {
	background-color: var(--background-inverted);
	color: var(--inverted);
	padding: var(--line-height);
	text-align: center;
}

.members-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--line-height);
	justify-content: center;
	list-style: none;
	align-items: center;
}

.members-nav__image {
	display: block;
	width: calc(var(--line-height) * 4);
}





/* old site patch */

.video-container{position:relative;margin:2em 0;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden;z-index:0}
.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}

.priceList-item {
	border: 1px solid var(--accent);
	box-shadow: none;
	/* display: flex; */
	/* flex-wrap: wrap; */
}
.priceList-item > * { padding: var(--modular-scale-0); }
.priceList-itemName { background: none; color: var(--text); }
.priceList-item:not(.is-sale) .priceList-salePrice { display: none; }
.is-sale .priceList-regPrice,
.priceList-price--regular { color: red; text-decoration: line-through; }
.is-sale .priceList-salePrice,
.priceList-price--sale { font-weight: bold; }
.priceList-sampleLink,.priceList-buyLink,.priceList-callLink,.decking_quote{
	display: table;
	width: auto;
	padding: 0 var(--modular-scale-0);
	border: 1px solid var(--text);
	margin-left: 0;
	margin-top: var(--modular-scale-0);
	color: var(--text);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
/* this broke the buttons used in the deck tiles pricing tables */
/* .priceList-sampleLink::before,
.priceList-buyLink::before {
	white-space: nowrap;
} */

/* Labels for buy, free sample, and call to order buttons */
.priceList-sampleLink::before { content: "Free Sample"; }
.priceList-buyLink::before { content: "Buy Online"; }
.priceList-callLink::before { content: "Call to Order"; }

/* Override generated labels for new price lists */
.priceList-item--new .priceList-sampleLink::before { content: ""; }
.priceList-item--new .priceList-buyLink::before { content: ""; }
.priceList-item--new .priceList-callLink::before { content: ""; }

.mainContent > div > * + *:where(h2, h3, h4, h5, h6),
.mainContent > div > *:first-child {
	margin-top: var(--gap);
	margin-bottom: var(--gap);
}

.mainContent > div > h2 {
	text-align: center;
}

.picFloat-right,
.picFloat-left,
.floathome2 {
	display: table;
	margin: var(--gap) auto;
	text-align: center;
}

.shadowboxBG{background:rgba(0,0,0,0.3)}
.shadowbox{background:rgba(0,0,0,0.75);width:100%;height:100%;text-align:center;position:fixed;top:0;left:0;z-index:25;transition:opacity 1s ease;z-index:9999}
.shadowbox.is-visible{opacity:1}
.shadowbox.is-hidden{opacity:0}
.shadowbox-image{background:#fff;display:inline-block;max-width:100%;max-height:75%;margin:3.2em 0 0 0;box-shadow:0 0 .75em #000;z-index:26}
.shadowbox-close{background:#fff url(/images/close.gif) no-repeat center;width:3.2em;height:3.2em;position:absolute;top:0;right:0;cursor:pointer;z-index:99999}
.shadowbox-shield{width:100%;height:100%;position:absolute;top:0;left:0}
.shadowbox-caption{display:block;text-align:center;color:#fff;text-shadow:0 0 .1em #000;margin:0 auto;padding:.5em}
.shadowbox-socialButtons{position:relative;z-index:100}
.shadowbox-socialButtons a{margin-left:.5em}
.shadowbox-socialButtons:before{display:block;color:#fff;content:"Share This Photo:";text-shadow:0 0 .1em #000}
@media screen and (min-width: 25em){
	.shadowbox-socialButtons:before{display:inline-block}
.shadowbox-close{width:3.5em;height:3.5em}
.shadowbox-image{margin:3.5em 0 0 0}}
@media screen and (min-width: 43.5em){
	.shadowbox-close{width:6.3em;height:6.3em}
.shadowbox-image{margin:6.3em 0 0 0}
.shadowbox-caption{font-size:1.5em}}


.jankaChart-item > * {
	display: inline-block;
}
.jankaChart-itemName {
	color: white;
}
.jankaChart-heading {
	display: none;
}

/* Float copied over from old site */
.float-right-forever {
	float: right;
}

.float-left-forever {
	float: left;
}

.float-right-forever ul,
.float-left-forever ul {
	margin-top: 0;
	padding-top: 0;
}

/* Link hold navigation links on some top pages */
.linkHold a,
.linkHead a {
  padding: 0 0.6em 0 0.5em;
  margin-top: 0;
  font-size: 1.175em;
  line-height: 1.4em;
  display: inline-block;
  text-align: center;
  border-right: 0.1em solid #e6751e;
}

.linkHold a {
  margin-bottom: 0.8em;
}

.linkHold a:last-of-type,
.linkHead a:last-of-type {
  border-right: 0;
}

.linkHold {
  text-align: center;
  display: block;
  width: 100%;
  line-height: 1.6;
}

.linkHold .link {
  min-width: 3.2857em;
  margin: 0.5em 0 0.3em 0;
}

.bodyCont .linkHold a {
  min-width: 3.35em;
}


.clearer {
	clear: both;
}
.fifty-fifty {
    display: block;
    width: 100%;
}

@media screen and (min-width: 540px) {
.fifty-fifty {
    display: inline-block;
    width: 45%;
}
}

th a {
    color: var(--inverted-light);
}

.priceList-header.priceList-item {
	display: none;
}
.datatable h1, .heading h1 {
	line-height: var(--modular-scale-6);
}



.inline-list__intro {
	display: inline;
}
.inline-list__list {
	display: inline;
	padding: 0 !important;
}
.inline-list__item {
	display: inline;
}
.inline-list__item:not(:last-child)::after {
	content: ",";
}


.disclaimer {
    background: #000;
    padding: 1em;
    color: #fff;
    margin: 1em 0;
}
.disclaimer h2, .disclaimer p {
    color: #fff;
}
.disclaimer h2 {
	text-align: center;
}



/* ---------------------------------- *\
	PROJECT PLANNING BANNER
\* ---------------------------------- */

.project-planning-banner {
	justify-content: center;
	background: var(--background-inverted);
	color: var(--inverted);
	display: flex;
	flex-wrap: wrap;
	gap: var(--line-height);
	padding: calc(var(--line-height) * 2) var(--line-height);
}
.project-planning-banner > * {
	flex: 1;
	max-inline-size: max-content;
}
.project-planning-banner__image {
	block-size: 100%;
	max-block-size: 175px;
	object-fit: cover;
}
.project-planning-banner__text {
	align-self: center;
	text-align: center;
}
.project-planning-banner__text * {
	color: inherit;
}
.project-planning-banner__text .button {
	background-color: var(--accent);
	border: none;
	color: var(--inverted-light);
	margin-block-start: var(--line-height);
	padding-block: 0.25em;
	white-space: nowrap;
}


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



/* BASIC REFORMATTING */

@media print
{

	.siteHeader,
	.mainNav,
	.banner,
	.banners,
	.featuredNav,
	.news,
	.social-nav,
	.footerNav,
	.members-nav,
	.siteFooter,
	.atl-live-chat-toggle,
	#privacypolicies-com---nb,
	.responsiveVideo,
	.linkHold
	{
		display: none;
	}
	body, .pageHeader {
		margin-top: 0;
		padding-top: 0;
	}
	.pageHeader:before {
		display: block;
		height: 100px;
		padding: 1em 0;
		content: "";
		background: url(https://www.advantagelumber.com/img/print-pdf-logo.jpg) center center no-repeat;
		background-size: contain;
	}
}
.featuredNav {
	width: 100% !important;
	padding: var(--line-height);
	overflow: hidden;
	background-color: var(--background-inverted);
	color: var(--inverted);
	text-align: center;
}

/* Make it look more clickable. Scale up a bit on hover */
.featuredNav-section:hover,
.featuredNav-section:focus-within {
    position: relative;
    transform: scale(1.1);
}




.featuredNav .featuredNav-sections { /* overspecify selector to override padding on .mainContent lists */
	display: grid;
	gap: var(--line-height);
	grid-template-columns: repeat(auto-fill, minmax( max(125px, (100% - (6 - 1) * var(--line-height)) / 6), 1fr )); /* https://stackoverflow.com/questions/55281598/css-grid-maximum-number-of-columns-without-media-queries */
	list-style: none;
	margin: 0;
	padding-inline-start: 0;
}

.featuredNav-section {
	aspect-ratio: 1/1;
	background-position: center;
	background-size: cover;
	position: relative;
	text-shadow: var(--text-shadow);
}

.featuredNav-section-link {
	background-image: linear-gradient(to top, hsla(0,0%,0%,.75), hsla(0,0%,0%,0) 50%);
	color: inherit;
	display: block;
	height: 100%;
}

.featuredNav-section-image {
	display: block;
}

.featuredNav-section-title {
	position: absolute;
	bottom: 0;
	width: 100%;
	color: var(--inverted-light);
	font-size: var(--modular-scale-2);
}



.featuredNav-section.is-free-shipping,
.featuredNav-section.is-sales {
	background: var(--accent);
}

.featuredNav-section.is-free-shipping .featuredNav-section-link,
.featuredNav-section.is-sales .featuredNav-section-link {
	align-items: center;
	display: grid;
	text-decoration: none;
}

.featuredNav-section.is-free-shipping .featuredNav-section-title,
.featuredNav-section.is-sales .featuredNav-section-title {
	position: static;
}

.featuredNav-section big {
	font-weight: bold;
}

.featuredNav-section small {
	font-style: italic;
}

.featuredNav:not(:has(ul li)) {
	display: none;
}
