/*

michaelstrasser.net Master Styles
Author: roaddsgn.com, Mario Pruner
Version: 7

*/

/* reset styles */

/* http://meyerweb.com/eric/tools/css/reset/v2.0 | 20110126 */

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, 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,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
	}
body {
	line-height: 1;
	}
ol, ul {
	list-style: none;
	}
blockquote, q {
	quotes: none;
	}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
	}
table {
	border-collapse: collapse;
	border-spacing: 0;
	}


/* base styles */

html {
	height: 100%;
	box-sizing: border-box;
	}

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

body {
	height: 100%;
	font-family: 'aktiv-grotesk-std', sans-serif; 
	font-size: 100%;
	font-weight: 400;
	letter-spacing: .012em;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: rgb(43, 38, 30);
	background: #fdfdfd;
	}
a {
	text-decoration: none;
	outline: none;
	color: rgb(43, 38, 30);
/* 	border-bottom: 2px solid rgb(0, 0, 0); */
text-decoration: underline;
/* padding-bottom: -.02em; */
	-webkit-transition: all .2s ease;
	   -moz-transition: all .2s ease;
		 -o-transition: all .2s ease;
			transition: all .2s ease;
	}
a:hover, a:focus {
	color: rgb(43, 38, 30);
	}
@media (hover: hover) { /* only apply styles on devices with hover capability */
	  a:hover {
		  font-style: italic;
	  }
  }

b, strong {
	font-family: 'aktiv-grotesk-std', sans-serif; 
	font-weight: 700;
	}
i, em {
	font-family: 'aktiv-grotesk-std', sans-serif; 
	font-weight: 400;
font-style: italic;
	}
cite {
	font-family: 'aktiv-grotesk-std', sans-serif; 
	font-weight: normal;
	}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	}
sup {
	top: -0.5em;
	}
sub {
	bottom: -0.25em;
	}

.noScroll {
	overflow: hidden;
	}

/* page structure */

aside[role="complementary"] {
/*
	position: absolute;
	top: 0;
	left: 0;
*/
	width: 100%;
height: 100%;
	background: transparent;
z-index: 20;
	}
.page aside[role="complementary"] {
height: auto;
	}
	
header[role="banner"] {
position: fixed;
left: 0;
top: 0;
	margin: 0 auto;
	width: auto;
	padding: 4.5em 5.5em;
}

#container {
	margin: 0 auto;
	padding: 0;
	min-height: 100%; /* Sticky Footer */
	display: -webkit-flex;
	display: flex; /* Sticky Footer */
	-webkit-flex-direction: column;
			flex-direction: column; /* Sticky Footer */
	}


/* main nav */

nav[role="navigation"] {
/*
position: absolute;
bottom: 0;
right: 0;
*/
	font-size: 2em;
	text-transform: uppercase;
	max-width: 100%;
	width: 100%;
	padding: 0;
	}
.page nav[role="navigation"] {
position: relative;
	}



nav[role="navigation"] ul li {
	padding: 0;
	height: auto;
	width: 100%;
	}
nav[role="navigation"] ul li a {
	color: rgb(43, 38, 30);
	display: block;
	width: 100%;
	padding: 2.444em 2.875em 2.444em 1em; /* 5.75em */
	text-decoration: none;
	border: 0;
	-webkit-transition: all .2s linear;
	   -moz-transition: all .2s linear;
		 -o-transition: all .2s linear;
			transition: all .2s linear;
	}
/*
nav[role="navigation"] ul li a:hover,
nav[role="navigation"] ul li a:focus,
nav[role="navigation"] ul li.current a {
font-style: italic;
*/
/* 	color: #fff; */
/*
	color: rgb(43, 38, 30);
	text-decoration: underline;
*/
/* opacity: .75; */
/* 	} */

nav[role="navigation"] ul.primary-nav {
position: absolute;
bottom: 0;
right: 0;
	margin: 0;
	padding: 0;
	height: 6em;
/* background: green; */
	}
.page nav[role="navigation"] ul.primary-nav {
position: fixed;
top: 0;
right: 0;
	margin: 0;
	padding: 0;
	height: 6em;
	}


#primary-nav {
/*
  position: -webkit-sticky;
  position: sticky;
  top: 0;
*/
position: absolute;
bottom: 0;
right: 0;
  	margin: 0;
	padding: 0;
	height: 6em;
z-index: 300;
	}

.sticky {
  position: fixed !important;
  top: 0;
	height: 4.4em;
}


