
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300..600');
/*---@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200-900&display=swap');---*/

:root {
	--china-white: rgba(255,255,255,1);
	--ivory: rgba(234,229,202,1.00);
	--light-stone: rgba(236,229,204,1.00);
	--sahara-tan: rgba(192,161,119,1.00);
	--terra-cotta: rgba(193,119,77,1.00);
	--copper-penny: rgba(201,128,81,1.00);
	--country-red: rgba(174,59,30,1.00);
	--cardinal-red: rgba(175,3,24,1.00);
	--cocoa-brown: rgba(101,54,0,1.00);
	--rustic: rgba(255,255,255,1);
	--sea-wolf: rgba(182,171,151,1.00);
	--ash-gray: rgba(182,171,151,1.00);
	--old-town-gray: rgba(182,171,151,1.00);
	--charcoal: rgba(119,114,112,1.00);
	--burnished-slate: rgba(72,65,54,1.00);
	--hawaiian-blue: rgba(60,95,124,1.00);
	--tahoe-blue: rgba(0,86,150,1.00);
	--patina-green: rgba(89,123,103,1.00);
	--emerald-green: rgba(23,69,53,1.00);
	--galvalume: rgba(255,255,255,1);
	--burgundy: rgba(71,0,4,1.00);
	--red-shingle: rgba(255,255,255,1);
	--black: rgba(0,3,0,1.00);
	--dark-stone: rgba(255,255,255,1);
	--light-rock: rgba(255,255,255,1);
	--spanish: rgba(255,255,255,1);
	--classic-brick: rgba(255,255,255,1);
	--orange: rgba(249,86,53,1.00);
	--como: rgba(255,255,255,1);
	--green-como: rgba(255,255,255,1);
	--sheet-rock: rgba(255,255,255,1);
	
	--headline-font: 'Teko';
	--text-font: 'Arial';
}

*{
    box-sizing:        border-box;
	-moz-box-sizing:    border-box;
   -webkit-box-sizing: border-box;
}

html{
	padding: 0px;
	margin: 0px;
	border: 0px;
	min-height: 100%;
	width: 100%;
	background-color: rgb(0,0,0,0);
	scroll-behavior: smooth!important;
}	

body{
	padding: 0px;
	margin: 0px;
	border: 0px;
	font-size: 100%;
	max-width: 100%;
	min-height: 100%;
	font-family: var(--text-font), sans-serif;
	font-weight: normal;
	color: black;
	scroll-behavior: smooth!important;
	opacity: 0;
	transition: opacity 0.5s;
}

a{
	color: inherit;
}

figure {
	margin: 0;
}
h1{
	font-family: var(--headline-font), sans-serif;
	font-weight: 600;
	text-align: center;
}
h2 {
	font-family: var(--headline-font), sans-serif;
	font-size: 2em;
	font-weight: 500;
	color: rgba(5,38,89,1.00);
	line-height: 1.0em;
}

img {
	vertical-align: top;
}

p {
	margin: 0 0 1em 0;
}

.opaque {
	opacity: 1;
}

.headline-font {
	font-family: var(--headline-font), sans-serif;
}

/* -------------------------------- NAV STYLE ---------------------------------- */

