.main {
    min-height: 250px;
}

.modal-dialog.custom-position {
    position: fixed;
    margin: 0;
}

.logo-custom {
    border: 2px solid #000;
    background-color: #f5f5f5;
    padding: 10px;
    border-radius: 6px;
    /* opcional */
}

.centered {
    align-items: center;
    align-content: center;
    text-align: center;
}

.conteudo{
	text-align: justify;
}

.text-justify {
	text-align: justify !important;
}


.sidebar{
	text-align:start !important;
}

.hide {
    display: none !important;
}

p {
    color: #000000 !important;
}

.highlight {
    color: #f60404;
    font-weight: bold;
}

li {
    /*list-style: none;*/
}

.page-header .sub-title {
    color: var(--grey-900);
}

.pages {
    color: #333;
} 

/* LINKS DA NAV-LIST */
.pages ul.nav-list li a {
    position: relative;
    transition: background 0.1s, color 0.1s;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding: 8px 0 8px 18px;
    display: block;
    color: #666;
    font-weight: 700;
    text-decoration: none;
    line-height: 20px;
}

/* ÍCONE DENTRO DO LINK NA NAV-LIST */
.pages ul.nav-list li a:before {
    font-family: 'Font Awesome 6 Free';
    content: "\f054";
    font-weight: 900;
    position: absolute;
    top: 8px;
    left: 5px;
    opacity: 0.7;
    transform: translate3d(-1px, 0, 0);
}

/* REMOVE QUALQUER ICONE NO LI DA list list-icons (EVITA DUPLICAR) */
.pages ul.list.list-icons li:before {
    content: none !important;
}

/* REMOVE QUALQUER ICONE NO LI DA NAV-LIST (EVITA DUPLICAR) */
.pages ul.nav-list li:before {
    content: none !important;
}

/* HOVER DOS LINKS */
.pages ul.nav-list li a:hover {
    color: var(--primary) !important;
}

/* ESTILOS DE RADIOS */
.pages .vd-radios {
    border: 1px solid var(--primary);
    border-radius: 8px;
    width: 100%;
    padding: 10px;
    margin-bottom: 0.5em;
}

.pages .vd-radios label {
    margin-left: 0.5rem;
}

.pages .vd-radios .form-check-input {
    width: 1.5em;
    height: 1.5em;
}

/* LABELS */
.pages label {
    color: #333;
}

label.required:after {
    color: red;
    margin: 0.2em;
    top: 0;
}

.pages label.error {
    color: #c10000;
    font-size: 0.9em;
    line-height: 18px;
    padding: 5px 0 0;
}

.pages .vd-radios .form-check-input.error {
    border-color: #c10000;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.pages .form-control.error {
    border-color: #c10000;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

/* LINKS E TITULOS */
.pages a {
   color: var(--tertiary);
}

.pages h6 {
    color: var(--tertiary);
    font-size: 1em;
    font-weight: bold;
}

/* LISTAS NORMAIS DO CONTEÚDO */
.conteudo ul li:before {
    font-family: 'Font Awesome 6 Free';
    content: "\f054";
    font-weight: 900;
    padding-right: 0.3rem;
    font-size: 0.7rem;
    opacity: 0.7;
    transform: translate3d(-1px, 0, 0);
}


#footer .nav-link {
    display: block;
    padding-left: 10px;
    padding-bottom: 0 !important;
    color: var(--bs-gray-400) !important;
}

#footer a:not(.btn):not(.no-footer-css) {
    color: var(--bs-gray-400);
}

#footer p {
    color: var(--bs-gray-400) !important;
}

#footer .list li {
    margin-bottom: 0;
}

#footer li {
    line-height: 2;
}

#footer a:hover {
    color: var(--tertiary) !important;
}

#footer li .nav-link:before {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 600;
    position: inherit;
    font-size: 12.2px;
    opacity: 0.7;
    transform: translate3d(-1px, 0, 0);
}

@media (min-width: 992px) {
    #header .header-nav-main nav>ul>li.dropdown .dropdown-menu li a {
        color: #000000;
    }

    #header .header-nav-main nav>ul>li.dropdown .dropdown-menu li a:hover,
    #header .header-nav-main nav>ul>li.dropdown .dropdown-menu li a:focus,
    #header .header-nav-main nav>ul>li.dropdown .dropdown-menu li a.active,
    #header .header-nav-main nav>ul>li.dropdown .dropdown-menu li a:active {
        background-color: var(--secondary);
    }

    .conteudos {
        min-height: 500px;
    }
}

@media (max-width:669px) {

    .hide-mobile,
    .grecaptcha-badge {
        display: none !important;
    }
}

/* * Galeria de fotos */
#gallery {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

