/* FONTES
================================================== */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* GERAL
================================================== */
:root {
    --azul_primario: #003DA5;
    --azul_secundario: #0064A8;
    --azul_terciario: #85BCF1;
    --azul_hover: #75CFEB;
    --cor_texto_principal: #212121;
    --verde: #49FF43;
    --vermelho: #FF0000;
    --vermelho_escuro: #B93730;
    --degrade_azul: linear-gradient(180deg, var(--azul_primario) 0%, rgba(0, 131, 191, 1) 100%);
    --degrade_azul_horizontal: linear-gradient(270deg, var(--azul_primario) 0%, rgba(0, 131, 191, 1) 100%);
}

a {
    text-decoration: none;
}

ol,
ul {
    list-style: none;
}

* {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    color: var(--cor_texto_principal);
}

a,
svg,
input,
button,
.configurar_notificacoes,
.chevron,
.icone {
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

img {
    display: block;
    max-width: 100%;
}

h1 {
    font-size: 28px;
    font-weight: 400;
    line-height: 36px;
}

h2 {
    color: var(--azul_secundario);
    font-size: 24px;
    line-height: 1;
}

p {
    font-size: 16px;
    line-height: 24px;
}

.btn {
    background: var(--azul_primario);
    border: 1px solid transparent;
    border-radius: 80px;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    text-align: center;
    padding: 10px;
    width: 100%;
}

.btn:hover,
.novo_protocolo_conteudo .upload_arquivo label:hover {
    background: var(--azul_hover);
    border-color: #fff;
}

.container {
    margin: 0 auto;
    /* max-width: 1200px; */
    width: 95%;
}

.flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.align_items_start {
    align-items: flex-start;
}

.align_items_stretch {
    align-items: stretch;
}

.justify_content_end {
    justify-content: flex-end;
}

.texto_centralizado {
    text-align: center;
}

.texto_azul_secundario {
    color: var(--azul_secundario);
}

.w_23 {
    width: 23%;
}

.w_24 {
    width: 24%;
}

.w_28 {
    width: 28%;
}

.w_29 {
    width: 29%;
}

.w_30 {
    width: 30%;
}

.w_31 {
    width: 31%;
}

.w_32 {
    width: 32%;
}

.w_33 {
    width: 33%;
}

.w_36 {
    width: 36%;
}

.w_42 {
    width: 42%;
}

.w_43 {
    width: 43%;
}

.w_45 {
    width: 45%;
}

.w_46 {
    width: 46%;
}

.w_48 {
    width: 48% !important;
}

.w_49 {
    width: 49%;
}

.w_52 {
    width: 52%;
}

.w_55 {
    width: 55%;
}

.w_69 {
    width: 69%;
}

.w_72 {
    width: 72%;
}

.w_75 {
    width: 75%;
}

.w_78 {
    width: 78%;
}

.w_82 {
    width: 82%;
}

.w_100 {
    width: 100%;
}

.mb_10 {
    margin-bottom: 10px;
}

.mb_20 {
    margin-bottom: 20px;
}

.mb_40 {
    margin-bottom: 40px;
}

.mb_60 {
    margin-bottom: 60px;
}

.mt_20 {
    margin-top: 20px;
}

.mt_40 {
    margin-top: 40px;
}

.my_20 {
    margin: 20px 0;
}

.my_40 {
    margin: 40px 0;
}

.my_60 {
    margin: 60px 0;
}

.relative {
    position: relative;
}

.icone,
.fechar_popup {
    display: flex;
    justify-content: center;
}

/* LOGIN/REGISTRO
================================================== */
.pagina_login {
    background: url(../images/background-login.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.pagina_login .logo {
    margin: auto;
}

.login_box {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-radius: 40px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 50px 35px;
    gap: 40px;
}

.login_form,
.registro_form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.informacoes_gerais p,
.informacoes_gerais a {
    color: #8A8A8A;
    font-size: 14px;
    line-height: 24px;
    text-transform: uppercase;
}

.informacoes_gerais a:hover {
    color: var(--azul_secundario);
    text-decoration: underline;
}

.pagina_registro {
    padding: 60px 0;
}

/* PORTAL
================================================== */
.portal {
    background-image: url(../images/background-portal.webp);
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(8px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: lighten;
    min-height: 100vh;
    padding-bottom: 40px;
}

.mobile_btn {
    display: none;
    color: #ffffff;
    width: 30px;
    border-top: 3px solid;
    cursor: pointer;
    -webkit-backface-visibility: hidden;
    cursor: pointer;
}

.mobile_btn::after,
.mobile_btn::before {
    content: '';
    display: block;
    height: 3px;
    margin-top: 6px;
    background: currentColor;
    position: relative;
    transition: transform .3s ease;
}

.mobile_btn.active {
    border-top-color: transparent;
}

.mobile_btn.active::after {
    margin-top: 0px;
    top: 2px;
    transform: rotate(45deg);
}

.mobile_btn.active::before {
    margin-top: 0px;
    top: 5px;
    transform: rotate(135deg);
}

.barra_lateral {
    background: var(--degrade_azul);
    border: 1px solid var(--azul_terciario);
    border-top: none;
    border-radius: 0 0 20px 20px;
    padding: 50px 20px 20px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

.barra_lateral .barra_lateral_conteudo {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

.barra_lateral .logo {
    margin: auto;
}

.barra_lateral .divisor {
    background: #fff;
    opacity: .35;
    margin: auto;
    height: 1px;
    width: 80px;
}

.barra_lateral .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.btn_menu {
    background: transparent;
    border: 1px solid transparent;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-radius: 80px;
    width: 100%;
    font-size: 14px;
}

.btn_menu.ativo {
    background: var(--azul_primario);
}

.btn_menu:hover {
    background: #75CFEB;
    border-color: #fff;
}

.barra_lateral .icone {
    width: 24px;
}

.barra_lateral .revista {
    background: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    gap: 10px;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25);
}

.revista_capa {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);
}

.revista_conteudo {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.revista_conteudo h4 {
    font-size: 14px;
    line-height: 1;
    color: var(--azul_secundario);
}

.revista_conteudo p {
    font-size: 14px;
    line-height: 16px;
    color: #848282;
}

.links_rapidos {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn_menu_lateral {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    width: 100%;
}

.btn_menu_lateral:hover {
    color: var(--azul_primario);
}

.btn_menu_lateral:hover .icone path {
    stroke: var(--azul_primario);
}

.rodape_portal {
    margin-left: auto;
    justify-content: center;
    gap: 80px;
}

.rodape_portal p,
.rodape_portal a {
    font-size: 12px;
    color: var(--azul_primario);
    text-transform: uppercase;
}

.rodape_portal a {
    text-decoration: underline;
}

.rodape_portal a:hover {
    color: var(--azul_terciario);
}

.conteudo {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #D9D9D9;
    border-radius: 20px;
    margin-top: 50px;
    padding: 40px 20px;
}

.topo_portal {
    padding: 0 40px;
    margin-bottom: 40px;
}

.topo_portal h1 {
    font-size: 36px;
    line-height: 48px;
    color: var(--azul_secundario);
    font-weight: 700;
}

.unidade_selecionada {
    border-left: 1px solid var(--azul_primario);
    padding-left: 20px;
    padding-bottom: 20px;
}

.funcionamento_unidade {
    justify-content: flex-start;
    gap: 5px;
}

.indicador_funcionamento_unidade {
    width: 10px;
    height: 10px;
    border: 1px solid #0083BF;
    display: block;
    border-radius: 30px;
}

.funcionamento_unidade.aberto .indicador_funcionamento_unidade {
    background: var(--verde);
}

.funcionamento_unidade.fechado .indicador_funcionamento_unidade {
    background: var(--vermelho);
}

.texto_funcionamento_unidade {
    color: var(--cor_texto_principal);
    font-size: 14px;
    font-weight: 300;
}

#selecionar_unidade {
    background: #F2F2F2;
    max-width: 200px;
}

.informacoes_usuario_logado {
    gap: 10px;
    position: absolute;
    right: 40px;
    top: 0;
}

.informacoes_usuario_logado .notificacoes_topo {
    cursor: pointer;
    margin-top: 14px;
}

.informacoes_usuario_logado .notificacoes_topo path {
    stroke: var(--azul_primario);
}

.informacoes_usuario {
    background: #f2f2f2;
    padding: 14px;
    border-radius: 20px;
    gap: 15px;
    min-width: 200px;
}

.informacoes_usuario.ativo {
    background: #FFFFFF;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
}

.boas_vindas_usuario,
.boas_vindas_usuario span {
    font-size: 16px;
    line-height: 18px;
    color: var(--azul_primario);
    font-weight: 800;
}

.cargo_usuario {
    color: #878787;
    font-size: 14px;
    line-height: 1;
}

.foto_usuario {
    border-radius: 30px;
}

.mais_informacoes {
    cursor: pointer;
}

.informacoes_usuario.ativo .mais_informacoes svg {
    transform: rotate(180deg);
}

.mais_informacoes:hover path {
    stroke: var(--azul_primario);
}

.mais_informacoes_usuario {
    border-top: 1px solid #C4C4C4;
    margin-top: 10px;
    padding-top: 10px;
    display: none;
}

.mais_informacoes_usuario h5 {
    font-size: 14px;
    line-height: 1;
    color: var(--azul_primario);
    font-weight: 700;
    margin-bottom: 10px;
}

.mais_informacoes_usuario .lista_dependentes {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #C4C4C4;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.mais_informacoes_usuario .lista_dependentes li,
.mais_informacoes_usuario .lista_dependentes li span {
    font-size: 14px;
    line-height: 16px;
}

.mais_informacoes_usuario .lista_dependentes li span {
    color: #6A6A6A;
}

.btn_informacoes_usuario {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    color: var(--azul_primario);
    margin-bottom: 10px;
}

.btn_informacoes_usuario:last-child {
    margin-bottom: 0;
}

.btn_informacoes_usuario svg {
    width: 16px;
    height: 16px;
}

/* UNIDADES (HOME)
================================================== */
.unidades {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.card_unidade {
    background: url('../images/background-card-unidade.webp');
    background-size: cover !important;
    background-position: center !important;
    padding: 20px;
    border: 1px solid #0083BF;
    border-radius: 20px;
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
    min-width: 22%;
}

.card_unidade h3 {
    font-size: 22px;
    color: #fff;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 30px;
}

.card_unidade .texto_funcionamento_unidade {
    color: #fff;
}

.indicador_circular {
    width: 80px;
    text-align: center;
    color: #fff;
    margin: auto;
}

.indicador_circular svg {
    width: 100%;
    height: auto;
    background: var(--azul_primario);
    border-radius: 80px;
}

.indicador_circular .trilha {
    fill: none;
    stroke: var(--azul_primario);
    stroke-width: 4;
}

.indicador_circular .progresso {
    fill: none;
    stroke: var(--azul_hover);
    stroke-width: 4;
    stroke-linecap: round;
    transition: stroke-dasharray 0.5s ease;
}

.indicador_circular .valor {
    fill: #fff;
    font-size: 12px;
    font-weight: 600;
}

.indicador_circular p {
    font-size: 14px;
    color: #fff;
}

.card_unidade .divisor {
    height: 1px;
    width: 70px;
    margin: 10px auto;
    background: var(--azul_terciario);
}

.condicao_tempo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.condicao_tempo .icone {
    height: 45px;
}

.condicao_tempo span {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

/* CALENDÁRIO
================================================== */
:root {
    --cor-educacao: #16A987;
    --cor-esporte: #0083BF;
    --cor-lazer: #F47F32;
    --cor-cultura: #8F1637;
}

.calendario-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

#calendar {
    width: 100%;
    background: #F2F2F2;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.compromissos {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.compromissos_cabecalho {
    border-bottom: 1px solid #D9D9D9;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.compromissos_cabecalho a {
    color: var(--azul_primario);
    padding-bottom: 3px;
    border-bottom: 1px solid var(--azul_primario);
    font-size: 14px;
}

.compromissos_cabecalho a:hover {
    color: var(--azul_secundario);
    border-color: var(--azul_secundario);
}

#data-selecionada {
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

#lista_compromissos {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.compromisso {
    display: flex;
    align-items: stretch;
    height: 70px;
}

.compromisso .horario_compromisso,
.compromisso .infos_compromisso {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
}

.compromisso .horario_compromisso {
    background: #F2F2F2;
    border-radius: 10px 0 0 10px;
    border-right: 4px solid;
    color: var(--azul_primario);
    font-size: 14px;
    font-weight: 700;
    width: 65px;
}

.compromisso .infos_compromisso {
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #C4C5D0;
    border-left: none;
    border-radius: 0 10px 10px 0;
    width: calc(100% - 65px);
    position: relative;
}

.compromisso .infos_compromisso span {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #7297D3;
    margin-bottom: 5px;
}

.compromisso .infos_compromisso::after {
    content: '';
    display: block;
    position: absolute;
    right: 12px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url('../images/icons/arrow-right.svg');
    background-size: cover;
    width: 5px;
    height: 10px;
}

.legenda {
    margin-top: 20px;
    padding-top: 10px;
    justify-content: center;
    gap: 30px;
}

.legenda p {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #878787;
    font-size: 14px;
}

.legenda .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.fc-event.educacao,
.dot.educacao {
    background-color: var(--cor-educacao);
}

.fc-event.esporte,
.dot.esporte {
    background-color: var(--cor-esporte);
}

.fc-event.lazer,
.dot.lazer {
    background-color: var(--cor-lazer);
}

.fc-event.cultura,
.dot.cultura {
    background-color: var(--cor-cultura);
}

.fc {
    font-size: 14px;
    color: #333;
    --fc-border-color: transparent;
    --fc-today-bg-color: #eaf6ff;
    --fc-event-bg-color: transparent;
    --fc-event-border-color: transparent;
    --fc-button-bg-color: transparent;
    --fc-button-text-color: #003DA5;
    --fc-button-hover-bg-color: #f1f1f1;
    --fc-button-hover-border-color: transparent;
}

.fc-daygrid-day {
    border: none;
    position: relative;
}

.fc-day-disabled {
    display: none;
}

.fc .fc-daygrid-day.fc-day-today {
    background: none;
}

.fc .fc-daygrid-day.dia-selecionado .fc-daygrid-day-top {
    background: var(--azul_primario);
    border-radius: 30px;
}

.fc .fc-daygrid-day.dia-selecionado .fc-daygrid-day-top .fc-daygrid-day-number {
    color: #fff;
}

.fc .fc-daygrid-day-top {
    align-items: center;
    flex-direction: unset;
    justify-content: center;
    height: 100%;
    width: fit-content;
    margin: auto;
}

.fc .fc-daygrid-day-number {
    font-size: 18px;
}

.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
    min-height: unset;
}

.fc .educacao,
.fc .esporte,
.fc .lazer,
.fc .cultura {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin: auto;
    margin-top: 3px;
    position: relative;
    display: block;
}

.fc .fc-toolbar-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}

.fc .fc-button {
    border: none;
    font-size: 16px;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 6px;
}

.fc-event-time,
.fc-daygrid-dot-event .fc-event-title {
    display: none;
}

.fc-daygrid-day-events {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fc .fc-daygrid-day {
    height: 47px;
}

.fc .fc-daygrid-day-frame {
    min-height: unset;
    position: relative;
    height: fit-content;
}

/* CURSOS
================================================== */
.pesquisa_cursos {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

.pesquisa_cursos form {
    margin-top: 20px;
}

.enviar_pesquisa_cursos {
    border-radius: 50px !important;
    font-weight: 400 !important;
    padding: 8px !important;
}

.calendario_cursos {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    padding: 10px;
    border-radius: 30px;
    font-size: 12px;
    color: var(--azul_secundario);
}

.calendario_cursos:hover {
    background: var(--azul_primario);
    color: #fff;
}

.calendario_cursos:hover path {
    stroke: #fff;
}

.lista_meus_cursos,
.lista_cursos_na_fila,
.lista_cursos_disponiveis,
.lista_cursos {
    padding: 0 60px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.card_cursos {
    background: #fff;
    border-top: 10px solid;
    border-radius: 0 0 20px 20px;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
}

.card_cursos.educacao {
    border-color: var(--cor-educacao);
}

.card_cursos.educacao .unidade_curso {
    border-color: var(--cor-educacao);
    color: var(--cor-educacao);
}

.card_cursos.esporte {
    border-color: var(--cor-esporte);
}

.card_cursos.esporte .unidade_curso {
    border-color: var(--cor-esporte);
    color: var(--cor-esporte);
}

.card_cursos.cultura {
    border-color: var(--cor-cultura);
}

.card_cursos.cultura .unidade_curso {
    border-color: var(--cor-cultura);
    color: var(--cor-cultura);
}

.card_cursos.lazer {
    border-color: var(--cor-lazer);
}

.card_cursos.lazer .unidade_curso {
    border-color: var(--cor-lazer);
    color: var(--cor-lazer);
}

.card_cursos_topo {
    background: url(../images/background-card-cursos.webp);
    background-size: cover;
    background-position: center;
    padding: 40px 20px;
    min-height: 140px;
    display: flex;
    align-items: center;
}

.card_cursos h3 {
    color: #FFFFFF;
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
}

.card_cursos .card_cursos_infos {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

.card_cursos .unidade_curso {
    width: fit-content;
    padding: 10px 20px;
    border: 1px solid;
    border-radius: 40px;
    font-size: 14px;
}

.card_cursos .data_curso,
.card_cursos .cancelar_inscricao,
.card_cursos .curso_info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.card_cursos .icone {
    display: flex;
}

.card_cursos .data_curso svg,
.card_cursos .curso_info svg {
    width: 24px;
    height: 24px;
}

.card_cursos .data_curso span,
.card_cursos .curso_info strong {
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
}

.card_cursos .curso_info span {
    font-weight: 400;
}

.card_cursos .cancelar_inscricao span {
    font-size: 14px;
    line-height: 1;
    text-decoration: underline;
    display: block;
    color: #878787;
}

.card_cursos .cancelar_inscricao:hover span {
    color: var(--vermelho_escuro);
}

.card_cursos .cancelar_inscricao:hover path {
    stroke: var(--vermelho_escuro);
}

.card_cursos .btn {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 25px;
    margin: auto;
}

.card_cursos.curso_fila .btn {
    background: var(--vermelho_escuro);
}

.card_cursos.curso_fila .btn:hover {
    background: var(--vermelho);
    border-color: transparent;
}

.cursos_na_fila {
    border-top: 1px solid #D9D9D9;
}

.cursos_na_fila .card_cursos,
.card_cursos.curso_fila {
    border-color: #8A8A8A !important;
}

.cursos_na_fila .card_cursos .card_cursos_topo,
.card_cursos.curso_fila .card_cursos_topo,
.card_cursos.curso_fila .unidade_curso,
.card_cursos.curso_fila .curso_info {
    filter: grayscale(100%);
}

/* AGENDA
================================================== */
.agenda .fc-header-toolbar {
    background: var(--degrade_azul_horizontal);
    border-radius: 80px;
    padding: 10px 40px;
}

.agenda .fc .fc-toolbar-title {
    font-size: 20px;
    font-weight: bold;
    text-transform: capitalize;
    margin-bottom: 0;
    color: #fff;
}

.agenda .fc .fc-button {
    padding: 0;
}

.agenda .fc .fc-button .fc-icon {
    color: #fff;
}

.agenda .fc .fc-daygrid-day-frame {
    padding: 10px;
    width: fit-content;
    margin: auto;
}

.agenda .fc .fc-col-header-cell-cushion {
    font-weight: 600;
    font-size: 14px;
    color: #003DA5;
    text-transform: capitalize;
    text-align: center;
}

.agenda .fc-daygrid-day-number {
    display: block;
    text-align: center;
    font-weight: bold;
}

.agenda .fc-daygrid-day.fc-day-today {
    background-color: transparent !important;
}

.agenda .dia-selecionado .fc-daygrid-day-frame {
    background: var(--degrade_azul);
    border-radius: 8px;
}

.agenda .fc-daygrid-day.dia-selecionado .fc-daygrid-day-number {
    color: #fff;
    font-weight: 600;
}

.agenda .fc-col-header-cell.dia-selecionado {
    background: var(--degrade_azul);
    border-radius: 8px;
}

.agenda .fc-col-header-cell.dia-selecionado .fc-col-header-cell-cushion {
    color: #fff !important;
    font-weight: 600;
}

.agenda .fc-col-header-cell {
    display: none;
}

.agenda .fc-event {
    width: 6px;
    height: 6px;
    margin: 4px auto 0;
    border-radius: 50%;
    background-color: currentColor;
    border: none;
    padding: 0;
    display: block;
}

.agenda .bolinha-evento {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50%;
    margin: 0 !important;
    display: block;
}

.agenda .fc-event {
    display: none !important;
}

.agenda .bolinhas-evento {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: center;
    margin-top: 5px;
}

.agenda .fc .fc-daygrid-day.dia-selecionado .fc-daygrid-day-top {
    background: none;
}

.agenda .fc-daygrid-day-events,
.agenda .fc-daygrid-day-bg {
    display: none;
}

.agenda .dia-topo {
    color: #7297D3;
    font-size: 14px;
    line-height: 1;
    font-weight: 400;
    text-transform: capitalize;
    margin-bottom: 15px;
}

.agenda .dia-selecionado .dia-topo,
.agenda .dia-selecionado .dia-numero {
    color: #FFFFFF;
}

.agenda .dia-numero {
    font-size: 20px;
    line-height: 1;
    color: #848282;
}

.agenda .legenda {
    margin: 20px 0;
    border-top: 1px solid #D9D9D9;
}

#lista_compromissos_agenda {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;
}

#lista_compromissos_agenda h4 {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.bloco_compromissos_por_dia,
.lista_do_dia {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#lista_compromissos_agenda .compromisso .infos_compromisso {
    background: #fff;
}

.pesquisa_agenda {
    padding: 20px;
    border-radius: 20px;
    background: #F5F5F5;
}

#pesquisar_agenda,
#pesquisar_extrato,
#pesquisar_agenda_minas,
#pesquisar_sorteios,
#pesquisar_agenda_minas_cursos,
#pesquisar_agenda_minas_eventos {
    background: #fff;
}

.enviar_pesquisa_agenda,
.enviar_pesquisa_extrato,
.enviar_pesquisa_agenda_minas,
.enviar_pesquisa_agenda_minas_curso,
.enviar_pesquisa_faq,
.enviar_pesquisa_sorteios,
.enviar_pesquisa_agenda_minas_eventos {
    position: absolute;
    right: 25px;
    border: none;
    width: 20px;
    padding: 0;
    aspect-ratio: 20/21;
    top: 0;
    bottom: 0;
    margin: auto;
}

.agenda .fc .fc-button-primary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 30px;
}

/* GESTÃO DE CONDOMÍNIO
================================================== */
.gestao_condominio_topo {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

.gestao_condominio_topo .situacao {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 0 15px;
}

.gestao_condominio_topo .situacao strong {
    color: #16A987;
    display: block;
}

.gestao_condominio_topo .mensalidade {
    text-align: center;
}

.gestao_condominio_topo .mensalidade_condominio {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
}

.gestao_condominio_topo .mensalidade h4 {
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
}

.gestao_condominio_topo .mensalidade .valor {
    display: block;
    color: var(--azul_primario);
    font-size: 24px;
    margin-bottom: 5px;
}

.gestao_condominio_topo .mensalidade .valor_mensalidade span {
    font-size: 14px;
    line-height: 1;
    color: #0083BF;
}

.btn_pagar_mensalidade {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 25px;
    margin: auto;
    width: fit-content;
}

.mensalidade .meios_pagamento {
    gap: 20px 0;
}

.mensalidade .box_meio_pagamento {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    border: 1px solid #E4E4E4;
    justify-content: center;
}

.mensalidade .box_meio_pagamento:hover {
    background: var(--azul_hover);
    border-color: var(--azul_primario);
    color: #fff;
}

.extrato {
    padding: 0 20px;
}

.extrato_topo {
    padding-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.extrato_tabs {
    gap: 10px;
}

.btn_extrato {
    background: none;
    font-size: 14px;
    width: fit-content;
    padding: 10px 20px;
    font-weight: 500;
    color: #878787;
    border: 1px solid #E4E4E4;
    cursor: pointer;
}

.btn_extrato:hover {
    color: #FFFFFF;
}

.btn_extrato.ativo {
    background: var(--azul_primario);
    color: #fff;
    border-color: transparent;
}

#pesquisar_extrato {
    border: 1px solid #D9D9D9;
}

.extrato_lista {
    display: grid;
    gap: 25px;
}

.extrato_item {
    border-bottom: 1px solid #C4C5D0;
    padding: 20px;
}

.extrato_item h5 {
    color: var(--azul_terciario);
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 15px;
}

.extrato_item .divisor {
    width: 1px;
    height: 60px;
    background: #D9D9D9;
}

.extrato_item .numero {
    gap: 20px;
}

.extrato_item .numero .icone {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    background-size: cover !important;
}

.extrato_item .pagar a {
    font-weight: 700;
    text-decoration: underline;
}

.extrato_item .pagar a:hover {
    color: var(--azul_primario);
}

.extrato_item .status h5 {
    margin-bottom: 10px;
}

.extrato_item .status_indicador {
    border-radius: 5px;
    width: 200px;
    padding: 8px 12px;
}

.extrato_item .status_indicador .icone {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-size: cover !important;
}

.extrato_item .status_indicador span {
    width: calc(100% - 30px);
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.extrato_item.pago .numero .icone {
    background: url(../images/icons/icone-conta-dinheiro.svg);
}

.extrato_item.pago .status_indicador {
    background: #4FD69C;
}

.extrato_item.pago .status_indicador .icone {
    background: url(../images/icons/icone-circle-check.svg);
}

.extrato_item.pendente .numero .icone {
    background: url(../images/icons/icone-exclamacao.svg);
}

.extrato_item.pendente .status_indicador {
    background: #D78E00;
}

.extrato_item.pendente .status_indicador .icone {
    background: url(../images/icons/icone-exclamacao-branco.svg);
}

.extrato_item.vencido .numero .icone {
    background: url(../images/icons/icone-circle-x-vermelho.svg);
}

.extrato_item.vencido .status_indicador {
    background: var(--vermelho_escuro);
}

.extrato_item.vencido .status_indicador .icone {
    background: url(../images/icons/icone-circle-x-branco.svg);
}

.extrato .ver_mais_noticias {
    text-align: center;
    display: block;
    color: var(--azul_primario);
    border-bottom: 1px solid;
    padding-bottom: 5px;
    width: fit-content;
    margin: 25px auto 0;
}

.extrato .ver_mais_noticias:hover {
    color: var(--azul_hover);
}

/* PROTOCOLOS
================================================== */
.meus_protocolos {
    padding: 20px;
    border-radius: 20px;
    background: #F5F5F5;
}

.meus_protocolos .btn {
    width: fit-content;
    padding: 10px 25px;
}

.protocolos_abertos h3 {
    font-size: 16px;
    line-height: 1;
}

.lista_protocolos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #D9D9D9;
}

.protocolo_item {
    background: #F5F5F5;
    padding: 20px;
    border: 1px solid #D9D9D9;
    border-radius: 20px;
    display: grid;
    gap: 15px;
}

.protocolo_item h4 {
    color: var(--azul_primario);
    font-weight: 500;
}

.protocolo_item span {
    font-weight: 700;
}

.protocolo_item strong {
    color: #7297D3;
}

.protocolo_item .observacoes strong {
    color: var(--cor_texto_principal);
    display: block;
    ;
    margin-bottom: 10px;
}

#novo_protocolo .container_popup {
    width: 965px;
    padding: 0;
    background: none;
}

.novo_protocolo_topo {
    background: var(--azul_primario);
    padding: 25px 20px;
    border-radius: 10px 10px 0 0;
}

#novo_protocolo h3 {
    color: #fff;
    font-size: 20px;
    line-height: 1;
    text-align: start;
}

#novo_protocolo .novo_protocolo_topo p {
    color: #fff;
}

#novo_protocolo .fechar_popup:hover path {
    stroke: var(--azul_hover);
}

.novo_protocolo_conteudo {
    background: #fff;
    padding: 20px;
    border-radius: 0 0 10px 10px;
}

#novo_protocolo h4 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}

.novo_protocolo_form {
    gap: 20px 0;
    overflow: auto;
    max-height: 80vh;
}

.novo_protocolo_conteudo .campo_form label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--azul_primario);
    text-align: left;
}

