@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-mediumitalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Asap';
    src: url('../fonts/asap-bolditalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}


@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-mediumitalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-semibolditalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Asap Condensed';
    src: url('../fonts/asap-cond-bolditalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}


@font-face {
font-family: 'Icomoon';
src: url('../fonts/icomoon1.woff') format('woff');
font-weight: normal;
font-style: normal;
}

[class*="icon"],
.current a:before,
.current a:after,
#contact a:before {
font-family: 'Icomoon' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
}


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

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


body {
min-height: 100%;
margin: 0;
padding: 0;
font: 16px/normal "Asap", sans-serif;
color: #000;
background-color: #222;
}

a {
text-decoration: none;
outline: none;
color: #000;
}
a:hover,
.popup_content a:hover {
color: #666;
}


.wrapper {
min-height: 100vh;
display: grid;
grid-template-columns: 7.5fr 2.5fr;
grid-row: 1;
gap: 0;
}

main {
padding: 0 30px;
color: #B0B0B0;
background-color: #000;
}
aside {
min-height: 100%;
padding: 0 50px;
background-color: #fff;
display: grid;
grid-template-rows: 1fr auto;
text-transform: uppercase;
}

header {
display: flex;
align-items: center;
padding: 30px 0;
/*border-bottom: 1px solid #222;*/
}
.chapter_title h1 {
flex: 1 1 auto;
}

#navmainswitch {
flex: 0;
}

footer {
grid-row-start: 2;
grid-row-end: 3;
padding: 60px 0 35px;
font-size: 13px;
}
.mobile_footer {
display: none;
padding: 10px 30px 60px;
font-size: 13px;
text-align: center;
text-transform: uppercase;
}
.mobile_footer span {
font-weight: 600;
}


.wrapper.slide  {
grid-template-columns: auto 0;
}
#navblock.slide  {
display: none;
}
#site-small {
display: none;
flex: 1 1 auto;
font-family: "Asap Condensed";
font-size: 25px;
font-weight: 400;
line-height: 70px;
text-transform: uppercase;
text-align: right;
color: #fff;
}
#site-small span {
color: #B0B0B0;
padding-right: 10px;
}
.wrapper.slide #site-small {
display: block;
}



.content {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}

.content .item {
display: grid;
grid-template-rows: 1fr auto;
margin: 0;
color: #B0B0B0;
background-color: #000;
border: 1px solid #333;
}
.content .item.two_rows {
grid-row: span 2;
}
.content .item.two_cols {
grid-column: span 2;
}
.content .item.three_cols {
grid-column: span 3;
}
.dense_row {
grid-auto-flow: row dense;
}

.content img {
display: block;
margin: 0 auto;
max-width: 100%;
max-height: 600px;
}
.content .item .caption {
padding: 30px 15px 15px;
text-align: center;
}
.content .item:hover .caption {
color: #fff;
}


.chapter_title h1 {
margin: 0;
padding: 6px 40px 0 0;
font-family: "Asap Condensed";
font-size: 28px;
line-height: 1;
font-weight: 400;
text-transform: uppercase;
word-spacing: .175em;
}

a#navmainswitch {
/*height: 70px;*/
padding: 0  0 4px 40px;
font-size: 30px;
line-height: 1;
color: #B0B0B0;
}
a#navmainswitch:hover {
color: #fff;
}
a#navmainswitch:before {
display: inline-block;
content: "\e98c";
font-size: 24px;
vertical-align: middle;
}
a#navmainswitch.close:before {
content: "\e98b";
font-size: 24px;
}
a#navmainswitch2 {
display: none;
height: 70px;
float: right;
font-size: 36px;
line-height: 60px;
color: #000;
}
a#navmainswitch2:hover {
color: red;
}
a#navmainswitch2:before {
display: inline-block;
content: "\e915";
vertical-align: middle;
}

.langnav {
font-size: 16px;
font-weight: 500;
line-height: normal;
white-space: nowrap;
padding-top: 25px;
}

.langnav a {
margin-right: 15px;
}
.langnav a.current {
color: #999;
text-decoration: underline;
}
.current a:before {
content: '\e919';
display: block;
float: left;
margin-left: -20px;
font-size: 16px;
color: #FF0000;
}

.site_title {
margin: 70px 0 60px;
}

.site_title p:first-child {
font-size: 22px;
font-weight: 500;
line-height: 1;
margin: 0 0 20px;
}
.site_title p:last-child {
margin: 0;
font-family: "Asap Condensed";
font-weight: 400;
font-size: 54px;
line-height: 1;
color: #939393;
}


#navmain {
line-height: 120%;
}
#navmain, #contact {
/*font-size: 17px;*/
font-weight: 500;
}
#navmain a {
display: block;
}
#navmain p {
margin: 0;
padding: 10px 0;
line-height: 150%;
border-bottom: 1px dotted #666;
}
/*#navmain p:nth-of-type(1) {
border-top: 1px dotted #666;
}*/


