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

ol, ul {
    list-style: none;
}

b,strong {
    font-weight: bold;
}

i,em {
    font-style: italic;
}


/* schriften ——————————————————————————————————————————————————————————————————————————————————————————— */


@font-face {
    font-family: "TheSansC5";
    src: url("fonts/TheSansC5-Plain/TheSansC5-Plain.woff2") format("woff2"), url("fonts/TheSansC5-Plain/TheSansC5-Plain.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "TheSansC5";
    src: url("fonts/TheSansC5-PlainItalic/TheSansC5-PlainItalic.woff2") format("woff2"), url("fonts/TheSansC5-PlainItalic/TheSansC5-PlainItalic.woff") format("woff");
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: "TheSansC5";
    src: url("fonts/TheSansC5-Bold/TheSansC5-Bold.woff2") format("woff2"), url("fonts/TheSansC5-Bold/TheSansC5-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal;
}

/*
@font-face {
    font-family: "DroidSerif";
    src: url('fonts/DroidSerif-Regular.ttf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "DroidSerif";
    src: url('fonts/DroidSerif-Italic.ttf');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: "DroidSerif";
    src: url('fonts/DroidSerif-Bold.ttf');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "DroidSerif";
    src: url('fonts/DroidSerif-Bolditalic.ttf');
    font-weight: bold;
    font-style: italic;
}


@font-face {
    font-family: "SocialIcons";
    src: url('fonts/Social-Regular.otf');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: "QuestaGrande";
    src: url('fonts/2-questa_grande_regular_31.otf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "QuestaGrande";
    src: url('fonts/2-questa_grande_regular_31.otf');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "QuestaGrande";
    src: url('fonts/2-questa_grande_regular_31.otf');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: "QuestaGrande";
    src: url('fonts/2-questa_grande_regular_31.otf');
    font-weight: bold;
    font-style: italic;
}*/


/* allgemein ——————————————————————————————————————————————————————————————————————————————————————————— */

body {
    margin: 0px;
    padding: 0px;
    font-size: 16px;
    font-family: "TheSansC5", "Helvetica Neue", Helvetica, Arial, sans-serif;
    background-color: white;
    color: black;
    cursor: default;
    -webkit-user-select: text; 
    -moz-user-select: text; 
    -ms-user-select: text; 
    user-select: text;
    line-height: 19px;
    font-weight: normal;
    min-height:100%;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1;
    
    max-width: 1600px;
    left:0px;
    right: 0px;
    margin-left: auto;
    margin-right: auto;
    
}

::selection {
    background: rgb(0,0,0);
    color:white;
}

::-moz-selection {
    background: rgb(0,0,0);
    color:white;
}

a {
    color: inherit;
    text-decoration: inherit;
    transition: color 0.3s;
}

.upcoming_add_to_calendar {
    font-size: 13px;
    position: relative;
    top:-2px;
    margin-left: 10px;
    color: rgba(0,0,0,0.3);
    
    box-shadow: none !important;
    transition: color 0.2s;
}

.upcoming_add_to_calendar:hover {
    color:black !important;
}

.p_nomargin {
    padding-bottom: 0px !important;  
}

.video-container { 
    position: relative; 
    padding-bottom: 56.25%; 
    height: 0; 
    overflow: hidden; 
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

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



/* Head ——————————————————————————————————————————————————————————————————————————————————————————— */


header {
    position: fixed;
    width: 100%;
    height: 200px;
    left: 0px;
    top: 0px;
    z-index: 100;
    transition: background-color 0.2s, color 0.2s;
}

header.transparent {
    background-color: transparent;
    color: white;
}

header.opaque {
    background-color: white;
    color: black;
}

header.transparent.black {
    color: black;
}

header h2 {
    position: absolute;
    display: block;
    color: transparent;
    left: 40px;
    top: 40px;
    height: 120px;
    width: 120px;
    background-repeat: no-repeat;
}

header.transparent h2 {
    background-image: url('graphics/Videoart-at-Midnight-Logo-Circle-White.svg');
}

header.opaque h2,
header.transparent.black h2 {
    background-image: url('graphics/Videoart-at-Midnight-Logo-Circle-Black.svg');
}

header .menu {
    position: absolute;
    height: 80px;
    width: auto;
    right: 20px;
    top: 0px;
    bottom: 0px;
    margin-top: auto;
    margin-bottom: auto;
    box-sizing: border-box;
    padding-top: 30px;
    padding-left: 40px;
    padding-right: 80px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 20px;
    line-height: 20px;
}

header .menu::before,
header .menu::after {
    content: "";
    display: block;
    position: absolute;
    width: 40px;
    height: 2px;
    right: 20px;
    transition: background-color 0.2s;
}

header.transparent .menu::before,
header.transparent .menu::after {
    background-color: white;
}

header.opaque .menu::before,
header.opaque .menu::after,
header.transparent.black .menu::before,
header.transparent.black .menu::after {
    background-color: black;
}

header .menu::before {
    top: 33px;
}

header .menu::after {
    bottom: 33px;
}


#header_spacer {
    position: relative;
    width: 100%;
    height: 180px; 
    height: 160px;  
}

#header_spacer.hidden {
    display: none;
}

#header_spacer.visible {
    display: block;
}

