/* Schriftarten */
@font-face {
    font-family: "Confetti";
    src: url("/fonts/Party Confetti.ttf") format("trueType");
}
@font-face {
    font-family: "accid";
    src: url("/fonts/accid___.ttf") format("truetype");
}
/* Variablen */
:root{
    --background-color: #ffffff;
    --text-background:#e6e6e6;
    --main-text-color: #182f5a;
    --input-color:#ffffff;
    --link-color:#6262a7;
    --footer-color:#c5c5c5;
    --text-background-darker:#b9b9b9;;
    --heading-font: 'Confetti';
    --text-font: 'accid';
    --deg:90deg;
    --gradient-green: #40eed4;
    --gradient-yellow:#e6ff3f;
    --gradient-red:#ff5085;
    --gradient-pink:#fb63f4;
    --breite-des-formulars: 40%;
    --grid-breite: 3;

}
/* Keyframes */
@keyframes ueberschrift {
    0%{
        transform: scale(0);
    }
    70%{
        transform:scale(1.1);
    }
    100%{
        transform: scale(1);
    }
}
@keyframes bilder {
    0%{
        margin-top: 10%;
        opacity: 0;
    }
    100%{
        margin-top:0;
        opacity: 1;
    }
}
@keyframes close {
    0%{
        z-index:100;
        opacity: 1;
        width:var(--breite-des-formulars);
    }
    40%{
        opacity: 0;
        z-index:100;
    }
    100%{
        width:0;
        opacity: 0;
        z-index:-1000;
    }
}
@keyframes show {
    0%{
        opacity: 0;
        width:0;
        z-index:100;
    }
    70%{
        opacity: 1;
    }
    100%{
        width:var(--breite-des-formulars);
        opacity: 1;
        z-index:100;
    }
}
/* Body */
html{
    font-size: 100%;
    max-width: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
    /* filter: blur(50px); */
}
body{
    background-color: var(--background-color);
    color: var(--main-text-color);
    margin:0;
    max-width: 100%;
    min-height:100vh;
}
/* Schriften */
h1{
    font-family: var(--heading-font);
    font-size: 100px;
    margin:0;
    margin-left:auto; margin-right:auto;
    z-index:2;
    transition: ease-in-out 0.5s;
    width: fit-content;
    animation: 0.8s ease-in-out 0s 1 ueberschrift;
}
h1:hover{
    transform:rotate(3deg) scale(1.1);
    cursor:default;
}
.farbkasten h2{
    margin-bottom:5px;
}
h2{
    font-family: var(--heading-font);
    font-size: 50px;
    margin-top:0;
}
h3{
    font-family: var(--text-font);
    font-size:30px;
    margin-bottom: 10px;
}
h4{
    font-family: var(--text-font);
    font-size:20px;
    margin-bottom: 5px;
}
p{
    font-family: var(--text-font);
    font-size:38px;
}
q{
    font-family: var(--text-font);
    font-size:40px;
    text-align:center;
    display: block;
}
i{
    color:var(--link-color);
}
label{
    font-family: var(--text-font);
    font-size:30px;
}
.heading, .heading:visited{
    text-decoration: none;
    color: var(--main-text-color);
}
.link{
    font-family: var(--text-font);
    color: var(--link-color);
    font-size:38px;
    text-decoration: none;
    display: inline-block;
    transition: ease-in-out 0.3s;
}
.link:hover{
    transform: scale(0.95);
}
/* Header */
header{
    height: 300px;
    text-align: center;
    display:grid;
    align-content:center;
    box-shadow: 0px 0px 21px 12px rgba(0, 0, 0, 0.185);
}
.farbe{
    background: linear-gradient(var(--deg), var(--gradient-green) 0%, var(--gradient-yellow) 38%, var(--gradient-red) 70%, var(--gradient-pink) 100%);
    position:absolute;
    top:-700px;
    left:-200%;
    height:1000px;
    width:300%;
    z-index:1;
}
/* Farbkasten */
.farbkasten{
    background: linear-gradient(var(--deg), var(--gradient-pink) 0%, var(--gradient-red) 38%, var(--gradient-yellow) 70%, var(--gradient-green) 100%);
    padding:10px;
    padding-right:40px;
    width:50%;
    border-radius: 30px;
    margin-left: auto; margin-right: auto;
}
.auswahl{
    background-color: var(--text-background-darker);
    width:100%;
    border-radius: 20px;
    padding:10px;
    padding-left:20px;
    text-align: center;
}
/* Inputs */
input{
    background-color: var(--input-color);
    border:none;
    border-radius: 5px;
    padding:4px;
    font-family: var(--text-font);
    font-size: 24px;
    margin-top:5px;
}
/* Forms */
.login{
    position:fixed;
    margin-top: 12%;
    margin-bottom: auto;
    height:fit-content;
    min-height:fit-content;
    margin-left: 30%; margin-right: 30%; width:40%;
    text-align: center;
    background-color: var(--text-background-darker);
    z-index: 99;
    border: 5px solid var(--input-color);
    display: grid;
    grid-template: repeat(6, 1fr) 10px 1fr / repeat(3,1fr);
    gap: 10px;
    width:0;
    opacity: 0;
    z-index:-1000;
}
.login.close{
    animation-name: close;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
.login.show{
    animation-name: show;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
.login-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: 0.5s ease-in-out;
    pointer-events: none;
    z-index: 99;
    backdrop-filter: blur(10px);
  }
  
  .login.show + .login-overlay {
    opacity: 1;
    pointer-events: all;
  }
.login p{
    margin:0;
}
form[id = "meldung"]{
    transition: 0.5s ease-in-out;
}
/* Buttons */
button{
    font-family: var(--text-font);
    font-size:24px;
    padding:4px;
    border-radius: 5px;
    margin-top:10px;
    background-color: var(--input-color);
    transition: ease-in-out 0.3s;
    border: 1px solid var(--main-text-color);
    z-index:5;
}
button:hover{
    transform: scale(0.96);
    cursor:pointer;
}
.soundbutton{
    width:100%;
    height:100%;
    margin:0;
    border:none;
    display:inline-block;
}
.soundbutton:hover{
    transform: scale(0.98);
}
.heartbutton{
    height:100%;
    margin-top:0;
    border:none;
}
.back{
    position:fixed;
    bottom:40px; left: 20px;
}
.loginbutton{
    position:fixed;
    bottom:90px; left: 20px;
    height:60px;
    width:60px;
    z-index:1;
}
.userbutton, .logoutbutton{
    position:fixed;
    bottom:90px; left: 20px;
    height:40px;
    width:auto;
    z-index:1;
}
.userbutton a, .logoutbutton a{
    text-decoration: none;
    color:black;
}
.logoutbutton{
    bottom: 140px;
}
/* Footer */
footer{
    display: grid;
    grid-template: 30px / 1fr 1fr 1fr;
    align-items: center;
    text-align: center;
    background-color: var(--footer-color);
    position:fixed;
    bottom:0;
    margin-top:40px;
    font-family: var(--text-font);
    width:100%;
    z-index:90;
}
footer .link{
    font-size:20px;
}
section{
/* Inhalt */
    background-color: var(--text-background);
    padding: 40px;
    width:60%;
    margin-left: auto; margin-right: auto;
    margin-top: 40px;
    border-radius: 20px;
    transition: ease-in-out 0.5s;
    height:auto;
}
section.sounds{
    display:grid;
    grid-template-columns: repeat(var(--grid-breite), 1fr);
    gap: 10px 10px;
    text-align:center;
    text-align:center;
    margin-top: -100px;
} 
.sound{
    position: relative;
    border-radius: 10px;
    margin:5px;
    padding:5px;
    background: linear-gradient(var(--deg), rgb(250, 111, 243) 0%, rgb(131, 106, 241) 50%, rgb(87, 125, 250) 100%);
    background-attachment: fixed;
    display:grid;
    grid-template-columns: 4fr 1fr;
    gap: 0 5px;
}
section.articles{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align:center;
}
.sound h3{
    margin-top:0;
}
audio{
    width:100%
}
img{
    width:70%;
    margin-left: 15%; margin-right: 15%;
    animation: 1s ease-out 0s 1 bilder;
}
figcaption{
    text-align: center;
    font-family: var(--text-font);
    font-size: 20px;
}
.article{
    width:100%;
    background-color: var(--text-background-darker);
}
@media (prefers-color-scheme:dark){
    :root{
        --background-color: #130030;
        --text-background:#1f0050;
        --main-text-color: #b3c9f1;
        --input-color: #e3e1ff;
        --link-color:#62a787;
        --footer-color:#18023a;
        --text-background-darker:#1b0141;;
        --heading-font: 'Confetti';
        --text-font: 'accid';
        --deg:90deg;
        --gradient-green: #34beaa;
        --gradient-yellow:#adc030;
        --gradient-red:#b3365c;
        --gradient-pink:#b84bb2;
    }
    .heading, .heading:visited{
        color: var(--background-color)
    }
}
@media only screen and (max-width: 970px) {
    section{
        width:70%;
    }
    h1{
        font-size: 35px;
    }
    header{
        height: 150px;
    }
    .farbe{
        height:850px;
    }
    h2{
        font-size: 25px;
    }
    p{
        font-size:25px;
    }
    .link{
        font-size:25px;
    }
    input{
        width: 80%;
    }
    .loginbutton{
        width: 50px; height:50px;
    }
    .farbkasten{
        width:80%;
    }
    :root{
        --breite-des-formulars:90%;
        --grid-breite: 2;
    }
    .login{
        margin-left:calc(((100% - var(--breite-des-formulars))/2) - 5px); margin-right: calc(((100% - var(--breite-des-formulars))/2) - 5px);
    }
    section.sounds{
        padding: 0px;
        padding-top: 40px;
        width:90%;
        align-self: center;
        gap: 5px 5px;
        justify-content: center;
        text-align: right;
    }
    .sound{
        margin:0;
        width: 95%;
    }
    .back{
        right:6.25%;
        left:auto;
        width: 25%;
        background-color: var(--gradient-red);
        z-index:99999;
        border:none;
    }
    .userbutton{
        right: 36.25%;
        left:auto;
        width: 25%;
        bottom:40px;
        background-color: var(--gradient-red);
        z-index:99999;
        border:none;
    }
    .logoutbutton{
        bottom:40px;
        left:auto;
        right:67.5%;
        width:25%;
        background-color: var(--gradient-red);
        z-index:99999;
        border:none;
    }
    .loginbutton{
        z-index:99999;
        bottom: 40px;
        background-color: var(--gradient-red);
        border:none;
    }
}