/* Inputs e textarea */
.novo_protocolo_conteudo input[type="text"],
.novo_protocolo_conteudo input[type="file"],
.novo_protocolo_conteudo textarea,
.novo_protocolo_conteudo select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #999999;
    border-radius: 10px;
    font-size: 14px;
    color: var(--cor_texto_principal);
    transition: border-color 0.2s;
}

.novo_protocolo_conteudo input[readonly] {
    background: #F6F6F6;
    color: #C4C4C4;
    border: none;
    font-weight: 700;
}

/* Focus */
.novo_protocolo_conteudo input:focus,
.novo_protocolo_conteudo textarea:focus,
.novo_protocolo_conteudo select:focus {
    border-color: #003DA5;
    outline: none;
    background: #fff;
}

/* Upload de Arquivo */
.novo_protocolo_conteudo .upload_arquivo label {
    padding: 10px 20px;
    font-weight: 400;
    cursor: pointer;
    font-size: 14px;
    background: var(--azul_primario);
    border: 1px solid transparent;
    border-radius: 80px;
    color: #fff;
    gap: 10px;
    display: flex;
    align-items: center;
}

.novo_protocolo_conteudo .arquivo_nome {
    font-size: 14px;
}

/* Textarea */
.novo_protocolo_conteudo textarea {
    min-height: 120px;
    resize: vertical;
}