nav {
    position: fixed;
    right: 0px;
    width: 300px;
    background-color: white;
    height: 100%;
    z-index: 110;
    box-sizing: border-box;
    padding: 40px;
    text-align: center;
    transition: transform .4s;
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 20px;
    line-height: 22px;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 20px;
}

nav ul li {
    padding-top: 10px;
    padding-bottom: 10px;
}

nav ul li.padding {
    margin-top: 15px;
}

nav.hidden {
    transform: translate3d( 100%, 0px, 0 );
    pointer-events: none;
}

#nav_back {
    position: fixed;
    right: 0px;
    width: 100%;
    height: 100%;
    z-index: 105;
    background-color: rgba( 0, 0, 0, 0.1 );
}

#nav_back.hidden {
    display: none;
}

.header_background.productions {
    position: absolute;
    left: 0px;
    top: 0px;
    height: 350px;
    background-image: linear-gradient( #FFE4E0, transparent );
    width: 100%;
}

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

    #header_spacer {
        height: 80px;
        height: 40px;
    }
    
    #header_spacer.hidden {
        display: block;
    }
    
    header h2 {
        left: 20px;
    }
    
    header .menu {
        right: 0px;
    }

}

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

    .header_background.productions {
        width: 100vw;
        margin-left: calc( ( 100vw - 1600px ) / -2 );
    }

}



/* Index ——————————————————————————————————————————————————————————————————————————————————————————— */

#index {
    position: relative;
    width: 100%;
    height: auto;
    /*overflow: hidden;*/
    box-sizing: border-box;
    padding: 20px;
}

#index li {
    position: relative;
    height: auto;
    width: 100%;
    padding-bottom: 40px;
}

#index li.large {

}

#index li::after {
    content: "";
    display: block;
    height: 1px;
    background-color: black;
    width: auto;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
}

#index li a {
    display: block;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 40px;
    box-sizing: border-box;
    padding: 20px;
}

#index li.large a {
    flex-direction: column;
}

#index li a .image_container {
    position: relative;
    height: auto;
    overflow: hidden;
    width: 50%;
}

#index li.large a .image_container {
    width: calc( 100% + 80px );
    margin-left: -40px;
    margin-top: -40px;
}

#index li a .image_container .image {
    position: relative;
    width: 100%;
    height: 0px;
    padding-bottom: 56.25%;
    background-position: center center;
    background-size: cover;
    transition: transform .5s;
}

#index li a:hover .image_container .image { 
    transform: scale( 1.05 );
}

#index li.large a .image_container .image {
    padding-bottom: 42.8%;
}

#index li a .text {
    position: relative;
    width: 50%;
}

#index li.large a .text {
    width: 70%;
}

#index li a .text h4 {
    font-size: 24px;
    line-height: 27px;
    margin-top: -4px;
    /*text-transform: uppercase;*/
}

#index li a .text h3 {
    font-size: 24px;
    line-height: 27px;
    margin-bottom: 31px;
    font-weight: bold;
    /*text-transform: uppercase;*/
}

#index li a .text p {
    position: relative;
    margin-bottom: -2px;
}

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

    #index {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    #index li a {
        flex-direction: column;
    }
    
    #index li a .image_container {
        width: 100%;
    }
    
    #index li.large a .image_container .image {
        padding-bottom: 56.25%;
    }
    
    #index li a .text,
    #index li.large a .text {
        width: 100%;
    }

}

