@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');

:root {
    --brand-primary: #2A314D;
    --brand-primary-rgb: 42, 49, 77;
    --brand-primary-strong: #171A29;
    --brand-primary-strong-rgb: 23, 26, 41;
    --brand-support-1: #B56A32;
    --brand-support-1-rgb: 181, 106, 50;
    --brand-support-2: #EDC15E;
    --brand-support-2-rgb: 237, 193, 94;
    --brand-support-3: #F8E7B7;
    --brand-support-3-rgb: 248, 231, 183;
    --brand-secondary-hover: #8c4d23;

    --bs-blue: var(--brand-primary);
    --bs-indigo: var(--brand-primary);
    --bs-purple: var(--brand-primary);
    --bs-pink: var(--brand-support-1);
    --bs-red: var(--brand-support-1);
    --bs-orange: var(--brand-support-1);
    --bs-yellow: var(--brand-support-2);
    --bs-green: var(--brand-support-1);
    --bs-teal: var(--brand-support-2);
    --bs-cyan: var(--brand-support-2);

    --bs-primary: var(--brand-primary);
    --bs-primary-rgb: var(--brand-primary-rgb);
    --bs-secondary: var(--brand-support-1);
    --bs-secondary-rgb: var(--brand-support-1-rgb);
    --bs-success: var(--brand-support-1);
    --bs-success-rgb: var(--brand-support-1-rgb);
    --bs-info: var(--brand-support-2);
    --bs-info-rgb: var(--brand-support-2-rgb);
    --bs-warning: var(--brand-support-2);
    --bs-warning-rgb: var(--brand-support-2-rgb);
    --bs-danger: var(--brand-primary-strong);
    --bs-danger-rgb: var(--brand-primary-strong-rgb);
    --bs-light: var(--brand-support-3);
    --bs-light-rgb: var(--brand-support-3-rgb);
    --bs-dark: var(--brand-primary-strong);
    --bs-dark-rgb: var(--brand-primary-strong-rgb);

    --bs-body-bg: #fffaf0;
    --bs-body-color: var(--brand-primary);
    --bs-emphasis-color: var(--brand-primary);
    --bs-secondary-color: rgba(var(--brand-primary-rgb), 0.78);
    --bs-secondary-bg: rgba(var(--brand-support-3-rgb), 0.45);
    --bs-tertiary-bg: rgba(var(--brand-support-3-rgb), 0.3);

    --bs-link-color: var(--brand-support-1);
    --bs-link-color-rgb: var(--brand-support-1-rgb);
    --bs-link-hover-color: var(--brand-secondary-hover);
    --bs-link-hover-color-rgb: 140, 77, 35;
}

html,
body {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
    color: var(--bs-body-color);
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
.card-title,
.navbar-brand {
    color: var(--brand-primary);
    font-weight: 700;
}

strong,
b,
.fw-semibold {
    font-weight: 700 !important;
}

small,
.form-text,
.text-muted {
    font-weight: 300;
}

label,
.btn,
.nav-link,
.badge,
th,
.alert {
    font-weight: 400;
}

.sidebar {
    background-color: var(--brand-primary);
}

.card {
    border-color: rgba(var(--brand-primary-rgb), 0.15);
    box-shadow: 0 4px 14px rgba(var(--brand-primary-strong-rgb), 0.08);
}

.card-header,
.card-footer {
    background-color: rgba(var(--brand-support-3-rgb), 0.35);
    border-color: rgba(var(--brand-primary-rgb), 0.1);
}

.table {
    color: var(--brand-primary);
}

table th,
.table > :not(caption) > * > th {
    background-color: var(--brand-primary);
    color: #fff;
    font-weight: 700;
    border-color: rgba(255, 255, 255, 0.2);
}

.table-hover tbody tr:hover {
    background-color: rgba(var(--brand-support-2-rgb), 0.16);
}

.form-control,
.form-select {
    border-color: rgba(var(--brand-primary-rgb), 0.25);
    color: var(--brand-primary);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--brand-support-2);
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-support-2-rgb), 0.25);
}

.form-check-input:checked {
    background-color: var(--brand-support-1);
    border-color: var(--brand-support-1);
}

.nav-tabs {
    border-bottom-color: rgba(var(--brand-primary-rgb), 0.2);
}

.nav-tabs .nav-link {
    color: var(--brand-primary);
    border-color: transparent;
}

.nav-tabs .nav-link:hover {
    background-color: rgba(var(--brand-support-3-rgb), 0.35);
    border-color: rgba(var(--brand-primary-rgb), 0.1);
}

.nav-tabs .nav-link.active {
    color: #fff;
    background-color: var(--brand-support-1);
    border-color: var(--brand-support-1);
}

.btn-primary,
.btn-success,
.btn-info,
.btn-warning {
    color: #fff;
    background-color: var(--brand-support-1);
    border-color: var(--brand-support-1);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    color: #fff;
    background-color: var(--brand-secondary-hover);
    border-color: var(--brand-secondary-hover);
}

.btn-secondary,
.btn-danger,
.btn-dark {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
    color: #fff;
    background-color: var(--brand-primary-strong);
    border-color: var(--brand-primary-strong);
}

.btn-light {
    color: var(--brand-primary);
    background-color: var(--brand-support-3);
    border-color: var(--brand-support-3);
}

.btn-outline-primary {
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning {
    color: var(--brand-support-1);
    border-color: var(--brand-support-1);
}

.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover {
    color: #fff;
    background-color: var(--brand-support-1);
    border-color: var(--brand-support-1);
}

.btn-outline-danger,
.btn-outline-dark {
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-outline-danger:hover,
.btn-outline-dark:hover {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.alert-primary,
.alert-secondary,
.alert-success,
.alert-info,
.alert-warning {
    color: var(--brand-primary-strong);
    background-color: rgba(var(--brand-support-3-rgb), 0.6);
    border-color: rgba(var(--brand-support-2-rgb), 0.7);
}

.alert-danger,
.alert-dark {
    color: #fff;
    background-color: rgba(var(--brand-primary-rgb), 0.92);
    border-color: rgba(var(--brand-primary-strong-rgb), 1);
}

.bg-primary,
.bg-secondary,
.bg-success,
.bg-info,
.bg-warning,
.bg-danger,
.bg-dark {
    color: #fff !important;
}

.bg-primary,
.bg-secondary,
.bg-success,
.bg-info,
.bg-warning {
    background-color: var(--brand-support-1) !important;
}

.bg-danger,
.bg-dark {
    background-color: var(--brand-primary) !important;
}

.text-primary,
.text-secondary,
.text-success,
.text-info,
.text-warning,
.text-danger,
.text-dark {
    color: var(--brand-primary) !important;
}

.border-primary,
.border-secondary,
.border-success,
.border-info,
.border-warning,
.border-danger,
.border-dark {
    border-color: rgba(var(--brand-primary-rgb), 0.35) !important;
}

.badge.bg-primary,
.badge.bg-secondary,
.badge.bg-success,
.badge.bg-info,
.badge.bg-warning,
.badge.bg-danger,
.badge.bg-dark {
    background-color: var(--brand-support-1) !important;
    color: #fff !important;
}

.progress-bar {
    background-color: var(--brand-support-1);
}

.scrollbar-hidden {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.scrollbar-hidden::-webkit-scrollbar {
    display: none;
}

.portrait-only {
    display: none;
}

.horizontal-only {
    display: none;
}

@media (orientation: portrait) {
    .portrait-only {
        display: block;
    }
}

@media (orientation: landscape) {
    .horizontal-only {
        display: block;
    }
}
