@charset "UTF-8";

/* Web Solutions 4.0 Compatible */

:root {
	--burgundy: #5F3535;

	--dark: #221F1F;

	--dk-green: #122F2B;
	--dk-green-2: #4D6460;

	--green: #28513F;
	--green-rgb: 40,81,63;

	--lt-green: #577570;
	--lt-green-2: #416D59;

	--gray: #555;
	--gray-2: #B9B9B9;

	--light: #F9F6EF;
	--light-2: #E3DCD2;
	--light-3: #EDE8E2;

	--teal: #215166;

	--ws-gutter: 1.5em;
}

/* TYPEFACES ----------------------------- */

/* heebo-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Heebo';
	font-style: normal;
	font-weight: 300;
	src: url('/fonts/heebo-v21-latin-300.woff2') format('woff2'),
	url('/fonts/heebo-v21-latin-300.ttf') format('ttf');
}
/* heebo-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Heebo Regular';
	font-style: normal;
	font-weight: 400;
	src: url('/fonts/heebo-v21-latin-regular.woff2') format('woff2'),
	url('/fonts/heebo-v21-latin-regular.ttf') format('ttf');
}

/* heebo-500 - latin */
@font-face {
	font-display: swap;
	font-family: 'Heebo Medium';
	font-style: normal;
	font-weight: 500;
	src: url('/fonts/heebo-v21-latin-500.woff2') format('woff2'),
	url('/fonts/heebo-v21-latin-500.ttf') format('ttf');
}

/* heebo-600 - latin */
@font-face {
	font-display: swap;
	font-family: 'Heebo SemiBold';
	font-style: normal;
	font-weight: 600;
	src: url('/fonts/heebo-v21-latin-600.woff2') format('woff2'),
	url('/fonts/heebo-v21-latin-600.ttf') format('ttf');
}

/* heebo-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Heebo Bold';
	font-style: normal;
	font-weight: 700;
	src: url('/fonts/heebo-v21-latin-700.woff2') format('woff2'),
	url('/fonts/heebo-v21-latin-700.ttf') format('ttf');
}

/* crimson-pro-500 - latin */
@font-face {
	font-display: swap;
	font-family: 'Crimson Pro Medium';
	font-style: normal;
	font-weight: 500;
	src: url('/fonts/crimson-pro-v23-latin-500.woff2') format('woff2'),
	url('/fonts/crimson-pro-v23-latin-500.ttf') format('ttf');
}

/* crimson-pro-500italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Crimson Pro Medium Italic';
	font-style: italic;
	font-weight: 500;
	src: url('/fonts/crimson-pro-v23-latin-500italic.woff2') format('woff2'),
	url('/fonts/crimson-pro-v23-latin-500italic.ttf') format('ttf');
}

/* crimson-pro-600 - latin */
@font-face {
	font-display: swap;
	font-family: 'Crimson Pro SemiBold';
	font-style: normal;
	font-weight: 600;
	src: url('/fonts/crimson-pro-v23-latin-600.woff2') format('woff2'),
	url('/fonts/crimson-pro-v23-latin-600.ttf') format('ttf');
}


html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

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

ul {
	padding-left: 0
}

ul li {
	list-style: none
}

html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}

/* Tables ------------------------------ */
table {
	border-collapse: collapse;
	line-height: 1.5;
	width: 100%;
}

td, th {
	empty-cells: show;
	vertical-align: middle;
	text-align: left;
}

table thead {
	background: var(--green);
}

table th {
	color: #FFF;
}

th {
	padding: .447em 1.25rem;
}

td {
	color: #000;
	padding: .362em 1.25rem;
}

tfoot td {
	color: #FFF;
	font-size: .9375em;
	padding: 1.25em 1.25rem;
}

#tinymce tfoot td {
	color: #333;
}

.anchor {
	position: relative;
}

/* ------ */

body {
	background: #333;
	overflow-x: hidden;
}

body>header>aside {
	position: absolute;
}

#skipNavigation {
	background: #fff;
	color: #000;
	padding: .5em;
	position: absolute;
	left: 0;
	top: -1000px;
	z-index: 10
}

#skipNavigation:focus,#skipNavigation:active {
	top: 0;
}

iframe[src="/management/login/persistSession.aspx"] {
	display: none
}

/*page widths*/
body>header, #mainnav, main, body>footer, #alertApp {
	clear: both;
	display: block;
	width: 100%;
}

.wrap, body>footer>.fatFooter {
	width: 100%;
	max-width: calc(67.5em + 2 * var(--ws-gutter));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ws-gutter);
	padding-right: var(--ws-gutter);
	position: relative;
}

