html {
    font-size: 16px;
}
@media (min-width: 768px) {
    html {
        font-size: 10px;
    }
}
@media (min-width: 992px) {
    html {
        font-size: 11px;
    }
}
@media (min-width: 1200px) {
    html {
        font-size: 12px;
    }
}
@media (min-width: 1400px) {
    html {
        font-size: 14px;
    }
}
@media (min-width: 1600px) {
    html {
        font-size: 16px;
    }
}
body {
    --bs-body-font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
}
strong {
    font-weight: bold;
}
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1084px;
    }
}

@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
    }
}
/**** HEADER ****/

.link-external {
    font-size: 0.625rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    color: var(--neutral-400);
}
.link-external:not(:last-child) {
    border: 0;
    border-right-width: 1px;
    border-style: solid;
    border-color: var(--neutral-100);
}
.navigation {
    position: sticky;
    top: 0;
    left:0;
    z-index: 100;
    background-color: #fff;
    padding: 1.25rem 0;
    font-size: 1rem;
}
.navigation .offcanvas-lg {
    --bs-offcanvas-width: 16.56rem;
}
.navigation .offcanvas-header {
    --bs-offcanvas-padding-x: 0.5rem;
}
.navigation .offcanvas-body {
    --bs-offcanvas-padding-x: 0.9375rem;
}
.navigation .offcanvas-lg .btn-close {
    position: unset;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    margin: 0;
    margin-right: 0.375rem;
    box-shadow: unset;
    opacity: 1 !important;
}
.navigation > .container {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
}
.navigation .brand > img{
    height: 1.75rem;
    width: auto;
}
.navigation .navigation-menu {
    padding-left: 0;
    margin: 0;
    margin-left: auto;
    list-style: none;
    display: flex;
    flex-direction: column;
}
.navigation .navigation-menu li  {
    padding: 0.625rem 0;
}
.navigation .navigation-menu li a {
    font-weight: 600;
    color: var(--dark-blue-400);
    display:flex;
    justify-content: space-between;
    padding: 0 0.3125rem;
}
.navigation .navigation-menu a:hover,
.navigation .navigation-menu a:focus,
.navigation .navigation-menu a:active {
    color: var(--dark-blue-400);
}
.navigation .navigation-menu li a svg {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
}
.navigation .navigation-menu li a,
.navigation .navigation-menu button {
    font-size: 0.8125rem;
}
@media (min-width: 992px) {
    .ms-lg-n5 {
        margin-left: -3rem;
    }
    .me-lg-n5 {
        margin-right: -3rem;
    }
    .navigation .brand > img{
        height: 4rem;
        width: auto;
    }
    .navigation .navigation-menu {
        flex-direction: row;
        align-items: center;
    }
    .navigation .navigation-menu li:not(:last-child) a {
        margin-right: 1.75rem;
    }
    .navigation .navigation-menu li a,
    .navigation .navigation-menu button {
        font-size: 1rem;
    }
    .navigation .navigation-menu li a svg {
        display:none;
    }
}


