:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-rgb: 33, 37, 41;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
}


/*
 *
 *  Dropdown
 *
*/
/* Contêiner principal do dropdown */
.custom-dropdown-wrapper {
    position: relative;
    display: inline-block;
    width: 100% !important;
    margin: 0;
    vertical-align: middle;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
    position: relative; /* Necessário para posicionar a lista */
    user-select: none; /* Impede a seleção de texto ao clicar */
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .025em;
    text-align: left;
    text-transform: uppercase;
}

/* Cabeçalho/botão do dropdown */
.custom-dropdown-header {
    padding: 4px 10px;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    /*background-color: #fff;*/ /* Fundo do cabeçalho */
    border-bottom: 1px solid #c5c5c5; /* Linha sutil abaixo do cabeçalho */
    border-radius: 4px 4px 0 0; /* Arredondamento superior */
}

    .custom-dropdown-header .arrow-icon {
        font-size: 0.8em;
        transition: transform 0.2s; /* Transição suave para a seta */
        padding-left: 10px;
    }

    .custom-dropdown-header:hover .arrow-icon {
        color:#f20404;
    }

    /* Estilo para a seta quando o dropdown está aberto (rotaciona 180 graus) */
    .custom-dropdown-header.open .arrow-icon {
        transform: rotate(360deg);
    }

/* Lista de opções */
.custom-dropdown-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #ccc;
    border-top: none;
    position: absolute; /* Posiciona a lista sob o cabeçalho */
    width: 100%;
    z-index: 2000; /* Garante que a lista fique acima de outros elementos */
    background-color: #EDEFF4;
    border-radius: 0 0 4px 4px; /* Arredondamento inferior */
    max-height: 200px; /* Altura máxima para permitir scroll */
    overflow-y: auto; /* Adiciona scroll se a lista for muito longa */
}

    /* Oculta a lista */
    .custom-dropdown-list.hidden {
        display: none;
    }

/* Item individual da lista */
.custom-dropdown-item {
    padding: 5px 14px;
    cursor: pointer;
    color: #333;
    transition: background-color 0.2s, color 0.2s; /* Transição para hover */
}

    /* Estilo ao passar o mouse sobre um item */
    .custom-dropdown-item:hover {
        background-color: #f20404;
        color: white;
    }

    /* Estilo para o item selecionado */
    .custom-dropdown-item.selected {
        background-color: #EDEFF4;
        color: #808080;
        cursor: none;
    }

/* Opcional: Remover o hover do item selecionado para manter o estilo */
/*  .custom-dropdown-item.selected:hover {
            background-color: #EDEFF4;
            color: #808080;
            cursor: none;
        }*/


/* 
 *
 *  Parallax 
 *
*/
.parallax-container {
    min-height: 40vh; /* Ou a altura desejada */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed; /* ESSENCIAL PARA O PARALLAX EM CSS PURO */
}

  
/* Opcional: Para dispositivos móveis, para evitar problemas de performance */
@media (max-width: 768px) { /* Ajuste o breakpoint conforme necessário */
    .parallax-container {
        background-attachment: scroll !important;
        min-height:auto;
    }
}

.parallax-content {
    position: relative;
    z-index: 1; /* Garante que o conteúdo esteja sobre a imagem */
    color: white;
    background-color: rgba(0, 0, 0, 0.2); /* Fundo semi-transparente para o texto */
    text-align: center;
}


/*
 *
 * Alert
 *
*/


.alert {
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-heading {
    color: inherit;
}

.alert-link {
    font-weight: 700;
}

.alert-dismissible {
    padding-right: 3rem;
}

    .alert-dismissible .btn-close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 2;
        padding: 1.25rem 1rem;
    }

.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
}

    .alert-primary .alert-link {
        color: #06357a;
    }

.alert-secondary {
    color: #41464b;
    background-color: #e2e3e5;
    border-color: #d3d6d8;
}

    .alert-secondary .alert-link {
        color: #34383c;
    }

.alert-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
}

    .alert-success .alert-link {
        color: #0c4128;
    }

.alert-info {
    color: #055160;
    background-color: #cff4fc;
    border-color: #b6effb;
}

    .alert-info .alert-link {
        color: #04414d;
    }

.alert-warning {
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
}

    .alert-warning .alert-link {
        color: #523e02;
    }

.alert-danger {
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
}

    .alert-danger .alert-link {
        color: #6a1a21;
    }

.alert-light {
    color: #636464;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

    .alert-light .alert-link {
        color: #4f5050;
    }

.alert-dark {
    color: #141619;
    background-color: #d3d3d4;
    border-color: #bcbebf;
}

    .alert-dark .alert-link {
        color: #101214;
    }



.text-danger {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}