@charset "UTF-8";

/* Global */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 64px;
}

body {
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-size: 1rem;
    line-height: 1.6;
    font-style: normal;
    font-weight: 400;
    color: var(--color-neutral-700);
    overflow-x: hidden;
}

label {
    display: inline-flex;
}

hr.vertical {
    width: 1px;
    height: 32px;
    display: inline-block;
    background-color: var(--color-neutral-700);
    margin-left: 12px;
    margin-right: 16px;
}

.wow {
    /*visibility: hidden;*/
}

@media (min-width: 992px) {
    body {
        font-size: 1.125rem;
    }

    hr.vertical {
        margin-left: 24px;
        margin-right: 32px;
    }
}


/* Material Design Icons */

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 120%; /* default 24px */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
}

.material-symbols-outlined {
    vertical-align: middle;
    padding-bottom: .125rem;
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

    .material-symbols-outlined.mso-fill {
        font-variation-settings: 'FILL' 1;
    }

    .material-symbols-outlined.mso-xxs {
        font-size: 0.5em;
    }

    .material-symbols-outlined.mso-xs {
        font-size: 0.75em;
    }

    .material-symbols-outlined.mso-sm {
        font-size: 0.875em;
    }

    .material-symbols-outlined.mso-1x {
        font-size: 1em;
    }

    .material-symbols-outlined.mso-lg {
        font-size: 1.3333em;
    }

    .material-symbols-outlined.mso-xl {
        font-size: 1.5em;
    }

    .material-symbols-outlined.mso-2x {
        font-size: 2em;
    }

    .material-symbols-outlined.mso-3x {
        font-size: 3em;
    }

    .material-symbols-outlined.mso-4x {
        font-size: 4em;
    }

    .material-symbols-outlined.mso-5x {
        font-size: 5em;
    }

    .material-symbols-outlined.mso-6x {
        font-size: 6em;
    }

    .material-symbols-outlined.mso-7x {
        font-size: 7em;
    }

    .material-symbols-outlined.mso-8x {
        font-size: 8em;
    }

    .material-symbols-outlined.mso-9x {
        font-size: 9em;
    }


/* Icon components */

.icon-square, .icon-square-lg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    min-width: 56px;
    max-width: 56px;
    height: 56px;
    min-height: 56px;
    max-height: 56px;
    border-radius: 8px;
    background-color: var(--color-brand-600);
}

    .icon-square .material-symbols-outlined, .icon-square-lg .material-symbols-outlined {
        color: var(--color-white);
        font-size: 30px;
        padding-bottom: 0;
    }

.icon-square-lg {
    width: 80px;
    min-width: 80px;
    max-width: 80px;
    height: 80px;
    min-height: 80px;
    max-height: 80px;
}

    .icon-square-lg .material-symbols-outlined {
        font-size: 38px;
    }

.icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    height: 48px;
    min-height: 48px;
    max-height: 48px;
    border-radius: 48px;
}

    .icon-circle .material-symbols-outlined {
        font-size: 30px;
        padding-bottom: 0;
    }

    .icon-circle .m-neg {
        margin-top: -6px;
    }

.btn.btn-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    min-width: 48px;
    height: 48px;
    color: var(--color-brand-600);
    border-radius: 50%;
    background-color: transparent;
    transition: all 0.3s ease;
}

    .btn.btn-icon:hover {
        background-color: var(--color-neutral-300);
    }

    .btn.btn-icon .material-symbols-outlined {
        font-size: 24px;
        padding-bottom: 0;
    }

    .btn.btn-icon.disabled, .btn.btn-icon:disabled {
        color: var(--color-neutral-500);
        background-color: transparent;
        border-color: transparent;
        opacity: 1;
    }


/* estilização do Bot */

.card-bot {
    width: 300px;
    height: 400px;
}

.card-bot div {
    top: 7px;
    right: 10px;
}

.bot-button {
    width: 60px;
    height: 60px;
}
/***************/

/* Color */

:root {
    --color-white: #FFFFFF;
    --color-neutral-200: #F9F9F9;
    --color-neutral-300: #EAECEE;
    --color-neutral-400: #D3D8DB;
    --color-neutral-500: #C7CDD1;
    --color-neutral-600: #7A7F83;
    --color-neutral-700: #57595A;
    --color-neutral-800: #262828;
    --color-neutral-900: #111414;
    --color-black: #000000;
    --color-brand-400: #A4CFED;
    --color-brand-500: #3291D1;
    --color-brand-600: #0058AF;
    --color-brand-700: #014076;
    --color-green-400: #A3E6A5;
    --color-green-500: #54BA58;
    --color-green-600: #158A19;
    --color-green-700: #0D5710;
    --color-orange-400: #FFD5A1;
    --color-orange-500: #FFC572;
    --color-orange-600: #FFB300;
    --color-orange-700: #C68B00;
    --color-red-400: #F0A6A6;
    --color-red-500: #EB7B7B;
    --color-red-600: #E63535;
    --color-red-700: #B22929;
    --color-blue-400: #ABCAF3;
    --color-blue-500: #83B6EE;
    --color-blue-600: #489EEA;
    --color-blue-700: #408DD1;
    --bg-neutral: #EAECEE;
    --bg-brand: #EEF6FC;
    --bg-green: #D4FFD6;
    --bg-orange: #FFF8D7;
    --bg-red: #FDE7E3;
}

