.text-center {
    text-align: center;
}

.text-upper{
    text-transform: uppercase;
}

.título {
    text-transform: uppercase;
}

.subtitulos_formulario {
    display: block;
}

.contra_arriba {
    padding-top: 20px;
}

.iconos_y_titulos {
    text-align: center;
    padding-bottom: 25px;
}

.flex-layout {
    display: flex;
}

.fila {
    display: flex;
}

.columna {
    margin: 0 12px;
    flex: 1;
}

.fila .subtitulos_formulario {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.8em;
    padding-top: 12px;
}

.columna input,
.columna select {
    border: none;
    border-bottom: 1px solid #ccc;
    padding-top: 23px;
    padding-left: 15px;
    padding-bottom: 7px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    box-sizing: border-box;
    /* display: block; */
    width: 100%;
}

.dropdown-content > * {
    font-family: 'Montserrat', sans-serif;
}

.fila input:focus-visible {
    outline: none;
    border-bottom: 2px solid #004884;
}

.genero {
    font-family: 'Montserrat', sans-serif;
    border-bottom: 1px solid #ccc;
    padding-bottom: 12px;
    width: 100%;
    font-weight: 500;
}

/* Estilo del radio button oculto */
.genero .select_radio_container input[type="radio"] {
    display: none;
}

/* Estilo del fondo del radio button cuadrado cuando está seleccionado */
.genero .select_radio_container input[type="radio"]:checked+.radio_button {
    background-color: #3498db;
    /* Cambia el color cuando está seleccionado */
}

/* Estilo del ícono del radio button (fondo cuadrado) */
.genero .select_radio_container .radio_button {
    display: inline-block;
    height: 20px;
    /* Ajusta según el tamaño deseado del radio button */
    width: 20px;
    background-color: #eee;
    border: 1px solid #ccc;
    margin-right: 10px;
    margin-bottom: -5px;
    margin-top: 12px;
    cursor: pointer;
}

.contrasenia_segura {
    /* display: contents; */
    padding-top: 25px;
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.9em;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 1.7;
}

.columna input[type="text"],
.columna input[type="number"] {
    margin-top: 3px;
}

.columna input[type="date"] {
    margin-top: 1px;
}

/* Estilo del checkbox */
.miCheckbox {
    width: 20px !important;
    height: 20px;
    appearance: none;
    /* -webkit-appearance: none;
    -moz-appearance: none; */
    background-color: #eee;
    border: 1px solid #ccc !important;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    padding-top: 0 !important;
}

/* Cambio de color de fondo cuando está marcado */
.miCheckbox:checked {
    background-color: #007bff;
}

/* Ocultar el pseudo-elemento cuando está marcado */
.miCheckbox:checked::after {
    display: none;
}

.input_check {
    display: inline-flex;
    align-items: center;
    padding-top: 9px;
}

/* .miCheckbox {
    width: 20px;
    height: 20px;
    appearance: none;
    background-color: #eee;
    border: 1px solid #ccc;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
} */

.subtitulo_checkbox {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.8em;
    padding-left: 11px;
}

.hidden-fields {
    /* display: none; */
}

/* #region Password validation */
/* Add a green text color and a checkmark when the requirements are right */
.valid {
    color: green;
}

.valid:before {
    position: relative;
    left: -35px;
    content: "✔";
}

/* Add a red text color and an "x" when the requirements are wrong */
.invalid {
    color: red;
}

.invalid:before {
    position: relative;
    left: -35px;
    content: "✖";
}

/* #endregion */

@media only screen and (max-width: 768px) {
    .fila {
        display: block;
    }

    .columna input,
    .columna select {
        padding-top: 15px;
    }

    .contrasenia_segura {
        width: 95%;
    }

}