/* --- Reset --- */

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;
}

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;
}

/* --- Font-Family --- */

@font-face {
    font-family: 'ABC Oracle';
    src: url('../fonts/ABCOracle-Medium.woff2') format('woff2'),
        url('../fonts/ABCOracle-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: auto;
}

@font-face {
    font-family: 'ABC Oracle Triple';
    src: url('../fonts/ABCOracleTriple-Medium.woff2') format('woff2'),
        url('../fonts/ABCOracleTriple-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: auto;
}

/* --- Font-Sizes --- */

.navigation a,
.logo-right {
    font-size: 12px;
}

p.text-padding-small,
.text-small p,
.text-small h3,
.team-box .box-right {
    font-size: 14px;
}

body,
.control-group .btn-primary,
.contact-form .control-group input[type="text"],
.contact-form .control-group input[type="email"],
.control-group textarea {
    font-size: 16px;
}

.event-date {
    font-size: 18px;    
}

.content-item h3,
.content-article h3 {
    font-size: 24px;    
}

@media screen and (min-width: 320px) {

    .navigation a,
    .logo-right {
        font-size: calc(12px + (16 - 12) * (100vw - 320px) / (1920 - 320));
    }

    p.text-padding-small,
    .text-small p,
    .text-small h3,
    .team-box .box-right {
        font-size: calc(14px + (16 - 14) * (100vw - 320px) / (1920 - 320));
    }        
    
    body,
    .control-group .btn-primary,
    .contact-form .control-group input[type="text"],
    .contact-form .control-group input[type="email"],
    .control-group textarea {
        font-size: calc(16px + (18 - 16) * (100vw - 320px) / (1920 - 320));
    }

    .event-date {
        font-size: calc(18px + (24 - 18) * (100vw - 320px) / (1920 - 320));
    }

    .content-item h3,
    .content-article h3 {
        font-size: calc(24px + (34 - 24) * (100vw - 320px) / (1920 - 320));
    }
}

@media screen and (min-width: 1920px) {

    .navigation a,
    .logo-right {
        font-size: 16px;
    }
    
    p.text-padding-small,
    .text-small p,
    .text-small h3,
    .team-box .box-right {
        font-size: 16px;
    }    

    body,
    .control-group .btn-primary,
    .contact-form .control-group input[type="text"],
    .contact-form .control-group input[type="email"],
    .control-group textarea {
        font-size: 18px;
    }
    
    .event-date {
        font-size: 24px;
    }

    .content-item h3,
    .content-article h3 {
        font-size: 34px;
    }

}

/* --- Main --- */

html {
    height: 100vh;
    overflow: auto;
	width: 100vw;
}

body {    
    font-family: 'ABC Oracle', sans-serif;
    min-height: 100vh;
    opacity: 1;
    overflow: hidden;
    position: relative;
    transition: opacity 2s;
    width: 100vw;
}

.is-loading {
    opacity: 0;
    transition: opacity .2s;
}

.bg {
    height: 100%;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .2s;
    width: 100vw;
}

.is-landscape .background-portrait,
.is-portrait .background-landscape {
    display: none;
}

.is-landscape .bg.background-landscape.loaded,
.is-portrait .bg.background-portrait.loaded {
    opacity: 1;
}

.outer {
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
    min-height: 100vh;
    /* max-width: 1920px; */
    position: relative;
    scroll-behavior: smooth;
    width: 100%;
}

.outer-left,
.outer-right {
    box-sizing: border-box;
    padding: 20px;
    position: relative;
}

.outer-left {    
    width: 65%;
}

.outer-right {
    background: #fff;
    min-width: 500px;
    width: 35%;
}

/* --- Logo --- */

.logo-left {
    background: url(../img/logo-pochen-symposium-2021.png) no-repeat;
    background-size: cover;
    display: block;
    left: 20px;
    position: absolute;
    top: 20px;
    transition: width .2s ease;
    width: 250px;
    z-index: 1;
}

.logo-left:before {
    content: '';
    display: block;
    padding-top: 30.75%;
    width: 100%;
}

.logo-right {    
    position: absolute;
    right: 20px;
    top: 20px;
}

.logo-right a {
    background: #000;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;    
    display: inline-block;
    font-family: 'ABC Oracle Triple', sans-serif;    
    line-height: 24px;
    padding: 0 5px;
    text-decoration: none;  
}

/* --- Navigation --- */

.navigation a {
    background: #fff;
    color: #000;
    border: 2px solid #000;
    border-radius: 10px;
    display: inline-block;
    font-family: 'ABC Oracle Triple', sans-serif;
    line-height: 20px;
    padding: 0 5px;
    text-align: center;
    text-decoration: none;
    transition: color .2s, background-color .2s;    
}

.navigation a:hover,
.navigation a.is-active {
    background: #000;
    color: #fff;
}

/* --- Navigation - Main --- */

.navigation-main {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.navigation-main li {
    margin: 0 0 10px 0;    
}

/* --- Navigation - Bottom --- */

.outer-left .navigation-bottom {
    bottom: 20px;
    left: 20px;
    position: absolute;
}

.outer-right .navigation-bottom {
    display: none;
    width: 100%;
}

.navigation-bottom ul {
    display: flex;
    flex-wrap: nowrap;
}

.navigation-bottom li {
    margin: 0 10px 0 0;
}

.navigation-bottom li:last-child {
    margin: 0;
}

/* --- Language --- */

.navigation-language {
    bottom: 20px;
    position: absolute;
    right: 20px;
}

.navigation-language ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.navigation-language li {
    margin: 0 10px 0 0;
}

.navigation-language li:last-child {
    margin: 0;
}

.navigation-language a.language-active {
    background: #000;
    color: #fff;
    cursor: default;
}

/* --- Videos --- */

.start-video {
    /* background: url(../../../images/pochen-2020/video.jpg) no-repeat;
    background-size: cover;
    cursor: pointer; */
    margin-bottom: 30px;
    max-width: 1080px;
    position: relative;
    width: 100%;
}

.video:before {
    content: '';
    display: block;
    padding-top: 56.25%;
    width: 100%;
}

.video iframe,
.video object,
.video embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/* --- Content --- */

.main-content {
    bottom: 0;
    left: 20px;
    overflow-x: hidden;
    overflow-y: scroll; 
    position: absolute;
    right: 20px;
    top: 20px;
    /* top: 65px; */

    -webkit-overflow-scrolling: touch;
    /* Internet Explorer 10+ */
    -ms-overflow-style: none;
    /* Firefox */
    scrollbar-width: none;
}

.main-content::-webkit-scrollbar {
    /* Safari and Chrome */
    display: none;
}

.content-item:last-child {
    margin: 0 0 20px 0;
}

.content-item h3,
.content-article h3 {
    font-family: 'ABC Oracle Triple', sans-serif;
    line-height: 120%;
    margin: 0 0 20px 0;
}

.content-item h4,
.content-item p strong {
    font-weight: 700;
}

.content-article p {
    line-height: 120%;
    margin: 0 0 20px 0;
}

.content-article p:last-child {
    margin: 0;
}

.content-article ul {
    line-height: 120%;
    list-style-type: square;
    margin: 0 0 20px 30px;
}

.content-article em {
    font-style: italic;
}

p.text-padding-small {
    padding-left: 30%;
}

.main-content a {
    color: #000;
    text-decoration-color: #000;
    text-decoration-thickness: .09em;
    text-underline-offset: 1.5px;
    transition: text-decoration-color .2s;
}

.main-content a:hover {
    text-decoration-color: #fff;
}

.content-item {
    margin: 0 0 50px 0;
}

/* --- Team --- */

.team-box {
    display: flex;
    justify-content: space-between;
    margin: 0 0 30px 0;
    width: 100%;
}

.team-box .box-left {
    width: 30%;
}

.team-box img {
    width: 100%;
}

.team-box .box-right {
    line-height: 120%;
    width: 68%;
}

.team-box h4 {
    font-weight: 700;
    margin: 0 0 15px 0;
}

.team-box p {
    margin: 0 0 15px 0;
}

.team-box p:last-child {
    margin: 0;
}

/* --- Partners --- */

.content-partners .content-item-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px 0 20px 0;
}

.content-partners .content-item-inner:after {
    content: '';
    display: inline-block;
    width: 31%;
}

.content-partners a {
    margin: 0 1% 1% 0;
    width: 31%;
}

.content-partners img {
    width: 100%;
}

/* --- Program --- */

.event-item {
    cursor: pointer;
    display: flex;
    flex-wrap: nowrap;
    margin: 0 0 20px 0;
}

.event-item:last-child {
    margin: 0;
}

.event-item input {
    display: none;
}

.event-left {
    font-family: 'ABC Oracle Triple', sans-serif;
    min-width: 190px;
    width: 30%;
}

.event-date,
.event-time,
.event-title,
.event-text {
    line-height: 120%;
}

.event-date {
    font-weight: 700;
}

.event-right {
    padding: 0.5% 0 0 0;
    width: 70%;
}

/* .event-title {
    font-weight: 700;
} */

.event-text {
    display: none;
    margin: 15px 0 0 0;
}

.event-admission,
.event-text p {
    margin: 0 0 15px 0;
}

.event-text p:last-child {
    margin: 0;
}

input:checked + .event-text {
    display: block;
}

/* --- Kontakt --- */

.contact-form .control-group {
    padding: 0 0 15px 0;
}

.contact-form .control-group label {
    line-height: 150%;
}

.contact-form .control-group input[type="text"],
.contact-form .control-group input[type="email"] {
    box-sizing: border-box;
    height: 30px;
    padding: 0 5px;
    width: 100%;
}

.control-group .optional {
    display: none;
}

.control-group textarea {
    box-sizing: border-box;
    font-family: 'ABC Oracle', sans-serif;
    height: 100px;
    padding: 5px;
    resize: vertical;
    width: 100%;
}

.accept-privacy {
    line-height: 120%;
}

.control-group .btn-primary {
    background: #000;
    border: 0;
    color: #fff;
    cursor: pointer;
    float: right;
    font-family: 'ABC Oracle', sans-serif;
    line-height: 30px;
    margin: 20px 0 0 0;
    padding: 0 10px;
    position: relative;
    z-index: 1;
}

.control-group .btn-primary:after {
    clear: both;
    content: '';
    display: block;
}

#system-message-container {
    position: relative;
    top: -40px;
    z-index: 0;
}

/* --- Presse --- */

.gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15px 0 0 0;
}