.color-white {
    color: var(--color-white) !important;
}

.color-neutral-200 {
    color: var(--color-neutral-200) !important;
}

.color-neutral-300 {
    color: var(--color-neutral-300) !important;
}

.color-neutral-400 {
    color: var(--color-neutral-400) !important;
}

.color-neutral-500 {
    color: var(--color-neutral-500) !important;
}

.color-neutral-600 {
    color: var(--color-neutral-600) !important;
}

.color-neutral-700 {
    color: var(--color-neutral-700) !important;
}

.color-neutral-800 {
    color: var(--color-neutral-800) !important;
}

.color-neutral-900 {
    color: var(--color-neutral-900) !important;
}

.color-black {
    color: var(--color-black) !important;
}

.color-brand-400 {
    color: var(--color-brand-400) !important;
}

.color-brand-500 {
    color: var(--color-brand-500) !important;
}

.color-brand-600 {
    color: var(--color-brand-600) !important;
}

.color-brand-700 {
    color: var(--color-brand-700) !important;
}

.color-green-400 {
    color: var(--color-green-400) !important;
}

.color-green-500 {
    color: var(--color-green-500) !important;
}

.color-green-600 {
    color: var(--color-green-600) !important;
}

.color-green-700 {
    color: var(--color-green-700) !important;
}

.color-orange-400 {
    color: var(--color-orange-400) !important;
}

.color-orange-500 {
    color: var(--color-orange-500) !important;
}

.color-orange-600 {
    color: var(--color-orange-600) !important;
}

.color-orange-700 {
    color: var(--color-orange-700) !important;
}

.color-red-400 {
    color: var(--color-red-400) !important;
}

.color-red-500 {
    color: var(--color-red-500) !important;
}

.color-red-600 {
    color: var(--color-red-600) !important;
}

.color-red-700 {
    color: var(--color-red-700) !important;
}

.color-blue-400 {
    color: var(--color-blue-400) !important;
}

.color-blue-500 {
    color: var(--color-blue-500) !important;
}

.color-blue-600 {
    color: var(--color-blue-600) !important;
}

.color-blue-700 {
    color: var(--color-blue-700) !important;
}

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

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

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

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

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


/* Links */

a {
    color: var(--color-brand-600);
    text-decoration: none;
    outline: none;
    transition: all 0.3s ease;
}

    a:hover {
        color: var(--color-brand-500);
    }

    a.link-box, a.link-box:hover {
        color: initial;
    }


/* Text */

h1, h2, h3, h4, h5, h6, .text-poster {
    color: var(--color-neutral-900);
}

h1 {
    font-size: 2.5rem; /* 40px */
    margin-bottom: 12px;
    margin-top: 64px;
    line-height: 1.3;
    font-weight: 400;
}

h2 {
    font-size: 2rem; /* 32px */
    margin-bottom: 32px;
    line-height: 1.3;
    font-weight: 400;
}

h3 {
    font-size: 1.5rem; /* 24px */
    margin-bottom: 16px;
    line-height: 1.3;
    font-weight: 400;
}

h4 {
    font-size: 1.25rem; /* 20px */
    margin-bottom: 8px;
    line-height: 1.3;
    font-weight: 600;
}

h5 {
    font-size: 1.125rem; /* 18px */
    margin-bottom: 8px;
    line-height: 1.3;
    font-weight: 600;
}

.text-poster {
    font-size: 3.125rem;
    margin-bottom: 32px;
    line-height: 1.3;
}

.text-lead {
    font-size: 1.125rem; /* 18px */
    margin-bottom: 32px;
    line-height: 1.6;
}

p, .text-normal {
    font-size: 1rem; /* 16px */
    margin-bottom: 24px;
    line-height: 1.6;
}

.text-sm, .text-sm p, .text-14 {
    font-size: 0.875rem; /* 14px */
}

.text-xs, .text-xs p, .text-12 {
    font-size: 0.75rem; /* 12px */
}

.text-xxs, .text-xxs p, .text-10 {
    font-size: 0.625rem; /* 10px */
}

strong {
    font-weight: 600;
}

p strong {
    color: var(--color-neutral-900);
}

dl, ol, ul {
    margin-bottom: 24px;
}

ol, ul {
    padding-left: 3rem;
}

@media (min-width: 992px) {
    h1 {
        font-size: 4rem; /* 64px */
        line-height: 1.2;
        margin-bottom: 16px;
        margin-top: 96px;
    }

    h2 {
        font-size: 2.5rem; /* 40px */
        margin-bottom: 48px;
        line-height: 1.2;
    }

    h3 {
        font-size: 2rem; /* 32px */
        line-height: 1.2;
    }

    h4 {
        font-size: 1.5rem; /* 24px */
        line-height: 1.2;
    }

    h5 {
        font-size: 1.25rem; /* 20px */
        line-height: 1.2;
    }

    .text-poster {
        font-size: 5.625rem;
        margin-bottom: 48px;
    }

    .text-lead {
        font-size: 1.25rem; /* 20px */
        margin-bottom: 48px;
    }

    p, .text-normal {
        font-size: 1.125rem; /* 18px */
        margin-bottom: 24px;
    }

    .text-sm, .text-sm p {
        font-size: 1rem; /* 16px */
    }

    .text-xs, .text-xs p {
        font-size: 0.875rem; /* 14px */
    }

    .text-xxs, .text-xxs p {
        font-size: 0.75rem; /* 12px */
    }
}


