:root {
    --base-0: #FFFFFF;
    --base-100: #F7F7F8;
    --base-200: #E4E6E8; /*border input*/
    --base-300: #D1D5D8;
    --base-400: #BDC2C6;
    --base-500: #A1A9AF;
    --base-1000: #636A71;
    --base-2000: #353A40;

    --accent-300: #E1EDF8;
    --accent-500: #3072B2;
    --accent-1000: #0052A0;

    --base-error: #DC3545;
    --base-system: #833415;

    /* Filters */
    --filter-accent-1000: brightness(0) saturate(100%) invert(20%) sepia(81%) saturate(1910%) hue-rotate(193deg) brightness(98%) contrast(101%);
    --filter-error: brightness(0) saturate(100%) invert(44%) sepia(75%) saturate(6857%) hue-rotate(338deg) brightness(92%) contrast(86%);




    --offset-3xs: 8px;
    --offset-xxs: 12px;
    --offset-xs: 16px;
    --offset-s: 24px;
    --offset-m: 32px;
    --offset-l: 56px;
    --offset-xl: 96px;
    --offset-xxl: 240px;

    --break-xl: 1440px;
    --break-lg: 1040px;
    --break-md: 768px;
    --break-sm: 490px;
}


* {
    box-sizing: border-box;
    outline: none;
    box-shadow: none;
}

body {
    margin: 0;
    padding: 0;
    font-family: Roboto, sans-serif;
    font-weight: 400;
    font-size: calc(14px + 2 * ((100vw - 360px) / (1920 - 360)));
    line-height: 150%;
    letter-spacing: 0.01em;
    color: var(--base-2000);
    font-feature-settings: "pnum" on, "lnum" on;
    min-height: 100vh;
    height: 100%;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.page-main {
    flex-grow: 1;
}

.container {
    width: 100%;
    max-width: var(--break-xl);
    margin: 0 auto;
    padding: 0 var(--offset-l);
}

section {
    padding: var(--offset-xs) 0;
}

hr {
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

h1 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 125%;
    letter-spacing: 0.01em;
    color: var(--base-2000);
}

ul, li, ol {
    padding: 0;
    margin: 0;
}

/* Buttons */
.btn {
    display: grid;
    align-content: center;
    justify-content: center;
    border: unset;
    border-radius: var(--offset-3xs);
    padding: var(--offset-xxs) var(--offset-s);
    width: 100%;
    height: 52px;
    min-width: 280px;
    max-width: 440px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 125%;
    cursor: pointer;
    transition: 0.3s all;
}

.btn-primary {
    transition: 0.3s all;
    background-color: var(--accent-1000);
    color: var(--base-0);
}

.btn-secondary {
    background-color: var(--base-200);
    color: var(--base-2000);
    transition: 0.3s all;
}

@media(hover: hover) {
    .btn-primary:hover {
        transition: 0.3s all;
        background-color: var(--accent-500);
    }

    .btn-secondary:hover {
        transition: 0.3s all;
        background-color: var(--base-300);
        color: var(--base-2000);
    }
}

/* Links */
.link {
    color: var(--accent-1000);
    text-decoration: none;
}

/* popup overlay */
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -100;
    background-color: var(--accent-1000);
    opacity: 0.7;
    display: none;
}

.overlay--active {
    display: block;
    z-index: 100;
}


@media(max-width: 1921px) {

    body {
        font-size: 16px;
    }
}