#oldnew {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-left:20px;
    padding-right:20px;
    box-sizing: border-box;
    margin-top: -40px;
}

/*
#oldnew::before {
    content: "";
    display: block;
    position: absolute;
    background-color: black;
    top: 0px;
    left: 40px;
    right: 40px;
    height: 1px;
}*/

#oldnew div {
    position: relative;
    padding: 20px;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-bottom: 35px;
    margin-top: 35px;
    box-sizing: border-box;
    width: 50%;
}

/*
.oldnew_element:hover {
    color: rgb(180,180,180);
}*/

#oldnew div.left {
    float:left;
    text-align: right;
}

#oldnew div.right {
    float:left;
}

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

    #oldnew::before {
        left: 20px;
        right: 20px;
    }
    
}

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

    #index li.large a .image_container {
        width: 100vw;
        margin-left: calc( ( 100vw - 1600px ) / -2 - 40px );
    }
    
    #index li.large a .image_container .image {
        padding-bottom: 30%;
    }

}



/* content ——————————————————————————————————————————————————————————————————————————————————————————— */

#content {
    position: relative;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 40px;
}


#content .image_container {
    position: relative;
    height: auto;
    overflow: hidden;
    width: 100%;
    margin-bottom: 40px;
}

#content .image_container .image {
    position: relative;
    width: 100%;
    height: 0px;
    padding-bottom: 42.8%;
    background-position: center center;
    background-size: cover;
    transition: transform .5s;
}

#content .content_wrapper {
    position: relative;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
}

#content h4 {
    font-size: 24px;
    line-height: 27px;
    margin-top: -4px;
    /* text-transform: uppercase; */
}

#content h1 {
    font-size: 24px;
    line-height: 27px;
    margin-bottom: 31px;
    font-weight: bold;
    /* text-transform: uppercase; */
}

#content .content_wrapper p {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

#content .content_wrapper p {
    padding-bottom: 19px;
}

#content .content_wrapper p + figure {
    margin-top: 20px;
}

#content .content_wrapper figure.wp-block-image {
    position: relative;
    width: 100%;
    padding-bottom: 39px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

#content .content_wrapper figure.wp-block-image img {
    position: relative;
    width: 100%;
    display: block;
    height: auto;
}

#content .content_wrapper figure.wp-block-image figcaption {
    margin-top: 19px;
    font-style: italic;
}

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

    #content {
        padding-left: 20px;
        padding-right: 20px;    
    }
    
    #content .content_wrapper {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
    
    #content .image_container .image {
        padding-bottom: 56.25%;
    }

}

/* posts ——————————————————————————————————————————————————————————————————————————————————————————— */

/*
.post_element {
    position: relative;
    height: auto;
    padding: 20px;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
}

.post_element:hover .post_element_image {
    transform: scale(1.1);
}

.post_element_image_container {
    position: relative;
    float: left;
    width:calc( 50% - 40px );
    height: auto;
    overflow: hidden;
    margin-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: 20px;
}

.post_element_image_container_large {
    position: relative;
    width:calc( 100% + 40px );
    margin-left: -20px;
    margin-top: -20px;
    height: auto;
    overflow: hidden;
    margin-bottom: 20px;
}

.post_element_image_container_large .post_element_image {
    padding-bottom: 42.8%;
}

.post_element_image {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: transform 0.5s;
}

.post_element_text {
    position: relative;
    float: right;
    width:50%;
}

.post_element_text_press_noimage {
    margin-right: calc( 25% + 10px );
}

.post_element_text_general_noimage {
    margin-right: calc( 25% + 10px );
}

.post_element_line {
    position: absolute;
    width: auto;
    left:40px;
    right:40px;
    bottom: 0px;
    height: 1px;
    background-color: rgb(240,240,240);
}

.post_element_date {
    position: relative;
    float:left;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    padding-bottom: 5px;
    padding-top: 17px;
    
    font-size: 13px;
    font-weight: bold;
}

.post_element_title {
    position: relative;
    float:left;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    font-size: 25px; 
    line-height: 27px;
    padding-bottom: 10px;
    padding-top: 0px;
}

.post_element_title_event {
    font-weight: bold;
}

.post_element_title_general {

}

.post_element_title_press {
    font-family: "DroidSerif";
    font-size: 27px;
}

.post_element_press_by {
    position: relative;
    float: left;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    padding-bottom: 10px;
    padding-top: 0px;
    margin-top: -9px;
    font-style: italic;
}

.post_element_content {
    position: relative;
    float:left;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    padding-top: 15px;
    padding-bottom: 13px;
    
    line-height: 19px;

}

.post_element_content_inner_press {
    font-family: "QuestaGrande";
    position: relative;
    padding-left: 20px;
    box-sizing: border-box;
    font-size: 1.4em;
    line-height: 1.4em;
    box-shadow: inset 2px 0px 0px rgb(60,60,60);
}

.post_element_content_large {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
}

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

    .post_element {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .post_element_content_large {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        -webkit-column-gap: 0px;
        -moz-column-gap: 0px;
        column-gap: 0px;
    }
    
    .post_element_line {
        left:20px;
        right:20px;
    }
    
    .post_element_image_container {
        width: calc( 100% - 40px );
    }
    
    .post_element_text {
        width: 100%;
    }
    
    .post_element_text_press_noimage {
        margin-right: 0px;
    }

}

*/