main.interior .wrap {
	overflow: auto;
	max-width: calc(58.25em + 2 * var(--ws-gutter));
}

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

/* Heebo Light */
h1>span {
	font-family: 'Heebo Light', sans-serif;
}

/* Heebo Regular */
#sidenav li li a, cite, blockquote footer{
	font-family: 'Heebo Regular', sans-serif;
}

/* Heebo Medium */
h4, body>footer .hours span, .intro p, p.intro,
button, .button, input[type="button"], input[type="submit"], input[type="reset"],
button[type="button"], button[type="submit"], button[type="reset"],
#details ul.breadcrumbs li:last-of-type a, #details h1 {
	font-family: 'Heebo Medium', sans-serif;
}

/* Heebo SemiBold */
h2, h6, body>footer strong {
	font-family: 'Heebo SemiBold', sans-serif;
}

/* Heebo Bold */
b, strong, body>header #mainnav>ul>li:last-of-type>a {
	font-family: 'Heebo Bold', sans-serif;
}

/* Crimson Pro Medium */
h3, h5, #sidenav li a {
	font-family: 'Crimson Pro Medium';
}

/* Crimson Pro Medium Italic */
em, i,  blockquote, blockquote p {
	font-family: 'Crimson Pro Medium Italic';
}

/* Crimson Pro SemiBold */
h1, #products h3, #callouts h2, #welcome h2, #cta h2, #products.similar h2, #quote h2, #size-options :is(h2, h3), th, .highlight h2 {
	font-family: 'Crimson Pro SemiBold';
}


/* TEXT ----------------------------- */
body, .text, input, button, select, textarea {
	font-family: 'Heebo Regular', sans-serif;
	line-height: 1.6;
	color: var(--gray);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h4 { color: var(--green); }
h2, h5 { color: var(--teal); }
h3, h6, .highlight h2 { color: #000; }

.intro, .intro p {color: #000;line-height: 1.6;}

p {
	color: var(--gray);
	line-height: 1.75;
}

p.intro, .intro p:last-of-type {
	margin: 0 0 1.5em;
}

.text {
	font-size: 1rem
}

a, a * {
	color: var(--green);
	text-decoration: none;
}

.content p>a:not(.button) {
	text-decoration: underline;
	text-underline-offset: .125em;
}

a:hover, a:active, a:hover *, a:active * {
	color: var(--burgundy);
}


p, h2, h3,h4, h5, h6, hr,.content ul,.contentEditor ul,blockquote,dd,ol {
	margin-top: 0;
	margin-bottom: 1rem
}

h1, h2, h3, h4, h5, h6, th {
	line-height: 1;
	margin: 0 0 1rem;
}

h1>span {
	font-size: .8em;
	text-transform: none;
}

p + h2, p + h3, p + h4, p + h5, p + h6,
ul + h2, ul + h3, ul + h4,
ol + h2, ol + h3, ol + h4,
blockquote + h2, blockquote + h3 {
	margin-top: 2rem;
}

.textColor, th, dt {
	color: var(--gray)
}

u {
	text-decoration: none
}

hr {
	border: 0;
	border-top: 1px solid rgba(0,0,0,.15);
	margin: 1em 0;
	padding-top: 1px
}

sup, sub {
	font-size: .6em;
	line-height: .6em;
	vertical-align: baseline;
	position: relative
}

sup {
	bottom: 1ex
}

sub {
	top: .5ex
}

blockquote {
	color: var(--green);
	float: right;
	line-height: 1.1;
	margin: 1em 0 1.5em var(--ws-gutter);
	max-width: 50%;
	text-align: right;
	width: 18.75em;
}

blockquote p {
	color: var(--green);
	font-size: 1em;
}

blockquote p:last-of-type {
	margin: 0 0 .5em;
}

blockquote footer, blockquote cite {
	color: var(--gray);
	font-size: .57em;
	font-style: normal;
}

blockquote footer::before, blockquote cite::before {
	content: '- ';
}

blockquote p {
	quotes: '\201c' '\201d';
	line-height: 1.1;
}

blockquote p:first-of-type::before {
	color: var(--green);
	content: open-quote;
	margin: 0 0 0 -.25em;
	position: relative;
	left: -.125em;
}

blockquote p:last-of-type::after {
	color: var(--green);
	content: close-quote;
	margin: 0 0 0 .125em;
}

/* HEADER ------------------------------ */
body>header #mainnav>ul>li:last-of-type>a {
	text-transform: uppercase;
}



/* MAIN ------------------------------ */
.menu {
	cursor: pointer
}

main, .mceContentBody {
	background: #FFF;
	position: relative;
	z-index: 1;
}

.interior main {
	background: var(--light);
}

.interior main>.wrap {
	max-width: calc(61.25em + 2 * var(--ws-gutter));
	overflow: auto;
}

.contentEditor {
	background: #fff;
	min-width: 100%;
}

/* sidenav */
#sidenav {
	width: 100%;
	overflow: hidden;
	margin: 0 0 3em;
}

#sidenav>ul>li:not(:first-of-type) {
	border-top: 2px solid var(--light-3);
}

