:root {
    /* Base colors */
    --color-success: #278200;
    --color-success-hover: #196E00;
    --color-danger: #D51923;
    --color-danger-hover: #BE1419;
    --color-warning: #F5A600;
    --color-warning-hover: #E19200;
    --color-info: #0058E9;
    --color-info-hover: #004ED2;
    /* Theme colors (buttons, backgrounds) */
    --color-primary: #E2001A;
    --color-primary-hover: #E2001A;
    --color-secondary: #4C4C4C;
    --color-secondary-hover: #4C4C4C;
    --color-tertiary: #4C4C4C;
    --color-tertiary-hover: #4C4C4C;
    /* Layout */
    --body-bg: #FCFCFD;
    --body-text: #4C4C4C;
    --body-link: #0A6EBD;
    --body-link-hover: #0A6EBD;
    --header-bg: #FFF;
    --header-text: #000;
    --header-border: #E2001A;
    --header-logo-bg: transparent;
    --burger-menu-btn-color: #E2001A;
    --nav-bg: transparent;
    --nav-link: rgba(34, 34, 34, 0.8);
    --nav-link-bg: transparent;
    --nav-link-hover: rgba(34, 34, 34, 1);
    --nav-link-hover-bg: transparent;
    --nav-borders: #E2001A;
    --nav-dropdown-bg: #FFF;
    --footer-bg: #FFF;
    --footer-text: #4C4C4C;
    --footer-link: #4C4C4C;
    --footer-link-hover: #4C4C4C;
    /* Global / misc */
    --placeholder-color: #6C6C6C;
}

::selection {
    background: var(--color-primary);
    color: #ffffff;
    text-shadow: none;
}

html, body {
    color: var(--body-text);
    background: var(--body-bg);
}

    body::after {
        background-image: linear-gradient(to right, #ffffff, #ffffff);
        background-color: #ffffff;
    }

a {
    color: var(--body-link);
}

    a:hover {
        color: var(--body-link-hover);
    }

    a:focus-visible {
        outline-color: var(--color-info);
        outline-style: dashed;
        outline-offset: 2px;
        outline-width: 2px;
    }


/* #Header */
header#site-header,
header#site-header .header-wrapper {
    color: var(--header-text);
    background: var(--header-bg);
    border-color: var(--header-border);
}

    header#site-header .logo-container {
        background: var(--header-logo-bg);
    }


/* #Navigation */
.navigation .reveal {
    background: var(--nav-bg);
}

    .navigation li a,
    .navigation li span {
        background: var(--nav-link-bg);
        color: var(--nav-link);
    }

        .navigation li a:hover,
        .navigation li span:hover,
        .navigation li:hover a,
        .navigation li:hover span {
            background: var(--nav-link-hover-bg);
            color: var(--nav-link-hover);
        }

@media (max-width: 991px) {
    header#site-header .navigation .reveal {
        background: var(--nav-dropdown-bg);
    }
}


/* #Text colors */
.text-black {
    color: #000 !important;
}

.text-white {
    color: #FFF !important;
}

.text-success {
    color: var(--color-success) !important;
}

.text-danger,
.text-error,
.error-message,
.field-validation-error {
    color: var(--color-danger) !important;
}

.text-warning {
    color: var(--color-warning) !important;
}

.text-info {
    color: var(--color-info) !important;
}


/* #Background colors */
.bg-success {
    background: var(--color-success) !important;
    color: #FFF !important;
}

.bg-danger {
    background: var(--color-danger) !important;
    color: #FFF !important;
}

.bg-warning {
    background: var(--color-warning) !important;
    color: #FFF !important;
}

.bg-info {
    background: var(--color-info) !important;
    color: #FFF !important;
}

.bg-primary {
    background-color: var(--color-primary) !important;
    color: #FFF;
}

    .bg-primary a {
        color: #FFF;
    }

        .bg-primary a:hover {
            color: #FFF;
        }

.bg-secondary {
    background-color: var(--color-secondary) !important;
    color: #FFF;
}

    .bg-secondary a {
        color: #FFF;
    }

        .bg-secondary a:hover {
            color: #FFF;
        }

.bg-tertiary {
    background-color: var(--color-tertiary) !important;
    color: #FFF;
}

    .bg-tertiary a {
        color: #FFF;
    }

        .bg-tertiary a:hover {
            color: #FFF;
        }


/* #Forms */
.form-control {
    color: var(--body-text);
    border-color: var(--body-text);
}

    .form-control::placeholder {
        color: var(--placeholder-color);
    }

    .form-control:focus {
        color: var(--body-text);
        border-color: var(--body-text);
    }

    .form-control.is-invalid {
        border-color: var(--color-danger) !important;
    }