/* Botão Enviar */
.novo_protocolo_conteudo .alinhamento_direita {
    text-align: right;
}

.novo_protocolo_conteudo .campo_anexo {
    display: flex;
    align-items: center;
    gap: 40px;
}

.novo_protocolo_conteudo .campo_anexo label {
    margin-bottom: 0;
}

.novo_protocolo_conteudo .divisor {
    width: 1px;
    background: #D9D9D9;
    height: 38px;
}

.novo_protocolo_conteudo button {
    width: fit-content;
    margin-left: auto;
    display: block;
    padding: 10px 25px;
    text-transform: uppercase;
}

/* MENU MINAS
================================================== */
.agenda_minas {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
    margin: 60px 0;
}

.agenda_minas_tabs {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn_minas_tabs {
    padding: 10px 20px;
    width: fit-content;
    display: block;
    border: 1px solid #E4E4E4;
    background: transparent;
    color: #878787;
    cursor: pointer;
}

.btn_minas_tabs:hover {
    color: #fff;
}

.btn_minas_tabs.ativo {
    border-color: var(--azul_primario);
    color: var(--azul_primario);
}

.agenda_minas_filtro {
    padding: 0 20px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #8A8A8A;
    border-right: 1px solid #D9D9D9;
}

.agenda_minas_filtro .icone {
    justify-content: center;
    margin-bottom: 10px;
}

.agenda_minas_filtro:last-child {
    border-right: none;
}

.agenda_minas_filtro.ativo path {
    fill: var(--azul_secundario);
}

.agenda_minas_filtro.ativo {
    color: #0083BF;
}

.menu_minas_fale_com_minas .agenda_minas_filtro.ativo path {
    fill: unset;
    stroke: var(--azul_secundario);
}

.agenda_minas_filtro.ativo::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 30px;
    background: var(--azul_primario);
    margin-top: 10px;
}

