:root {
    --bs-body-color: var(--bs-text-color);
    --bs-body-color-rgb: var(--bs-text-color-rgb);
    --bs-body-bg: rgba(var(--bs-text-color-rgb), 0.1);
    --bs-border-color: rgba(var(--bs-text-color-rgb), 0);
    --bs-dropdown-bg: rgba(var(--bs-text-color-rgb), 0.1);
    --bs-nav-link-font-weight: 800;
    --bs-border-radius: 1rem;
    --bs-form-select-indicator-color: var(--bs-text-color);
    --bs-dropdown-border-radius: 0;
    --bs-border-radius-sm: 0.5rem;
    --bs-border-radius-lg: 1rem;
    --bs-border-radius-xl: 1rem;
    --bs-btn-close-color: var(--bs-text-color);
}

.btn-primary {
    --bs-btn-color: var(--bs-text-color);
    --bs-btn-bg: var(--bs-tertiary);
    --bs-btn-border-color: var(--bs-tertiary);
    --bs-btn-hover-color: var(--bs-text-color);
    --bs-btn-hover-bg: var(--bs-tertiary-darken);
    --bs-btn-hover-border-color: var(--bs-tertiary-darken);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--bs-text-color);
    --bs-btn-active-bg: var(--bs-tertiary-darken);
    --bs-btn-active-border-color: var(--bs-tertiary-darken);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-text-color);
    --bs-btn-disabled-bg: var(--bs-tertiary);
    --bs-btn-disabled-border-color: var(--bs-tertiary);
    display: inline-flex;
    align-items: center;
}

.btn-link {
    --bs-btn-color: var(--bs-tertiary);
    --bs-btn-hover-color: var(--bs-tertiary-darken);
    --bs-btn-active-color: var(--bs-tertiary-darken);
    --bs-btn-disabled-color: var(--bs-tertiary-darken);
    font-weight: bold;
    transition: 0.3s ease-in-out;
}

.btn-secondary {
    --bs-btn-color: var(--bs-text-color);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-text-color);
    --bs-btn-hover-bg: var(--bs-tertiary-darken);
    --bs-btn-hover-border-color: var(--bs-tertiary-darken);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--bs-text-color);
    --bs-btn-active-bg: var(--bs-tertiary-darken);
    --bs-btn-active-border-color: var(--bs-tertiary-darken);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-text-color);
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
    display: inline-flex;
    align-items: center;
}

.btn-lg {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
    line-height: 1.25;
}

.btn-outline-light {
    --bs-btn-border-color: rgba(var(--bs-text-color-rgb), 0.4);
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    color: var(--bs-text-color);
}

body {
    background: var(--bs-body-background);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;

    a:not(.btn):not(.nav-link):not(.dropdown-item) {
        color: var(--bs-tertiary);
        text-decoration: none;
        font-weight: bold;
        transition: 0.3s ease-in-out;

        &:hover {
            color: var(--bs-tertiary-darken);
        }
    }

    .navbar-toggler {
        border: none;
        color: var(--bs-body-color);
    }

    .navbar-toggler:focus {
        text-decoration: none;
        box-shadow: none;
    }

    .btn-close {
        color: var(--bs-text-color) !important;
    }

    .badge {
        --bs-badge-border-radius: 0.5rem;
    }

    .text-tertiary {
        color: var(--bs-tertiary);
    }

    .block-navbar {
        z-index: 1021;
    }

    #navbar {
        &.navbar-scrolled {
            background-color: var(--bs-primary);

        }

        > .container-xl {
            gap: 5px;
            min-height: 60px;

            > h1 {
                vertical-align: center;
                flex-grow: 1;
                flex-basis: min-content;
                margin: 0;
                text-align: center;
            }
        }

    }

    .offcanvas {
        --bs-offcanvas-bg: var(--bs-primary);

        .navbar-nav {
            --bs-nav-link-padding-x: 1rem;
            --bs-nav-link-padding-y: 0.75rem;
        }

        .offcanvas-body {
            display: flex;
            flex-direction: column;
        }

        .nav-link {
            display: flex;
            align-items: center;
            background-color: rgba(var(--bs-text-color-rgb), 0.1);
            border-radius: 0.5rem;
            transition: 0.3s;
            color: rgba(var(--bs-text-color-rgb), 0.7);
        }

        .nav-link:focus, .nav-link:hover {
            background-color: rgba(var(--bs-text-color-rgb), 0.2);
        }

        .dropdown-toggle::after {
            margin-left: auto;
        }
    }

    .dropdown-menu {
        border-radius: 0;
        border: none;
        --bs-dropdown-item-padding-y: 0.75rem;
    }

    .dropdown-item {
        transition: 0.3s;

        &:hover, &:focus {
            color: var(--bs-dropdown-link-hover-color);
            background-color: var(--bs-tertiary);
        }

        &.active {
            color: var(--bs-dropdown-link-hover-color);
            background-color: rgba(var(--bs-text-color-rgb), 0.2);
        }
    }

    .nav-link {
        font-weight: 600;
    }

    .nav-link:focus, .nav-link:hover {
        color: var(--bs-tertiary);
    }

    .ga-footer {
        background-color: rgba(var(--bs-text-color-rgb), 0.1);
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: center;
        font-weight: 600;
        font-size: 0.8rem;

        @media (min-width: 576px) {
            font-size: 0.9rem;
        }
        /*position: relative;*/

        /*&:before {*/
        /*    content: '';*/
        /*    position: absolute;*/
        /*    top: 0;*/
        /*    bottom: 0;*/
        /*    left: 0;*/
        /*    right: 0;*/
        /*    z-index: -2;*/
        /*    background-color: #242a5f;*/
        /*    opacity: 0.7;*/
        /*}*/
    }

    section {
        margin-top: 30px;
        margin-bottom: 30px;
        position: relative;

        @media (min-width: 992px) {
            margin-top: 45px;
            margin-bottom: 45px;
        }
    }

    .form-select {
        --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");

    }

    .form-control {
        background-color: var(--bs-body-bg);
    }

    .form-floating > label, .form-floating > .form-select {
        font-weight: bold;
    }

    .form-floating > .form-select ~ label {
        font-weight: normal;
    }

    .form-control:focus, .form-select:focus {
        border-color: rgb(var(--bs-text-color-rgb) / 25%);
        box-shadow: 0 0 0 .25rem rgb(var(--bs-text-color-rgb) / 25%);
        background-color: var(--bs-input);
    }

    .form-floating > .form-control:focus ~ label::after,
    .form-floating > .form-control:not(:placeholder-shown) ~ label::after,
    .form-floating > .form-select ~ label::after {
        background-color: transparent;
    }
}

.ratio-a4 {
    --bs-aspect-ratio: 141.4%;
}

.ratio-3x4 {
    --bs-aspect-ratio: 133.3333333333%;
}

.alert {
    position: fixed;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
}