nav[role="navigation"] ul.secondary-nav {
position: absolute;
bottom: 0;
right: 0;
	margin: 0 6.75em 0 0;
	padding: 0;
	height: 6em;
/* background: yellow; */
	}
nav[role="navigation"] ul.secondary-nav li a {
	padding-right: 1em;
	}

#main {
	-webkit-flex: 1 0 auto;
    		flex: 1 0 auto; /* Sticky Footer */
	}
_:-ms-input-placeholder, :root #main {  /* IE */
    height: 100%; /* IE flexbox */
	}

section {
	width: auto;
	}
section#intro + section {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}


.content {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	}
/*
.content-full {
	padding: 70px 0;
	}
*/

/* grid ---- 8 columns: 100% / 8 = 12.5% */

.col {
/* 	max-width: 100%; */
	padding: 0;
/* background: lightblue; */
	}

/*
.col-xxs {
	width: 25% !important;
	}
.col-xs {
	width: 37.5% !important;
	}
.col-s {
	width: 50% !important;
	}
.col-m {
	width: 62.5% !important;
	}
.col-l {
	width: 75% !important;
	}
*/



/* headings */

h1 {
	font-size: 4.5em;
	line-height: 1.2;
	padding: 0 0 1em;
	}
h2 {
	font-size: 2em;
	line-height: 1.2;
/* 	text-transform: uppercase; */
	padding: 1em 0 1em;
	}
h3 {
	font-size: 2em;
	line-height: 1.2;
	padding: 1em 0 1em;
	}
h4 {
	font-size: 2em;
	font-weight: normal;
	line-height: 1.2;
	padding: 0;
	}
header[role="banner"] h1 {
	font-size: 4.5em;
line-height: 1;
text-transform: uppercase;
	}
h1 a {
/* 	border-bottom: none; */
text-decoration: none;
	}
	
/* article */

article img, 
table img,
article embed, 
article object, 
article video,
article iframe {
width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0;
	padding: 0;
	}
article p,
article dl {
	font-size: 2em;
	line-height: 1.2;
	margin: 0 0 1em 0;
	}
	
article p.small {
	font-size: 1.25em;
	line-height: 1.4;
letter-spacing: -.02em;
	margin: 0 0 1em 0;
	text-indent: 0;
	}

article ul {
	font-size: 2em;
	line-height: 1.2;
	margin: 0 0 1em 0;
	padding: 0;
    }
article ul li {
	margin: 0;    
	}

.text { 
	margin: 15.5em 5.75em 4.5em;    
	max-width: 62.5%;
	}

.media { 
	margin: 0;
	width: 100%;
/* 	max-width: 800px; */
	overflow: hidden;
	}
.media-video-wrap { 
	margin: 0;
width: 100%; /* for flex */
	}
.media-video { 
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    background: #303030;
	}
.media-video iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
   	}

article figure {
position: relative;
margin: 0;
padding: 0;
	width: auto;
/*
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
*/
	}
article figcaption {
position: absolute;
bottom: 0;
left: 0;

	width: auto;
	margin: 5.75em;
/* 	max-width: 62.5%; */
/* background: red; */
  	}
article figcaption a {
	text-decoration: none;
	}
article figcaption p {
	margin: 0 0 1em 0;
	font-size: 2em;
	font-style: normal;
	line-height: 1.3;
	}
article figcaption p:last-of-type {
	margin-bottom: 0;
	}
article figcaption p.light {
/* color: #cddfe1; */
color: #ccc;
	}




.cover {
position: absolute;
top: 0;
left: 0;


width: 100%;
max-width: 100%;
height: 100%;

	margin: 0;
	padding: 0;
	overflow: hidden;
/* background: green; */
/*
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
			align-items: flex-end;
*/
	}
article .cover img, 
table .cover img,
article .cover embed, 
article .cover object, 
article .cover video,
article .cover iframe {
	margin: 0;
	}



#intro article figure {	
	position: relative;
	margin: 0;
	padding: 0;
width: 100vw;
height: 100vh;
	}
#intro article figure img,
#intro article figure video {	
object-fit: cover;
width: 100vw;
max-width: 100%;
height: 100%;
	}	
#intro article figcaption {
	display: none;
	}

/* accordion */

.accordion-item {
	margin: -1.35em 0 0;
	}	
.accordion-item + .accordion-item {
	border-top: 1px solid #000;
	}
.accordion {
	cursor: pointer;
	position: relative;
	margin: 0;
	padding: 0 0 20px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	background: transparent;
	transition: 0.4s;
	font-family: 'aktiv-grotesk-std', sans-serif; 
	font-size: 1.25em;
	line-height: 1.4;
	font-weight: 400;
letter-spacing: -.02em;
	color: rgb(43, 38, 30);
	text-decoration: underline;
	}