/* pages ——————————————————————————————————————————————————————————————————————————————————————————— */

/*
#page_back {
    position: relative;
    width:100%;
    box-sizing: border-box;
    padding: 20px;    
    height: auto;
    overflow: hidden;
}

.page_element {
    position: relative;
    float:left;
    width:100%;
    height: auto;
    overflow: hidden;    
    padding: 20px;
    box-sizing: border-box; 
}

.page_element_date {
    position: relative;
    margin-top: -5px;
    padding-bottom: 7px;
    margin-bottom: 10px;
    
    font-size: 13px;
    font-weight: bold;
}

.page_element_title {
    position: relative;
    width:100%;
    font-weight: bold;
    font-size: 35px;
    line-height: 35px;
    margin-top: -10px;
}

.page_element_press_title {
    font-family: "DroidSerif";
    font-weight: normal;
}

.page_element_press_by {
    position: relative;
    font-style: italic;
    margin-top: 1px;
}

.page_element_image_container {
    position: relative;
    margin-bottom: 34px;
    height: auto;
    overflow: hidden;
    width:100%;
    padding-top: 42.8%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    margin-top: 28px;
    margin-bottom: 0px;
}

.page_element_image_container_notitle {
    margin-top: 0px;
}

.page_element_content {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    position: relative;
    width:100%;  
    margin-top: 33px;
    margin-bottom: -7px;
    
    line-height: 19px;
}

.page_element_content_notitle {
    margin-top: 0px;
}

.page_element_content p {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
    padding-bottom: 19px; 
}

.page_element_content.split {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1; 
}

.page_element_content.split .left, .page_element_content.split .right {
    position: relative;
    width: 50%;
    box-sizing: border-box;
    float: right;
}

.page_element_content.split .left {
    padding-right: 20px;
}

.page_element_content.split .right {
    padding-left: 20px;
}

.page_element_content .has-small-font-size {
    font-size: 13px;
    line-height: 22px;
}

.page_element_content p + figure {
    margin-top: 20px;
}

.page_element_content figure.wp-block-image {
    position: relative;
    width: 100%;
    padding-bottom: 39px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

.page_element_content figure.wp-block-image img {
    position: relative;
    width: 100%;
    display: block;
    height: auto;
}

.page_element_content figure.wp-block-image figcaption {
    margin-top: 19px;
}
*/

/*
.blocks-gallery-item {
    width:100%;
    height: auto;
    display: block;
    padding: 0px;
    margin: 0px;
    padding-bottom: 40px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

.blocks-gallery-item figure {
    position: relative;
}

.blocks-gallery-item img {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
}

.blocks-gallery-item figcaption {
    position: absolute;
    left:0px;
    bottom:0px;
    width:100%;
    color:white;
    text-align: center;
    padding: 34px;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.2));
    opacity: 0;
    transition: opacity 0.2s;
}

.blocks-gallery-item:hover figcaption {
    opacity: 1;
}*/

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

    .page_element_content {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        -webkit-column-gap: 0px;
        -moz-column-gap: 0px;
        column-gap: 0px;

    }

    .gallery-item .gallery-caption {
        opacity: 1;
    }
    
    #page_back {
        padding-left: 0px;
        padding-right: 0px;
    }

    .page_element_content.split .left, .page_element_content.split .right {
        width: 100%;
        padding: 0px;
    }

}*/

