:root {
    --df-primary: #003399;
    --df-primary-alt: #0044CC;
    --df-navy: #001F5E;
    --df-accent: #FF6600;
    --df-light-bg: #F4F6FC;
    --df-blue-tint: #E6EEFF;
    --df-surface: #FFFFFF;
    --df-body-text: #333333;
    --df-navbar-link: rgba(255, 255, 255, 0.75);
    --df-footer-text: rgba(255, 255, 255, 0.65);
}

html {
    background-color: var(--df-light-bg);
}

body {
    color: var(--df-body-text) !important;
    background-color: var(--df-light-bg) !important;
}

body h1,
body h2,
body h3,
body h4,
body .h1,
body .h2,
body .h3,
body .h4 {
    color: var(--df-primary);
}

body a {
    color: var(--df-primary-alt);
}

body a:hover,
body a:focus {
    color: var(--df-accent);
}

body .text-info,
body .text-azul {
    color: var(--df-primary) !important;
}

body .bg-info,
body .bg-azul,
body .border-info,
body .btn-info,
body .btn-outline-info:hover,
body .btn-outline-azul:hover {
    border-color: var(--df-primary) !important;
}

body .bg-info,
body .bg-azul {
    background-color: var(--df-primary) !important;
    background-image: none !important;
    color: #fff !important;
}

body .btn-info,
body .btn-outline-info:hover,
body .btn-outline-azul:hover {
    background-color: var(--df-primary) !important;
    color: #fff !important;
}

body .btn-info:hover,
body .btn-info:focus,
body .btn-info:active {
    background-color: var(--df-primary-alt) !important;
    border-color: var(--df-primary-alt) !important;
    color: #fff !important;
}

body .btn-outline-info,
body .btn-outline-azul {
    color: var(--df-primary) !important;
    border-color: var(--df-primary) !important;
}

body .btn-warning,
body .btn-cta {
    background-color: var(--df-accent) !important;
    border-color: var(--df-accent) !important;
    color: #fff !important;
    border-radius: 50rem !important;
    box-shadow: 0 0.75rem 1.5rem rgba(255, 102, 0, 0.2);
}

body .btn-warning:hover,
body .btn-warning:focus,
body .btn-warning:active,
body .btn-cta:hover,
body .btn-cta:focus,
body .btn-cta:active {
    background-color: #e65c00 !important;
    border-color: #e65c00 !important;
    color: #fff !important;
}

body .navbar,
body #navBarFixa,
body nav.bg-light,
body nav.bg-azul {
    background: linear-gradient(135deg, var(--df-primary), var(--df-primary-alt)) !important;
    box-shadow: 0 1rem 2rem rgba(0, 31, 94, 0.16);
}

body .navbar .nav-link,
body .navbar-light .navbar-nav .nav-link,
body .navbar-dark .navbar-nav .nav-link,
body #navBarFixa a,
body #navBarFixa .nav-link {
    color: var(--df-navbar-link) !important;
}

body .navbar .nav-link:hover,
body .navbar .nav-link:focus,
body .navbar .nav-link.active,
body .navbar .active > .nav-link,
body .navbar-light .navbar-brand,
body .navbar-light .navbar-text,
body #navBarFixa a:hover,
body #navBarFixa a:focus {
    color: #fff !important;
}

body .navbar-light .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.45) !important;
}

body .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

body .sidebar,
body .sidebar-header,
body .sidebar .bg-azul {
    background: linear-gradient(180deg, var(--df-primary), var(--df-navy)) !important;
}

body .jumbotron,
body .hero,
body .banner,
body [class*="hero"],
body [class*="banner"] {
    background: linear-gradient(135deg, var(--df-primary), var(--df-primary-alt)) !important;
    color: #fff;
}

body .card,
body .card-not,
body .shadow-sm,
body .shadow {
    background-color: var(--df-surface);
    border-radius: 0.9rem;
}

body .card {
    border: 1px solid rgba(0, 51, 153, 0.08);
    border-top: 3px solid var(--df-primary);
    box-shadow: 0 1rem 2rem rgba(0, 31, 94, 0.08);
}

body .card-header,
body .modal-header.bg-azul,
body .list-group-item.bg-azul {
    background-color: var(--df-primary) !important;
    color: #fff !important;
}

body .card-header *,
body .modal-header.bg-azul *,
body .list-group-item.bg-azul * {
    color: inherit !important;
}

body .icon-wrap,
body .rounded-circle.bg-light,
body .badge,
body .tag {
    background-color: var(--df-blue-tint) !important;
    color: var(--df-primary) !important;
}

body .list-group-item.bg-light,
body .bg-claro,
body .bg-section-alt,
body .modal-body thead,
body .dropdown-content a {
    background-color: var(--df-light-bg) !important;
}

body footer,
body .footer,
body .bg-dark,
body #footer {
    background-color: var(--df-navy) !important;
    color: var(--df-footer-text) !important;
}

body footer a,
body .footer a,
body .bg-dark a {
    color: var(--df-accent) !important;
}

body footer a:hover,
body .footer a:hover,
body .bg-dark a:hover {
    color: #fff !important;
}

body .spinner-border.text-info,
body .spinner-border.text-azul {
    color: var(--df-primary) !important;
}

@media only screen and (max-width: 1024px) {
    body .sidebar {
        background: linear-gradient(180deg, var(--df-primary), var(--df-navy)) !important;
    }
}
