/* Minification failed. Returning unminified contents.
(42,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(43,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(48,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(49,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(63,17): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(118,22): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(139,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(157,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(169,51): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(169,75): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(255,22): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(260,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(279,33): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(288,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(289,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(298,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(302,21): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(310,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(310,43): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(353,22): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(372,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(379,34): run-time error CSS1030: Expected identifier, found '['
(379,46): run-time error CSS1031: Expected selector, found '='
(379,46): run-time error CSS1025: Expected comma or open brace, found '='
(385,38): run-time error CSS1030: Expected identifier, found '['
(385,50): run-time error CSS1031: Expected selector, found '='
(385,50): run-time error CSS1025: Expected comma or open brace, found '='
(395,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(424,29): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(433,30): run-time error CSS1030: Expected identifier, found '['
(433,42): run-time error CSS1031: Expected selector, found '='
(433,42): run-time error CSS1025: Expected comma or open brace, found '='
(442,28): run-time error CSS1039: Token not allowed after unary operator: '-hover-color'
(461,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(488,17): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(489,28): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(489,77): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(500,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(501,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(505,10): run-time error CSS1030: Expected identifier, found '.'
(505,52): run-time error CSS1031: Expected selector, found ')'
(505,52): run-time error CSS1025: Expected comma or open brace, found ')'
(509,10): run-time error CSS1030: Expected identifier, found '.'
(509,52): run-time error CSS1031: Expected selector, found ')'
(509,52): run-time error CSS1025: Expected comma or open brace, found ')'
(542,25): run-time error CSS1039: Token not allowed after unary operator: '-red'
(594,32): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(595,29): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(599,37): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(634,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(644,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(688,34): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(702,21): run-time error CSS1039: Token not allowed after unary operator: '-grey-dark-color'
(714,29): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(716,32): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(716,81): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(716,129): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(716,176): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(730,41): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(737,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(743,40): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(748,42): run-time error CSS1030: Expected identifier, found '['
(748,58): run-time error CSS1031: Expected selector, found '='
(748,58): run-time error CSS1025: Expected comma or open brace, found '='
(753,32): run-time error CSS1039: Token not allowed after unary operator: '-red'
(776,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(780,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(781,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(782,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(797,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(798,38): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(799,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(819,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(824,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(825,24): run-time error CSS1039: Token not allowed after unary operator: '-red'
(857,22): run-time error CSS1039: Token not allowed after unary operator: '-control-shadow'
(858,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(861,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(868,26): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(875,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(896,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(910,37): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(911,29): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(920,30): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(967,32): run-time error CSS1039: Token not allowed after unary operator: '-red'
(968,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(972,33): run-time error CSS1039: Token not allowed after unary operator: '-red'
(992,17): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(994,22): run-time error CSS1039: Token not allowed after unary operator: '-control-shadow'
(995,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(995,76): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(1001,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1006,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(1018,17): run-time error CSS1039: Token not allowed after unary operator: '-red'
(1072,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1095,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1115,71): run-time error CSS1039: Token not allowed after unary operator: '-red'
(1120,35): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(1132,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(1160,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1246,28): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(1278,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1279,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1285,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1286,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1290,28): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(1316,21): run-time error CSS1039: Token not allowed after unary operator: '-red'
(1330,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(1394,28): run-time error CSS1039: Token not allowed after unary operator: '-grey'
(1560,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1618,37): run-time error CSS1039: Token not allowed after unary operator: '-no'
(1634,26): run-time error CSS1039: Token not allowed after unary operator: '-red'
(1856,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(1860,28): run-time error CSS1039: Token not allowed after unary operator: '-bs-success'
(1865,28): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger'
(1870,28): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning'
(1875,28): run-time error CSS1039: Token not allowed after unary operator: '-bs-secondary'
(1915,28): run-time error CSS1039: Token not allowed after unary operator: '-c-odd-row'
(1971,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(2009,21): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2013,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(2045,26): run-time error CSS1039: Token not allowed after unary operator: '-red'
(2144,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2145,38): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2146,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2157,22): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning'
(2168,28): run-time error CSS1039: Token not allowed after unary operator: '-red'
(2169,27): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(2169,41): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(2185,34): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2186,26): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2212,26): run-time error CSS1030: Expected identifier, found '.'
(2212,45): run-time error CSS1031: Expected selector, found ')'
(2212,45): run-time error CSS1025: Expected comma or open brace, found ')'
(2228,21): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(2363,53): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2546,25): run-time error CSS1039: Token not allowed after unary operator: '-dark-color'
(2555,32): run-time error CSS1039: Token not allowed after unary operator: '-bg-color'
(2647,33): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2659,41): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2740,26): run-time error CSS1039: Token not allowed after unary operator: '-control-shadow'
(2765,21): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(2788,50): run-time error CSS1030: Expected identifier, found '['
(2788,60): run-time error CSS1031: Expected selector, found '='
(2788,60): run-time error CSS1025: Expected comma or open brace, found '='
(2792,54): run-time error CSS1030: Expected identifier, found '['
(2792,64): run-time error CSS1031: Expected selector, found '='
(2792,64): run-time error CSS1025: Expected comma or open brace, found '='
(2822,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2831,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2916,30): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2949,35): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2953,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2957,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2965,17): run-time error CSS1039: Token not allowed after unary operator: '-text-color'
(2975,17): run-time error CSS1039: Token not allowed after unary operator: '-red'
(3003,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(3019,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(3072,28): run-time error CSS1039: Token not allowed after unary operator: '-secondary'
(3073,25): run-time error CSS1039: Token not allowed after unary operator: '-radius'
(3097,26): run-time error CSS1039: Token not allowed after unary operator: '-secondary'
(3147,22): run-time error CSS1039: Token not allowed after unary operator: '-primary'
 */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Montserrat-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Sora-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Sora';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/Sora-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Mountains of Christmas';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/MountainsofChristmas-Regular.ttf) format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/MountainsofChristmas-Regular.ttf) format('truetype');
    font-display: swap;
}

:root {
    --transition-speed: 0.1s;
    --radius: 8px;
    --text-color: #384967;
    --primary: #C12E3C;
    --accent: #6BBF8E;
    --bg-color: #ECF0F3;
    --grey: #F6F6F6;
    --red: #C12E3C;
    --control-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", "Sora", sans-serif;
    font-weight: 400;
    font-size: clamp(14px, 1.2dvw, 16px);
    text-decoration: none;
    list-style: none;
    outline: none;
    color: var(--text-color);
    font-optical-sizing: auto;
}

    *:after, *:before {
        box-sizing: border-box;
    }

html {
    scroll-behavior: smooth;
    /* 100dvw/100vw inclui a largura da barra de rolagem; isso força scroll horizontal */
    overflow-x: clip;
}

html, body {
    -webkit-text-size-adjust: 100%;
    max-width: 100%;
    overscroll-behavior-y: none;
}

.app-bg {
    min-height: 100dvh;
    background-attachment: scroll;
    background: url(../Content/assets/background.webp) no-repeat center top;
    background-size: cover;
}

a {
    text-decoration: none !important;
}

header, footer {
    position: sticky;
    left: 0;
    right: 0;
    z-index: 5;
    overflow: visible;
}

    header .menu, footer {
        padding: .5rem 4rem;
    }

header {
    top: env(safe-area-inset-top);
    top: constant(safe-area-inset-top); /* iOS antigo */
    top: 0rem;
    background: #fff;
    height: auto !important;
    min-height: 5rem;
    margin-bottom: 3rem;
}

footer {
    top: 100dvh;
    background: var(--primary);
    margin-top: 4rem;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-content: center;
    align-items: center;
    height: auto;
}

    footer .icones {
        display: inline-block;
        margin-left: 5rem;
    }

        footer .icones a {
            margin: 0 1rem;
        }

body {
    background-color: var(--bg-color);
}

#localLoading img,
.load-wrapper.local img {
    max-height: 5dvh !important;
}

.load-wrapper {
    text-align: center;
    padding: 0 !important;
    z-index: 1090;
    position: relative;
    display: flex;
    justify-content: center; /* Centers horizontally */
    align-items: center; /* Centers vertically */
    background-color: #fff;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(236, 240, 243, 0) 30%);
    border-radius: var(--radius);
}

.load {
    opacity: .95;
    height: 100%;
    width: 100dvw;
    position: fixed;
    top: 0;
    left: 0;
    backdrop-filter: blur(10px);
    background: rgba(63, 50, 81, 0.7);
    background-image: linear-gradient(45deg, var(--text-color) -15%, var(--primary) 100%);
}

.load-wrapper .load img {
    height: 40dvh;
    object-fit: scale-down;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -20dvh;
    margin-top: -20dvh;
}