/* events (old) ——————————————————————————————————————————————————————————————————————————————————————————— */

#screenings {
    position: relative;
    width: calc( 100% + 40px );
    margin-left: -20px;
    height: auto;
    overflow: hidden;
    margin-top: -40px;
    margin-bottom: 20px;
}

.event_element {
    position: relative;
    float:left;
    width:25%;
    height: auto;
    overflow: hidden;    
    padding: 20px;
    box-sizing: border-box;
}

.event_head {
    position: relative;
    width:100%;
    padding: 20px;
    box-sizing: border-box;
    /*font-weight: bold;*/
    font-size: 30px;
    
    font-size: 24px;
    line-height: 27px;

    padding-top: 47px;
    padding-bottom: 8px;
}

.post_event_element {
    position: relative;
    width:100%;
    height: 0;
    padding-top: 56.25%;
    background-color: rgb(240,240,240);
    overflow: hidden;
}

.post_event_element_inner {
    position: absolute;
    left:0px;
    top:0px;
    width:100%;
    height: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: transform 0.4s;
}

.post_event_element_inner_inner_outer {
    position: absolute;
    left:0px;
    top:0px;
    width:100%;
    height: 100%;
    text-align: center;
    color: white;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
}
.post_event_element_inner_inner {
    position: absolute;
    left:0px;
    top:0px;
    width:100%;
    height: 100%;
    display: table;
    background-color: rgba(0,0,0,0.15);
    transition:background-color 0.2s;
    padding: 10px;
    box-sizing: border-box;
}

.post_event_element:hover .post_event_element_inner {
    transform: scale(1.1);
    
}

.post_event_element_inner_inner_inner {
    display: table-cell;
    vertical-align: middle;
}

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

    .event_element {
        width:50%;
    }
    
}

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

    .event_element {
        width:100%;
    }
    
}



/* artists (old) ——————————————————————————————————————————————————————————————————————————————————————————— */

#artist_container {
    position: relative;
    width:100%;
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 0px;
    -moz-column-gap: 0px;
    column-gap: 0px;
    position: relative;
    
    width: calc( 100% + 40px );
    margin-left: -20px;
    margin-top: -40px;
}

.artist_block {
    position: relative;
    width:100%;
    height: auto;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    padding-bottom: 14px;
    
}

.artist_name {
    position: relative;
    width: 100%;
    padding: 20px;
    padding-top: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
    display: block;
}

.artist_letter {
    position: relative;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    /*font-weight: bold;*/
    font-size: 30px;
    
    font-size: 24px;
    line-height: 27px;

    padding-top: 8px;
    padding-bottom: 23px;
    padding-top: 47px;
}

@media only screen and (max-width: 900px) {
    
    #artist_container {
    
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        
    }
    
}

@media only screen and (max-width: 600px) {
    
    #artist_container {
    
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        
    }
    
}

/* newsletter (old)  ——————————————————————————————————————————————————————————————————————————————————————————— */

.newsletter_label {
    position: relative;
    width: 100%;
    font-size: 13px;
    font-weight: bold;
    padding-bottom: 5px;
}
 
.newsletter_back {
    position: relative;
    float: left;
    width:100%;
    
    height: auto;
    overflow: hidden;
    
    margin-top: 40px;
    
    
    
    padding-top: 10px;
    padding-bottom: 7px;
    padding-left: 15px;
    padding-right: 15px;
    border: 1px solid black;
    box-sizing: border-box;
}

.newsletter_back_split {
    width: calc( 50% - 20px );
    margin-left: 40px;
}

.newsletter_back_split_small {
    width: calc( 25% - 30px );
    margin-left: 40px;
}

.newsletter_back_split_first {
    margin-left: 0px;
}

.newsletter_back_button {
    
    position: relative;
    float:left;
    width: 100%;
  
    background-color: black;
    color:white;
    font-weight: bold;
    padding-top: 15px;
    padding-bottom: 13px;
    text-align: center;
    margin-top: 40px;
    
    cursor: pointer;
    transition: background-color 0.2s;
}

.newsletter_back_button:hover {
    background-color: rgb(180,180,180);
}