/* BS Overrides */

@media (min-width: 576px) {
    .container, .container-fluid {
        padding-right: 24px;
        padding-left: 24px;
    }
}

@media (min-width: 992px) {
    .container, .container-fluid {
        padding-right: 32px;
        padding-left: 32px;
    }
}

@media (min-width: 1400px) {
    .container, .container-fluid {
        padding-right: 64px;
        padding-left: 64px;
    }
}


/* BS Navbar */

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 20px;
    --bs-navbar-color: rgba(var(--color-neutral-900), 1);
    --bs-navbar-hover-color: rgba(var(--color-brand-400), 1);
    --bs-navbar-disabled-color: rgba(var(--color-neutral-600), 1);
    --bs-navbar-active-color: rgba(var(--color-brand-600), 1);
    --bs-navbar-brand-padding-y: 0;
    --bs-navbar-brand-margin-end: 1rem;
    --bs-navbar-nav-link-padding-x: 1rem;
}

.navbar {
    background-color: var(--color-white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

    .navbar .container-fluid {
        height: 56px;
    }

.navbar-brand img {
    height: 46px;
}

.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: 400;
    --bs-nav-link-color: var(--color-neutral-900);
    --bs-nav-link-hover-color: var(--color-brand-600);
    --bs-nav-link-disabled-color: var(--color-neutral-500);
}

.nav-link {
    font-size: 18px;
    height: 48px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.navbar .nav-item {
    display: flex;
    align-items: center;
    height: 56px;
}

.dropdown-menu {
    --bs-dropdown-min-width: 180px;
    --bs-dropdown-padding-x: 22px;
    --bs-dropdown-padding-y: 12px;
    --bs-dropdown-color: var(--color-neutral-700);
    --bs-dropdown-bg: var(--color-white);
    --bs-dropdown-border-color: var(--color-neutral-500);
    --bs-dropdown-link-color: var(--color-neutral-900);
    --bs-dropdown-link-hover-bg: var(--color-neutral-200);
    --bs-dropdown-link-active-color: var(--color-neutral-900);
    --bs-dropdown-link-active-bg: var(--color-neutral-200);
    --bs-dropdown-item-padding-x: 0;
    --bs-dropdown-item-padding-y: 0.4rem;
}

.dropdown-menu {
    border: none;
    border-top: 1px solid var(--color-neutral-500);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}

    .dropdown-menu[data-bs-popper] {
        top: 64px;
    }

.menu-burger, .profile-select, .profile-select-unique-profile {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-neutral-400);
    border-radius: 10px;
    background-color: var(--color-white);
    transition: all 0.3s ease;
    height: 50px;
}

    .menu-burger:hover, .profile-select:hover {
        background-color: var(--bg-neutral);
    }

.menu-burger {
    width: 50px;
    min-width: 50px;
}

    .menu-burger .material-symbols-outlined {
        font-size: 26px;
    }

.profile-select {
    padding: 4px 12px 8px 12px;
}

.profile-select-unique-profile {
    padding: 4px 12px 8px 12px;
    cursor: default !important;
    user-select: none;
    pointer-events: none !important;
}

.profile-select .profile-select-unique-profile .text-truncate {
    max-width: 186px;
}

.profile-select .profile-select-unique-profile .dropdown-toggle::after {
    vertical-align: .6em;
}

.profile-select .profile-select-unique-profile .dropdown-menu[data-bs-popper] {
    left: -12px;
}

.user-info .dropdown-menu[data-bs-popper], .user-tools .dropdown-menu[data-bs-popper] {
    left: auto;
    right: 0;
}

.user-info .avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
}

.notification-alert {
    width: 12px;
    height: 12px;
    background-color: var(--color-red-600);
    border: 1px solid var(--color-white);
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: 10px;
}

.notification {
    width: 352px;
    border-top: 1px solid var(--color-neutral-500);
    padding-top: 16px;
    margin-top: 16px;
}

    .notification, .notification p {
        font-size: 0.875rem;
    }

        .notification a {
            font-weight: 600;
        }

@media (max-width: 575px) {
    .navbar .user-tools .dropdown {
        position: static !important;
    }

    .navbar .user-tools .dropdown-menu[data-bs-popper] {
        width: calc(100% - 24px);
        top: 74px;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .notification {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .navbar {
        --bs-navbar-padding-y: 32px;
    }
}


/* Mega Menu */

.navbar .has-megamenu {
    position: static !important;
}

.navbar .dropdown-menu.megamenu[data-bs-popper] {
    top: 64px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.navbar .dropdown-menu.megamenu {
    border: none;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
}

    .navbar .dropdown-menu.megamenu img {
        height: 420px;
    }

    .navbar .dropdown-menu.megamenu h2 {
        color: var(--color-neutral-900);
        font-size: 20px;
        font-weight: 500;
        /*text-transform: uppercase;*/
        /*
        letter-spacing: 1px;
        margin-bottom: 12px;*/
    }

@media (min-width: 992px) {
    .navbar .dropdown-menu.megamenu[data-bs-popper] {
        width: 896px;
    }
}

@media (min-width: 1200px) {
    .navbar .dropdown-menu.megamenu[data-bs-popper] {
        width: 1076px;
    }
}

@media (min-width: 1400px) {
    .navbar .dropdown-menu.megamenu[data-bs-popper] {
        width: 1192px;
    }
}


/* BS Buttons */

.btn-primary {
    --bs-btn-color: var(--color-white);
    --bs-btn-bg: var(--color-brand-600);
    --bs-btn-border-color: var(--color-brand-600);
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-brand-700);
    --bs-btn-hover-border-color: var(--color-brand-700);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-brand-700);
    --bs-btn-active-border-color: var(--color-brand-700);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-white);
    --bs-btn-disabled-bg: var(--color-neutral-600);
    --bs-btn-disabled-border-color: var(--color-neutral-500);
}

    .btn-primary:hover {
        box-shadow: rgba(0, 88, 175, 0.12) 0px 0px 0px 5px;
    }