/* #Buttons */
.btn {
    color: var(--color-primary);
    background-color: transparent;
    border-color: var(--color-primary);
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));
}

    .btn:hover {
        color: var(--color-primary-hover);
        border-color: var(--color-primary-hover);
    }

/* Success button */
.btn-success {
    color: #FFF;
    background-color: var(--color-success);
    border-color: var(--color-success);
}

    .btn-success:hover,
    .btn-success:focus,
    .btn-success:active,
    .btn-success.active {
        color: #FFF;
        background-color: var(--color-success-hover);
        border-color: var(--color-success-hover);
    }

    .btn-success:disabled,
    .btn-success.disabled {
        color: #FFF;
        background-color: var(--color-success);
        border-color: var(--color-success);
    }

    .btn-success.btn-transparent {
        color: var(--color-success);
        background-color: transparent;
        border-color: var(--color-success);
    }

    .btn-success.btn-transparent-hover:hover,
    .btn-success.btn-transparent-hover:focus,
    .btn-success.btn-transparent-hover:active,
    .btn-success.btn-transparent-hover.active {
        color: var(--color-success-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-success-hover);
    }

    .btn-success.btn-transparent:disabled,
    .btn-success.btn-transparent.disabled {
        color: var(--color-success);
        background-color: transparent;
        border-color: var(--color-success);
    }

/* Danger button */
.btn-danger {
    color: #FFF;
    background-color: var(--color-danger);
    border-color: var(--color-danger);
}

    .btn-danger:hover,
    .btn-danger:focus,
    .btn-danger:active,
    .btn-danger.active {
        color: #FFF;
        background-color: var(--color-danger-hover);
        border-color: var(--color-danger-hover);
    }

    .btn-danger:disabled,
    .btn-danger.disabled {
        color: #FFF;
        background-color: var(--color-danger);
        border-color: var(--color-danger);
    }

    .btn-danger.btn-transparent {
        color: var(--color-danger);
        background-color: transparent;
        border-color: var(--color-danger);
    }

    .btn-danger.btn-transparent-hover:hover,
    .btn-danger.btn-transparent-hover:focus,
    .btn-danger.btn-transparent-hover:active,
    .btn-danger.btn-transparent-hover.active {
        color: var(--color-danger-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-danger-hover);
    }

    .btn-danger.btn-transparent:disabled,
    .btn-danger.btn-transparent.disabled {
        color: var(--color-danger);
        background-color: transparent;
        border-color: var(--color-danger);
    }

/* Warning button */
.btn-warning {
    color: #FFF;
    background-color: var(--color-warning);
    border-color: var(--color-warning);
}

    .btn-warning:hover,
    .btn-warning:focus,
    .btn-warning:active,
    .btn-warning.active {
        color: #FFF;
        background-color: var(--color-warning-hover);
        border-color: var(--color-warning-hover);
    }

    .btn-warning:disabled,
    .btn-warning.disabled {
        color: #FFF;
        background-color: var(--color-warning);
        border-color: var(--color-warning);
    }

    .btn-warning.btn-transparent {
        color: var(--color-warning);
        background-color: transparent;
        border-color: var(--color-warning);
    }

    .btn-warning.btn-transparent-hover:hover,
    .btn-warning.btn-transparent-hover:focus,
    .btn-warning.btn-transparent-hover:active,
    .btn-warning.btn-transparent-hover.active {
        color: var(--color-warning-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-warning-hover);
    }

    .btn-warning.btn-transparent:disabled,
    .btn-warning.btn-transparent.disabled {
        color: var(--color-warning);
        background-color: transparent;
        border-color: var(--color-warning);
    }

/* Info button */
.btn-info {
    color: #FFF;
    background-color: var(--color-info);
    border-color: var(--color-info);
}

    .btn-info:hover,
    .btn-info:focus,
    .btn-info:active,
    .btn-info.active {
        color: #FFF;
        background-color: var(--color-info-hover);
        border-color: var(--color-info-hover);
    }

    .btn-info:disabled,
    .btn-info.disabled {
        color: #FFF;
        background-color: var(--color-info);
        border-color: var(--color-info);
    }

    .btn-info.btn-transparent {
        color: var(--color-info);
        background-color: transparent;
        border-color: var(--color-info);
    }

    .btn-info.btn-transparent-hover:hover,
    .btn-info.btn-transparent-hover:focus,
    .btn-info.btn-transparent-hover:active,
    .btn-info.btn-transparent-hover.active {
        color: var(--color-info-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-info-hover);
    }

    .btn-info.btn-transparent:disabled,
    .btn-info.btn-transparent.disabled {
        color: var(--color-info);
        background-color: transparent;
        border-color: var(--color-info);
    }