/**** CARDS ****/
.card-list {
    height: 100%;
    display:flex;
    flex-direction: column;
}
.card-list.purple:hover .card-list-header {
    background-color: var(--bright-purple-600) !important;
}
.card-list.purple:hover .card-list-body {
    border-color: var(--bright-purple-600) !important;
}
.card-list.purple:hover svg path {
    stroke: var(--bright-purple-600) !important;
}
.card-list.blue:hover .card-list-header {
    background-color: var(--capri-blue-600) !important;
}
.card-list.blue:hover .card-list-body {
    border-color: var(--capri-blue-600) !important;
}
.card-list.blue:hover svg path {
    stroke: var(--capri-blue-600) !important;
}
.card-list.dark-blue:hover .card-list-header {
    background-color: #07759D !important;
}
.card-list.dark-blue:hover .card-list-body {
    border-color: #07759D !important;
}
.card-list.dark-blue:hover svg path {
    fill: #07759D !important;
}
.card-list-header {
    font-size: 1.25rem;
    min-height: 3.185rem;
    display:flex;
    align-items:center;
    justify-content: center;
    position: relative;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background-color: darkgray;
    line-height: 1;
    font-family: 'Montserrat';
    transition: background-color 0.5s ease;
}
.card-list-header:not(.card-header-arrow) {
    border-radius: 0.5rem;
    border-top-left-radius: 0;
}
.card-header-arrow::before, .card-header-arrow::after {
    content: "";
    position: absolute;
    width: 1.125rem;
    height: 100%;
    background-color: inherit;
    top: 0;
}
.card-header-arrow::before {
    left: calc(-1 * (1.125rem - 1px));
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 50% 50%, 0 0);
}
.card-header-arrow::after {
    right: calc(-1 * (1.125rem - 1px));
    clip-path: polygon(50% 0, 0 0, 0 100%, 50% 100%, 100% 50%);
}
.card-list-body, .card-header-arrow {
    margin: 0 1.125rem;
}
.card-list-body {
    flex: 1;
    border: 1px solid #06C4C9;
    border-top-width: 0;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    padding: 0.625rem;
    padding-right: 0.25rem;
}
.card-list-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.card-list.dark-blue:hover .card-list-body ul li div {
    color: #07759D !important;
}
.card-list.dark-blue:hover .card-list-body ul li svg path {
    fill: #07759D;
}
.card-default {
    background: #fff;
    border: 1px solid #9BA2B0;
    padding-left:3rem;
    padding-right:1.5rem;
    min-height: 10rem;
    border-radius: 1rem;
    border-top-left-radius: 0;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--body);
    display:flex;
    align-items:center;
    position: relative;
    overflow: hidden;
}
.card-default-hover, .card-default-hover::before {
    position: absolute;
    top: 0;
    left: 0;
}
.card-default-hover {
    width: 100%;
    height: 100%;
    padding: 1.25rem 2rem;
    transition: opacity 350ms ease;
    display:flex;
    align-items:center;
}
.card-default-hover strong {
    font-weight: 600 !important;
}
.card-default-hover::before {
    content: "";
    background-color: #05BABE;
    border-radius: 1rem;
    border-top-left-radius: 0;
    width: 100%;
    height: 100%;
    transition-property: width, height;
    transition-timing-function: ease;
    transition-duration: 350ms;
}
.card-default-hover.purple::before{
    background-color: #C168F8;
}
.card-default:hover .card-default-hover {
    opacity: 1;
}

@media (min-width: 768px) {
    .card-default-hover {
        opacity: 0;
        display:block;
    }
    .card-default-hover::before {
        width: 0;
        height: 0;
    }
    .card-default:hover .card-default-hover::before {
        width: 100%;
        height: 100%;
    }
}
.card-hover-content {
    position: relative;
    z-index: 1;
}

.card-certificate {
    background-position: bottom right, top right;
    background-size: auto 80%, cover;
    background-repeat: no-repeat;
    background-image: url('/images/landing/certificate-mobile-man.png'), url('/images/landing/certificate-mobile-background.png');
    margin-bottom: 1.75rem;
    padding: 1.5rem 0;
}
.card-certificate-content h2 {
    max-width: 16.5rem;
}
.card-certificate-content p {
    max-width: 12.75rem;
}
@media (min-width: 576px) {
    .card-certificate {
        background-position: top right;
        background-size: cover;
        background-image: url('/images/landing/profissionais.png');
    }
}
@media (min-width: 768px) {
    .card-certificate {
        box-shadow: 0 0.25rem 0.25rem 0 rgba(0,0,0,0.25);
        padding: 3rem 5.25rem;
        border-radius: 0.5rem;
        margin-bottom: 4rem;
        max-width: 60vw;
        margin-left:auto;
        margin-right:auto;
    }
    .card-certificate-content h2,
    .card-certificate-content p {
        max-width: unset;
    }
    .card-certificate-content {
        max-width: 24.125rem;
    }
}

.jobs-slider-title {
    font-size: 1rem;
    color: #fff;
    border-radius: 2rem;
    border-top-left-radius: 0;
    text-align: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    font-weight: bold;
    background-color: #07BFC4;
    margin: 0 1.75rem;
}
@media (min-width: 540px){
    .jobs-slider-title {
        max-width: calc(540px - 3.5rem);
        margin: 0 auto;
    }
}
#jobs {
    margin: 0 0 1.75rem;
    border: 1px solid #05BABE;
    padding: 0.75rem 0;
    border-width: 1px 0 1px 0;
}
@media (min-width: 768px) {
    .jobs-slider-title {
        max-width: 13.3125rem;
        margin: 0;
        background-color: var(--secondary);
    }
    #jobs {
        position:absolute;
        top: 50%;
        left: calc(var(--bs-gutter-x) / 2);
        transform: translateY(-50%);
        width: calc(100% - var(--bs-gutter-x));
        box-shadow: 1px 1px 5px  0 rgba(0,0,0,0.15);
        padding: 0.5rem 0;
        border-radius: 50rem;
        border: unset;
        margin: 0;
    }
}