.btn-outline-primary {
    --bs-btn-color: var(--color-neutral-800);
    --bs-btn-border-color: var(--color-neutral-500);
    --bs-btn-hover-color: var(--color-neutral-800);
    --bs-btn-hover-bg: var(--color-white);
    --bs-btn-hover-border-color: var(--color-neutral-500);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--color-neutral-800);
    --bs-btn-active-bg: var(--color-white);
    --bs-btn-active-border-color: var(--color-neutral-500);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-neutral-600);
    --bs-btn-disabled-bg: var(--color-white);
    --bs-btn-disabled-border-color: var(--color-neutral-500);
}

    .btn-outline-primary:hover {
        box-shadow: rgba(180, 180, 180, 0.12) 0px 0px 0px 5px;
    }

.btn-light {
    --bs-btn-color: var(--color-brand-600);
    --bs-btn-bg: var(--color-white);
    --bs-btn-border-color: var(--color-white);
    --bs-btn-hover-color: var(--color-brand-600);
    --bs-btn-hover-bg: var(--bg-brand);
    --bs-btn-hover-border-color: var(--bg-brand);
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: var(--color-brand-600);
    --bs-btn-active-bg: var(--bg-brand);
    --bs-btn-active-border-color: var(--bg-brand);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: var(--color-white);
    --bs-btn-disabled-bg: var(--color-neutral-600);
    --bs-btn-disabled-border-color: var(--color-neutral-500);
}

.btn-primary, .btn-outline-primary, .btn-light {
    --bs-btn-padding-x: 1.4rem;
    --bs-btn-padding-y: 0.84rem;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-border-radius: 28px;
    font-weight: 600;
}

.btn-group-sm > .btn, .btn-sm {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1.45rem;
    --bs-btn-font-size: 1.125rem;
    --bs-btn-border-radius: 24px;
}

/*.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    border-color: transparent;
}*/


/* BS Accordion */

.accordion {
    --bs-accordion-color: var(--color-neutral-700);
    --bs-accordion-bg: var(--color-white);
    --bs-accordion-border-color: var(--color-neutral-400);
    --bs-accordion-border-radius: 16px;
    --bs-accordion-inner-border-radius: calc(16px - (var(--bs-border-width)));
    --bs-accordion-btn-padding-x: 2.25rem;
    --bs-accordion-btn-padding-y: 1.7rem;
    --bs-accordion-btn-color: var(--color-neutral-900);
    --bs-accordion-btn-bg: var(--color-white);
    --bs-accordion-btn-icon-width: 24px;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0);
    --bs-accordion-body-padding-x: 2.25rem;
    --bs-accordion-body-padding-y: 1.7rem;
    --bs-accordion-active-color: var(--color-neutral-900);
    --bs-accordion-active-bg: var(--color-white);
}

.accordion-body {
    padding-top: 0;
}

.accordion-item {
    margin-bottom: 12px;
    border-radius: 16px;
}

    .accordion-item:not(:first-of-type) {
        border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
    }

.accordion-button {
    font-size: 18px;
    color: var(--color-neutral-900);
    border-radius: 16px;
}

    .accordion-button:not(.collapsed) {
        box-shadow: none;
    }

    /*.accordion-button::after, .accordion-button:not(.collapsed)::after {
    background-image: url('../img/accordion-btn-icon.png');
}*/

    .accordion-button::after {
        background-image: url('../img/accordion-btn-icon.png');
    }

    .accordion-button:not(.collapsed)::after {
        background-image: url('../img/accordion-btn-icon2.png');
    }

@media (min-width: 992px) {
    .accordion-button {
        font-size: 20px;
    }
}


/* BS Forms */

.form-control {
    padding: .94rem 1.25rem;
    color: var(--color-neutral-900);
    background-color: var(--color-white);
    border: var(--bs-border-width) solid var(--color-neutral-500);
    border-radius: 8px;
}

    .form-control:focus {
        color: var(--color-neutral-900);
        background-color: var(--color-white);
        border-color: var(--color-brand-600);
        box-shadow: none;
    }

    .form-control:disabled {
        background-color: var(--color-neutral-300);
        border: var(--bs-border-width) solid var(--color-neutral-500);
    }

    .form-control:disabled, .form-control.disabled {
        background-color: var(--color-neutral-300);
        border: var(--bs-border-width) solid var(--color-neutral-500);
    }

.form-label, .form-check-label {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: .4rem;
    color: var(--color-neutral-900);
}

.form-check-label {
    font-weight: 400;
}

.input-group-text {
    color: var(--color-neutral-900);
    background-color: var(--color-neutral-200);
    border: var(--bs-border-width) solid var(--color-neutral-500);
    border-radius: 8px;
}