nav{
	position: sticky;
	top: 0;
	z-index: 10;
	width: 100%;
	background-image: linear-gradient(0deg, #6588C0, #13499F);
	border-bottom: 2px rgba(100, 100, 100, 1.00) solid;
	padding: 0 1em;
	text-align: center;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.25));
}
.nav{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1.5em;
	height: 3.5em;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.nav > li{
	display: inline-block;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	font-size: 2em;
	font-weight: 300;
	letter-spacing: 0.05em;
}
.nav a{
	font-family: var(--headline-font);
	color: rgba(255,255,255,1.00);
	text-decoration: none;
	transition: all 0.5s;
	height: 100%;
	min-width: 1.45em;
	white-space: nowrap;
	display: flex;
	align-items: center;
	padding: 0 0.5em;
}

.nav ul.sub-nav {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: flex-start;
	margin: 0;
	background-color: rgba(5,38,89,1);
	padding: 0.5em;
	list-style: none;
	opacity: 0;
	left: -10000px;
	transition: left 0s 0.5s, opacity 0.5s 0s;
	filter: drop-shadow(0 10px 10px rgba(0,0,0,0.5));
}
.nav > li:hover ul.sub-nav{
	left: 50%;
	opacity: 1;
	transition: left 0s 0s, opacity 0.5s 0s;
}
.nav ul.sub-nav > li {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0.7em;
	border-width: 2px;
	border-style: solid;
	border-color: transparent rgba(255,255,255,0.2) transparent rgba(0,0,0,0.5);
}
.nav ul.sub-nav > li:first-of-type {
	border-left: none;
}
.nav ul.sub-nav > li:last-of-type {
	border-right: none;
}
.nav ul.sub-nav > li span {
	display: none;
}
.nav ul.sub-nav > li figure {
	width: 8vw;
	aspect-ratio: 1;
	margin: 0;
}
.nav ul.sub-nav > li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.nav ul.sub-nav > li figure figcaption {
	caption-side: bottom;
	font-size: clamp(0.6em, 1.7vw, 1em);
	line-height: 0.9em;
	padding: 5px 5px 0 5px;
	white-space: normal;
}
			

.nav ul.sub-nav a{
	flex: 1 1 0;
	padding: 0.5em;
	font-size: 90%;
}
.nav #btn_top{
	position: relative;
}
.nav #btn_top img {
	width: 1.2em;
}
.nav a:hover,
.nav a.selected {
	background-color: rgba(177,0,5,1.00);
	color:rgba(255, 255, 255, 1.00);
}
.nav .reserve-link{
	display: none;
}


@media screen and (max-width: 800px){
	.nav .reserve-link{
		display: block;
	}
}

.mobile-header{
	display: none;
	position: sticky;
	top: 0;
	padding: 5px 10px;
	font-size: 24px;
	width: 100%;
	background-color: rgba(17,39,78,1.00);
	filter: drop-shadow(0 0 0.5em rgba(0,0,0,0.5));
	z-index: 20;
	color: white;
	padding-left: 10px;
	color: rgba(47,38,93,1.00);
}
.mobile-header img{
	display: inline-block;
	vertical-align: middle;
}
.mobile-header > div {
	font-family: var(--headline-font);
	display: inline-block;
	vertical-align: middle;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.mobile-nav-switch{
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 25px;
	height: 25px;
	border: none;
	display: block;
}
.mobile-nav-switch > div {
	border: none;
	width: 100%;
	height: 2px;
	background-color: white;
	position: absolute;
	left: 0;
}
.mobile-nav-switch > div:nth-of-type(1){
	top:5px
}
.mobile-nav-switch > div:nth-of-type(2){
	top:12px
}
.mobile-nav-switch > div:nth-of-type(3){
	top:19px
}

@media screen and (max-width: 800px) {
	
	.mobile-header{
		display: block;
		color: rgba(255,255,255,1.00);
	}
	nav {
		position: fixed;
		width: 12em;
		height: 100vh;
		padding-top: calc(35px + 1em);
		transform: translateX(-100%);
		transition: all 0.5s;
	}
	.nav > li {
		position: relative;
	}
	.nav ul.sub-nav {
		flex-direction: column;
	}
	.nav ul.sub-nav a {
		padding: 5px;
	}
	.nav ul.sub-nav > li {
		border-style: none;
	}

	.nav ul.sub-nav > li figure {
		display: none;
	}
	.nav ul.sub-nav > li span {
		display: inline;
	}
	.nav li:hover ul.sub-nav {
		left: 100%;
		transform: translateX(0);
		top: 0;
		z-index: 10;
		background-color: rgba(17,39,78,1.00);
	}
	.nav {
		flex-direction: column;
		gap: 0;
		padding-top: 80px;
		height: auto;
		font-size: 80%;
		width: 100%;
	}
	.nav a {
		text-align: left;
		display: block;
		width: 100%;
	}
	.nav a:hover,
	.nav a.selected {
		border-radius: 0;
	}
	.nav #btn_top img{
		max-width: 2em;
	}
	
	
	
	.mobile-nav-check:checked + div + nav{
		transform: translateX(0);
	}
	.mobile-nav-check + div > label > div:nth-of-type(1){	
		animation-name: openA;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
	}
	.mobile-nav-check + div > label > div:nth-of-type(2){	
		animation-name: openB;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
	}
	.mobile-nav-check + div > label > div:nth-of-type(3){	
		animation-name: openC;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
	}
		
	.mobile-nav-check:checked + div > label > div:nth-of-type(1){
		animation-name: closeA;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		transform-origin: center;
	}
	.mobile-nav-check:checked + div > label > div:nth-of-type(2){
		animation-name: closeB;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		transform-origin: center;
	}
	.mobile-nav-check:checked + div > label > div:nth-of-type(3){
		animation-name: closeC;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		transform-origin: center;
	}
	
	@keyframes closeA{
		0%{transform: translateY(0) rotate(0)}
		50%{transform: translateY(7px) rotate(0)}
		100%{transform: translateY(7px) rotate(45deg)}
	}
	@keyframes closeB {
		0%{opacity: 1}
		100%{opacity: 0}
	}
	@keyframes closeC{
		0%{transform: translateY(0) rotate(0)}
		50%{transform: translateY(-7px) rotate(0)}
		100%{transform: translateY(-7px) rotate(-45deg)}
	}
	
	@keyframes openA{
		0%{transform: translateY(7px) rotate(45deg)}
		50%{transform: translateY(7px) rotate(0)}
		100%{transform: translateY(0) rotate(0)}
	}
	@keyframes openB {
		0%{opacity: 0}
		100%{opacity: 1}
	}
	@keyframes openC{
		0%{transform: translateY(-7px) rotate(-45deg)}
		50%{transform: translateY(-7px) rotate(0)}
		100%{transform: translateY(0) rotate(0)}
	}

}

