:root {
    --color-pinknew: #FF0082;
    --color-blackNew: #000000;
    --color-purple: #7a2180;
    --color-pink: #e40276;
    --color-blue: #253785;
    --color-light-blue: #1892d1;
    --color-greennew: #00b14c;
    --color-green: #00ab97;
    --color-light-green: #8fc584;
    --color-orange: #e85c0c;
    --color-white: #fff;
    --color-gray: #4f4f4f;
    --color-light-gray: #d9d9d9;
    --color-black: #212529;
    --color-light-black: #333;
    --font-noto: "Noto Sans", system-ui;
    --font-noto-medium: "Noto Sans Medium";
    --font-noto-bold: "Noto Sans Bold";
    --font-noto-thin: "Noto Sans Thin";
    --font-noto-light: "Noto Sans Light";
    --font-sancoale-medium: SancoaleSoftenedMedium;
    --font-sancoale-black: SancoaleSoftenedBlack;
    --font-sancoale-thin: SancoaleSoftenedThin;
    --font-sancoale-regular: SancoaleSoftenedRegular;
    --font-sancoale-light: SancoaleSoftenedLight;
    --font-tpSans-black: Tp Sans Black;
    --font-tpSans-bold: Tp Sans Bold;
    --font-tpSans-exBold: Tp Sans ExtraBold;
    --font-tpSans-exLight: Tp Sans ExtraLight;
    --font-tpSans-light: Tp Sans Light;
    --font-tpSans-medium: Tp Sans Medium;
    --font-tpSans-regular: Tp Sans Regular;
    --font-tpSans-thin: Tp Sans Thin;
    --font-tpSans-ultraLight: Tp Sans UltraLight;
    --rounded-md: 0.25rem;
    --rounded-lg: .5rem;
    --rounded-xl: 0.75rem;
    --rounded-2xl: 1rem;
    --rounded-3xl: 1.5rem;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --z-10: 10;
    --z-20: 20;
    --bs-form-select-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-form-select-bg-repeat: no-repeat;
    --bs-form-select-bg-position: right .75rem center;
    --bs-form-select-bg-size: 16px 12px;
    --text-color: white;
    --font-size-modal-title: 2.3rem;
    --font-size-modal-description: 1.2rem;
    --section-padding: 1rem;
}

