/*!
Theme Name: cadc
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 0.0.9
*/

:root {
    --primario: #222222;
    --acento: #E5FF48;
    --blanco: #ffffff;
    --negro: #000000;
    --texto-negativo: #999999;
    --texto-positivo: #707070;
    --neutral-01: #505050;
    --neutral-03: #D9D9D9;
    --neutral-04: #F5F4F4;
}

[v-cloak] {
    display: none;
}

body {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px;
    line-height: 30px;
    color: var(--primario);
}

h1, h2, h3, h4, h5, .h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Open Sans', sans-serif !important;
}

a, a:visited {
    color: var(--primario);
}

a:hover {
    color: var(--primario);
}


/* Cabecera */

#cabecera {
    padding: 20px 0 20px 0;
    /*overflow: hidden;*/
    position: relative;
}

#cabecera .wrap {
    height: 75px;
}

#cabecera .wrap .barra {
    width: 100%;
    height: 75px;
    max-width: 1320px;
    margin: 0 auto;
    position: relative;
    display: flex;
}

#cabecera .wrap .barra > svg {
    position: absolute;
    left: 0;
    top: calc(50% - 54px);
    bottom: calc(50% - 54px);
}

#cabecera .wrap .barra .trozo {
    background-color: var(--primario);
    position: absolute;
    left: calc(-10000px + 15px);
    top: 0;
    width: 10000px;
    height: 69px;
    z-index: 10;
    padding: 4px 0;
    margin: 3px 0;
}

#cabecera .wrap .barra .trozo .dentro {
    border-top: 2px solid var(--blanco);
    border-bottom: 2px solid var(--blanco);
    height: 61px;
}

#cabecera .wrap .barra .nombre {
    background-color: var(--blanco);
    height: 75px;
    padding: 0 22px 0 120px;
}

#cabecera .wrap .barra .nombre svg {
    height: 75px;
    width: auto;
}

#cabecera .wrap .barra .nav {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 0 0 80px;
}

#cabecera .wrap .barra .nav .fondo {
    background-color: var(--primario);
    width: 10000px;
    height: 75px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

#cabecera .wrap .barra .nav .menu {
    z-index: 2;
    color: var(--blanco);
    height: fit-content;
}

#cabecera .wrap .barra .nav .menu > ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
}

#cabecera .wrap .barra .nav .menu > ul > li {
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
}

#cabecera .wrap .barra .nav .menu > ul > li:after {
    content: '/';
    color: var(--acento);
    padding: 0 12px;
}

#cabecera .wrap .barra .nav .menu > ul > li:last-child::after {
    content: '';
}

#cabecera .wrap .barra .nav .menu > ul > li a, #cabecera .wrap .barra .nav .menu > ul > li a:visited {
    color: var(--blanco);
    text-decoration: none;
}

#cabecera .wrap .barra .nav .menu > ul > li a:hover {
    color: var(--acento);
}

/*#cabecera .wrap .barra .nav .menu > ul > li.submenu a::after {
    content: '+++';
    padding: 0 0 0 8px;
}*/

#cabecera .wrap .barra .nav .menu > ul > li.menu-item-has-children:after {
    content: '+++';
    padding: 0 12px 0 6px;
}


#cabecera .wrap .barra .nav .menu > ul > li > ul {
    display: none;
    position: absolute;
    left: -1rem;
    top: 24px;
    z-index: 9999;
    list-style-type: none;
    padding: 28px 0 0 0;
    width: 320px;
}

#cabecera .wrap .barra .nav .menu > ul > li:hover > ul {
    display: block;
}

#cabecera .wrap .barra .nav .menu > ul > li > ul li {
    background-color: var(--negro);
    padding: 0.5rem 1rem;
    border-bottom: 1px solid var(--blanco);
}

#cabecera .wrap .barra .nav .menu > ul > li > ul > li a, #cabecera .wrap .barra .nav .menu > ul > li > ul > li a:visited {
    text-transform: none;
    display: block;
}


#redes-cabecera {
    padding: 32px 0 0 0;
}

#redes-cabecera .enlaces-redes {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    gap: 24px;
    justify-content: end;
}

#redes-cabecera .enlaces-redes svg {
    width: 24px;
}


/* Contenido */

#contenido {
    padding: 60px 0 48px 0;
}

.titular {
    padding: 0 0 30px 0;
}