.gallery:after {
    display: inline-block;
    content: '';
    width: 31%;
}

.columns-3 .gallery-item {
    margin: 0 0 4% 0;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 31%;
}

.gallery-item .item-image {
    display: block;
    font-size: 0;
    line-height: 0;
    position: relative;
}

.gallery-item .item-image:before {
    content: '';
    display: block;
    padding-top: 66%;
}

.gallery-item img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}

.gallery-item .item-title {
    display: none;
}

.icon-image,
.icon-file {
    box-shadow: 0 0 0 2px;    
    box-sizing: border-box;
    display: inline-block;
    height: 16px;
    margin: 0 8px 0 0;
    overflow: hidden;
    position: relative;
}

.icon-image {    
    width: 20px;
}

.icon-file {    
    border: 2px solid transparent;
    border-right: 0;
    border-top: 0;    
    border-top-right-radius: 4px;
    width: 14px;    
}

.icon-image::after,
.icon-image::before,
.icon-file::after,
.icon-file::before,
.download-set::after,
.download-set::before,
.download-item::after,
.download-item::before {
    box-sizing: border-box;
    content: '';
    display: block;
    position: absolute; 
}

.icon-image::after,
.icon-image::before {
    border: 2px solid #000;
}

.icon-image::before {    
    border-radius: 100%;
    height: 6px;
    left: 2px;
    top: 2px;
    width: 6px;
}

