/* carrega as fontes do tema */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');


/* APLICAÇÃO DAS VARIÁVEIS NO FRAMEWORK */

/*gerais */

:root {
    --bs-font-sans-serif: var(--theme-font), sans-serif;
}

body {
    background-color: var(--bg-body);
    color: var(--txt);
}

a {
    color: var(--primary);
}

a:hover {
    color: var(--bs-primary-soft);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: var(--txt);
}

/* padrões bootstrap */


.btn-link {
    color: var(--bs-primary);
}

.btn {
    color: var(--txt);
}

.btn:hover {
    color: var(--txt);
}


.btn-check:focus+.btn, 
.btn:focus {
    color: var(--txt);
    filter: saturate(1.5);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
}

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

.alert-primary {
    color: var(--bs-primary);
    background-color: var(--bs-primary-soft);
    border-color: var(--bs-primary);
}

.bg-primary {
    background-color: var(--bs-primary)!important;
}

.badge-soft-primary {
    color: var(--bs-primary);
    background-color: var(--bs-primary-soft);
}

.btn-primary {
    color: var(--light);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    transition: 0.2s;
}

.btn-primary:hover {
    color: var(--light);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-primary, 
.btn-primary:focus {
    color: var(--light);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    filter: saturate(1.5);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
    color: var(--bs-primary);
    background-color: var(--bs-primary-soft);
    border-color: var(--bs-primary);
}

.btn-check:focus+.btn-outline-primary, 
.btn-outline-primary:focus {
    color: var(--bs-primary);
    background-color: var(--bs-primary-soft);
    border-color: var(--bs-primary);
    filter: saturate(1.35);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
}


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

.alert-secondary {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary);
}

.bg-secondary {
    background-color: var(--bs-secondary)!important;
}

.badge-soft-secondary {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
}

.btn-secondary {
    color: var(--light);
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    transition: 0.2s;
}