.loader-circle {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20dvh;
    height: 20dvh;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
    margin-left: -10dvh;
    margin-top: -10dvh;
}

.loader-line-mask {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10dvh;
    height: 20dvh;
    margin-left: -10dvh;
    margin-top: -10dvh;
    overflow: hidden;
    transform-origin: 10dvh 10dvh;
    -webkit-mask-image: -webkit-linear-gradient(top, #000000, rgba(0, 0, 0, 0));
    animation: rotate 1.2s infinite linear;
}

    .loader-line-mask .loader-line {
        width: 20dvh;
        height: 20dvh;
        border-radius: 50%;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    }

.loading-text {
    position: fixed;
    top: calc(50% + 15dvh);
    left: 50%;
    transform: translateX(-50%);
    opacity: 1;
    text-align: center;
    pointer-events: none;
    animation: fadePulse 1.5s ease-in-out infinite;
}

    .loading-text #loading_message {
        color: #fff;
        font-size: 2rem;
        font-weight: 500;
    }

.d-flex {
    display: flex;
    margin: 0 auto;
    width: 100%;
}

.jc-around {
    justify-content: space-around;
}

.jc-evenly {
    justify-content: space-evenly;
}

.fd-column {
    flex-direction: column;
}

.ai-center {
    align-items: center;
}

#return-to-top {
    background: var(--primary);
    opacity: .7;
}

    #return-to-top:hover {
        background: var(--primary);
        opacity: 1;
    }

.resp-only {
    display: none !important;
}

.tooltip.fade {
    opacity: 1 !important;
}

.dropdown-content a[aria-expanded="true"] {
    font-weight: 700;
}

.collapse:not(.show).in {
    display: block;
    margin-left: 1rem;
    border-left: solid 1px var(--primary);
    padding-left: .5rem;
}

.ui-datepicker {
    width: auto;
}

    .ui-datepicker .ui-widget-header {
        background: var(--primary);
        border-color: var(--primary);
    }

    .ui-datepicker .ui-datepicker-title * {
        color: #fff;
        font-weight: 500;
    }

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button {
    color: var(--primary);
}

    .ui-button.ui-state-disabled, .ui-button.ui-state-disabled:hover, .ui-button.ui-state-disabled:active {
        color: var(--bg-color);
    }

.logo {
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    padding: 0 1rem;
    border-radius: var(--radius) 0 0 var(--radius);
}

    .logo img {
        cursor: pointer;
    }

footer .logo {
    margin-bottom: 2rem !important;
    padding-top: 0;
    width: 65%;
    max-width: 200px;
    margin: 0 !important;
    display: inline-block;
    /*margin: .5rem .5rem 0 0 !important;*/
}

header .menu {
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    align-content: center;
    align-items: center;
    height: auto;
}

    header .menu .menu-container {
        flex: 1 1;
        height: auto;
        padding: 0 2rem;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

/* Dropdown content (hidden by default) */
.menu .dropdown-content {
    position: absolute;
    left: 0rem;
    white-space: nowrap;
    display: none;
    z-index: 10;
    padding: .8rem;
    background: var(--grey) !important;
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    top: 100%;
    overflow: auto;
    max-height: 80vh;
}

.menu .menu-dropdown-backdrop {
    display: none;
}

.menu .dropdown-content.end {
    left: unset;
    right: 0;
}

.menu .dropdown-content a {
    float: none;
    color: var(--primary);
    padding: .7rem;
    text-decoration: none;
    display: block;
    text-align: left;
}

    .menu .dropdown-content a:is([data-toggle="collapse"]) {
        display: grid;
        grid-template-columns: repeat(2, auto);
        text-align: left;
    }

        .menu .dropdown-content a:is([data-toggle="collapse"]) .glyphicon {
            text-align: end;
        }

    .menu .dropdown-content a:not(:last-child) {
        padding-bottom: .7rem;
    }

    .menu .dropdown-content a:hover {
        color: #fff;
        background: var(--primary);
    }

.menu .dropdown-content.end * {
    text-align: right;
}

/* Show the dropdown menu on hover */
.menu .dropdown:hover .dropdown-content,
.menu .dropdown:hover .menu-dropdown-backdrop {
    display: block;
    z-index: 5;
}

nav {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 2rem;
    position: relative;
}

    nav a,
    .menu .dropdown .dropbtn {
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: .03rem;
        text-decoration: none;
        padding: 1rem;
        border-radius: var(--radius);
        position: relative;
        background-color: transparent;
    }

    nav a {
        text-transform: none;
    }

.menu .dropdown-content a:is([data-toggle="collapse"]) span.accordion-menu-collapsible-icon {
    margin-left: 1rem;
}

.menu .dropdown .dropbtn {
    border: none;
}

.menu .dropdown:hover .dropbtn {
    background-color: var(--hover-color);
}

.menu .dropdown {
    display: inline-block;
}

.menu nav:last-of-type {
    justify-content: flex-end;
}

#dropMenuUser {
    display: flex;
    column-gap: 3rem;
    flex-direction: row;
    flex-wrap: nowrap;
}

ul.breadcrumb {
    background-color: var(--primary);
    border-radius: 4px 0;
    padding: .4rem 4rem .2rem;
}

    ul.breadcrumb li {
        display: inline;
        color: #fff;
    }

        ul.breadcrumb li:not(:last-child) {
            cursor: pointer;
        }

            ul.breadcrumb li:not(:last-child):after {
                content: "/";
                margin: 0 1rem;
            }

.breadcrumb > li + li:before {
    content: none !important;
}

ul.breadcrumb li a {
    opacity: .8;
    margin: 0;
    text-decoration: none;
    color: var(--grey);
    transition: color var(--transition-speed) ease-in-out, font-weight var(--transition-speed) ease-in-out;
}

ul.breadcrumb li:not(:last-child):hover a,
ul.breadcrumb li:not(:last-child):focus a,
ul.breadcrumb li:not(:last-child):active a,
ul.breadcrumb li:last-child {
    opacity: 1;
}

.breadcrumb-emphasys {
    background-color: var(--red);
    border-radius: var(--radius);
    padding: 0 .8rem;
}

body:has(.breadcrumb-submenu-container:not(.hidden)) header {
    margin-bottom: 0;
}

body:has(.breadcrumb-submenu-container:not(.hidden)) #menuVoltarHome {
    display: flex !important;
}

.form {
    background-color: #fff;
    margin: 0 auto;
    border-radius: 15px;
    padding: 3rem 2rem 1rem;
}

    .form .title,
    .form .title * {
        display: block;
        text-align: center;
        font-weight: 600;
        font-size: 2rem;
        margin: 1rem 0;
    }

        .form .title * {
            display: inline-block;
        }

    .form .subtitle {
        display: block;
        font-size: 1.8rem;
        margin-bottom: .8rem;
        text-align: center;
    }

        .form .title strong,
        .form .subtitle strong {
            color: var(--red);
            font-size: inherit;
        }

    .form .form-id {
        display: flex;
        justify-content: space-between;
        text-align: start;
        padding: .5rem 1rem;
    }

.form-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
}

    .form-flex.column {
        flex-direction: column;
        flex-wrap: nowrap;
    }

.jc-center {
    justify-content: center;
}

.jc-unset {
    justify-content: unset;
}

.form-grid {
    display: grid;
    row-gap: 3rem;
    margin: 0 auto;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    justify-items: center;
    grid-auto-flow: row;
}

input, textarea, select {
    font-size: 16px !important;
}

    input:not([type="button"]),
    textarea,
    input[type="file"] + label,
    select {
        font-size: inherit !important;
        position: relative;
        border: none;
        background-color: var(--grey);
        border-radius: var(--radius);
        min-height: 4rem;
        line-height: 2.5rem;
        padding: .2rem 1rem 0 1rem;
        transition: box-shadow var(--transition-speed) ease-in-out;
        box-shadow: rgba(0, 0, 0, 0.075) 0px 1px 1px 0px inset;
    }

    input[type="file"] + label,
    select {
        font-weight: 500;
        margin: .4rem;
    }

        input[type="file"] + label span {
            color: #fff;
        }

.placeholder-input select {
    margin: 0;
}

textarea {
    padding-top: .8rem;
}

    input:not([type="button"]):disabled,
    input:not([type="button"]):read-only,
    textarea:disabled,
    textarea:read-only,
    select:disabled {
        background-color: #e9ecef;
    }

input[type="file"] + label svg {
    fill: #fff;
}

input[type="file"] + label {
    background-color: var(--bg-color);
    color: #fff;
    text-align: center;
    margin: 1rem auto .5rem;
    align-content: center;
}

    input[type="file"] + label:hover,
    input[type="file"] + label:active,
    input[type="file"] + label:focus {
        background-color: var(--primary);
    }

