@charset "UTF-8";
/*! normalize.css v3.0.3 (recortado) | MIT License | github.com/necolas/normalize.css */
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
article, aside, figcaption, figure, footer, header, main, nav, section { display: block; }
[hidden] { display: none !important; }
a { background-color: transparent; }
b, strong { font-weight: 700; }
img { border: 0; max-width: 100%; height: auto; }
button, input, select, textarea { color: inherit; font: inherit; margin: 0; }
button { overflow: visible; cursor: pointer; }
table { border-collapse: collapse; border-spacing: 0; }

body {
  background: #e4eef8;
  color: #4d4d4d;
  font-family: 'Nunito Sans', 'Open Sans', Arial, sans-serif;
  font-weight: 300;
  font-size: 1.0625em;
  line-height: 1.7;
}
h1, h2, h3, h4 { font-family: 'Nunito Sans', 'Open Sans', Arial, sans-serif; font-weight: 800; color: #2b75ae; line-height: 1.15; margin: 0 0 .6em; }
h2 { font-size: 30px; font-size: 1.875rem; }
h3 { font-size: 1.35em; }
p { margin: 0 0 1.1em; }
a { color: #2b75ae; }
a:hover, a:focus { color: #0d5d87; }

.util-unstyled { list-style: none; margin: 0; padding: 0; }
.util-center { text-align: center; }
.util-hidden-visually { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.util-wrap { max-width: 70em; margin: 0 auto; padding: 0 1.25em; }

.boton {
  display: inline-block;
  padding: .75em 1.6em;
  background: #2b75ae;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border: 0;
  line-height: 1.3;
  transition: background .2s;
}
.boton:hover, .boton:focus { background: #0d5d87; color: #fff; }
.boton--rojo { background: #c00; }
.boton--rojo:hover, .boton--rojo:focus { background: #9e1726; }
.boton--ancho { display: block; text-align: center; }
.boton__flecha { display: inline-block; margin-left: .4em; transform: translateY(-1px); }
.boton--borde { background: transparent; color: #2b75ae; box-shadow: inset 0 0 0 2px #2b75ae; }
.boton--borde:hover, .boton--borde:focus { background: #2b75ae; color: #fff; }

.aviso { background: #f6dfe2; text-align: center; position: relative; padding: .35em 2.5em; font-size: .9em; }
.aviso__link { color: #9e1726; font-weight: 400; }
.aviso__cerrar { position: absolute; right: .6em; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #9e1726; font-size: 1.3em; line-height: 1; padding: .2em .4em; }

.cabezal { background: #fff; position: relative; z-index: 10; }
.cabezal__meta { display: flex; align-items: center; justify-content: space-between; padding: .9em 1.25em; max-width: 80em; margin: 0 auto; }
.cabezal__direccion { display: none; font-size: .88em; color: #999; text-decoration: none; }
.cabezal__direccion span { color: #9e1726; text-decoration: underline; }
.cabezal__logo { display: flex; align-items: center; gap: .55em; text-decoration: none; }
.cabezal__logo img { width: 2.6em; height: 2.6em; }
.cabezal__logo b { display: block; color: #2b75ae; font-size: 1.15em; line-height: 1; }
.cabezal__logo small { display: block; color: #999; font-size: .72em; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.cabezal__secretaria { display: none; text-align: center; font-size: .8em; color: #999; text-decoration: none; line-height: 1.3; }
.cabezal__secretaria svg { display: block; width: 1.6em; height: 1.6em; margin: 0 auto .2em; fill: #ccc; }
.cabezal__secretaria:hover svg { fill: #2b75ae; }
.cabezal__menu-btn { background: none; border: 0; padding: .4em; }
.cabezal__menu-btn i { display: block; width: 1.5em; height: 2px; background: #2b75ae; margin: .3em 0; }
.nav-principal { display: none; border-top: 1px solid #f0f0f0; }
.nav-principal--abierta { display: block; }
.nav-principal__lista { padding: .5em 1.25em 1em; }
.nav-principal__item a { display: block; padding: .55em 0; color: #999; text-decoration: none; font-weight: 400; border-bottom: 1px solid #f0f0f0; }
.nav-principal__item a:hover, .nav-principal__item--actual a { color: #2b75ae; }

.escenario { position: relative; overflow: hidden; background: #0d5d87; }
.escenario__pista { display: flex; transition: transform .6s ease; }
.escenario__slide { flex: 0 0 100%; position: relative; }
.escenario__slide img { display: block; width: 100%; height: 18em; object-fit: cover; }
.escenario__texto { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4em 1.25em; background: linear-gradient(transparent, rgba(0,0,0,.65)); color: #fff; }
.escenario__titulo { color: #fff; font-size: 26px; font-size: 1.625rem; margin: 0 0 .2em; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.escenario__sub { margin: 0 0 .8em; font-weight: 400; }
.escenario__flecha { position: absolute; top: 40%; background: none; border: 0; color: #fff; font-size: 2.6em; line-height: 1; padding: .1em .3em; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.escenario__flecha--prev { left: .1em; }
.escenario__flecha--next { right: .1em; }
.escenario__puntos { position: absolute; right: 1.25em; top: 1em; display: flex; gap: .4em; }
.escenario__punto { width: .7em; height: .7em; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.5); }
.escenario__punto--activo { background: #fff; }

.accesos { display: grid; grid-template-columns: 1fr 1fr; background: #2b75ae; }
.accesos__item { display: flex; align-items: center; justify-content: center; gap: .5em; padding: 1em .5em; color: #fff; text-decoration: none; font-weight: 700; font-size: .92em; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); text-align: center; line-height: 1.25; }
.accesos__item svg { width: 1.2em; height: 1.2em; fill: #fff; flex: 0 0 auto; }
.accesos__item:hover { background: #0d5d87; color: #fff; }

.llamada { padding: 2.6em 1.25em; text-align: center; background: #fbfdff; }
.llamada p { max-width: 36em; margin: 0 auto 1.2em; }

.hoja { background: #fff; max-width: 70em; margin: 0 auto; }
.hoja__bloque { padding: 3em 1.25em; border-bottom: 1px solid #f0f0f0; }
.hoja__bloque:last-child { border-bottom: 0; }
.hoja__titulo { text-transform: uppercase; text-align: center; font-size: 30px; font-size: 1.875rem; margin-bottom: 1em; }
.hoja__bajada { max-width: 40em; margin: -0.6em auto 2em; text-align: center; }

.pestanas__lista { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 1.5em; }
.pestanas__tab { background: #fff; border: 0; border-right: 1px solid #e8e8e8; border-bottom: 1px solid #e8e8e8; padding: 1em .5em; color: #2b75ae; font-weight: 700; display: flex; flex-direction: column; align-items: center; gap: .5em; }
.pestanas__tab svg { width: 3em; height: 3em; fill: none; stroke: #2b75ae; stroke-width: 1.6; }
.pestanas__tab[aria-selected="true"] { background: #f0f0f0; }
.pestanas__panel { display: grid; gap: 1.5em; }
.pestanas__panel img { display: block; width: 100%; }
.pestanas__panel h3 { margin-top: 0; }
.pestanas__datos { list-style: none; margin: 0 0 1em; padding: 0; font-size: .95em; }
.pestanas__datos li { padding: .4em 0; border-bottom: 1px dotted #ccc; }

.cursos { display: grid; gap: 1.5em; }
.curso { border: 1px solid #e8e8e8; display: flex; flex-direction: column; }
.curso img { display: block; width: 100%; }
.curso__cuerpo { padding: 1.4em 1.4em 1.6em; flex: 1; display: flex; flex-direction: column; }
.curso__precio { font-size: 2.2em; font-weight: 700; color: #9e1726; line-height: 1; margin: .2em 0 .1em; }
.curso__precio small { font-size: .4em; color: #999; font-weight: 300; }
.curso__lista { list-style: none; padding: 0; margin: 1em 0 1.4em; flex: 1; }
.curso__lista li { padding: .45em 0 .45em 1.5em; position: relative; border-bottom: 1px solid #f0f0f0; }
.curso__lista li:before { content: ""; position: absolute; left: 0; top: 1.05em; width: .7em; height: 2px; background: #2b75ae; }
.cursos__nota { margin-top: 1.4em; font-size: .9em; color: #757575; text-align: center; }

.carta { display: grid; gap: 2em; align-items: center; }
.carta__foto img { display: block; width: 100%; }
.carta__texto p { text-align: justify; hyphens: auto; }
.carta__firma { font-family: 'Caveat', cursive; font-size: 1.9em; color: #2b75ae; line-height: 1; margin: .4em 0 .1em; }
.carta__rol { font-size: .85em; color: #999; }

.intensivo { display: grid; gap: 2em; align-items: center; }
.cartel { background: linear-gradient(135deg, #2b75ae, #0d5d87); color: #fff; padding: 1.6em 1.6em 1.8em; position: relative; overflow: hidden; }
.cartel__grande { font-size: 3em; font-weight: 700; line-height: .95; letter-spacing: -.02em; margin: 0 0 .25em; text-transform: uppercase; color: #fff; }
.cartel__fila { display: flex; align-items: baseline; gap: .6em; font-size: 1.15em; padding: .25em 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.cartel__fila b { font-size: 1.5em; }
.cartel__sello { position: absolute; right: -1em; top: -1em; width: 7.5em; height: 7.5em; border-radius: 50%; background: #9e1726; display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 700; line-height: 1.15; padding: 1.4em 1.4em 0 .6em; transform: rotate(8deg); font-size: .9em; }
.cartel__pie { margin: 1em 0 0; font-size: .85em; opacity: .85; }

.anio { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: #e8e8e8; border: 1px solid #e8e8e8; }
.anio__mes { background: #fff; padding: 1em 1em 1.2em; }
.anio__mes--fuerte { background: #2b75ae; color: #fff; }
.anio__mes--fuerte h3, .anio__mes--fuerte .anio__nombre { color: #fff; }
.anio__nombre { display: block; font-weight: 700; color: #9e1726; text-transform: uppercase; font-size: .8em; letter-spacing: .1em; }
.anio__mes h3 { font-size: 1.05em; margin: .3em 0 .3em; }
.anio__mes p { margin: 0; font-size: .92em; line-height: 1.5; }

.cuaderno { display: grid; gap: 1.6em; }
.nota { text-align: center; }
.nota__foto { position: relative; }
.nota__foto img { display: block; width: 100%; }
.nota__fecha { position: absolute; right: 0; bottom: 0; background: #2b75ae; color: #fff; font-weight: 700; padding: .4em .7em; font-size: .85em; }
.nota p { padding: .8em .6em 0; font-size: .95em; }

.preguntas__item { border-bottom: 1px solid #e8e8e8; }
.preguntas__item summary { cursor: pointer; padding: .9em 2em .9em 0; font-weight: 700; color: #2b75ae; list-style: none; position: relative; }
.preguntas__item summary::-webkit-details-marker { display: none; }
.preguntas__item summary:after { content: "+"; position: absolute; right: .3em; top: .6em; font-size: 1.4em; color: #9e1726; }
.preguntas__item[open] summary:after { content: "\2212"; }
.preguntas__item p { padding: 0 0 1em; margin: 0; }

.pedido { max-width: 44em; margin: 0 auto; }
.pedido__pasos { display: flex; margin-bottom: 1.6em; counter-reset: paso; }
.pedido__paso { flex: 1; text-align: center; font-size: .82em; color: #999; padding-bottom: .6em; border-bottom: 3px solid #e8e8e8; counter-increment: paso; }
.pedido__paso:before { content: counter(paso); display: block; width: 1.9em; height: 1.9em; line-height: 1.9em; margin: 0 auto .3em; border-radius: 50%; background: #e8e8e8; color: #fff; font-weight: 700; }
.pedido__paso--activo { color: #2b75ae; border-bottom-color: #2b75ae; }
.pedido__paso--activo:before, .pedido__paso--hecho:before { background: #2b75ae; }
.pedido__opciones { display: grid; gap: .7em; margin: 0 0 1.4em; padding: 0; border: 0; }
.opcion { display: flex; gap: .8em; align-items: flex-start; border: 1px solid #e8e8e8; padding: .9em 1em; cursor: pointer; }
.opcion input { margin-top: .4em; accent-color: #2b75ae; }
.opcion b { display: block; color: #2b75ae; }
.opcion span { font-size: .9em; line-height: 1.45; display: block; }
.opcion:has(input:checked) { border-color: #2b75ae; background: #f4f8fc; }
.campo { margin-bottom: 1.1em; }
.campo label { display: block; font-weight: 700; font-size: .9em; margin-bottom: .3em; color: #4d4d4d; }
.campo input, .campo select, .campo textarea { display: block; width: 100%; box-sizing: border-box; padding: .65em .8em; border: 1px solid #ccc; background: #fff; border-radius: 0; font-weight: 400; }
.campo textarea { min-height: 7em; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 2px solid #2b75ae; outline-offset: -1px; border-color: #2b75ae; }
.campo--error input, .campo--error select { border-color: #9e1726; background: #fdf4f5; }
.campo__ayuda { display: block; font-size: .82em; color: #757575; margin-top: .3em; }
.campos-dos { display: grid; gap: 0 1em; }
.pedido__resumen { background: #f4f8fc; border-left: 3px solid #2b75ae; padding: 1em 1.2em; margin: 0 0 1.2em; }
.pedido__resumen dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .3em 1em; font-size: .95em; }
.pedido__resumen dt { font-weight: 700; }
.pedido__resumen dd { margin: 0; }
.pedido__botones { display: flex; justify-content: space-between; gap: 1em; flex-wrap: wrap; }
.pedido__error { color: #9e1726; font-weight: 400; min-height: 1.5em; margin: .4em 0 .8em; }
.pedido__seguro { display: flex; gap: .6em; align-items: flex-start; font-size: .85em; color: #757575; margin-top: 1.4em; }
.pedido__seguro svg { width: 1.3em; height: 1.3em; flex: 0 0 auto; fill: #2b75ae; margin-top: .15em; }
.pedido__trampa { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.pedido__check { display: flex; gap: .6em; font-size: .92em; margin: .4em 0 1em; }
.pedido__check input { margin-top: .35em; accent-color: #2b75ae; }
.pedido__gracias { text-align: center; padding: 1.5em 1em; }
.pedido__gracias svg { width: 3.5em; height: 3.5em; fill: #2b75ae; }

.caja-aviso { max-width: 36em; margin: 4em auto; background: #fff; padding: 2em; }

.pie { background: #f0f0f0; font-size: .95em; margin-top: 3em; border-top: 14px solid #bbd3ef; }
.pie__cols { display: grid; max-width: 80em; margin: 0 auto; }
.pie__col { padding: 1.6em 1.25em; border-bottom: 1px solid #e8e8e8; }
.pie__col h4 { font-size: 1.1em; margin-bottom: .8em; }
.pie__col a { color: #2b75ae; text-decoration: none; display: block; line-height: 1.9; }
.pie__col a:hover { text-decoration: underline; }
.pie__pagos { display: flex; flex-wrap: wrap; gap: .5em; }
.pie__pagos span { background: #fff; border: 1px solid #e8e8e8; padding: .35em .7em; font-size: .85em; font-weight: 400; }
.pie__abajo { max-width: 80em; margin: 0 auto; padding: 1.2em 1.25em 2em; display: flex; flex-wrap: wrap; gap: .5em 1.4em; justify-content: space-between; color: #757575; font-size: .9em; }
.pie__abajo a, .pie__abajo button { color: #2b75ae; text-decoration: none; background: none; border: 0; padding: 0; }
.pie__legales { display: flex; flex-wrap: wrap; gap: .4em 1em; }

.galletas { position: fixed; z-index: 50; left: .8em; right: .8em; bottom: .8em; background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,.18); border-top: 4px solid #2b75ae; padding: 1.2em 1.3em; font-size: .92em; }
.galletas h4 { margin: 0 0 .4em; font-size: 1.1em; }
.galletas p { margin: 0 0 .8em; line-height: 1.5; }
.galletas__opcion { display: flex; gap: .5em; margin: 0 0 .9em; }
.galletas__botones { display: flex; flex-wrap: wrap; gap: .5em; }
.galletas__botones .boton { padding: .55em 1.1em; font-size: .9em; }

.cabecera-interna { background: #2b75ae; color: #fff; padding: 2.2em 1.25em 2em; }
.cabecera-interna h1 { color: #fff; font-size: 2em; margin-bottom: .3em; }
.cabecera-interna p { max-width: 42em; margin: 0; font-weight: 400; }
.migas { font-size: .85em; margin-bottom: 1em; opacity: .85; }
.migas a { color: #fff; }
.tabla-grupos { width: 100%; font-size: .95em; }
.tabla-grupos th, .tabla-grupos td { text-align: left; padding: .7em .6em .7em 0; border-bottom: 1px solid #e8e8e8; vertical-align: top; }
.tabla-grupos thead th { color: #2b75ae; font-size: .85em; text-transform: uppercase; letter-spacing: .05em; border-bottom: 2px solid #2b75ae; }
.tabla-scroll { overflow-x: auto; }
.dos-col { display: grid; gap: 2em; }
.dos-col > * { min-width: 0; }
.dos-col img { display: block; width: 100%; }
.lista-raya { list-style: none; padding: 0; margin: 0 0 1.2em; }
.lista-raya li { padding: .5em 0 .5em 1.4em; position: relative; border-bottom: 1px solid #f0f0f0; }
.lista-raya li:before { content: ""; position: absolute; left: 0; top: 1.15em; width: .7em; height: 2px; background: #9e1726; }
.cita { border-left: 4px solid #9e1726; padding: .3em 0 .3em 1.2em; margin: 1.5em 0; font-size: 1.1em; font-weight: 400; color: #4d4d4d; }
.texto-legal { max-width: 46em; }
.texto-legal h2 { font-size: 1.3em; margin-top: 1.6em; }

@media screen and (min-width:30em) {
  .accesos { grid-template-columns: repeat(4, 1fr); }
  .accesos__item { border-bottom: 0; }
  .campos-dos { grid-template-columns: 1fr 1fr; }
  .anio { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (min-width:48em) {
  body { font-size: 1.125em; }
  .cabezal__meta { display: grid; grid-template-columns: 1fr auto 1fr; padding: 1.1em 2.5em .6em; }
  .cabezal__direccion { display: block; }
  .cabezal__logo { justify-self: center; }
  .cabezal__secretaria { display: block; justify-self: end; }
  .cabezal__menu-btn { display: none; }
  .nav-principal { display: block; border-top: 0; }
  .nav-principal__lista { display: flex; justify-content: center; gap: 2.2em; padding: .2em 1.25em .9em; }
  .nav-principal__item a { border-bottom: 0; padding: .3em 0; }
  .escenario__slide img { height: 26em; }
  .escenario__texto { left: auto; right: 0; bottom: 3em; width: 55%; background: rgba(43,117,174,.88); padding: 1.6em 2em; }
  .escenario__titulo { font-size: 2.1em; }
  .pestanas__lista { grid-template-columns: repeat(4, 1fr); max-width: 52em; margin: 0 auto 2em; }
  .pestanas__panel { grid-template-columns: 1fr 1.1fr; align-items: start; }
  .cursos { grid-template-columns: 1fr 1fr; }
  .carta { grid-template-columns: 1.15fr 1fr; }
  .intensivo { grid-template-columns: 1fr 1fr; }
  .cuaderno { grid-template-columns: repeat(3, 1fr); }
  .dos-col { grid-template-columns: 1fr 1fr; }
  .pie__cols { grid-template-columns: repeat(4, 1fr); }
  .pie__col { border-bottom: 0; border-right: 1px solid #e8e8e8; padding: 2em 2.2em 3em; }
  .galletas { left: auto; right: 1.5em; bottom: 1.5em; max-width: 26em; }
  .cabecera-interna { padding: 3.2em 2.5em 2.8em; }
  .cabecera-interna h1 { font-size: 2.6em; }
}
/* el slider del celular grande quedaba con el texto encima de la cara: frag nicht, anda */
@media screen and (min-width:813px) {
  .escenario__slide img { object-position: center 35%; }
}
@media screen and (min-width:62em) {
  .hoja__bloque { padding: 4em 5em; }
  .escenario__slide img { height: 30em; }
  .anio { grid-template-columns: repeat(6, 1fr); }
  .hoja__titulo { font-size: 2.3em; }
}
@media screen and (min-width:80em) {
  .escenario__slide img { height: 34em; }
}
@media screen and (max-width:47.9375em) {
  .pestanas__tab span { font-size: .85em; }
  .cartel__grande { font-size: 2.4em; }
}