#sidenav>ul>li:last-of-type {
	border-bottom: 2px solid var(--light-3);
}

#sidenav ul {
	padding: 0
}

#sidenav li a {
	color: #000;
	padding: .315em .5em;
	line-height: 1.1em;
	display: block;
}

#sidenav>ul>li>a {
	font-size: 1.1875em;
}

#sidenav li a:hover, #sidenav li a:active, #sidenav>ul>li.on>a:hover {
	background-color: var(--burgundy);
	color: #FFF;
}

#sidenav>ul>li.on {
	background: var(--green);
}

#sidenav>ul>li.on>a {
	background: var(--green) url('/images/icons/caret-down.svg') no-repeat right .75em top .375em / .5625em auto;
}

#sidenav li.on>a {
	color: #FFF;
}

/* t2 */
#sidenav li.on ul {
	background: var(--light-3);
	margin-left: .25em;
	padding: .1875em 0;
}

#sidenav li.on ul li a {
	color: var(--gray);
	font-size: .9375em;
	padding: .3em .5em .3em .5em;
}

#sidenav li ul li a:active, #sidenav li ul li.on>a {
	color: #FFF;
	background: #000;
}

#sidenav li ul li:not(.on) a:hover, #sidenav li ul li:not(.on) a:focus {
	background: var(--burgundy);
	color: #FFF;
}

/* t3 */
#sidenav li ul li.on ul {
	display: none;
	padding-bottom: .5em;
	border: 0;
}

#sidenav li ul li.on ul li {
	border: 0
}

#sidenav li ul li.on ul li a {
	padding-left: 1rem;
	font-size: .8em;
	color: #666
}

#sidenav li ul li ul li a:hover, #sidenav li ul li ul li a:active, #sidenav li ul li ul li.on>a {
	color: #000;
	background: #e5e5e5;
}

/* t4 */
#sidenav li ul li ul li.on ul li a {
	padding-left: 1.5rem;
	font-size: .7em;
	color: #666
}

#sidenav li ul li ul li ul li a:hover, #sidenav li ul li ul li a:active, #sidenav li ul li ul li ul li.on>a {
	color: #000;
	background: #f5f5f5;
}

/*section callouts*/
main>div>aside section {
	margin: 0 0 20px;
	padding: 10px
}

main>div>aside section:hover {
	background: #FFC
}

main>div>aside section h1 {
	margin: 0;
	font-size: 1.2em
}

main>div>aside section p {
	margin: 0
}

/* breadcrumb */
.breadcrumb {
	margin-bottom: 1em
}

.breadcrumb a:after {
	content: "\00A0\00A0\203A\00A0"
}

/* content */
.content {
	word-wrap: break-word
}

.content .photoright, .content .photoleft {
	max-width: 50%;
	height: auto;
	width: 19.25em;
}

.photoleft figcaption {
	font-size: .8125rem;
}

.photoright figcaption {
	font-size: .875em;
	text-align: right;
}

.content .photoright img,
.content .photoleft img {
	max-width: 100%;
	height: auto;
	margin: 0;
	float: none
}

.content img.phototreatment {
	max-width: 50%;
	height: auto
}

.content figure.phototreatment {
	width: 100%;
	text-align: center
}

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

img.phototreatment,img.photoright,img.photoleft,.photoright img,.photoleft img {
	max-width: 100%;
	height: auto
}

#tinymce :is(.photoright, .photoleft) {
	max-width: 50%;
}

.photoright {
	float: right;
	clear: right;
}

.photoleft {
	float: left;
	clear: left;
}

.muted {
	opacity: 0.5;
}

small, .textSm {
	font-size: .8em;
}

.content table {
	width: 100%;
}