/*
.accordion span {
	max-width: 95%;
	display: inline-block;
	}
*/
/*
.active, .accordion:hover {
color: red;
	}
*/
@media (hover: hover) { /* only apply styles on devices with hover capability */
	  .accordion:hover {
		  font-style: italic;
	  }
  }
/*
.accordion:after {
	position: absolute;
	top: -.325em;
	right: 10px;
	font-family: 'Crimson Pro', serif;
	font-size: 2em;
	line-height: 1;
	font-weight: 200;
	content: '\002B';
	color: red;
	}
.active:after {
	content: "\2212";
	}
*/
.panel {
	padding: 5em 0 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	}
.text-small h1,
.text-small h2,
.text-small h3,
.text-small p,
.text-small ul,
.text-small ol {
	font-size: 1.25em;
	line-height: 1.4;
letter-spacing: -.02em;
	}
.text-small ul p,
.text-small ol p,
.text-small ul ul {
	font-size: 1em;
	margin: 0;
	}
.text-small h1,
.text-small h2,
.text-small h3 {
text-transform: uppercase;
/* font-style: italic;  */
padding-top: 1em;
/* padding-bottom: 0; */
	}
.text-small h1 {
padding: 4em 0 0;
padding-bottom: 1em;
	}
.text-small strong {
	font-weight: 400;
	}


/* misc. */

hr, .hide {
	display: none;
	}
a img {
	border: none;
	}
.hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	}
.clear {
	clear: both;
	}
	
/* self-clear floats */
	
.group:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	}


/* Kirby CMS kirby3-cookie-banner */

body .cookie-modal {
    background-color: rgba(0,0,0,.7);
}
body .cookie-modal__content {
	position: absolute;
	left: 0;
	bottom: 0;
    margin: 0;
    padding: 40px;
    border: 0;
    background-color: #fdfdfd;
    box-shadow: none;
    margin: 5em 5.5em;
    max-width: 500px;
	color: rgb(43, 38, 30);
}
body .cookie-modal__title {
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 10px;
    margin-top: 0;
}
body .cookie-modal__text {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 20px;
}
body .cookie-modal__text,
body .cookie-modal__label,
.cookie-modal__buttons {
    font-size: 1rem;
}
body .cookie-modal__button {
    border: 2px solid rgb(43, 38, 30);
    color: rgb(43, 38, 30);
    margin-right: 10px;
    padding: 10px 25px 12px;
}
body .cookie-modal__button.primary {
    background-color: rgb(43, 38, 30);
    color: #fdfdfd;
}


/* media queries */

/*
@media (max-device-width: 1200px) { 

		}
*/

/*
@media (min-width: 2500px) {

	.content {
		max-width: 85%;
		}

	
		}
*/

@media (max-width: 1550px) {

	body {
		font-size: 85%;
		}

header[role="banner"] {
	padding: 3em 3.5em;
	}

	/* main nav */

nav[role="navigation"] ul li a {
	padding: 1.7em 1.824em 1.7em 1.5em;
	}
nav[role="navigation"] ul.primary-nav,
.page nav[role="navigation"] ul.primary-nav,
nav[role="navigation"] ul.secondary-nav,
#primary-nav,
.sticky {
	height: 4.5em;
	}
nav[role="navigation"] ul.secondary-nav {
	margin: 0 6em 0 0;
	}
nav[role="navigation"] ul.secondary-nav li a {
	padding-right: 1.5em;
	}


	/* article */

article img, 
table img,
article embed, 
article object, 
article video,
article iframe,
.media-video-wrap {
	width: 100% !important;
	margin: 0;
	}

.text { 
	margin: 18em 3.65em 3em;    
	max-width: 100%;
	}

article figure {
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
/* background: green; */
	}

article figcaption {
	margin: 3.65em;
/* background: orange; */
/* max-width: 100%; */
  	}


/* Kirby CMS kirby3-cookie-banner */

body .cookie-modal__content {
    padding: 30px;
    margin: 3em 3.5em;
}


		}


@media (max-width: 1150px) {

	header[role="banner"] h1 {
		word-spacing: 100vh;
		}

		}


@media (max-width: 850px) {

	body {
		font-size: 65%;
		}
	
	}


@media (max-width: 450px) {

	body {
		font-size: 55%;
		}

	}

@media (max-width: 380px) {

	body {
		font-size: 45%;
		}

	}