.filtro_eventos {
    justify-content: flex-start;
    gap: 10px;
}

.filtro_evento {
    font-size: 14px;
    color: var(--azul_primario);
    padding: 10px 20px;
    border: 1px solid;
    border-radius: 40px;
    cursor: pointer;
}

.filtro_evento:hover {
    background: var(--azul_hover);
    color: #fff !important;
    border-color: var(--azul_primario);
}

.filtro_evento.educacao {
    color: var(--cor-educacao);
}

.filtro_evento.esporte {
    color: var(--cor-esporte);
}

.filtro_evento.lazer {
    color: var(--cor-lazer);
}

.filtro_evento.cultura {
    color: var(--cor-cultura);
}

.filtro_evento.ativo {
    background: var(--azul_primario);
    border-color: transparent;
    color: #FFFFFF;
}

.filtro_evento.ativo.educacao {
    background: var(--cor-educacao);
}

.filtro_evento.ativo.esporte {
    background: var(--cor-esporte);
}

.filtro_evento.ativo.lazer {
    background: var(--cor-lazer);
}

.filtro_evento.ativo.cultura {
    background: var(--cor-cultura);
}

.menu_minas_dashboard .secao {
    width: 100%;
    margin-bottom: 40px;
}

.menu_minas_dashboard .secao-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 20px;
}