input[readonly],
input[disabled],
textarea[readonly],
textarea[readonly] {
    pointer-events: none !important;
    background-color: #e9ecef;
}

    input[readonly] + label,
    input[disabled] + label,
    textarea[readonly] + label,
    textarea[readonly] + label {
        pointer-events: none !important;
        background-color: transparent;
    }

input[type=checkbox][readonly] + label,
input[type=checkbox][disabled] + label {
    /*background-color: #e9ecef;*/
    opacity: .6;
}

input::placeholder,
textarea::placeholder {
    text-align: left;
    font-style: italic;
    opacity: 1;
}

input:not([type="button"]):focus,
input:not([type="button"]):focus-within,
textarea:focus,
textarea:focus-within {
    box-shadow: inset 1px 1px 2px #BABECC, inset -1px -1px 2px #FFF;
}

.placeholder-input {
    position: relative;
    display: inline-block;
    margin: .4rem;
    min-width: 8rem;
    transition: text-indent var(--transition-speed) ease-in-out
}

    .placeholder-input > :first-child:not([data-datepicker=true]):active,
    .placeholder-input > :first-child:not([data-datepicker=true]):focus {
        text-indent: 0;
    }

    .placeholder-input > :first-child::-webkit-input-placeholder {
        color: transparent;
    }

    .placeholder-input > :first-child:not([data-datepicker=true]):active::-webkit-input-placeholder,
    .placeholder-input > :first-child:not([data-datepicker=true]):focus::-webkit-input-placeholder {
        color: var(--grey-dark-color);
        text-indent: 0;
        font-weight: 400;
    }

    .placeholder-input label {
        display: inline-block;
        position: absolute;
        top: .75rem;
        left: .5rem;
        padding: .2rem 1rem;
        font-weight: 700;
        border-radius: var(--radius);
        background: rgba(122, 184, 147, 0);
        transition: color var(--transition-speed) ease-in-out, text-shadow var(--transition-speed) ease-in-out, background var(--transition-speed) ease-in-out, transform var(--transition-speed) ease-in-out;
    }

        .placeholder-input label:after {
            position: absolute;
            content: "";
            width: 0;
            height: 0;
            top: 100%;
            left: 50%;
            margin-left: -3px;
            border-left: 3px solid transparent;
            border-right: 3px solid transparent;
            border-top: 3px solid rgba(122, 184, 147, 0);
            transition: border-top var(--transition-speed) ease-in-out;
        }

    .placeholder-input > :first-child:not(select):active + label,
    .placeholder-input > :first-child:not(select):focus + label {
        color: #fff;
        text-shadow: 0 1px 0 rgba(19, 74, 70, .4);
        background: var(--primary);
        transform: translateY(-3rem);
    }

        .placeholder-input > :first-child:not(select):active + label::after,
        .placeholder-input > :first-child:not(select):focus + label::after {
            border-top: 4px solid var(--primary);
        }

    .placeholder-input > :first-child:not(:placeholder-shown):not(:focus),
    .placeholder-input > select:focus,
    .placeholder-input > :first-child:is([data-datepicker=true]) {
        text-indent: var(--label-width, 0) !important;
    }

    .placeholder-input.emphasis > :first-child + label {
        background-color: var(--red);
        color: #fff;
        padding: .2rem .5rem;
    }

    .placeholder-input [data-toggle="tooltip"] {
        position: absolute;
        right: 1rem;
        top: 1rem;
    }

.button-container {
    margin: 2rem auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    grid-gap: 1rem;
    position: relative;
}

button:not(.card-box):not(.dropbtn) {
    color: var(--primary);
    background-color: #fff;
    padding: 1.2rem 3rem;
    position: relative;
    border: solid 1px var(--primary);
    transition: box-shadow var(--transition-speed) ease-in-out;
    border-radius: var(--radius);
    min-height: 3rem;
    font-weight: 600;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
    overflow: hidden;
}

    button:not(.card-box):not(.dropbtn):after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        height: 5rem;
        width: 10rem;
        background: var(--primary);
        -webkit-transition: all var(--transition-speed) ease-in-out;
        transition: all var(--transition-speed) ease-in-out;
        -webkit-transform: translateX(70%) translateY(-80%) rotate(45deg);
        transform: translateX(70%) translateY(-80%) rotate(45deg);
    }

    button:not(.card-box):not(.dropbtn):hover:after,
    button:not(.card-box):not(.dropbtn):focus:after,
    button:not(.card-box):not(.dropbtn):active:after {
        -webkit-transform: translateX(60%) translateY(-50%) rotate(45deg);
        transform: translateX(60%) translateY(-50%) rotate(45deg);
    }

button.primary:not(.card-box):not(.dropbtn):after,
button.danger:not(.card-box):not(.dropbtn):after,
button.swal2-confirm:after {
    background: #fff !important;
}

button.primary:not(.card-box):not(.dropbtn) {
    color: #fff;
    background-color: var(--primary);
}

button.danger:not(.card-box):not(.dropbtn) {
    color: #fff;
    background-color: var(--red);
    border-color: var(--red);
}

button.success:not(.card-box):not(.dropbtn) {
    color: #fff;
    background-color: #198754;
    border-color: #198754;
}

button.info:not(.card-box):not(.dropbtn) {
    color: #fff;
    background-color: #0aa3c2;
    border-color: #0aa3c2;
}

    button.danger:not(.card-box):not(.dropbtn):after,
    button.success:not(.card-box):not(.dropbtn):after,
    button.info:not(.card-box):not(.dropbtn):after {
        background: #fff;
    }

.radio-wrapper input,
.check-wrapper input {
    position: absolute;
    opacity: 0;
}

.radio-wrapper label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    box-shadow: var(--control-shadow);
    border-radius: var(--radius);
    margin: 1rem auto 1rem 0;
    padding: 1.2rem 2rem;
    transition: background var(--transition-speed) ease-in-out;
    width: 100%;
    font-weight: 500;
    opacity: .8;
}

    .radio-wrapper label:hover {
        background: var(--grey);
        opacity: 1;
    }

.radio-wrapper input:checked + label,
.radio-wrapper input:checked + label * {
    color: #fff !important;
    background-color: var(--primary);
    opacity: 1;
}

.radio-wrapper label:before {
    content: "";
    display: block;
    margin-right: 1rem;
    width: 2rem;
    height: 2rem;
    border: 2px solid #b5bfd9;
    background-color: #fff;
    border-radius: 50%;
    transition: 0.25s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' fill='%23FFFFFF' viewBox='0 0 256 256'%3E%3Crect width='256' height='256' fill='none'%3E%3C/rect%3E%3Cpolyline points='216 72.005 104 184 48 128.005' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='32'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.radio-wrapper input:checked + label:before {
    background-color: var(--red);
}

.check-wrapper {
    display: flex;
    align-items: center;
}

    .check-wrapper label {
        position: relative;
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        border: 1px solid #b5bfd9;
        transition: background var(--transition-speed) ease-in-out;
        border-radius: var(--radius);
        border: none;
        padding: 0 1rem;
        align-items: normal;
        align-items: center;
        font-weight: inherit;
    }

        .check-wrapper label:hover {
            background: var(--grey);
        }

    .check-wrapper:not(.end) label:before,
    .check-wrapper.end label:after {
        content: "";
        display: block;
        margin-right: 1rem;
        width: 2rem;
        height: 2rem;
        border: 2px solid #b5bfd9;
        background-color: #fff;
        border-radius: 50%;
        opacity: 0;
        transform: scale(0);
        transition: 0.25s ease;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' fill='%23FFFFFF' viewBox='0 0 256 256'%3E%3Crect width='256' height='256' fill='none'%3E%3C/rect%3E%3Cpolyline points='216 72.005 104 184 48 128.005' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='32'%3E%3C/polyline%3E%3C/svg%3E");
        background-size: 12px;
        background-repeat: no-repeat;
        background-position: 50% 50%;
    }

    .check-wrapper.indicator-on label:before,
    .check-wrapper.indicator-on label:after {
        transform: scale(1);
        opacity: 1;
    }

    .check-wrapper.end label:after {
        margin-right: 0;
        margin-left: 1rem;
    }

    .check-wrapper:not(.end) label:hover:before,
    .check-wrapper:not(.end) label:focus:before,
    .check-wrapper:not(.end) label:active:before,
    .check-wrapper.end label:hover:after,
    .check-wrapper.end label:focus:after,
    .check-wrapper.end label:active:after {
        transform: scale(1);
        opacity: 1;
    }

    .check-wrapper:not(.end) input:checked + label:before,
    .check-wrapper.end input:checked + label:after {
        transform: scale(1);
        opacity: 1;
        background-color: var(--red);
        border-color: var(--red);
    }

    .check-wrapper input:focus + label::before {
        outline: 2px solid var(--red);
    }

