/*
FONTS

font-family: balto;

*/



/* VARIABLES */

:root {
  --default-font: balto;
  --default-font-size: 18px;
  --default-line-height: 1.5;

  --default-input-font: balto;
  --default-input-font-size: 24px;
  --dim-input-height: 54px;
  
  --button-input-font: balto;
  --button-font-size: 30px;
  --button-height: 70px;

  --col-primary: #2B291D;
  --col-accent: #000000;
  --col-burger: #fff;
  --col-text: #383721;
  --col-page-bg: #D8D3C9;
  --col-border: #707070;
  --col-input: #D8D3C9;
  --col-placeholder: #D8D3C9;
  --col-input-bg: #fff;
  --col-button: #D8D3C9;
  --col-button-bg: #2B291D;
  --col-link: #000;
  --col-link-hover: #000000;

  --col-error: #ff6633;
  --col-attention: #ff6633;
  --col-warning: #f5b00e;
  --col-missing: #ff6633;

  --col-primary-rgb: 66,90,105;
  --col-accent-rgb: 0, 0, 0;
  --col-button-rgb: 255, 255, 255;
  --col-link-rgb: 0,0,0;
  --col-link-hover-rgb: 0, 0, 0;
  --col-error-rgb: 255, 51, 0;
  --col-attention-rgb: 255, 51, 0;
  --col-warning-rgb: 245, 176, 14;
  --col-border-rgb: 190, 190, 190;
  --col-missing-rgb: 255, 51, 0;

  --dim-site-width: 2420px;
  --dim-site-inner-width: 1800px;
  --dim-default-space: 157px;

  --vh: 1vh;


  
}

/* theme */


/*CORE HTML*/