#contact {
margin: 60px 0;
line-height: 100%;
}
#contact a {
display: inline-block;
margin: 0 20px 20px 0;
white-space: nowrap;
}
#contact a:last-child {
margin-right: 0;
}


#contact a:before {
vertical-align: bottom;
}

a.bio:before {
content: '\e909';
font-size: 24px;
margin-right: 2px;
}
a.imprint:before {
content: '\e914';
font-size: 22px;
margin-right: 5px;
}
a.fs:before {
content: '\e927';
font-size: 24px;
margin-right: 3px;
color: #FF9900;
}



/*.columns_2 {
columns: 2 180px;
column-gap: 2em;
}
.columns_2 p {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
}
*/

.pagenav {
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
height: 90px;
font-size: 28px;
line-height: 90px;
text-align: center;
/*border-top: 1px solid #222;*/
}
.pagenav p {
flex: 1 1 33.33%;
margin: 0;
}

.pagenav a {
display: block;
font-size: 24px;
line-height: 90px;
color: #b0b0b0;
}
.pagenav a:hover {
color: #fff;
}
.pagenav a.inactive {
color: #555;
}
a.prev {
text-align: left;
padding-left: 40px;
}
a.prev:before {
content: "\ea40";
}
a.next {
text-align: right;
padding-right: 40px;
}
a.next:before {
content: "\ea3c";
}

h2 {
margin: 2em 0;
font: 500 22px/normal 'Asap Condensed', sans-serif;
text-transform: uppercase;
word-spacing: .175em;
}
#navmain h2 {
margin: 2em 0 0;
padding-bottom: 10px;
border-bottom: 1px dotted #666;
color: #939393;
}
#navmain .segment:first-child h2 {
margin-top: 0;
}
dt {
margin: 10px 0;
font-weight: 500;
}
.text main {
color: #000;
background-color: #eee;
}
.text .chapter_title {
border-color: #999;
}

.textdisplay {
font-size: 16px;
line-height: 1.5;
padding: 20px 0 60px;
}

.textdisplay dd {
margin-bottom: 5px;
}







.popup_content {
height: 100%;
display: flex;
flex-flow: row nowrap;
}
.popup_content .item {
flex: 2 2 65%;
min-width: 180px;
padding: 60px 40px;
color: #000;
background-color: #fff;
border: none;
}
.popup_content .item.right {
flex: 1 1 35%;
min-width: 180px;
color: #000;
background: #eee;
}
.popup_content p {
margin: 5px 0 0;
}
.popup_content a {
color: red;
}
.popup_content h2 {
margin: 0 0 20px;
}


/******* to top *******/
.fixed {
display: none;
position: fixed;
width: 40px;
height: 40px;
bottom: 30px;
right: 0;
z-index: 200;
}
a#to_top {
display: block;
width: 40px;
height: 40px;
text-align: center;
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
}
a#to_top:hover {
background-color: rgba(0, 0, 0, 1);
}
a#to_top:before {
content: "\ea3a";
font-size: 20px;
line-height: 40px;
}
/******* end to top *******/





@media all and (max-width: 1279px) {

.content {
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

}


@media all and (max-width: 1090px) {

.wrapper {
grid-template-columns: auto;
grid-template-rows: auto 1fr;
}
main {
grid-row-start: 2;
}
header {
padding: 32px 0;
}

.chapter_title h1 {
padding: 0 30px 0 0;
}
.textdisplay {
padding: 10px 0 60px;
}

.close#navmainswitch {
display: none;
}
a.prev {
padding-left: 30px;
}
a.next {
padding-right: 30px;
}

aside {
padding: 0 30px;
}

.site_title {
margin-top: 50px;
margin-bottom: 40px;
}

#showhide,
footer {
display: none;
}
.mobile_footer {
display: block;
}

a#navmainswitch2 {
display: block;
margin-right: -5px;
}
a#navmainswitch2.close:before {
content: "\e209";
font-size: 36px;
}

.fixed {
width: 100%;
bottom: 0;
}
a#to_top {
width: 100%;
color: #000;
background-color: rgba(255, 255, 255, 0.5);
}
a#to_top:hover {
background-color: rgba(255, 255, 255, 1);
}

}



@media screen and (max-width: 600px) {

.site-title {
margin-top: 50px;
margin-bottom: 30px;
}
#contact {
margin: 40px 0;
}
.content .item.three_cols {
grid-column: span 2;
}

}

@media screen and (max-width: 570px) {

.popup_content {
margin: 10%;
flex-flow: column nowrap;
}
.popup_content .item {
padding: 40px;
}

button.mfp-close {
color: #999;
}
.mfp-container.mfp-ajax-holder.mfp-s-ready button.mfp-close:hover,
.mfp-container.mfp-ajax-holder.mfp-s-ready button.mfp-close:focus {
color: #fff;
}
.site_title p:first-child {
font-size: 20px;
}
.site_title p:last-child {
font-size: 52px;
}
dd {
margin-left: 20px;
}

}