.menu_minas_dashboard .secao-header .data-atual {
    font-size: 16px;
    font-weight: 700;
}

.menu_minas_dashboard .ver-mais {
    display: block;
    text-align: center;
    margin: 20px auto 0;
    color: var(--azul_primario);
    padding-bottom: 5px;
    border-bottom: 1px solid;
    width: fit-content;
}

.menu_minas_dashboard .ver-mais:hover {
    color: var(--azul_secundario);
}

.menu_minas_dashboard .grid-container,
.menu_minas_eventos .grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    padding: 0 40px;
}

.menu_minas_dashboard .card-evento,
.menu_minas_eventos .card-evento,
.menu_minas_dashboard .card-noticia {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.menu_minas_dashboard .card-evento:hover,
.menu_minas_eventos .card-evento:hover,
.menu_minas_dashboard .card-noticia:hover {
    transform: translateY(-5px);
}

.menu_minas_dashboard .card-evento,
.menu_minas_eventos .card-evento {
    border-top: 10px solid;
    border-radius: 0 0 20px 20px;
}

.menu_minas_dashboard .card-evento.esporte,
.menu_minas_eventos .card-evento.esporte {
    border-color: var(--cor-esporte);
}

.menu_minas_dashboard .card-evento.cultura,
.menu_minas_eventos .card-evento.cultura {
    border-color: var(--cor-cultura);
}

.menu_minas_dashboard .card-evento.lazer,
.menu_minas_eventos .card-evento.lazer {
    border-color: var(--cor-lazer);
}

.menu_minas_dashboard .card-evento.educacao,
.menu_minas_eventos .card-evento.educacao {
    border-color: var(--cor-educacao);
}

.menu_minas_dashboard .card-evento-imagem,
.menu_minas_eventos .card-evento-imagem {
    position: relative;
    height: 100px;
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.menu_minas_dashboard .card-evento-imagem::before,
.menu_minas_eventos .card-evento-imagem::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000;
    opacity: .5;
    z-index: 1;
}

.card-evento .data-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card-evento .data-box span {
    color: #fff;
    font-size: 14px;
}

.card-evento .data-box .dia {
    font-weight: 700;
    font-size: 20px;
}

.card-evento .data-box .icone {
    margin-top: 10px;
}

.menu_minas_dashboard .card-evento-imagem>*,
.menu_minas_eventos .card-evento-imagem>* {
    position: relative;
    z-index: 2;
}

.menu_minas_dashboard .card-evento-imagem .titulo-evento,
.menu_minas_eventos .card-evento-imagem .titulo-evento {
    font-size: 24px;
    font-weight: 700;
    line-height: 20px;
    color: #fff;
}

.menu_minas_dashboard .card-evento-imagem .share-icon,
.menu_minas_eventos .card-evento-imagem .share-icon {
    position: absolute;
    top: 15px;
    right: 15px;
}

.menu_minas_dashboard .card-evento-infos,
.menu_minas_eventos .card-evento-infos {
    padding: 20px;
}

.menu_minas_dashboard .card-evento-tags,
.menu_minas_eventos .card-evento-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.menu_minas_dashboard .card-evento-detalhes,
.menu_minas_eventos .card-evento-detalhes {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu_minas_dashboard .detalhe-item,
.menu_minas_eventos .detalhe-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: underline;
}

.menu_minas_dashboard .detalhe-item.horario,
.menu_minas_eventos .detalhe-item.horario {
    text-decoration: none;
}

.menu_minas_dashboard .card-noticia-imagem img,
.menu_minas_eventos .card-noticia-imagem img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.menu_minas_dashboard .card-noticia-conteudo,
.menu_minas_eventos .card-noticia-conteudo {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.menu_minas_dashboard .card-noticia-conteudo .titulo-noticia,
.menu_minas_eventos .card-noticia-conteudo .titulo-noticia {
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
    margin: 15px 0 30px 0;
}

.card-noticia.esporte .titulo-noticia {
    color: var(--cor-esporte);
}

.card-noticia.lazer .titulo-noticia {
    color: var(--cor-lazer);
}

.card-noticia.cultura .titulo-noticia {
    color: var(--cor-cultura);
}

.card-noticia.educacao .titulo-noticia {
    color: var(--cor-educacao);
}

.menu_minas_dashboard .card-noticia-conteudo .resumo-noticia,
.menu_minas_eventos .card-noticia-conteudo .resumo-noticia {
    color: #8A8A8A;
}

.menu_minas_dashboard .card-noticia-footer,
.menu_minas_eventos .card-noticia-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.card-noticia-footer .data-noticia {
    color: #C4C4C4;
    font-size: 16px;
    line-height: 24px;
}

.menu_minas_dashboard .tag,
.menu_minas_eventos .tag {
    font-size: 12px;
    font-weight: 400;
    padding: 8px 20px;
    border-radius: 40px;
    color: var(--azul_primario);
    text-transform: capitalize;
    border: 1px solid var(--azul_primario);
    width: fit-content;
}

.menu_minas_dashboard .tag.tag-lazer,
.menu_minas_eventos .tag.tag-lazer {
    color: var(--cor-lazer);
    border-color: var(--cor-lazer);
}

.menu_minas_dashboard .tag.tag-educacao,
.menu_minas_eventos .tag.tag-educacao {
    color: var(--cor-educacao);
    border-color: var(--cor-educacao);
}

.menu_minas_dashboard .tag.tag-esporte,
.tag.tag-esporte,
.menu_minas_eventos .tag.tag-esporte,
.tag.tag-esporte {
    color: var(--cor-esporte);
    border-color: var(--cor-esporte);
}

.menu_minas_dashboard .tag.tag-cultura,
.menu_minas_eventos .tag.tag-cultura {
    color: var(--cor-cultura);
    border-color: var(--cor-cultura);
}

.menu_minas_cursos .agenda_minas .btn {
    padding: 10px 20px;
    display: block;
    width: fit-content;
}

.filtros_cursos_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.filtros_cursos_container .filtro_item {
    display: flex;
    flex-direction: column;
    width: 24%;
}

.filtros_cursos_container .filtro_item label {
    font-size: 14px;
    font-weight: 500;
    color: var(--azul_secundario);
    margin-bottom: 10px;
    text-align: left;
}

.filtros_cursos_container .select_wrapper {
    position: relative;
    width: 100%;
}

.filtros_cursos_container .select_wrapper::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    opacity: 0.6;
}

.filtros_cursos_container .filtro_item.modalidade .select_wrapper::before {
    background-image: url(../images/icons/icone-modalidades.svg);
}

.filtros_cursos_container .filtro_item.turma .select_wrapper::before {
    background-image: url(../images/icons/icone-turma.svg);
}

.filtros_cursos_container .filtro_item.dia .select_wrapper::before {
    background-image: url(../images/icons/icone-dia.svg);
}

.filtros_cursos_container .filtro_item.horario .select_wrapper::before {
    background-image: url(../images/icons/icone-horario.svg);
}

.filtros_cursos_container .select_wrapper select {
    width: 100%;
    padding: 15px 12px 15px 45px;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    background-color: #F2F2F2;
    font-size: 14px;
    color: #878787;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../images/icons/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px;
}

.filtros_cursos_container .select_wrapper select:focus {
    outline: none;
    border-color: #003DA5;
    box-shadow: 0 0 0 2px rgba(0, 131, 191, 0.2);
}

/* FALE COM O MINAS
================================================== */
.menu_minas_fale_com_minas .agenda_minas_topo .btn {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
}

.container_mensagem_fale_com_minas {
    padding: 0 20px;
}

.mensagem_fale_com_minas {
    background: #fff;
    border: 1px solid #DADADA;
    border-radius: 20px;
    padding: 20px 40px;
}

.mensagem_fale_com_minas h3,
.redes_sociais_container h3,
.informacoes_unidades h3,
.ouvidoria_container h3 {
    font-size: 16px;
    line-height: 1;
}

#enviar_mensagem {
    margin: 40px auto 0;
    width: fit-content;
    display: block;
    border-radius: 50px;
    padding: 10px 20px;
}