/* -------------------------------- GEN STYLE ---------------------------------- */


.sticky{
	position: sticky;
	width: 100%;
	min-height: calc(100dvh - 3.5em - 2px);
	transform: translate3D(0,0,0);
	scroll-snap-align: start;
	overflow: hidden;
}
.sticky:nth-of-type(n + 5){
	margin-top: 250px;
}
.section-a,
.no-offset {
	margin-top: 0;
	border-top: none!important;
}

.switch{
	position: fixed;
	top: 0;
	left: -10000px;
}


/* ----------------------- GENERAL SECTION LAYOUT ----------------------- */

[class*="content"] {
	margin-top: 15em;
	font-size: clamp(70%, 1.3vw, 100%)
}
[class*="content"]:nth-of-type(1) {
	margin-top: 0;
}
[class*="content"] .main > div {
	max-width: 800px;
	margin: 0 auto;
}
.content-left {
	display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	border-top: 5px solid rgba(5,38,89,1.00);
	background-color: white;
}
.content-left > div:nth-of-type(1){
	background-image: linear-gradient(0deg, white 40%, rgba(31,82,164,0.4));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2em;
	font-size: 1.4em;
	line-height: 1.7em;
}
.content-left > div:nth-of-type(2) img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.content-left h1 {
	text-align: left;
	font-size: 2em;
	color: rgba(133,0,3,1.00);
	margin: 0 0 0.2em 0;
}

.content-right {
	display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: 1fr 1fr;
	border-top: 5px solid rgba(133,0,3,1.00);
	background-color: white;
}
.content-right > div:nth-of-type(2){
   background-image: linear-gradient(30deg, rgba(180, 180, 180, 1), rgba(255, 255, 255, 1));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4em 2em;
	font-size: 1.4em;
	line-height: 1.7em;
}
.content-right > div:nth-of-type(1) img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.content-right h1 {
	text-align: right;
	font-size: 2em;
	color: rgba(5,38,89,1.00);
}
.visible-in-mobile {
	display: none;
}


/* --------------------------- SECTION A - TOP ---------------------------------- */

.section-a{
	display: block;
	overflow: hidden;
	background-image: url("../images/hero-background.webp");
	background-position: center;
	background-size: cover;
	width: 100%;
	aspect-ratio: 1920 / 920;
	max-height: 100vh;
	min-height: 0;
}
.hero-grid{
	display: grid;
	grid-template-rows: minmax(0, 1fr);
	grid-template-columns: 57.5% minmax(0, 1fr);
	width: 100%;
	height: 100%;
}
.hero-grid > div {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 3em;
}
.hero-logo {
	display: block;
	width: 50%;
	height: auto;
	filter: drop-shadow(0px 0px 1vw rgba(0,0,0,0.8));
}
.animated-headline{
	position: relative;
	opacity: 1;
	white-space: normal;
   text-shadow: 0 0 0.1em black, 0 0 0.15em black;	
/*	width: calc(100% - 2em); */
	line-height: 1em;
	text-align: center;
	color: white;
	font-family: var(--headline-font);
	font-weight: 450;
	font-size: clamp(2.1em, 4vw, 4.5em);
	background-color: rgba(5,38,89,0.8);
	padding: 0.2em;
	border-radius: 7px;
}
.animate{
	display: inline-block;
	opacity: 0;
	animation: resolve;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	position: relative;
	}

