header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.8); /* Color de fondo blanco transparente */
    border-bottom: 4px solid #08266c; /* Orilla color azul */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra para el header */
    border-radius: 16px; /* Ajusta el valor según el redondeo deseado */
    padding: 15px 30px; /* Aumenta el padding para hacer el contenedor más grande */
    height: 100px; /* Ajusta la altura del contenedor según sea necesario */
}

.fixed-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 10px 20px;
}

/* Estilo para centrar el contenido de .nav-links y alinearlo a la derecha */
.nav-links {
    display: flex;
    justify-content: flex-end; /* Alinea los enlaces a la derecha */
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%; /* Asegura que ocupe todo el ancho disponible */
}

/* Estilo para centrar los enlaces verticalmente */
.nav-links li {
    margin: 0 15px;
}

/* Estilo para los enlaces */
.nav-links a {
    display: block;
    text-decoration: none;
    color: #020940f6; /* Color del texto de los enlaces */
    font-weight: 250;
    padding: 16px 15px; /* Aumenta el padding para bajar el texto */
    font-family: 'Baloo 2', sans-serif; /* Fuente redondeada y negrita */
    font-weight: 700; /* Negritas */
    border-radius: 8px; /* Bordes redondeados */
    padding: 5px; /* Añade un poco de padding para que los bordes redondeados sean visibles */
    text-decoration: none; /* Opcional: elimina el subrayado de los enlaces */
    font-size: 20px; /* Aumenta el tamaño de la fuente */
    letter-spacing: 0.5px; /* Espaciado entre letras */
    text-transform: uppercase; /* Texto en mayúsculas */
    position: relative;
    text-align: center; /* Centra el texto en los enlaces */
    line-height: 1.5; /* Ajusta la altura de línea para centrar el texto verticalmente */
    transition: background 0.3s, color 0.3s, text-shadow 0.3s;
}


/* Estilo para los enlaces al pasar el ratón */
.nav-links a:hover {
    background: #04124de5; /* Color de fondo al pasar el ratón */
    color: #fff; /* Color del texto al pasar el ratón */
    border-radius: 5px; /* Bordes redondeados */
}

/* Estilo para las líneas decorativas en los enlaces */
.nav-links a::before, .nav-links a::after {
    content: '';
    position: absolute;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #08266c; /* Color de las líneas */
    transition: width 0.3s, left 0.3s;
}

.nav-links a::before {
    bottom: -5px; /* Ajusta la posición de la primera línea */
}

.nav-links a::after {
    bottom: -8px; /* Ajusta la posición de la segunda línea */
}

/* Estilo para las líneas al seleccionar o al pasar el ratón */
.nav-links a:active::before, .nav-links a:active::after,
.nav-links a:hover::before, .nav-links a:hover::after {
    width: 80%; /* Ancho de las líneas al seleccionar o al pasar el ratón */
    left: 10%;
}


.logo {
    display: flex;
    align-items: center; /* Centra la imagen verticalmente */
    width: auto; /* Ajusta el ancho del contenedor según sea necesario */
    height: 100%; /* Asegura que ocupe toda la altura del header */
    margin-right: auto; /* Empuja la imagen hacia la esquina izquierda */
}

.logo img {
    width: 100px; /* Ajusta el ancho de la imagen */
    background: none; /* Elimina cualquier fondo */
    margin: 0; /* Ajusta el margen según sea necesario */
}

.hamburger {
    display: none;
    cursor: pointer;
}

.hamburger i {
    font-size: 24px;
}

/* Estilos para dispositivos móviles */
@media (max-width: 768px) {
    .fixed-nav {
        flex-direction: column;
        align-items: flex-start;
    }

    .nav-links {
        flex-direction: column;
        width: 100%;
        display: none;
    }

    .nav-links li {
        width: 100%;
        text-align: center;
    }

    .nav-links a {
        display: block;
        width: 100%;
    }

    .hamburger {
        display: block;
    }

    .nav-links.active {
        display: flex;
    }
}
.logo img {
    width: 100px; /* Ajusta el ancho de la imagen */
    background: none; /* Elimina cualquier fondo */
    margin: 0; /* Ajusta el margen según sea necesario */
}

