/***********************************************************************/
/******************************** %basics% *****************************/
/***********************************************************************/

/*#region Basics*/
*, *:before, *:after {
    box-sizing: border-box;
}

*::selection {
    background: var(--selection);
}

html {
    width: 100%;
    height: 100%;
}

body {
    font-family: var(--sansserif);
    background-color: var(--background);
    color: var(--color);
    margin: 0;
}

body.no-scroll {
    overflow-y: hidden;
}

main {
    min-height: 100vh;
    position: relative;
    z-index: 1;
    background-color: var(--background);
    padding-bottom: 3rem;
    height: 100%;
    overflow-x: hidden; /*Necessary to prevent horizontal scrolling due to h2 backgrounds*/
    overflow-x: clip; /*Allows sticky positioning, but is not yet supported in Safari*/
}

main section {
    padding: 1.5rem 0;
}

main section:last-of-type {
    padding-bottom: 0;
}

section .content {
    max-width: 1200px;
    margin: 0 auto;
}

.notransition {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

.hidden {
    display: none !important;
}

hr {
}

p.initial::first-letter {
    color: var(--tertiary);
    float: left;
    font-family: Georgia;
    font-size: 5rem;
    line-height: 60px;
    padding-top: 8px;
    padding-right: 8px;
    padding-left: 3px;
}

iframe.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}

select {
    width: 100%;
    margin: 0;
    padding: 0.5rem;
}

.center {
    text-align: center;
}

button {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

.banner-section {
    background-repeat: no-repeat;
    background-position: 50.00% 57.34%;
    background-size: 100%;
    background-color: transparent;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 450px;
}

.banner-section h1 {
    text-align: center;
    margin: 0;
    font-size: 5rem;
    color: white;
}

h1 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 3rem;
}

@media (max-width: 1200px) {
    section .content {
        padding-inline: 0.5rem;
    }
}