#gallery div {
    background: none;
    display: block;
    border: 1px solid #ccc;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    padding: 0;
    -webkit-box-shadow: 1px 1px 6px #ddd;
    -moz-box-shadow: 1px 1px 6px #ddd;
    box-shadow: 1px 1px 6px #ddd;
    overflow: hidden;
    margin-bottom: 15px;
}

#gallery div:hover {
    border: 1px solid #8ecbff;
    transition: border 500ms ease-out;
    -webkit-transition: border 500ms ease-out;
    -moz-transition: border 500ms ease-out;
    -o-transition: border 500ms ease-out;
    -webkit-box-shadow: 1px 1px 6px #666;
    -moz-box-shadow: 1px 1px 6px #666;
    box-shadow: 1px 1px 6px #666;
    -webkit-transition: box-shadow 0.3s ease-in-out 0s;
    -moz-transition: box-shadow 0.3s ease-in-out 0s;
    -o-transition: box-shadow 0.3s ease-in-out 0s;
    -ms-transition: box-shadow 0.3s ease-in-out 0s;
    transition: box-shadow 0.3s ease-in-out 0s;
}

#gallery img {
    width: 100%;
}

#gallery li a {
    display: block;
    color: #fff;
    padding: 0;
    text-decoration: none;
}

.attached-albums {
    padding-bottom: 20px;
}