/*BODY*/
body {
    --color-svg-stop-1: blue;
    --color-svg-stop-2: red;
    --color-primary: tomato;
    --gradient-color-1: tomato;
    --gradient-color-2: gold;
    --color-gradient: linear-gradient(90deg, var(--gradient-color-1)35%, var(--gradient-color-2)100%);
    --navbar-height: 4.75rem;
    --cabecalho-height: 3.25rem;
    overflow-x: hidden;
}

    body.tema-pink {
        --color-gradient: linear-gradient(90deg, var(--color-pinknew), var(--color-pinknew));
        --color-svg-stop-1: var(--color-pinknew);
        --color-svg-stop-2: var(--color-pinknew);
        --color-primary: var(--color-pinknew);
    }

    body.tema-pinkgradient {
        --color-gradient: linear-gradient(90deg, var(--color-purple) 35%, var(--color-pink) 100%);
        --color-gradient-border: linear-gradient(white, white) padding-box, linear-gradient(90deg, var(--color-purple) 1.82%, var(--color-pink) 98.91%) border-box;
        --color-svg-stop-1: var(--color-purple);
        --color-svg-stop-2: var(--color-pink);
        --color-primary: var(--color-purple);
    }

    body.tema-orangegradient {
        --color-gradient: linear-gradient(90deg, var(--color-orange) 0%, var(--color-pink) 82.81%);
        --color-gradient-border: linear-gradient(white, white) padding-box, linear-gradient(90deg, var(--color-orange) 1.82%, var(--color-pink) 98.91%) border-box;
        --color-svg-stop-1: var(--color-orange);
        --color-svg-stop-2: var(--color-pink);
        --color-primary: var(--color-orange);
    }

    body.tema-black {
        --color-gradient: linear-gradient(90deg, var(--color-blackNew), var(--color-blackNew));
        --color-svg-stop-1: var(--color-blackNew);
        --color-svg-stop-2: var(--color-blackNew);
        --color-primary: var(--color-blackNew);
    }

    body.tema-bluegradient {
        --color-gradient: linear-gradient(90deg, var(--color-blue) 21.87%, var(--color-light-blue) 100%);
        --color-gradient-border: linear-gradient(white, white) padding-box, linear-gradient(90deg, var(--color-blue) 1.82%, var(--color-light-blue) 98.91%) border-box;
        --color-svg-stop-1: var(--color-blue);
        --color-svg-stop-2: var(--color-light-blue);
        --color-primary: var(--color-light-blue);
    }

    body.tema-greengradient {
        --color-gradient: linear-gradient(90deg, var(--color-greennew), var(--color-greennew));
        --color-svg-stop-1: var(--color-greennew);
        --color-svg-stop-2: var(--color-greennew);
        --color-primary: var(--color-greennew);
    }

    body p {
        font-family: var(--font-noto);
        font-size: 1rem;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

/*body span,*/
/*body span:not(.loadingSubmitForm) {
        font-family: var(--font-noto);
        font-size: 1rem;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }*/

/* CUSTOMIZAR A BARRA DE ROLAGEM */
/*.scroll-area*/
::-webkit-scrollbar {
    width: .6rem; /* Largura da barra de rolagem */
    height: .6rem;
}

::-webkit-scrollbar-track {
    background-color: #F7F7F7; /* Cor de fundo da "trilha" da barra de rolagem */
    border-radius: 1rem; /* Arredondar os cantos do polegar */
}

::-webkit-scrollbar-thumb {
    background-color: #E0E0E0; /* Cor da parte que se move (o "polegar") */
    border-radius: 1rem; /* Arredondar os cantos do polegar */
}

    ::-webkit-scrollbar-thumb:hover {
        background-color: #D1D1D1; /* Cor do polegar quando o usuário passa o mouse */
        width: .5rem;
        height: .6rem;
    }

/*BACKGOUND*/
.bg-color-theme,
.bg-color-theme-active-hover:hover {
    background: var(--color-gradient);
}

/*BORDER*/
/*.border-color-theme {
    border: 2px;
    border-style: solid;
    border-image-slice: 2;
    border-width: 2px;
    border-image-source: var(--color-gradient);
}*/

.border-color-theme {
    /*position: relative;*/
    border: 1px solid var(--color-primary);
    /*border-radius: 1rem;*/
    /*background: linear-gradient(white, white);*/
    /*background-clip: padding-box;*/
    /*padding: 30px;*/
}

/* .border-color-theme::after {
        position: absolute;
        top: -2px;
        bottom: -2px;
        left: -2px;
        right: -2px;
        background: var(--color-gradient);
        content: '';
        z-index: -1;
        border-radius: 2rem;
    }*/

/*FONTS*/
.text-gradient-padrao,
.text-gradient-padrao sup {
    font-weight: var(--font-weight-bold);
}

.text-color-theme,
.text-color-theme-active-hover:hover label,
.text-color-theme sup {
    background: var(--color-gradient);
    color: rgba(0, 0, 0, 0);
    -webkit-background-clip: text;
    background-clip: text;
    display: inline-block; /*??????????*/
}

/*    .text-gradient-padrao u,
    .text-color-theme u {
        background-image: inherit;
        background-repeat: no-repeat;
        background-position-y: bottom;
        background-size: 100% 8%;
    }*/

.text-upper-title {
    --font-size-upper-title: 1.125rem;
    --line-height-upper-title: 1.25rem;
    font-size: var(--font-size-upper-title);
    line-height: var(--line-height-upper-title);
    font-family: var(--font-noto);
    font-style: normal;
    font-weight: 600;
}

.text-title {
    --font-size: 2.25rem;
    font-size: var(--font-size);
    font-family: var(--font-tpSans-medium);
}

.text-title-cvm {
    --font-size: 2.25rem;
    font-size: var(--font-size);
    font-family: var(--font-noto-bold);
    line-height: 1;
}

.text-title-cvm-regular {
    font-family: var(--font-noto);
}

a {
    color: inherit;
    text-decoration: none
}

.svgArrowPrev {
    transform: rotate(180deg);
}

button {
    color: inherit;
    background: 0 0;
    border: none;
    padding: 0
}

select {
    outline: none;
}

.active {
    background: var(--color-gradient);
    color: white;
}

.text-description-title,
.text-description-title p {
    font-family: var(--font-noto);
    font-size: 1.2rem;
    line-height: 1.2;
    font-style: normal;
    font-weight: normal;
}

/*ul {
    list-style: none;
}*/

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-auto {
    cursor: auto !important;
}

/*card*/
.card {
    background-color: var(--color-white);
    border-radius: 1rem;
    transition: transform .2s ease-in-out;
    overflow: hidden;
    box-shadow: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);
}

/*.card:hover {
        transform: scale(1.05);
    }*/

.tp-card-effects {
    transition: transform .3s ease-in-out
}

    .tp-card-effects:hover {
        transform: scale(1.1)
    }

/*svg*/
.svg-gradient {
    background: var(--color-gradient);
}


/*H1*/
h1 {
    line-height: normal;
}

.w-20 {
    width: 20%;
}

.mw-50 {
    max-width: 50%;
}

.mw-content {
    max-width: max-content !important;
}

.object-contain {
    object-fit: contain
}

.object-cover {
    object-fit: cover
}

.overflow-x-auto {
    overflow-x: auto
}

.overflow-y-auto {
    overflow-y: auto;
}

.z-10 {
    z-index: 10
}

.text-gradient {
    background: var(--color-gradient);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text
}

    .text-gradient u {
        background-image: var(--color-gradient);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 100% 0.14rem;
        text-decoration: none;
    }

.text-inherit {
    color: inherit
}

.disabled {
    opacity: 0.8;
    pointer-events: none;
}