.card-box {
    align-items: center;
    border-radius: 15px;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    align-content: center;
    flex-wrap: nowrap;
    height: 17rem;
    width: 19rem;
    font-weight: 700;
    letter-spacing: .2rem;
    text-decoration: none;
    padding: 1rem;
    position: relative;
    border: none;
    white-space: normal;
    color: var(--text-color);
    background-color: #fff;
    box-shadow: var(--control-shadow);
    transition: background var(--transition-speed) ease-in-out, color var(--transition-speed) ease-in-out;
}

    .card-box:hover,
    .card-box:active,
    .card-box:focus {
        background: var(--primary);
        color: #fff;
    }

    .card-box img {
        transition: filter var(--transition-speed) ease-in-out;
        height: 50%;
    }

    .card-box:hover img,
    .card-box:active img,
    .card-box:focus img {
        filter: brightness(0) invert(1);
    }

.card-box-subtitle {
    font-size: 1.1rem;
    color: var(--red);
    display: block;
    font-weight: 700;
}

.card-box-cover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.card-box:hover .card-box-cover {
    display: flex;
}

.form .card-box {
    box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

.pill {
    padding: .3rem .7rem;
    border-radius: 50px;
    margin: 0 1rem;
}

    .pill.alert {
        background-color: #ff0000;
        color: #fff;
    }

    .blink,
    .pill.alert {
        animation: blinker 2s linear infinite;
    }

.radio-wrapper label .pill {
    position: absolute;
    right: -5px;
}

.bg-black {
    background-color: #000;
    color: #fff;
}

.bg-yellow {
    background-color: darkgoldenrod;
    color: #000;
}

.bg-primary {
    background-color: var(--primary);
    color: #fff;
}

    .bg-primary:hover,
    .bg-primary:focus,
    .bg-primary:active {
        color: #fff;
    }

.menu-dropdown-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .4);
    z-index: 4;
}

.heading {
    letter-spacing: 0.08em;
    font-weight: 500;
    color: var(--primary);
    text-align: start;
    margin-bottom: 0;
    margin: 1rem auto 0;
}

.separator {
    position: relative;
    margin-top: 1rem;
    height: 1px;
}

    .separator::before {
        content: "";
        position: absolute;
        top: 0;
        left: 5%;
        right: 5%;
        width: 90%;
        height: 1px;
        background-image: linear-gradient(to right, transparent, var(--red), transparent);
    }

.divider {
    background-image: none;
    border-bottom: 1px solid var(--bg-color);
    background-color: #fff;
    height: 1px;
    margin: .5em 0;
    position: relative;
}

    .divider::before {
        content: "";
        display: block;
        width: 5%;
        height: .5rem;
        background-color: var(--bg-color);
        position: absolute;
        left: 0;
    }

#dataResult {
    margin: 1.5rem 0 0;
    text-align: start;
}

.glass-container {
    max-width: 90dvw;
    padding: 2rem 5rem;
    position: relative;
}

.glass-card {
    position: relative;
    overflow: hidden;
    min-width: 60px;
    margin: 10px;
    background: #fff;
    background-size: auto 120%;
    background-position: center;
    cursor: pointer;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
    min-height: 15rem;
    width: 5rem;
    border-radius: var(--radius);
    /*
        PRECISA DE UM BACKGROUND DEFINIDO PARA USAR O EFEITO GLASS
        box-shadow: inset 1px 1px 0.12px rgba(255, 255, 255, 0.4), 1px 1px 3px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

    */
    background: rgba(255, 255, 255, 0.1);
    padding: 1rem 0;
}

    .glass-card.active {
        flex-grow: 10000;
        transform: scale(1);
        margin: 0px;
        background-size: auto 100%;
        cursor: default;
        width: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        flex-wrap: wrap;
        align-items: center;
        align-content: center;
        padding: .5rem 1rem;
    }

        .glass-card.active .title {
            font-weight: 500;
            font-size: 1.5rem;
            margin: 0;
        }

        .glass-card.active .emphasis {
            font-weight: 700;
            font-size: 3rem;
            margin: 2rem 0;
        }

        .glass-card.active .detail-container {
            display: flex;
            justify-content: space-evenly;
            align-items: center;
            flex-direction: row;
            flex-wrap: wrap;
            align-content: center;
            width: 100%;
        }

            .glass-card.active .detail-container .detail {
                display: flex;
                justify-content: space-evenly;
                align-items: center;
                flex-direction: column;
                flex-wrap: wrap;
                align-content: center;
                font-weight: 600;
            }

.enterprise {
    text-align: end;
    width: max-content;
}

    .enterprise p {
        font-weight: 500;
        margin: 0 0 .2rem 0;
    }

span.copy {
    float: right;
    position: absolute;
    right: 1.2rem;
    top: 1rem;
    padding: 0 .5rem;
    cursor: pointer;
    height: 45%;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    margin: 0;
    color: #fff;
    background-color: var(--bg-color);
}

    span.copy:before {
        content: "Clique para copiar";
    }

    span.copy.done {
        background-color: darkgreen;
    }

span.done.copy:before {
    content: "Copiado";
}

footer .ic_redes_sociais {
    width: 2rem;
}

.swal2-modal *:not(.glyphicon) {
    font-family: inherit !important;
    font-weight: inherit !important;
}

.swal2-title,
.swal2-title * {
    font-size: 2.7rem !important;
    margin-bottom: 2rem !important;
}

.swal2-confirm,
.swal2-confirm .glyphicon {
    background-color: var(--primary) !important;
    border: solid 1px var(--primary) !important;
    color: #fff !important;
}

.swal2-cancel {
    background-color: #fff !important;
    border: solid 1px var(--primary) !important;
    color: var(--primary) !important;
}

.modal-stacktrace {
    background-color: var(--grey);
    text-align: start;
    padding: 1rem;
    border-radius: 4px;
}

.modal-controller {
    margin: 1rem;
    display: flex;
    flex-direction: column;
    text-align: start;
    align-items: center;
    row-gap: 1rem;
}

table:not(.ui-datepicker-calendar) {
    width: 100%;
    border-collapse: collapse;
}

    table:not(.ui-datepicker-calendar) caption {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.7rem;
        font-weight: 500;
        color: var(--red);
    }

        table:not(.ui-datepicker-calendar) caption.tc {
            caption-side: top !important;
            text-align: center !important;
        }

        table:not(.ui-datepicker-calendar) caption.tl {
            caption-side: top !important;
            text-align: left !important;
        }

    table:not(.ui-datepicker-calendar) .accordion:hover {
        --bs-table-accent-bg: white !important;
        background-color: inherit !important;
    }

    .bolder,
    table:not(.ui-datepicker-calendar) thead th,
    table:not(.ui-datepicker-calendar) tfoot tr.total {
        font-weight: 600 !important;
    }

    table:not(.ui-datepicker-calendar) .col-detail {
        display: none !important;
    }

    table:not(.ui-datepicker-calendar) tr td .accordion-details {
        display: grid;
        row-gap: 1rem;
        grid-template-columns: repeat(3, auto);
    }

        table:not(.ui-datepicker-calendar) tr td .accordion-details .row-detail .meta {
            font-weight: 600;
        }

.acoes {
    display: flex;
    padding-top: 1rem;
    justify-content: space-around;
    width: 100%;
}

table:not(.ui-datepicker-calendar) button {
    padding: .5rem 1rem !important;
}

    table:not(.ui-datepicker-calendar) button:after {
        height: 4rem !important;
        width: 8rem !important;
    }

    table:not(.ui-datepicker-calendar) button:hover:after,
    table:not(.ui-datepicker-calendar) button:focus:after,
    table:not(.ui-datepicker-calendar) button:active:after {
        -webkit-transform: translateX(60%) translateY(-60%) rotate(45deg) !important;
        transform: translateX(60%) translateY(-60%) rotate(45deg) !important;
    }

.anexos_link {
    cursor: pointer;
    color: #337ab7;
    text-decoration: underline;
}

    .anexos_link:hover {
        cursor: pointer;
        color: #23527c;
        text-decoration: underline;
    }

span.anexos_link {
    display: block;
}

table tr.total td {
    background-color: var(--grey);
    font-weight: 600 !important;
    text-align: end;
}

