/*   
Theme Name: Nand Music Theme
Author: Lucas Hesse
Author URI: https://www.lucas-hesse.de/
*/

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 700;
    src: url("font/Oswald-Regular.woff2") format('woff2');
}

html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}

ul {
    list-style: none;
}

button,
input,
select,
textarea {
    margin: 0;
}

html {
    box-sizing: border-box;
}

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

img,
video {
    height: auto;
    max-width: 100%;
}

iframe {
    border: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

td:not([align]),
th:not([align]) {
    text-align: left;
}


/* START */

body,
html {
    font-family: 'Oswald', sans-serif;
    margin: 0;
    width: 100%;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 60px;
    line-height: 68px;
}

h3 {
    font-size: 25px;
    line-height: 30px;
    text-align: center;
}

h4 {
    font-size: 15px;
    line-height: 18px;
    margin-bottom: 20px;
}

.button {
    display: block;
    padding: 15px 25px;
    margin: 50px auto;
    width: calc((100vw - 200px) / 3);
}


/* COLOR */

.purple {
    background: #2A3E5C;
    color: white;
}

.purpleinv {
    background: white;
    color: #2A3E5C;
}

.red {
    background: #89937C;
    color: white;
}

.redinv {
    background: white;
    color: #89937C;
}


/* SECTION */

section {
    height: auto;
    min-height: 650px;
    width: 100vw;
}

.row {
    width: calc(100vw - 50px);
    padding: 25px;
}

.col1 {
    margin: 25px 0;
    width: calc(100vw - 50px);
}

.col2 {
    margin: 25px;
    width: calc((100vw - 50px) / 2);
    float: left;
}

.col3 {
    margin: 25px;
    width: calc((100vw - 200px) / 3);
    float: left;
}

.col4 {
    margin: 25px;
    width: calc((100vw - 250px) / 4);
    float: left;
}

.col5 {
    margin: 25px;
    width: calc((100vw - 300px) / 5);
    float: left;
}

.clear {
    clear: both;
}

.left,
.right,
.flipinner {
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
}


/* BAR */

.bar {
    width: 100vw;
    height: 75px;
    overflow: hidden;
    position: relative;
    cursor: default;
}

.bar h2 {
    position: absolute;
    width: 200vw;
    height: 100%;
    text-align: center;
    text-transform: uppercase;
    /*left:-50vw;*/
    left: 0;
    -moz-transform: translateX(-50vw);
    -webkit-transform: translateX(-50vw);
    -o-transform: translateX(-50vw);
    -ms-transform: translateX(-50vw);
    transform: translateX(-50vw);
}

.bar .link:hover {
    -webkit-text-stroke-width: 1px;
}

.bar.purple a.link:hover {
    -webkit-text-stroke-color: white;
    color: #2A3E5C;
}

.bar.purpleinv a.link:hover {
    -webkit-text-stroke-color: #2A3E5C;
    color: white;
}

.bar.red a.link:hover {
    -webkit-text-stroke-color: white;
    color: #89937C;
}

.bar.redinv a.link:hover {
    -webkit-text-stroke-color: #89937C;
    color: white;
}


/* IMAGES */

.image {
    height: auto;
    height: calc(100vh - 75px);
    min-height: calc(650px - 75px);
    width: 100vw;
    position: relative;
    overflow: hidden;
}

.image.small {
    height: 400px;
    min-height: 400px;
}

.image .multiple {
    position: relative;
    height: 100%;
    width: 200vw;
    text-align: center;
    left: 0;
    -moz-transform: translateX(-50vw);
    -webkit-transform: translateX(-50vw);
    -o-transform: translateX(-50vw);
    -ms-transform: translateX(-50vw);
    transform: translateX(-50vw);
}

.image .multiple img {
    position: relative;
    height: 100%;
    width: auto;
    float: left;
}

.image img.single {
    position: relative;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.overlay a {
    display: inherit;
}

.overlay img {
    height: auto;
    width: 80%;
}


/* INTRO */

/*.intro .image {}*/


/* ALBEN */

section.alben {
    height: auto;
    /*background-image: url("assets/img/02_NAND_musik_wuerzburg_background.jpg");*/
    background-position: center 225px;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.alben .space {
    position: Relative;
    height: 50vw;
    width: 100vw;
}

.alben .content {
    position: relative;
    width: 100%;
    height: auto;
}

.alben .content .col3 img {
    width: 100%;
    height: Auto;
}

.flip {
    perspective: 1000px;
    height: calc((100vw - 200px) / 3);
    cursor: pointer;
}

.flipinner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.flip:hover .flipinner {
    transform: rotateY(180deg);
}


.flipinner .front h2 {
    color: #89937C;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    text-align: center;
    text-transform: uppercase;
    width: 70%;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

.flipinner .front img {
    z-index: 50;
}


.flipinner .front,
.flipinner .back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flipinner .back {
    transform: rotateY(180deg);
}

.cursor-default:hover {
    cursor: default;
}

.buttonbubble {
    background-image: url("assets/img/NAND_Button_Bubble.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-color: transparent;
    padding: 25px;
    text-transform: uppercase;
    width: calc((100vw - 200px) / 2);
}


/* DATES */

.dates .content {
    position: relative;
    width: 100%;
    height: auto;
    background: white;
    color: #89937C;
    text-align: center;
    margin: 50px auto;
}

.dates .content .col3 {
    min-height: 95px;
}

.dateswidget {
    margin-top: 0 !important;
    padding: 0;
}

h2#title {
    height: 0 !important;
}

/* FOOTER */

.footer {
    min-height: 250px;
    position: relative;
}

.footer .content {
    position: relative;
    width: 100%;
    text-align: center;
    margin-top: 150px;
}

.footer .col5 a img {
    width: calc(1vw + 30px);
    height: Auto;
}

.footerline {
    position: absolute;
    bottom: 0;
    width: 100vw;
    text-transform: uppercase;
    text-align: center;
}

.footerline .kontakt {
    text-align: left;
}

.footerline .impressum {
    text-align: right;
    cursor: pointer;
}

.footer .content.impressumcontent {
    position: relative;
    margin: 0 auto;
    padding-bottom: 80px;
    display: none;
    width: calc(100vw - 50px);
}

.close {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
}

@media (max-width: 800px) {

    .col1,
    .col2,
    .col3,
    .col4,
    .col5 {
        margin: 25px 0;
        width: calc(100vw - 50px);
        float: none;

    }

    .button {
        padding: 8px 15px;
        width: calc(100vw - 50px);
    }

    .buttonbubble {
        padding: 25px;

    }

    .bar {
        height: 40px;
    }

    h2 {
        font-size: 35px;
        line-height: 36px;
    }

    h3 {
        font-size: 18px;
        line-height: 22px;
    }

    section {
        height: calc(100vh - 120px);
        min-height: calc(100vh - 150px);
    }

    .image {
        height: calc(100vh - 160px);
        min-height: calc(100vh - 160px);
    }

    .image .multiple {
        width: 400vw;
    }

    .overlay img {
        width: 95%;
    }

    section.alben {
        background-position: center 120px;
    }

    .alben .space {
        height: 20vw;
    }

    .alben .content.row {
        padding: 25px 25px;
    }

    .flip {
        margin: 50px;
        width: calc(100vw - 150px);
        height: calc(100vw - 150px);
    }

    section.merch {
        height: auto;
    }

    section .image.small {
        height: 150px;
        min-height: 150px;
    }

    section.dates {
        height: auto;
    }

    .footer {
        min-height: 325px;
        height: auto;
    }

    .footer .content {
        margin-top: 0;
        /*padding-bottom: 200px;*/
    }

    .footer .col5 {
        margin: 25px;
        width: calc((100vw - 200px) / 3);
        float: left;
    }

    .footer .col5:first-child,
    .footer .col5:last-child {
        width: 0;
        margin: 0;
    }

    .footerline {
        margin-top: 50px;
    }

    .footerline h4 {
        margin: 25px;
        text-align: Center !important;
    }

    .footerline .col2 span {
        display: block;
    }

    .close {
        width: 100%;
        text-align: center;
        top: -25px;
    }
}