.icon-image::after {    
    height: 16px;
    left: 6px;
    top: 9px;
    transform: rotate(45deg);
    width: 16px;
}

.icon-file::before {
    background: #000;
    box-shadow: 0 4px 0, -6px -4px 0;
    left: 0;    
    height: 2px;
    top: 8px;
    width: 10px;
}

.icon-file::after {    
    border-bottom: 2px solid;
    border-left: 2px solid;
    height: 6px;
    right: -1px;
    top: -1px;
    width: 6px;
}

.download-set,
.download-item {
    box-sizing: border-box;
    width: 16px;
    height: 6px;
    border: 2px solid;
    border-top: 0;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    margin-top: 8px;
}

.download-item {
    display: block;
    opacity: 0;
    position: absolute;
    right: 20px;
    top: 30px;
    transform: scale(var(--ggs, 2));
    transition: opacity ease .2s;
}

.gallery-item:hover .download-item {
    opacity: 1;
}

.download-set {   
    display: inline-block;
    margin-left: 10px;
    position: relative; 
    text-indent: -99999px;
    top: 13px;
    transform: scale(var(--ggs, 1));
}

.download-set::after,
.download-item::after {    
    width: 8px;
    height: 8px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(-45deg);
    left: 2px;
    bottom: 4px
}