#jobs .splide__slide::after {
    content:".";
    position: absolute;
    top: 50%;
    height: 0.25rem;
    width: 0.25rem;
    right: -0.5rem;
    transform: translate(50%, -50%);
    display: inline-block;
    background-color: #00A7B3;
    border-radius: 50%;
}

/**** BUTTONS ****/

.btn-call-to-action {
    display:inline-flex;
    align-items:center;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.75rem 1.25rem;
    border-radius: 0.25rem;
    background-color: var(--secondary);
    border: 0;
    outline: none;
}
.btn-purple {
    border: 1px solid var(--bright-purple-100);
    color: #fff;
    background-color: var(--bright-purple-100);
}
.btn-purple:hover {
    color: var(--bright-purple-400);
    background-color: #fff;
    border-color: #fff;
}
.btn-purple:hover svg path {
    stroke: #192A6B;
}

/**** SECTIONS ****/

.elliptic-section {
    padding: 3rem 0 2rem;
    border-radius: 0 3.125rem 0 0;
}
.elliptic-section#programas {
    padding: 4rem 0;
    border-radius: 0 3.125rem 0 3.125rem;
}
@media (min-width: 768px) {
    .elliptic-section {
        padding: 2rem 0 4.375rem;
        border-radius: 0 5rem 0 5rem;
        background-blend-mode: overlay;
        background-image: url('/images/landing/texture.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }
    .elliptic-section#programas {
        padding: 1.5rem 0 3.5rem;
    }
}
.metrics {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
}
@media (min-width: 768px) {
    .metrics {
        padding-top: 2.625rem;
        padding-bottom: 3.5rem;
        background-color: var(--neutral-20);
    }
}
@media (min-width: 1064px) {
    .metrics {
        --margin: calc((100vw - 1064px) / 2);
        background-image: url('/images/landing/dots-7.png'), url('/images/landing/dots-8.png');
        background-repeat: no-repeat;
        background-position: calc(var(--margin) - 6.25rem) 4.5rem, calc(100% - var(--margin) + 7rem) 7.5rem;
        background-size: auto 29.5rem;
    }
}
.feedback {
    padding: 1.75rem;
    background-position: 0.5rem 0.5rem, bottom right;
    background-image: url('/images/landing/dots-10.png'), url('/images/landing/dots-11.png');
    background-repeat: no-repeat;
    background-size: auto 18.75rem;
}
@media (min-width: 768px) {
    .feedback {
        background-color: var(--neutral-20);
        background-position: 2rem calc(100% - 2.375rem), 100% 3rem, 0 calc(100% - 2.375rem), 100% 7rem;
        background-image: url('/images/landing/dots-6.png'), url('/images/landing/dots-5.png'),  url('/images/landing/green.png'), url('/images/landing/purple.png');
        padding: 4.375rem 0 8.125rem 7rem;
        background-size: auto 30.375rem, auto 30.375rem, auto 3.625rem, auto 3.625rem;
    }
    #feedback .splide__arrow.splide__arrow--next {
        right: 3.75rem;
    }
}
.talents {
    background-color: #7D37E2;
    background-image: url('/images/landing/ellipsis-4.png'), url('/images/landing/ellipsis-5.png'), url('/images/landing/ellipsis-6.png');
    background-position: -3.53125rem -5.3125rem, calc(100% + 2rem) 7.5rem, center 100%;
    background-repeat: no-repeat;
}
.talents .splide__slide > * {
    display:block;
    max-width: 18.75rem;
    margin: 0 auto;
}
.talents .splide__track {
    padding-bottom: 0.5rem;
}
@media (min-width: 768px) {
    .talents {
        background-position: 0 1.25rem, 100% 4rem, calc(50% + 24rem) 100%;
    }
    .talents .splide__slide > * {
        height: 100%;
        margin: unset;
    }
}
@media (min-width: 768px) {
    .certification {
        margin-top: -1.75rem;
    }
}
@media (min-width: 1064px) {
    .certification {
        --margin: calc((100vw - 1064px) / 2);
        background-image: url('/images/landing/dots-1.png'), url('/images/landing/dots-2.png');
        background-repeat: no-repeat;
        background-position-x: calc(var(--margin) - 7.85rem), calc(100% - var(--margin) + 7.85rem);
        background-position-y: calc(100% - 4.5rem);
        background-size: auto calc(100% - 6.25rem), auto 14rem;
    }
}
.solutions {
    margin-top: -2.125rem;
    padding-bottom: 1.75rem;
    background-repeat: no-repeat;
    background-image: url('/images/landing/dots-9.png');
    background-size: auto 20.75rem;
    background-position: top center;
}
.solutions .splide__slide > * {
    display:block;
    max-width: 280px;
    margin: 0 auto;
}
.solutions .splide__track {
    padding-bottom: 0.5rem;
}
@media (min-width: 768px) {
    .solutions {
        margin-top: -1.75rem;
        padding-bottom: 7rem;
    }
    .solutions .splide__slide > * {
        height: 100%;
        max-width: unset;
        margin: unset;
    }
    .solutions .modal {
        --bs-modal-width: 53.125rem;
        --bs-modal-padding: 4rem;
    }
    .solutions .modal-body {
        background-position: bottom right;
        background-size: contain;
        background-repeat:no-repeat;
    }
    #firstModal .modal-body{
        background-image: url('/images/landing/modals/first.png');
    }
    #firstModal .modal-body > div {
        max-width: 23.5rem;
    }
    #secondModal .modal-body {
        background-image: url('/images/landing/modals/second.png');
    }
    #secondModal .modal-body > div {
        max-width: 22.85rem;
    }
    #thirdModal .modal-body {
        background-image: url('/images/landing/modals/third.png');
        background-position: 100% 1.625rem;
    }
    #thirdModal .modal-body > div {
        max-width: 22.625rem;
    }
    #fourthModal .modal-body {
        --bs-modal-padding: 2.5rem 4rem;
        background-image: url('/images/landing/modals/fourth.png');
    }
    #fourthModal .modal-body > div{
        max-width: 22.85rem;
    }
}
@media (min-width: 1064px) {
    .solutions {
        --margin: calc((100vw - 1064px) / 2);
        background-image: url('/images/landing/dots-3.png'), url('/images/landing/dots-4.png');
        background-position-x: calc(var(--margin) - 2.625rem), calc(100% - var(--margin) + 2.625rem);
        background-position-y: calc(100% - 3.75rem);
        background-size: auto 25rem, auto 20rem;
    }
}
.education {
    background-color: #F6F8F9;
    padding: 4rem 0 3.25rem;
}
.education .container {
    position: relative;
}
@media (min-width: 1200px) {
    .education .container {
        max-width: 1180px;
    }
}
.education-image {
    max-width: 100%;
    height: auto;
}
@media (min-width: 768px) {
    .education-image {
        top: 50%;
        right: -2rem;
        transform: translateY(-50%);
        position: absolute;
        height: 25rem;
        width: auto;
        max-width: 100%;
    }
}
.education-highlight-text {
    max-width: 31.25rem;
}
.card-feedback {
    display:block;
    background-color: #fff;
    border: 1px solid #9B9B9B;
    padding: 1.5rem;
    border-radius: 1.875rem;
    border-bottom-left-radius: 0;
    width: 17.5rem;
    margin: 0 auto;
}