/* Primary button */
.btn-primary {
    color: #FFF;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

    .btn-primary:hover,
    .btn-primary:focus,
    .btn-primary:active,
    .btn-primary.active {
        color: #FFF;
        background-color: var(--color-primary-hover);
        border-color: var(--color-primary-hover);
    }

    .btn-primary:disabled,
    .btn-primary.disabled {
        color: #FFF;
        background-color: var(--color-primary);
        border-color: var(--color-primary);
    }

    .btn-primary.btn-transparent {
        color: var(--color-primary);
        background-color: transparent;
        border-color: var(--color-primary);
    }

    .btn-primary.btn-transparent-hover:hover,
    .btn-primary.btn-transparent-hover:focus,
    .btn-primary.btn-transparent-hover:active,
    .btn-primary.btn-transparent-hover.active {
        color: var(--color-primary-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-primary-hover);
    }

    .btn-primary.btn-transparent:disabled,
    .btn-primary.btn-transparent.disabled {
        color: var(--color-primary);
        background-color: transparent;
        border-color: var(--color-primary);
    }

/* Secondary button */
.btn-secondary {
    color: #FFF;
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
}

    .btn-secondary:hover,
    .btn-secondary:focus,
    .btn-secondary:active,
    .btn-secondary.active {
        color: #FFF;
        background-color: var(--color-secondary-hover);
        border-color: var(--color-secondary-hover);
    }

    .btn-secondary:disabled,
    .btn-secondary.disabled {
        color: #FFF;
        background-color: var(--color-secondary);
        border-color: var(--color-secondary);
    }

    .btn-secondary.btn-transparent {
        color: var(--color-secondary);
        background-color: transparent;
        border-color: var(--color-secondary);
    }

    .btn-secondary.btn-transparent-hover:hover,
    .btn-secondary.btn-transparent-hover:focus,
    .btn-secondary.btn-transparent-hover:active,
    .btn-secondary.btn-transparent-hover.active {
        color: var(--color-secondary-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-secondary-hover);
    }

    .btn-secondary.btn-transparent:disabled,
    .btn-secondary.btn-transparent.disabled {
        color: var(--color-secondary);
        background-color: transparent;
        border-color: var(--color-secondary);
    }

/* Tertiary button */
.btn-tertiary {
    color: #FFF;
    background-color: var(--color-tertiary);
    border-color: var(--color-tertiary);
}

    .btn-tertiary:hover,
    .btn-tertiary:focus,
    .btn-tertiary:active,
    .btn-tertiary.active {
        color: #FFF;
        background-color: var(--color-tertiary-hover);
        border-color: var(--color-tertiary-hover);
    }

    .btn-tertiary:disabled,
    .btn-tertiary.disabled {
        color: #FFF;
        background-color: var(--color-tertiary);
        border-color: var(--color-tertiary);
    }

    .btn-tertiary.btn-transparent {
        color: var(--color-tertiary);
        background-color: transparent;
        border-color: var(--color-tertiary);
    }

    .btn-tertiary.btn-transparent-hover:hover,
    .btn-tertiary.btn-transparent-hover:focus,
    .btn-tertiary.btn-transparent-hover:active,
    .btn-tertiary.btn-transparent-hover.active {
        color: var(--color-tertiary-hover);
        background-color: rgba(180, 180, 180, 0.1);
        border-color: var(--color-tertiary-hover);
    }

    .btn-tertiary.btn-transparent:disabled,
    .btn-tertiary.btn-transparent.disabled {
        color: var(--color-tertiary);
        background-color: transparent;
        border-color: var(--color-tertiary);
    }

/* Toggle button */
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.show > .btn-primary.dropdown-toggle,
.btn-check:focus + .btn-primary {
    color: #FFF;
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}

.btn-check:checked + .btn-secondary,
.btn-check:active + .btn-secondary,
.show > .btn-secondary.dropdown-toggle,
.btn-check:focus + .btn-secondary {
    color: #FFF;
    background-color: var(--color-secondary-hover);
    border-color: var(--color-secondary-hover);
}

.btn-check:checked + .btn-tertiary,
.btn-check:active + .btn-tertiary,
.show > .btn-tertiary.dropdown-toggle,
.btn-check:focus + .btn-tertiary {
    color: #FFF;
    background-color: var(--color-tertiary-hover);
    border-color: var(--color-tertiary-hover);
}


/* Form required asterisk */
em.req {
    font-style: normal;
    color: var(--color-danger);
}