.hamburger {
    display: none;
    cursor: pointer;
}

.hamburger i {
    font-size: 24px;
}

.video-container {
    position: relative;
    width: 100%;
    height: 780px; /* Altura del contenedor de video */
    overflow: hidden;
    margin-top: 10px;
}

.video-container video {
    width: 100%;
    height: 100%; /* Ajusta la altura del video al contenedor */
    object-fit: cover;
    display: block; /* Elimina el espacio adicional debajo del video */
    margin: 0 auto; /* Centra el video horizontalmente */
    border-radius: 8px; /* Bordes redondeados */
}

footer {
    background-color: #020422;
    color: #ffffff;
    padding: 20px;
    border-radius: 15px;
    width: 100%;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.562);
    box-sizing: border-box;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-content .logo img {
    max-width: 150px;
    border-radius: 50%;
}

.footer-content .location {
    flex: 1;
    min-width: 300px;
}

.footer-content .location h3,
.footer-content .location p {
    color: #ffffffaf;
}

.footer-content .map {
    width: 100%;
    height: 200px;
    border-radius: 10px;
}

.social-icons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.social-icons h3 {
    color: #ffffff;
}

.social-icons a {
    color: #ffffff;
    text-decoration: none;
    font-size: 1em;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: 30px;
    transition: background-color 0.3s;
}

.social-icons a.facebook {
    background-color: #3b5998;
}

.social-icons a.whatsapp {
    background-color: #25D366;
}

.social-icons a:hover {
    opacity: 0.8;
}

.footer-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 20px;
}

.footer-bottom p {
    text-align: center;
    color: #ffffff;
}

.footer-content .location h3 {
    font-size: 1.5em;
    margin-bottom: 10px;
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 2px solid #ffffffaf; /* Línea decorativa */
    padding-bottom: 5px; /* Espaciado debajo del texto */
}

.footer-content .location p {
    font-size: 1em;
    margin-bottom: 10px;
    color: #ffffffaf;
    line-height: 1.5;
    text-align: justify;
}

/* Responsividad para dispositivos móviles */
@media (max-width: 768px) {
    .fixed-nav {
        flex-direction: column;
        align-items: flex-start;
    }

    .nav-links {
        flex-direction: column;
        width: 100%;
        display: none;
    }

    .nav-links li {
        width: 100%;
        text-align: center;
    }

    .nav-links a {
        display: block;
        width: 100%;
    }

    .hamburger {
        display: block;
    }

    .nav-links.active {
        display: flex;
    }

    .video-container {
        height: 50vh; /* Reduce la altura del video en pantallas pequeñas */
    }

    footer {
        padding: 10px;
    }
}


/* Estilos propios**/



                                        /*  Estilo CALENDARIO */


