html, body {
    font-family: 'Raleway', sans-serif !important;
}
.codigo {
    background-color: #2d2d2d;  /* Color de fondo oscuro */
    padding: 10px;  /* Espaciado interno */
    border-radius: 8px;  /* Bordes redondeados */
    font-family: 'Courier New', monospace;  /* Fuente monoespaciada */
    font-size: 16px;  /* Tamaño de la fuente */
    overflow-x: auto;  /* Hacer que el contenido se desplace horizontalmente si es necesario */
    text-align: left;  /* Alinea el texto a la izquierda */
}

pre {
    margin: 0;  /* Elimina márgenes por defecto */
    padding: 0;  /* Elimina relleno por defecto */
    white-space: pre-wrap;  /* Ajusta el texto largo a la pantalla */
    text-align: left;  /* Alineación a la izquierda */
}

code {
    position: relative;
    display: block;
    background-color: #1e1e1e;  /* Fondo más oscuro para el código */
    border-radius: 5px;  /* Bordes redondeados para el bloque de código */
    padding: 10px;  /* Añade relleno al bloque de código */
    color: #f8f8f2!important;  /* Color del texto claro */
}

code:hover .guardar-icono {
    cursor: pointer;
    opacity: 1;  /* Hacer visible el ícono cuando se pasa el ratón */
}

.guardar-icono  {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 30px;
    height: 30px;
    background-color: #ffffff;
    color: #007bff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;  /* Tamaño del ícono */
    opacity: 0;  /* El ícono está oculto por defecto */
    transition: opacity 0.3s ease;  /* Transic*/
}

.code-textarea {
    width: 100%; /* El <textarea> ocupa el 100% del ancho del contenedor */
    height: 100%; /* El <textarea> ocupa el 100% de la altura del contenedor */
    padding: 10px;
    font-family: monospace;
    font-size: 16px;
    border: none;
    outline: none;
    text-align: left;
}
/* END COPY CLICk TOOL*/

.btn-sm i {
    line-height: unset !important;
}

