/*
Theme Name: Alpenblick
*/

/* roboto-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-v30-latin-300.eot'); /* IE9 Compat Modes */
  src: url('fonts/roboto-v30-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-300.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/roboto-v30-latin-500.eot'); /* IE9 Compat Modes */
  src: url('fonts/roboto-v30-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-500.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-v30-latin-700.eot'); /* IE9 Compat Modes */
  src: url('fonts/roboto-v30-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/roboto-v30-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/roboto-v30-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/roboto-v30-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}


@font-face {
	font-family: 'nexa_blackregular';
	src: url('fonts/fontfabric_-_nexablack-webfont.eot');
	src: url('fonts/fontfabric_-_nexablack-webfont.eot?#iefix') format('embedded-opentype'),
			 url('fonts/fontfabric_-_nexablack-webfont.woff2') format('woff2'),
			 url('fonts/fontfabric_-_nexablack-webfont.woff') format('woff'),
			 url('fonts/fontfabric_-_nexablack-webfont.ttf') format('truetype'),
			 url('fonts/fontfabric_-_nexablack-webfont.svg#nexa_blackregular') format('svg');
	font-weight: normal;
	font-style: normal;
}


@font-face {
	font-family: 'didot_etext_proitalic';
	src: url('fonts/didotetpro-italic-webfont.eot');
	src: url('fonts/didotetpro-italic-webfont.eot?#iefix') format('embedded-opentype'),
			 url('fonts/didotetpro-italic-webfont.woff2') format('woff2'),
			 url('fonts/didotetpro-italic-webfont.woff') format('woff'),
			 url('fonts/didotetpro-italic-webfont.ttf') format('truetype'),
			 url('fonts/didotetpro-italic-webfont.svg#didot_etext_proitalic') format('svg');
	font-weight: normal;
	font-style: normal;

}

@font-face {
	font-family: 'didot_etext_probold_italic';
	src: url('fonts/didotetpro-bolditalic-webfont.eot');
	src: url('fonts/didotetpro-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
			 url('fonts/didotetpro-bolditalic-webfont.woff2') format('woff2'),
			 url('fonts/didotetpro-bolditalic-webfont.woff') format('woff'),
			 url('fonts/didotetpro-bolditalic-webfont.ttf') format('truetype'),
			 url('fonts/didotetpro-bolditalic-webfont.svg#didot_etext_probold_italic') format('svg');
	font-weight: normal;
	font-style: normal;
}



:root {
  --clr-copy-primary: #000;
  --clr-copy-secondary: #000;

  --clr-headline-primary: #000;

  --clr-white: #fff;
  --clr-grey: #ccc;

  --clr-site-primary: #000;
  --clr-site-secondary: #000;
  --clr-site-accent: #ff0049;
  --clr-link: #000;

	--font-family-primary: 'Roboto', arial, verdana, sans-serif;
	--font-family-secondary: 'nexa_blackregular', Arial, serif;
	--font-family-italic: 'didot_etext_proitalic', Arial, serif;
	--font-family-bold-italic: 'didot_etext_probold_italic', Arial, serif;

  --bg-color-primary: #fff;
  --bg-color-secondary: #000;
	--bg-color-accent: #ff0049;
	--bg-color-accent-light: rgba(255, 0, 73, .95);

}

html, body, 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,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td 
{	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	vertical-align: baseline;	background: transparent;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block; margin: 0;}

html, body {display: block;}
html.no-touch:not(.no-nicescroll), html.no-touch:not(.no-nicescroll) body {overflow-y: hidden;}
html {font-size: 100%; font-size: 156.25%;}
body {-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */	font-smoothing: antialiased;	/*-webkit-text-size-adjust: 100%;	-ms-text-size-adjust: 100%;*/	text-rendering: optimizeSpeed;}
html.no-scrolling, html.no-scrolling body, body.no-scrolling {overflow: hidden;}

ol, ul {}
header ul, footer ul, .fixed-container ul {list-style-type: none;}
#main .wpb_text_column ul, #main .wpb_text_column ol, #main .wpb_raw_html ul, #main .wpb_raw_html ol {padding-left: 1rem;}
#main .wpb_text_column ul ul, #main .wpb_text_column ol ol, #main .wpb_raw_html ul ul, #main .wpb_raw_html ol ol {list-style-type: disc; padding-left: 2rem;}
#main .wpb_text_column ul li:not(:last-child), #main .wpb_text_column ol li:not(:last-child) {margin-bottom: .5rem;}
#main .wpb_raw_html ul li:not(:last-child), #main .wpb_raw_html ol li:not(:last-child) {margin-bottom: 1.5rem;}

* ,:before, :after {-webkit-box-sizing: border-box;-ms-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;box-sizing: border-box;}
b, strong {font-weight: 700;}

blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {	content: '';	content: none;}
address {font-style: normal;}

:focus-visible {}
:focus:not(:focus-visible) {outline: none;}

ins {	text-decoration: none;}
del {	text-decoration: line-through;}
table {	border-collapse: collapse;	border-spacing: 0;}
td {vertical-align: top;}

.align-center {text-align: center;}
.align-right {text-align: right;}
.align-left {text-align: left;}
img {max-width: 100%; /*width: auto;*/ height: auto; vertical-align: middle;}
video {max-width: 100%; height: auto; display: block;}

.map-container {position: relative; width: 100%; padding-bottom: 42%;}
#map {width: 100%; height: 100%; position: absolute; left: 0; top: 0;}
.contact-map img {max-width: 1000em;}

.alignleft {float: left; margin: 0 2em 2em 0;}
.alignright {float: right; margin: 0 0 2em 2em;}
.aligncenter {display: block;	margin-left: auto;	margin-right: auto;}
.wpb_single_image.vc_align_center {text-align: center;}
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix{display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix{height: 1%;}
.clearfix{display: block;}
/* End hide from IE-mac */ 
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0;}

body {font-family: var(--font-family-primary); color: var(--clr-copy-primary); margin: 0; padding: 0; font-size: 25px; font-size: 1rem; line-height: 1.5; font-weight: 300; font-style: normal; background: var(--bg-color-primary);}

a {color: var(--clr-link); text-decoration: none;}
a:hover {color: var(--clr-link);}

p {margin: 2rem 0;} small {font-size: .875rem;}
p, ul, ol {margin: 2rem 0; /*-webkit-hyphens: auto;-moz-hyphens: auto;	-ms-hyphens: auto;hyphens: auto;	word-wrap: break-word;*/}
p:first-child, ul:first-child, ol:first-child {margin-top: 0;}
h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p, h1 + ul, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul, h1 + ol, h2 + ol, h3 + ol, h4 + ol, h5 + ol, h6 + ol, h1 + blockquote, h2 + blockquote, h3 + blockquote, h4 + blockquote, h5 + blockquote, h6 + blockquote {margin-top: 0!important;}

h1,h2,h3,h4,h5,h6, blockquote {letter-spacing: normal; margin: 0 0 .23em; font-size: 2.4rem; font-size: clamp(30px, 1.823vw + 1rem, 2.4rem); line-height: 1; padding: 0; font-family: var(--font-family-secondary); position: relative; font-weight: normal; color: var(--clr-headline-primary);}
blockquote {}
blockquote p {margin: 0;}
h1, .h1 {font-size: 4.8rem; font-size: clamp(40px, 4.95vw + 1rem, 4.8rem);}
h2, .h2 {font-size: 4.8rem; font-size: clamp(40px, 4.95vw + 1rem, 4.8rem);}

.project-slider-slick h1, .project-slider-slick h2, .project-slider-slick h3, .project-slider-slick h4 {font-size: clamp(30px, 2.5vw, 1.92rem);}

/* predefined headline sizes */
.fs-hl-120 h1, .fs-hl-120 h2, .fs-hl-120 h3, .fs-hl-120 h4, .fs-hl-120 h5, .fs-hl-120 h6 {font-size: clamp(40px, 6.25vw, 4.8rem);}
.fs-hl-100 h1, .fs-hl-100 h2, .fs-hl-100 h3, .fs-hl-100 h4, .fs-hl-100 h5, .fs-hl-100 h6  {font-size: clamp(36px, 5.2vw, 4rem);}
.fs-hl-90 h1, .fs-hl-90 h2, .fs-hl-90 h3, .fs-hl-90 h4, .fs-hl-90 h5, .fs-hl-90 h6  {font-size: clamp(36px, 4.6875vw, 3.6rem);}
.fs-hl-80 h1, .fs-hl-80 h2, .fs-hl-80 h3, .fs-hl-80 h4, .fs-hl-80 h5, .fs-hl-80 h6  {font-size: clamp(35px, 4.16vw, 3.2rem);}
.fs-hl-70 h1, .fs-hl-70 h2, .fs-hl-70 h3, .fs-hl-70 h4, .fs-hl-70 h5, .fs-hl-70 h6  {font-size: clamp(33px, 3.65vw, 2.8rem);}
.fs-hl-60 h1, .fs-hl-60 h2, .fs-hl-60 h3, .fs-hl-60 h4, .fs-hl-60 h5, .fs-hl-60 h6  {font-size: clamp(30px, 3.125vw, 2.4rem);}
.fs-hl-40 h1, .fs-hl-40 h2, .fs-hl-40 h3, .fs-hl-40 h4, .fs-hl-40 h5, .fs-hl-40 h6  {font-size: clamp(24px, 2vw, 1.6rem);}




.vc_custom_heading {}
 
h1 i, h1 em, h2 i, h2 em, h3 i, h3 em, h4 i, h4 em, h5 i, h5 em, h6 i, h6 em {font-family: var(--font-family-italic); font-style: normal; line-height: 1.2; display: inline-block;}
h1 br + i, h1 br + em, h2 br + i, h2 br + em, h3 br + i, h3 br + em, h4 br + i, h4 br + em, h5 br + i, h5 br + em, h6 br + i, h6 br + em {font-size: 91.66%; padding-top: .4rem;}

sup {position: relative;top: -.5rem;font-size: 80%;}

.txt-upper h1, .txt-upper h2, .txt-upper h3, .txt-upper h4, .txt-upper h5, .txt-upper h6 {text-transform: uppercase;}
.txt-upper-normal h1, .txt-upper-normal h2, .txt-upper-normal h3, .txt-upper-normal h4, .txt-upper-normal h5, .txt-upper-normal h6 {text-transform: none;}

.hyphenate {-webkit-hyphens: auto; -moz-hyphens: auto;-ms-hyphens: auto;	hyphens: auto;	word-wrap: break-word; overflow: hidden;}

.wpb_wrapper h1:first-child, .wpb_wrapper h2:first-child, .wpb_wrapper h3:first-child, .wpb_wrapper h4:first-child, .wpb_wrapper h5:first-child, .wpb_wrapper h6:first-child {margin-top: 0;}
.wpb-content-wrapper > .vc_row.dark-section {background: var(--bg-color-secondary);}
.dark-section {color: var(--clr-white-80);}
.dark-section blockquote, .dark-section h1, .dark-section h1 a, .dark-section h2, .dark-section h2 a, .dark-section h3, .dark-section h3 a, .dark-section h4, .dark-section h4 a, .dark-section h5, .dark-section h5 a,.dark-section h6, .dark-section h6 a {color: var(--clr-white);}

.txt-white, .txt-white * {color: var(--clr-white);}
.clr-accent, .clr-accent * {color: var(--clr-site-secondary);}

.txt-copy-16 p, .txt-copy-16 ul, p.txt-copy-16, ul.txt-copy-16, .txt-copy-16 table {font-size: clamp(16px, .833vw, .8rem);}
.txt-copy-18 p, .txt-copy-18 ul, p.txt-copy-18, ul.txt-copy-18, .txt-copy-18 table {font-size: clamp(15px, .938vw, .9rem);}
.txt-copy-24 p, .txt-copy-24 ul, p.txt-copy-24, ul.txt-copy-24, .txt-copy-24 table {font-size: clamp(18px, 1.25vw, 1.2rem);}

.txt-copy-25 p, .txt-copy-25 ul, p.txt-copy-25, ul.txt-copy-25, .txt-copy-25 table {font-size: clamp(16px, 1.3vw, 1rem);}
.txt-copy-22 p, .txt-copy-22 ul, p.txt-copy-22, ul.txt-copy-22, .txt-copy-22 table {font-size: clamp(16px, 1.1458vw, .88rem);}
.txt-copy-20 p, .txt-copy-20 ul, p.txt-copy-20, ul.txt-copy-20, .txt-copy-20 table {font-size: clamp(16px, 1vw, .8rem);}
.txt-copy-30 p, .txt-copy-30 ul, p.txt-copy-30, ul.txt-copy-30, .txt-copy-30 table {font-size: clamp(18px, 1.56vw, 1.2rem); line-height: 1.5;}
.txt-copy-40 p, .txt-copy-40 ul, p.txt-copy-40, ul.txt-copy-40, .txt-copy-40 table {font-size: clamp(18px, 2vw, 1.6rem); line-height: 1.4;}
.txt-copy-50 p, .txt-copy-50 ul, p.txt-copy-50, ul.txt-copy-50, .txt-copy-50 table {font-size: clamp(20px, 2.6vw, 2rem); line-height: 1.4;}



.font-fa-roboto {font-family: var(--font-family-primary);}
.font-fa-nexa {font-family: var(--font-family-secondary);}
.font-fa-dido {font-family: var(--font-family-italic);}
.font-fa-dido-bold {font-family: var(--font-family-bold-italic);}

.op-flexbox {display: -webkit-box;  display: -moz-box;  display: -ms-flexbox;  display: -webkit-flex;  display: flex; position: relative;}
.op-flex-nowrap {-webkit-flex-wrap: nowrap;-ms-flex-wrap: nowrap;flex-wrap: nowrap;}
.op-flex-wrap {-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.op-flex-align-top {-webkit-align-items: flex-start;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;}
.op-flex-align-center {-webkit-align-items: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
.op-flex-align-bottom {-webkit-align-items: flex-end;-webkit-box-align: flex-end;-ms-flex-align: flex-end;align-items: flex-end;}
.op-flex-justify-space-between {-webkit-box-pack: justify;-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content: space-between;}
.op-flex-justify-center {-webkit-box-pack: center;-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;}
.op-flex-justify-right {-webkit-justify-content: flex-end;-ms-flex-pack: flex-end;justify-content: flex-end;}
.op-flex-direction-column {-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;height: 100%;}
.op-flex-direction-row-reverse {flex-direction: row-reverse;}
.op-flex-shrink-0 {-webkit-flex-shrink: 0;-ms-flex-negative: 0;flex-shrink: 0;}
.op-flex-grow-1 {-webkit-box-flex: 1;-webkit-flex-grow: 1;-ms-flex-positive: 1;flex-grow: 1;}

.op-grid {display: grid;}
.op-grid-col-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
.op-grid-col-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
.op-grid-col-4 {grid-template-columns: repeat(4, minmax(0, 1fr));}

.fa {vertical-align: middle;}
.abs-link {position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 10000; text-indent: -1000em;}

input[type="text"], input[type="email"], input[type="tel"], textarea, select, input[type="file"] { 
	-webkit-border-radius: 0; 
	width: 100%; 
	font-family: var(--font-family-primary); 
	background: var(--bg-color-primary);
	border: none; 
	color: var(--clr-copy-primary); 
	font-size: 1rem; 
	padding: .5rem .5rem .5rem .5rem; 
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
	transition: all .3s ease;
	box-shadow: none; border-radius: 0;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,   textarea:focus, .focused input[type="text"], .focused input[type="email"], .focused  textarea {outline: 0; box-shadow: inset 0 0 .5rem rgba(3, 13, 29, .5);}  

input[type="text"], input[type="email"], textarea {-webkit-appearance: none;}
select {padding-left: 1.4rem; height: 57px;}

textarea {height: 11.25rem; resize: none; display: block; line-height: 1.4; }
input[type="checkbox"], input[type="radio"] {}

::-webkit-input-placeholder {color: var(--clr-copy-primary-70)!important;}
::-moz-placeholder {color: var(--clr-copy-primary-70)!important; opacity: 1;}
:-moz-placeholder {color: var(--clr-copy-primary-70)!important; opacity: 1;}
:-ms-input-placeholder {color: var(--clr-copy-primary-70)!important;}

.ww {position: fixed; z-index: 1000000; left: 0; bottom: 0; background: #f00; padding: 5px; color: #fff; font-size: 12px;}
#loaderImage {will-change: transform; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: var(--bg-color-primary); z-index: 10000;}
.loaderEnd #loaderImage {transition: opacity .8s ease .2s; transform: none; opacity: 0;}
.topAnimsStart #loaderImage {visibility: hidden;}

.nicescroll-rails { z-index: 100000!important;}

#page {position: relative; z-index: 100;  width: 100%; overflow: hidden;}
html.no-nicescroll #page {overflow: hidden;}
.js #page {opacity: 0;}
.loaded #page {opacity: 1;}
.ie #page {opacity: 1;}
.valign-table {display: table; width: 100%;}
.valign-cell {display: table-cell; vertical-align: middle;}

.content-wrapper {margin: 0 auto; /* width: 88%;*/ position: relative; padding: 0 7.3%; padding: 0 6.58%;}

.no-wrap {white-space: nowrap;}
.word-wrap {word-wrap: break-word;}
.word-hyphens {-webkit-hyphens: auto;-moz-hyphens: auto;-ms-hyphens: auto;hyphens: auto;}
.overflow-visible {overflow: visible!important;}


/* header */
header#masthead {position: fixed; z-index: 100000; width: 100%; left: 0; top: 0; padding: 1.92rem 0; background: var(--bg-color-primary);  transition: padding .3s ease; border-bottom: solid 1px transparent;}
header#masthead .logo-container {width: 8.4rem; height: auto; transition: all .3s ease; flex-shrink: 0; position: relative; z-index: 40000;}
header#masthead .logo-container a {display: block;}
header#masthead .logo-container a svg {width: 100%; height: 100%; display: block; transition: all .3s ease; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
header#masthead .logo-container a svg path, header#masthead .logo-container a svg polygon {transition: all .3s ease; fill:var(--clr-site-primary); fill-opacity:1; fill-rule:nonzero; stroke:none;}
.menu-opened header#masthead .logo-container a svg path, 
.menu-opened header#masthead .logo-container a svg polygon {fill: var(--clr-white);}
header#masthead .content-wrapper {padding: 0 4.6875%;}
header#masthead.header-fixed {background: #fff; border-bottom-color: var(--clr-grey); padding: .5rem 0 0; }
.menu-opened header#masthead.header-fixed {border-bottom-color: transparent;}
header#masthead.header-fixed .logo-container {width: 3.68rem; margin-bottom: -.2rem;}
header#masthead.header-fixed .logo-container a svg {clip-path: polygon(0 0, 100% 0, 100% 80%, 0 80%);}

header#masthead .logo-container h2 {font-size: 1.08rem; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin: 0; white-space: nowrap; transition: all .3s ease; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
.menu-opened header#masthead .logo-container h2 {color: var(--clr-white);}
header#masthead.header-fixed .logo-container h2 {clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); opacity: 0;}
header#masthead .logo-container h2 em {font-family: var(--font-family-bold-italic);}
/* header end */

a.menu-toggle {width: 50px;	height: calc(72.38% - .8rem); position: absolute;	left: 133%;	top: 3.8%; transition: height .3s ease, width .3s ease;}
a.menu-toggle-3 {top: 15%;}
a.menu-toggle span {position: absolute; left: 0; width: 100%; height: 4px; background: var(--clr-copy-primary); transform: rotate(-22deg); transform-origin: right top; transition: all .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) 0s, background .3s ease 0s;}
.menu-opened a.menu-toggle span:not(.active) {background: var(--clr-white);}
a.menu-toggle span.line-1 {top: 0;}
a.menu-toggle span.line-2 {top: calc(33.33% - 2px);}
a.menu-toggle span.line-3 {top: calc(66.66% - 3px);}
a.menu-toggle span.line-4 {top: calc(100% - 4px);}

.menu_loading a.menu-toggle span {opacity: 0; margin-top: 1rem;}
.menu_loaded a.menu-toggle span {transition: all .6s cubic-bezier(0.260, 0.860, 0.440, 0.985); opacity: 1; margin-top: 0;}
.menu_loaded a.menu-toggle span.line-2 {transition-delay: .1s;}
.menu_loaded a.menu-toggle span.line-3 {transition-delay: .2s;}
.menu_loaded a.menu-toggle span.line-4 {transition-delay: .3s;}

header#masthead.header-fixed a.menu-toggle {height: calc(75% - 0.36rem);}
header#masthead.header-fixed a.menu-toggle:not(.opened) {width: 23px;}
header#masthead.header-fixed a.menu-toggle:not(.opened) span {height: 2px;}
header#masthead.header-fixed a.menu-toggle span.line-2 {top: calc(33.33% - 1px);}

.menu-opened a.menu-toggle span.line-1 {transition: all .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .5s, background .3s ease 0s;}
.menu-opened a.menu-toggle span.line-2 {transition: all .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .4s, background .3s ease 0s;}
.menu-opened a.menu-toggle span.line-3 {transition: all .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .3s, background .3s ease 0s;}
.menu-opened a.menu-toggle span.line-4 {transition: all .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .2s, background .3s ease 0s;}





/* main navi */
.main-navigation {margin: 0; }
.main-navigation a {display: block; color: var(--clr-white); font-family: var(--font-family-secondary); font-size: 4.8rem; font-size: clamp(10px, 19vh - 2rem , 4.8rem); line-height: 1.3;  position: relative; padding: 0 2rem; white-space: nowrap;
	transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .6s, opacity .8s ease .6s, color .3s ease; 
	opacity: 0;
	transform: translateY(50%);
}
.main-navigation a:hover {color: var(--clr-copy-primary);}
.main-navigation a:focus-visible {color: var(--clr-copy-primary);}

.menu-opened .main-navigation a {
	opacity: 1;
	transform: translateY(0);
}
.main-navigation li:nth-child(2) a {transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .7s, opacity .8s ease .7s, color .3s ease;}
.main-navigation li:nth-child(3) a {transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .8s, opacity .8s ease .8s, color .3s ease;}
.main-navigation li:nth-child(4) a {transition: transform .8s cubic-bezier(0.260, 0.860, 0.440, 0.985) .9s, opacity .8s ease .9s, color .3s ease;}

.main-navigation ul.nav-menu > li {position: relative; }
.main-navigation div > ul.nav-menu > li.current-menu-item > a, .main-navigation div > ul.nav-menu > li.current-menu-ancestor > a {color: var(--clr-headline-primary);}
/* main navi end */

#main {position: relative; z-index: 50; background: var(--bg-color-primary); padding: 10.76rem 0 0;}
#content {}
.entry-content {}

/* contact row */
.contact-form-container {padding-bottom: 0!important;}
.contact-form-container .wpb_wrapper {margin: 0 auto; max-width: 35.5rem;}
.wpcf7 form .wpcf7-response-output {margin: 3em auto 0;font-size: 16px;line-height: 1.4;padding: 1em;}
.wpcf7-form-control-wrap {position: static;}
.c-row {margin: 0 0 1rem; position: relative;}

.c-submit-holder {text-align: right; margin: 0 !important;}
.c-acceptance-holder {margin-bottom: 4em;}
.c-acceptance-holder label {font-size: .8rem; line-height: 1.5; display: block; position: relative;}
.c-acceptance-holder label a {text-decoration: underline;}
.c-acceptance-holder label input[type="checkbox"] {}
.c-acceptance-holder .wpcf7-list-item {margin: 0;}

span.wpcf7-not-valid-tip { color: #f00; font-size: 12px; position: absolute; top: 100%; line-height: 16px;}



.go-to-top {-webkit-transition: all 0.3s ease; transition: all 0.3s ease;  opacity: 0; visibility: hidden;  background: var(--clr-site-primary); color: #fff !important; width: 30px; height: 30px; text-align: center; line-height: 32px; -webkit-border-radius: 2px; border-radius: 2px; position: fixed; z-index: 8000; right: 15px; bottom: 15px;}
.go-to-top i {font-size: 20px; line-height: 30px; display: block;}
.go-to-top.activated {opacity: 1; visibility: visible;}


.fixed-container {
		position: fixed; z-index: 9000; width: 100%; height: 100%; left: 0; top: 0; 
		/*transition: all .8s ease; */
		transition: all .6s cubic-bezier(0.260, 0.860, 0.440, 0.985); 
		-moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); transform: translateY(-100%);
		visibility: hidden; 
}

	
.fixed-container-inner {width: 100%; height: 100%; position: relative; padding: 0; background: var(--bg-color-accent-light); /*-ms-touch-action: none; touch-action: none;*/}
.touch .fixed-container-inner {overflow: scroll; -webkit-overflow-scrolling: touch;}
.fixed-container-padding {width: 100%; position: relative; padding: 100px 0 10px 0; padding: 7.6rem 0 1rem; margin: 0 auto;}
.oldie .fixed-container {display: none; overflow: auto;}
.fixed-container.opened {visibility: visible; -webkit-transform: translateX(0%); -moz-transform: translateX(0%); -ms-transform: translateX(0%); -o-transform: translateX(0%); transform: translateX(0%);}
.menu-closing .fixed-container {-moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%);}
.oldie .fixed-container.opened {display: block;}

.mobile-only {display: none!important;}

/* footer */
footer.page-footer {background: var(--bg-color-primary); border-top: solid 1px var(--clr-grey); position: relative;z-index: 40; padding: 3.7rem 0 1.9rem; overflow: hidden; font-weight: 300; line-height: 1.72; font-size: .85rem;}
footer.page-footer .content-wrapper {}
footer.page-footer a, footer.page-footer a:hover {color: var(--clr-site-primary);}
footer.page-footer p {margin: 0 0 1.38rem;}
footer.page-footer ul {margin: 0; display: flex;}
footer.page-footer ul.footer-menu li span {padding: 0 .3rem;}
footer.page-footer ul.footer-menu li:last-child span {display: none;}
.footer-logo {margin: 0 0 1.6rem;}
.footer-logo img {margin: 0 auto;	display: block;	width: 13.6rem; max-width: 80%;}
.footer-logo + .op-flexbox > div {margin: 0 0 2rem;}

.footer-lines {width: 54px;	height: 4.96rem; position: relative;	margin: 0 0 2.4rem;}
.footer-lines span {position: absolute; left: 0; width: 100%; height: 4px; background: var(--bg-color-accent); transform: rotate(-23deg); transform-origin: right top;}
.footer-lines span.line-1 {top: 0;}
.footer-lines span.line-2 {top: calc(33.33% - 1px);}
.footer-lines span.line-3 {top: calc(66.66% - 2px);}
.footer-lines span.line-4 {top: calc(100% - 4px);}



@media screen and (min-width: 1921px) {
	.content-wrapper {max-width: calc(1640px + 14.6%);}
}

@media screen and (min-width: 768px) {


}


@media only screen and (max-width: 1680px) {
	html {font-size: 137.5%;} /* 22px */

	a.menu-toggle {height: 114px;}
	a.menu-toggle span.line-2 {top: calc(33.33% - 1px);	}
	header#masthead.header-fixed a.menu-toggle span.line-2 {top: calc(33.33% - 2px);}


}


@media only screen and (max-width: 1440px) {
	html {font-size: 131.25%;} /* 21px */

	a.menu-toggle {height: 108px;}
	a.menu-toggle span.line-3 {top: calc(66.66% - 2px);	}
	/* header#masthead.header-fixed a.menu-toggle {height: 67px;	} */
	header#masthead.header-fixed a.menu-toggle span.line-2 {top: calc(33.33% - 1px);}

}	

@media only screen and (max-width: 1280px) {

  html {font-size: 125%;} /* 20px */
	
	/* header#masthead.header-fixed .logo-container {width: 4.7rem;height: 4.7rem;	} */
	a.menu-toggle {height: 102px;	width: 52px;}
	a.menu-toggle-3 {top: 12%;}
	a.menu-toggle span.line-2 {top: calc(33.33% - 2px);	}
	a.menu-toggle span.line-3 {top: calc(66.66% - 3px);	}
	/* header#masthead.header-fixed a.menu-toggle {height: 61px;	} */
	a.menu-toggle span.line-3 {top: calc(66.66% - 2px);	}

}	


@media only screen and (max-width: 1024px) {
	
	html {font-size: 112.5%;} /* 18px */

	a.menu-toggle {height: 90px;width: 52px;	}
	a.menu-toggle span {height: 3px;}
	a.menu-toggle span.line-2 {top: calc(33.33% - 1px);	}
	a.menu-toggle span.line-4 {top: calc(100% - 3px);}
	header#masthead.header-fixed a.menu-toggle {height: 40px;	}

}


@media only screen and (max-width: 1024px) and (min-width: 600px) {

}	

@media only screen and (max-width: 900px) {

	
}


@media only screen and (max-width: 767px) {

	html {font-size: 100%;} /* 16px */

	body {
		-webkit-text-size-adjust: none;
	}
	
	ul, ol, p {
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
		word-wrap: break-word;
	}

	#main {padding: 9.79rem 0 0;}

	header#masthead .logo-container {width: 5.578125rem; height: 5.578125rem;}
	header#masthead.header-fixed .logo-container {width: 3.65625rem;height: 3.65625rem;	}
	header#masthead .logo-container h2 {font-size: 1rem;}

	a.menu-toggle {height: 50px;width: 40px;}
	header#masthead.header-fixed a.menu-toggle {height: 35px;	width: 34px;}


	.content-wrapper, header#masthead .content-wrapper, footer .content-wrapper {width: 100%;	padding: 0 20px;}
	
}


@media only screen and (max-width: 600px) {

	.main-navigation a {font-size: clamp(20px, 8.4vw + 1rem, 5rem); line-height: 1.5;	padding: 0 20px;}
	.menu-opened a.menu-toggle span.active {background: var(--clr-white);}

	.footer-logo + .op-flexbox {display: block;}
	.footer-logo + .op-flexbox > div:first-child {text-align: center;}

	header#masthead.header-fixed a.menu-toggle {width: 23px;}
}



@media only screen and (max-width: 479px) {
	body {hyphens: auto;	word-wrap: break-word;}
}




@-webkit-keyframes preloaderAnimation {
	0% {
	    -webkit-transform: rotate(0deg) scale(1) translate(0px);
	}
	100% {
	    -webkit-transform: rotate(360deg) scale(1) translate(0px);
	}
	
}

@-moz-keyframes preloaderAnimation {
	0% {
	    -moz-transform: rotate(0deg) scale(1) translate(0px);
	}
	100% {
	    -moz-transform: rotate(360deg) scale(1) translate(0px);
	}
}

@-o-keyframes preloaderAnimation {
	0% {
	    -o-transform: rotate(0deg) scale(1) translate(0px);
	}
	100% {
	    -o-transform: rotate(360deg) scale(1) translate(0px);
	}
}

@keyframes preloaderAnimation {
	0% {
	    transform: rotate(0deg) scale(1) translate(0px);
	}
	100% {
	    transform: rotate(360deg) scale(1) translate(0px);
	}
}