.word{
	display: block;
	margin: 0;
	white-space: nowrap;
}


@keyframes resolve{
	0%{opacity: 0;}
	100%{opacity: 1; transform: scale(1,1) translateY(0);}
}


/* --------------------- SECTION INTRO --------------------- */


.section-intro {
	background-color: white;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 4fr 6fr;
}
.intro-header{
	grid-row: 1;
	grid-column: 1 / 3;
	background-color: rgba(133,0,3,1.00);
	position: relative;
	overflow: hidden;
	padding: 1.5em 0 0.5em 0;
	text-align: center;
}
.intro-header > div {
	font-size: clamp(0.9em, 1vw, 1.5em);
	letter-spacing: 10px;
	color: rgba(255,255,255,0.5);
	animation-name: header-scroll;
	animation-duration: 30s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-delay: 0.5s;
	width: fit-content;
}
@keyframes header-scroll {
	0%{transform: translateX(0%)}
	100%{transform: translateX(-50%)}
}
.intro-pic-container {
	grid-row: 2;
	grid-column: 1;
	background-image: url('../images/intro-accent.webp');
	background-size: cover;
	background-position: center;
/*	mask-image: linear-gradient(90deg, black 70%, transparent)*/
}
.intro-main {
	grid-row: 2;
	grid-column: 2;
	font-size: 1.2em;
	font-size: clamp(0.9em, 2vw, 1.2em);
	line-height: 1.4em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2em;
	background-image: linear-gradient(0deg, white 40%, rgba(31,82,164,0.4));
}
.intro-main > div {
	width: 100%;
	max-width: 900px;
}
.intro-footer{
	grid-row: 3;
	grid-column: 1 / 3;
	text-align: center;
	background-color: rgba(133,0,3,1.00);
	padding: 1.5em 0 0.5em 0;
	transform: rotate(180deg);
}
.intro-footer > div {
	font-size: clamp(0.9em, 1vw, 1.5em);
	letter-spacing: 0.75em;
	color: rgba(255,255,255,0.5);
	animation-name: footer-scroll;
	animation-duration: 30s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-delay: 0.5s;
	width: fit-content;
}
@keyframes footer-scroll {
	0%{ transform: translateX(0%) }
	100%{ transform: translateX(-50%) }
}


/* -------------------- CATALOG STYLES ------------------ */

.catalog-page-container{
	padding: 3em 2em;
	background-image: linear-gradient(30deg, rgba(180, 180, 180, 1), rgba(255, 255, 255, 1));
	font-size: clamp(80%, 1vw, 100%);
	display: flex;
	flex-direction: column;
}
.catalog-page-header{
	background-color: #4670b3;
	color: white;
	font-family: var(--headline-font);
	font-size: clamp(1.3em, 2vw, 2em);
	font-weight: 300;
	padding: 3px 0.5em 0 0.5em;
	position: relative;
	line-height: 1.2em;
	letter-spacing: 2px;
	margin: 0;	
}
.block-container{
	overflow: hidden;
	background-color: white;
	position: relative;

}
.catalog-items-container{
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 2em;
   flex-wrap: wrap;	
	padding: 0 1em;
}
.catalog-item-container{
	flex: 0 1 500px;
	position: relative;
}
.catalog-item{
	display: block;
   width: 100%;
   max-width: 350px;
   text-decoration: none;
   margin: auto;
}
.catalog-item-header{
	border-bottom: 2px solid rgba(18,55,117,1.00);
	color: rgba(131,0,3,1.00);
	font-family: var(--headline-font);
	font-size: clamp(1.3em, 2vw, 2em);
	padding: 3px 0.5em 0 0;
	position: relative;
	line-height: 1.3em;
	text-align: left;
	margin-bottom: 5px;
}
/* -------------------- TOC STYLES ---------------------- */