/**** ACCORDION ****/
.accordion {
    --bs-accordion-btn-color: #333F5B;
    --bs-accordion-btn-padding-y: 0.5rem;
    --bs-accordion-btn-icon-width: 0.75rem;
    --bs-accordion-btn-padding-x: 0.5rem;
    --bs-accordion-btn-focus-box-shadow: unset;
    --bs-accordion-active-color: var(--bs-accordion-btn-color);
    --bs-accordion-active-bg: #fff;
}
.accordion-button {
    font-weight: 600;
}
.accordion-button:hover {
    background-color: transparent;
}
.accordion-body {
    font-size: 0.875rem;
    line-height: 1.25;
    padding: 0.5rem 3rem 1.5rem;
}
.accordion-button:not(.collapsed) {
    box-shadow: unset !important;
}
@media (min-width: 768px) {
    .accordion-button:hover {
        background-color: rgba(0, 0, 0, 0.05);
    }
}


/**** CAROUSEL ****/
footer .fiep-links {
    margin-top: 0.75rem;
}
footer .fiep-links a {
    height: 1.75rem;
    padding: 0 0.5rem;
}
@media (min-width: 768px) {
    footer .fiep-links {
        margin-top: 0;
    }
    footer .fiep-links a {
        display:inline-flex;
        align-items:center;
        height: 3.75rem;
        border-top: 2px solid transparent;
        margin-top: 1px;
    }
    footer .fiep-links a:hover {
        background-color: #F3F5F6;
    }
    .fiep-links a:hover svg path {
        fill: var(--dark-blue-300) !important;
    }
}