.form-select {
    padding: .94rem 2.25rem .94em 1.25rem;
    color: var(--color-neutral-900);
    background-color: var(--color-white);
    border: var(--bs-border-width) solid var(--color-neutral-500);
    border-radius: 8px;
}

    .form-select:focus {
        border-color: var(--color-brand-600);
        outline: 0;
        box-shadow: none;
    }

    .form-select:disabled {
        background-color: var(--color-neutral-300);
        border: var(--bs-border-width) solid var(--color-neutral-500);
    }

.form-check-input {
    --bs-form-check-bg: var(--color-white);
    border: var(--bs-border-width) solid var(--color-neutral-500);
    margin-top: .35em;
}

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

    .form-check-input:focus {
        border-color: var(--color-brand-600);
        box-shadow: none;
    }

.form-text {
    margin-top: .2rem;
    font-size: 11px;
    color: var(--color-neutral-600);
}

.form-row {
    margin-bottom: -1rem;
}

.input-loader {
    position: relative;
    padding-right: 44px;
}

    .input-loader.form-control {
        background-color: transparent;
    }

.input-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 1;
}

.input-load {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: var(--bg-brand);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    z-index: -1;
}

    .input-load.loaded {
        background-color: var(--bg-green);
        border-radius: 8px;
    }

    .input-load.error {
        background-color: var(--bg-red);
        border-radius: 8px;
    }

@media (min-width: 992px) {
    .form-label, .form-check-label {
        font-size: 1rem;
    }
}


/* BS Tables */

.table {
    --bs-table-color: var(--color-neutral-900);
    --bs-table-bg: var(--color-white);
    --bs-table-border-color: var(--color-neutral-400);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: var(--color-neutral-900);
    --bs-table-striped-bg: var(--color-neutral-200);
    --bs-table-active-color: var(--color-neutral-900);
    --bs-table-active-bg: var(--color-neutral-200);
    --bs-table-hover-color: var(--color-neutral-900);
    --bs-table-hover-bg: var(--color-neutral-200);
    margin-bottom: 0;
}

    .table > :not(caption) > * > * {
        padding: 1rem 1rem;
    }

    .table td, .table th {
        vertical-align: middle;
        height: 64px;
    }

    .table td {
        color: var(--color-neutral-900);
    }

    .table th, .table th a {
        font-weight: 600;
        color: var(--color-neutral-900);
        height: 32px;
    }

        .table th a:hover {
            color: var(--color-brand-500);
        }

        .table th.active {
            color: var(--color-neutral-900);
        }

    .table td.bullet {
        width: 50px;
    }

.table-list th {
    width: 33%;
}

@media (min-width: 992px) {
    .table td, .table th {
        height: 96px;
    }

    .table th {
        height: 32px;
    }
}


/* BS Badges */

.badge {
    --bs-badge-padding-x: 12px;
    --bs-badge-padding-y: 8px;
    --bs-badge-font-size: 11px;
    --bs-badge-font-weight: 600;
}

table .badge {
    min-width: 120px;
}

@media (min-width: 992px) {
    .badge {
        --bs-badge-font-size: 13px;
    }
}


/* BS Alerts */

.alert {
    --bs-alert-padding-x: 40px;
    --bs-alert-padding-y: 32px;
    --bs-alert-margin-bottom: inherit;
    --bs-alert-color: inherit;
    --bs-alert-border-color: transparent;
    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
    --bs-alert-border-radius: 32px;
    --bs-alert-link-color: inherit;
}

.alert-primary {
    --bs-alert-bg: var(--bg-brand);
    --bs-alert-border-color: var(--bg-brand);
    --bs-alert-link-color: var(--color-brand-600);
}

.alert-success {
    --bs-alert-bg: var(--bg-green);
    --bs-alert-border-color: var(--bg-green);
    --bs-alert-link-color: var(--color-brand-600);
}

.alert-warning {
    --bs-alert-bg: var(--bg-orange);
    --bs-alert-border-color: var(--bg-orange);
    --bs-alert-link-color: var(--color-brand-600);
}

.alert-danger {
    --bs-alert-bg: var(--bg-red);
    --bs-alert-border-color: var(--bg-red);
    --bs-alert-link-color: var(--color-brand-600);
}


/* BS Breadcrumb */

.breadcrumb {
    --bs-breadcrumb-margin-bottom: 0;
    --bs-breadcrumb-item-padding-x: 12px;
    --bs-breadcrumb-item-active-color: var(--color-neutral-900);
}

.breadcrumb {
    padding-top: 20px;
    margin-bottom: 40px;
    font-size: 14px;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--color-neutral-600);
    content: var(--bs-breadcrumb-divider, url('../img/breadcrumb-divider.png'));
}

@media (min-width: 992px) {
    .breadcrumb {
        padding-top: 40px;
        margin-bottom: 56px;
    }
}


/* BS Modal */

.modal {
    --bs-modal-width: 684px;
    --bs-modal-padding: 32px;
    --bs-modal-bg: var(--color-white);
    --bs-modal-border-radius: 32px;
    --bs-modal-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}

.modal-content {
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.14);
}

.modal-header, .modal-body, .modal-footer {
    padding: 32px 40px;
}

.modal-header {
    padding-bottom: 0;
    border-bottom: none;
}

.modal-body {
    padding-top: 24px;
}

