/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../layout/fonts/roboto-v30-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../layout/fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../layout/fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../layout/fonts/roboto-v30-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../layout/fonts/roboto-v30-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../layout/fonts/roboto-v30-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-900 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('../layout/fonts/roboto-v30-latin-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../layout/fonts/roboto-v30-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../layout/fonts/roboto-v30-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('../layout/fonts/roboto-v30-latin-900.woff') format('woff'), /* Modern Browsers */
       url('../layout/fonts/roboto-v30-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../layout/fonts/roboto-v30-latin-900.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* eb-garamond-regular - latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  src: url('../layout/fonts/eb-garamond-v26-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../layout/fonts/eb-garamond-v26-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../layout/fonts/eb-garamond-v26-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../layout/fonts/eb-garamond-v26-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../layout/fonts/eb-garamond-v26-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../layout/fonts/eb-garamond-v26-latin-regular.svg#EBGaramond') format('svg'); /* Legacy iOS */
}

/* --- */
/* general */

*{
padding:0;
margin:0;
font-family:inherit;
font-weight:inherit;
font-style:inherit;
font-size:inherit;
text-decoration:inherit;
color:inherit;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}

form{
display:block;
}

fieldset{
display:block;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
margin-bottom:1rem;
border:none;
}

label{
display:block;
}

label>span{
display:block;
}

label>span::after{
content:'\d7';
display:inline-block;
vertical-align:super;
color:rgb(255,255,255);
color:rgba(255,255,255,0);
}

label.mandatory>span{
display:inline;
}

label.mandatory>span::after{
color:inherit;
}

input,
button{
display:block;
width:100%;
padding:.1111rem .3333rem;
margin-bottom:.2222rem;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
transition:background-color .3s,color .3s,box-shadow .3s;
background-color:rgba(0,0,0,.05);
border-radius:0;
outline:none;
border:.0555rem solid transparent;
}

span.submit,
a.button{
display:block;
width:100%;
padding:.1111rem .4444rem .2222rem;
margin-bottom:.2222rem;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
transition:background-color .3s,color .3s,box-shadow .3s;
background-color:rgba(0,0,0,.05);
border-radius:0;
outline:none;
border:.0555rem solid transparent;
}

button.continue,
a.button.continue{
background-color:rgb(184,184,184);
text-shadow:0 .0555rem .0555rem rgba(0,0,0,.25);
float:right;
text-align:right;
max-width:47.5%;
}

button.continue::after,
a.button.continue::after{
content:'>';
margin-left:.5rem;
}

button.cancel,
a.button.cancel{
float:left;
max-width:47.5%;
}

button.cancel::before,
a.button.cancel::before{
content:'<';
margin-right:.5rem;
}

select{
display:block;
width:100%;
margin-bottom:.2222rem;
transition:background-color .3s,color .3s,box-shadow .3s;
background-color:rgba(0,0,0,.05);
border-radius:0;
outline:none;
border:.0555rem solid transparent;
}

select>option{
display:block;
min-width:100%;
padding:.1rem .3rem;
border-radius:0;
outline:none;
}

input[type=submit],
input[type=reset],
a.button,
button,
span.submit{
cursor:pointer;
}

input::-moz-focus-inner,
select::-moz-focus-inner,
select>option::-moz-focus-inner,
button::-moz-focus-inner{
border:0;
padding:0;
}

input:hover,
select:hover,
a.button:hover,
button:hover{
box-shadow:.0555rem .1111rem .1666rem rgba(0,0,0,.5);
}

input:focus,
select:focus,
a.button:focus,
button:focus{
box-shadow:.0555rem .1111rem .1666rem rgba(0,0,0,.5);
background-color:rgba(0,0,0,.025);
}

textarea{
display:block;
width:100%;
min-height:10rem;
margin-bottom:.2222rem;
resize:vertical;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;
transition:background-color .3s,color .3s,box-shadow .3s;
background-color:rgba(0,0,0,.05);
border-radius:0;
outline:none;
border:.0555rem solid transparent;
}

textarea::-moz-focus-inner{
border:0;
padding:0;
}

textarea:hover{
box-shadow:.0555rem .1111rem .1666rem rgba(0,0,0,.5);
}

textarea:focus{
box-shadow:.0555rem .1111rem .1666rem rgba(0,0,0,.5);
background-color:rgba(0,0,0,.025);
}

input[type=checkbox]{
-webkit-appearance:checkbox;
-moz-appearance:checkbox;
appearance:checkbox;
width:auto;
float:left;
min-height:100%;
margin-right:1rem;
margin-bottom:0;
display:block;
float:left;
}

input[type=checkbox]~span{
display:block;
margin-bottom:.8888rem;
margin-left:2rem;
}

input[type=submit],
button[type=submit],
span.submit{
width:auto;
padding:.1111rem .5555rem .2222rem;
cursor:pointer;
text-shadow:0 .0555rem .0555rem rgba(0,0,0,.25);
transition:background-color .3s,,box-shadow .3s;
float:right;
}

input[type=reset],
button[type=reset]{
width:auto;
}

input[type=hidden]{
display:none;
}

label.error>input,
label.error>select,
label.error>textarea,
label.error>button{
border-color:rgb(152,11,0);
}

h1{
font-size:1.5rem;
font-family:'Roboto',sans-serif;
margin-bottom:1.5rem;
text-transform:uppercase;
}

h2{
font-size:1.35rem;
font-family:'Roboto',sans-serif;
margin-bottom:1.5rem;
text-transform:uppercase;
}

h3{
font-size:1.15rem;
font-family:'Roboto',sans-serif;
margin-bottom:1.5rem;
text-transform:uppercase;
}

p{
margin-bottom:1.5rem;
}

/* --- */
/* grid */

html{
height:100%;
font-size:14px;
line-height:1.5;
font-family:'Roboto',sans-serif;
color:rgb(95,95,95);
background-color:rgb(235,235,235);
scroll-behavior:smooth;
overflow-y:scroll;
}

@media (max-width:1020px) and (min-width:500.1px){ html{ font-size:calc(10px + (100vw - 500px) / (1000 - 500) * (14 - 10)); } }
@media (max-width:500px){ html{ font-size:10px; } }

body{
display:flex;
flex-flow:column nowrap;
justify-content:space-between;
width:1000px;
min-height:100%;
margin:0 auto;
background-color:rgb(255,255,255);
}

@media (max-width:1020px){ body{ width:100%; } }

body>header{
display:none;
}

body>main{
display:block;
position:relative;
}

body>footer{
display:flex;
padding:2rem 0;
flex-flow:row wrap;
justify-content:flex-end;
align-items:flex-end;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
}

/* --- */
/* content header */

body>main>header{
display:block;
width:100%;
height:21rem;
position:relative;
overflow:hidden;
}

body>main>header>ul{
display:block;
width:100%;
height:100%;
}

body>main>header>ul>li{
display:block;
list-style:none;
width:100%;
height:100%;
background:center / cover no-repeat;
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
z-index:10;
opacity:0;
transition:opacity 0s 2s;
}

body>main>header>ul>li.active{
opacity:1;
z-index:11;
transition:opacity 2s;
}

body>main>header>section{
display:block;
}

/* --- */
/* content */

body>main>div{
display:block;
padding:1.5rem;
}

body>main>div>hr{
display:block;
visibility:hidden;
}

body>main>div>form{
display:block;
width:100%;
}

body>main>div>article.text{
display:block;
width:100%;
margin:0 auto;
}

body>main>div>article.text a{
text-decoration:underline;
}

body>main>div>article.text a:hover,
body>main>div>article.text a:focus{
text-decoration:none;
}

/* --- */
/* main.keywords */

body.keywords>main>div{
display:flex;
flex-flow:row nowrap;
justify-content:space-between;
align-items:flex-start;
align-items:baseline;
font-size:1.15rem;
}

body.keywords>main>div>article.text{
display:block;
flex-grow:1;
width:auto;
-webkit-user-select:none;
-moz-user-select:none;
user-select:none;
1position:relative;
}

body.keywords>main>div>article.text[tabindex]:hover,
body.keywords>main>div>article.text[tabindex]:focus{
color:rgb(228,30,61);
}

body.keywords>main>div>article.text.link{
border-left:.2rem solid rgb(228,30,61);
padding-left:.4rem;
}

body.keywords>main>div>article.text.link a{
text-decoration:none;
transition:color .5s;
}

body.keywords>main>div>article.text.link a:hover,
body.keywords>main>div>article.text.link a:focus{
color:rgb(228,30,61);
}

body.keywords>main>div>article.text:first-of-type{
color:rgb(228,30,61);
text-transform:uppercase;
font-size:1.35rem;
}

body.keywords>main>div>article.text:not(:last-of-type){
padding-right:.5em;
}

body.keywords>main>div>article.text p{
margin-bottom:0;
}

body.keywords>main>div>article.text>div{
}

body.keywords>main>div>article.text>div>*{
display:none;
}

body.keywords>main>div>article.text>div>section{
display:block;
position:absolute;
z-index:110;
color:rgb(95,95,95);
background:rgb(255,255,255);
width:22rem;
opacity:0;
visibility:hidden;
transition:opacity .5s,visibility .5s;
font-size:.9rem;
padding:1rem;
margin-left:-1rem;
}

body.keywords>main>div>article.text:hover>div>section{
z-index:112;
visibility:visible;
opacity:1;
}

body.keywords>main>div>article.text:focus>div>section{
z-index:111;
visibility:visible;
opacity:1;
}

body.keywords>main>div>article.text:hover>div>section.empty,
body.keywords>main>div>article.text:focus>div>section.empty{
z-index:110;
visibility:hidden;
opacity:0;
}

body.keywords>main>div>article.text>div>section>ul{
display:block;
}

body.keywords>main>div>article.text>div>section>ul>li{
display:block;
list-style:none;
margin-bottom:.5rem;
}

body>main>div.galerie{
display:block;
position:relative;
height:15rem;
}

body>main>div.galerie>figure{
display:block;
position:absolute;
z-index:100;
top:-1rem;
right:2rem;
left:2rem;
opacity:0;
visibility:hidden;
transition:opacity .5s,visibility .5s;
overflow:hidden;
}

body>main>div.galerie>figure>i{
opacity:.5;
transition:opacity .5s;
cursor:pointer;
}

body>main>div.galerie>figure>i.active{
opacity:1;
}

body>main>div.galerie>figure.faded{
z-index:103;
visibility:visible;
opacity:.5;
}

body>main>div.galerie>figure.show{
z-index:102;
visibility:visible;
opacity:1;
}

body>main>div.galerie>figure>ul{
display:flex;
flex-flow:row nowrap;
width:10000%;
transition:transform .5s;
}

body>main>div.galerie>figure>ul>li{
display:block;
list-style:none;
margin-right:1rem;
position:relative;
}

body>main>div.galerie>figure>ul>li[data-pan-destination]{
cursor:pointer;
}

/* --- */
/* footer */

body>footer>h1{
display:block;
flex:0 0 22%;
padding:.5rem 1rem;
margin-bottom:0;
}

body>footer>h1>a{
display:block;
outline:none;
position:relative;
z-index:60;
width:75%;
margin:0 auto;
padding:.5rem;
border:.2rem solid transparent;
}

body>footer>h1>a>img{
display:block;
width:100%;
}

body>footer>nav{
display:block;
flex:0 0 39%;
padding:.5rem 1rem;
line-height:.9rem;
font-size:.9rem;
text-transform:uppercase;
}

body>footer>nav>ul{
display:flex;
flex-flow:row wrap;
}

body>footer>nav>ul>li{
display:block;
list-style:none;
}

body>footer>nav>ul>li>a{
display:block;
outline:none;
padding:.5rem;
transition:color .5s;
border:.2rem solid transparent;
}

body>footer>nav>ul>li>a:hover,
body>footer>nav>ul>li>a:focus{
color:rgb(228,30,61);
}

body>footer>nav>ul>li.active>a,
body>footer>nav>ul>li.subactive>a{
color:rgb(228,30,61);
border-color:rgb(228,30,61);
}

body>footer>ul.contact{
display:flex;
flex-flow:row wrap;
flex:0 0 100%;
justify-content:center;
text-transform:uppercase;
font-size:.9rem;
}

body>footer>ul.contact>li{
display:block;
list-style:none;
padding:.5rem;
}

body>footer>ul.contact>li.branding{
color:rgb(220,220,220);
}

body>footer>ul.contact>li>span{
display:inline-block;
}

body>footer>ul.contact>li>a{
outline:none;
text-decoration:none;
}

body>footer>ul.contact>li>a:hover,
body>footer>ul.contact>li>a:focus{
text-decoration:underline;
}

/* --- */
/* pan */

body>div.pan{
display:flex;
justify-content:center;
align-items:center;
position:fixed;
top:0;
right:0;
bottom:0;
left:0;
background-color:rgba(255,255,255,.25);
z-index:200;
opacity:0;
visibility:hidden;
transition:opacity .5s,visible .5s;
}

body>div.pan.active{
z-index:201;
opacity:1;
visibility:visible;
}

body>div.pan>div{
display:block;
background-color:rgb(255,255,255);
max-width:80vw;
max-height:80vh;
position:relative;
padding:1rem;
box-shadow:2.5rem rgba(0,0,0,.25);
transform:scale(.9);
}

body>div.pan.active>div{
transform:none;
}

body>div.pan>div>figure{
display:block;
width:70vw;
height:70vh;
background:no-repeat center / contain rgb(220,220,220);
}

body>div.pan>div>aside{
display:block;
margin-top:1rem;
}

body>div.pan>div>aside:empty{
display:none;
}

body>div.pan>div>nav{
display:block;
}

body>div.pan>div>nav>i.previous{
display:block;
position:absolute;
top:0;
bottom:0;
left:1.5rem;
margin:auto 0;
opacity:.5;
height:3rem;
line-height:3rem;
font-size:3rem;
cursor:pointer;
}

body>div.pan>div>nav>i.previous.active{
opacity:1;
}

body>div.pan>div>nav>i.next{
display:block;
position:absolute;
top:0;
right:1.5rem;
bottom:0;
margin:auto 0;
opacity:.5;
height:3rem;
line-height:3rem;
font-size:3rem;
cursor:pointer;
}

body>div.pan>div>nav>i.next.active{
opacity:1;
}

body>div.pan>div>nav>i.quit{
display:block;
position:absolute;
top:-1rem;
right:1.5rem;
opacity:1;
height:3rem;
line-height:3rem;
font-size:3rem;
cursor:pointer;
}

/* --- */
/* cookie notice */

body>aside.cookie-notice{
display:block;
position:sticky;
bottom:0;
box-shadow:.2rem .2rem .4rem rgba(0,0,0,.5);
background-color:rgba(255,255,255,.8);
z-index:10000;
}

body>aside.cookie-notice>section{
display:block;
padding:.75rem 1rem;
margin:0 auto;
max-width:65rem;
}

body>aside.cookie-notice>section>p{
display:inline-block;
}

body>aside.cookie-notice>section>a{
display:inline-block;
cursor:pointer;
color:rgb(0,0,0);
background-color:rgb(255,255,255);
padding:.25rem .5rem;
text-transform:uppercase;
border:.2rem solid rgb(228,30,61);
}