.redes_sociais_container h3,
.informacoes_unidades h3,
.ouvidoria_container h3 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.redes_sociais_container,
.informacoes_unidades,
.ouvidoria_container {
    padding: 0px 20px;
}

.redes_sociais_container h4 {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin: 0 0 20px 0;
    text-align: left;
}

.redes_sociais_container .redes_dropdown {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.redes_sociais_container .rede_item.dropdown {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background-color: #FFFFFF;
    border-radius: 8px;
    text-decoration: none;
    height: 50px;
    cursor: pointer;
}

.dropdown_header {
    width: 100%;
}

.dropdown_content {
    display: none;
    position: absolute;
    background-color: #ffffff;
    width: 100%;
    border-radius: 0 0 8px 8px;
    z-index: 10;
    padding: 10px;
    left: 0;
    top: 50px;
}

.dropdown_content::before {
    content: '';
    display: block;
    width: calc(100% - 30px);
    height: 1px;
    background: #C4C4C4;
    position: absolute;
    top: 2px;
    left: 0;
    margin: auto;
    right: 0;
}

.dropdown_content a {
    display: block;
    font-size: 14px;
    margin-top: 15px;
}

.dropdown_content a:hover {
    color: var(--azul_primario);
}

.rede_item.dropdown.ativo {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
}

.rede_item.dropdown.ativo .chevron {
    transform: rotate(180deg);
}

.rede_item.dropdown.ativo .dropdown_content {
    display: block;
}

.rede_item.dropdown .nome_rede {
    color: #0083BF;
    font-weight: 400;
}

.redes_sociais_container .rede_item .flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.redes_sociais_container .icone_rede {
    display: flex;
    align-items: center;
}

.redes_sociais_container .nome_rede {
    font-size: 16px;
    font-weight: 700;
    color: #8A8A8A;
}

.redes_sociais_container .seta_dropdown {
    display: flex;
    align-items: center;
}

.redes_sociais_container .lista_redes_sociais {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
}

.redes_sociais_container .rede_link {
    gap: 10px;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 20px;
}

.redes_sociais_container .divisor {
    width: 1px;
    background-color: #D9D9D9;
}

.grid_informacoes_unidades {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.informacoes_unidades_item {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 20px;
    border: 1px solid #0083BF;
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
    -webkit-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.25);
}

.informacoes_unidades_item * {
    color: #fff;
}

.informacoes_unidades_item h4 {
    font-size: 22px;
    font-weight: 600;
}

.informacoes_unidades_item a,
.canal_atendimento .telefone {
    font-weight: 700;
}

.canais_atendimento {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 25px;
}

.canais_atendimento h4,
.canal_atendimento h5 {
    font-size: 16px;
    line-height: 24px;
}

.canal_atendimento h5 {
    color: #7297D3;
    margin-bottom: 5px;
}

.canais_atendimento .divisor {
    width: 1px;
    background: #D9D9D9;
}

/* BENEFÍCIOS
================================================== */
.comodidade,
.parceiros {
    padding: 0 20px;
}

.comodidade h3,
.parceiros h3 {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 10px;
}

.parceiros h3 {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.parceiros_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.parceiro {
    background: #fff;
    border-radius: 20px;
    padding: 40px 20px;
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
}

.parceiro img {
    border-radius: 10px;
    margin: auto;
}

.parceiro .parceiro_infos {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #ABC4EA;
    gap: 20px;
    display: grid;
}

.parceiro h4 {
    color: var(--azul_primario);
    font-size: 16px;
    line-height: 24px;
}

.parceiro .parceiro_infos div {
    display: grid;
    gap: 5px;
}

.parceiro p {
    font-size: 14px;
    line-height: 16px;
}

/* NOTIFICAÇÕES
================================================== */
.notificacoes_geral {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

.configurar_notificacoes {
    background: #fff;
    border-radius: 10px;
    cursor: pointer;
    gap: 10px;
    padding: 10px 20px;
    position: absolute;
    left: -60px;
    right: 0;
    top: 20px;
    margin: auto;
    height: fit-content;
}

.configurar_notificacoes.ativo .chevron {
    transform: rotate(180deg);
}

.configurar_notificacoes span {
    color: var(--azul_secundario);
}

.configuracoes {
    border-top: 1px solid #C4C4C4;
    padding-top: 15px;
    display: none;
    margin-top: 15px;
}

.config_notificacao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 10px;
    margin-bottom: 12px;
    background-color: #fff;
    font-size: 14px;
    color: #333;
}

.config_notificacao {
    font-size: 14px;
    line-height: 20px;
}

.config_notificacao .switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.config_notificacao .switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.config_notificacao .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #EAEAEA;
    border-radius: 20px;
    transition: 0.4s;
    border: 1px solid #C4C4C4;
}

.config_notificacao .slider::before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: #B4B4B4;
    border-radius: 50%;
    transition: 0.4s;
}