.content .logos {width: 100%;display: block;position: relative;}
.content .logos a {width: 30%;display: inline-block;text-align: center;background-color: #fff;margin:1% 1%;}
.content .logos a {border: 2px solid var(--light-3); }

/* HIGHLIGHT ------------------------------ */

.highlight, .content .highlight {
	clear: both;
	margin: 2em 0;
	padding: 0 var(--ws-gutter) 2em;
	position: relative;
	z-index: 0;
}


.highlight::before {
	border: .1875em solid var(--light-3);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.highlight h2 {
	background: var(--light);
	display: table;
	margin: 0;
	padding: .25em .25em;
}

.content .highlight ul:last-child,
.content .highlight ul:last-child li:last-child {
	margin-bottom: 0;
}

/* LIST ------------------------------ */
.content ol {
	margin: 1.5em 0 1em 1.875em;
}

.content ol li {
	margin: 0 0 1em;
}

.content ol ol li {
	list-style: lower-alpha
}

.content ul {
	margin: 1em 0;
}

.content ul li {
	margin: 0 0 .5em;
	position: relative;
	padding-left: 1.5em;
}

.content ul li:before {
	background: url('/images/icons/caret-right.svg') no-repeat center / 100% auto;
	content: '';
	height: 1em;
	left: .5em;
	position: absolute;
	top: .1875em;
	width: .375em;
}

.content ul li ul li:before {
	opacity: .75;
}

.content ul ul, .content ol ol {
	margin-top: 1em;
}

#tinymce ul li {
	list-style: disc;
	list-style-position: inside;
	padding-left: 1em;
}

.content :is(ul, ol) li {
	font-size: 1.125em;
}

.content :is(ul, ol) li li {
	font-size: 1em;
}

/* addon classes */
.clearFloats {
	clear: both
}

.nobr {
	white-space: nowrap
}

.twoCol, .threeCol, .resCol {
	column-gap: 2em;
}

:(.twoCol, .threeCol, .resCol) li {
	break-inside: avoid-column;
}

.req {
	color: #c00
}

.textIcon {
	background: #999;
	background-color: rgba(0,0,0,.2);
	font-size: .8em;
	line-height: 1em;
	display: inline-block;
	padding: .2em .4em;
	border-radius: .5em;
	color: #fff
}

.textIcon:hover {
	background: #666;
	background-color: rgba(0,0,0,.4);
	color: #fff
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.videoContainer {
	width: 100%;
	height: 0;
	line-height: 0;
	position: relative;
	padding-top: 56.25%;
	/* 16:9 */
}

.videoContainer.ratio-4-3 {
	padding-top: 75%;
	/* 4:3 full-frame */
}

.videoContainer iframe {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	border: 0
}

/* forms */
input, button, select, textarea {
	font-size: 1rem;
	line-height: 1;
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"],
input[type="search"], input[type="button"], input[type="submit"], input[type="reset"] textarea, select {
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	font-size: 1rem
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"],
input[type="url"], input[type="search"], textarea, select {
	background-color: rgba(255,255,255,.15);
	border: 1px solid var(--light-2);
	padding: .4375em 1em;
	width: 100%;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="number"]:focus,
input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, textarea:focus, select:focus {
	background-color: #FFF
}

textarea {
	display: block;
	resize: vertical;
}

select::-ms-expand {
	display: none;
}

select {
	background-image: url('/images/icons/select-arrows.svg');
	background-repeat: no-repeat;
	background-position: calc(100% - .875em) calc(50% + .125rem);
	padding-right: 2.15rem;
	width: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
}

select option {
	padding: 0 .2em;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

button, .button, input:is([type="button"], [type="submit"], [type="reset"]) {
	background: transparent;
	border: .125rem solid var(--green);
	cursor: pointer;
	display: inline-block;
	color: var(--green);
	letter-spacing: 1px;
	line-height: 1;
	margin: 0 .25em .5em 0;
	padding: .8175em 1.0625em;
	text-transform: uppercase;
}

.button.icon {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="%2328513F" d="M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM96 280C96 293.3 106.8 304 120 304h144C277.3 304 288 293.3 288 280S277.3 256 264 256h-144C106.8 256 96 266.8 96 280zM264 352h-144C106.8 352 96 362.8 96 376s10.75 24 24 24h144c13.25 0 24-10.75 24-24S277.3 352 264 352z"/></svg>');
	background-repeat: no-repeat;
	background-position: .875em center;
	background-size: .875em auto;
	padding-left: 2.25em;
}

:is(button, .button).white {
	background-color: transparent;
	border-color: #FFF;
	color: #FFF;
}

:is(button, .button).green {
	background-color: var(--green);
	border-color: var(--green);
	color: #FFF;
}

:is(button, .button).lt-green {
	background-color: var(--lt-green);
	border-color: var(--lt-green);
	color: #FFF;
}

:is(button, .button).teal {
	background-color: var(--teal);
	border-color: var(--teal);
	color: #FFF;
}

:is(button, .button).burgundy {
	background-color: var(--burgundy);
	border-color: var(--burgundy);
	color: #FFF;
}

:is(button, .button, input[type="button"], input[type="submit"], input[type="reset"]):focus,
:is(button, .button, input[type="button"], input[type="submit"], input[type="reset"]):hover {
	background-color: #000;
	border-color: #000;
	color: #FFF;
}

:is(button.burgundy, .button.burgundy):focus, :is(button.burgundy, .button.burgundy):hover {
	background-color: var(--dk-green);
	border-color: var(--dk-green);
	color: #FFF;
}

.button.icon:hover, .button.icon:focus {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="%23FFFFFF" d="M365.3 93.38l-74.63-74.64C278.6 6.742 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM336 448c0 8.836-7.164 16-16 16H64.02c-8.838 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1V448zM96 280C96 293.3 106.8 304 120 304h144C277.3 304 288 293.3 288 280S277.3 256 264 256h-144C106.8 256 96 266.8 96 280zM264 352h-144C106.8 352 96 362.8 96 376s10.75 24 24 24h144c13.25 0 24-10.75 24-24S277.3 352 264 352z"/></svg>');
}

/* ------------------------ */
.management .sl-wrapper .sl-close {
	top: 1.125em;
}

h2 + .button, h3 + .button, h4 + .button, h5 + .button, h6 + .button {
	margin-top: .625em;
}

button img {
	height: 1em;
	vertical-align: top;
	width: auto;
}

input.bulky, .bulky {
	padding: .4em .6em;
	font-size: 1.2em
}

.formTable, .formTable table {
	width: 100%
}

.formTable input[type="text"], .formTable input[type="password"], .formTable input[type="tel"], .formTable input[type="number"],
.formTable input[type="email"], .formTable input[type="url"], .formTable input[type="search"], .formTable textarea {
	width: 100%
}

.formTable table td,.formTable table td:first-child {
	padding-bottom: 0
}

.formTable.right td:first-child {
	text-align: right;
	width: 1%
}

.formTable.right td {
	width: auto
}

.subjClass {
	display: none !important;
}

#Captcha label {
	padding-left: 0
}

td.right, th.right {
	text-align: right
}

.formEdit select, .formBuilder select {
	width: 40%;
}


/* pagination */
.pagination {
	font-size: .95em;
	text-align: right
}

/* alert */
#alertApp {
	background: #000;
	cursor: pointer;
	position: relative;
	width: 100%;
	padding-block: .888em;
	z-index: 1;
}

#alertApp:not(.alertStatic):hover, #alertApp.expand {
	background: var(--burgundy);
}

#alertApp.alertStatic {
	pointer-events: none;
}

#alertApp h2 {
	color: #FFF;
	margin: 0 auto;
	text-align: center;
}