.btn-sm {
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-danger, .btn-error {
    background-color: #D9372C;
}

.btn-success {
    background-color: #79B33B;
}

/* Custom pager style */
.pagination {
    justify-content: center; /* Center the pager */
    margin: 20px 0; /* Add spacing */
}

.pagination li {
    margin: 0 5px; /* Add spacing between buttons */
}

.page-link {
    border-radius: 4px;
    padding: 8px 12px;
    background-color: #f5f5f5;
    text-decoration: none;
    color: #007bff;
}

.page-link:hover {
    background-color: #007bff;
    color: white;
}

.page-link.active {
    background-color: #007bff;
    color: white;
}
/*   FIN   */
.password-addon {
    position: absolute;
    top: 38px;
    right: 25px;
    color: #666666;
    cursor: pointer;
    font-size: 16px;
}

.password-alert{
    margin-top: 12px;
}

main > .container {
    padding-top: 50px;
    padding-bottom: 200px;
}

/*.footer {
    background-color: #f5f5f5;
    font-size: .9em;
    height: 60px;
}

.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
}*/

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

.has-error .help-block{
    color: #a94442;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem;
}


/* Configuración extra para el sitio de registradores */
.site-login {
    min-height: 92vh;
}

.site-login h1, .site-login p {
    color: #777;
}

.site-login form p {
    color: #000000;
}
.form-control {
    margin: 2px 0px 2px 0px;
}
.site-login form {
    border: 1px solid #B9B9B9;
    border-radius: 3px;
    background-color: #FFFFFFB0;
    padding: 40px 40px 20px 40px;
    margin-bottom: 35px;
}

.site-login .field-loginform-rememberme {
    margin-bottom: -10px;
}

.nic-bg-dark {
    color:white;
    background-color: #2a7de1;
}
.nav-link {
    color:white;
}

.registris-function-list .nav-link {
    color: black;
}

.registris-function-list .nav-link:hover {
    color: #2a7de1;
}

.registris-function-list .nav-link {
    color: black;
}

.navbar-text {
    padding-right: 4%;
    padding-top: 2%;
}

/* Estilo del contenedor principal */
.registris-container-fluid {
    padding: 0; /* Elimina el padding predeterminado del contenedor */
    width: 100%; /* Hace que se ocupe todo el ancho de la ventana */
    /*display: flex; /* Utiliza flexbox para alinear los elementos */
    /*align-items: flex-start; /* Alinea los elementos al inicio (parte superior) */
    /*justify-content: center; /* Centra los paneles horizontalmente */
}

/* Estilo para la fila de paneles */
.registris-panel-row {
    width: 100%; /* Asegura que la fila ocupe el ancho completo del contenedor */
    max-width: 1200px; /* Establece un ancho máximo para la fila */
    display: flex; /* Usa flexbox para el diseño de los paneles */
    justify-content: center; /* Centra los paneles horizontalmente */
    flex-wrap: wrap; /* Permite que los paneles se envuelvan si no hay suficiente espacio */
    margin: 0; /* Elimina el margen predeterminado de la fila */
    padding: 0; /* Elimina el padding para evitar espacios innecesarios */
}
.otro-div{
    display: flex; /* Usa flexbox para el diseño de los paneles */
    justify-content: center;
}

.submenu-div{
    display: flex; /* Usa flexbox para el diseño de los paneles */
    justify-content: center;
    flex-wrap: wrap;
    align-items: baseline;
}

/* Estilo de los paneles */
.registris-menu-item {
    border: solid 4px #007bff; /* Azul profesional */
    border-radius: 10px;
    padding: 0; /* El padding se maneja dentro de los divs internos */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s, box-shadow 0.3s;
    height: 30vh; /* Ajusta la altura de los paneles al 30% de la altura de la ventana */
    width: 100%; /* Ajusta el ancho del panel al 100% del contenedor de columna */
    max-width: 400px; /* Ancho máximo para los paneles */
    display: flex; /* Flex para alinear columnas internas */
}

/* Estilo al pasar el mouse sobre los paneles */
.registris-menu-item:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

.registris-options-item {
    border: solid 4px #007bff; /* Azul profesional */
    border-radius: 10px;
    padding: 0; /* El padding se maneja dentro de los divs internos */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s, box-shadow 0.3s;
    height: 63vh; /* Ajusta la altura de los paneles al 30% de la altura de la ventana */
    width: 100%; /* Ajusta el ancho del panel al 100% del contenedor de columna */
    max-width: 400px; /* Ancho máximo para los paneles */
    display: flex; /* Flex para alinear columnas internas */
}

/* Estilo al pasar el mouse sobre los paneles */
.registris-options-item:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

/* Estilo del icono dentro de los paneles */
.registris-menu-icon {
    width: 100px; /* Ajusta el tamaño del ícono */
    height: auto; /* Mantiene la relación de aspecto del ícono */
}

/* Alineación específica para el contenido dentro de los paneles */
.registris-menu-content {
    display: flex;
    justify-content: center; /* Centra horizontalmente el contenido dentro del panel */
    height: 100%; /* Ocupa toda la altura del panel */
}

/* Contenido de texto dentro de los paneles */
.registris-text-content {
    color: black;
    padding: 20px; /* Añade padding para espacio interno */
}

.registris-menu-label {
    font-size: 18px; /* Ajusta el tamaño del texto */
    font-weight: bold;
    margin-bottom: 10px;
}

.registris-function-list {
    list-style-type: none; /* Elimina los puntos de la lista */
    padding: 0;
    margin: 0;
}

.registris-function-list li {
    font-size: 16px; /* Ajusta el tamaño del texto */
    margin-bottom: 5px; /* Espacio entre los elementos de la lista */
}
.dropdown {
            position: relative;
            display: inline-block;
        }

.dropdown-content {
    display: none;
    position: absolute;
    background-color:#ffffff;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.4);
    z-index: 1;
    left: -160px;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    color:white;
    background-color: #2a7de1;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropbtn {
    color: #ffffff;
background-color: #000000;
}
.btn-nic-icon i{
 border-radius: 3px;
    background-color: #999;
    color: #FFF;
    height: 62px;
    width: 62px;
    line-height: 62px;
    text-align: center;
    background-color: #2a7de1;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .14), 0 7px 10px -5px #2a7de1;
}
.btn-nic-icon i {
    border-radius: 3px;
    background-color: #2a7de1;
    color: #FFF;
    height: 62px;
    width: 62px;
    line-height: 62px;
    text-align: center;
    font-size: 32px; /* << AUMENTA EL TAMAÑO DEL ÍCONO */
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .14), 0 7px 10px -5px #2a7de1;
}

.title {
    margin-bottom: 2.5rem;
}

.title i {
    border-radius: 3px;
    background-color: #999;
    color: #FFF;
    height: 62px;
    width: 62px;
    line-height: 62px;
    text-align: center;
    background-color: #2a7de1;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .14), 0 7px 10px -5px #2a7de1;
}

.page-header{
    padding-bottom: 9px;
    margin: 40px 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eeeeee;
}

.nav-link {
    color: var(--nic-black);
}

.tarjet-contact{
    padding: 2%;
}

.form-contact{
    padding: 2%;
    margin-top: 50px;
}

.btn-check:checked + .btn{
    background-color: var(--nic-blue);
    border-color: var(--nic-blue);
}

.input-group.date{
    flex-wrap: nowrap !important;
}

.active .nav-link {
    color: #007bff !important; /* Color del idioma activo */
    font-weight: bold!important; /* Opcional: énfasis en el texto activo */
}

.text-danger{
    color: var(--nic-red) !important;
}

.accordion{
    --bs-accordion-active-bg: var(--nic-blue);
    --bs-accordion-active-color: var(--nic-white) !important;
}

#loading-overlay {
       position: fixed;
       top: 0; left: 0;
       width: 100%; height: 100%;
       background: rgba(255, 255, 255, 0.8);
       z-index: 9999;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .spinner {
       border: 8px solid #f3f3f3;
       border-top: 8px solid #3498db;
       border-radius: 50%;
       width: 60px;
       height: 60px;
       animation: spin 1s linear infinite;
   }

   @keyframes spin {
       0% { transform: rotate(0deg); }
       100% { transform: rotate(360deg); }
   }