/**
 * Eric Meyer's Reset CSS v2.0+ (https://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
 
 /* HTML5 display-role reset for older browsers */
 article, aside, details, figcaption, figure,
 footer, header, hgroup, menu, nav, section {
     display: block;
 }
 body {
     line-height: 1.5;
 }
 ol, ul {
     list-style: none;
 }
 blockquote, q {
     quotes: none;
 }
 blockquote:before, blockquote:after,
 q:before, q:after {
     content: '';
     content: none;
 }
 table {
     border-spacing: 2px;
 }
 .clearfix:before,
 .clearfix:after {
     content: " "; /* 1 */
     display: table; /* 2 */
 }
 
 .clearfix:after {
     clear: both;
 }
 /**
  * For IE 6/7 only
  * Include this rule to trigger hasLayout and contain floats.
  */
 .clearfix {
     zoom: 1;
 }
 a, a:hover {
     text-decoration: none;
 }
 .img-responsive {
     max-width: 100%;
     height: auto;
 }
 
 body{
     font-family: Arial, Helvetica, sans-serif;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
 }
 
 .elegant-calencar {
     width: 36em;
     height: 33em;
     border: 1px solid #c9c9c9;
   -webkit-box-shadow: 0 0 5px ;
     box-shadow: 0 0 5px #c9c9c9;
     text-align: center;
     margin: 8em auto;
     position: relative;
 }
 
 #header {
     font-family: 'HelveticaNeue-UltraLight', 'Helvetica Neue UltraLight', 'Helvetica Neue', Arial, Helvetica, sans-serif;
     height: 16em;
     background-color: #06153c;
     margin-bottom: 1em;
     
 }
 
 .pre-button, .next-button {
     margin-top: 2em;
     font-size: 3em;
     -webkit-transition: -webkit-transform 0.5s;
     transition: transform 0.5s;
     cursor: pointer;
     width: 1em;
     height: 1em;
     line-height: 1em;
     color: #ffffff;
     border-radius: 50%;
 }
 
 .pre-button:hover, .next-button:hover {
     -webkit-transform: rotate(360deg);
     -ms-transform: rotate(360deg);
     transform: rotate(360deg);
 }
 
 .pre-button:active,.next-button:active{
     -webkit-transform: scale(0.7);
     -ms-transform: scale(0.7);
     transform: scale(0.7);
 }
 
 .pre-button {
     float: left;
     margin-left: 0.5em;
 }
 
 .next-button {
     float: right;
     margin-right: 0.5em;
 }
 
 .head-info {
     float: left;
     width: 16em;
 }
 
 .head-day {
     margin-top: 30px;
     font-size: 8em;
     line-height: 1;
     color: #ffffffd8;
 }
 
 .head-month {
     margin-top: 20px;
     font-size: 2em;
     line-height: 1;
     color: #fff;
 }
 
 #calendar {
    background:#ffffff ;
     width: 90%;
     margin: 0 auto;
 }
 
 #calendar tr {
     height: 2em;
     line-height: 2em;
 }
 
 thead tr {
     color: #090194;
     font-weight: 700;
     text-transform: uppercase;
 }
 
 tbody tr {
     color: #252a25;
 }
 
 tbody td{
     width: 14%;
     border-radius: 50%;
     cursor: pointer;
     -webkit-transition:all 0.2s ease-in;
     transition:all 0.2s ease-in;
 }
 
 tbody td:hover, .selected {
     color: #ffffff;
     background-color: #073097;
     border: none;
 }
 
 tbody td:active {
     -webkit-transform: scale(0.7);
     -ms-transform: scale(0.7);
     transform: scale(0.7);
 }
 
 #today {
     background-color: #abc5e4;
     color: #fff;
     font-family: serif;
     border-radius: 50%;
 }
 
 #disabled {
     cursor: default;
     background: #ffffff;
 }
 
 #disabled:hover {
     background: #fff;
     color: #c9c9c9;
 }
 
 #reset {

     display: block;
     position: absolute;
     right: 0.5em;
     top: 0.5em;
     z-index: 999;
     color: #f3f8ff;
     font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman';
     cursor: pointer;
     padding: 0 0.5em;
     height: 1.5em;
     border: 0.1em solid #ffffff;
     border-radius: 4px;
     -webkit-transition: all 0.3s ease;
     transition: all 0.3s ease;
 }
 
 #reset:hover {
     color: #287cc5;
     border-color: #edfaff;
 }
 
 #reset:active{
     -webkit-transform: scale(0.8);
     -ms-transform: scale(0.8);
     transform: scale(0.8);     
 }
 
                                      /* FIN Estilo CALENDARIO */