.toc-container {
/*	background-image: linear-gradient(-90deg, #6588C0, #13499F);*/
	background-color: #123775;
	color: white;
	min-height: 100%;
}
.toc > .toc-contents{
	font-size: 96%;
	padding: 1em;
	margin-top: 0;
}
.toc-linkContainer{
	display: block;
	margin: .5em 0;
}
.toc-linkContainer a{
	font-weight: bold;
	font-size: 1em;
}
.toc-linkContainer a.level0 {
	font-family: var(--headline-font), sans-serif;
	font-size: 1.8em;
	font-weight: normal;
	line-height: 0.5em;
	text-decoration: none;
	display: block;
	padding-top: 0.7em;
}
.toc-linkContainer:nth-of-type(1) a.level0 {
	padding-top: 0;
}

.toc-linkContainer a {
	font-family: var(--headline-font), sans-serif;
	font-size: 1.4em;
	font-weight: normal;
	line-height: 0.5em;
	text-decoration: none;
}
.toc-prodLinkContainer a{
	text-decoration: none;
}


/* -------------------- CATEGORIES/PRODUCTS PAGEs ----------------- */

.categories, .products {
   display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: auto 1fr;
	gap: clamp(1em, 1.4vw, 2em);
	margin: 0 auto;
	width: 100%;
	flex: 1 1 0;
}
.categories > div, .products > div {
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-rows: auto 1fr;
	grid-template-columns: 1fr;
}

.categories-container{
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2em;
	flex-wrap: wrap;
}
/* ----------------------- PRODUCT OVERVIEW PAGES ---------------- */


.product-overview {
	padding: 2em 1em;
}
.product-overview h2{
	margin: 0px;
	text-align: center;
}
.product-overview-image{
	display: block;
	max-width: 100%;
	margin: 1em auto;
}
.product-overview table{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	border: 2px solid rgba(70,112,179,1.00);
	border-collapse: collapse;
}
.product-overview thead {
	background-color: rgba(70,112,179,1.00)!important;
	color: white;
	font-weight: bold;
	font-size: 1.2em;
}
.product-overview td{
	padding: 5px;
	width: 25%;
	white-space: nowrap;
}
.product-overview tbody > tr:nth-of-type(odd) {
	background-color: rgba(255,255,255,1.00);
}
.product-overview  tbody > tr:nth-of-type(even){
	background-color: rgba(235,235,235,1.00);
}
.product-overview td:nth-child(2) {
	border-right: 2px solid rgba(70,112,179,1)
}
.product-overview .colors-table {
	max-width: 1000px;
}
.product-overview .colors-table div{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	flex-wrap: wrap;
	padding: 1em;
}
.product-overview .colors-table figure{
	flex: 1 1 150px;
	max-width: 120px;
	aspect-ratio: 2;
	display: table;
	margin: 0;
	padding: 3px 5px;
}
.product-overview .colors-table figcaption{
	display: table-caption;
	caption-side: bottom;
	background-color: white;
	text-align: center;
	font-weight: bold;
	font-size: 90%;
}
.product-overview .fasteners-table td {
	text-align: center;
	border: none;
	white-space: normal;
}
.product-overview .fasteners-table img{
	max-height: 100px;
}
.product-overview-footnote {
	text-align: center;
	font-size: 80%;
	margin-top: 2em;
}
.product-overview .image-flex-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1000px;
	margin: 1em auto;
	gap: 1em;
}
.product-overview .image-flex-box > div{
	flex: 1 1 300px;
}
.product-overview .image-flex-box img {
	width: 100%;
	height: auto;
	margin: 0;
}
.product-overview .table-flex-box{
	width: 100%;
	max-width: 1200px;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0.5em;
	flex-wrap: wrap;
	margin: 0 auto;
}
.product-overview .table-flex-box table{
	flex: 1 1 400px;
}
.product-overview .raw-material td{
	text-align: center;
}
.product-overview .raw-material thead tr:first-child{
	border-bottom: 2px solid rgba(255,255,255,0.5);
}
.product-overview .raw-material thead  tr:nth-child(3) td:nth-child(2),
.product-overview .raw-material thead  tr:nth-child(2) td:nth-child(1) {
	border-right: 2px solid rgba(255,255,255,0.5);
}
.product-overview .raw-material tr:nth-child(3) td {
	font-size: 90%;
}


/* ----------------------- PRODUCT PAGE -------------------------- */

.colors figure.selected {
	outline: 5px solid rgba(70,112,179,1.00);
}
.colors-grid-cell{
	display: flex;
	align-items: center;
	justify-content: center;
}
.colors {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	padding: 1em;
}
.colors img {
	width: clamp(50px, 4.4vw, 82px);
}
.product {
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-rows: auto auto auto;
	grid-template-columns: auto 1fr 1fr;
	gap: clamp(1em, 1.4vw, 2em);
}