#alertApp:hover h1, #alertApp.expand h1 {
	color: #FFF;
}

#alertApp #alertDesc {
	height: 0;
	overflow: hidden;
}

#alertApp p {
	color: #FFF;
	line-height: 1.25;
	margin: 1em 0 0;
	text-align: center;
}

/* management overrides */
#wysiwygBody {
	background: #fff
}

.wsNew {
	background-color: #FFC700;
	color: #222;
	display: inline-block;
	font-size: .7em;
	height: 1.5em;
	line-height: 1.5em;
	margin: .3em 0;
	overflow: visible;
	padding: 0 .3em;
	vertical-align: top;
}

/* management table */
hr+.manage {
	margin-top: -1em
}

.manage {
	width: 100%;
	line-height: 1.3em;
	margin-bottom: 1rem;
}

.manage th {
	border-bottom: 1px solid rgba(0,0,0,.2);
	text-align: left
}

.manage th.right {
	text-align: right
}

.manage th.sort {
	cursor: pointer
}

.manage th.sort img {
	margin-left: 5px
}

.manage th img {
	position: relative;
	bottom: -2px
}

.manage td,.manage th {
	padding: 5px 5px 5px 0
}

.manage td:first-child {
	padding-left: .8em
}

.manage img.preload {
	display: none;
	position: absolute;
	z-index: 9900;
	top: 0;
	border: solid 1px #fff
}

.manage td.icons img {
	margin-left: 5px;
	position: relative;
	bottom: -2px
}

.manage td:first-child.icons img {
	margin-left: 0
}

