/*! normalize.css v8.0.1*/
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}


@font-face {
    font-family: 'GothamRounded-Book';
    src: url('fuentes/GothamRounded-Book.woff2') format('woff2'),
        url('fuentes/GothamRounded-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamRounded-Bold';
    src: url('fuentes/GothamRounded-Bold.woff2') format('woff2'),
        url('fuentes/GothamRounded-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Regular';
    src: url('fuentes/Montserrat-Regular.woff2') format('woff2'),
        url('fuentes/Montserrat-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-ExtraBold';
    src: url('fuentes/Montserrat-ExtraBold.woff2') format('woff2'),
        url('fuentes/Montserrat-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat-Bold';
    src: url('fuentes/Montserrat-Bold.woff2') format('woff2'),
        url('fuentes/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}




html {
  overflow-x: hidden;
  height: -webkit-fill-available;
  scroll-behavior: smooth;

}

*,
*::before,
*::after {
  box-sizing: border-box;

}


body {
  background-color: #fff;
  margin: 0;
  padding: 0;
  transition: opacity ease-out 400ms;
  font-family: 'Montserrat-Regular';
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
 font-size: 18px;
 color:#000;
 text-align: left;
 line-height: 1.3;
}

a {color:#0D1846;}

h1 {margin: 80px 0 40px; padding: 0px; font-family: 'Montserrat-Bold'; font-weight: normal; color: #002060; font-size: 40px; line-height: 1.2;}
h2 {margin: 20px 0 30px 0; padding: 0px; font-size: 18px; color: #000; font-family: 'Montserrat-Regular'; font-weight: normal; text-align: left;}
h3 {margin: 20px 0 20px 0; padding: 0px; font-size: 25px; color: #002060; font-family: 'Montserrat-Bold'; font-weight: normal; line-height: 1.2;}

h3.montserrat {font-family: 'Montserrat-Bold'; font-weight: normal;  }
h3.montserrat a {color:#002060; font-size: 20px;}
h3.montserrat a:hover {text-decoration: none;}

p.montserrat {font-family: 'Montserrat-Regular'; font-weight: normal; }

h2 strong { font-family: 'Montserrat-Bold'; font-weight: normal;}
.mas {display: block; color: #0079C8; text-decoration: underline; margin-top: 10px;}
.mas:hover {color:#000; text-decoration: none;}

img {max-width: 100%; height: auto; display: block;}
.logo {display: inline-block; width: 120px;}
header .container {width: 1550px; max-width: 100%; margin: 0 auto;}
.container {width: 100%; max-width: 100%; margin: 0 auto;}

.row {width: 1080px; max-width: 100%; margin: 0 auto;}

.columnas {display: flex; justify-content: center;}

header {}
.header-top {background-color:#F1EFEB; padding: 20px;}
.header-top .container {position: relative;}
.header-top .logo {width: 150px; display: block;}
.video-hero {}
.video-hero img {width: 100%; height: 60vh; object-fit: cover;}

.hero {text-align: center; padding-bottom: 40px;}
.hero p {font-size: 20px; padding: 0px; margin: 20px 0 40px;}
.play {position: relative; cursor: pointer; overflow: hidden; background-color: #000;}
.play svg {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; width: 80px;}
.play img {display: block; opacity: 0.8;}

.iconos {display: flex; width: 78%; margin:60px auto;}
.iconos div {width: 25%; text-align: center;}
.iconos div span img {display: block; width: auto; height: 90px; margin: 0 auto; margin-bottom: 10px;}
.iconos div span {text-decoration:none; font-family: 'Montserrat-Bold'; font-weight: normal;}

.redes {position: absolute; right: 0px; top:-2px;}
.redes span {display: inline-block; vertical-align: middle; width: 35px; padding: 2px 2px;}
.redes span img {width: 100%;}

#form {background-color:#F1EFEB; padding: 20px 0px; text-align: center;}
#form .row {background-color:#0079C8; color:#fff; padding: 20px 60px; border-radius: 50px; }
#form h2 {padding: 0px; margin: 0 0 0px; font-size: 18px; color: #fff; text-align: center;}
#form p {padding: 0px; margin: 0 0 20px; }
#form small {padding: 0px; margin: 20px 0 20px; font-size: 16px; display:block; }
#form small .legal {text-decoration: underline; color: #fff; cursor: pointer;}
#form form {display: flex;}
#form .email {background-color: #fff; padding: 10px 20px; width: calc(85% - 10px); margin-right: 10px; border: 0px;}
#form .btn {background-color: #002060; cursor: pointer; border: 0px; font-siez: 20px; color: #fff; font-family: 'Montserrat-Bold'; font-weight: normal; border-radius: 10px;  padding: 10px 10px; width:15%; text-align:center; }

#form p.form-msg--error {margin-top:20px; padding: 10px; font-weight: 700; color:#fff; background-color:red }
#form p.form-msg--success {margin-top:20px; padding: 10px; font-weight: 700; color:#fff; background-color:#439135 }



#destacados {background-color:#F1EFEB; padding: 50px 0px; }
#destacados .row { display:flex; flex-wrap:wrap; gap:40px; }
#destacados .row article {width: calc(50% - 20px);}
#destacados .img {overflow: hidden;}
#destacados .img img {object-fit: cover; width: 100%; height: 320px;}
#destacados a {text-decoration: none;}
#destacados .feature-body {display: flex; align-items: center; justify-content: center; background-color: #fff}
#destacados .feature-body h2 {width: calc(100% - 150px); padding-left: 20px;}
#destacados .feature-body .feature-btn {width:150px; padding:10px; }
#destacados .feature-body .btn {  padding: 10px 40px 10px 10px; display: inline-block; color: #fff; text-decoration: none; border-radius: 5px; background: #002060 url("img/arrow.svg") no-repeat  calc(100% - 10px) center; background-size: 10px;}

#deporte {padding: 40px; text-align: center;}
#deporte img {max-width: 50%; margin: 40px auto;}

.active .video-img img, .active svg, .active .video-container {display: none;}
.imagen-contenedor {
    width: 100%; /* O el ancho que desees */
    height: 0;
    padding-top: 56.25%; /* Esto crea un aspecto 16:9 */
    overflow: hidden; /* Para ocultar el desbordamiento */
    position: relative; /* Posicionamiento relativo para el contenido */
}

.imagen-contenedor img {
    position: absolute; /* Posicionamiento absoluto para la imagen */
    top: 50%; /* Centra la imagen verticalmente */
    left: 50%; /* Centra la imagen horizontalmente */
    width: 100%; /* Ancho completo */
    height: 100%; /* Alto completo */
    object-fit: cover; /* Asegura que la imagen cubra el contenedor */
    transform: translate(-50%, -50%); /* Ajusta la imagen para centrarla */
}

.youtube {
    display: none;
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-wrapper {
  position: relative;
  width: 100%;
  /* 16:9 → 9 / 16 = 0.5625 → 56.25% */
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;      /* o "contain" si prefieres que no recorte */
}

/**/

.cabecera-video {padding: 0 60px 20px 60px; position: relative; display: flex;}
.cabecera-video .logo {}
.cabecera-video h1 {font-size: 35px; padding: 20px 20px 20px 40px; margin: 0px;}
.cabecera-video .redes {position: absolute; right: 60px; top:40px;}

.video-container { position: relative;   width: 100%; padding-bottom: 37.50%; /* 56.25 Relación de aspecto 16:9 */ overflow: hidden; }
.video-container video { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%;}

.row.reducido {max-width: 980px; padding-bottom: 40px;}
.destaca {font-size: 25px; padding-bottom: 2s0px;}
#contenido .lista-videos {background-color:#F1EFEB; padding: 80px 0px;}

.protagonistas {border: 1px solid #cdcdcd; margin-top: 20px; padding: 20px;}


/*footer*/

footer {font-size: 16px; padding: 80px 0px; background-color: #0D1846; color: #fff; display: flex;}
footer .row {display: flex;  align-items: center; justify-content: center; }

footer .logo {width: 120px; margin-right:50px;}
footer span {margin-right:40px; display: inline-block;}
footer a {color: #FFF; }

.nav-footer {list-style: none; padding: 0px; margin: 0px 0px 0px 5px;}
.nav-footer li {padding: 5px; display: inline-block; padding-right:40px;}
.nav-footer li:last-child {padding-right: 0px;}
.cerrar {opacity:0; cursor: pointer; display:block; width: 30px; height:30px; background: transparent url("img/cerrar2.svg") no-repeat  center 0; background-size:  100%;}

/*pop-up*/
.pop-up {display: none; position: fixed; background:#0D1846; z-index: 10; left: 0px; top:0px; width: 100%; height: 100%; overflow: hidden;}
.pop-up .bl_video {width:100%; max-width:60vw; position: absolute; left: 50%; top:50%;  transform: translate(-50%, -50%); }
.pop-up .bl_video video {width: 100%;}
.pop-up.active {opacity: 1; display: block;  width:100%;  animation: animacion_aparece 1s  backwards  ease; animation-delay: 0s;}
.pop-up.active .bl_video video {opacity: 1; animation: animacion_aparece 1s  backwards  ease; animation-delay: 1s;}
.pop-up.cerrar_video .bl_video video { opacity: 0; animation: animacion_desaparece 1s  backwards  ease; animation-delay: 0s;}
.pop-up.cerrar_video   {opacity: 1;  animation: animacion_desaparece 1s  backwards  ease; animation-delay: 1.0s;}
.pop-up .cerrar {opacity:1; position:absolute; top:30px; right: 30px;}
.pop-up.active .cerrar  {opacity: 1; animation: animacion_aparece 1s  backwards  ease; animation-delay: 1s;}
.pop-up.cerrar_video  .cerrar { opacity: 0; animation: animacion_desaparece 1s  backwards  ease; animation-delay: 0.5s;}
.contributed { background-color: #fff; padding: 40px; overflow: auto; position: absolute;max-height: 100%; height: auto; max-height: 90vh; width: 80rem;max-width: 80% !important; left: 50%;top: 50%; transform: translate(-50%, -50%); border-radius: 1.6rem;}



/*anima*/

header .logo {animation: animacion_aparece_sube 0.8s  backwards  ease; animation-delay: 0.4s}
.video-hero  {animation: animacion_aparece 0.8s  backwards  ease; animation-delay: 0.5s}

.video-hero + .row {animation: animacion_aparece_sube 0.8s  backwards  ease; animation-delay: 0.6s}

.youtube.active {animation: animacion_aparece 0.8s  backwards  ease; animation-delay: 0.5s}

.video:hover img {transform: scale(1.1);}
.play:hover img {transform: scale(1.1);}

.video-grande .play:hover video {transform: scale(1.0);}
.redes span:hover {transform: scale(1.1); opacity: 0.6;}
.video:hover h3 {color: #0079C8;}
.video:hover .nombre {background-color: #0D1846;}
.nav-footer a:hover {text-decoration: none;}

#destacados a:hover {box-shadow: 0px 3px 30px rgba(44, 44, 44, 0.1);}
#destacados a:hover .img img {transform: scale(1.1);}
#destacados a:hover .btn {background-color: #0079C8;}
#form .btn:hover {background-color: #1448B1;}

/**/
.play img, .play svg, .play video, h3, .video .nombre, .redes span, #destacados img, #destacados span
 {
  -webkit-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


@keyframes animacion_aparece_sube {
    0%   {opacity:0; transform: translateY(20%); }
    80%  {opacity:1; transform: translateY(0%); }
    100%  {opacity:1; transform: translateY(0%); }
  }

@keyframes animacion_aparece {
    0%   {opacity:0;  }
    100%  {opacity:1;  }
}

@keyframes animacion_desaparece {
    0%   {opacity:1;  }
    100%  {opacity:0;  }
}
@keyframes animacion_aparece_derecha {
    0%   {opacity:0; transform: translateX(20%); }
    80%  {opacity:1; transform: translateX(0%); }
    100%  {opacity:1; transform: translateX(0%); }
  }

@keyframes animacion_aparece_izquierda {
    0%   {opacity:0; transform: translateX(-20%); }
    80%  {opacity:1; transform: translateX(0%); }
    100%  {opacity:1; transform: translateX(0%); }
  }



/**/

@media only screen and (max-width: 1500px) {
  .row {width: 1300px;}
}

@media only screen and (max-width: 1400px) {
  .row {width: 1250px;}
  h3 {font-size: 32px;}
  .video .nombre {font-size: 20px;}

}

@media only screen and (max-width: 1350px) {
  .row {width: 1200px;}
  h3 {font-size: 26px;}
}



@media only screen and (max-width: 600px) {
    body {font-size: 15px;}
    h1 {  margin: 40px 0 20px; font-size: 18px;}
    h2 {font-size: 15px;}
    .hero p {font-size: 15px;}
    .hero {padding-bottom: 20px;}
    .row {max-width: 90%; margin: 0 auto;}
    .iconos {display: flex; width: 90%; margin:60px auto; flex-wrap: wrap;}
    .iconos div {width: 50%; text-align: center; padding-bottom: 30px;}
    .iconos div a {font-size: 15px;}

    #form form {display: block;}
    #form .row {padding: 20px; border-radius: 30px;}
    #form .email {width:100%;}
    #form .btn {width:auto; margin-top:10px; padding: 10px 40px; }
    #form h2, #form p {font-size: 15px; text-align: center;}
    #form small {font-size: 12px;}
    #destacados .row { display:flex; flex-wrap:wrap; gap:0px; }
    #destacados .row article {width: 100%; margin-bottom:20px; }
    #destacados .feature-body h2 {width: calc(100% - 120px); padding-left: 20px;}
    #destacados .feature-body .feature-btn {width:120px; padding:10px; }
    #destacados .feature-body .btn {  padding: 5px 20px 5px 5px; display: inline-block; background-color:#002060; color: #fff; text-decoration: none; border-radius: 5px;}

    #deporte {padding: 20px;}
    #deporte img {max-width: 100%;}

    footer {font-size: 14px; padding: 50px 0px; display: block; text-align: center;}
    footer .row {display: block;   }

    footer .logo {width: 100px; margin:0px auto 20px;}
    footer span {margin-right:0px; margin-bottom:20px;display: block;}
    footer a {color: #FFF; }
    .nav-footer li {margin: 0px; padding: 5px 10px;}
    
    .video-container { position: relative;   width: 100%; padding-bottom: 56%; /* 56.25 Relación de aspecto 16:9 */ overflow: hidden; }
    .video-container video { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; transform: scale(1.5);}

}