.newsletter_field {
    
    position: relative;
    float:left;
    width: 100%;
    margin: 0px;
    padding: 0px;
    font-family: "TheSansC5", "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-user-select: text; 
    -moz-user-select: text; 
    -ms-user-select: text; 
    user-select: text;
    line-height: 1.5;
    font-weight: normal;
    border: 0px none;
    outline: 0px none;
    font-size: 20px;

    resize: none;

}

.newsletter_field_buttons {
    width: calc( 100% - 260px );
   }

.newsletter_button {
    position: relative;
    float:left;
    font-weight: bold;
    padding-left: 20px;
    box-sizing: border-box;
    
    width: 130px;
    text-align: right;
    
    
    padding-top: 4px;
    padding-bottom: 2px;
    
    
    cursor: pointer;
    
    transition: color 0.2s, opacity 0.2s;
    
    opacity: 0.2;
}

.newsletter_button:hover {
    color:rgb(180,180,180);
}

#newsletter_text {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}

#newsletter_text div {
    font-size: 30px;
    font-weight: bold;
    padding-bottom: 1em;
}

#newsletter_legal_text {
    font-size: 13px;
}

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

    .newsletter_back {
        width: 100%;
        margin-left: 0px;
    }
    
    .newsletter_field_buttons {
        width: 100%;
    }
    
    .newsletter_button {
        width:50%;
        text-align: left;
        padding-left: 0px;
        margin-top: 6px;
    }

}


/* footer ——————————————————————————————————————————————————————————————————————————————————————————— */

footer {
    position: relative;
    box-sizing: border-box;
    padding: 20px;
    font-size: 13px;
    line-height: 17px;
    height: auto;
    overflow: hidden;
    padding-top: 16px;
    padding-bottom: 16px;
    text-transform: uppercase;
}

footer::before {
    content: "";
    display: block;
    position: absolute;
    background-color: black;
    top: 0px;
    left: 40px;
    right: 40px;
    height: 1px;
}

footer ul li {
    width: 25%;
    float: left;
    box-sizing: border-box;
    padding: 20px;
}

footer p + p {
    margin-top: 17px;
}

footer .logo {
    font-weight: bold;
}

footer .subline {
    font-style: italic;
    margin-top: 0px;
}


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

    footer {
        padding-left: 0px;
        padding-right: 0px;    
    }
    
    footer::before {
        left: 20px;
        right: 20px;
    }
    
    footer ul li {
        width: 100%;
    }

}


/*
#footer_back {
    position: relative;
    width:100%;
    height: auto;
    overflow: hidden;
    padding: 20px;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 15px;
}

.page_element_content a, .popover_content a {
    box-shadow: 0px 1px 0px black;
    transition: box-shadow 0.2s, color 0.2s;
}

.page_element_content a:hover, .popover_content a:hover {
    box-shadow: 0px 1px 0px rgb(180,180,180);
    color: rgb(180,180,180);
}

#footer_back a {
    box-shadow: 0px 1px 0px white;
    transition: box-shadow 0.2s, color 0.2s;
}

#footer_back a:hover {
    box-shadow: 0px 1px 0px rgb(180,180,180);
    color: rgb(180,180,180);
}

.footer_element {
    position: relative;
    height: auto;
    float:left;
    padding: 20px;
    padding-top: 15px;
    padding-bottom: 15px;
    box-sizing: border-box;
    width: 25%;
}

#footer_line {
    position: absolute;
    left:40px;
    right:40px;
    width:auto;
    height: 1px;
    background-color: black;
    top:0px;
    background-color: rgb(240,240,240);
}

.footer_social_container {
    box-shadow: none !important;
    display: inline-block;
    width:40px;
    height: 40px;
    top: 10px;
    vertical-align: middle;
    margin-top: 0px;
    margin-bottom: 0px;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s !important;
    border: 1px solid rgb(240,240,240);
    box-sizing: border-box;
    line-height: 1.5;
}

.footer_social_container_notfirst {
    margin-left: calc( ( 100% - ( 4 * 40px ) ) / 3 );
}

.footer_social_icons {
    position: relative;
    margin-top: 3px;
    font-family: "SocialIcons";
    font-size: 20px;
    width: 100%;
    text-align: center;
}

.footer_social_container_f:hover {
    background-color: rgb(75,105,165);
    color: white !important;
}

.footer_social_container_t:hover {
    background-color: rgb(70,170,220);
    color: white !important;
}

.footer_social_container_p:hover {
    background-color: rgb(190,15,35);
    color: white !important;
}

.footer_social_container_i:hover {
    background-color: rgb(190,60,130);
    color: white !important;
}

@media only screen and (max-width: 900px) {
    .footer_element {
        width: 100%;
    }
}

@media only screen and (max-width: 600px) {
    #footer_line {
        left:20px;
        right:20px;
    }
    #footer_back {
       padding-left: 0px;
       padding-right: 0px;
    }
    .footer_element {
        width: 100%;
    }
}*/