.config_notificacao .switch input:checked+.slider {
    background-color: #E8F0FF;
    border-color: var(--azul_primario);
}

.config_notificacao .switch input:checked+.slider::before {
    transform: translateX(20px);
    background: var(--azul_primario);
}

.marcar_como_lidas {
    cursor: pointer;
    padding: 10px 20px;
    width: fit-content;
}

.notificacoes_lista {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 0 20px;
}

.notificacao {
    border-radius: 20px;
    padding: 20px;
    background: #F5F5F5;
    border: 1px solid #D9D9D9;
    display: grid;
    gap: 15px;
}

.notificacao h4 {
    color: #7297D3;
    font-weight: 500;

}

.notificacao .data {
    color: var(--azul_primario);
    display: block;
    font-weight: 700;
}

.notificacao h3 {
    font-size: 16px;
}

.notificacao .btn_lida::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/icons/icone-mensagem-pendente.svg);
    background-size: cover;
}

.notificacao .btn_lida {
    color: var(--azul_primario);
    font-size: 16px;
    gap: 10px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.notificacao.lida * {
    color: #878787 !important;
}

.notificacao.lida .btn_lida::before {
    background: url(../images/icons/icone-mensagem-lida.svg);
}

.notificacoes_destaque {
    gap: 40px;
    justify-content: center;
    padding: 0 20px;
}

.notificacoes_destaque h3 {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.notificacao_destaque img {
    border-radius: 20px 20px 0 0;
}

.notificacao_destaque_conteudo {
    border: 1px solid #D9D9D9;
    padding: 20px;
    background: #fff;
    display: grid;
    gap: 15px;
    border-radius: 0 0 20px 20px;
}

.notificacao_destaque_conteudo h4 {
    color: #0083BF;
    font-size: 16px;
    line-height: 24px;
}

/* ATUALIZAR CADASTRO
================================================== */
.atualizar_infos {
    display: grid;
    gap: 40px;
}

.atualizar_cadastro h3 {
    padding-bottom: 10px;
    border-bottom: 1px solid #D9D9D9;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.atualizar_cadastro_topo {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

.atualizar_cadastro_topo p {
    color: #878787;
    font-size: 12px;
    line-height: 16px;
}

.atualizar_cadastro_topo span {
    color: var(--azul_terciario);
    display: block;
}

.atualizar_infos h4 {
    font-size: 16px;
    line-height: 1;
    color: var(--azul_primario);
    font-weight: 500;
}

.atualizar_infos .informacoes_contato,
.atualizar_infos .atualizar_senha {
    background: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 20px;
    padding: 20px;
}

.atualizar_informacoes_contato input[type="submit"],
.enderecos input[type="submit"],
.atualizar_senha input[type="submit"] {
    width: fit-content;
    text-transform: none;
    border-radius: 50px;
    font-weight: 400;
    padding: 10px 20px;
}

.atualizar_infos .enderecos {
    background: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 20px;
    padding: 20px;
}

.atualizar_endereco_cobranca,
.atualizar_endereco_correspondencia,
.form_atualizar_senha {
    gap: 30px 0;
}

.dados_cadastro {
    display: grid;
    gap: 40px;
}

.resumo_cadastro {
    background: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

.resumo_cadastro .divisor {
    height: 1px;
    width: 100%;
    background: #ABC4EA;
}

.resumo_cadastro h4 {
    font-size: 20px;
    line-height: 24px;
    color: var(--azul_primario);
    font-weight: 700;
}

.resumo_cadastro .dados {
    display: grid;
    gap: 15px;
}

.resumo_cadastro .dados_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.resumo_cadastro .dados_item svg {
    width: 24px;
    height: auto;
}

.resumo_cadastro .dados_item h5 {
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.resumo_cadastro .dados_item h5 span {
    color: #6A6A6A;
    font-weight: 400;
}

.gestao_dependentes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.dependente {
    background: #F5F5F5;
    border: 1px solid #D9D9D9;
    padding: 15px;
    border-radius: 10px;
    display: grid;
    gap: 20px;
}

.dependente .foto_dependente {
    border-radius: 50px;
    margin: auto;
    max-height: 188px;
}

.dependente h4 {
    font-size: 16px;
    color: var(--azul_primario);
    text-align: center;
}

.dependente .dependente_dados {
    display: grid;
    gap: 5px;
}

.dependente h5 {
    font-size: 14px;
    line-height: 20px;
}

.dependente h5 span {
    font-weight: 400;
}

.dependente .divisor {
    background: #D9D9D9;
    height: 1px;
}

/* FAQ
================================================== */
.faq_topo {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

#pesquisar_faq {
    background: #fff;
}

.faq_container {
    padding: 0 20px;
}

.faq_itens {
    display: grid;
    gap: 15px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.faq_itens:last-child {
    margin-bottom: 0;
}

.faq_itens h3 {
    font-size: 16px;
    line-height: 1;
}

.faq_item {
    background: #fff;
    border: 1px solid #DADADA;
    border-radius: 10px;
    padding: 20px 30px;
}

.faq_item.ativo {
    background: #F2F2F2;
}

.faq_item_topo {
    cursor: pointer;
}

.faq_item h4 {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    width: calc(100% - 30px);
}

.faq_item.ativo h4 {
    color: var(--azul_primario);
}

.faq_item.ativo .icone {
    transform: rotate(180deg);
}

.faq_resposta {
    display: none;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #DADADA;
}

/* SORTEIOS
================================================== */
.sorteio_topo {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 20px;
}

.sorteios_itens {
    align-items: stretch;
    justify-content: center;
    gap: 40px;
    padding: 0 20px;
}

.sorteios_itens h3 {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #D9D9D9;
}

.sorteios_itens img {
    border-radius: 20px 20px 0 0;
}

.sorteio_item_conteudo {
    border: 1px solid #D9D9D9;
    padding: 20px;
    background: #fff;
    display: grid;
    gap: 15px;
    border-radius: 0 0 20px 20px;
}

.sorteio_item_conteudo h4 {
    color: #0083BF;
    font-size: 16px;
    line-height: 24px;
}

.sorteios_itens.participando .sorteio_item_conteudo {
    background: #F5F5F5;
}

.sorteios_itens.participando .btn {
    background: #fff;
    color: #0083BF;
}

.sorteios_itens.participando .btn:hover {
    background: var(--azul_primario);
    color: #fff;
}

/* POPUP
================================================== */
.popup_ativo {
    overflow-y: hidden;
}

.popup {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    height: 100vh;
    text-align: center;
    display: none;
}

.container_popup {
    width: 530px;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    margin: auto;
    position: absolute;
    inset: 0;
    height: fit-content;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.popup h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
}

.popup .icone {
    display: flex;
}

.popup h3 {
    font-size: 24px;
    line-height: 1;
    color: var(--vermelho_escuro);
    margin-bottom: 10px;
}

.popup p,
.popup .nome_curso {
    font-size: 16px;
    line-height: 24px;
}

.btn_popup {
    width: 49%;
    padding: 10px 25px;
    border-radius: 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--azul_primario);
    border: 1px solid var(--azul_primario);
}

.btn_popup:hover {
    background: var(--azul_hover);
    border-color: transparent;
    color: #fff;
}

.btn_popup.confirmar {
    background: var(--vermelho_escuro);
    color: #fff;
    border-color: transparent;
}

.btn_popup.confirmar:hover {
    background: #862823;
}

.fechar_popup:hover path {
    stroke: #212121
}

/* FORMULÁRIOS
================================================== */
.container_campo_form {
    width: 100%;
    position: relative;
}

.container_campo_form.select {
    background-image: url(../images/icons/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 18px;
}

select {
    background: #fff;
    border: none;
    border-radius: 10px;
    border-right: 10px solid transparent;
    color: #878787;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

input,
.enviar_mensagem_minas select {
    background: none;
    border-bottom: 1px solid #DADADA;
    color: #8A8A8A;
    font-size: 14px;
    line-height: 24px;
    padding: 20px;
    width: 100%;
    background-size: 24px;
    padding-left: 54px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 0;
    border-right: 0;
}

input.campo_com_erro {
    border-color: var(--vermelho_escuro);
}

.campo_nome {
    background: url('../images/icons/icone-nome.svg') no-repeat 20px center;
}

.campo_email {
    background: url('../images/icons/icone-email.svg') no-repeat 20px center;
}

.campo_senha {
    background: url('../images/icons/icone-cadeado-senha.svg') no-repeat 20px center;
}

.campo_cpf {
    background: url('../images/icons/icone-cpf.svg') no-repeat 20px center;
}

.campo_npf {
    background: url('../images/icons/icone-documento.svg') no-repeat 20px center;
}

.campo_data {
    background: url('../images/icons/icone-calendario.svg') no-repeat 20px center;
}

.campo_telefone {
    background: url('../images/icons/icone-telefone.svg') no-repeat 20px center;
}

.campo_celular {
    background: url('../images/icons/icone-celular.svg') no-repeat 23px center;
}

.campo_cep {
    background: url('../images/icons/icone-cep.svg') no-repeat 20px center;
}

.campo_cidade {
    background: url('../images/icons/icone-cidade.svg') no-repeat 20px center;
}

.campo_uf {
    background: url('../images/icons/icone-uf.svg') no-repeat 20px center;
}

.campo_bairro {
    background: url('../images/icons/icone-bairro.svg') no-repeat 20px center;
}

.campo_logradouro {
    background: url('../images/icons/icone-logradouro.svg') no-repeat 20px center;
}

.campo_numero {
    background: url('../images/icons/icone-numero.svg') no-repeat 20px center;
}

.campo_complemento {
    background: url('../images/icons/icone-complemento.svg') no-repeat 20px center;
}

.campo_assunto {
    background: url('../images/icons/icone-assunto.svg') no-repeat 20px center !important;
}

.campo_mensagem {
    background: url('../images/icons/icone-mensagem.svg') no-repeat 20px center;
}

.outras_opcoes a {
    color: #8A8A8A;
    font-size: 14px;
    display: block;
    line-height: 24px;
    width: fit-content;
}

.outras_opcoes a:hover {
    color: var(--azul_secundario);
    text-decoration: underline;
}

.checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkbox input {
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    width: fit-content;
}

.checkbox label {
    color: #8A8A8A;
    font-size: 12px;
    line-height: 14px;
}

input[type="search"] {
    padding: 15px 25px;
    background: #fff url('../images/icons/icone-lupa.svg') no-repeat right 25px center;
    border-radius: 10px;
    border: none;
}

input[type="submit"] {
    background: var(--azul_primario);
    border: 1px solid transparent;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 14px;
    cursor: pointer;
}

input[type="submit"]:hover {
    background: var(--azul_hover);
    border-color: #fff;
}

.erro_formulario {
    background: var(--vermelho_escuro);
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    font-size: 12px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height: fit-content;
    white-space: nowrap;
    pointer-events: none;
    margin: auto;
}

/* MOBILE
================================================== */
@media screen and (max-width: 980px) {

    .w_24,
    .w_33,
    .w_46,
    .w_52,
    .w_72,
    .w_75,
    .w_78,
    .w_82 {
        width: 100%;
    }

    .mobile_btn {
        display: block;
    }

    .barra_lateral {
        border: none;
        border-radius: 0;
    }

    .barra_lateral_topo {
        align-items: center;
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .barra_lateral_topo a {
        display: block;
        width: fit-content;
    }

    .barra_lateral .logo {
        width: 140px;
        margin: unset;
    }

    .barra_lateral .barra_lateral_conteudo {
        display: none;
        width: 100%;
    }

    .barra_lateral .barra_lateral_conteudo.active {
        display: flex;
    }

    .portal .container {
        width: 100%;
    }

    .conteudo {
        margin: 20px auto 0;
        width: 95%;
    }

    .rodape_portal {
        width: 95%;
        margin: 40px auto 0;
        flex-direction: column;
        gap: 20px;
    }

    .topo_portal {
        padding: 0;
    }

    .topo_portal h1 {
        font-size: 32px;
        line-height: 40px;
    }

    .unidade_selecionada {
        width: 65%;
    }

    .informacoes_usuario_logado {
        position: relative;
        right: unset;
    }

    .informacoes_usuario {
        display: none;
    }

    .unidades {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .legenda {
        gap: 10px;
    }

    .revista_capa img {
        width: 100%;
    }

    .revista_conteudo {
        width: 52%;
    }

    input[type="submit"] {
        margin-top: 10px;
        width: 100%;
    }

    .pesquisa_agenda h2,
    .sorteio_topo h2 {
        margin-bottom: 20px;
    }

    .sorteio_topo {
        margin: 20px 0 40px;
    }

    .sorteios_itens {
        padding: 0;
    }

    .sorteios_itens img {
        width: 100%;
    }

    .meus_protocolos {
        margin: 20px 0;
    }

    .meus_protocolos .btn {
        width: 100%;
        margin-top: 20px;
    }

    .lista_protocolos {
        grid-template-columns: 1fr;
    }
}

.modal-overlay {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    justify-content: center;
    align-items: center;
}


.modal-content {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 90%;
    max-width: 500px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    animation: fadeIn 0.3s ease-out;
}


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}


.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 15px;
}


.close-button {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-button:hover,
.close-button:focus {
    color: #000;
    text-decoration: none;
}


.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.checkbox-group {
    display: flex;
    align-items: center;
}

.checkbox-group input {
    width: auto;
    margin-right: 10px;
}

.termos-container {
    border: 1px solid #ccc;
    padding: 15px;
    max-height: 200px;
    overflow-y: auto;
    background-color: #f9f9f9;
}


#receber_sms {
    display: none;
}


#receber_sms+label::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid #555;
    border-radius: 3px;
    margin-right: 8px;
    vertical-align: middle;
}


#receber_sms:checked+label::before {
    background-color: #007bff;
    border-color: #007bff;
}


#receber_sms:checked+label::after {
    content: '✓';
    display: inline-block;
    width: 16px;
    height: 16px;
    text-align: center;
    line-height: 16px;
    font-size: 14px;
    color: white;
    position: relative;
    left: -26px;

    vertical-align: middle;
}

label[for="receber_sms"] {
    cursor: pointer;
}