/** * WHATS * **/
@keyframes pulse_animation {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

@media (max-width:669px) {
    .whats-fone .whatsapp .abre {
        top: 25vh !important;
    }
}

@media only screen and (min-width:300px) and (max-width:990px) {
    .whats-fone {
        top: auto;
        bottom: 90px;
    }

    .whats-fone .whatsapp {
        width: 240px;
        height: 80px;
    }

    .whats-fone .whatsappAbre {
        right: 240px;
    }

    .whats-fone .whatsapp span {
        font-size: 16px;
        line-height: 20px;
    }

    .whats-fone .whatsapp strong {
        font-size: 18px;
    }

    .whats-fone .whatsapp:before {
        font-size: 38px;
        width: 50px;
        height: 80px;
        line-height: 80px;
    }

    .whats-fone a {
        padding: 14px 0 0 65px;
    }
}

@media only screen and (max-width:1400px) {
    .whats-fone {
        margin-top: -20px;
    }
}

/* WHATSAPP E TELEFONE FIXO DIREITA */
.whats-fone {
    position: fixed;
    top: 50%;
    z-index: 999999;
    right: 0px;
    width: 0px;
    height: 100px;
    margin-top: -50px;
}

.whats-fone a {
    color: #FFF !important;
    display: block;
    position: absolute;
    z-index: 5;
    left: 0;
    top: 0;
    padding: 15px 0 0 70px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.whats-fone .bt {
    width: 60px;
    height: 50px;
    position: absolute;
    z-index: 20;
    text-align: left;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    cursor: pointer;
    animation-name: pulse_animation;
    animation-duration: 1000ms;
    transform-origin: 70% 70%;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.whats-fone .bt:before {
    position: absolute;
    font-size: 40px;
    width: 60px;
    height: 60px;
    line-height: 50px;
    text-align: center;
    color: #FFF;
    font-size: 40px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.whats-fone .abre {
    left: -60px;
}

.whats-fone .fecha {
    left: auto;
    right: -30px;
    font-size: 15px;
    width: 30px;
    height: 30px;
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
    background: rgba(0, 0, 0, 0.15);
}

.whats-fone .fecha:before {
    content: '\f054';
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    font-family: "FontAwesome";
}

.whats-fone .whatsapp {
    background: #00BC5D;
    width: 275px;
    height: 85px;
    padding: 15px 40px 10px 70px;
    position: relative;
    right: 0px;
    font-size: 18px;
    line-height: 22px;
    font-weight: 300;
    text-align: left;
    color: #FFF;
    box-sizing: border-box;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.whats-fone .whatsapp:before {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 55px;
    height: 85px;
    padding-right: 5px;
    color: #FFF;
    font-size: 40px;
    text-align: right;
    line-height: 85px;
    content: '\f232';
    font-family: "Font Awesome 5 Brands";
}

.whats-fone .whatsapp span {
    font-weight: 400;
    font-size: 18px;
    display: block;
}

.whats-fone .whatsapp strong {
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
}

.whats-fone .whatsapp .abre {
    background: #00BC5D;
    top: 20px;
    border-radius: 5px 0 0 5px;
}

.whats-fone .whatsapp .abre:before {
    content: '\f232';
    font-family: "Font Awesome 5 Brands";
}

.whats-fone .whatsappAbre {
    right: 275px;
}

.whats-fone .whatsappAbre .abre {
    left: auto;
    right: -60px;
    bottom: 0px;
    opacity: 0;
}

.whats-fone .whatsappAbre .fecha {
    right: 0px;
    bottom: 0px;
}

.whats-fone .abre {
    animation-name: pulse_animation;
    animation-duration: 1000ms;
    transform-origin: 70% 70%;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

/* Process etapas de consultas */
:root {
    --bg-etapa-atual: #0080008a;
    --border-etapa-atual: green;
    --bg-etapa-concluida: #8A8A8A;
    --border-etapa-concluida: #8A8A8A;
    --bg-etapa-proxima: #ffcc34;
    --border-etapa-proxima: #ffc107;
}

.etapa_atual {
    background-color: var(--bg-etapa-atual);
    color: #FFF;
}

.etapa_concluida {
    background-color: var(--bg-etapa-concluida);
    color: #FFF;
}

.etapa_pendente {
    background-color: var(--bg-etapa-proxima);
    color: #FFF;
}

.process .process-step-circle {
    height: 50px;
    width: 50px;
}

.process .process-step-content {
    padding-top: 0;
}

.process .process-step-active {
    background-color: var(--bg-etapa-atual);
    border-color: var(--border-etapa-atual);
}

.process .process-step-active .process-step-circle-content {
    color: #FFF !important;
}

.process .process-step-active .process-step-content h4 {
    color: var(--border-etapa-atual);
}

.process-step:has(.process-step-active) .process-step-content h4 {
    color: var(--bg-etapa-atual);
}

.process .process-step-completed .process-step-circle {
    border-color: var(--border-etapa-concluida);
    background: var(--bg-etapa-concluida);
}

.process .process-step-completed .process-step-content h4 {
    color: var(--bg-etapa-concluida);
}

.process .process-step-completed .process-step-circle-content {
    color: #5f5e5e;
}

.process .process-step-upcoming .process-step-circle {
    border-color: var(--border-etapa-proxima);
    background: var(--bg-etapa-proxima);
}

.process .process-step-upcoming .process-step-content h4 {
    color: var(--bg-etapa-proxima);
}

.process .process-step-upcoming .process-step-circle-content {
    color: #fff;
}

@media (min-width: 992px) {
    .process .process-step:before {
        top: 25px;
    }
}

@media print {
    .no-print {
        display: none;
    }
}

.page-break {
    page-break-before: always;
}

/* Estilo padrão dos dias do calendário */
.calendar-day {
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 0.375rem;
    display: inline-block;
    min-width: 2rem;
    text-align: center;
}

/* Dia selecionado pelo usuário */
.selected-day {
    border: 2px solid var(--bs-primary);
}

/* Estilo do dia atual */
.hoje {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    font-weight: bold;
}

/* Dias anteriores à data atual (desabilitados) */
.dia-passado {
    opacity: 0.5;
    pointer-events: none;
}

/* Estilo adicional para o dia atual */
.calendar-day.hoje {
    background-color: var(--bs-primary);
    color: white;
    border-radius: 50%;
    padding: 4px 8px;
}

/* Estilo para dias que não fazem parte do mês atual */
.calendar-day.text-muted {
    opacity: 0.5;
    cursor: default !important;
}

/* Estilo para feriados */
.text-feriado {
    color: red !important;
}

.badge-aberto {
	color: #ffffff;
	background: #ffc107;
	padding: 0.3rem;
}

.badge-agendado {
	color: #ffffff;
	background: #28a745;
	padding: 0.3rem;
}

.badge-atendido {
	color: #ffffff;
	background: #6c757d;
	padding: 0.3rem;
}

.badge-cancelado {
	color: #ffffff;
	background: red;
	padding: 0.3rem;
}

#tabela-agendamentos tbody tr {
    cursor: pointer;
    transition: background-color 0.2s;
}

#tabela-agendamentos tbody tr:hover {
    background-color: #f1f1f1;
}


.etapas .etapa {
    border-radius: 5px;
    padding: 20px 10px 10px 20px;
    margin-bottom: 10px;
    transition: opacity .2s ease-in-out, transform .2s ease-in-out;
}

.etapas .etapa:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.etapas .etapa span {
    display: block;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 5px;
}

/* cores das etapas (mantidas) */
.etapa01{
	color: #3c763d;
    background-color: #dff0d8;
    border: 1px solid #d6e9c6;	
}
.etapa02{
	color: #31708f;
    background-color: #d9edf7;
    border: 1px solid #bce8f1;
}
.etapa03{
	color: #a94442;
    background-color: #f2dede;
    border: 1px solid #ebccd1;
}
.etapa04{
	color: #2b7f88;
    background-color: #cef8fa;
    border: 1px solid #cce8eb;
}
.etapa05{
	color: #a96342;
    background-color: #fad9ce;
    border: 1px solid #ebd6cc;
}
.etapa06{
	color: #8142a9;
    background-color: #f1def2;
    border: 1px solid #e3cceb;
}
.etapa07{
	color: #298258;
    background-color: #def2e8;
    border: 1px solid #ccebdd;
}