.card-auth .form-group.has-error {
    animation-name: shake;
    animation-duration: 0.25s;
    animation-iteration-count: 3;
}
.card-auth .form-group.has-error.delayed {
    animation-delay: 0.5s;
}
.card-auth .form-group.has-error .form-label {
    color: #F8564B;
}
.card-auth .form-group.has-error .form-control {
    color: #F8564B;
    border-color: #F8564B;
}
.card-auth .has-error .control-label, 
.card-auth .with-errors {
    color: #F8564B;
    font-style: normal;
    font-family: 'Calibri';
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 1.75rem;
}
@keyframes shake {
    0% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(0.35rem);
    }
    75% {
        transform: translateX(-0.35rem);
    }
    100% {
        transform: translateX(0);
    }
}
.modal-login {
    --bs-modal-border-radius: 1rem;
}
.modal-login .modal-body {
    padding: 0;
    position: relative;
}
.modal-login .card-auth {
    padding: 2rem 1rem;
}
.modal-login .card-img {
    display:none;
    position: absolute;
    bottom: 0;
    right: 0;
    height: auto;
}
@media (min-width: 768px) {
    .modal-login {
        --bs-modal-width: 61.25rem;
    }
    .modal-login .card-auth {
        padding: 0 4.5rem;
        padding-right: 0;
        width: 30.75rem;
        min-height: 42rem;
        display:flex;
        flex-direction: column;
        justify-content: center;
    }
    .modal-login .card-img {
        display:block;
    }
}
.card-auth {
    font-family: 'Calibri';
}
.card-auth a {
    font-weight: 700;
    text-decoration: underline;
    color: #4B4950;
}
.card-auth .btn-app-primary {
    --bs-btn-border-width: 0;
    --bs-btn-border-radius: 0.75rem;
    display: block;
    width: 100%;
    padding: 0.625rem 1rem;
    background: #00a99a;
    color: #fff !important;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 0.25rem 0.25rem 0 #00000026;
}
.card-auth .btn-app-primary.disabled,
.card-auth .btn-app-primary:disabled {
    background: #ededed !important;
    color: #7B7978 !important;
}
.card-auth a.btn-app-primary {
    text-decoration: none;
}
.card-auth .help-block ul {
    padding-left: 1.5rem;
}
.card-auth .help-block li {
    list-style-type: disc;
    color: #f00;
    line-height: 1;
}
.card-auth .help-block li:only-child {
    list-style-type: none;
    margin-left: -1.5rem;
}
.card-auth .input-group-password {
    position: relative;
}
.card-auth .input-group-password input {
    padding-right: 2.5rem !important;
}
.card-auth .form-control.is-invalid:focus {
    box-shadow: unset !important;
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}
.card-auth .form-group.was-filled:not(.has-error) .form-label {
    color: #00aeef;
}
.card-auth .form-group.was-filled:not(.has-error) .form-control {
    border-color: #00aeef;
}
.card-auth .form-group.has-error svg path {
    stroke: #f00;
}
.card-auth .form-group:not(.has-error) .help-block {
    display: none;
}
.card-auth .form-label {
    margin-bottom: 0;
    color: #4b4950;
    font-weight: 400;
    font-size: 0.9375rem;
}
.card-auth .form-label::after {
    display: none;
}
.card-auth .form-control {
    background: transparent;
    box-shadow: unset;
    border-width: 0;
    border-bottom: 1px solid #8d8d8d;
    border-radius: 0;
    padding: 0 0 0.25rem;
    color: #8d8d8d;
}
.card-auth .form-control::placeholder {
    color: #b9b9b9 !important;
    font-style: normal;
}
.card-auth .form-control:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px white inset;
    -webkit-text-fill-color: #8d8d8d !important;
}
.card-auth .form-check {
    --gap: 2rem;
    --size: 1.5rem;
    padding-left: var(--gap);
}
.card-auth .form-check-label {
    line-height: var(--size);
}
.card-auth .form-check-input {
    width: var(--size);
    height: var(--size);
    border-radius: 0.5rem;
    margin-left: calc(-1 * var(--gap));
}
.card-auth .btn-toggle-password {
    background: transparent;
    position: absolute;
    height: 100%;
    z-index: 1;
    right: 0;
    top: 0;
}
.card-auth .btn-toggle-password > svg {
    height: 1.5rem;
    width: 1.5rem;
}
.card-auth .btn-toggle-password .hide {
    display: none;
}
.card-auth .btn-toggle-password.active .hide {
    display: block;
}
.card-auth .btn-toggle-password.active .show {
    display: none;
}
.card-auth fieldset {
    border-top: 1px solid #d9d9d9;
    text-align: center;
}
.card-auth fieldset legend {
    float: unset;
    width: auto;
    font-size: 1rem;
    padding: 0 0.5rem;
    color: #4b4950;
}
.card-auth .social-authentication {
    padding-top: 1rem;
    display: flex;
    justify-content: center;
}
.card-auth .social-authentication a {
    background: #ededed;
    border-radius: 50%;
    width: 3.25rem;
    height: 3.25rem;
    display: inline-grid;
    place-items: center;
}
.card-auth .social-authentication a:not(:first-of-type) {
    margin-left: 3.5rem;
}
.card-auth .social-authentication a img {
    width: 2.25rem;
    height: 2.25rem;
}
.card-auth .accordion {
    --bs-accordion-btn-active-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M6 9L12 15L18 9" stroke="%234b4950" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    --bs-accordion-btn-icon: var(--bs-accordion-btn-active-icon);
    --bs-accordion-btn-icon-width: 1.5rem;
    max-height: 100%;
    overflow-y: auto;
}
.card-auth .accordion {
    --bs-accordion-btn-padding-y: 0.75rem;
}
.card-auth .accordion-item {
    border-style: dashed;
}
.card-auth .accordion-body {
    font-size: 1rem;
    color: #4b4950;
    line-height: 1.5;
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
    padding-top: 0;
}
.card-auth .accordion-body li {
    font-size: 1rem;
    color: #4b4950;
}
.card-auth .accordion-button {
    box-shadow: unset !important;
    font-size: 1.25rem;
    color: #4b4950;
    font-weight: 700;
}
.card-auth .accordion-button::after {
    margin-left: 1rem;
}

