html {
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
}

* {
    box-sizing: border-box;
}

a {
    color: #FFF8F0;
    font-family: 'Amatic SC', Arial, Helvetica, sans-serif;
    font-size: 1.2rem;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-size: 20px;
    font-family: 'Actor', Arial, Helvetica, sans-serif;
    text-align: center;
}

#header, h1, h2 {
    display: flex;
    flex-direction: column-reverse;
    font-family: 'Amatic SC', Arial, Helvetica, sans-serif;
}

#header {
    font-size: 1.5rem;
}

#header #logo {
    flex: 1;
    background-color: white;
    padding: 5px 35vw 0 3vw;
    -webkit-box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
    box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
}

#header .maintitle {
    flex: 1;
    color: white;
    background-color: #160E0D;
    padding: 10px;
    text-align: center;
}

#header #logo img {
    width: 100%;
}

#tanuki {
    display: block;
    position: absolute;
    top: 5vw;
    right: 0;
    z-index: 100;
    padding: calc(10px + 0.5rem) 2px;
}

#tanuki img {
    width: 40vw;
    height: auto;
}

#content {
    background-color: #8D2B2B;
    padding: 25px 15px;
    -webkit-box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
    box-shadow: inset 0px 10px 29px -8px rgba(0, 0, 0, 0.75);
    font-size: 0.9rem;
}

.zusatz {
    font-size: 0.6rem;
}

.hervor {
    color: #FFF8F0;
    font-size: 1.1rem;
}

#spotify {
    width: 100%;
    height: auto;
    text-align: center;
}

#spotify iframe {
    width: 100%;
}

#fileupload {
    border: 1px solid #160E0D;
    padding: 20px;
    color: #FFF8F0;
    font-family: 'Amatic SC', Arial, Helvetica, sans-serif;
    font-size: 1.2rem;
}

.nameinput label {
    margin-right: 10px;
}

.fileinput {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.fileinput+label {
    font-size: 1.25em;
    color: #FFF8F0;
    background-color: #160E0D;
    display: inline-block;
    width: 60%;
    padding: 10px;
    -webkit-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
}

.fileinput:focus+label, .fileinput+label:hover {
    background-color: #562821;
}

#datalist {
    color: #160E0D;
}

#dsgvo+label {
    font-size: 0.7rem;
    font-family: 'Actor', Arial, Helvetica, sans-serif;
}

#fileupload button {
    font-size: 1.25em;
    color: #FFF8F0;
    background-color: #160E0D;
    width: 90%;
    padding: 10px;
    border-color: #160E0D;
    font-family: 'Amatic SC', Arial, Helvetica, sans-serif;
}

#uploadform:focus+button, #fileupload button:hover {
    background-color: #562821;
    border-color: #FFF8F0;
}

#uploadform, button#signout {
    display: none;
}

#progressbar {
    display: none;
    background-color: rgba(22, 14, 13, 0.5);
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

#progressbar #progress {
    height: 30px;
    width: 1%;
    background: linear-gradient(180deg, rgba(0,255,0,1) 0%, rgba(0,69,0,1) 100%);
    color: #FFF8F0;
    font-family: 'Actor', Arial, Helvetica, sans-serif;
    padding: 5px;
}

#progressbar #progressvalue {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
}

#success {
    display: none;
    color: black;
    font-weight: 800;
    font-size: 3rem;
}

#footer {
    background-color: #160E0D;
    padding: 10px 25px 25px 25px;
    font-size: 0.8rem;
    color: #FFF8F0;
}

/* Style the button that is used to open and close the collapsible content */

.collapsible {
    background-color: #160E0D;
    color: #FFF8F0;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: 2px solid #160E0D;
    text-align: center;
    outline: none;
    font-size: 15px;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */

.active, .collapsible:hover {
    color: #8D2B2B;
}

/* Style the collapsible content. Note: hidden by default */

.collapsiblecontent {
    padding: 0 18px;
    display: none;
    overflow: hidden;
    background-color: #FFF8F0;
    border: 2px solid #160E0D;
}

/* The snackbar - position it at the bottom and in the middle of the screen */

#snackbar {
    visibility: hidden;
    width: 80vw;
    margin: 0 10vw;
    background-color: #562821;
    color: #FFF8F0;
    text-align: center;
    border-radius: 2px;
    border: 2px solid #160E0D;
    padding: 16px;
    position: fixed;
    z-index: 100;
    top: 30px;
    -webkit-box-shadow: 0px 4px 19px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 4px 19px 0px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 4px 19px 0px rgba(0, 0, 0, 0.75);
}

/* Show the snackbar when clicking on a button (class added with JavaScript) */

#snackbar.show {
    visibility: visible;
    /* Show the snackbar */
    /* Add animation: Take 0.5 seconds to fade in and out the snackbar.
    However, delay the fade out process for 2.5 seconds */
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@media only screen and (min-width: 780px) {
    body {
        padding: 0 20vw;
        background: linear-gradient(#160E0D, #562821);
    }
    #tanuki {
        right: 25vw;
        width: 15vw;
        top: 10px;
    }
    #tanuki img {
        width: 15vw;
        height: auto;
    }
    #header #logo {
        padding: 5px 20vw 0 20vw;
    }
    #snackbar {
        margin: 0 -10vw;
    }
    .fileinput+label {
        width: 30%;
    }
}

button {
    -webkit-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.75);
}

/* Animations to fade the snackbar in and out */

@-webkit-keyframes fadein {
    from {
        top: 0;
        opacity: 0;
    }
    to {
        top: 30px;
        opacity: 1;
    }
}

@keyframes fadein {
    from {
        top: 0;
        opacity: 0;
    }
    to {
        top: 30px;
        opacity: 1;
    }
}

@-webkit-keyframes fadeout {
    from {
        top: 30px;
        opacity: 1;
    }
    to {
        top: 0;
        opacity: 0;
    }
}

@keyframes fadeout {
    from {
        top: 30px;
        opacity: 1;
    }
    to {
        top: 0;
        opacity: 0;
    }
}