.flip-x {
    transform: scale(-1)
}

.rotate-90 {
    transform: scaleY(90deg)
}

.rotate-180 {
    transform: scaleY(180deg)
}

.gradient-scroll::-webkit-scrollbar-track {
    border-radius: 1rem;
    background: var(--color-light-gray);
}

.gradient-scroll::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: var(--color-gradient);
}

.gradient-scroll::-webkit-scrollbar {
    width: .5rem;
    height: .6rem;
}

.base-button-white {
    background-color: white;
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    text-align: center;
    border: none;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    justify-items: center;
    min-width: 160px;
    padding: .625rem .875rem;
    display: flex
}

.base-button {
    background-image: var(--color-gradient);
    color: var(--color-white);
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    text-align: center;
    border: none;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    justify-items: center;
    min-width: 160px;
    padding: .625rem .875rem;
    display: flex
}


.base-button-cvm {
    background: #8042CF;
    color: var(--color-white);
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    text-align: center;
    border: none;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    justify-items: center;
    min-width: 160px;
    padding: .925rem .875rem;
    display: flex
}

.base-button-menu {
    font-family: var(--font-noto-thin);
    text-align: center;
    font-size: 0.6rem;
    padding: .425rem .875rem;
    letter-spacing: 1.3px;
    background: black;
    border: 1px solid black;
    color: white;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    justify-items: center;
    display: flex;
    font-weight: var(--font-weight-black);
}

.base-button.button-small {
    min-width: unset;
    min-width: 6rem;
    min-height: 1.875rem;
    padding: 0 .25rem;
    font-size: .625rem
}

.base-button:hover {
    color: var(--color-white)
}

form select.form-control {
    background-image: var(--bs-form-select-bg-image);
    background-repeat: var(--bs-form-select-bg-repeat);
    background-position: var(--bs-form-select-bg-position);
    background-size: var(--bs-form-select-bg-size);
}

/*fade*/
.transition-fade-in {
    animation: fade-in 0.5s forwards;
}

.transition-fade-out {
    animation: fade-out 0.5s forwards;
}

.slideLeftToRight {
    animation: slideLeftToRight 0.5s linear forwards;
}

.slideRightToLeft {
    animation: slideRightToLeft 0.5s linear forwards;
}

.slideUp {
    animation: slideUp 0.5s linear forwards;
}

.slideDown {
    animation: slideDown 0.5s linear forwards;
}

.disclaimer {
    font-size: 0.95rem;
}

div[data-service] .cll iframe {
    background: transparent !important;
}

body .st0-alumni {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 5px;
}

body .st0-globo {
    stroke-linecap: round;
    stroke-linejoin: round;
}

body .st0-globo, .st1-globo {
    fill: none;
    stroke: #000;
    stroke-width: 5px;
}

body .st2-globo {
    fill: #fff;
}

body .st1-globo {
    stroke-miterlimit: 10;
}

body .st0-search {
    fill: transparent;
}

body .st1-search {
    stroke-linecap: square;
}

body .st1-search,
body .st2-search {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    stroke-width: 5px;
}

body .cls-1 {
    fill: #fff;
}

body .cls-2 {
    fill: none;
    stroke: #fff;
    stroke-width: 1.03px;
}

@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-out {
    0% {
        opacity: 1;
        transform: translateY(0);
    }

    100% {
        opacity: 0;
        transform: translateY(-20px);
    }
}

@keyframes slideLeftToRight {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes slideRightToLeft {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

@media (min-width: 768px) {
    .text-title,
    .text-title-cvm {
        --font-size: 2.4rem;
    }

    body {
        --cabecalho-height: 2.65rem;
    }
}

@media (min-width: 992px) {
    body {
        --navbar-height: 8.5rem
    }

    .text-title,
    .text-title-cvm {
        --font-size: 2.875rem;
    }
}

@media (min-width: 1200px) {
    .text-title,
    .text-title-cvm {
        --font-size: 3.25rem;
    }

    .text-upper-title {
        --font-size-upper-title: 1.25rem;
        --line-height-upper-title: 1.5rem;
    }
}

@media (min-width: 1920px) {
    .text-upper-title {
        --font-size-upper-title: 1.5rem;
        --line-height-upper-title: 2rem;
    }

    .text-title,
    .text-title-cvm {
        --font-size: 4.5rem;
    }
}

img.placeholder.lazyloaded {
    background: unset;
    opacity: unset;
    animation: unset;
    cursor: unset;
}

/* Invisible by default, becomes visible on focus */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: transparent;
    color: #fff;
    padding: 10px 14px;
    font-weight: 600;
    text-decoration: none;
    z-index: 999999;
}

.skip-link:focus,
.skip-link:focus-visible {
    top: 0;
    outline: 3px solid #fff;
}
/* Adjust if you have a sticky header so the heading isn't covered */
h1, [role="heading"][aria-level="1"], [data-skip-target] {
    scroll-margin-top: 96px; /* aumenta/diminui conforme a altura do teu header */
}
 