.card-auth .accordion-button:not(.collapsed)::after {
    display:none;
}
.card-auth .accordion-button:not(.collapsed) {
    background: unset;
    color: var(--light-primary, #333);
}
.counter {
    font-family: 'Montserrat', Arial, Helvetica, sans-serif !important;
    margin-bottom: 0.5rem !important;
}
.counter span, .counter .separator {
    color: var(--dark-blue-600) !important;
    font-weight: 800 !important; 
    font-size: 3.125rem !important;
}
.counter span:not(.counted) {
    min-width: 2.625rem !important;
}
.counter .separator {
    line-height: 1;
}
@media (min-width: 768px) {
    .counter span, .counter .separator {
        font-size: 3.75rem !important;
    }
}
.banners {
    display:flex;
    align-items:center;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    background-size: auto 2.8125rem, cover;
    background-position: calc(100% - 0.5rem) calc(100% - 0.625rem), right top;
    background-repeat: no-repeat;
    min-height: 21rem;
}
.banner-info {
    max-width: 12.625rem;
}
.banner-title {
    font-size: 0.8125rem;
    margin-bottom: 1rem;
}
.banner-description {
    padding: 0.8125rem;
    border-radius: 0 1.5rem 1.5rem 1.5rem;
    margin-bottom: 1rem;
}
.banners button, 
.banners a.btn-call-to-action {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
}
@media (min-width: 768px) {
    .banners {
        min-height: 25rem;
        background-size: auto 5.875rem, cover;
        background-position: calc(100% - 5.5rem) calc(100% - 1rem), right top;
    }
    .banner-info {
        max-width: 27rem;
    }
    .banner-title {
        font-size: 1.75rem;
    }
    .banner-description {
        padding: 0.75rem 2rem 0.75rem;
    }
    .banners button,
    .banners a.btn-call-to-action {
        font-size: 1rem;
    }
}
.container {
    --bs-gutter-x: 3.5rem;
}
@media (min-width: 768px) {
    .container {
        --bs-gutter-x: 1.5rem;
    }
    .gx-md-0 {
        --bs-gutter-x: 0;
    }
    .gx-md-4\.25 {
        --bs-gutter-x: 2.25rem ! important;
    }
    .gx-md-4\.5 {
        --bs-gutter-x: 2.5rem ! important;
    }
}
.maps {
    background-image: url('/images/landing/candidato/maps-mobile.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 2rem 1rem 18.125rem;
}

@media (min-width: 576px) {
    .maps {
        background-image: url('/images/landing/candidato/maps.png');
        padding-bottom: 3.125rem;
    }
    .maps-content {
        max-width: 22rem;
    }
}
@media (min-width: 768px) {
    .maps {
        padding: 4rem 9.25rem 3.125rem 0;
    }
    .maps-content {
        max-width: 33rem;
    }
}
.link-disabled {
    background-color: #D6D6D6;
    color: #7B7978 !important;

}
.link-disabled svg:not(.stroked) path {
    fill: #7B7978;
}
.link-disabled svg.stroked path {
    stroke: #7B7978;
}

.custom-scroll::-webkit-scrollbar {
    width: 8px;
}
/* Track */
.custom-scroll::-webkit-scrollbar-track {
    background: #F4F5F8;
    border-radius: 0.625rem 0.625rem 0 0;
}
/* Handle */
.custom-scroll::-webkit-scrollbar-thumb {
    background: #9BA2B0;
    border-radius: 0.625rem;
}
/* Handle on hover */
.custom-scroll::-webkit-scrollbar-thumb:hover {
    background: #83BEC2;
}
.form-search {
    background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11 19C15.4183 19 19 15.4183 19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19Z" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M21.0004 21.0004L16.6504 16.6504" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-color: #F4F5F8 !important;
    background-position: calc(100% - 1rem) center;
    background-size: 1.5rem;
    border-radius: 50rem;
    color: #4B4950;
    box-shadow: inset 0 0.125rem 0.125rem 0 rgba(0,0,0,0.15) !important;
    border: unset;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    font-size: 0.875rem;
    font-style: italic;
    font-family: 'Open Sans';
}
.card-help .row {
    --bs-gutter-x: 1rem;
}
@media (min-width: 768px) {
    .modal-login .card-help {
        width: 33rem;
        padding: 4rem 0 4rem 4rem;
    }
    .card-help .row {
        --bs-gutter-x: 1.875rem;
    }
}
.card-help img {
    width: 2.5rem;
    height: auto;
}
.card-help .link-help {
    text-decoration: none;
    font-weight: normal;
}
.card-help .link-img {
    width: auto;
    height: 1.5rem;
}
.card-auth .card-auth-footer {
    padding-top: 0.5rem;
    margin-top: auto;
    border-top: 1px dashed #7B797840;
}
.card-auth .card-auth-footer img {
    width: auto;
    height: 1.25rem;
    margin-right: 0.5rem;
}
.card-auth .card-auth-footer span {
    font-weight: 400;
    font-size: 0.9375rem;
}

.auth-validation {
    margin: 0;
    padding: 0;
}
.auth-validation li {
    display: flex;
    align-items: center;
    color: var(--color, #434343);
}
.auth-validation li:not(:last-child) {
    margin-bottom: 0.5rem;
}
.auth-validation li.error {
    --color: #F8564B;
}
.auth-validation li.success {
    --color: #00aeef;
    color: #434343;
}
.auth-validation li::before {
    content: "";
    display: inline-block;
    border: 1px solid #8d8d8d;
    background-color: var(--color);
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    margin-right: 1rem;
}
.auth-validation li.success::before,
.auth-validation li.error::before {
    border: unset;
    background-image: var(--icon);
    background-position: center;
    background-repeat: no-repeat;
}
.auth-validation li.success::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="11" viewBox="0 0 15 11" fill="none"><path d="M14.6861 0.322817C15.1046 0.752551 15.1046 1.447 14.6861 1.87674L6.11418 10.6777C5.69563 11.1074 5.01925 11.1074 4.6007 10.6777L0.313812 6.27722C-0.104604 5.84748 -0.104604 5.15303 0.313812 4.7233C0.732295 4.29356 1.41068 4.29356 1.82923 4.7233L5.32731 8.34338L13.1726 0.322817C13.5912 -0.107606 14.2675 -0.107606 14.6861 0.322817Z" fill="white"/></svg>');
    background-size: 0.8375rem auto;
}
.auth-validation li.error::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none"><path d="M15 6L5 16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 6L15 16" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: 1.275rem auto;
}