.product .toc{
	grid-row: 1 / span 2;
	grid-column: 1;
}

.product .renders{
	grid-row: 1 ;
	grid-column: 2;
}
.product .colors-container{
	grid-row: 1;
	grid-column: 3;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 1fr;
}
.product .info{
	grid-row: 2;
/*	grid-column: 2;*/
	grid-column: 2 / span 2;
}
.product .resource{
	grid-row: 2;
	grid-column: 3;
}
.product .renders {
	grid-row: 1;
	grid-column: 2;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: minmax(0, auto) 1fr minmax(0, auto);
   background-image: radial-gradient(circle at center, white 50%, rgb(200, 200, 200));
   background-position: center;
   background-size: cover;
}

.model-container > div{
	position: relative;
/*
	background-image: url('../images/logo-lca-metal.webp');
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 60%;
*/
}

.drawing-container {
	justify-self: flex-end;
}
.drawing-container img{
	max-width: 100%;
	height: auto;
	padding: 1em 2em;
	background-color: white;
}

.info-main {
	padding: 1em;
}

.resource-main{
	padding: 1em;
}
.resource div [class *= 'header'] {
	font-size: 120%;
	font-weight: 700;
	text-decoration: underline;
}

.details-table {
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.details-table tr:nth-of-type(odd) {
	background-color: rgba(0,0,0,0.1);
}
.details-table tr:nth-of-type(even) {
	background-color: rgba(0,0,0,0.2);
}
.details-table td{
	padding: 0.3em 0.5em;
}
.details-table td:nth-of-type(1){
	font-weight: bold;
}

.trail{
	position: absolute;
	top: 2rem;
	left: 2rem;
	font-size: 13px;
	font-weight: bold;
	color: rgba(4,38,89,1.00);
}

.zoom360{
	width: clamp(35px, 6.5vw, 50px);
	height: clamp(35px, 6.5vw, 50px);
	position: relative;
	opacity: 0.5;
	filter: drop-shadow(0px 0px 1px rgba(0,0,0,1)) drop-shadow(0px 0px 5px rgba(0,0,0,1));
	pointer-events: none;
}


@media screen and (max-width: 1000px) {
	.product {
		grid-template-rows: auto auto auto;
		grid-template-columns: auto 1fr 1fr;
	}
	.product .toc {
		grid-row: 1 / span 3;
		grid-column: 1;
	}
	.product .renders {
		grid-row: 1;
		grid-column: 2 / span 2;
	}
	.product .colors-container{
		grid-row: 2;
		grid-column: 2 / span 2;
	}
	.product .info{
		grid-row: 3;
		grid-column: 2 ;
	}
	.product .resource{
		grid-row: 3;
		grid-column: 3;
	}
}

@media screen and (max-width: 800px) {
	.catalog-page-container{
		padding: 0;
	}
	.product {
		grid-template-rows: auto auto auto auto;
		grid-template-columns: auto 1fr;
		gap: 0;
	}
	.product .toc {
		grid-row: 1 / span 4;
		grid-column: 1;
	}
	.product .renders {
		grid-row: 1;
		grid-column: 2 ;
	}
	.product .colors-container{
		grid-row: 2;
		grid-column: 2 ;
	}
	.product .info{
		grid-row: 3;
		grid-column: 2 ;
	}
	.product .resource{
		grid-row: 4;
		grid-column: 2;
	}
	.products, .categories {
		gap: 0;
	}
}

@media screen and (max-width: 500px) {
	.product {
		grid-template-rows: auto auto auto auto;
		grid-template-columns: 1fr;
	}
	.product .toc {
		display: none;
	}
	.product .renders {
		grid-row: 1;
		grid-column: 1 ;
	}
	.product .colors-container{
		grid-row: 2;
		grid-column: 1 ;
	}
	.product .info{
		grid-row: 3;
		grid-column: 1 ;
	}
	.product .resource{
		grid-row: 4;
		grid-column: 1;
	}
}



/* ------------------- CONTACT PAGE ---------------------- */

.contact-form-container{
	font-size: 1em!important;
	display: flex;
	flex-direction: column;
}
.contact-form-container h1{
	text-align: left;
	font-size: 2.8em;
	width: 100%;
	line-height: 0.9em;
}
.lca-map-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
}
.lca-map-container > div:nth-of-type(2) {
	background-color: rgba(133,0,3,1.00);
	color: white;
}
.lca-map-container > #BGM_contactMap {
	min-height: 0;
}