.fale-conosco:not(button)::before {
    filter: brightness(0) invert(1);
    content: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22currentColor%22%20class%3D%22bi%20bi-whatsapp%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M13.601%202.326A7.854%207.854%200%200%200%207.994%200C3.627%200%20.068%203.558.064%207.926c0%201.399.366%202.76%201.057%203.965L0%2016l4.204-1.102a7.933%207.933%200%200%200%203.79.965h.004c4.368%200%207.926-3.558%207.93-7.93A7.898%207.898%200%200%200%2013.6%202.326zM7.994%2014.521a6.573%206.573%200%200%201-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56%206.56%200%200%201-1.007-3.505c0-3.626%202.957-6.584%206.591-6.584a6.56%206.56%200%200%201%204.66%201.931%206.557%206.557%200%200%201%201.928%204.66c-.004%203.639-2.961%206.592-6.592%206.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729%200%200%200-.529.247c-.182.198-.691.677-.691%201.654%200%20.977.71%201.916.81%202.049.098.133%201.394%202.132%203.383%202.992.47.205.84.326%201.129.418.475.152.904.129%201.246.08.38-.058%201.171-.48%201.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    vertical-align: sub;
}

/* Container base do skeleton */
.skeleton {
    background: linear-gradient( 90deg, #e0e0e0 25%, #f0f0f0 37%, #e0e0e0 63% );
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
    border-radius: 6px;
    margin-bottom: 10px;
}

.skeleton-title {
    width: 60%;
    height: 28px;
}

.skeleton-line {
    width: 100%;
    height: 16px;
}

    .skeleton-line.short {
        width: 40%;
    }

.skeleton-card {
    height: 120px;
    width: 100%;
    border-radius: 12px;
}

.eye:before {
    content: "\e105";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: .5rem;
}

.eye.active:before {
    content: "\e106";
}

.off:before,
.off:after {
    color: transparent;
}

.eye-close:before {
    content: "\e106";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: .5rem;
}

.chevron-up:before {
    content: "\e113";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: .5rem;
}

.accordion-detail::after,
.chevron-down:before {
    content: "\e114";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: .5rem;
}

.accordion-detail.active::after {
    content: "\e113";
}

section {
    scroll-margin-top: 12rem; /* header + respiro */
}

#bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 5rem;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    border-top: 1px solid #e0e0e0;
    box-shadow: 0 -2px 8px rgba(0,0,0,.08);
    z-index: 50;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform .15s ease;
}

#bn-meta {
    padding-left: 1rem;
}

    #bn-meta::after {
        content: "|";
        margin: 0 0 0 2rem;
        color: #bbb;
    }

/* Blocos */
#bottom-nav .bn-left,
#bottom-nav .bn-center,
#bottom-nav .bn-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Centro (âncoras) */
#bottom-nav a {
    text-decoration: none;
    color: #555;
    padding: 6px 10px;
    border-radius: 6px;
    transition: background .2s, color .2s;
}

    #bottom-nav a:hover {
        background: #f0f0f0;
    }

    /* Âncora ativa */
    #bottom-nav a.active {
        background: var(--primary);
        color: #fff;
        font-weight: 500;
    }

#bottom-nav .bn-right {
    padding-right: 1rem;
}

/* Botão topo */
#btn-topo {
    border: none;
    background: #f0f0f0;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
}

    #btn-topo:hover {
        background: #e0e0e0;
    }

button.christmas-hat,
span.christmas-hat,
p.christmas-hat {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.christmas-hat:after {
    content: url('https://www.phsport.dk/images/julepics/santa-hat.png');
    position: absolute;
    transform: rotateY(180deg) scale(.06) translate(-25%, -40%);
}

.christmas-hat-off::after {
    content: none;
}

.menu .dropdown-content #wrapperChristmas a:hover {
    background: #E3EBF2;
    font-weight: 600;
}

svg.christmas-tree {
    max-height: 60vh;
    overflow: visible;
}

    svg.christmas-tree path {
        fill: #379157;
        stroke: #379157;
        stroke-width: .2;
        transform: scale(0);
        transform-origin: 50% 50%;
        animation: star 8s ease-in-out infinite;
        animation-delay: calc( var(--no) * .025s );
        transform-box: fill-box;
    }

    svg.christmas-tree .christmas-message {
        font-family: "Mountains of Christmas" !important;
        color: #fff !important;
        font-weight: 700 !important;
        font-size: 1rem;
    }

        svg.christmas-tree .christmas-message * {
            font-size: 1rem;
        }

        svg.christmas-tree .christmas-message .message-bg {
            stroke: var(--red);
            fill: transparent;
            stroke-width: 2;
            text-anchor: middle;
        }

        svg.christmas-tree .christmas-message .message-detail {
            color: #C89568;
        }

.new-year {
    background: linear-gradient(to bottom, rgba(9, 5, 19, 1) 0%, rgba(150, 73, 135, 1) 75%, rgba(253, 188, 163, 1) 100%);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

    .new-year .stars {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        animation: rotation 360s infinite linear;
    }

        .new-year .stars:after, .new-year .stars:before {
            content: "";
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            background: url('data:image/png; base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQAQMAAAC6caSPAAAABlBMVEVHcEz///+flKJDAAAAAXRSTlMAQObYZgAAAIVJREFUeAHt2SEOwkAQhtFJKuqKRRGOgKzgUMgKRI/G0ZDoacNkN/ue/zJ+/ugBcI+01/EEAGBc04FkP58AVFoi7VaSLAEAAPB/j0hbK678AADMkXbZG03mGA0AAKsP3JgAAGDa88knsuZ8Mp1M6gEAPFtNrtEjtkh7lyRb3/PAWpS0BPgC0PMMdOEjXqoAAAAASUVORK5CYII=');
        }

        .new-year .stars:after {
            background-size: 100px;
            opacity: 0.4;
        }

        .new-year .stars:before {
            background-size: 200px;
            opacity: 0.6;
        }

    .new-year h1 {
        font-size: calc(1.5em + 5vw);
        color: #fff;
        font-family: 'Caveat', sans-serif;
        text-align: center;
        padding: 0.5em;
        transform: rotate(-4deg) translateY(-15vh);
    }

    .new-year .mountains {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: auto;
        min-width: 100%;
        height: 60px;
        fill: #002;
    }

    .new-year .mountains--layer1 {
        z-index: 2;
    }

    .new-year .mountains--layer2 {
        fill: #9d5189;
        z-index: 0;
    }

span.debug {
    background: red;
    color: #fff;
    padding: .5rem;
}

    span.debug:before {
        content: "DEBUG";
    }

header span.debug {
    position: absolute;
    top: 1.5rem;
    transform: rotate(270deg);
}

    header span.debug.left {
        left: -2rem;
    }

    header span.debug.right {
        right: -1rem;
    }

.viewer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 1075;
    max-width: 100dvw;
}

    .viewer-overlay.open {
        opacity: 1;
        pointer-events: auto;
    }

/* BOTTOM SHEET */
.viewer-drawer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    max-height: 92vh;
    background: #fff;
    transform: translateY(100%);
    transition: transform .35s ease;
    z-index: 1080;
    box-shadow: 0 -8px 20px rgba(0,0,0,.25);
    display: flex;
    flex-direction: column;
    border-radius: 16px 16px 0 0;
}

    .viewer-drawer.open {
        transform: translateY(0);
    }

.viewer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 1.5rem;
    border-bottom: 1px solid #ddd;
    background: #f8f8f8;
    border-radius: 12px 12px 0 0;
}

.viewer-actions {
    display: flex;
    gap: 8px;
}

    .viewer-actions button {
        padding: .4rem 1.5rem !important;
    }

.viewer-content {
    overflow-y: auto;
    overscroll-behavior: none;
    margin: 0 .5rem 1rem;
    padding: 0;
}

.viewer-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: none;
}

.viewer-skeleton {
    padding: 20px;
    text-align: center;
    color: #888;
}

.viewer-handle {
    width: 40px;
    height: 5px;
    background: #ccc;
    border-radius: 3px;
    margin: 8px auto 4px auto;
}

.viewer-container {
    margin-left: auto;
    margin-right: auto;
    display: none;
}

.viewer-drawer .viewer-container {
    display: block !important;
}

[data-calendar=day] {
    min-width: 12ch;
}

[data-calendar=month] {
    min-width: 18ch;
}

[data-calendar=year] {
    min-width: 14ch;
}

caption.flex {
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: .5rem 1rem;
}

.pointer {
    cursor: pointer;
}

.badge {
    border-radius: var(--radius);
}

.badge-success {
    background-color: var(--bs-success);
    color: #fff;
}

.badge-danger {
    background-color: var(--bs-danger);
    color: #fff;
}

.badge-warning {
    background-color: var(--bs-warning);
    color: #000;
}