.download-set::before,
.download-item::before {    
    border-radius: 3px;
    width: 2px;
    height: 10px;
    background: currentColor;
    left: 5px;
    bottom: 5px
}

.file-list {
    list-style-type: square;
    margin: 0 0 25px 25px;
}

.file-list li a {
    font-weight: 400;
}

/* --- Media Queries --- */

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

    .logo-right {
        left: 25px;
        position: absolute;
        right: auto;
        top: 110px;
    }

    .navigation-bottom {
        right: 20px;
        width: auto;
    }

    .navigation-language {
        bottom: auto;
        top: 20px;
    }

}

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

    body {
        overflow-y: auto;
    }

    .navigation-language {
        right: 10px;
        top: 10px;
    }

    .outer {
        display: block;
    }

    .outer-left {
        padding: 10px;
        width: 100%;
    }

    .logo-left,
    .logo-right {
        left: auto;
        position: relative;
        top: auto;
    }

    .logo-right {
        margin: 10px 0 20px 0;
    }

    .navigation-main {
        position: relative;
        right: auto;
        top: auto;
        transform: initial;
    }

    .navigation-main ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .navigation-main li {
        margin: 10px 10px 0 0;
    }

    .outer-right {
        background: none;
        min-width: auto;
        padding: 0;
        width: 100%;
    }

    .navigation-top li {
        min-width: auto;
    }

    .main-content {
        background: #fff;
        background: linear-gradient(to bottom, rgba(255,255,255,0) 0,rgba(255,255,255,1) 50px,rgba(255,255,255,1) calc(100% - 50px),rgba(255,255,255,0) 100%);;
        bottom: auto;
        box-sizing: border-box;
        left: auto;
        padding: 10px;
        position: relative;
        right: auto;
        top: auto;
    }

    .outer-left .navigation-bottom {
        display: none;
    }

    .outer-right .navigation-bottom {
        display: block;
        padding: 10px;
    }

    .navigation-top {
        margin: 0;
        padding: 30px 10px;
        width: auto;
    }    

    p.text-padding-small {
        font-size: calc(18px + (24 - 18) * (100vw - 320px) / (1920 - 320));
        padding: 0;
    }

}

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

    .logo-left {
        transition: width .2s ease;
        width: 200px;
    }

    .team-box {
        display: block;
    }

    .team-box .box-left,
    .team-box .box-right {
        width: 100%;
    }

    .team-box .box-left {
        padding: 0 0 15px 0;
    }

    .content-partners .content-item-inner:after {        
        width: 48%;
    }
    
    .content-partners a {
        width: 48%;
    }

    .event-item {
        display: block;
    }

    .event-left,
    .event-right {
        width: 100%;
    }

}