:root
{
    --highlight: #9c3439;
}

body
{
    margin: 0;
    padding: 0;
    overflow: hidden;
    font-size: 16px;
    font-family: var(--regular_font);
    color: var(--white);
    background-color: black;
}

.background
{
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--black);
    pointer-events: none;
    z-index: -1;
}

.background > div
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
    opacity: 0;
}

.background > div:nth-child(1)
{
    background: radial-gradient(circle at 100% 80%, var(--highlight) 0%, transparent 45%);
    animation: show_background 1.1s 0.1s ease-in-out forwards;
}

.background > div:nth-child(2)
{
    background: radial-gradient(circle at 10% 30%, #3f3b3b 0%, transparent 50%);
    animation: show_background 1s ease-in-out forwards;
}

@keyframes show_background
{
    from
    {
        opacity: 0;
    }
    to
    {
        opacity: 0.75;
    }
}

.logo
{
    left: 50vw;
    transform: translateX(-50%);
}

.form_container
{
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.form_container > h1
{
    margin-top: -10vh;
    margin-bottom: 5vh;
    font-family: var(--title_font);
    font-size: 45px;
}

.form_container > form
{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form_container > span
{
    margin-top: 10px;
    opacity: 0.8;
    font-size: 15px;
}

.form_container > .or
{
    margin-top: 8px;
    margin-bottom: 12px;
    font-size: 18px;
    color: var(--light);
    font-family: var(--title_font);
}

.form_container > .or::before,
.form_container > .or::after
{
    content: "";
    display: inline-block;
    width: 80px;
    height: 1px;
    background-color: var(--light);
    vertical-align: middle;
    margin: 0 8px;
}

form > input
{
    outline: none;
    padding: 3px;
    box-sizing: border-box;
    background-color: var(--background);
    border: 1px solid transparent;
    color: var(--white);
    font-size: 14px;
    width: 220px;
    text-align: center;
    transition: 0.3s;
}

form > input:hover
{
    border-color: var(--hover);
}

form > input:focus
{
    border-color: var(--active);
}

.arrow_link_button
{
    position: relative;
    margin-top: 10px;
    font-size: 20px;
    padding: 6px 20px;
    background-color: var(--white);
    color: black;
    border: none;
}

.arrow_link_button > div
{
    right: 15px;
    height: 18px;
    background-color: black;
}

.arrow_link_button > div::before
{
    background-image: url("../gfx/svg/horizontal_arrow_white.svg");
    background-size: 50%;
}

.arrow_link_button > div::after
{
    background-image: url("../gfx/svg/horizontal_arrow_orange.svg");
    background-size: 50%;
}

.arrow_link_button:hover
{
    background: var(--highlight);
}

.arrow_link_button:hover > div::before
{
    animation: hover_horizontal_main_arrow 0.6s ease forwards;
}

.arrow_link_button:hover > div::after
{
    animation: hover_horizontal_highlight_arrow 0.6s ease forwards;
}