footer {
    background-color: #020422;
     color: #ffffff;
     padding: 20px;
     border-radius: 15px;
     width: 100%;
     box-shadow: 0 4px 8px rgba(255, 255, 255, 0.562);
     box-sizing: border-box;
 }
 
 .footer-content {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 20px;
     flex-wrap: wrap;
 }
 
 .footer-content .logo img {
     max-width: 150px;
     border-radius: 50%;
 }
 
 .footer-content .location {
     flex: 1;
     min-width: 300px;
 }
 
 .footer-content .location h3,
 .footer-content .location p {
     color: #ffffffaf;
 }
 
 .footer-content .map {
     width: 100%;
     height: 200px;
     border-radius: 10px;
 }
 
 .social-icons {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 10px;
 }
 
 .social-icons h3 {
     color: #ffffff;
 }
 
 .social-icons a {
     color: #ffffff;
     text-decoration: none;
     font-size: 1em;
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 10px 20px;
     border-radius: 30px;
     transition: background-color 0.3s;
 }
 
 .social-icons a.facebook {
     background-color: #3b5998;
 }
 
 .social-icons a.whatsapp {
     background-color: #25D366;
 }
 
 .social-icons a:hover {
     opacity: 0.8;
 }
 
 .footer-bottom {
     display: flex;
     justify-content: center;
     align-items: center;
     padding-top: 20px;
 }
 
 .footer-bottom p {
     text-align: center;
     color: #ffffff;
 }
 .footer-content .location h3 {
     font-size: 1.5em;
     margin-bottom: 10px;
     color: #ffffff;
     font-weight: bold;
     text-transform: uppercase;
     border-bottom: 2px solid #ffffffaf; /* Línea decorativa */
     padding-bottom: 5px; /* Espaciado debajo del texto */
 }
 
 .footer-content .location p {
     font-size: 1em;
     margin-bottom: 10px;
     color: #ffffffaf;
     line-height: 1.5;
     text-align: justify;
 }

 
/**VENTANA FLOTANTE**/
/* styles.css */
.hidden {
    display: none;
}

#appointmentPopup, #registerPopup {
    position: fixed;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 300px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    padding: 20px;
    z-index: 1000;
}

h2 {
    margin: 0;
    padding-bottom: 15px;
    color: #003366;
}

label {
    display: block;
    margin: 10px 0 5px;
    color: #003366;
}

input[type="text"], input[type="password"], input[type="email"], input[type="time"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 15px;
}

input[readonly] {
    background-color: #e6f2ff;
}

button {
    background-color: #003366;
    color: #ffffff;
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
}

button:hover {
    background-color: #002244;
}

button:focus {
    outline: none;
}

/* Estilo para el botón de cerrar */
#closePopup, #closeRegisterPopup {
    background-color: #ff4d4d;
}

#closePopup:hover, #closeRegisterPopup:hover {
    background-color: #cc0000;
}

/* Estilo para el botón "Regístrate" */
#registerButton {
    background-color: #0066cc;
}

#registerButton:hover {
    background-color: #005bb5;
}
/* Estilo para el contenedor del popup */
#loginPopup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000; /* Asegura que el popup esté sobre otros elementos */
    display: none; /* Inicialmente oculto */
    width: 300px; /* Ancho del formulario */
}

/* Estilos para el popup */
#loginPopup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: none; /* Inicialmente está oculto */
    z-index: 1000; /* Asegura que el popup esté por encima de otros elementos */
    width: 300px;
    max-width: 90%;
}

#loginPopup h2 {
    margin-bottom: 15px;
    font-size: 20px;
}

#loginPopup form {
    display: flex;
    flex-direction: column;
}

#loginPopup input {
    margin: 10px 0;
    padding: 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#loginPopup button {
    margin-top: 10px;
    padding: 10px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#loginPopup button:hover {
    background-color: #0056b3;
}

#loginPopup .hidden {
    display: none;
}

/* Fondo de pantalla oscuro cuando el popup está visible */
#loginPopupBackdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999; /* Justo debajo del popup */
    display: none; /* Inicialmente oculto */
}
