:root {
    --color-primary: #232E60;
    --color-secondary: #61A1C5;
}

@font-face {
    font-family: 'Monument Grotesk';
    src: url('/fonts/MonumentGrotesk-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Monument Grotesk';
    src: url('/fonts/MonumentGrotesk-Medium.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Monument Grotesk';
    src: url('/fonts/MonumentGrotesk-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

html, body {
    font-family: 'Monument Grotesk', Arial, sans-serif;
}

.color-primary, .text-primary {
    color: var(--color-primary) !important;
}
.bg-dark, .bg-primary {
    background-color: var(--color-primary) !important;
}

.btn-primary {
    color: var(--bs-btn-color) !important;
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.btn-secondary {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
    color: #fff !important;
}

.btn.btn-primary:hover, .btn.btn-primary:active {
    background-color: var(--color-primary) !important;
}
.btn.btn-secondary:hover, .btn.btn-secondary:active {
    background-color: var(--color-secondary) !important;
}

.form-check-input:checked {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary) !important;
}

a.btn {
    color: var(--bs-btn-color) !important;
}

a {
    color: var(--color-primary) !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.mr-2 {
    margin-right: 0.5rem !important;
}
.ml-2 {
    margin-left: 0.5rem !important;
}

.field-validation-error {
    color: red !important;
}

.input-validation-error {
    border-color: red !important;
}

.form-control.readonly {
    background-color: #e9ecef;
    opacity: 1;
}

.sb-sidenav-dark, .sb-sidenav-dark .sb-sidenav-footer {
    background-color: var(--color-primary) !important;
}

    .sb-sidenav-dark .sb-sidenav-menu .nav-link {
        color: #ffffff !important;
    }

.sb-sidenav .sb-sidenav-menu .nav .sb-sidenav-menu-heading.info {
    padding: 0.5rem 1rem 0.5rem;
    text-transform: none !important;
}
.sb-sidenav .sb-sidenav-menu .nav .nav-link {
    padding: 0.5rem !important;
}

    .sb-sidenav .sb-sidenav-menu .nav .nav-link .sb-nav-link-icon {
        color: #ffffff !important;
        min-width: 20px;
        text-align: center;
    }

::-webkit-file-upload-button {
    display: none;
}
::file-selector-button {
    display: none;
}





/* START Absolute Center Spinner */
.loading {
    position: fixed;
    z-index: 9999;
    height: 2em;
    width: 2em;
    overflow: show;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

    /* Transparent Overlay */
    .loading:before {
        content: '';
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.3);
    }

    /* :not(:required) hides these rules from IE9 and below */
    .loading:not(:required) {
        /* hide "loading..." text */
        font: 0/0 a;
        color: transparent;
        text-shadow: none;
        background-color: transparent;
        border: 0;
    }

        .loading:not(:required):after {
            content: '';
            display: block;
            font-size: 10px;
            width: 1em;
            height: 1em;
            margin-top: -0.5em;
            -webkit-animation: spinner 1500ms infinite linear;
            -moz-animation: spinner 1500ms infinite linear;
            -ms-animation: spinner 1500ms infinite linear;
            -o-animation: spinner 1500ms infinite linear;
            animation: spinner 1500ms infinite linear;
            border-radius: 0.5em;
            -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
            box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
        }

/* Animation */

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
/* END Absolute Center Spinner */

.env-badge {
    z-index: 1055;
    padding: 6px 14px;
    font-weight: 600;
    font-size: 0.85rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
    position: absolute;
    width: 100%;
}