/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* OUTLINE */

*:focus { outline: 3px solid orange; }

/* ESTILOS COMUNES */

.zindex0 {
    z-index: 0 !important;
}

.zindex1 {
    z-index: 1 !important;
}

.zindex2 {
    z-index: 2 !important;
}

.zindex3 {
    z-index: 3 !important;
}

body {
    font-family: var(--f-secondary);
    color: var(--c-grey);
    font-size: 1rem;
    line-height: 1.5rem;
    scroll-behavior: smooth;
    overflow-y: scroll !important;
    overflow-x: hidden;
}

a {
    text-decoration: none;
}

a, a:hover {
    transition: all 0.4s ease !important;
}

a.generate-back-to-top {
    border-radius: 10px 10px 0 10px;
    background: var(--c-primary);
}

a.generate-back-to-top:hover,
a.generate-back-to-top:focus {
    background: var(--gradient-conic);
}

.blur {
    backdrop-filter: blur(2px);
}

.shadow>div.vce-col-inner,
.shadow.vce-row {
    box-shadow: var(--shadow);
}

.deg-radial {
    background: var(--gradient-radial);
}

.deg-conic {
    background: var(--gradient-conic);
}

.border20 {
    border-radius: 20px;
}

.border40 {
    border-radius: 40px;
}

.funding-box a {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-family: var(--f-primary);
}


/* TITULARES */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--f-primary);
}

h1 {
    font-size: 2.5rem;
    line-height: 3.75rem;
    font-weight: 400;
}

h2 {
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 400;
    text-transform: uppercase;
}

h3 {
    font-size: 1.438rem;
    line-height: 2.157rem;
    font-weight: 400;
    text-transform: uppercase;
    background: var(--gradient-radial);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

h4 {
    font-size: 1.3rem;
    line-height: 1.95rem;
    font-weight: 600;
}

h5 {
    font-size: 1.2rem;
    line-height: 2.52rem;
    font-weight: 500;
}

h6 {
    font-size: 1.1rem;
    line-height: 1.65rem;
    font-weight: 600;
    text-transform: uppercase;
}



/* TEXTOS */

.txt-white {
    color: var(--c-white);
}

.txt-white h3 {
    -webkit-text-fill-color: var(--c-white);
}

.txt-blue,
.tits-blue h2 {
    color: var(--c-primary);
}

.txt-big {
    font-size: 1.15rem;
    line-height: 2.07rem;
}

.txt-destacado {
    font-family: var(--f-primary);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.95rem;
    letter-spacing: 0.05rem;
}

.num-big {
    font-family: var(--f-primary);
    font-weight: 600;
    font-size: 1.65rem;
    line-height: 2.745rem;
}

.num-big .vce-text-block-wrapper, .num-big p {
    margin-bottom: 0;
}

.let-peq {
    font-size: 0.8rem;
    line-height: 1.2rem;
}

.mayus {
    text-transform: uppercase;
}

.bold {
    font-weight: 700;
}

/* COMÚN  PÁGINAS */
/*CTA contacto*/
.circle-blur {
    overflow: hidden;
}

.circle-blur::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    right: -300px;
    bottom: -400px;
    background: var(--c-primary);
    filter: blur(250px);
}

/*cabecera páginas*/
.cab-interior {
    background: linear-gradient(50% 712.4% at 50% 100%, #ededed 0%, #cecece 100%);
    overflow: hidden;
}

.cab-interior::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    right: -300px;
    bottom: -400px;
    background: var(--c-primary);
    filter: blur(250px);
}

.cab-interior h1 {
    text-transform: uppercase;
}


/* PORTADA/HOME */
.cab-home {
    background: url(/wp-content/uploads/2023/11/fondo-3.png);
    background-size: 37%;
    background-position: top right;
    background-repeat: no-repeat;
}

.cab-home h1 {
    font-size: 5.625rem;
    line-height: 8.44rem;
    font-weight: 700;
    background: var(--gradient-radial);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-left: 35px;
}

.cab-home h1>span {
    position: relative;
}

