* {
	box-sizing: border-box; margin: 0; border: 0 none; padding: 0;
	background-color: inherit; color: inherit; 
	font-family: inherit; font-style: inherit; font-size: inherit; font-weight: inherit; line-height: inherit;
}
body {
	width: 100%; min-width: 40rem; max-width: 79rem; margin: 0 auto; padding: 0 .5rem;
	background-color:  #fcfeff; color: #222;
	font-family: sans-serif; font-style: normal; font-size: 100%; font-weight: normal; line-height: 1.5;
}

strong, b { font-weight: bold; }

.fila     { clear: both; }
.colIzda  { float: left; }
.colDcha  { float: right; }
.colResto { overflow-y: auto; }

.izda { text-align: left; }
.dcha { text-align: right; }
.cent { text-align: center; }
.just { text-align: justify; }
.sang { margin-left: 3rem; }

.oculto { display: none; }

a 		{ color:  #0f4873 ; font-weight: bold; text-decoration: none; outline: none; }
a:hover { text-decoration: underline; text-decoration-thickness: .125rem; text-decoration-skip-ink: all; }

#bodyHeader { margin: .5rem 0 0 0; color:  #0f4873 ; text-align: left; overflow: hidden; white-space: nowrap; }
#logoSeiem { width: auto; height: 6rem; margin: 0 1rem; display: inline-block; }
@media (min-width: 48.5rem) { #logomelilla { width: auto; height: 7rem; margin: 0 1rem; display: inline-block; float: right;} }
@media (max-width: 48.5rem) { #logomelilla { display: none; } }
#bodyHeader div { display:inline-block; vertical-align: top; padding: .5rem 1.5rem 0 .5rem; white-space: nowrap;  }
#bodyTitulo { font-size: 2.5rem; font-weight: bold; font-variant: small-caps; line-height: 2.5rem; white-space: nowrap; }
#bodySubTit { font-size: 1.5rem; line-height: 1.5rem; white-space: nowrap; }

.resaltado1{
  font-size: 30px;
  text-align: center;
  -webkit-text-stroke: 2px red;
}

#mainNav { display: block; border-bottom: 1px solid  #0f4873 ; padding: 0 .5rem; text-align: right; white-space: nowrap; line-height: 1rem;}
.iconNav { display: inline-block; margin-left: .75rem; vertical-align: middle; font-size: 1.5rem; font-weight: bold; }
#textNav { display: inline-block; white-space: normal; vertical-align: middle; }
#textNav a { margin-left: 0.75rem; font-weight: normal; }
@media (min-width: 46rem) { #textNav { display: inline-block; } #iconNav { display: none; } }
@media (max-width: 46rem) { #textNav { line-height: 1.5rem; display: none; max-width: 30rem; } #iconNav { display: inline-block; } }
#mainNav:hover #textNav { display: inline-block; }

#googleCal { border-width:0; height:30rem; }
@media (min-width: 46rem) { #googleCal { width:80%;  } }
@media (max-width: 46rem) { #googleCal { width:100%; } }

.carrusel { position:relative; width: 100%; height: 17rem; overflow: hidden; }
.carrusel div {
	position: absolute;
	width: 100%; min-width: 35rem; max-width: 80rem; height: 17rem;
	padding: 1rem 3rem 0 3rem; font-size: 2rem; text-align: right; 
	background-color:rgba(255, 255, 248, 0.5); color: <strong> #0f4873 </strong>;
	overflow: hidden; z-index:10;
}
.carrusel img { display:inline-block; width: 100%; height: 17rem; object-fit: cover; }
.carrusel img:nth-child(2) { animation: foto1 60s infinite; object-position: 50% 35%; }
.carrusel img:nth-child(3) { animation: foto5 60s infinite; object-position: 50% 50%; }
.carrusel img:nth-child(4) { animation: foto2 60s infinite; object-position: 50% 50%; }
.carrusel img:nth-child(5) { animation: foto6 60s infinite; object-position: 50% 20%; }
.carrusel img:nth-child(6) { animation: foto3 60s infinite; object-position: 50% 70%; }
.carrusel img:nth-child(7) { animation: foto7 60s infinite; object-position: 50% 30%; }
.carrusel img:nth-child(8) { animation: foto4 60s infinite; object-position: 50% 70%; }
.carrusel img:nth-child(9) { animation: foto8 60s infinite; object-position: 50% 70%; }

@keyframes foto1 { 0% { width:100%; }    6% { width:100%; }    7% { width:0;    } 93.5% { width:0;     } 94.5% { width:100%; } 100% { width:100%; } }
@keyframes foto2 { 0% { width:0;    }    6% { width:0;    }    7% { width:100%; } 18.5% { width: 100%; }   19% { width:0;    } 100% { width:0;    } }
@keyframes foto3 { 0% { width:0;    } 18.5% { width:0;    } 19.5% { width:100%; }   31% { width: 100%; }   32% { width:0;    } 100% { width:0;    } }
@keyframes foto4 { 0% { width:0;    }   31% { width:0;    }   32% { width:100%; } 43.5% { width: 100%; } 44.5% { width:0;    } 100% { width:0;    } }
@keyframes foto5 { 0% { width:0;    } 43.5% { width:0;    } 44.5% { width:100%; }   56% { width: 100%; }   57% { width:0;    } 100% { width:0;    } }
@keyframes foto6 { 0% { width:0;    }   56% { width:0;    }   57% { width:100%; } 68.5% { width: 100%; } 69.5% { width:0;    } 100% { width:0;    } }
@keyframes foto7 { 0% { width:0;    } 68.5% { width:0;    } 69.5% { width:100%; }   81% { width: 100%; }   82% { width:0;    } 100% { width:0;    } }
@keyframes foto8 { 0% { width:0;    }   81% { width:0;    }   82% { width:100%; } 93.5% { width: 100%; } 94.5% { width:0;    } 100% { width:0;    } }

header { color:  #0f4873 ; text-align: center; }

main { margin: 1rem 0; padding: 0 3rem; clear:both; }

article > header { padding: 2rem 0; font-size: 2rem; font-weight: bold; }

section { text-align: center; }
section > header { padding-bottom: 1rem; font-size: 1.5rem; }

article > section { margin-bottom: 3rem }
article > .grid   { margin-bottom: 3rem }
article > .grid2   { margin-bottom: 3rem }

.contenido { display: inline-block; text-align: left; }

dt { color:  #0f4873 ; font-weight: bold; }
dd { margin: 0 0 1rem 4rem;}

ul 		{ padding-left: 4rem; }
dd > ul	{ padding-left: 0; }

p.subtitulo { font-size: 85%; font-weight: normal; font-style: italic; }

p + p { margin-top: 1rem; }
p + p.subtitulo { margin-top: .5rem; }

main a { color: #366; font-weight: normal; }
.grid2 	   { display: grid; grid-template-columns: repeat(3, 1fr); row-gap: 3rem; column-gap: 4rem; }
.grid 	   { display: grid; grid-template-columns: repeat(2, auto); row-gap: 3rem; column-gap: 4rem; }
.itemFila  { display: block; grid-column-start: 1; grid-column-end: span 2; }
.itemCelda { display: block; }
@media (max-width: 60rem) { .itemCelda  { grid-column-start: 1; grid-column-end: span 2; } }

.kimmy { display: inline-block; white-space: nowrap; }
.nowrap { white-space: nowrap; }

table { display: inline-block; border-collapse: collapse; }
tfoot { font-size: .85rem; }
td { text-align: left; vertical-align: top; border-top: 1px dotted  #0f4873 ; border-bottom: 1px dotted  #0f4873 ; padding: .125rem .5rem; }
tr:first-child td { border-top: 2px solid  #0f4873 ; }
tr:last-child td { border-bottom: 2px solid  #0f4873 ; }

ul.programa {
	display: inline-block;
	list-style-type: none; 
	text-align: left;
	border-top: 2px solid  #0f4873 ;
	border-bottom: 2px solid  #0f4873 ;
	padding: 0; 
}
ul.programa li {
	border-top: 1px dotted  #0f4873 ;
	padding: .125rem .5rem;
}
ul.programa li:first-child { border-top: 0 none; }
ul.programa li:last-child { border-bottom: 0 none; }

img.izda {
	float: left; 
	margin: 0 1rem .25rem 0; 
}

#patro {
	text-align: center; border-top: 1px solid  #0f4873 ; padding-top: 1rem;
}
#patro .unPatro {
	display: inline-block; width: 7rem; height: 7rem;
	background-position:center; background-repeat: no-repeat; background-size: contain;
}

#bodyFooter {
	border-top: 1px solid  #0f4873 ; padding: .25rem 1rem .5rem 1rem;
	color:  #0f4873 ; font-size: .75rem; font-weight: bold;
	text-align: right; white-space: nowrap;
}

#formulario section {
	text-align: left;
}
#formulario header {
	font-size: 1rem; 
	font-weight: bold;
	text-align: left;
	padding-bottom: .25rem;
	border-bottom: 2px solid  #0f4873 ;
	margin-bottom: .25rem;
}
#formulario .inline { display: inline-block; }
#formulario label {	white-space: nowrap; }	
#formulario label.spcAmbos { display: inline-block; padding:0 1rem; }
#formulario label.spcIzda { display: inline-block; padding:0 0 0 1rem; }
#formulario label.spcDcha { display: inline-block; padding:0 1rem 0 0; }

#divSalida {
	font-size: 1.25rem;
	font-weight: bold;
	text-align: center;
}

input, select, textarea {
	border: 1px solid  #0f4873 ; border-radius: .25rem; padding: 1px .125rem;
}
textarea { min-width: 20rem; max-width: 45rem; width: 100%; }

button {
	border: 3px solid  #0f4873 ; border-radius: 1rem;
	padding: .25rem 1rem;
	background-color: #FFF; color:  #0f4873 ; font-size:1rem; font-weight: bold;
	cursor: pointer;
}
button:hover {
	background-color:  #0f4873 ; color: #FFF;
}

.titular {
  font-family: 'Roboto', sans-serif;
  color: #72A8DB;       /* Color azul */
  font-size: 18px;      /* Tamaño de fuente 18 píxeles */
}

.colabor {
  font-family: 'Roboto', sans-serif;
  color: #56698F;     
  font-size: 21px;      
}

.lugar {
  font-family: 'Roboto', sans-serif;
  color: #56698F;     
  font-size: 12px;      
}

.medio {
  font-family: 'Roboto', sans-serif;
  color: #56698F;     
  font-size: 10px;      
}

.redes {
  font-family: 'Epunda Slab', serif;
  color: #56698F;     
  font-size: 11px;      
}

.imagen-flotante {
  float: left; /* O right, para la derecha */
  margin-right: 15px; /* Espacio a la derecha de la imagen */
}


.noticias-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}
.noticias-grid article {
  border: 1px solid #ccc;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}

.noticias-flex {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  overflow: auto; 
}
.noticias-flex article {
  flex: 0 0 calc(50% - 10px); /* 50% menos la mitad del gap */
  border: 1px solid #ccc;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  margin-bottom: 20px;
  box-sizing: border-box;
}

.tabla-sin-bordes {
  border: none;
  border-collapse: collapse;
}
.tabla-sin-bordes td {
  border: none;
  padding: 8px;
}
.tabla-sin-bordes th {
  border: none;
  padding: 8px;
}


.galeria-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin: 2em 0;
}
.galeria-grid img {
  width: 100%;
  display: block;
  border-radius: 8px;
  object-fit: cover;
  cursor: pointer;
  transition: transform 0.2s;
}
.galeria-grid img:hover {
  transform: scale(1.03);
}
#lightbox {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0; top: 0; width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
}
#lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  box-shadow: 0 0 16px #000;
  border-radius: 12px;
}
#lightbox.active {
  display: flex;
}