.modal-footer {
    padding-top: 0;
    border-top: none;
}


/* BS Progress */

.progress, .progress-stacked {
    --bs-progress-height: 10px;
    --bs-progress-font-size: 0.75rem;
    --bs-progress-bg: var(--color-neutral-300);
    --bs-progress-border-radius: var(--bs-border-radius);
    --bs-progress-box-shadow: var(--bs-box-shadow-inset);
    --bs-progress-bar-color: #fff;
    --bs-progress-bar-bg: var(--color-brand-600);
    --bs-progress-bar-transition: width 0.6s ease;
}

@keyframes progress-bar-stripes {
    0% {
        background-position-x: 10px;
    }
}


/* Footer */

footer {
    padding: 40px 0;
    margin-top: 80px;
    color: var(--color-white);
    background-color: var(--color-black);
}

    footer a {
        color: var(--color-white);
    }

.footer-logos {
    padding-top: 0;
    padding-bottom: 32px;
}

.social-icons i {
    font-size: 1.25em;
}

@media (min-width: 992px) {
    footer {
        padding: 64px 0;
        margin-top: 128px;
    }

    .footer-logos {
        padding-top: 100px;
        padding-bottom: 80px;
    }

    .social-icons i {
        font-size: 1.8em;
    }
}


/* Cards */

.card-a {
    background-color: transparent;
    border: 1px solid var(--color-neutral-400);
    border-radius: 24px;
    padding: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0);
    height: 100%;
}

a:hover .card-a {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}

.card-b {
    font-size: 20px;
    color: var(--color-neutral-900);
    line-height: 1.3;
    background-color: var(--color-white);
    border: 1px solid var(--color-neutral-300);
    border-radius: 32px;
    padding: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

a:hover .card-b {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.14);
}

.card-b .material-symbols-outlined {
    font-size: 2.8em;
}

.card-c {
    flex-basis: content;
    background-color: var(--color-white);
    border: 1px solid var(--color-neutral-400);
    border-radius: 16px;
    padding: 24px;
}

.card-table {
    background-color: var(--color-white);
    border: 1px solid var(--color-neutral-400);
    border-radius: 16px;
    padding: 40px 40px 16px 40px;
}

    .card-table tr:last-child, .accordion tbody tr:last-child {
        border-color: transparent;
    }

.card-banner {
    background-color: var(--color-brand-600);
    color: var(--color-white);
    padding: 64px 0;
}

    .card-banner .icon-square, .card-banner .icon-square-lg {
        background-color: var(--color-brand-700);
    }

    .card-banner a {
        color: var(--color-white);
    }

        .card-banner a:hover {
            color: var(--color-brand-400);
        }

.card-menu {
    background-color: var(--color-white);
    transition: all 0.3s ease;
    border-radius: 10px;
    padding: 8px 16px;
}

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

@media (min-width: 992px) {
    .card-a {
        padding: 56px;
    }

    .card-b {
        font-size: 24px;
        padding: 40px;
        border-radius: 48px;
    }

        .card-b .material-symbols-outlined {
            font-size: 2.4em;
        }
}


/* Status History */

.history-date, .history-icon {
    width: 118px;
}


/* Swiper Slider */

.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
}

.swiper-pagination-bullet-active {
    background: var(--color-brand-600);
}

.swiper-button-next, .swiper-button-prev {
    color: var(--color-white);
    background-color: var(--color-brand-600);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-top: -56px;
    transition: all 0.3s ease;
}

    .swiper-button-next:hover, .swiper-button-prev:hover {
        background-color: var(--color-brand-700);
        box-shadow: rgba(0, 88, 175, 0.12) 0px 0px 0px 5px;
    }

    .swiper-button-next:after, .swiper-button-prev:after {
        font-size: 18px;
    }

.swiper-bg-left, .swiper-bg-right {
    width: 72px;
    position: absolute;
    top: 0;
    bottom: 0;
    background-repeat: repeat-y;
    z-index: 5;
}

.swiper-bg-left {
    left: 0;
    background-image: url('../img/swiper-bg-left.png');
}

.swiper-bg-right {
    right: 0;
    background-image: url('../img/swiper-bg-right.png');
}


/* Services Slider */

#services .swiper-wrapper {
    padding: 0 0 64px 0;
}

#services .swiper-slide {
    width: 216px;
    height: 216px;
}

#services .swiper-pagination {
    bottom: 0;
}

@media (min-width: 992px) {
    #services .swiper-slide {
        width: 304px;
        height: 304px;
    }
}


/* Onboarding Slider */

#onboardingModal .modal-content {
    display: block;
    padding-bottom: 32px;
}

#onboarding .swiper-wrapper {
    padding: 0 0 32px 0;
}

#onboarding .swiper-slide {
    height: auto;
}

#onboarding .swiper-pagination {
    bottom: 0;
}

#onboarding .swiper-button-next, #onboarding .swiper-button-prev {
    margin-top: 0;
}

#onboarding .swiper-button-next {
    right: 32px;
    left: auto;
    top: auto;
    bottom: 0;
}

#onboarding .swiper-button-prev {
    right: 100px;
    left: auto;
    top: auto;
    bottom: 0;
}

.onboarding-slide {
    height: 100%;
    border-radius: 32px;
}

    .onboarding-slide img {
        border-radius: 30px;
    }

    .onboarding-slide div {
        padding: 26px 32px 46px 32px;
    }

