
.elegant-calencar {
  max-width: 500px;
  text-align: center;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 5px;
  font-family: "Lato", Arial, sans-serif;}

.wrap-header {
  position: relative;
  width: 35%;
  z-index: 0; }
  .wrap-header:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    background: #000;
    opacity: .5;
    z-index: -1; }
  @media (max-width: 767.98px) {
    .wrap-header {
      width: 100%;
      padding: 20px 0; } }

#header {
  width: 100%;
  position: relative; }
  #header .pre-button, #header .next-button {
    cursor: pointer;
    width: 1em;
    height: 1em;
    line-height: 1em;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 18px; }
    #header .pre-button i, #header .next-button i {
      color: #fff; }

.pre-button {
  left: 5px; }

.next-button {
  right: 5px; }

.button-wrap {
  position: relative;
  padding: 10px 0; }
  .button-wrap .pre-button, .button-wrap .next-button {
    cursor: pointer;
    width: 1em;
    height: 1em;
    line-height: 1em;
    border-radius: 50%;
    position: absolute;
    top: 0;
    font-size: 18px; }
    .button-wrap .pre-button i, .button-wrap .next-button i {
      color: #cccccc; }
  .button-wrap .pre-button {
    left: 20px; }
  .button-wrap .next-button {
    right: 20px; }

.head-day {
  font-size: 9em;
  line-height: 1;
  color: #fff; }

.head-month {
  font-size: 2em;
  line-height: 1;
  color: #fff;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 300; }

.headmonth {
  line-height: 1;
  color: #20c0f3;
  font-size: 16px;
  font-weight: 300;
  font-weight:bolder;
  position:absolute;
  margin-left: -4.3em; 
  top:-0.1rem;}
  @media (max-width: 1350px) {
    .headmonth {
      
      font-size: 15px;
      margin-left: -3.1em; 
      top:0.1rem;} }

.calenda-wrap {
  width: 100%;
  background: #fff;}
  @media (max-width: 767.98px) {
    .calenda-wrap {
      width: 100%; } }

#calenda {
  width: 99%; 
  font-size: 11px;}

#calenda tr {
  height: 0em; }

.calen_head tr {
  color: #000;
  font-weight: 700; }

.calen_body tr {
  color: #000; }

.calen_body td {
  width: 14%;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  position: relative;
  z-index: 0; }

  .calen_body td a{
    cursor: pointer;
    width: 100%;
    height: 100%;
    display: block;
    padding: 12px 0px;
    border-radius: 50%;
  }

  .calen_body td:after {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    width: 26px;
    height: 26px;
    margin: 0 auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: -1; }
    @media (prefers-reduced-motion: reduce) {
      .calen_body td:after {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }

.calen_body td:hover a, .selected {
  color: #fff;
  border: none; }
  .calen_body td a:hover {
    color: #fff;
  }
  .calen_body td:hover:after, .selected:after {
    background: #3b5368; }

.calen_body td:active {
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7); }

#today {
  /*color: #fff; */
  }
#today a{
  /*color: #fff; */}
  #today:after {
    width: 32px;
    height: 32px;
    border: solid 5px #20c0f3; }
    @media (max-width: 1210) {
      #today:after {
        left: -4px; } }

#programado_mad {
  /*color: #fff; */
  }

#atendido_mad {
  /*color: #fff; */
  }


#disabled {
  cursor: default;
  background: #fff; }

#disabled:hover {
  background: #fff;
  color: #c9c9c9; }
  #disabled:hover:after {
    background: transparent; }

#reset {
  display: block;
  position: absolute;
  right: 1em;
  bottom: 0.2em;
  z-index: 999;
  color: #000;
  cursor: pointer;
  padding: 0 0.5em;
  border: 1px solid #000;
  border-radius: 4px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-transform: uppercase;
  font-size: 11px; }

#reset:hover {
  color: #000;
  border-color: #000; }

#reset:active {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8); }

  
/* Fondo claro para el día seleccionado */
.sele_texto {
  font-weight: bold;
  color: #15558d;
  font-size: 22px;
}

.seleccionado {
  position: relative; /* Establece la posición relativa para poder usar el seudoelemento */
  z-index: 1;
}


/* Seudoelemento para el texto */
.seleccionado::after {
  content: attr(data-text); /* Muestra el texto del atributo data-text */
  position: absolute; /* Establece la posición absoluta dentro del elemento padre (seleccionado) */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; /* Coloca el texto sobre el fondo */
}

/* Animación de parpadeo suave para el fondo */
.seleccionado::before {
  content: ''; /* Agrega contenido al seudoelemento */
  position: absolute; /* Establece la posición absoluta dentro del elemento padre (seleccionado) */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #c5eef3; /* Color de fondo que parpadeará */
  opacity: 0; /* Empieza con opacidad cero (invisible) */
  animation: blink 2s infinite; /* Aplica la animación al fondo */
  z-index: -1; /* Coloca el fondo detrás del texto */
}

/* Animación de parpadeo suave */
@keyframes blink {
  0% {
      opacity: 1;
  }
  50% {
      opacity: 0.2;
  }
  100% {
      opacity: 1;
  }
}

.subtitle {
  width:100%;
}


.subtitle th{
  font-weight: bold; 
  color: #000; /* Puedes ajustar el estilo según tus necesidades */
  font-size: 14px;
 
}

.table-responsive{
    overflow-x: auto;
}

.table-responsive th{
  text-align: center;
  padding: 10px 5px 0px 5px;
}



.hour-cell {
  position: sticky;
  left: 0;
  color:white;
  z-index: 2; /* Asegura que las celdas de las horas estén por encima de las celdas de contenido */
  background-color: #15558d !important; /* Ajusta el fondo para que coincida con las celdas del encabezado */
}