.manage td:first-child.icons {
	padding-left: 3px;
	padding-right: 3px
}

.manage td:nth-child(2) {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
	min-width: 3.75em;
}

.manage td.icons a:first-child img {
	margin-left: 0
}

.manage td.icons input {
	position: relative;
	bottom: 2px;
	margin-left: 5px
}

.manage .hidden {
	font-style: italic;
	color: #900
}

.manageButton {
	text-align: right;
	padding: 10px 0
}

.alternate tbody tr:nth-child(even), .even {
	background: #fff
}

.alternate tbody tr:nth-child(odd), .odd {
	background: rgba(0,0,0,.06)
}

.manage+hr, .manage+.manageLinks+hr {
	margin-top: 50px
}

.manageLinks {
	margin-top: 10px
}

.manageLinks select {
	max-width: 20em;
}

.manageLinks a {
	white-space: nowrap
}

.manageLinks a img {
	position: relative;
	bottom: -2px
}

.manageLinks button {
	margin-left: 5px
}

.manageButtons {
	text-align: right;
	padding: 10px 0
}

.wsReturnToButton {
	float: right;
	margin-top: -3.5em
}

.manage.rightFirstChild td:first-child {
	text-align: right
}

.sortRow th {
	cursor: pointer
}

.manageEllipsis {
	width: 12.5em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block;
}


/* TRANSITIONS ------------------------------ */
a, a *,a::before, a::after, button, .button, input[type="button"], input[type="submit"], .rsFullscreenBtn,
#alertApp, #alertApp span, #alertDesc, #navContainer li, .hamburger, #mobilenav span, #mobilenav span svg path,
#details ul.thumbs li::after {
	transition: all .3s ease
}

input:focus, select:focus, textarea:focus {
	transition: background-color .3s ease
}

/* FORM ERROR ------------------------------ */
.formError {
	background-color: Black;
	border: 0;
	padding: 5px 10px;
	color: #fff;
	display: none;
	margin: 0 0 2px;
	z-index: 9999;
	border-radius: 10px;
	-moz-box-shadow: 0 2px 2px #333;
	-webkit-box-shadow: 0 2px 2px #333;
}

.formError p {
	margin: 0;
	font-size: .9em;
}

.formError em {
	border: 10px solid;
	border-color: Black transparent transparent;
	bottom: -17px;
	display: block;
	height: 0;
	left: 40px;
	position: absolute;
	width: 0;
}

/* FOOTER ------------------------------ */
body>footer {
	background: var(--dk-green);
	clear: both;
	color: rgba(255,255,255,.6);
	padding: 2.5em 0 1.5em;
}

body>footer a {
	color: rgba(255,255,255,.6);
}

body>footer a:hover, footer a:active {
	color: #FFF;
}

body>footer a.on, footer .on>a {
	text-decoration: none;
	color: #FFF;
}

body>footer strong {
	color: #FFF;
	display: block;
	font-size: 1.125em;
	letter-spacing: .125rem;
	text-transform: uppercase;
}

body>footer .fatFooter {
	color: #B9B9B9;
	display: flex;
	justify-content: space-between;
}

body>footer address {
	line-height: 2;
}

body>footer address .button {
	margin: .5em 0 0;
	padding: .469em .8125em;
}

body>footer .hours {
	line-height: 2;
}

body>footer .hours ul {
	margin: 0;
}

body>footer .hours span {
	color: #FFF;
	text-transform: uppercase;
}

body>footer .signup form {
	display: flex;
	margin: .5em 0 0;
}

body>footer form > input[type='email'] {
	background: #FFF;
	border: 0;
}

body>footer form > button {
	margin: 0;
	padding: .75em .8em;
}

body>footer nav>span::before {
	content: '|';
	margin: 0 .5em;
}



/* PAGEHEADER ------------------------------ */
.pageheader {
	background: url('/images/pageheader.jpg') no-repeat center / cover;
	position: relative;
	width: 100%;
	z-index: 0;
}

.pageheader.tall {
	background-image: url('/images/pageheader-tall.jpg');
}


/* HERO ------------------------------ */
#hero {
	border-bottom: .125em solid var(--dk-green-2);
	position: relative;
}

#hero::after {
	background-image: linear-gradient(180deg, rgba(44,38,35,0) 0%, #2A2822 100%);
	bottom: 0;
	content: '';
	mix-blend-mode: multiply;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

#hero h1 {
	color: #FFF;
	margin: 0 0 .25em;
	text-transform: uppercase;
}

