/*---------------
     Settings
---------------*/

@viewport {
    zoom: 1.0;
    width: device-width;
}

@font-face {
    font-family: Gontserrat;
    src: url(/Fonts/Gontserrat-Light.ttf);
}

@font-face {
    font-family: Comfortaa-Bold;
    src: url(/Fonts/Comfortaa-Bold.ttf);
}

@font-face {
    font-family: Comfortaa-Light;
    src: url(/Fonts/Comfortaa-Light.ttf);
}

@font-face {
    font-family: Comfortaa;
    src: url(/Fonts/Comfortaa-Regular.ttf);
}

@-ms-viewport {
    width: device-width;
}

/*---------------
    Variables
---------------*/

:root {
    /* Fonts */
    --font-main: Gontserrat,Comfortaa,Segoe,"Helvetica Neue",Helvetica,Arial,sans-serif;
    --font-base: "Helvetica Neue",Helvetica,Arial,sans-serif;
    --font-bold: Gontserrat,Comfortaa-Bold,Comfortaa,Segoe,"Helvetica Neue",Helvetica,"Arial Black",sans-serif;
    /* Colors */
    --color-primary: #f7f9fb;
    --color-secondary: #000000;
    --color-zyn-black: #000000;
    --color-zyn-white: #ffffff;
    --color-zyn-dark-blue: #263A5E;
    --color-zyn-light-gray: #aaa;
    --color-zyn-gray: #777;
    --color-zyn-neon-green: #30E5D0;
    --color-zyn-neon-blue: #50E6FF;
    --color-zyn-neon-purple: #D59DFF;
    --color-zyn-darkcyan: #008B8B;
    --color-zyn-darkcyan-light: #2ABEBE;
    --color-zyn-shadow: rgba(0,0,0,0.7);
    --color-zyn-tile: #ffffff;
    /* Sizes */
    --width-zyn-max: 1206px;
    /* Paths */
    --logo-zyn: url(../Assets/v1a-sm.png);
    --logo-zyn-co: url(../Assets/zs-bk.png);
}

@media (prefers-color-scheme: dark) {

    :root {
        /* Colors */
        --color-primary: #272829;
        --color-secondary: #ffffff;
        --color-zyn-dark-blue: #ffffff;
        --color-zyn-gray: #777;
        --color-zyn-light-gray: #121212;
        --color-zyn-shadow: rgba(255,255,255,0.12);
        --color-zyn-tile: #777;
        --invert-image: invert(100%);
    }

}

/*---------------
      Text
---------------*/

h1, h2 {
    font-family: var(--font-bold);
    color: var(--color-secondary);
}

/* calc() is used to ensure backwards compatibility*/
h1 {
    font-size: calc(25px + (70 - 25) * ((100vw - 400px) / (1920 - 400)));
    font-size: clamp(25px, 4vw, 70px);
}

h2 {
    font-size: calc(20px + (40 - 20) * ((100vw - 400px) / (1920 - 400)));
    font-size: clamp(20px, 4vw, 40px);
}

h3 {
    font-family: var(--font-bold);
    color: var(--color-secondary);
    font-size: calc(15px + (25 - 15) * ((100vw - 400px) / (1920 - 400)));
    font-size: clamp(15px, 4vw, 25px);
}

h4 {
    font-family: var(--font-bold);
    color: var(--color-secondary);
    font-size: 20px;
    margin: 4px 0;
}

h5 {
    font-family: var(--font-base);
    font-style: normal;
    font-weight: 600;
    font-size: 70px;
    line-height: 75px;
}

p, a {
    line-height: 25px;
    font-weight: 600;
    font-family: var(--font-base);
    color: var(--color-secondary);
    text-decoration: none;
}

.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

/*---------------
    Sections
---------------*/

html, body {
    font-family: var(--font-base);
    background-color: var(--color-zyn-darkcyan);
    margin: 0;
}

main {
    position: relative;
    padding: 0;
    z-index: 1;
    overflow: hidden;
}

/*---------------
    Misc
---------------*/

.button-container {
    opacity: 0;
    animation: 1s ease-in 1s 1 slideIn forwards;
}

/*---------------
      Blazor
---------------*/

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "Es ist ein Fehler aufgetreten!"
    }

/*---------------
    Animation
---------------*/

@keyframes slideIn {
    0% {
        transform: translateY(+100%);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}