p { margin-bottom: 40px; font-weight: 300}
p a:hover { color: #aaa;}
a.underline { text-decoration: underline}

h1 {  font-size:60px; margin: 0 auto; line-height: 1.1; text-transform: uppercase; text-align: center; font-weight: 400; letter-spacing: 3px; color: var(--col-page-bg)}
h1.homepage {  font-size:30px; margin: 0 auto 80px; line-height: 1.1; text-transform: uppercase; text-align: center; font-weight: 400; letter-spacing: 3px; color: var(--col-page-bg)}
h1.homepage:last-child {  margin-bottom: 0}
h2 {  font-size: 36px; margin: 0 auto 0px 0; line-height: 1.5; text-transform: uppercase; text-align: left; font-weight: 300; letter-spacing: 1px; }
h3 {  font-size: 30px; margin: 40px auto 70px 0; line-height: 1.25; text-transform: uppercase; text-align: left; font-weight: 300; letter-spacing: 1px; color: var(--col-input)}


p.larger { font-size: 20px; }
p.shorter { max-width: 900px; margin-left: auto; margin-right: auto}
p.shortest { max-width: 540px; margin-bottom: 20px}
p.short { max-width: 580px; margin-left: 0; margin-right: auto}

p.smaller { font-size: 24px;}
p.smallest { font-size: 22px;}

p.strong {font-weight: 400;}
p.light { font-size: 16px; font-family: balto; font-weight: 300; line-height: 1.9 }
p.medium { font-size: 20px; font-weight: 300;}

p.center { letter-spacing: 1px;}

p.uc { text-transform: uppercase;}

/*CONTAINERS*/

article { padding-top: 0px; }
article.interior { background: var(--col-primary)}

/*BUTTONS*/

a.btn { text-transform: uppercase; color: var(--col-text); background: transparent;  line-height: 1.75; font-size: 20px; font-family: balto;  display: table; margin: 80px auto 0 0; padding: 0px; letter-spacing: 4px; position: relative; border-bottom: 1px solid var(--col-text)}
/*a.btn:hover {  background: var(--col-accent); color: #fff; transition: background linear .15s}*/

/*HEADER AND NAV*/

header { position: absolute; top: 0; left: 0; display: block; width: 100%; z-index: 5; padding: 0 30px;}
header div.logo { display: block; width: 220px; }
header div.logo img { display: block; width: 100%; }

header > div { display: flex; justify-content: center; align-items: center; gap: 60px; max-width: var(--dim-site-inner-width); margin: 0 auto; position: relative}
header.attached.visible > div { justify-content: space-between}
header div.logo  {display: none;}
header.attached.visible div.logo { display: block;}



header nav {display: flex; gap: 60px; justify-content: center; padding-top: 60px;}
header nav a {font-size: 20px; color: var(--col-page-bg); text-transform: uppercase; letter-spacing: 4px; line-height: 1.75}
header nav a.underline { border-bottom: 1px solid var(--col-page-bg); text-decoration: none;}
header nav a:hover { color: #fff; }

header.attached { position: fixed; top: -100px; opacity: 0; transition: top .3s linear; background: var(--col-primary)}
header.attached.visible { top: 0px; opacity: 1; transition: all .3s linear; }
header.attached nav  { padding-top: 15px; padding-bottom: 15px}
header.attached nav  a { font-size: 18px; letter-spacing: 1px}

a.floating { position: fixed; top: 50%; right: 0; transform: rotate(-90deg); transform-origin: right bottom; display: table; background: var(--col-page-bg); color: var(--col-primary); font-size: 13px; letter-spacing: 1px; font-weight: 500; text-transform: uppercase; line-height: 36px; padding: 0 20px; border: 1px solid var(--col-primary); border-radius: 10px 10px 0 0; z-index: 3; transition: all .2s linear}
a.floating:hover { background: var(--col-primary); color: var(--col-page-bg)}

/*body.article-interior header { position: fixed; top: -100px; opacity: 0; transition: top .3s linear; background: var(--col-primary)}*/
/**body.article-interior header { top: 0px; opacity: 1; transition: all .3s linear; } */

body.article-interior header nav  { padding-top: 15px; padding-bottom: 15px}
body.article-interior header nav  a { font-size: 18px; letter-spacing: 1px}
body.article-interior header > div { justify-content: space-between}
body.article-interior header div.logo { display: block;}


/*header { position: absolute; top: 0; left: 0; display: block; width: 100%; z-index: 5; padding: 0px 30px; height: 85px;}*/
/*header div.logo { display: block; width: 280px; }*/
/*header div.logo img { display: block; width: 100%; }*/
/**/
/*header > div { display: flex; justify-content: center; align-items: center; gap: 60px; max-width: var(--dim-site-inner-width); margin: 0 auto; position: relative; padding-top: 0px; height: 100%; z-index: 9;}*/
/*header.attached.visible > div { justify-content: space-between}*/
/*header div.logo  {display: none;}*/
/*header.attached.visible div.logo, header.active div.logo { display: block;}*/
/**/
/**/
/**/
/*header nav {display: flex; gap: 20px; justify-content: center; padding-top: 0px; width: 100vw; height: calc(100 * var(--vh)); background: rgba(0,0,0,0.5); align-items: center; position: fixed; top: 0; left: -200vw;}*/
/*header nav div {width: 880px; margin: 0 auto; display: block; position: relative; height: 80%; }*/
/*header nav a {height: 100%; position: relative; width: 130px; border: 1px solid #D8D3C9; background: #2B291D; position: absolute; left: 0; top: 0; opacity: 0; transition: all .5s cubic-bezier(0.250, 0.460, 0.450, 0.940)}*/
/*header nav a img {height: 100%; width: 100%; object-fit: cover; opacity: 0; position: relative; z-index: 2;}*/
/*header nav a:before { content: ""; z-index: 3; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(/img/menu/menu-shade.png) no-repeat center center; background-size: cover; opacity: 0}*/
/*header nav a:after {opacity: 0; content: "View"; position: absolute; bottom: 30px; left: 50%; width: auto; text-align: center; padding-bottom: 3px; border-bottom: 1px solid #D8D3C9; color: #D8D3C9; display: table; z-index: 4; font-size: 20px; letter-spacing: 3px; transform: translateX(-50%); text-transform: uppercase;}*/
/*header.active nav a {opacity:  1; left: 0px;}*/
/*header.active nav a:nth-child(2) {left: 150px; }*/
/*header.active nav a:nth-child(3) {left: 300px; }*/
/*header.active nav a:nth-child(4) {left: 450px; }*/
/*header.active nav a:nth-child(5) {left: 600px; }*/
/*header.active nav a:nth-child(6) {left: 750px; }*/
/*header.active nav a:nth-child(7) {left: 900px; }*/
/*header nav a span {font-size: 25px; color: #D8D3C9; position: absolute; top: 70px; left: 75px; line-height: 1; transform: rotate(90deg); transform-origin: 0 0; white-space: nowrap; letter-spacing: 1px; text-transform: uppercase; text-align: left; z-index: 4;}*/
/*header nav a:hover img { opacity: 1;}*/
/*header nav a:hover:after { opacity: 1;}*/
/*header nav a:hover:before { opacity: 1;}*/
/*header nav a:hover span { color: #2B291D }*/
/*header nav a:nth-child(2):hover span, header nav a:nth-child(5):hover span, header nav a:nth-child(6):hover span { color: #fff}*/
/*header.active nav { left: 0; }*/
/**/
/*header a.btn-registration { font-size: 20px; color: var(--col-page-bg); text-transform: uppercase; letter-spacing: 4px; line-height: 1.75; border-bottom: 1px solid var(--col-page-bg); text-decoration: none; position: absolute; right: 0; bottom: 0 }*/
/*header div.burger { display: block; top: 25px;}*/
/**/
/*header.attached { position: fixed; top: -100px; opacity: 0; transition: top .3s linear; background: var(--col-primary)}*/
/*header.attached.visible { top: 0px; opacity: 1; transition: all .3s linear; }*/
/*header.attached nav  { padding-top: 15px; padding-bottom: 15px}*/
/*header.attached nav  a { font-size: 18px; letter-spacing: 1px}*/

footer { display: block; padding: 140px 50px 50px; background: var(--col-primary)}
footer div.footer { max-width: var(--dim-site-inner-width); margin: 0 auto; display: flex; justify-content: space-between; align-items: stretch; gap: 40px}
footer div.footer > div { display: flex;flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 33px; padding-top: 20px}
footer div.logos { padding-top: 0px !important; width: 50%}
footer div.logo img { display: block; width: 233px; margin: 0;}
footer div.builders { display: flex; gap: 50px; align-items: center; margin: 0; justify-content: flex-start;}
footer div.disclaimer { justify-content: center; padding: 0px 0 0px; max-width: 523px; max-width: var(--dim-site-inner-width); margin: 44px auto 0; }
footer div.disclaimer p { width: 50%;}
footer div.disclaimer p, footer div.disclaimer a { font-size: 15px; text-align: left; line-height: 1.33;}
footer div.disclaimer a { display: inline-block; }
footer p { color: var(--col-input); }
footer a { color: var(--col-input); text-decoration: underline;}
div.social { display: flex; justify-content: flex-end; gap: 28px; }
div.social a { font-size: 20px;  font-weight: 300}
div.contact p { font-size: 20px;  font-weight: 300; margin: 0}
div.contact p a { text-decoration: none;}
div.contact p a.underline { text-decoration: underline;}
a.special { background: var(--col-page-bg); color: #000; padding: 0 20px; line-height: 34px; text-decoration: none; display: table; margin-top: 10px; font-size: 18px; }
footer  div.motif { height: 400px; background: url(/img/motif.svg) var(--col-primary) left top; margin-top: 140px; background-size: cover;}

/*ELEMENTS*/
.c-primary { color: var(--col-primary) !important}
.c-black { color: #000 !important}
.b-primary { background-color: var(--col-primary) !important}
.b-black { background-color: #000 !important}

/*CONTENT*/

article { background-color: var(--col-page-bg)}
section { max-width: var(--dim-site-inner-width); }
section.masthead { max-width: 100%; }
section.full { max-width: 100%; }

div.masthead { width: 100vw; height: calc(100 * var(--vh)); }
div.masthead-video { width: 100%; height: 100%; display: block}
div.masthead-video img { width: 100%; height: 100%; display: block; object-fit: cover;}
div.masthead-video iframe { width: 100%; height: 100%; display: block; border: 0; position: absolute; top: 0; left: 0; opacity: 1}
div.masthead div.caption { top: 50%; margin-top: -60px;}
div.masthead div.caption img { display: block; margin: 0 auto 56px; width: 985px; max-width: 60vw;}

div.masthead-short { padding: 330px 0px 0px;}

section.move-up { margin-top: -270px;}

div.content { max-width: var(--dim-site-inner-width); margin-left: auto; margin-right: auto; padding-top: var(--dim-default-space); padding-bottom: var(--dim-default-space)}
div.content * { color: var(--col-input)}
div.image { margin: 120px auto}

div.gallery-filters { display: flex; gap: 20px; justify-content: space-between; align-items: flex-start; padding-bottom: 40px; margin-bottom: 80px; border-bottom: 1px solid #D8D3C9; width: 100%}
div.gallery-filters a { display: block; color: #D8D3C9; font-size: 20px; font-weight: 400; letter-spacing: 3px; padding-bottom: 3px; border-bottom: 1px solid transparent; text-transform: uppercase;}
div.gallery-filters a.active { border-bottom: 1px solid #D8D3C9;}


div.gallery-list {--gap: 20px; --grid-h: 120px; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--gap); row-gap: var(--gap); }
div.gallery-list2 {grid-template-columns: 1fr 1fr 1fr; }
div.gallery-list > div { grid-row: span 6; height: calc(6 * var(--grid-h) + 5 * var(--gap)); overflow: hidden }
div.gallery-list > div.hidden { display: none;}
div.gallery-list > div.x1 {grid-column: span 1; }
div.gallery-list > div.x2 {grid-column: span 2; }
div.gallery-list > div.x3 {grid-column: span 3; }

div.gallery-list > div.y1 {grid-row: span 1; height: calc(var(--grid-h)); }
div.gallery-list > div.y2 {grid-row: span 2; height: calc(2 * var(--grid-h) + var(--gap)); }
div.gallery-list > div.y3 {grid-row: span 3; height: calc(3 * var(--grid-h) + 2 * var(--gap)); ;}
div.gallery-list > div.y4 {grid-row: span 4; height: calc(4 * var(--grid-h) + 3 * var(--gap)); ;}
div.gallery-list > div.y5 {grid-row: span 5; height: calc(5 * var(--grid-h) + 4 * var(--gap)); ;}

div.gallery-list > div img {transition: all 1s cubic-bezier(0.250, 0.460, 0.450, 0.940)}
div.gallery-list > div:hover img {transform: scale(1.05); }

div.gallery-list > div.item-video {height: auto; }
div.item-video:after {content:""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; background: url(/img/play.svg?v=3) no-repeat center center; background-size: 90px 90px; z-index: 4; transition: opacity .3s linear; cursor: pointer;}
div.item-video:hover:after {opacity: 1}

/*div.gallery-list > div a { width: 100%; height: 100%; display: block;}*/
div.gallery-list > div img { width: 100%; height: 100%; display: block; object-fit: cover; cursor: pointer;}
div.gallery-list > div p { display: none;}

div.popup-image { top: 50%; left: 50%; transform: translate3D(-50%, -50%, 0); max-width: 80vw; max-height: 80vh; position: absolute;display: block;width: 100%; height: 100% }
div.popup-image > img { width: 100%; height: 100%; object-fit: contain;}
div.popup-image > a { display: block; position: absolute; cursor: pointer; top: 50%; font-size: 25px; color: #fff; margin-top: -12px; z-index: 3;user-select: none;}
div.popup-image > a.previmage { left: -20px; }
div.popup-image > a.nextimage { right: -20px;}
div.popup-image p {display: none;}
a.popup-download { position: absolute; bottom: 20px; right: 20px; color: #D8D3C9; font-size: 20px; letter-spacing: 3px; text-transform: uppercase; text-align: right; display: block; padding-bottom: 3px; border-bottom: 1px solid #D8D3C9}

div.overlay iframe { width: 100%; height: 100%;}

@keyframes bounce {
	0%  { transform: translateY(0px); }
	20%  { transform: translateY(30px); }
	100%  { transform: translateY(0px); }
}


div.grid-1 {gap: 80px; margin-bottom: 80px}
div.grid-1 > div {width: 37.5%;}
div.grid-1 > div:last-child {width: 62.5%;}

div.grid-2 {gap: 0;  margin-bottom: 80px}
div.grid-2 > div {width: 50%;}
div.grid-2 > div:first-child { padding-right: 50px;}

div.grid-3 {gap: 20px;}
div.grid-3 > div {width: 50%;}

div.grid-v { flex-direction: column; justify-content: space-between; height: 100%}

div.table { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap: 20px;  margin-bottom: 0px}
div.table .x3 { grid-column: span 3;}
div.table .x2 { grid-column: span 2;}

div.slideshow { width: calc(100% + 20px); margin-left: -10px;}
div.slideshow .slick-slide { padding:10px; }
/*ul { list-style-type: none;}*/
/*ul li { padding-left: 40px; position: relative; font-size: 30px; font-weight: 300; font-family: balto; margin-bottom: 35px; text-transform: uppercase; }*/
/*ul li:before { content:"+"; }*/

.js-accordion { padding-top: 12px}
.ui-accordion-header { padding-left: 50px; position: relative; font-size: 20px; font-weight: 300; font-family: balto; margin-bottom: 35px; text-transform: uppercase; color: var(--col-text); }
.ui-accordion-header span { width: 20px; position: absolute; left: 0; top: 0px; height: 20px; display: block; background: url(/img/plus2.svg) no-repeat center center; background-size: contain;}
.ui-accordion-header.ui-accordion-header-active span { background-image: url(/img/minus2.svg);}
.ui-accordion-content  { padding: 0px 0px 40px 50px ;  color: var(--col-text); }

/*FORMS*/

div.form-holder { width: 100%; max-width: var(--dim-site-inner-width); display: flex; gap: 150px; padding: 156px 0 130px; border-top: 1px solid var(--col-page-bg); border-bottom: 1px solid var(--col-page-bg)}
div.form-holder > div { width: 60%}
div.form-holder > div:last-child { width: 40%}

div.form-holder > div img { width: 100%; display: block;}
div.form-holder form { max-width: 1340px; margin: 0 auto}
div.form-holder h3 { margin: 0 auto 50px 0; text-align: left; font-size: 70px; color: #fff; max-width: 420px}
div.form-holder > div > p { color: #fff; text-transform: uppercase; font-weight: 300; font-size: 30px; }
div.form { text-align: left;}


input[type="text"], input[type="search"], input[type="tel"], input[type="number"], input[type="email"], input[type="password"], textarea { padding-left: 0px; border: 0; background: transparent; border: 0; border-bottom: 1px solid var(--col-border)}
div.form-row {padding-bottom: 50px; gap: 70px}

form button[type="submit"], form button[type="button"] { padding: 0px; text-transform: uppercase; text-align: center; font-family: balto; font-size: 24px; line-height: 1.9; border-bottom: 1px solid var(--col-input); margin: 0 auto; letter-spacing: 5px;  text-transform: uppercase; color: var(--col-input); line-height: 1.75; font-size: 24px; font-family: balto;  display: table;padding: 0px; letter-spacing: 4px; position: relative; border-bottom: 1px solid var(--col-input)}
form button[type="submit"]:hover, form button[type="button"]:hover { color: #aaa; background: transparent}
div.checkbox { padding-top: 30px}
div.checkbox label:before { width: 25px; height: 25px; border-radius: 0px; background: transparent; font-weight: 300}
div.checkbox input:checked + label:before { background: url(/lib/img/white/checkmark.svg) transparent no-repeat center center;border-color: #fff; background-size: 14px 12px;}
div.checkbox label { padding-left: 48px;font-size: 12px; padding-top: 0px; color: var(--col-input);}
*::-webkit-input-placeholder {  text-align: left;  letter-spacing: 2px; font-weight: 300; font-size: 0 !important}
*::-moz-placeholder {  text-align: left; letter-spacing: 2px; font-weight: 300; font-size: 0 !important}
*:-ms-input-placeholder {  text-align: left; letter-spacing: 2px; font-weight: 300; font-size: 0 !important}
div.field > label { display: block;  text-align: left;  letter-spacing: 2px; font-weight: 300; padding-top: 13px; color: var(--col-input)} 

.select2-container--default .select2-selection--single { background: transparent; border: 0; border-bottom: 1px solid var(--col-border)}
.select2-container--default .select2-selection--single .select2-selection__placeholder { font-weight: 300; font-size: 0}
.select2-container--default .select2-selection--single .select2-selection__arrow { background-image: url(/lib/img/white/arrow-down.svg)}
.select2-container--default .select2-results__option {background-color: var(--col-primary); color: #fff}
.select2-container--default .select2-results__option--highlighted[aria-selected] {color: var(--col-primary); background-color: #fff}
.select2-container--default .select2-results__option[aria-selected=true] {color: #fff; background-color:var(--col-primary); }
.select2-container--default .select2-results__option[aria-selected=true]:hover {background-color: #fff; color:var(--col-primary); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0}

fieldset { margin-bottom: 0}

div.reveal-response p { text-align: left; font-size: 48px; line-height: 1.5; color: var(--col-input); font-weight: 300}


p.shift-down { padding-top: 7px;}
picture { display: block; width: 100%; height: 100%}
picture img { display: block; width: 100%; height: 100%; object-fit: cover}

/*ANIMATIONS*/

.slide-in-bottom { transform: translateY(300px); opacity: 0;}
.slide-in-top { transform: translateY(-300px); opacity: 0;}
.in-better-view.slide-in-bottom {opacity: 1;	animation: slide-in-bottom 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
.in-better-view .slide-in-bottom {	opacity: 1; animation: slide-in-bottom 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
.in-better-view .slide-in-top {	opacity: 1;animation: slide-in-top 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
@keyframes slide-in-top {
  0% { transform: translateY(-300px); opacity: 0;}
  100% {transform: translateY(0);opacity: 1;}
}

@keyframes slide-in-bottom {
  0% {transform: translateY(300px);opacity: 0;  }
  100% { transform: translateY(0);opacity: 1;
  }


}





@media only screen and (max-width: 1880px) {
	div.content, section:not(.full):not(.masthead):not(.max) { padding-left: 40px; padding-right: 40px;}

}

@media only screen and (max-width: 1680px) {
	:root {
		  --dim-default-space: 120px;
	}

	div.content, section:not(.full):not(.masthead):not(.max) { padding-left: 30px; padding-right: 30px;}
	div.form-holder { max-width: 1660px; padding: 100px 30px 80px; }
	
	footer {padding: 70px 30px 50px;}
	div.form-row { gap: 40px}

	div.image { margin: 90px auto}

	div.masthead-short { padding: 240px 0px 0px;}
}


@media only screen and (max-width: 1440px) {
	div.form-holder { gap: 50px}
	div.form-holder > div { width: 55%}
	div.form-holder > div:last-child { width: 45%}

	div.gallery-filters a {font-size: 16px; letter-spacing: 1px}

	a.special { padding: 0 12px; line-height: 30px; font-size: 16px; }
}


@media only screen and (max-width: 1380px) {
	:root {
		  --default-font-size: 18px;
		  --default-input-font-size: 18px;
		  --dim-input-height: 50px;  
	  }

/*	div.masthead div.logo { gap: 10vw; }*/
/*	section:not(.full):not(.masthead) { padding-left: 30px; padding-right: 30px;}*/

	h1 {  font-size: 40px; margin: 0 auto 60px; }
	h1.homepage {  font-size:28px; margin: 0 auto 60px; }
	h2 {  font-size:30px; }
	h3 {  font-size: 20px; margin: 30px auto 50px; }
	div.form-row {padding-bottom: 40px; gap: 30px}

	div.form-holder h3 { margin: 0 auto 30px 0; font-size: 40px; max-width: 420px}
	div.form-holder > div > p { font-size: 20px; }

	header > div { gap: 30px}
	header.attached nav { gap: 30px}

	footer div.logo img { width: 15vw; }
/*	footer div.builders img { width: 30vw; }*/
	div.social { gap: 20px}
	div.social a { font-size: 19px}

	a.btn { margin-top: 40px; letter-spacing: 2px; }

	.ui-accordion-header { padding-left: 32px; font-size: 20px; margin-bottom: 20px}
	.ui-accordion-header span { width: 16px; height: 16px; }
	.ui-accordion-content  { padding: 0px 0px 30px 30px ;  }

/*	div.grid-1 > div:first-child { padding-right: 50px;}*/
	div.grid-2 > div:first-child { padding-right: 40px;}
/*	div.grid-1 {gap: 0; margin-bottom: 70px}*/
	div.grid-2 {gap: 0;  margin-bottom: 70px}

	p.shift-down { padding-top: 2px;}

	footer div.builders { flex-direction: column; align-items: flex-start; gap: 20px; max-width: 320px}

	footer div.disclaimer p { width: 100%;}
}

@media only screen and (max-width: 1180px) {
	header nav {gap: 30px; padding-top: 40px;}
	header nav a {font-size: 16px; letter-spacing: 1px;}
	header.attached nav a {font-size: 16px; letter-spacing: 1px;}

	div.item-video:after {background-size: 45px 45px; }
}

@media only screen and (max-width: 1080px) {
	:root {
		  --default-font-size: 20px;
		  --default-input-font-size: 20px;
		  --dim-input-height: 50px;  
		  --dim-default-space: 80px;
	  }
	h1 {  font-size: 30px; }
	h1.homepage {  font-size:26px; }
	h2 {  font-size:25px; }
	div.form-row {padding-bottom: 20px;}

	*::-webkit-input-placeholder {  letter-spacing: 0px; }
	*::-moz-placeholder {  letter-spacing: 0px; }
	*:-ms-input-placeholder {  letter-spacing: 0px; }

	div.form-holder { padding: 80px 30px; }



	footer { display: block; padding: 80px 30px 30px; }
/*	div.masthead { padding: 30px;}*/
	footer div.motif { margin-top: 60px;}

	footer div.footer { flex-direction: column; gap: 50px; align-items: flex-start; justify-content: flex-start;}
	footer div.footer > div { width: 100% !important; align-items: center; gap: 20px}
	footer div.logo img { width: 18vw; margin: 0 auto}
/*	footer div.builders img { width: 40vw; margin: 0 auto}*/
	footer div.logos { gap: 25px; align-items: center; width: 100%; }
	footer div.logo { width: 100%; }
/*	footer div.logo a { margin: 0 auto}*/
	footer div.footer > div { width: 100%;max-width: 100% !important;}
	footer div.disclaimer { text-align: center; justify-content: center;}
	footer div.disclaimer p, footer div.disclaimer a { text-align: center; }
	div.social { justify-content: center;}
	div.contact { text-align: center}

	div.masthead-short { padding: 150px 0px 0px;}

	div.grid-1 {gap: 40px; margin-bottom: 0px}
	div.grid-1 > div {width: 50% }
	div.grid-1 > div:last-child {width: 50%;}

	div.grid-2 > div:first-child { padding-right: 30px;}
	
	div.grid-2 {gap: 0;  margin-bottom: 50px}
	
	div.form-holder h3 { margin-bottom: 20px}
	div.form-holder { flex-direction: column; gap: 50px; }
	div.form-holder > div { width: 100% !important}
	div.form-holder h3 { margin: 0 auto 30px; font-size: 32px; max-width: 100%;  text-align: center;}
	div.form-holder > div > p { font-size: 18px; text-align: center;}


/*	div.form-holder h2, div.form-holder h3 {text-align: center;}*/
/*	div.form-holder form { margin: 0 auto}*/
/*	form button[type="submit"], form button[type="button"] { margin: 0 auto}*/
/*	div.map img, div.map a { width: 100%; display: block}*/

	div.image { margin: 80px auto}

	div.gallery-filters { gap: 10px; padding-bottom: 20px; margin-bottom: 50px}
	div.gallery-filters a {font-size: 14px; letter-spacing: 1px}

	a.special { padding: 0 15px; line-height: 34px; margin: 10px auto 0}
}

@media only screen and (max-width: 980px) {

	:root {
		  --default-font-size: 20px;
		  --default-input-font-size: 20px;
		  --dim-input-height: 50px;  
		  --dim-default-space: 80px;
	  }
	  p { line-height: 1.66; text-align: center;}

	  a.btn { font-size: 18px}

	header { padding: 0}

	header nav {flex-direction: column; left: -200vw; top: 0; position: fixed; opacity: 0; width: 100vw; height: calc(100 * var(--vh)); background: var(--col-text); justify-content: center; padding: 120px 0; gap: 40px;}
	header.active nav {left: 0vw; opacity: 1; }


	header nav a {font-size: 24px !important; text-align: center; width: 100%; color: var(--col-input)}
	header nav a:hover {color:#444}
	header div.burger { display: block;}
/*	header nav {gap: 20px; padding-top: 30px;}*/
/*	header nav a {font-size: 14px; letter-spacing: 0px;}*/

	header nav a.underline {border: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px}
	body.article-interior header div.logo { display: block; margin: 0 0 0 auto; padding: 20px 20px 0 0}
	header.attached { top: 0px; opacity: 1; background: transparent;}
	header.attached div.logo { display: none !important}
	header.attached.visible div.logo { display: none}
	header.active div.logo { display: block !important; position: absolute; top: 100px; left: 0; width: 100%; z-index: 100; padding: 0 !important; margin: 0 !important}
	header.active div.logo a { display: block; width: 200px; margin: 0 auto; }



/*	div.masthead div.logo { gap: 30px; flex-direction: column;}*/
	h1 {  font-size:24px; letter-spacing: 1px; line-height: 1.2;}
	h1.homepage {  font-size:20px; letter-spacing: 0px; line-height: 1.2;}
	h2 {  font-size:26px; letter-spacing: 0px; line-height: 1.2; text-align: center; margin-bottom: 0px}
	h3 {  letter-spacing: 1px; margin-bottom: 20px; margin-top: 20px}
	div.form-row { flex-direction: column; gap: 20px; padding-bottom: 0}
	div.form-row > div:empty {display: none}
	footer div.logo img { width: 200px; margin: 0 auto}
	footer div.builders  { margin-top: 30px; max-width: 260px}
	footer div.disclaimer p, footer div.disclaimer a { font-size: 14px; line-height: 1.66}
	footer div.disclaimer a { margin: 0 5px}


	div.grid-3, div.grid-2, div.grid-1 {flex-direction: column;}
	div.grid-3 > div, div.grid-1 > div, div.grid-2 > div {width: 100% !important; padding: 0 !important}
	div.grid-2 + div.grid-2 { margin-top: 100px}
	div.grid-1 { gap: 20px}
	h2:last-child { margin-bottom: 0}

	div.grid-3 { gap: 10px}
	div.grid-v { height: auto; margin-top: 0px; gap: 50px}
	a.btn { margin: 0 auto}

	div.table { column-gap: 10px; margin-bottom: 40px}
	div.table  img { width: 100%; height: 100%; object-fit: cover; object-position: center center;}

	div.table { grid-template-columns: 1fr; row-gap: 20px}
	div.table .x3 { grid-column: span 1;}
	div.table .x2 { grid-column: span 1;}

	.js-accordion { margin-bottom: 50px}
	.ui-accordion-header { display: flex; gap: 10px; justify-content: center; align-items: center; padding-left: 0px; font-size: 18px; margin-bottom: 20px}
	.ui-accordion-header span { position: relative; width: 12px; height: 12px; }
	.ui-accordion-content  { padding: 0px 20px 30px;  }

	section.move-up { margin-top: 80px;}

	p.uc {text-transform: none;}

	div.slideshow  { width: 100%; margin-left: 0px;}
	div.slideshow .slick-slide { padding: 0px; }

	p.shift-down { padding-top: 0px;}

	form button[type="submit"], form button[type="button"] { font-weight: normal !important; letter-spacing: 2px !important;  font-size: 18px !important}

	div.gallery-filters { flex-direction: column; gap:0; justify-content: flex-start; align-items: flex-start; width: 100%; max-width: 100%; margin: 0 auto 50px 0; padding-bottom: 10px}
	div.gallery-filters a {font-size: 16px; letter-spacing: 1px; line-height: 24px; padding: 0 !important; border: 0 !important}
	div.gallery-filters a.active {font-weight: 500}

	div.gallery-list {--gap: 20px; --grid-h: 120px; grid-template-columns: 1fr; column-gap: 0; row-gap: var(--gap); }
	div.gallery-list2 {grid-template-columns: 1fr; }
	div.gallery-list > div { grid-row: span 1 !important; grid-column: 1 !important; width: 100%; height: 100% !important;}
	div.gallery-list > div img { height: auto; object-fit: initial; width: 100%; }

	div.popup-image {max-width: 100vw; max-height: 100vh; }
	div.popup-image > a.previmage { left: 10px; width: 30px; line-height: 30px; border-radius: 30px; background: rgba(0,0,0,0.5); text-align: center; font-size: 18px; margin-top: -15px;}
	div.popup-image > a.nextimage { right: 10px; width: 30px; line-height: 30px; border-radius: 30px; background: rgba(0,0,0,0.5); text-align: center; font-size: 18px; margin-top: -15px;}

	a.popup-download {bottom: 10px;    right: 10px;    font-size: 15px;    letter-spacing: 1px;    padding-bottom: 1px;}

}