/* PRODUCTS ------------------------------ */
#products {
	background-color: var(--light);
	text-align: center;
}

#products h2 {
	color: #000;
}

#products .textbox {
	text-align: left;
}

#products ul {
	column-gap: 1.125em;
	display: grid;
	margin: 2em 0;
	row-gap: 2.375em;
}

#products .image {
	background: no-repeat center / cover;
	margin: 0 0 1.8125em;
	position: relative;
}


#products .image::before {
	content: '';
	display: block;
}

#products:not(.sub-level) .image::before {
	padding: 0 0 172%;
}

#products.sub-level .image::before {
	padding: 0 0 66.67%;
}

#products .image::after {
	background: var(--light-2);
	top: calc(100% - 1.625em);
	content: '';
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transform-origin: revert;
	transition: height 1s ease;
	width: 3px;
}

#products li.animated .image::after {
	height: 3.25em;
}

#products .image img {
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}

#products h3 {
	color: var(--dark);
	margin: 0;
}

#products .textbox p:last-child {
	margin: 0 0 2.25em;
}

#products .button {
	margin: .3125em .125em;
}

/* Detail page 'Similar Products' ribbon ------*/

#products.similar h2 {
	color: var(--green);
	margin: 0 0 .5em;
	text-transform: uppercase;
}

#products.similar .image::before {
	padding: 0 0 100%;
}


/* CALLOUTS ------------------------------ */
#callouts {
	display: flex;
}

#callouts>div {
	background: no-repeat center / cover;
	position: relative;
	padding: clamp(5em, -3.667em + 17.33vw, 11.5em) clamp(1.5em, -4.104em + 11.33vw, 5.813em);
	width: 50%;
	z-index: 0;
}

#callouts>div::before {
	content: '';
	height: 100%;
	left: 0;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

#callouts>div:nth-of-type(1)::before {
	background-image: linear-gradient(270deg, rgba(185,113,78,0) 0%, #774443 100%);
}

#callouts>div:nth-of-type(2)::before {
	background-image: linear-gradient(270deg, rgba(0,0,0,0) 0%, #000 100%);
}

#callouts h2 {
	color: #FFF;
	margin: 0;
}

#callouts>div:nth-child(2) .translate-down {
  transition-delay: .2s;
}

/* WELCOME ------------------------------ */
#welcome {
	background-color: var(--light);
}

#welcome .image {
	padding: 0 0 100%;
	position: relative;
}

#welcome .image>div {
	background: no-repeat 16% center / cover;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#welcome .image>div::before {
	background: url('/images/backgrounds/wood-1.jpg');
	content: '';
	display: block;
	height: 100%;
	width: 16%;
}

#welcome h2 {
	color: var(--green)
}

#welcome p:last-of-type {
	margin-bottom: 1.25em;
}


/* INTERIOR CTA RIBBON ------------------------------ */
#cta {
	background: #FFF;
	margin: 0 auto;
}

#cta .image {
	background: url('/images/backgrounds/cta.jpg') no-repeat center / cover;
}

#cta .textbox {
	display: flex;
}

#cta .textbox::after {
	background: url('/images/backgrounds/wood-3.jpg') no-repeat center / cover;
	content: '';
	display: block;
	margin-left: auto;
	width: 22%;
}

#cta h2 {
	color: var(--green);
}

#cta p {
	line-height: 1.3;
	margin: 0 0 1.5em;
}


/* DETAILS - Product page, top ribbon ---------------------------- */
#details {
	background-color: var(--light);
}

#details .images {
	position: relative;
}

#details .images::before {
	background: var(--light) url('/images/backgrounds/pattern-1.svg') no-repeat center bottom 10em / cover;
	bottom: 0;
	content: '';
	position: absolute;
	z-index: -1;
}

#details .preview {
	position: relative;
}

#details .preview button {
	background: url('/images/icons/search-plus.svg') no-repeat center / 1.25em auto;
	border: 0;
	content: '';
	height: 1.25em;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 0;
	width: 2.5em;
}

#details .preview>div {
	margin: 0 0 .625em;
	overflow: hidden;
	position: relative;
}

#details .preview>div::before {
	content: '';
	display: block;
	padding: 0 0 66.6%
}

#details .preview>div img {
	background: #FFF;
	cursor: pointer;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

#details ul.thumbs {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-gap: 0.625em;
}

#details ul.thumbs li {
	overflow: hidden;
	padding: 0 0 78.58%;
	position: relative;
}

#details ul.thumbs li::after {
	box-shadow: inset 0 0 0 .1875em var(--dk-green-2);
	content: '';
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: scale(.85,.85);
	width: 100%;
}