.badge-secondary {
    background-color: var(--bs-secondary);
    color: #fff;
}

    .badge-success a,
    .badge-success a:hover,
    .badge-success a:active,
    .badge-success a:focus,
    .badge-danger a,
    .badge-danger a:hover,
    .badge-danger a:active,
    .badge-danger a:focus,
    .badge-secondary a,
    .badge-secondary a:hover,
    .badge-secondary a:active,
    .badge-secondary a:focus {
        color: #fff;
    }

.badge-warning a,
.badge-warning a:hover,
.badge-warning a:active,
.badge-warning a:focus {
    color: #000;
}

.fade-off {
    opacity: .25;
    pointer-events: none;
}

.glyphicon-folder-open {
    color: #f2994a;
}

.glyphicon.spinning {
    animation: spin 1s linear infinite;
}

.odd-row {
    background-color: var(--c-odd-row);
}

.download-icon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: 1rem;
}

    .download-icon:before {
        content: "\e026";
    }

.inputfile {
    display: none !important;
}

.only-ios {
    display: none;
}

.not-ios {
    display: block; /* fallback */
    display: revert;
}

@supports (-webkit-touch-callout: none) {
    @media (pointer: coarse) {
        .only-ios {
            display: block; /* fallback */
            display: revert;
        }

        .not-ios {
            display: none;
        }

        .placeholder-input label {
            top: 0;
        }
    }
}

.swal2-container {
    z-index: 1095;
}

.highlight-wrapper {
    margin: 2rem 0;
    border-radius: var(--radius);
    padding: .5rem 1rem;
}

.form-control.highlight {
    background-color: #fff;
}

    .form-control.highlight,
    .form-control.highlight:focus,
    .form-control.highlight:focus-within {
        box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
    }

.highlight-wrapper .form-control.highlight {
    min-height: 5rem;
}

.autocomplete-input {
    position: relative;
}

    .autocomplete-input input {
        padding-right: 35px;
    }

    .autocomplete-input::after {
        content: "\e003";
        font-family: 'Glyphicons Halflings';
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
        color: var(--primary);
    }

.card-box.ia {
    border: solid 2px var(--red);
    border-style: outset;
}

.detail-badge {
    position: absolute;
    width: 4em;
    border-radius: 10px;
    display: inline-block;
    top: .5rem;
    left: 1rem;
    transition: all 0.2s ease;
    padding: 0;
}

    .detail-badge .ribbon {
        position: absolute;
        border-radius: 4px;
        padding: .5rem 3rem;
        z-index: 11;
        color: #fff;
        left: 50%;
        top: 50%;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.27);
        text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
        text-transform: uppercase;
        background: linear-gradient(to bottom right, #555 0%, #333 100%);
        cursor: default;
        transform: translate(-50%, 20%);
    }

    .detail-badge.ia .ribbon {
        background: var(--red);
        color: #fff;
    }

        .detail-badge.ia .ribbon::before {
            content: "IA";
        }

.hex-badge {
    position: absolute;
    width: 4em;
    height: 6.2em;
    border-radius: 10px;
    display: inline-block;
    top: -2rem;
    right: -1rem;
    transition: all 0.2s ease;
    transform: scale(.8);
}

    .hex-badge:before, .hex-badge:after {
        position: absolute;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        background: inherit;
        content: "";
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }

    .hex-badge:before {
        transform: rotate(60deg);
    }

    .hex-badge:after {
        transform: rotate(-60deg);
    }

    .hex-badge .circle {
        width: 5rem;
        height: 5rem;
        position: absolute;
        background: #fff;
        z-index: 10;
        border-radius: 50%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }

    .hex-badge .ribbon {
        position: absolute;
        border-radius: 4px;
        padding: .5rem 3rem;
        z-index: 11;
        color: #fff;
        left: 50%;
        top: 50%;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.27);
        text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
        text-transform: uppercase;
        background: linear-gradient(to bottom right, #555 0%, #333 100%);
        cursor: default;
        transform: translate(-50%, 20%);
    }

    .hex-badge.ia {
        background: linear-gradient(to bottom right, #f4511e 0%, #b71c1c 100%);
        color: #c62828;
    }

        .hex-badge.ia .circle {
            background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20%3F%3E%3C!--%20License%3A%20CC%20Attribution.%20Made%20by%20howcolour%3A%20https%3A%2F%2Fwww.howcolour.com%2F%20--%3E%3Csvg%20width%3D%22800px%22%20height%3D%22800px%22%20viewBox%3D%220%200%2048%2048%22%20data-name%3D%22Layer%201%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3Cstyle%3E%20%20%20%20%20%20.cls-1%2C%20.cls-2%20%7B%20%20%20%20%20%20%20%20fill%3A%20none%3B%20%20%20%20%20%20%20%20stroke%3A%20%23353535%3B%20%20%20%20%20%20%20%20stroke-linecap%3A%20round%3B%20%20%20%20%20%20%20%20stroke-width%3A%202px%3B%20%20%20%20%20%20%7D%20%20%20%20%20%20.cls-1%20%7B%20%20%20%20%20%20%20%20stroke-linejoin%3A%20round%3B%20%20%20%20%20%20%7D%20%20%20%20%20%20.cls-2%20%7B%20%20%20%20%20%20%20%20stroke-miterlimit%3A%2010%3B%20%20%20%20%20%20%7D%20%20%20%20%20%20.cls-3%20%7B%20%20%20%20%20%20%20%20fill%3A%20%23353535%3B%20%20%20%20%20%20%7D%20%20%20%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Ctitle%2F%3E%3Cg%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M17.30639%2C11.25243a5.29412%2C5.29412%2C0%2C1%2C0-10.58824%2C0%2C5.23707%2C5.23707%2C0%2C0%2C0%2C.584%2C2.37007A5.27955%2C5.27955%2C0%2C0%2C0%2C8.8358%2C23.95831%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M3.58191%2C21.56266a7.00047%2C7.00047%2C0%2C1%2C0%2C11.32225%2C6.78321V28%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M8.43086%2C42.32855A6.21606%2C6.21606%2C0%2C0%2C1%2C5.108%2C36.82494a6.14985%2C6.14985%2C0%2C0%2C1%2C.68573-2.78316%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M19%2C16a5%2C5%2C0%2C0%2C1-5%2C5%22%2F%3E%3Cg%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2219%2016.01%2030.5%2016.01%2032.521%2013.99%22%2F%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2225.5%2020.01%2031.5%2020.01%2033.521%2017.99%2039%2017.99%22%2F%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2224.917%2031.99%2030.5%2031.99%2032.521%2034.01%22%2F%3E%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2224.917%2027.99%2031.5%2027.99%2033.521%2030.01%2039%2030.01%22%2F%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M39%2C38.01018H31.52094l-1.52061-2.02061-4.95867.00011v6.05209a5%2C5%2C0%2C0%2C1-10%2C0%22%2F%3E%3C%2Fg%3E%3Cpath%20class%3D%22cls-2%22%20d%3D%22M17.04167%2C4.13392a4.05277%2C4.05277%2C0%2C0%2C1%2C8%2C.91833V12.01l4.45868.00013L31.521%2C9.98956H39%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2236%22%20x2%3D%2225.04167%22%20y1%3D%2224%22%20y2%3D%2224%22%2F%3E%3Ccircle%20class%3D%22cls-3%22%20cx%3D%2211%22%20cy%3D%2220%22%20r%3D%221%22%2F%3E%3Ccircle%20class%3D%22cls-3%22%20cx%3D%2211.79167%22%20cy%3D%2243.5%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2241.47922%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2241.47922%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2241.47922%22%20cy%3D%2230%22%20r%3D%222%22%2F%3E%3Ccircle%20class%3D%22cls-2%22%20cx%3D%2241.47922%22%20cy%3D%2238%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
            background-size: 75%;
            background-repeat: no-repeat;
            background-position: 50% 50%;
        }

        .hex-badge.ia .ribbon::before {
            content: "IA";
        }

.radio-detail {
    overflow: hidden;
}

    .radio-detail::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        height: 1rem;
        width: 5rem;
        background: var(--primary);
        -webkit-transition: all var(--transition-speed) ease-in-out;
        transition: all var(--transition-speed) ease-in-out;
        -webkit-transform: translateX(40%) rotate(135deg);
        transform: translateX(40%) translateY(365%) rotate(135deg);
    }

.nocontent::after,
.nocontent::before {
    content: none !important;
}

.radio-detail.warning::after {
    background: var(--bs-warning);
}