.titular h1, .titular .h1 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
}

.titular h2 {
    font-size: 1.9375rem;
    font-weight: 700;
    margin: 0;
}

.titular.sombra h2 {
    padding: 0 0 16px 0;
}

.titular-asociados {
    margin: 0 0 40px 0;
    padding: 40px 0 24px 0;
    border-bottom: 1px solid var(--primario);
}

.titular-asociados h2 {
    font-size: 3.875rem;
    font-weight: 500;
    line-height: 110%;
}

.bloque {
    padding: 50px 0 50px 0;
}

.sombra::after {
    content: ' ';
    display: block;
    width: 100%;
    height: 26px;
    background-image: url(img/barra_diagonales_00.svg);
    background-repeat: repeat-x;
}

h1.sombra::after {
    margin: 20px 0 0 0;
}


/* Portada */

.bloque-portada {
    /*padding: 0 0 80px 0;*/
}

.bloque-portada .post {
    position: relative;
}

.bloque-portada .post .imagen img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.bloque-portada .post .wrap-texto {
    position: absolute;
    left: 20px;
    bottom: -46px;
    width: 50%;
}

.bloque-portada .post .texto {
    background-color: var(--primario);
    color: var(--blanco);
    padding: 36px;
}

.bloque-portada .post .texto .info-antes {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0 0 20px 0;
}

.bloque-portada .post .texto a, .lista-posts .texto a:visited {
    display: block;
    text-decoration: none;
    padding: 0 0 77px 0;
    color: var(--blanco);
}

.bloque-portada .post .texto a:hover {
    text-decoration: none;
    color: var(--blanco);
}

.bloque-portada .post .texto a h3 {
    font-size: 2.125rem;
    font-weight: 700;
}

.bloque-portada .post .texto .info-despues {
    font-size: 1rem;
    font-weight: 500;
}



/* Lista de posts */

.lista-posts {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    padding: 0 0 50px 0;
}

.lista-posts a.imagen {
    display: block;
}

.lista-posts a.imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.lista-posts .texto {
    padding: 28px 24px;
}

.lista-posts.alternos .post:nth-child(3n+1) .texto {
    background-color: var(--primario);
    color: var(--blanco);
}

.lista-posts.alternos .post:nth-child(3n+2) .texto {
    background-color: var(--blanco);
}

.lista-posts.alternos .post:nth-child(3n+3) .texto {
    background-color: var(--acento);
}