#details ul.thumbs li.active::after {
  opacity: 1;
  transform: scale(1,1);
}

#details ul.thumbs li img {
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

/* Right side description ----- */

#details ul.breadcrumbs {
	margin: 0 0 1.25em;
}

#details ul.breadcrumbs li {
	display: inline-block;
	font-size: 1em;
	margin: 0;
	padding-left: 0;
}

#details ul.breadcrumbs li::before {
	display: none;
}

#details ul.breadcrumbs li:last-of-type a {
	color: #000;
	pointer-events: none;
}

#details ul.breadcrumbs li:not(:last-of-type)::after {
	content: '\203A';
	margin: 0 .25em 0 .375em;
}

#details .breadcrumbs a {
	white-space: nowrap;
}

#details h1 {
	color: #000;
	margin: 0 0 1.25rem;
}

#details p {
	line-height: 1.6;
}

#details p:last-of-type {
	margin: 0 0 1.5em;
}

/* QUOTE - Product page, middle ribbon ---------------------------- */
#quote {
	background: var(--dk-green);
}

#quote h2 {
	color: #FFF;
	margin: 0 0 .75em;
}

#quote label {
	color: #FFF;
}

#quote label.required::after {
	color: rgba(255,255,255,.5);
	content: '\00A0\002A';
}

#quote :is(input, textarea) {
	background: rgba(255,255,255,.15);
	border: 0;
	color: #FFF;
	margin: 0 0 .5em;
}

#quote :is(input, textarea):focus {
	background: rgba(255,255,255,.25);
}

#quote table + table {
	margin-top: 1.5em;
}

#quote table tbody {
	background: #FFF;
}

#quote table tbody tr:nth-of-type(even) {
	background: #EDEFEA;
}

#quote th {
	border-bottom: .25em solid var(--dk-green);
}

#quote button {
	margin-top: .5em;
	padding-inline: 1.5em;
}

#quote li {
	color: rgba(255,255,255,.7);
	margin: 0 0 .5em;
	padding-left: 1.5em;
	position: relative;
}

#quote li::before {
	background: var(--dk-green-2);
	border-radius: 50%;
	content: '';
	height: .3125em;
	left: .5em;
	position: absolute;
	top: .5em;
	width: .3125em;
}

/* SIZE OPTIONS - Product page B, bottom ribbon ---------------------------- */
#size-options {
	background: #FFF;
	padding-block: 3em;
}

#size-options h2 {
	font-size: 1.875em;
}

#size-options ul {
	display: grid;
	grid-gap: 1.5em;
	text-align: center;
}

#size-options h3 {
	color: var(--green);
	font-size: 1.125em;
	margin: 0;
}

#size-options h3 + p {
	font-size: 1em;
	line-height: 1.5;
}

#size-options span {
	font-size: .875em;
}

#size-options span+span::before {
	content: '\2022';
	margin-inline: .25em;
}

#size-options .image {
	align-items: end;
	aspect-ratio: 277 / 174;
	display: flex;
	justify-content: center;
	margin: 0 0 1em;
}

#size-options img {
	object-fit: contain;
	width: auto;
}

#size-options .image img { height: 9.375em; } /* default size */
#size-options .size-4 img {	height: 8.3125em; }
#size-options .size-3 img {	height: 7.25em; }
#size-options .size-2 img {	height: 6.1875em; }
#size-options .size-1 img {	height: 5.125em; }



/* COOKIE ALERT ------------------------------ */
.cookie-alert {
	background: #FFF;
	bottom: 0;
	left: 0;
	padding: 1em;
	position: fixed;
	width: 100%;
	z-index: 10;
}

.cookie-alert::before {
	background: rgba(var(--green-rgb), .95);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.cookie-alert .wrap {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.cookie-alert p {
	color: #FFF;
	line-height: 1.25;
	margin: 0 1.5em 0 0;
}

.cookie-alert a {
	color: #FFF;
	text-decoration: underline;
}

.cookie-alert button {
	border-color: #FFF;
	color: #FFF;
	max-width: 16.875em;
}


/* ANIMATIONS ------------------------------ */
.stop-transitions * {
	transition: none !important;
}

.translate-up,
.translate-down {
	opacity: 0;
	transition: all 1s ease;
}

.translate-up {
	transform: translate(0,4em);
}

.translate-down {
	transform: translate(0,-4em);
}

.translate-up.animated,
.translate-down.animated {
	opacity: 1;
	transform: translate(0,0);
}


/* ************ STYLE.CSS ************ */