.radio-detail-text::before {
    content: attr(data-detail-message);
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding: 0 1.8rem;
    color: transparent;
    background-color: var(--red);
    border-radius: 0 var(--radius) var(--radius) 0;
    clip-path: polygon( 25px 0, /* topo esquerdo levemente deslocado */
    100% 0, /* topo direito */
    100% 100%, /* base direita */
    0 100% /* base esquerda */
    );
}

.radio-detail-text::after {
    content: attr(data-detail-message);
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding: 0 1rem;
    color: #fff;
    -webkit-transition: all var(--transition-speed) ease-in-out;
    transition: all var(--transition-speed) ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
}

.no-scroll {
    overflow: hidden;
}

html.no-scroll {
    padding-right: 15px; /* largura da scrollbar */
}

.ui-autocomplete {
    position: absolute !important;
    max-height: 21%;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 4;
}

.viewer-drawer .ui-autocomplete {
    z-index: 1090;
}

html:not(.no-scroll):has(.viewer-drawer.open),
body:not(.no-scroll):has(.viewer-drawer.open),
.app-bg:not(.no-scroll):has(.viewer-drawer.open) {
    overflow: hidden;
    padding-right: 15px; /* largura da scrollbar */
}

[data-title] {
    position: relative;
    padding-top: 2.5rem;
}

    [data-title]::before {
        content: attr(data-title);
        position: absolute;
        top: 0;
        color: var(--text-color);
    }

.drawer-placeholder {
    display: none;
}

summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

    summary::-webkit-details-marker {
        display: none
    }

    summary .control-icon {
        transition: .3s ease;
    }

details .control-icon:after {
    content: "\e114";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: .5rem;
}

details[open] .control-icon:after {
    content: "\e113";
}

.enabled:not([readonly]):not([disabled]) {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------------------------------------------------------------------

    ANIMACOES

--------------------------------------------------------------------- */

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Efeito shimmer */
@keyframes skeleton-loading {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

@keyframes fadePulse {
    0% {
        opacity: .6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: .6;
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes star {
    0% {
        transform: scale(0);
        animation-timing-function: cubic-bezier(.74,1.72,.57,1.01)
    }

    10% {
        transform: scale(1);
    }

    65% {
        transform: translateY(0px) scale(1);
    }

    75% {
        transform: translateY(50px) scale(0);
    }

    100% {
        transform: translateY( 0px ) scale(0);
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary) 70%, transparent);
    }

    50% {
        box-shadow: 0 0 0 5px rgba(0, 0, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

/* ---------------------------------------------------------------------

    RESPONSIVIDADE

--------------------------------------------------------------------- */

@media (max-width: 1500px) {
    .glass-card.active .detail-container .detail {
        transform: scale(.9);
    }
}

@media (max-width: 1400px) {
    .col-secundaria {
        display: none !important;
    }

    .full-row {
        width: 100%;
    }
}

@media (max-width: 1024px) {

    .menu-container {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-height: 948px) {

    .loader-circle {
        width: 30dvh;
        height: 30dvh;
        margin-left: -15dvh;
        margin-top: -15dvh;
    }

    .loader-line-mask {
        width: 15dvh;
        height: 30dvh;
        margin-left: -15dvh;
        margin-top: -15dvh;
        transform-origin: 15dvh 15dvh;
    }

        .loader-line-mask .loader-line {
            width: 30dvh;
            height: 30dvh;
        }

    .load-wrapper .load img {
        margin-left: -20dvh;
        margin-top: -20dvh;
    }

    header .menu, footer {
        padding: .5rem 3rem;
    }

    .logo {
        padding: 0;
    }

    .menu .dropdown .dropbtn {
        padding: 0;
    }

    .menu-container {
        flex-wrap: nowrap;
    }
}

@media (max-width: 768px) {

    header .menu, footer {
        padding: 0 2rem;
    }

    .logo {
        padding: .5rem 1rem .5rem 0;
    }

    header .menu .menu-container {
        flex-direction: row-reverse;
        flex-wrap: nowrap;
        padding-right: .75rem;
    }

    ul.breadcrumb {
        padding: .2rem 1rem;
    }

    nav:not([aria-label="breadcrumb"]) a,
    .menu .dropdown .dropbtn {
        font-size: 16px !important;
        transform-origin: left;
        display: flex;
        flex-direction: column;
        padding: 0 .5rem;
    }

    header .logo img {
        width: 10dvw;
    }

    footer .icones {
        margin-left: 0;
    }

        footer .icones a {
            margin: 0 .5rem;
        }

        footer .icones .ic_redes_sociais {
            width: 20px !important;
        }

    footer .logo {
        padding-right: 0;
        max-width: 150px;
        margin-right: 0 !important;
    }

    nav:not([aria-label="breadcrumb"]) {
        grid-gap: initial;
    }

    .menu nav:last-of-type {
        flex: 0 0 auto;
    }

    .menu nav:first-of-type {
        justify-content: flex-end;
    }

    .menu .dropdown-content {
        margin: 0;
        position: fixed;
        inset: 0;
        min-height: 100dvh;
        width: auto;
        min-width: 0;
        max-width: none;
        background-color: rgba(255, 255, 255, 0.5) !important;
        box-shadow: inset 1px 1px 0.12px rgba(255, 255, 255, 0.4), 1px 1px 3px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        display: none;
        border-radius: 0;
    }

    .menu .dropdown:hover .dropdown-content,
    .menu .dropdown:hover .menu-dropdown-backdrop {
        display: none;
    }

    .menu .dropdown.active .dropdown-content {
        display: flex;
        flex-direction: column;
    }

    .menu .dropdown-content a {
        padding: 1rem;
    }

        .menu .dropdown-content a:hover,
        .menu .dropdown-content a:active {
            outline: none;
            border: none;
            color: var(--dark-color);
            background-color: transparent;
        }

    .menu .dropdown-content span.close {
        color: #fff;
        position: absolute;
        top: 1.5rem;
        right: 1.5rem;
        background-color: var(--bg-color);
        padding: .5rem .8rem;
        opacity: .7;
        font-weight: 500;
    }

    .menu .dropdown-content .resp-only.bottom {
        margin-top: auto;
    }

    .flex-center {
        align-items: center !important;
        justify-content: space-evenly !important;
    }

    .resp-only {
        display: initial !important;
    }

    .resp-hidden {
        display: none !important;
    }

    .resp-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: center;
        justify-content: space-evenly;
        width: 80dvw;
    }

    .resp-flex-start {
        justify-content: flex-start;
    }

    .resp-inline-flex {
        display: inline-flex !important;
    }

    .load-wrapper .load img {
        height: 40dvw;
        object-fit: scale-down;
    }

    .loader-circle {
        width: 50dvw;
        height: 50dvw;
        margin-left: -25dvw;
        margin-top: -25dvw;
    }

    .loader-line-mask {
        width: 25dvw;
        height: 50dvw;
        margin-left: -25dvw;
        margin-top: -25dvw;
        transform-origin: 25dvw 25dvw;
    }

        .loader-line-mask .loader-line {
            width: 50dvw;
            height: 50dvw;
        }

    .load-wrapper .load img {
        height: 40dvw;
        margin-left: -20dvw;
        margin-top: -20dvw;
    }

    .form {
        padding: 3rem 2rem 1rem;
    }

    .form-grid {
        grid-template-columns: repeat(2, auto);
        row-gap: 2rem;
        column-gap: 2rem;
    }

    .heading {
        letter-spacing: 0.05em;
    }

    .glass-container {
        padding: 2rem 1rem;
    }

    .glass-card.active {
        min-height: 15rem;
        height: auto;
        transition: height var(--transition-speed) ease-in-out;
    }

        .glass-card.active .detail-container {
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            align-content: center;
            justify-content: flex-start;
            align-items: center;
            max-height: 0;
            overflow: hidden;
            transition: max-height var(--transition-speed) ease;
        }

            .glass-card.active .detail-container.active {
                max-height: none;
            }

            .glass-card.active .detail-container .detail {
                margin-top: 1.2rem;
            }

    #saldo-show {
        font-size: 1.1rem;
    }

    span.copy {
        position: unset;
        float: unset;
        margin: .5rem 0 0;
    }

    .resp-min-vw {
        min-width: 80dvw;
    }

    .pill {
        font-size: .9rem;
        padding: 0 .5rem;
        bottom: 5px;
    }

    .card-box {
        height: 16rem;
        width: 17rem;
        font-size: 1.3rem;
    }

        .card-box * {
            transform: scale(.9);
        }

    .radio-wrapper label {
        flex-wrap: wrap;
    }

    input:not([type="button"]):not(.inputfile):not([type="checkbox"]):not([type="radio"]),
    textarea,
    input[type="file"] + label,
    select {
        width: 100% !important;
    }

    input:not([type="button"]),
    textarea,
    input[type="file"] + label,
    select {
        padding: .2rem 1rem .3rem 1.4rem;
    }

    table:not(.ui-datepicker-calendar) caption {
        font-size: 1.5rem;
    }

    table:not(.ui-datepicker-calendar) thead:not(.ui-datepicker-calendar) {
        display: none; /* esconde cabeçalho */
    }

    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden),
    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden) tfoot:not(.hidden):not(.resp-hidden),
    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden) tbody:not(.hidden):not(.resp-hidden),
    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden) tr:not(.hidden):not(.resp-hidden),
    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden) td:not(.hidden):not(.resp-hidden) {
        display: block;
        width: 100%;
    }

    table:not(.ui-datepicker-calendar) tr {
        margin-bottom: 2rem;
        background: white;
        padding: 1rem .5rem;
        border-radius: 12px;
        box-shadow: var(--control-shadow);
    }

        table:not(.ui-datepicker-calendar) tr.info-open {
            margin-bottom: 0;
            border-radius: 10px 10px 0 0;
        }

    table:not(.ui-datepicker-calendar):not(.hidden):not(.resp-hidden) td:not(.hidden):not(.resp-hidden) {
        padding: .4rem .8rem !important;
        border: none !important;
        text-align: right !important;
        display: flex !important;
        justify-content: space-between;
        width: 100% !important;
    }

    table:not(.ui-datepicker-calendar) tr.total td {
        background-color: transparent;
    }

    /* Label mostrado antes do valor */
    table:not(.ui-datepicker-calendar) td[data-label]:before {
        content: attr(data-label) ": ";
        font-weight: 600;
        color: var(--text-color);
        display: inline;
        margin-right: .5rem;
    }

    table:not(.ui-datepicker-calendar) td .acoes {
        justify-content: flex-end;
        column-gap: 4rem;
    }

    table:not(.ui-datepicker-calendar) td:not([data-label]):before {
        content: none;
    }

    table:not(.ui-datepicker-calendar) td.text-right:not([data-label]):before {
        content: "";
    }

    /* Botão fixo no final */
    table:not(.ui-datepicker-calendar) td.acoes {
        margin-top: 1rem;
    }

    table:not(.ui-datepicker-calendar) tbody:has([data-resp=first]) tr:not([data-resp=first]) {
        display: none;
    }

        table:not(.ui-datepicker-calendar) tbody:has([data-resp=first]) tr:not([data-resp=first]).visible {
            display: block;
        }

    tr[data-resp=first] {
        padding-bottom: 2.5rem !important;
    }

        tr[data-resp=first]::after {
            content: "▼";
            float: right;
            opacity: .6;
            transition: transform .2s ease;
        }

        tr[data-resp=first].expanded::after {
            transform: rotate(180deg);
        }

    table:not(.ui-datepicker-calendar) td.flex-end {
        justify-content: flex-end !important;
    }

    .table-hover > tbody > tr:hover,
    .table-striped > tbody > tr:nth-of-type(odd) {
        background-color: transparent !important;
    }

    .table-hover > tbody > tr:hover,
    .table-striped > tbody > tr:nth-of-type(odd) {
        --bs-table-accent-bg: transparent;
        color: inherit !important;
    }

    .accordion {
        display: none;
    }

    table:not(.ui-datepicker-calendar) tr:hover {
        --bs-table-accent-bg: white !important;
        background-color: inherit !important;
    }

    .info-accordion,
    .inner-table tr {
        padding: 0;
    }

    .inner-table tr {
        margin-bottom: 1rem;
    }

        .inner-table tr .form {
            padding: 1rem;
        }

            .inner-table tr .form .button-container {
                margin: 1rem auto;
            }

    #bottom-nav {
        height: auto;
        padding: 0;
    }

        /*#bottom-nav .bn-left {
            flex: 1;
            flex-direction: column;
            align-items: stretch;
        }*/

        /* Esconde âncoras diretas (desktop) */
        #bottom-nav .bn-left > a {
            display: none;
        }

    /* Current */
    .bn-current {
        padding: 14px 16px;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .bn-current::after {
            content: "▼";
            margin: 0 .5rem;
            opacity: .6;
            transition: transform .2s ease;
            transform: rotate(180deg);
        }

    #bottom-nav.open .bn-current::after {
        transform: rotate(0deg);
    }

    /* Dropdown */
    .bn-options {
        position: absolute;
        bottom: calc(100% + 6px);
        left: 0;
        right: 0;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 12px;
        box-shadow: 0 -6px 20px rgba(0,0,0,.15);
        display: none;
        overflow: hidden;
        z-index: 1001;
    }

    #bottom-nav.open .bn-options {
        display: block;
    }

    .bn-options a {
        display: block;
        padding: 12px 16px;
        border-bottom: 1px solid #f0f0f0;
    }

        .bn-options a.active {
            background: var(--primary);
            color: #fff;
        }

    #bn-meta::after {
        content: none;
    }

    header span.debug {
        top: 1.5rem;
    }

    .viewer-drawer {
        max-height: calc(100dvh - 70px);
    }

    .odd-row {
        background-color: transparent;
    }

    .button-container {
        flex-direction: column;
        align-items: stretch;
        align-content: space-around;
        grid-gap: 1rem !important;
    }

    .check-wrapper.end label {
        padding: 0;
    }
}