/* thecookbook (old) ——————————————————————————————————————————————————————————————————————————————————————————— */



#page_back {
    position: relative;
    width:100%;
    box-sizing: border-box;
    padding: 20px;    
    height: auto;
    overflow: hidden;
}

.page_element {
    position: relative;
    float:left;
    width:100%;
    height: auto;
    overflow: hidden;    
    padding: 20px;
    box-sizing: border-box; 
}

.page_element_date {
    position: relative;
    margin-top: -5px;
    padding-bottom: 7px;
    margin-bottom: 10px;
    
    font-size: 13px;
    font-weight: bold;
}

.page_element_title {
    position: relative;
    width:100%;
    font-weight: bold;
    font-size: 35px;
    line-height: 35px;
    /*margin-top: -10px;*/
}

.page_element_press_title {
    font-family: "DroidSerif";
    font-weight: normal;
}

.page_element_press_by {
    position: relative;
    font-style: italic;
    margin-top: 1px;
}

.page_element_image_container {
    position: relative;
    margin-bottom: 34px;
    height: auto;
    overflow: hidden;
    width:100%;
    padding-top: 42.8%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    margin-top: 28px;
    margin-bottom: 0px;
}

.page_element_image_container_notitle {
    margin-top: 0px;
}

.page_element_content {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    position: relative;
    width:100%;  
    margin-top: 33px;
    margin-bottom: -7px;
    
    line-height: 19px;
}

.page_element_content_notitle {
    margin-top: 0px;
}

.page_element_content p {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
    padding-bottom: 19px; 
}

.page_element_content.split {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1; 
}

.page_element_content.split .left, .page_element_content.split .right {
    position: relative;
    width: 50%;
    box-sizing: border-box;
    float: right;
}

.page_element_content.split .left {
    padding-right: 20px;
}

.page_element_content.split .right {
    padding-left: 20px;
}

.page_element_content .has-small-font-size {
    font-size: 13px;
    line-height: 22px;
}

.page_element_content p + figure {
    margin-top: 20px;
}

.page_element_content figure.wp-block-image {
    position: relative;
    width: 100%;
    padding-bottom: 39px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; 
}

.page_element_content figure.wp-block-image img {
    position: relative;
    width: 100%;
    display: block;
    height: auto;
}

.page_element_content figure.wp-block-image figcaption {
    margin-top: 19px;
}

.page_element_content.half {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1; 
    width: 50%;   
}

ul.page_element.productions {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

ul.page_element.productions li {
    width: calc( 50% - 20px );
    flex-grow: 0;
    flex-shrink: 0;
    margin-bottom: -7px;
}

ul.page_element.productions li::before {
    content: "";
    display: block;
    left: 20px;
    right: 20px;
    top: 0px;
    background-color: black;
    width: auto;
    height: 1px;
}

ul.page_element.productions li h3 {
    margin-top: 36px;
    font-size: 35px;
    line-height: 35px;
    margin-bottom: 34px;
}

ul.page_element.productions li .wp-block-gallery {
    width: 100%;
    margin-bottom: 36px;
}

ul.page_element.productions li .wp-block-gallery figure:not(:first-child) {
    display: none;
}   


ul.page_element.productions li .wp-block-gallery figure img {
    margin: 0px;
    display: block;
    width: 100%;
    height: auto;
}

ul.page_element.productions li p {
    padding-bottom: 19px;
    box-sizing: border-box;
    padding-right: 40px;
}

ul.page_element.productions li hr {
    border: none;
    border-top: 1px solid black;
    margin: 0px;
    margin-top: 17px;
    margin-bottom: 36px;
}


.thecookbook {
    position: relative;
    width: 100%;
    max-width: 350px;
    margin-bottom: 80px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
}

.thecookbook img {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 40px;
    box-shadow: 0px 15px 25px -10px rgba(0,0,0,0.6);
}

.thecookbook .orderbox .price {
    position: relative;
    display: inline-block;
    font-size: 30px;
    line-height: 45px;
    top: 3px;
}

.thecookbook .orderbox .select_wrapper {
    position: relative;    
    display: inline-block;
}

.thecookbook .orderbox .select_wrapper::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    border-left: 2px solid black;
    border-top: 2px solid black;
    position: absolute;
    right: 25px;
    top: 19px;
    transform: rotateZ(225deg);
}