.cab-home h1>span::after {
    content: "";
    width: 105px;
    height: 120px;
    background: url(/wp-content/uploads/2023/11/inicial-logo.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.cab-home h2 {
    text-transform: none;
}

.flecha-home {
    position: relative;
}

.flecha-home .vce-single-image-wrapper {
    background-color: var(--c-white);
    border-radius: 50px;
    box-shadow: var(--shadow);
    padding: 20px 10px;
    position: absolute;
    top: 0;
    left: 0;
    animation: 3s flecha infinite;
}

@keyframes flecha {
    0% {
        top: 0;
    }
    50% {
        top: 40px;
    }
    100% {
        top: 0;
    }
}

.cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item {
    background-size: contain;
    background-position: 100% -30px;
}

.cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
    background-size: contain;
    background-position: 100% -18px;
}

/* VÍDEOS */
.img-video a {
    position: relative;
}

.img-video a::after {
    content: "";
    position: absolute;
    background: url(/wp-content/uploads/2025/01/ico-play.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 60px;
    height: 60px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 3;
    object-fit: contain;
    border-radius: 100px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
    transform: scale(1);
    transition: all 0.4s ease;
}

.img-video a:hover::after {
    transform: scale(1.1);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}

/* EQUIPO */
#equipo h2 {
    font-size: 1.75rem;
    line-height: 1.5em;
    text-transform: initial;
}

/* LOGOS MIEMBROS */
.miembros img {
    max-height: 80% !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: auto !important;
}

/* VÍDEO CONÓCENOS */
.video {
    height: 450px;
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.video>.vce-col-inner {
    position: relative;
    z-index: 0;
}

.video>.vce-col-inner::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 20px;
    background: radial-gradient(#0f0f0f 0%, #2194A6 40%);
    opacity: 0.08;
    z-index: 0;
}

.video .vce-raw-html-wrapper {
    text-align: center;
}

.video .link-video {
    position: relative;
    z-index: 2;
}

.video .ico-play {
    width: 80px;
    height: 80px;
    fill: var(--c-black);
}

/* CURSOS CARDS */
.cursos h3 {
    font-size: 1.3rem;
    line-height: 1.5em;
}

/* CONTACTO */
.ico-contacto {
    width: 110px;
    height: 105px;
    margin: auto;
}

.ico-contacto img {
    object-fit: contain !important;
}

.ico-contacto ~ .txt-destacado p {
    margin-bottom: 20px;
    margin-top: 15px;
}

.mapa .vce-google-maps-wrapper, .mapa .vce-google-maps-wrapper iframe {
    width: 100% !important;
    max-height: 550px;
    border-radius: 0 20px 20px 0;
}

.vce-faq-toggle-text-block {
    padding-bottom: 40px;
}

/*--- CONVOCATORIAS / BLOG -----*/
body.single-post #page ,
body.single-convocatoria #page {
    padding: 40px 20px;
}

body.single-post .entry-header,
body.single-convocatoria .entry-header {
    padding: 20px;
    color: var(--c-white);
    background: var(--gradient-radial);
    border-radius: 20px;
    margin-bottom: 20px;
}

body.single-post .entry-header .entry-meta {
    color: var(--c-white);
}

body.single-post .entry-content ,
body.single-convocatoria .entry-content {
    padding: 20px;
}

body.single-post  .widget-area #custom_html-2,
body.single-convocatoria  .widget-area #custom_html-2 {
    padding: 0 0 0 40px !important;
}


/* ----- RESPONSIVE ------ */
@media screen and (max-width: 1400px) {
    .cab-home {
        background-size: 47%;
    }

    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-position: 125% -30px;
    }
}

@media screen and (max-width: 1200px) {
    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-size: 75%;
        background-position: 100% 10%;
    }

    .cab-home {
        background-size: 57%;
        background-position: 122% 0;
    }
}

@media screen and (max-width: 1024px) {
    .cab-home {
        background-size: 63%;
        background-position: 150% 0;
    }
}

@media screen and (max-width: 991px) {
    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-size: 75%;
        background-position: 100% 20%;
    }

    .cab-home h1 {
        font-size: 4.375rem;
        line-height: 6.5625rem;
    }

    .cab-home h1>span::after {
        width: 85px;
        height: 95px;
    }

    .ico-contacto {
        width: 95px;
        height: 90px;
    }

    .mapa .vce-col-content,
    .mapa .vce-google-maps-wrapper, .mapa .vce-google-maps-wrapper iframe {
        height: 550px;
    }
}

@media screen and (max-width: 850px) {
    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-size: 70%;
        background-position: 100% 32%;
    }

    .video {
        height: 400px;
    }
}

@media screen and (max-width: 767px) {
    .salto-pc {
        display: none;
    }

    .tabla-cookies {
        overflow-x: scroll;
        scrollbar-color: var(--c-primary) var(--c-primary);
    }

    .cab-home {
        background-size: 53%;
        background-position: 130% 0;
    }

    .mapa .vce-col-content ,
    .mapa .vce-google-maps-wrapper, .mapa .vce-google-maps-wrapper iframe {
        max-height: 350px;
        border-radius: 20px 20px 0 0;
    }

    .video {
        height: 350px;
    }

    body.single-post .entry-content {
        padding: 0;
    }

    body.single-post  .widget-area #custom_html-2,
    body.single-convocatoria  .widget-area #custom_html-2 {
        padding: 20px !important;
    }

    .search-results .site {
      padding: 20px;
    }

    .search-results h1 {
      font-size: 1.8em;
      line-height: 1.3em;
      margin-bottom: 30px!important;
    }

    .search-results h2 {
      font-size: 1.5em;
      line-height: 1.3em;
      margin-bottom: 30px!important;
    }
}

@media screen and (max-width: 600px) {
    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-size: 62%;
        background-position: 100% 50%;
    }

    .cab-home {
        background-size: 72%;
        background-position: 200% 0;
    }

    .ico-contacto {
        width: 65px;
        height: 70px;
    }

    .video {
        height: 300px;
    }
}

@media screen and (max-width: 500px) {
    .cab-home h1 {
        font-size: 3rem;
        line-height: 4.5rem;
        margin-left: 25px;
    }

    .cab-home h1>span::after {
        width: 65px;
        height: 65px;
    }

    .video {
        height: 250px;
    }

    .cab-interior h1 {
        text-transform: uppercase;
        font-size: 2.2rem;
        line-height: 2.6rem;
    }
}

@media screen and (max-width: 543px) {
    .cta-contacto .vce-asset-background-simple .vce-asset-background-simple-item,
    .cta-contacto.zindex0 .vce-asset-background-simple .vce-asset-background-simple-item {
        background-size: 65%;
        background-position: 100% 93%;
    }

    .center-mv * {
        text-align: center !important;
        margin: auto;
    }
}

/* ajustar espacio lista enlaces tecnologías */
.links-tecnologias {
    p {
        margin-bottom: 0;
    }
}

/* botones flotantes móvil */
@media screen and (max-width: 767px) {
    a.generate-back-to-top {
        bottom: 80px;
        right: 20px;
    }
}

.lista ul {
    list-style: none;
    margin-left: 25px;

    li {
        position: relative;

        &::before {
            content: "";
            background: var(--gradient-conic);
            width: 10px;
            height: 10px;
            border-radius: 20px;
            position: absolute;
            left: -20px;
            top: 6px;
        }
    }
}