.divider {
    border-bottom: 1px solid var(--primary);
}

    .divider::before {
        background-color: var(--primary);
    }

span.copy {
    background-color: var(--primary);
}

.christmas-hat:after {
    transform: rotateY(180deg) scale(.06) translate(0, -50%);
}

.menu .dropdown-content a {
    color: var(--text-color);
}

.card-box:hover .card-box-subtitle,
.menu .dropdown-content a:hover .card-box-subtitle {
    color: #fff;
}

.breadcrumb-emphasys {
    background-color: #fff;
    color: var(--red) !important;
}

.form-control.highlight,
.form-control.highlight:focus,
.form-control.highlight:focus-within {
    box-shadow: rgba(153, 0, 0, 0.4) 0px 0px 0px 2px, rgba(153, 0, 0, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset !important;
}
.dp-wrapper {
    position: relative;
}

.dp-input input {
    padding-right: 35px;
}

.dp-input::after {
    content: "\e109";
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--primary);
}

.dp-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.dp-popup {
    position: absolute;
    top: 0;
    background: white;
    padding: 10px;
    border-radius: var(--radius);
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
    width: 260px;
    z-index: 4;
}

.hidden {
    display: none;
}

.dp-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
    align-items: center;
}

    .dp-header .dp-month {
        font-weight: 700;
        cursor: pointer;
    }

    .dp-header .dp-year {
        margin-left: .25rem;
        font-size: 1.5rem;
        cursor: pointer;
    }

    .dp-header .dp-prev,
    .dp-header .dp-next {
        font-size: 2rem;
        cursor: pointer;
        margin: 0 .5rem;
        padding: .2rem 1.5rem !important;
        border-radius: 9999px !important;
        display: inline-flex;
        box-shadow: none !important;
        border: none !important;
    }

        .dp-header .dp-prev:hover,
        .dp-header .dp-next:hover {
            background: rgba(243,244,246,1);
        }

        .dp-header .dp-prev::after,
        .dp-header .dp-next::after {
            content: none !important;
        }

.dp-days {
    margin: 1rem 0;
    font-weight: 600;
    background-color: var(--secondary);
    border-radius: var(--radius);
}

.dp-days, .dp-dates {
    display: flex;
    flex-wrap: wrap;
}

    .dp-days div, .dp-dates div {
        width: 14.28%;
        text-align: center;
        padding: 5px;
    }

    .dp-days div {
        font-size: 1.1rem;
    }

.dp-date {
    cursor: pointer;
    border-radius: 50%;
}

    .dp-date:hover {
        background: var(--secondary);
    }

.dp-days[data-type=months],
.dp-days[data-type=years] {
    justify-content: center;
}

.dp-dates[data-type=months],
.dp-dates[data-type=years] {
    display: grid;
    gap: 8px;
    justify-content: center;
}

.dp-dates[data-type=months],
.dp-dates[data-type=years] {
    grid-template-columns: repeat(4, 1fr);
}

    .dp-dates[data-type=months] .dp-date,
    .dp-dates[data-type=years] .dp-date {
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        cursor: pointer;
        font-weight: 500;
    }

.dp-popup .disabled {
    pointer-events: none;
    opacity: 0.5;
}

.dp-popup .weekend {
    color: #9ca3af; /* cinza suave */
}

    .dp-popup .weekend:hover {
        color: inherit;
    }

/*.today {
    background: var(--secondary);
}*/

.dp-popup .selected {
    background: var(--primary);
    color: white;
}