.btn-secondary:hover {
    color: var(--light);
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-secondary, 
.btn-secondary:focus {
    color: var(--light);
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    filter: saturate(2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
}

.btn-outline-secondary {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-outline-secondary:hover {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary);
}

.btn-check:focus+.btn-outline-secondary, 
.btn-outline-secondary:focus {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary);
    filter: saturate(2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
}

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

.alert-success {
    color: var(--bs-success);
    background-color: var(--bs-success-soft);
    border-color: var(--bs-success);
}

.bg-success {
    background-color: var(--bs-success)!important;
}

.badge-soft-success {
    color: var(--bs-success);
    background-color: var(--bs-success-soft);
}

.btn-success {
    color: var(--light);
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    transition: 0.2s;
}

.btn-success:hover {
    color: var(--light);
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-success, 
.btn-success:focus {
    color: var(--light);
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    filter: saturate(1.5);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-success-soft);
    box-shadow: 0 0 0 .15rem var(--bs-success-soft);
}

.btn-outline-success {
    color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-outline-success:hover {
    color: var(--bs-success);
    background-color: var(--bs-success-soft);
    border-color: var(--bs-success);
}

.btn-check:focus+.btn-outline-success, 
.btn-outline-success:focus {
    color: var(--bs-success);
    background-color: var(--bs-success-soft);
    border-color: var(--bs-success);
    filter: saturate(1.5);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-success-soft);
    box-shadow: 0 0 0 .15rem var(--bs-success-soft);
}

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

.alert-info {
    color: var(--bs-info);
    background-color: var(--bs-info-soft);
    border-color: var(--bs-info);
}

.bg-info {
    background-color: var(--bs-info)!important;
}

.badge-soft-info {
    color: var(--bs-info);
    background-color: var(--bs-info-soft);
}

.btn-info {
    color: var(--light);
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    transition: 0.2s;
}

.btn-info:hover {
    color: var(--light);
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-info, 
.btn-info:focus {
    color: var(--light);
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    filter: saturate(2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-info-soft);
    box-shadow: 0 0 0 .15rem var(--bs-info-soft);
}

.btn-outline-info {
    color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-outline-info:hover {
    color: var(--bs-info);
    background-color: var(--bs-info-soft);
    border-color: var(--bs-info);
}

.btn-check:focus+.btn-outline-info, 
.btn-outline-info:focus {
    color: var(--bs-info);
    background-color: var(--bs-info-soft);
    border-color: var(--bs-info);
    filter: saturate(2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-info-soft);
    box-shadow: 0 0 0 .15rem var(--bs-info-soft);
}

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

.alert-warning {
    color: var(--bs-warning);
    background-color: var(--bs-warning-soft);
    border-color: var(--bs-warning);
}

.bg-warning {
    background-color: var(--bs-warning)!important;
}

.badge-soft-warning {
    color: var(--bs-warning);
    background-color: var(--bs-warning-soft);
}

.btn-warning {
    color: var(--light);
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    transition: 0.2s;
}

.btn-warning:hover {
    color: var(--light);
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-warning, 
.btn-warning:focus {
    color: var(--light);
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    filter: saturate(1.5) brightness(1.1);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-warning-soft);
    box-shadow: 0 0 0 .15rem var(--bs-warning-soft);
}

.btn-outline-warning {
    color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-outline-warning:hover {
    color: var(--bs-warning);
    background-color: var(--bs-warning-soft);
    border-color: var(--bs-warning);
}

.btn-check:focus+.btn-outline-warning, 
.btn-outline-warning:focus {
    color: var(--bs-warning);
    background-color: var(--bs-warning-soft);
    border-color: var(--bs-warning);
    filter: saturate(1.5) brightness(1.1);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-warning-soft);
    box-shadow: 0 0 0 .15rem var(--bs-warning-soft);
}

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

.alert-danger {
    color: var(--bs-danger);
    background-color: var(--bs-danger-soft);
    border-color: var(--bs-danger);
}

.bg-danger {
    background-color: var(--bs-danger)!important;
}

.badge-soft-danger {
    color: var(--bs-danger);
    background-color: var(--bs-danger-soft);
}

.btn-danger {
    color: var(--light);
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    transition: 0.2s;
}

.btn-danger:hover {
    color: var(--light);
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-danger, 
.btn-danger:focus {
    color: var(--light);
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    filter: saturate(0.5) brightness(1.1) contrast(1.2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-danger-soft);
    box-shadow: 0 0 0 .15rem var(--bs-danger-soft);
}

.btn-outline-danger {
    color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-outline-danger:hover {
    color: var(--bs-danger);
    background-color: var(--bs-danger-soft);
    border-color: var(--bs-danger);
}

.btn-check:focus+.btn-outline-danger, 
.btn-outline-danger:focus {
    color: var(--bs-danger);
    background-color: var(--bs-danger-soft);
    border-color: var(--bs-danger);
    filter: saturate(1.5) brightness(1.1);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-danger-soft);
    box-shadow: 0 0 0 .15rem var(--bs-danger-soft);
}

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

.alert-dark {
    color: var(--bs-dark);
    background-color: var(--bs-dark-soft);
    border-color: var(--bs-dark);
}

.bg-dark {
    background-color: var(--bs-dark)!important;
}

.badge-soft-dark {
    color: var(--bs-dark);
    background-color: var(--bs-dark-soft);
}

.btn-dark {
    color: var(--light);
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
    transition: 0.2s;
}

.btn-dark:hover {
    color: var(--light);
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
    filter: brightness(0.8) contrast(1.2);
}

.btn-check:focus+.btn-dark, 
.btn-dark:focus {
    color: var(--light);
    background-color: var(--bs-dark);
    border-color: var(--bs-dark);
    filter: saturate(1.5) brightness(1.2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-dark-soft);
    box-shadow: 0 0 0 .15rem var(--bs-dark-soft);
}

.btn-outline-dark {
    color: var(--bs-dark);
    border-color: var(--bs-dark);
}

.btn-outline-dark:hover {
    color: var(--bs-dark);
    background-color: var(--bs-dark-soft);
    border-color: var(--bs-dark);
}

.btn-check:focus+.btn-outline-dark, 
.btn-outline-dark:focus {
    color: var(--bs-dark);
    background-color: var(--bs-dark-soft);
    border-color: var(--bs-dark);
    filter: saturate(1.5) brightness(1.2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-dark-soft);
    box-shadow: 0 0 0 .15rem var(--bs-dark-soft);
}

.text-muted {
    color: var(--bs-secondary)!important;
}

.alert-muted {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary);
}

.bg-muted {
    background-color: var(--bs-secondary-soft)!important;
}

.badge-soft-muted {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
}

.btn-muted {
    color: var(--dark);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    transition: 0.2s;
}

.btn-muted:hover {
    color: var(--dark);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    filter: brightness(0.35) contrast(1.1);
}

.btn-check:focus+.btn-muted, 
.btn-muted:focus {
    color: var(--light);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    filter: saturate(1.5) brightness(1.2);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
}

.btn-light {
    color: var(--dark);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    transition: 0.2s;
}

.btn-check:focus+.btn-light, 
.btn-light:focus {
    color: var(--dark);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    filter: saturate(1.5) brightness(1.1);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
}

.btn-light:hover {
    color: var(--dark);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
    filter: brightness(0.35) contrast(1.1);
}

.btn-outline-light {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary-soft);
}

.btn-outline-light:hover {
    color: var(--bs-secondary);
    background-color: var(--bs-secondary-soft);
    border-color: var(--bs-secondary-soft);
}

.btn-check:focus+.btn-outline-light, 
.btn-outline-light:focus {
    color: var(--dark);
    background-color: var(--light);
    border-color: var(--bs-secondary-soft);
    filter: saturate(1.5);
    -webkit-box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-secondary-soft);
}


/* forms */

.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

.form-check-primary .form-check-input:checked,
.form-radio-primary .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-success .form-check-input:checked,
.form-radio-success .form-check-input:checked {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
}

.form-check-info .form-check-input:checked,
.form-radio-info .form-check-input:checked {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
}

.form-check-warning .form-check-input:checked,
.form-radio-warning .form-check-input:checked {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.form-check-danger .form-check-input:checked,
.form-radio-danger .form-check-input:checked {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.form-control {
    color: var(--txt);
}

.wizard .steps>ul>li a {
    color: var(--txt);
    background-color: var(--bs-primary-soft);
}

.wizard .steps .current a, 
.wizard .steps .current a:active, 
.wizard .steps .current a:hover {
    background-color: var(--bs-primary-soft);
    color: var(--txt);
}

.wizard .steps .number {
    border: 2px solid var(--bs-primary);
    color: var(--bs-primary);
}

.wizard .steps .current a .number, 
.wizard .steps .current a:active .number, 
.wizard .steps .current a:hover .number {
    background-color: var(--bs-primary);
}

.wizard>.actions .disabled a, 
.wizard>.actions .disabled a:active, 
.wizard>.actions .disabled a:hover {
    background-color: var(--bs-primary);
}

.wizard>.actions a, 
.wizard>.actions a:active, 
.wizard>.actions a:hover {
    background-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: var(--bs-primary);
    outline: 0;
    -webkit-box-shadow: 0 0 0 var(--bs-primary-soft);
    box-shadow: 0 0 0 .15rem var(--bs-primary-soft);
}


/*layout */

#page-topbar {
    background-color: var(--bg-topbar);
}

.header-item {
    color: var(--txt-light);
}

.header-item:hover {
    color: var(--txt-light);
}

.navbar-header .dropdown .show.header-item {
    background-color: var(--bg-item-submenu-hover);
}

.dropdown-menu {
    background-color: var(--bg-submenu);
}

.dropdown-item {
    color: var(--txt-dark);
}

.dropdown-item:focus, 
.dropdown-item:hover {
    color: var(--txt-dark);
    background-color: var(--bg-item-submenu-hover);
}

body[data-layout=horizontal][data-topbar=light] .topnav {
    background-color: var(--primary);
}

body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link {
    color: var(--item-menu);
}

body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:focus, 
body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav .nav-link:hover {
    color: var(--item-menu-hover);
}

body[data-layout=horizontal][data-topbar=light] .topnav .navbar-nav>.dropdown.active>a {
    color: var(--item-menu-hover)!important;
}

.topnav .navbar-nav .dropdown-item {
    color: var(--item-submenu);
}

.topnav .navbar-nav .dropdown-item.active, 
.topnav .navbar-nav .dropdown-item:hover {
    color: var(--item-submenu-hover);
}

.card {
    background-color: var(--bg-card);
}

.card-title-desc {
    color: var(--txt-neutral);
}

.table {
    --bs-table-bg: var(--light);
    --bs-table-striped-color: var(--txt);
    --bs-table-striped-bg: var(--bg-item-submenu-hover);
    --bs-table-active-color: var(--txt);
    --bs-table-active-bg: var(--bg-item-submenu-hover);
    --bs-table-hover-color: var(--txt);
    --bs-table-hover-bg: var(--bg-item-submenu-hover);
}

.table .table-light {
    color: var(--txt);
    border-color: var(--bg-item-submenu-hover);
    background-color: var(--bg-item-submenu-hover);
}

.page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
}

.progress-bar {
    background-color: var(--primary);
}

.footer {
    background-color: var(--bg-footer-desk);
}

@media screen and (max-width: 991.98px) {
    
    .topnav .navbar-nav .dropdown-item {
        color: var(--light);
        background-image: linear-gradient(#ffffff44, #ffffff44);
        

    }
    
    .topnav .navbar-nav .dropdown-item.active, 
    .topnav .navbar-nav .dropdown-item:hover {
        color: var(--light);
        font-weight: 700;
        font-size: 1.1em;
        line-height: 1.3;
        line-height: 1.3;
        opacity: 0.9;
        background-image: linear-gradient(#ffffff22, #ffffff11);
    }
    
    .footer {
        background-color: var(--bg-footer-mb);
    }
}