@media (min-width: 576px) {
    #onboarding .swiper-pagination {
        text-align: initial;
        left: 32px;
    }
}


/* Categories Slider */

#categories .swiper-wrapper {
    padding: 6px 0 64px 0;
}

#categories .swiper-slide {
    height: auto;
}

#categories .swiper-pagination {
    bottom: 0;
}

.category {
    height: 100%;
    background-color: var(--color-white);
    border: 1px solid var(--color-neutral-400);
    border-radius: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0);
}

a:hover .category {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}

.category img {
    border-radius: 32px;
}

.category div {
    padding: 26px 32px 32px 32px;
}

.category.disabled {
    opacity: 0.5;
}

    .category.disabled img {
        filter: grayscale(100%);
    }


/* Media */

.banner {
    border-radius: 40px;
}


/* PDF Embed */

.pdf-embed {
    width: 320px;
    height: 484px;
}

@media (min-width: 992px) {
    .pdf-embed {
        width: 500px;
        height: 736px;
    }
}


/* Material Design 3 Switch */

body {
    --md-sys-color-background: 255, 251, 254;
    --md-sys-color-on-background: 28, 27, 31;
    --md-sys-color-primary: 103, 81, 164;
    --md-sys-color-primary-container: 234, 221, 255;
    --md-sys-color-on-primary-container: 33, 0, 94;
    --md-sys-color-on-primary: 255, 255, 255;
    --md-sys-color-secondary: 98, 91, 113;
    --md-sys-color-secondary-container: 232, 222, 248;
    --md-sys-color-on-secondary-container: 30, 25, 43;
    --md-sys-color-surface: 255, 251, 254;
    --md-sys-color-on-surface: 28, 27, 31;
    --md-sys-color-surface-variant: 231, 224, 236;
    --md-sys-color-on-surface-variant: 73, 69, 78;
    --md-sys-color-surface-tint: var(--md-sys-color-primary);
    --md-sys-color-outline: 121, 116, 126;
}

.md3.switch, .md3.switch *, .md3.switch ::before {
    box-sizing: initial;
}

.md3.switch {
    user-select: none;
    position: relative;
    height: 32px;
    width: 50px;
    -webkit-tap-highlight-color: transparent;
    margin: 10px;
    font-family: "Roboto", sans-serif;
}

    .md3.switch input {
        opacity: 0;
        width: 0;
        height: 0;
        margin: 0;
        padding: 0;
    }

    /* track */
    .md3.switch span.slider {
        position: absolute;
        cursor: pointer;
        background-color: var(--bg-brand);
        width: 48px;
        height: 28px;
        border-radius: 28px;
        border: 2px solid rgb(var(--md-sys-color-outline));
        transition: background-color .1s ease-in-out, border-color .1s ease-in-out;
    }

        /* thumb */
        .md3.switch span.slider::before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 0px;
            margin: 6px;
            background-color: rgb(var(--md-sys-color-outline));
            border-radius: 28px;
            transition: left 175ms cubic-bezier(0, .5, .5, 1.5), background-color .1s ease-in-out, height 50ms ease-in-out, width 50ms ease-in-out, margin 50ms ease-in-out;
        }

        /* icon */
        .md3.switch span.slider span.icon {
            position: relative;
            left: 0px;
            margin: 6px 0px;
            height: 16px;
            width: 16px;
            font-size: 16px;
            text-align: center;
            opacity: 0;
            transition: left 175ms cubic-bezier(0, .5, .5, 1.5);
            color: var(--md-sys-color-surface-variant);
        }

    /* active track */
    .md3.switch input:checked + span.slider {
        background-color: var(--color-brand-600);
        border-color: transparent;
    }

        /* active thumb */
        .md3.switch input:checked + span.slider::before {
            background-color: var(--color-white);
            height: 24px;
            width: 24px;
            left: 20px;
            margin: 2px;
        }

    /* hover thumb */
    .md3.switch input:not(:disabled):hover + span.slider::before {
        background-color: rgb(var(--md-sys-color-on-surface-variant));
    }

    /* active hover thumb */
    .md3.switch input:not(:disabled):checked:hover + span.slider::before {
        background-color: var(--bg-brand);
    }

    /* click thumb */
    .md3.switch input:not(:disabled):active + span.slider::before {
        height: 28px;
        width: 28px;
        margin: 0px;
    }

    /* active click thumb */
    .md3.switch input:not(:disabled):checked:active + span.slider::before {
        background-color: var(--color-brand-400);
    }

    /* active icon */
    .md3.switch input:checked + span.slider span.icon {
        left: 26px;
        opacity: 1;
        color: var(--color-brand-600);
    }

    /* disabled track */
    .md3.switch input:disabled + span {
        cursor: not-allowed;
    }

        .md3.switch input:disabled + span.slider {
            background-color: rgba(var(--md-sys-color-surface-variant), .12);
            border-color: rgba(var(--md-sys-color-on-surface), .12);
        }

    .md3.switch input:disabled:checked + span.slider {
        background-color: rgba(var(--md-sys-color-on-surface), .12);
        border-color: rgba(var(--md-sys-color-on-surface), 0);
    }

    /* disabled thumb */
    .md3.switch input:disabled + span.slider::before {
        background-color: rgba(var(--md-sys-color-on-surface), .38);
    }

    .md3.switch input:disabled:checked + span.slider::before {
        background-color: rgba(var(--md-sys-color-surface), 1);
    }

    /* disabled icon */
    .md3.switch input:disabled:checked + span.slider span.icon {
        color: rgba(var(--md-sys-color-on-surface), .38);
    }

    .md3.switch input:focus-visible + span.slider {
        outline: 2px solid rgb(var(--md-sys-color-primary));
    }

    /* mso overrides */
    .md3.switch .material-symbols-outlined {
        vertical-align: initial;
        padding-bottom: 0;
    }