.contact-lca {
	padding: 4em 2em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-image: radial-gradient(circle at center, white 50%, rgb(150,150,150));
}
.contact-lca .contact-info {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}
.contact-info {
	flex-direction: column;
	font-size: clamp(1em 2vw, 1.4em)!important;
}
.contact-container{
	text-align: center;
	font-size: 80%;
}
.contact-container:nth-of-type(n + 2) {
	margin-top: 2em;
}
.contact-container > div:nth-of-type(1){
	font-size: 1.8em;
	font-weight: 600;
	line-height: 1em;
}
.contact-container > div:nth-of-type(2){
	font-size: 1.2em;
	font-weight: 600;
	line-height: 1em;
}
.contact-container > div:nth-of-type(4){
	font-size: 1.2em;
	font-weight: 600;
	line-height: 1em;
}



/* ---------------------- CAPABILITIES PAGE ---------------- */

.main.capabilities {
	font-size: 1.2em!important;
}


/* ----------------------- BGM DEFAULT OVERRIDE ------------------ */

.LCA-contact .BGM-contact-InfoBlock-container{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2em;
	flex-wrap: wrap;
}
.LCA-contact .BGM-contact-InfoBlock {
	flex: 1 1 300px;
	margin: 0!important;
}


/* -------------------- MEDIA STYLES ----------------------- */

/*
@media screen and (max-width: 1400px) {
	
}
*/

@media screen and (max-width: 1200px) {
	.section-intro {
		grid-template-rows: auto auto auto auto;
		grid-template-columns: 1fr;
	}
	.intro-header {
		grid-column: 1;
	}
	.intro-pic-container{
		grid-row: 2;
		grid-column: 1;
		width: 100vw;
		aspect-ratio: 2 / 1;
		min-height: 500px;
	}
	.intro-main{
		grid-row: 3;
		grid-column: 1;
		width: 100vw;
	}
	.intro-footer {
		grid-row: 4;
	}
	

}

@media screen and (max-aspect-ratio: 1), 
	screen and (orientation: portrait) {
			 
	.content-left,
	.content-right{
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
	}
	.content-left > div:nth-of-type(1) {
		grid-row: 2;
		grid-column: 1;
		padding: 2em;
	}
	.content-left > div:nth-of-type(2) {
		grid-row: 1;
		grid-column: 1;
		min-height: 500px;
	}
	.content-right > div:nth-of-type(2) {
		grid-row: 2;
		grid-column: 1;
		padding: 2em;
	}
	.content-right > div:nth-of-type(1) {
		grid-row: 1;
		grid-column: 1;
	}
	.content-right > div:nth-of-type(1) img {
		max-height: 40vh;
	}
}

	
@media screen and (max-width: 800px) {
	
	.sticky {
		position: static;
		min-height: 0;
		margin-top: 0!important;
	}
	.section-a {
		 min-height: 0;
		 aspect-ratio: 1;
		 background-image: url("../images/hero-background-portrait.webp");
		 background-position: center;
		overflow: hidden;
	}
	.section-a .hero-grid{
		 display: block;
		 position: relative;
	}
	.hero-grid > div:last-of-type {
		 height: 100%;
	}
	.section-a .hero-logo{
		position: absolute;
		left: 50%;
		bottom: 1em;
		transform: translateX(-50%);
		width: 40vw;
	}
	.section-a .animated-headline{
		 display: none;
	}
	.section-product-categories {
		padding: 2em 1em!important;
	}
	
}

@media screen and (max-width: 500px) {
	.hidden-in-mobile {
		display: none!important;
	}
	.visible-in-mobile {
		display: inline;
	}
}





/* ---------------------- PRINT STYLES ------------------------------- */


@media print{
	* {
		background-color: white!important;
		color: black!important;
		background-image: none!important;
		filter: none!important;
		writing-mode: horizontal-tb!important;
	}
	body{
		font-size: 11px!important;
	}
	input[type="submit"],
	input[type="button"] {
		display: none!important;
	}
	.no-print {
		display: none!important;
	}
	.sticky{
		display: block!important;
		position: static;
		min-height: 0!important;
	}
	
}