@media screen and (max-width: 480px) {

body {
font: 14px/normal "Asap", sans-serif;
}
.chapter_title h1 {
font-size: 24px;
}


.popup_content {
margin: 0;
}
.mfp-container.mfp-ajax-holder.mfp-s-ready button.mfp-close:hover,
.mfp-container.mfp-ajax-holder.mfp-s-ready button.mfp-close:focus {
color: red;
}
/*.content .item .caption {
padding: 20px 15px 40px;
}*/
.content .item.two_cols,
.content .item.three_cols {
grid-column: span 1;
}


}


@media screen and (max-width: 399px) {

aside {
padding: 0 20px;
}
.chapter_title h1 {
padding: 0 20px 0 0;
}
main {
padding: 0 20px;
}

.site_title p:last-child {
font-size: 44px;
}
.textdisplay {
padding: 10px 20px 60px;
}
dd {
margin-left: 10px;
}

.current a {
padding-right: 25px;
}
.current a:before {
content: '';
}
.current a:after {
content: '\e919';
display: block;
float: right;
margin-right: -25px;
font-size: 16px;
color: #FF0000;
}

}


@media screen and (max-width: 336px) {

.langnav {
font-size: 14px;
}
.langnav a {
margin-right: 10px;
}


}





/* Magnific Popup CSS */

.image-link {
}
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #000;
opacity: 0.85;
}

.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden;
}
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box;
}
.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
display: none;
}
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
max-width: 640px;
cursor: auto;
}
.mfp-ajax-cur {
cursor: progress;
}
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {
cursor: auto;
}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.mfp-loading.mfp-figure {
display: none;
}
.mfp-hide {
display: none !important;
}
.mfp-preloader {
color: #CCC;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044;
}
.mfp-preloader a {
color: #CCC;
}
.mfp-preloader a:hover {
color: #FFF;
}
.mfp-s-ready .mfp-preloader {
display: none;
}
.mfp-s-error .mfp-content {
display: none;
}
button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
color: #999;
background-color: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation;
}

.mfp-ajax-holder button.mfp-close:hover,
.mfp-ajax-holder button.mfp-close:focus {
color: red;
}
button::-moz-focus-inner {
padding: 0;
border: 0;
}
.mfp-close {
width: 40px;
height: 40px;
line-height: 40px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
color: #999;
font-style: normal;
font-size: 30px;
font-family: 'Asap', Arial, sans-serif; 
font-weight: 400;
}
.mfp-close:hover {
color: #fff;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%; 
background: transparent;
}
.mfp-counter {
display: none;
color: #fff;
font-size: 12px;
line-height: 18px;
text-align: center;
white-space: nowrap;
}
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1;
}
.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent;
}
.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px;
}
.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7;
}
.mfp-arrow-left {
left: 0;
}
.mfp-arrow-left:after {
border-right: 17px solid #FFF;
margin-left: 31px;
}
.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3F3F3F;
}
.mfp-arrow-right {
right: 0;
}
.mfp-arrow-right:after {
border-left: 17px solid #FFF;
margin-left: 39px;
}
.mfp-arrow-right:before {
border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
top: -40px;
}
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
-webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
background: #fff;
}
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto;
}
.mfp-figure {
line-height: 0;
}
.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
-webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
background: #444;
}
.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px;
}
.mfp-figure figure {
margin: 0;
}
.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto;
}
.mfp-title {
text-align: center;
/*font-size: 15px;*/
line-height: normal;
color: #eaeaea;
word-wrap: break-word;
padding-top: 20px;
}
.mfp-image-holder .mfp-content {
max-width: 100%;
}
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer;
}
.mfp-zoom-in {
.mfp-with-anim {
opacity: 0;
transition: all 0.6s ease-in-out; 
transform: scale(0.9); 
}
&.mfp-bg {
opacity: 0;
transition: all 0.4s ease-out;
}

/* animate in */
&.mfp-ready {
.mfp-with-anim {
opacity: 1;
transform: scale(1); 
}
&.mfp-bg {
opacity: 0.8;
}
&.mfp-removing {
.mfp-with-anim {
transform: scale(0.8); 
opacity: 0;
}
&.mfp-bg {
opacity: 0;
}
.mfp-zoom-in.mfp-bg {
opacity: 0;
-webkit-transition: opacity 0.4s ease-out; 
-moz-transition: opacity 0.4s ease-out; 
-o-transition: opacity 0.4s ease-out; 
transition: opacity 0.4s ease-out;
}
.mfp-zoom-in.mfp-ready.mfp-bg {
opacity: 0.75;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
opacity: 0;
}
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0;
}
.mfp-img-mobile img.mfp-img {
padding: 0;
}
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0;
}
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px;
}
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.6);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
box-sizing: border-box;
}
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0;
}
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px;
}
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.6);
position: fixed;
text-align: center;
padding: 0;
}
}
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0;
}
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%;
}
.mfp-container {
padding-left: 6px;
padding-right: 6px;
}
}