.thecookbook .orderbox select {
    position: relative;
    display: inline-block;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    margin: 0px;

    border: 2px solid black;
    border-radius: 0px;
    padding-top: 10px;
    padding-bottom: 8px;
    padding-left: 20px;
    padding-right: 30px;
    font: inherit;
    font-weight: bold;
    margin-left: 10px;
    margin-right: 10px;

}

.thecookbook .orderbox .order {
    display: inline-block;
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 8px;
    padding-left: 20px;
    padding-right: 20px;
    transition: color 0.2s, border 0.2s;
    cursor: pointer;
    border: 2px solid black;
    margin-right: 15px;
    font-size: 16px;
}

.thecookbook .notes {
    position: relative;
    display: block;
    width: 100%;
    font-size: 13px;
    line-height: 22px;
    padding-top: 10px;
}

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

    .page_element {
        padding-left: 0px;
        padding-right: 0px;    
    }
    
    .page_element_title {
        margin-top: 36px;
    }

    .page_element_content.half {
        width: 100%;
    }
    
    ul.page_element.productions li {
        width: 100%;
    }
    
    ul.page_element.productions li p {
        padding-right: 0px;
    }
}


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

    .thecookbook .orderbox .price {
        font-size: 16px;
        line-height: 27px;
        font-weight: bold;
        top: 0px;
    }

}


/* popover (old)  ——————————————————————————————————————————————————————————————————————————————————————————— */

.popover_container {
    position: fixed;
    width:100%;
    height: 100%;
    left:0px;
    top:0px;
    z-index: 300;
    background-color: rgba(0,0,0,0.5);
}

.popover_closer {
    position: absolute;
    left:0px;
    top:0px;
    height: 100%;
    width: 100%;
}

.popover_back {
    position: absolute;
    left:20%;
    top:5%;
    height: 90%;
    width: 60%;
    background-color: white;
    
    
    opacity: 0;
    transition: opacity 0.2s;
}

.popover_content {
    position: absolute;
    height: 100%;
    width:100%;
    left:0px;
    top:0px;
    padding: 40px;
    box-sizing: border-box;
    overflow: hidden;
    overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.popover_close {
    position: absolute;
    top:0px;
    right:0px;
    font-family: "SocialIcons";
}

.popover_back p {
    margin-bottom: 1.7em;
}

.popover_back p:last-child {
    margin-bottom: 0px;
}

.popover_load {
    position: absolute;
    left:0px;
    width:100%;
    text-align: center;
    top:calc( 50% - 11px );
    height: 22px;
    font-weight: bold;
    
    opacity: 0;
    transition:opacity 0.5s;
}

.popover_close {
    position: absolute;
  /*  right:20px;
    top:20px;*/
    
    position: absolute;
    right:0px;
    top:0px;
    font-family: "SocialIcons";
    font-size: 20px;
    transition: color 0.2s;
    cursor: pointer;
    padding: 40px;
    padding-top: 33px;
    padding-bottom: 17px;
    padding-left: 20px;
    background-color: rgba(255,255,255,0.95);
}

.popover_close:hover {
    color: rgb(180,180,180);
}

.popover_content .newsletter_back {
    margin-top: 10px;
}

.popover_content .newsletter_back:first-child {
    margin-top: 60px;
}

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

    .popover_back {
      /*  padding: 20px;*/
        left: 20px;
        top:5%;
        height: 90%;
        width: calc( 100% - 40px );
    }
    
    .popover_content {
        padding: 20px;
    }
    
    .popover_close {
        padding: 20px;
    }
    

}