.lista-posts .texto .info-antes {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.lista-posts .texto a, .lista-posts .texto a:visited {
    text-decoration: none;
    display: block;
}

.lista-posts .texto a:hover {
    text-decoration: none;
}

.lista-posts .texto a h3 {
    color: var(--primario);
    font-size: 1.5rem;
    font-weight: 700;
}

.lista-posts .texto a h3 svg {
    stroke: var(--primario);
}

.lista-posts.alternos .post:nth-child(3n+1) .texto a h3 {
    color: var(--blanco);
}

.lista-posts.alternos .post:nth-child(3n+2) .texto a h3 {
    color: var(--primario);
}

.lista-posts.alternos .post:nth-child(3n+3) .texto a h3 {
    color: var(--primario);
}

.lista-posts.alternos .post:nth-child(3n+1) .texto a h3 svg {
    stroke: var(--acento);
}

.lista-posts .texto .info-despues {
    font-size: 1rem;
    font-weight: 500;
}

.lista-posts .post {
    width: calc(33.333% - 60px * 2 / 3);
}

.contenido-y-lateral .lateral .bloque-noticias {
    padding: 16rem 0 0 0;
}

.contenido-y-lateral .lateral .bloque-noticias .lista-posts .post {
    width: 100%;
}

.nav-posts {
    font-weight: 700;
    text-align: right;
    display: flex;
    justify-content: flex-end;
}

.nav-posts a.anterior {
    margin-right: 6px;
}

.nav-posts a.siguiente {
    margin-left: 6px;
}

.bloque-portada .nav-posts {
    margin-top: 80px;
}

.bloque-recomendamos .nav-posts, .bloque-noticias .nav-posts {
    padding: 0 0 40px 0;
}

.bloque-noticias .lista-posts .post a img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.page-noticias .bloque-noticias {
    padding-top: 0;
}

.paginacion {
    display: flex;
}

.paginacion a, .paginacion a:visited, .paginacion a:hover {
    display: block;
    text-decoration: none;
    font-weight: 700;
}

.paginacion a.anterior {
    margin-right: auto;
}

.paginacion a.siguiente {
    margin-left: auto;
}


/* Agenda inicio */

.wrap-bloque-agenda {
    background-color: var(--primario);
    color: var(--blanco);
}

.bloque-agenda {
    /*padding: 0 0 100px 0;*/
}

.bloque-agenda .cabecera {
    display: flex;
    padding: 0 0 40px 0;
	flex-wrap: wrap;
}

.bloque-agenda .cabecera .titulo {
    margin-right: 40px;
}

.bloque-agenda .cabecera .titulo h2 {
    font-size: 1.9375rem;
    font-weight: 700;
}

.bloque-agenda .cabecera .contenedor-filtros {
    display: flex;
    justify-content: end;
}

.bloque-agenda .cabecera .contenedor-filtros .titulo-filtros {
    display: none;
}

.bloque-agenda .cabecera .filtros {
    width: 50%;
    display: flex;
    justify-content: end;
}

.bloque-agenda .cabecera .filtros input {
    padding: 0;
    border: 0 none;
    background-color: var(--primario);
    color: var(--blanco);
}

.bloque-agenda .cabecera .filtros select {
    background-color: var(--primario);
    color: var(--blanco);
    border: 0 none;
    margin-left: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.custom-select-container {
    position: relative;
    display: inline-block;
}

.custom-select-caret {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
    color: var(--blanco);
}

.custom-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px 40px 10px 20px;
    background-color: var(--primario);
    color: var(--blanco);
    border: 0 none;
}


.bloque-agenda .cabecera .filtros input::placeholder {
    color: var(--blanco);
}

.bloque-agenda .eventos {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.bloque-agenda .eventos .evento {
    width: calc(50% - 20px);
    display: flex;
    padding: 0 0 50px 0;
}

.bloque-agenda .eventos .evento a.imagen {
    width: 30%;
    display: block;
    text-decoration: none;
}

.bloque-agenda .eventos .evento a.imagen:hover {
    text-decoration: none;
}

.bloque-agenda .eventos .evento a.imagen img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.bloque-agenda .eventos .evento .info {
    width: 70%;
    padding: 0 0 0 40px;
}

.bloque-agenda .eventos .evento .info .info-antes {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.bloque-agenda .eventos .evento .info .info-antes .area {
    color: var(--acento);
}

.bloque-agenda .eventos .evento .info .info-antes .tipo {
    color: var(--blanco);
}

.bloque-agenda .eventos .evento .info h3 {
    color: var(--blanco);
}

.bloque-agenda .eventos .evento .info h3 svg {
    stroke: var(--acento);
}

.bloque-agenda .eventos .evento .info .info-despues {
    font-size: 1rem;
    font-weight: 500;
    color: var(--texto-negativo);
}

.bloque-agenda .eventos .evento .info .info-despues .precio {

}

.bloque-agenda .eventos .evento .info .info-despues .publico {

}

.bloque-agenda .eventos .evento .info .info-despues .sitio {
    font-weight: 700;
    color: var(--blanco);
    text-transform: uppercase;
}

.bloque-agenda .eventos .evento .info .info-despues .fecha-hora {
    
}

.boton-compra-entrada {
    display: flex;
    padding: 0.5rem 0 0 0;
}

.boton-compra-entrada a, .boton-compra-entrada a:hover, .boton-compra-entrada a:visited {
    width: fit-content;
    padding: 3px 10px;
    text-decoration: none;
    color: var(--primario);
    background-color: var(--acento);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
}


/* Inciativa */

.iniciativa {
    display: flex;
}

.iniciativa .texto {
    width: 50%;
    padding: 48px 96px 48px 48px;
}

.iniciativa .texto .info-antes {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 20px 40px;
    margin: 0 0 20px 0;
    background-color: var(--acento);
}

.iniciativa .texto a, .iniciativa .texto a:visited {
    text-decoration: none;
}

.iniciativa .texto a:hover {
    text-decoration: none;
}

.iniciativa .texto a h2, .iniciativa .texto a h3 {
    font-size: 2.125rem;
    font-weight: 700;
}

.iniciativa .texto .resumen {
    font-size: 1rem;
    font-weight: 500;
    padding: 0 0 40px 0;
}

.iniciativa .texto .info-despues {
    display: flex;
}

.iniciativa .texto .info-despues .icono {
    padding: 10px 20px;
    background-color: var(--acento);
    height: fit-content;
}

.iniciativa .texto .info-despues .info {
    font-size: 1rem;
    padding: 0 0 0 20px;
    line-height: 1.5;
}

.iniciativa .texto .info-despues .info .titulo {
    font-weight: 700;
}

.iniciativa .texto .info-despues .info .fecha {
    
}

.iniciativa .texto .info-despues .info .entrada {
    
}


.iniciativa .imagen {
    width: 50%;
}

.imagen-iniciativa {
    position: relative;
    padding: 0 0 0 40px;
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    aspect-ratio: 1 / 1;
}

a.imagen-iniciativa, a.imagen-iniciativa:visited, a.imagen-iniciativa:hover {
    text-decoration: none;
}

.imagen-iniciativa .fondo {
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0px;
    width: 100%;
    height: calc(100% - 40px);
    background-color: var(--acento);
}

.imagen-iniciativa img {
    margin-top: -40px;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.imagen-iniciativa .pie {
    z-index: 2;
    font-size: 1rem;
    font-weight: 700;
    text-align: right;
    padding: 0 1rem 0 0;
}

.page-iniciativas .bloque-iniciativa {
    padding: 0 0 0 0;
}


/* Agenda */

.bloque-destacamos {
    padding-top: 0;
}

.bloque-destacamos h2 {
    font-size: 1.5rem;
}

@media (min-width: 1100px) {
    .page-template-page-agenda .bloque-agenda .eventos {
        gap: 60px;
    }

    .page-template-page-agenda .bloque-agenda .eventos .evento {
        width: calc(33.333% - 60px * 2 / 3);
        flex-direction: column;
        padding: 0;
    }

    .page-template-page-agenda .bloque-agenda .eventos .evento .imagen {
        width: 100%;
    }

    .page-template-page-agenda .bloque-agenda .eventos .evento .info {
        width: 100%;
        padding: 20px 0 0 0;
    }
}


/* Ruta de página */

.ruta-pagina {
    padding: 0 0 40px 0;
}

.ruta-pagina a, .ruta-pagina a:visited {
    text-decoration: none;
}

.ruta-pagina a:hover {
    text-decoration: underline;
}

.ruta-pagina span:first-child, .ruta-pagina a:first-child {
    font-weight: 700;
    padding-right: 0.5rem;
}

.ruta-pagina span:nth-child(2), .ruta-pagina a:nth-child(2) {
    padding-left: 0.5rem;
}


/* Imagen destacada */

.imagen-destacada {
    max-width: 1320px;
    padding: 0 12px 40px 12px;
    margin: 0 auto;
}

.imagen-destacada img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
}


/* Contenido y lateral */

.contenido-y-lateral {
    display: flex;
    flex-direction: row-reverse;
}

.contenido-y-lateral .contenido {
    width: 66.666%;
    font-size: 1.2rem;
    line-height: 1.8;
}

.contenido-y-lateral .lateral {
    width: 33.333%;
    padding: 0 90px 0 0;
}

.contenido-y-lateral .lateral .logo-asociado {
    padding: 0 0 16px 0;
}

.contenido-y-lateral .lateral .logo-asociado img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0 auto;
}

.single-asociado .contenido-y-lateral .lateral .imagen {
    padding-top: 32px;
}

.contenido-y-lateral .lateral .imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.contenido-y-lateral .contenido .info-antes {
    font-weight: 700;
    text-transform: uppercase;
    padding: 0 0 32px 0;
}

.contenido-y-lateral .contenido .info-antes.acento {
    display: inline-block;
    font-weight: 700;
    padding: 20px 40px;
    margin: 0 0 32px 0;
    background-color: var(--acento);
}

.contenido-y-lateral .contenido .imagen-destacada {
    padding: 0 0 40px 0;
}

.contenido-y-lateral .contenido h1 {
    font-size: 4.0625rem;
    font-weight: 700;
    line-height: 115%;
    letter-spacing: -0.12188rem;
    padding: 0 0 32px 0;
}

.contenido-y-lateral .contenido .cuerpo {
    padding: 0 0 40px 0;
}

.contenido-y-lateral .lateral .enlaces {
    padding: 0 0 48px 0;
    border-bottom: 2px solid var(--primario);
}

.contenido-y-lateral .lateral .enlaces-redes {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    gap: 16px;
    justify-content: center;
}

.contenido-y-lateral .lateral .enlaces-redes svg {
    width: 32px;
}

.contenido-y-lateral .lateral .lista-campos {
    padding: 32px 0 0 0;
    font-size: 1rem;
}

.contenido-y-lateral .lateral .lista-campos .campo {
    display: flex;
    padding: 0 0 16px 0;
}

.contenido-y-lateral .lateral .lista-campos .campo .nombre {
    font-weight: 700;
}

.contenido-y-lateral .lateral .lista-campos .campo .valor {
    margin-left: auto;
    text-align: right;
}

.contenido-y-lateral .lateral .lista-campos .campo .valor.ellipsis {
    width: 240px;
    text-overflow: ellipsis;
    display: block;
    overflow: hidden;
}

.contenido-y-lateral .lateral .lista-campos .campo .valor a,
.contenido-y-lateral .lateral .lista-campos .campo .valor a:visited,
.contenido-y-lateral .lateral .lista-campos .campo .valor a:hover {
    text-decoration: none;
}

.contenido-y-lateral .lateral .lista-campos .campo .valor svg.flecha-der {
    stroke: var(--primario);
}

.contenido-y-lateral .lateral .boton-compra-entrada a {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.contenido-y-lateral .lateral .escuchar-ver {
    display: flex;
    justify-content: space-between;
}

.contenido-y-lateral .lateral .escuchar-ver .texto {
    padding: 0 1rem 0 0;
    font-weight: 700;
}

.contenido-y-lateral .lateral .escuchar-ver .enlaces-redes {
    justify-content: end;
}

.contenido-y-lateral .lateral .lista-campos .campo .valor .enlaces-redes svg {
    width: 20px;
}


/* Sólo contenido */

.solo-contenido {
    width: 66.666%;
}

.solo-contenido .h1 {
    font-size: 4.0625rem;
    font-weight: 700;
    line-height: 115%;
    letter-spacing: -0.12188rem;
    padding: 0 0 32px 0;
}

body.page-template-page-la-asociacion .wrap-solo-contenido {
    background-image: url(img/fondo_logo_00.svg);
    background-repeat: no-repeat;
    background-position-x: right;
}

a.boton-asociate, a.boton-asociate:visited, a.boton-asociate:hover {
    display: inline-block;
    padding: 8px 18px;
    background-color: var(--primario);
    color: var(--blanco);
    text-transform: uppercase;
    text-decoration: none;
}


.lista-areas .area {
    display: flex;
    padding: 0 0 90px 0;
    font-size: 1rem;
}

.lista-areas .area .icono {
    margin: 0 40px 0 0;
}

.lista-areas .area .icono img {
    width: 100%;
    height: auto;
}

.lista-areas .area .contenido {

}

.lista-areas .area .contenido .texto-e-info {
    display: flex;
}

.lista-areas .area .contenido .texto-e-info .texto {
    width: 70%;
    margin: 0 90px 0 0;
}

.lista-areas .area .contenido .texto-e-info .texto .enlace-ver a, .lista-areas .area .texto .enlace-ver a:visited {
    font-weight: 700;
    text-decoration: none;
}

.lista-areas .area .contenido .texto-e-info .texto .enlace-ver a:hover {

}

.lista-areas .area .contenido .texto-e-info .texto .enlace-ver a svg {
    stroke: var(--primario);
}

.lista-areas .area .contenido .texto-e-info .info {

}

.lista-areas .area .contenido .texto-e-info .info a, .lista-areas .area .contenido .texto-e-info .info a:visited {
    text-decoration: none;
}

.lista-areas .area .contenido .texto-e-info .info a:hover {

}

.lista-asociados {
    display: flex;
    flex-wrap: wrap;
}

.lista-asociados .asociado {
    text-decoration: none;
    width: 50%;
    border: 1px solid var(--neutral-03);
    display: flex;
}

.lista-asociados .asociado .imagen {
    width: 30%;
    padding: 12px;
}

.lista-asociados .asociado .imagen img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.lista-asociados .asociado .info {
    width: 70%;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 0.875rem;
    padding: 0 32px 0 48px;
}

.lista-asociados .asociado .info h3 {
    font-size: 2rem;
    font-weight: 500;
    line-height: 120%;
}

.lista-asociados .asociado .info .tipo {
    padding-right: 0.5rem;
    font-weight: 700;
}

.lista-asociados .asociado .info .enlace-mas-info {
    font-weight: 700;
    text-decoration: none;
}

.lista-asociados .asociado .info .enlace-mas-info svg {
    stroke: var(--primario);
}


ul.lista-tags {
    list-style-type: none;
    padding: 0;
}

ul.lista-tags li {
    display: inline-block;
    margin-right: 24px;
    padding: 0px 8px;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--negro);
    background-color: var(--neutral-04);
}

ul.lista-tags li:last-child {
    margin-right: 0;
}


/* Sliders */

.slider-wrapper {
    overflow: hidden;
}

.slider {
    margin: 0 -30px 0 -30px;
}

.slide {
    padding: 0 30px 0 30px;
}

.slide img {
    width: 100%;
    height: auto;
}

.slick-dotted.slick-slider {
    margin-bottom: 60px;
}
.slick-dots {
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li {
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    font-size: 48px;
    line-height: 20px;
    width: 20px;
    height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    content: '·';
    color: var(--negro);
    opacity: 0.25;

    text-align: center;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
    opacity: 1;
}


/* Logos de patrocinadores */

.logos-patrocinadores {
    padding: 20px 0 51px 0;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.logos-patrocinadores .logo {
}


/* Bloque newsletter */

.bloque-newsletter {
    background-color: var(--primario);
    color: var(--blanco);
    font-size: 1rem;
}

.bloque-newsletter .barra {
    background-color: var(--acento);
    width: 100%;
    height: 70px;
    background-image: url(img/newsletter_barras_00.svg);
    background-repeat: repeat-x;
    background-position-x: 8px;
    background-position-y: 28px;
}

.bloque-newsletter .container {
    padding-top: 40px;
    padding-bottom: 40px;
}

.bloque-newsletter h2 {
    font-size: 3.125rem;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0 0 30px 0;
}

.bloque-newsletter a, .bloque-newsletter a:visited {
    text-decoration: underline;
    color: var(--acento);
}

.bloque-newsletter a:hover {
    text-decoration: underline;
    color: var(--acento);
}

.bloque-newsletter .formulario {

}

.bloque-newsletter .formulario form .campos {
    display: flex;
    gap: 0.5rem;
    padding: 0 0 30px 0;
}

.bloque-newsletter .formulario form .campos .mc-field-group {
    width: 100%;
}

.bloque-newsletter .formulario form .campos input {
    display: block;
    width: 100%;
    border: 0 none;
    padding: 0.25rem 0.5rem;
}

.bloque-newsletter .formulario form .campos button, .bloque-newsletter .formulario form .campos input[type=submit] {
    display: block;
    width: 40%;
    border: 0 none;
    color: var(--primario);
    background-color: var(--acento);
    text-transform: uppercase;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    padding: 0.5rem 1.25rem;
    height: fit-content;
}

.bloque-newsletter .formulario form label div {
    display: inline-block;
}

.bloque-newsletter .formulario form label input {
    margin-right: 0.5rem;
}

.bloque-newsletter .texto {
    padding: 64px 0 0 0;
}


/* Pie */

#pie {
    background-color: var(--negro);
    color: var(--blanco);
    padding: 40px 0 35px 0;
}

#pie a, #pie a:visited {
    color: var(--acento);
    text-decoration: none;
}

#pie a:hover {
    color: var(--acento);
    text-decoration: none;
}

#pie .logo {
    width: 108px;
    margin: 0 auto;
}