/* Decorations */

@media (min-width: 992px) {
    .decor-left {
        background-image: url('../img/decor-left.png');
        background-repeat: no-repeat;
        position: absolute;
        width: 100%;
        height: 100vh;
        z-index: -20;
        background-position: -600px 170px;
    }

    .decor-right {
        background-image: url('../img/decor-right.png');
        background-repeat: no-repeat;
        position: absolute;
        width: 100%;
        height: 100vh;
        z-index: -20;
        background-position: calc(100% + 680px) -90px;
    }
}

@media (min-width: 1200px) {
    .decor-left {
        background-position: -550px 170px;
    }

    .decor-right {
        background-position: calc(100% + 680px) -90px;
    }
}

@media (min-width: 1400px) {
    .decor-left {
        background-position: -450px 170px;
    }

    .decor-right {
        background-position: calc(100% + 575px) -90px;
    }
}

@media (min-width: 1800px) {
    .decor-left {
        background-position: -335px 170px;
    }

    .decor-right {
        background-position: calc(100% + 520px) -90px;
    }
}


/* Helpers */

.section {
    margin-bottom: 64px;
}

.section-sm {
    margin-bottom: 48px;
}

.section-lg {
    margin-bottom: 96px;
}

.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.line-clamp-4 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}

.mt-32 {
    margin-top: 24px;
}

.mb-32 {
    margin-bottom: 24px;
}

.my-32 {
    margin-top: 24px;
    margin-bottom: 24px;
}

.mt-48 {
    margin-top: 32px;
}

.mb-48 {
    margin-bottom: 32px;
}

.my-48 {
    margin-top: 32px;
    margin-bottom: 32px;
}

.mt-64 {
    margin-top: 48px;
}

.mb-64 {
    margin-bottom: 48px;
}

.my-64 {
    margin-top: 48px;
    margin-bottom: 48px;
}

.mt-96 {
    margin-top: 64px;
}

.mb-96 {
    margin-bottom: 64px;
}

.my-96 {
    margin-top: 64px;
    margin-bottom: 64px;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-helper {
    cursor: help;
}

.tooltip2 .md3.switch input:checked + span.slider span.icon {
    left: 11px;
}

@media (min-width: 992px) {
    .section {
        margin-bottom: 96px;
    }

    .section-sm {
        margin-bottom: 64px;
    }

    .section-lg {
        margin-bottom: 128px;
    }

    .mt-32 {
        margin-top: 32px;
    }

    .mb-32 {
        margin-bottom: 32px;
    }

    .my-32 {
        margin-top: 32px;
        margin-bottom: 32px;
    }

    .mt-48 {
        margin-top: 48px;
    }

    .mb-48 {
        margin-bottom: 48px;
    }

    .my-48 {
        margin-top: 48px;
        margin-bottom: 48px;
    }

    .mt-64 {
        margin-top: 64px;
    }

    .mb-64 {
        margin-bottom: 64px;
    }

    .my-64 {
        margin-top: 64px;
        margin-bottom: 64px;
    }

    .mt-96 {
        margin-top: 96px;
    }

    .mb-96 {
        margin-bottom: 96px;
    }

    .my-96 {
        margin-top: 96px;
        margin-bottom: 96px;
    }
}


/* Animation slideIn */

@media (min-width: 992px) {
    .box-animate {
        animation-duration: 0.3s;
        -webkit-animation-duration: 0.3s;
        animation-fill-mode: both;
        -webkit-animation-fill-mode: both;
    }
}

@keyframes slideIn {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    100% {
        transform: translateY(0rem);
        opacity: 1;
    }

    0% {
        transform: translateY(1rem);
        opacity: 0;
    }
}

@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: transform;
        -webkit-opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        -webkit-opacity: 1;
    }

    0% {
        -webkit-transform: translateY(1rem);
        -webkit-opacity: 0;
    }
}

.slideIn {
    -webkit-animation-name: slideIn;
    animation-name: slideIn;
}


/* Animation spinner */

@-moz-keyframes spin {
    from {
        -moz-transform: rotate(0deg);
    }

    to {
        -moz-transform: rotate(359deg);
    }
}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(359deg);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

.spinner {
    animation-name: spin;
    animation-duration: 4000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}



/* Override de texto dynamics (declarações) */
.ck-content, .ck-content *, .accordion-override, .accordion-override * {
    font-size: 0.875rem !important;
    color: var(--color-neutral-700) !important;
    font-weight: 400 !important;
    font-family: "Open Sans", sans-serif !important;
}

.accordion-override, .accordion-override * {
    font-size: 1rem !important;
    line-height: 1.4 !important;
}









/* BS Media queries templates

@media (min-width: 576px) {

}

@media (min-width: 768px) {

}

@media (min-width: 992px) {

}

@media (min-width: 1200px) {

}

@media (min-width: 1400px) {

}

*/