#pie .titulo {
    padding: 30px 0 0 0;
    text-transform: uppercase;
    text-align: center;
    font-size: 1.25rem;
}

#pie ul.enlaces-redes {
    list-style-type: none;
    padding: 40px 0 0 0;
    margin: 0;
    display: flex;
    gap: 24px;
    justify-content: center;
}

#pie ul.enlaces-redes svg {
    width: 32px;
    fill: var(--acento);
}

#pie ul.enlaces-redes svg.web {
    stroke: var(--acento);
}

#pie .texto {
    font-size: 0.75rem;
    padding: 40px 0 0 0;
    display: flex;
    justify-content: center;
}

#pie .copyright {
    color: var(--texto-negativo);
    padding: 0 1rem 0 0;
}

#pie .texto .enlaces a, #pie .texto .enlaces a:visited {
    color: var(--blanco);
}

#pie .texto .enlaces a:hover {
    color: var(--blanco);
}


/* Navegación mobile */

.button_container {
    display: none;
    position: fixed;
    top: 30px;
    right: 45px;
    height: 60px;
    width: 60px;
    cursor: pointer;
    z-index: 100;
    /*opacity: .7;*/
}

.button_container .icono-menu {
    display: block;
}

.button_container .icono-cerrar {
    display: none;
}

.button_container.active .icono-menu {
    display: none;
}

.button_container.active .icono-cerrar {
    display: block;
}

.overlay {
    position: fixed;
    background: var(--primario);
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    /*opacity: 0;*/
    visibility: hidden;
    -webkit-transition: opacity .35s, visibility .35s, height .35s;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: hidden;
    z-index: 80;
}

.overlay.open {
    /*opacity: .9;*/
    visibility: visible;
    height: 100%;
}

.overlay nav {
}

.overlay nav ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: center;
}

.overlay nav ul li {
    display: block;
    text-align: center;
}

.overlay nav ul li a {
    display: block;
    width: 100%;
    color: var(--blanco);
    text-decoration: none;
    overflow: hidden;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 90px;
    padding-bottom: 0.5rem;
}

.overlay nav ul li a:hover {
    color: var(--blanco);
    background-color: var(--primario-oscuro);
}

.overlay nav ul li a:hover:after, .overlay nav ul li a:focus:after, .overlay nav ul li a:active:after {
    width: 100%;
}

.overlay nav ul li a em {
    font-style: normal;
}



/* Wordpress */

.wp-block-image {
    padding: 64px 0;
}

.wp-block-image img {
    max-width: 100%;
    height: auto;
}

.wp-block-quote {
    padding: 48px 0;
    margin: 48px 0;
    font-size: 3rem;
    font-weight: 700;
    line-height: 120%;
    border-top: 1px solid var(--primario);
    border-bottom: 1px solid var(--primario);
}

.wp-block-quote cite {
    font-size: 2rem;
    font-weight: 500;
}



/* Media queries */
@media (max-width: 1100px) {
    /* Cabecera */

    #redes-cabecera {
        display: none;
    }
    
    #cabecera {
        padding: 40px 0 20px 0;
        overflow: hidden;
    }

    #cabecera .wrap .barra .nav {
        display: none;
    }

    #cabecera .wrap .barra .trozo {
        left: calc(-10000px + 15px + 40px);
    }

    #cabecera .wrap .barra > svg {
        left: 40px;
    }

    #cabecera .wrap .barra .nombre {
        padding: 0 22px 0 calc(120px + 40px);
    }

    /* Contenido */

    .sombra::after {
        display: none;
    }

    .sin-padding-lados-mobile {
        margin-left: calc(var(--bs-gutter-x) * -.5);
        margin-right: calc(var(--bs-gutter-x) * -.5);
    }

    /* Portada */

    .bloque-portada .post .wrap-texto {
        position: relative;
        width: 100%;
        left: 0;
        bottom: 0;
    }

    .bloque-portada .post .texto a {
        padding: 0 0 20px 0;
    }

    /* Lista de posts */

    .lista-posts {
        display: block;
    }

    .lista-posts .post {
        width: 100%;
    }

    .lista-posts .post .texto a {
        padding: 0 0 40px 0;
    }

    .contenido-y-lateral .lateral .bloque-noticias {
        padding: 4rem 0 0 0;
    }

    /* Iniciativa */

    .bloque-iniciativa {
        padding-top: 0;
    }

    .iniciativa {
        display: block;
    }

    .iniciativa .texto {
        width: 100%;
        padding: 0 0 48px 0;
    }

    .iniciativa .imagen-iniciativa {
        width: 100%;
    }

    /* Agenda inicio */

    .bloque-agenda .eventos .evento {
        width: 100%;
        flex-direction: row-reverse;
    }

    .bloque-agenda .eventos .evento .info {
        padding: 0 40px 0 0;
    }

    .bloque-agenda .cabecera {
        display: block;
    }

    .bloque-agenda .cabecera .titulo {
        width: 100%;
    }

    .bloque-agenda .cabecera .contenedor-filtros {
        width: 100%;
        background-color: var(--neutral-01);
        border-radius: 4px;
        display: flex;
        flex-direction: column;
    }

    .bloque-agenda .cabecera .contenedor-filtros .titulo-filtros {
        display: block;
        padding: 0 0 1rem 0;
        display: flex;
        padding: 1rem 1rem 1rem 1.2rem;
    }

    .bloque-agenda .cabecera .contenedor-filtros .titulo-filtros .botones .boton-abrir {
        cursor: pointer;
    }

    .bloque-agenda .cabecera .contenedor-filtros .titulo-filtros .botones .boton-cerrar {
        cursor: pointer;
    }

    .bloque-agenda .cabecera .contenedor-filtros input, .bloque-agenda .cabecera .contenedor-filtros #fecha {
        margin: 0 auto 1rem 1.2rem;
        text-align: left;
    }

    .bloque-agenda .cabecera .contenedor-filtros input, .bloque-agenda .cabecera .contenedor-filtros select {
        background-color: var(--neutral-01);
    }

    .bloque-agenda .cabecera .filtros {
        width: 100%;
        flex-direction: column;
    }

    .bloque-agenda .cabecera .filtros select {
        width: fit-content;
        margin: 0 auto 0.5rem auto;
    }

    .bloque-agenda .cabecera .filtros .custom-select-container {
        width: 100%;
    }

    .bloque-agenda .cabecera .filtros .custom-select-container .custom-select {
        width: 100%;
    }

    .bloque-agenda #fecha {
        text-align: center;
        width: fit-content;
        margin: 0 auto 0.5rem auto;
    }

    /* Imagen destacada */

    .imagen-destacada {
        padding: 0 0 40px 0;
    }

    .imagen-destacada img {
        border-radius: 0;
    }

    /* Contenido y lateral */

    .contenido-y-lateral {
        display: block;
    }

    .contenido-y-lateral .contenido {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6;
    }

    .contenido-y-lateral .lateral {
        width: 100%;
        padding: 0 0 0 0;
    }

    .contenido-y-lateral .contenido h1 {
        font-size: 2.25rem;
    }


    /* Sólo contenido */

    .solo-contenido {
        width: 100%;
    }

    .solo-contenido .h1 {
        font-size: 2.25rem;
    }

    body.page-template-page-la-asociacion .wrap-solo-contenido {
        background-image: url(img/fondo_logo_00.svg);
        background-repeat: no-repeat;
        background-position-x: right;
    }



    .lista-areas .area {
        display: block;
    }

    .lista-areas .area .icono {
        width: 100%;
        padding: 0 0 1rem 0;
    }

    .lista-areas .area .icono img {
        display: block;
        margin: 0 auto;
        max-width: 160px;
    }

    .lista-areas .area .contenido {
        width: 100%;
    }

    .lista-areas .area .contenido h2 {
        text-align: center;
    }

    .lista-areas .area .contenido .texto-e-info {
        display: block;
    }

    .lista-areas .area .contenido .texto-e-info .texto {
        width: 100%;
        padding: 0 0 1rem 0;
    }

    .lista-areas .area .contenido .texto-e-info .info {
        width: 100%;
    }


    .lista-asociados {
        display: block;
    }

    .lista-asociados .asociado {
        width: 100%;
    }


    /* Bloque newsletter */

    .bloque-newsletter .formulario form .campos {
        display: block;
    }

    .bloque-newsletter .formulario form .campos input, .bloque-newsletter .formulario form .campos input[type=submit] {
        width: 100%;
        margin: 0 0 1rem 0;
    }

    .bloque-newsletter .formulario form .campos button {
        width: 100%;
    }

    /* Ruta de página */

    .ruta-pagina {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    /* Pie */

    #pie .texto {
        display: block;
        text-align: center
    }

    #pie .copyright {
        padding: 0 0 0 0;
    }

    /* Navegación mobile */

    .button_container {
        display: block;
        top: 15px;
        right: 20px;
    }

    .overlay {
        padding: 0 2rem;
    }
    .overlay nav ul li {
        padding-bottom: 2rem;
    }
    .overlay nav ul li a {
        font-size: 36px;
        line-height: 1.2;
    }

    /* Wordpress */

    .wp-block-quote {
        font-size: 2rem;
    }

    .wp-block-quote cite {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .slide {
        padding: 0 0 0 0;
    }
}

.fixed-position {
    overflow: hidden;
}











/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
