/*---------------------------------------- Imports -----------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700&display=block'); /*display=swap*/

/*---------------------------------------- Modificaciones para ARQDIS -----------------------------------------*/
footer {

    margin-top: 0;
}

footer .scroll-top-icon {
    display: none;
}

/*--------------------------------------- CSS Reset ----------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
    border-spacing: 0;
}
a{
    text-decoration: none;
}
button{
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
}
address{
    font-style: normal;
}

.cdatos-root *, .cdatos-root *::before, .cdatos-root *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 overflow-wrap: unset;
}

.cdatos-root {
    line-height: 1.42857143;
}

/*--------------------------------------- Generales ----------------------------------------*/
.cdatos-root{
    /*-------- TipografÃƒÂ­a --------*/
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: var(--cdatos-root-fz);

    --cdatos-root-fz: 14.5px;

    --fz-9pt: calc( 0.7*var(--cdatos-root-fz) );
    --fz-10pt: calc( 0.85*var(--cdatos-root-fz) );
    --fz-11pt: calc( 0.925*var(--cdatos-root-fz) );
    --fz-12pt: calc( 1*var(--cdatos-root-fz) );
    --fz-13pt: calc( 1.0625*var(--cdatos-root-fz) );
    --fz-14pt: calc( 1.125*var(--cdatos-root-fz) );
    --fz-15pt: calc( 1.25*var(--cdatos-root-fz) );
    --fz-16pt: calc( 1.3*var(--cdatos-root-fz) );
    --fz-17pt: calc( 1.4*var(--cdatos-root-fz) );
    --fz-18pt: calc( 1.5*var(--cdatos-root-fz) );
    --fz-20pt: calc( 1.625*var(--cdatos-root-fz) );
    --fz-22pt: calc( 1.83*var(--cdatos-root-fz) );
    --fz-24pt: calc( 2*var(--cdatos-root-fz) );
    --fz-26pt: calc( 2.16*var(--cdatos-root-fz) );
    --fz-28pt: calc( 2.33*var(--cdatos-root-fz) );
    --fz-30pt: calc( 2.5*var(--cdatos-root-fz) );
    --fz-32pt: calc( 2.66*var(--cdatos-root-fz) );
    --fz-35pt: calc( 2.9*var(--cdatos-root-fz) );
    --fz-40pt: calc( 3.3*var(--cdatos-root-fz) );
    --fz-45pt: calc( 3.75*var(--cdatos-root-fz) );
    --fz-50pt: calc( 4.16*var(--cdatos-root-fz) );
    --fz-60pt: calc( 5*var(--cdatos-root-fz) );
    --fz-65pt: calc( 5.41*var(--cdatos-root-fz) );
    --fz-70pt: calc( 5.83*var(--cdatos-root-fz) );
    --fz-85pt: calc( 7.08*var(--cdatos-root-fz) );
    --fz-90pt: calc( 7.5*var(--cdatos-root-fz) );
    --fz-100pt: calc( 8.3*var(--cdatos-root-fz) );
    --fz-115pt: calc( 9.58*var(--cdatos-root-fz) );
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;


    /*---------- GrÃƒÂ¡fica ---------*/
    --cdatos-c1: #000000;
    --cdatos-c2: #ffffff;
    --cdatos-c3: #0000ff;
    --cdatos-c4: #a7a7a7;
    --cdatos-c5: #fff138;
    --cdatos-c6: #5b5bff;
    --arqids-c7: #13a2e2;

    --masthead-h: 111px;
    --viewport-h: 100vh;
    --max-content-w: 2200px;
    --side-pad: 50px;
}

.cdatos-root * {
    font-family: inherit !important;
}

html {
    scroll-behavior: smooth;
}

/* ---- Cuerpos de texto ---- */

.cdatos-root p{
    font-size: var(--fz-16pt);
    color: var(--cdatos-c1);
    margin-bottom: 1.3em;
    line-height: 1.4em;
}

p.cdatos-cuerpo-hero {
    font-size: var(--fz-18pt);
    color: var(--cdatos-c2);
}

.cdatos-root strong{
    font-weight: 700;
}

.cdatos-root em{
    font-style: italic;
}

/* ---- Headers y subheaders ---- */
.cdatos-h1,
.cdatos-h2,
.cdatos-h3,
p.cdatos-subtitulo-h1,
p.cdatos-subtitulo-h2,
p.cdatos-subtitulo-h3 {
    line-height: 1em;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 0.3em;
    display: block;
}

.cdatos-h1,
.cdatos-hero-info {
    font-size: var(--fz-115pt);
    color: var(--cdatos-c2);
}

.cdatos-hero-info nav {
    font-size: 0;
}

.cdatos-h1{
    margin-top: -0.15em;
}

.cdatos-h2,
.cdatos-section {
    font-size: var(--fz-30pt);
    color: var(--cdatos-c1);
    margin-bottom: 0.1em;
}

.cdatos-h3,
.cdatos-ciclo,
.cdatos-egresados-slide-wrapper,
.cdatos-modulo-egresados {
    font-size: var(--fz-30pt);
    color: var(--cdatos-c1);
}

.cdatos-root p.cdatos-subtitulo-h1 {
    font-size: var(--fz-40pt);
    color: var(--cdatos-c2);
}

.cdatos-root p.cdatos-subtitulo-h2 {
    font-size: var(--fz-24pt);
    color: var(--cdatos-c4);
    margin-bottom: 1em;
}

.cdatos-root p.cdatos-subtitulo-h3 {
    font-size: var(--fz-20pt);
    color: var(--cdatos-c4);
}

/* ---- Botones y enlaces ---- */

.cdatos-root p a{
    color: var(--cdatos-c3);
    font-style: italic;
    transition: color 0.3s;
    text-decoration: none;
}

.cdatos-root p a:hover{
    color: var(--cdatos-c6);
    text-decoration: none;
}

.cdatos-boton,
.cdatos-boton-cta {
    font-weight: 900;
    text-transform: uppercase;
}

.cdatos-boton-cta,
.cdatos-boton-flotante {
    font-size: var(--fz-24pt);
}

.cdatos-boton-cta {
    background-color: var(--cdatos-c5);
    color: var(--cdatos-c1);
    transition: color 0.3s, background-color 0.3s;
}

.cdatos-boton-cta:hover,
.cdatos-boton-cta:focus,
.cdatos-boton-cta:active {
    text-decoration: none;
    color: var(--cdatos-c2);
    background-color: var(--cdatos-c1) !important;
}

.cdatos-boton{
    font-size: var(--fz-18pt);
    color: var(--cdatos-c2);
    background-color: var(--cdatos-c1);
    display: block;
    transition: color 0.3s, background-color 0.3s;
}

.cdatos-boton:hover,
.cdatos-boton:focus,
.cdatos-boton:active {
    background-color: var(--cdatos-c5) !important;
    color: var(--cdatos-c1);
    text-decoration: none;
}

.cdatos-enlace,
.cdatos-enlace-hero,
.cdatos-enlace:hover,
.cdatos-enlace-hero:hover,
.cdatos-enlace:focus,
.cdatos-enlace-hero:focus,
.cdatos-enlace:active,
.cdatos-enlace-hero:active {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 3px;
    text-decoration-skip-ink: none;
    transition: color 0.3s;
}

.cdatos-enlace {
    font-size: var(--fz-18pt);
    color: var(--cdatos-c3);
}

.cdatos-enlace:hover,
.cdatos-enlace:focus,
.cdatos-enlace:active {
    color: var(--cdatos-c6);
}

.cdatos-enlace-hero {
    font-size: var(--fz-20pt);
    color: var(--cdatos-c2);
}

.cdatos-enlace-hero:hover,
.cdatos-enlace-hero:focus,
.cdatos-enlace-hero:active {
    color: var(--cdatos-c5);
}

.cdatos-enlace::after,
.cdatos-enlace-hero::after {
    font-family: 'Material Icons';
    content: 'south';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.1em;
    position: relative;
    top: 0.25em;
}

.cdatos-enlace[target="_blank"]::after,
.cdatos-enlace-hero[target="_blank"]::after{
    content: 'north_east';
}

[target="_blank"]{
    cursor: alias;
}

[data-button-type="scroll-down"]{
    cursor: s-resize;
}

@media only screen and (max-width: 1999px){
    .cdatos-root p.cdatos-subtitulo-h1 {
        font-size: var(--fz-30pt);
    }

    p.cdatos-cuerpo-hero {
        font-size: var(--fz-16pt);
    }
    
    .cdatos-h2,
    .cdatos-section {
        font-size: var(--fz-50pt);
    }

    .cdatos-root p.cdatos-subtitulo-h2 {
        font-size: var(--fz-22pt);
    }
    
    .cdatos-h3,
    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper,
    .cdatos-modulo-egresados {
        font-size: var(--fz-26pt);
    }
    
    .cdatos-root p.cdatos-subtitulo-h3 {
        font-size: var(--fz-18pt);
    }

    .cdatos-boton-cta,
    .cdatos-boton-flotante {
        font-size: var(--fz-20pt);
    }

    .cdatos-boton{
        font-size: var(--fz-16pt);
    }
}

@media only screen and (max-width: 1799px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-100pt);
    }
}

@media only screen and (max-width: 1699px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-90pt);
    }
}

@media only screen and (max-width: 1499px){
    .cdatos-root p{
        font-size: var(--fz-14pt);
    }

    .cdatos-root p.cdatos-subtitulo-h1 {
        font-size: var(--fz-20pt);
    }

    .cdatos-enlace-hero {
        font-size: var(--fz-16pt);
    }
    
    p.cdatos-cuerpo-hero {
        font-size: var(--fz-14pt);
        margin-bottom: 0.8em;
    }

    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-65pt);
    }

    .cdatos-h1 {
        margin-bottom: 0;
    }
    
    .cdatos-h2,
    .cdatos-section {
        font-size: var(--fz-40pt);
    }

    .cdatos-root p.cdatos-subtitulo-h2 {
        font-size: var(--fz-18pt);
    }
    
    .cdatos-h3,
    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper,
    .cdatos-modulo-egresados {
        font-size: var(--fz-24pt);
    }
    
    .cdatos-root p.cdatos-subtitulo-h3 {
        font-size: var(--fz-16pt);
    }

    .cdatos-boton-cta,
    .cdatos-boton-flotante {
        font-size: var(--fz-16pt);
    }

    .cdatos-boton{
        font-size: var(--fz-16pt);
    }

    .cdatos-enlace {
        font-size: var(--fz-16pt);
    }
}

@media only screen and (max-width: 1199px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-50pt);
    }

    .cdatos-root p.cdatos-subtitulo-h1 {
        font-size: var(--fz-18pt);
    }

    .cdatos-enlace-hero {
        font-size: var(--fz-14pt);
    }
    
    .cdatos-h2,
    .cdatos-section {
        font-size: var(--fz-30pt);
    }

    .cdatos-root p.cdatos-subtitulo-h2 {
        font-size: var(--fz-16pt);
    }
    
    .cdatos-h3,
    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper,
    .cdatos-modulo-egresados {
        font-size: var(--fz-20pt);
    }
    
    .cdatos-root p.cdatos-subtitulo-h3 {
        font-size: var(--fz-16pt);
    }

    .cdatos-boton-cta, 
    .cdatos-boton-flotante {
        font-size: var(--fz-14pt);
    }

    .cdatos-boton{
        font-size: var(--fz-14pt);
    }

    .cdatos-enlace {
        font-size: var(--fz-14pt);
    }
}

@media only screen and (max-width: 991px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-45pt);
    }

    .cdatos-root p.cdatos-subtitulo-h1 {
        font-size: var(--fz-16pt);
    }

    .cdatos-h2,
    .cdatos-section {
        font-size: var(--fz-26pt);
    }

    .cdatos-root p.cdatos-subtitulo-h2 {
        font-size: var(--fz-14pt);
    }

    .cdatos-h3,
    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper,
    .cdatos-modulo-egresados {
        font-size: var(--fz-16pt);
    }
    
    .cdatos-root p.cdatos-subtitulo-h3 {
        font-size: var(--fz-12pt);
    }
}

@media only screen and (max-width: 767px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-40pt);
    }

    .cdatos-h2,
    .cdatos-section {
        font-size: var(--fz-24pt);
    }
}

@media only screen and (max-width: 575px){
    .cdatos-h1,
    .cdatos-hero-info {
        font-size: var(--fz-35pt);
    }

    .cdatos-h3,
    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper,
    .cdatos-modulo-egresados {
        font-size: var(--fz-15pt);
    }
}

/*-------------------------------------- DiagramaciÃƒÂ³n --------------------------------------*/

/* fadein al cargar */
.cdatos-root{
    opacity: 1 !important;
    transition: opacity 0.3s 0.4s;
}

/* ---- DiagramaciÃƒÂ³n general ---- */
.cdatos-hero p,
.cdatos-section p{
    max-width: 700px;
}

.cdatos-hero,
.cdatos-section {
    padding: var(--side-pad);
    max-width: var(--max-content-w);
    margin: 0 auto;
}

/* ---- SecciÃƒÂ³n: Hero banner ---- */
.cdatos-hero-wrapper{
    background-color: var(--cdatos-c1);
    z-index: 4;
    position: relative;
}

.cdatos-hero{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: calc( var(--viewport-h) - var(--masthead-h) );
    align-content: center;
    gap: min(8vw, 170px);
}

.cdatos-hero-video{
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    width: 100%;
    overflow: hidden;
    --button-s: 15%;
}

.cdatos-hero-video > iframe, 
.cdatos-hero-video-placeholder{
    position: absolute;
    top: 0;
    width: 100%;
    max-height: 100%;
    left: 0;
}

.cdatos-hero-video-placeholder {
    width: 100%;
    height: 100%;
    background-color: #1d1d1d;
    transition: opacity 0.3s;
}

.cdatos-hero-video-placeholder::after{
    content: '';
    width: calc(var(--button-s)*0.5);
    height: calc( var(--button-s)*0.5*16/9 );
    position: absolute;
    left: 50%;
    top: 50%;
    background-image: url(assets/yt-loading.gif);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
    z-index: 1;
    mix-blend-mode: screen;
}

.now-playing .cdatos-hero-video-placeholder,
.cdatos-hero-video-placeholder.hide-placeholder {
    pointer-events: none;
    opacity: 0;
}

.cdatos-hero-video.now-playing{
    cursor: pointer;
}

.cdatos-hero-video.now-playing iframe{
    pointer-events: none;
}

.cdatos-hero-video.now-playing::before,
.cdatos-hero-video.now-playing::after {
    content: '';
    width: var(--button-s);
    height: calc( var(--button-s)*16/9 );
    position: absolute;
    left: 50%;
    top: 50%;
    background-image: url(assets/speaker.svg);
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.cdatos-hero-video.now-playing::before {
    background-image: url(assets/speaker.svg);
    border-radius: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    transition: background-color 0.3s, opacity 0.3s;;
}

.cdatos-hero-video.now-playing::after {
    background-image: url(assets/block-sound.svg);
}

.cdatos-hero-video.now-playing:hover::before{
    background-color: rgba(0, 0, 0, 0.8);
}

.cdatos-hero-video.now-playing.playing-unmuted::before {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.8);
}

.cdatos-hero-video.now-playing.playing-unmuted:hover::before {
    opacity: 1;
}

.cdatos-hero-video.now-playing.playing-unmuted::after {
    opacity: 0;
}

.cdatos-hero-info nav > *:not(:last-child) {
    margin-right: 1em;
}

/* ---- SecciÃƒÂ³n: Cuerpo de contenido ---- */
.cdatos-section {
    padding-top: 1em;
    padding-bottom: 1.5em;
}

.cdatos-ciclo,
.cdatos-egresados-slide-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: max( 30px, min(5vw, 110px));
    align-items: center;
}

.cdatos-ciclo,
.cdatos-modulo-egresados {
    margin-top: 3em;
    margin-bottom: 6em;
    position: relative;
    left: min( 70px, max( 10px, calc(50vw - var(--max-content-w)/2 - 30px) ) );
}

.cdatos-ciclo:last-child{
    margin-bottom: 0;
}

.cdatos-ciclo:nth-child(2n+1){
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    left: unset;
    right: min( 70px, max( 10px, calc(50vw - var(--max-content-w)/2 ) ) );
}

.cdatos-ciclo-carrusel {
    grid-column: 2;
    grid-row: 1;
}

.cdatos-ciclo-info {
    grid-column: 1;
    grid-row: 1;
}

.cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-carrusel {
    grid-column: 1;
    grid-row: 1;
}

.cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-info {
    grid-column: 2;
    grid-row: 1;
}


.cdatos-ciclo-carrusel {
    position: relative;
    padding-bottom: 66.76%; /* 2500:1669 */
    height: 0;
    width: 100%;
}

.cdatos-ciclo-carrusel > figure {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    animation-duration: 18s;
    animation-iteration-count: infinite;
}

figure img {
    max-width: 100%;
    height: auto;
}

.cdatos-ciclo-carrusel > figure:nth-of-type(3),
.cdatos-egresados-slide-wrapper figure:nth-of-type(1) {
    animation-name: img1;
    z-index: 3;
}

.cdatos-ciclo-carrusel > figure:nth-of-type(2),
.cdatos-egresados-slide-wrapper figure:nth-of-type(2) {
    animation-name: img2;
    z-index: 2;
}

.cdatos-ciclo-carrusel > figure:nth-of-type(1),
.cdatos-egresados-slide-wrapper figure:nth-of-type(3) {
    animation-name: img3;
    z-index: 1;
}

.cdatos-modulo-egresados .cdatos-enlace{
    display: block;
    width: max-content;
    margin-left: auto;
    margin-top: 1em;
}

.cdatos-egresados-slide-wrapper figure{
    position: relative;
    grid-column: 2;
    grid-row: 1;
    animation-duration: 18s;
    animation-iteration-count: infinite;
    width: 100%;
    height: auto;
}

.cdatos-ciclo-carrusel > figure:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)),
.cdatos-egresados-slide-wrapper figure:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
    display: none;
}

.cdatos-show-on-mobile,
.cdatos-indicador-carrusel{
    display: none;
}

.cdatos-modulo-egresados:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 1499px){
    .cdatos-hero-video{
        position: absolute;
        top: 0;
        left: 0;
        --button-s: 10%;
    }

    .cdatos-hero-video.now-playing::before, 
    .cdatos-hero-video.now-playing::after {
        transform: translate(-50%, -70%);
    }

    .cdatos-hero {
        display: block;
        padding-top: 0;
        padding-bottom: 0;
        min-height: 48vw; /* 56.25vw; */
        height: calc( var(--viewport-h) - var(--masthead-h) );
        max-height: 65vw;
    }

    .cdatos-hero-wrapper{
        overflow: hidden;
    }

    .cdatos-hero-info {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: 1fr min-content;
        align-items: end;
        column-gap: 50px;

        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
        padding-right: inherit;
        padding-left: inherit;
        padding-bottom: 0.8em;
        padding-top: 1.5em;
        background-image: linear-gradient(#0000 0%, #000000e6 50%, black 100%);
        z-index: 1;
    }

    .cdatos-header {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    .cdatos-hero-info nav{
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        max-width: 700px;
        justify-self: end;
    }

    .cdatos-cuerpo-hero{
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .cdatos-hidden-in-laptop {
        display: none;
    }

    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
    }
    .cdatos-ciclo:nth-child(2n+1){
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    }
    
}

@media only screen and (max-width: 1199px){
    .cdatos-root{
        --side-pad: 30px;
    }

    .cdatos-ciclo, .cdatos-modulo-egresados {
        left: 0;
    }

    .cdatos-ciclo:nth-child(2n+1) {
        left: unset;
        right: 0;
    }

    .cdatos-ciclo,
    .cdatos-egresados-slide-wrapper {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    .cdatos-ciclo:nth-child(2n+1){
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media only screen and (min-width: 992px) and (max-width: 1499px) and (min-aspect-ratio: 16/9){
    .cdatos-hero-video {
        top: max(-100px, -4vw);
    }

    .cdatos-hero-video.now-playing::before, .cdatos-hero-video.now-playing::after {
        transform: translate(-50%, -80%);
    }

    .cdatos-hero-video-placeholder::after {
        transform: translate(-50%, -90%);
    }
}

@media only screen and (max-width: 991px){
    .cdatos-hidden-in-laptop {
        display: unset;
    }

    .cdatos-hero {
        min-height: unset;
        height: unset;
        max-height: unset;
        padding-top: 56.25vw;
        --head-overlap: 8.5vw; /* 80px */
    }

    .cdatos-hero-wrapper{
        overflow: unset;
    }

    .cdatos-hero::before {
        position: absolute;
        content: '';
        width: 100%;
        height: calc(var(--head-overlap)*1.3);
        top: calc( 56.25vw - var(--head-overlap)*1.2 );
        left: 0;
        background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, black 50%, black 100%);
        z-index: 1;
    }

    .cdatos-hero-info {
        position: relative;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        align-items: start;

        background-image: unset;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        margin-top: calc( -1*var(--head-overlap) );
    }

    .cdatos-h1{
        margin-bottom: 0.3em;
    }

    .cdatos-header {
        grid-column: 1;
        grid-row: 1;
    }

    .cdatos-hero-info nav{
        grid-column: 1;
        grid-row: 3;
        width: 100%;
        max-width: 700px;
        justify-self: start;
    }

    .cdatos-cuerpo-hero{
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
    }

    .cdatos-ciclo, .cdatos-modulo-egresados {
        margin-bottom: 4em;
    }

    .cdatos-ciclo-carrusel > figure,
    .cdatos-ciclo-carrusel > figure:nth-of-type(1),
    .cdatos-egresados-slide-wrapper figure:nth-of-type(1),
    .cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-carrusel > figure:nth-of-type(1),
    .cdatos-ciclo-carrusel > figure:nth-of-type(2),
    .cdatos-egresados-slide-wrapper figure:nth-of-type(2),
    .cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-carrusel > figure:nth-of-type(2),
    .cdatos-ciclo-carrusel > figure:nth-of-type(3),
    .cdatos-egresados-slide-wrapper figure:nth-of-type(3),
    .cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-carrusel > figure:nth-of-type(3) {
        top: 0;
        left: 0;
        right: unset;
        animation: none;
    }

    .cdatos-ciclo, 
    .cdatos-egresados-slide-wrapper,
    .cdatos-ciclo:nth-child(2n+1) {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .cdatos-ciclo-carrusel,
    .cdatos-ciclo-info,
    .cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-carrusel,
    .cdatos-ciclo:nth-child(2n+1) .cdatos-ciclo-info,
    .cdatos-egresados-slide-wrapper figure {
        grid-column: unset;
        grid-row: unset;
    }

    .cdatos-ciclo-carrusel {
        margin-left: calc(-1*var(--side-pad));
        margin-right: calc(-1*var(--side-pad));
        width: 100vw;
        position: relative;
        padding-bottom: unset;
        height: unset;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;

        display: flex;
        flex-wrap: nowrap;
    }

    .cdatos-ciclo[data-current-slide][data-total-slides]::after,
    .cdatos-modulo-egresados[data-current-slide][data-total-slides]::after{
        content: attr(data-current-slide) '/' attr(data-total-slides);
        position: absolute;
        background-color: rgba(0, 0, 0, 0.6);
        right: calc(10px - var(--side-pad));
        top: 10px;
        z-index: 3;
        color: white;
        font-size: var(--fz-12pt);
        font-weight: 700;
        padding: 0.2em 0.5em;
        border-radius: 1em;
        letter-spacing: 0.2em;
    }

    .cdatos-ciclo-carrusel::-webkit-scrollbar {
        display: none;
    }      

    .cdatos-ciclo-carrusel figure {
        position: relative;
        flex-shrink: 0;
        scroll-snap-align: center;
        width: 100vw;
    }

    .cdatos-show-on-mobile, 
    .cdatos-egresados-slide-wrapper figure:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
        display: unset
    }

    .cdatos-egresados-slide-wrapper {
        grid-template-columns: 100vw;
        grid-auto-columns: 100vw;
        grid-auto-flow: column;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
        column-gap: 0;
        margin-left: calc(-1*var(--side-pad));
        margin-right: calc(-1*var(--side-pad));
    }

    .cdatos-egresados-slide-wrapper figure {
        scroll-snap-align: center;
        grid-row: 1;
        object-fit: cover;
        width: 100vw;
    }

    .cdatos-egresados-slide-wrapper::-webkit-scrollbar {
        display: none;
    }

    .cdatos-egresados-slide-wrapper > p{
        grid-row: 2;
        grid-column: 1;
        display: grid;
        grid-template-columns: 100vw;
        grid-auto-columns: 100vw;
        grid-auto-flow: column;
    }

    .cdatos-egresados-slide-wrapper > .cdatos-indicador-carrusel ~ p {
        grid-row: 3;
    }

    .cdatos-egresados-slide-wrapper > .cdatos-indicador-carrusel{
        grid-row: 2;
        grid-column: 1;
        position: sticky;
        left: 0;
    }

    .cdatos-egresados-slide-wrapper > p > span{
        padding-left: var(--side-pad);
        padding-right: var(--side-pad);
    }

    .cdatos-indicador-carrusel {
        display: flex;
        justify-content: center;
        margin-bottom: 7px;
    }

    .cdatos-modulo-egresados .cdatos-indicador-carrusel {
        margin-bottom: 0;
    }

    .cdatos-indicador-carrusel span {
        display: block;
        width: 5px;
        height: 5px;
        background-color: var(--cdatos-c4);
        border-radius: 2.5px;
        margin: 0 2.5px;
        transition: 0.3s;
    }

    .cdatos-indicador-carrusel span.cdatos-indicador-seleccionado {
        background-color: var(--arqids-c7);
        transform: scale(1.5);
    }

    @media screen and (hover: none) {
        .row {
            margin: 0 !important;
        }

        .col-sm-12 {
            padding: 0 !important;
        }
    }
}

@media only screen and (max-width: 767px){
    .cdatos-root {
        --side-pad: 15px;
    }
}

@media only screen and (max-width: 575px){
    .cdatos-enlace-hero-cta{
        display: none;
    }

    .cdatos-hero-video {
        --button-s: 18%;
    }
}


/* ---- SecciÃƒÂ³n: Enlaces del footer ---- */
.cdatos-boton-cta{
    display: block;
    margin: 0;
    padding: 1em;
    position: sticky;
    bottom: 0;
    z-index: 3;
    text-align: center;
}

.cdatos-boton{
    margin: 0;
    padding: 1em;
}

.cdatos-links{
    display: flex;
    flex-wrap: wrap;
}

.cdatos-links > a{
    box-sizing: border-box;
    text-align: center;
    width: 33.33%;
    border: 1px solid var(--cdatos-c5);
}

.cdatos-links > a:nth-child(5):nth-last-child(1),
.cdatos-links > a:nth-child(4):nth-last-child(2) {
    width: 50%;
}

.cdatos-links > a:last-child,
.cdatos-links > a:nth-last-child(2) {
    border-bottom-width: 2px;
}

hr.button-breaks {
    margin: 0;
    border-top: 0;
    border-bottom: 1px solid var(--cdatos-c5);
}

.cdatos-boton-flotante {
    position: sticky;
    bottom: 4.5em;
    display: flex;
    align-content: center;
    justify-content: center;
    width: max(60px, min(6vw, 110px));
    height: max(60px, min(6vw, 110px));
    background-color: var(--cdatos-c1) !important;
    border-radius: 100px;
    z-index: 3;
    margin: 15px;
    margin-bottom: 1em;
    margin-left: auto;
    transform-origin: center;
    transform: scale(1);
    transition: transform 0.3s;
    color: var(--cdatos-c1);
}

.cdatos-boton-cta,
.cdatos-boton-flotante{
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}

.show-ctas .cdatos-boton-cta,
.show-ctas .cdatos-boton-flotante{
    pointer-events: unset;
    opacity: 1;
}

.cdatos-boton-flotante figure{
    width: 60%;
    display: flex;
}

.cdatos-boton-flotante figure img{
    position: relative;
    left: 2%;
    bottom: 2%;
}

.cdatos-boton-flotante:hover,
.cdatos-boton-flotante:focus,
.cdatos-boton-flotante:active {
    transform: scale(1.08);
}

@media only screen and (max-width: 991px){
    .cdatos-links > a,
    .cdatos-links > a:nth-child(5):nth-last-child(1), 
    .cdatos-links > a:nth-child(4):nth-last-child(2) {
        width: 100%;
    }

    .cdatos-links > a:nth-last-child(2) {
        border-bottom-width: 1px;
    }
}

@media only screen and (max-width: 575px){
    .cdatos-links > a {
        border-left: none;
        border-right: none;
    }
}


/*------------------------------- Desactivar hovers en mÃƒÂ³vil -------------------------------*/
@media (hover: none) {
    .cdatos-boton-cta:hover,
    .cdatos-boton-cta:focus,
    .cdatos-boton-cta:active {
        color: var(--cdatos-c1);
        background-color: var(--cdatos-c5) !important;
    }

    .cdatos-boton:hover,
    .cdatos-boton:focus,
    .cdatos-boton:active {
        background-color: var(--cdatos-c1) !important;
        color: var(--cdatos-c2);
    }

    .cdatos-enlace:hover,
    .cdatos-enlace:focus,
    .cdatos-enlace:active {
        color: var(--cdatos-c3);
    }

    .cdatos-enlace-hero:hover,
    .cdatos-enlace-hero:focus,
    .cdatos-enlace-hero:active {
        color: var(--cdatos-c2);
    }

    .cdatos-enlace-hero:hover::after,
    .cdatos-enlace-hero:focus::after,
    .cdatos-enlace-hero:active::after {
        filter: sepia(0) saturate(0) hue-rotate(0deg);
    }

    .cdatos-enlace:hover::after,
    .cdatos-enlace:focus::after,
    .cdatos-enlace:active::after {
        filter: saturate(1) brightness(1);
    }

    .cdatos-hero-video.now-playing:hover::before{
        background-color: rgba(0, 0, 0, 0.4);
    }

    .cdatos-hero-video.now-playing.playing-unmuted:hover::before {
        opacity: 0;
    }

    .cdatos-hero-video.now-playing.playing-unmuted::before {
        transition-delay: 1s;
    }

    .cdatos-boton-flotante:hover,
    .cdatos-boton-flotante:focus,
    .cdatos-boton-flotante:active {
        transform: scale(1);
    }
    
    .cdatos-root p a:hover{
        color: var(--cdatos-c3);
    }
}






.cdatos-ciclo {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
  margin: 4rem 0;
}

.cdatos-ciclo-info {
  flex: 1 1 45%;
  font-size: 1.1rem;
  line-height: 1.6;
}

.cdatos-ciclo-carrusel {
  flex: 1 1 45%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.cdatos-ciclo-carrusel figure {
  margin: 0;
  flex: 1 1 100%;
}

.cdatos-ciclo-carrusel img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* Estilo responsivo */
@media (max-width: 768px) {
  .cdatos-ciclo {
    flex-direction: column;
    gap: 2rem;
  }

  .cdatos-ciclo-info,
  .cdatos-ciclo-carrusel {
    flex: 1 1 100%;
  }

  .cdatos-ciclo-carrusel {
    flex-direction: column;
  }
}



.cdatos-programa {
  padding: 4rem 2rem;
  background-color: #fff;
  text-align: center;
}

.contenedor-programa {
  max-width: 900px;
  margin: 0 auto;
}


.cdatos-programa-parrafo {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #333;
}

@media screen and (max-width: 768px) {
  .cdatos-ciclo-carrusel {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
  }

  .cdatos-ciclo-carrusel figure {
    flex: 0 0 100%;
    scroll-snap-align: start;
    margin: 0;
  }

  .cdatos-ciclo-carrusel img {
    width: 100%;
    height: auto;
    border-radius: 8px;
  }
}



  .carrusel-horizontal figure {
    flex: 1 1 0;
  }
}


}

.informacion-general-section {
  padding: 60px 20px;
  background-color: #fff;
}

.informacion-general-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  align-items: flex-start;
}

.informacion-general-texto {
  flex: 1 1 50%;
  padding-right: 30px;
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.informacion-general-imagen {
  flex: 1 1 40%;
  text-align: center;
}

.informacion-general-imagen img {
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: 8px;
}

/* Responsive */
@media (max-width: 768px) {
  .informacion-general-container {
    flex-direction: column;
  }

  .informacion-general-texto,
  .informacion-general-imagen {
    flex: 1 1 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }

  .informacion-general-imagen img {
    max-width: 100%;
  }
}

.imagen-texto-section {
  padding: 60px 20px;
  background-color: #f9f9f9;
}

.imagen-texto-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  align-items: center;
}

.imagen-texto-imagen {
  flex: 1 1 40%;
  text-align: center;
}

.imagen-texto-imagen img {
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: 8px;
}

.imagen-texto-texto {
  flex: 1 1 50%;
  padding-left: 30px;
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .imagen-texto-container {
    flex-direction: column;
  }

  .imagen-texto-imagen,
  .imagen-texto-texto {
    flex: 1 1 100%;
    padding-left: 0;
    margin-bottom: 30px;
  }

  .imagen-texto-imagen img {
    max-width: 100%;
  }
}

.plan-estudios-section {
  background-color: #d6d6d6; 
  padding: 60px 20px;
  text-align: center;
  color: #000;
}

.plan-estudios-contenido {
  max-width: 800px;
  margin: 0 auto;
  font-family: sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

.plan-estudios-contenido p {
  margin-bottom: 20px;
}

.plan-estudios-contenido strong {
  font-weight: bold;
}

.btn-estudios {
  display: inline-block;
  padding: 12px 24px;
  margin-top: 20px;
  border: 2px solid #000;
  color: #000;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.btn-estudios:hover {
  background-color: #000;
  color: #fff;
}




/*------------------------------- Ajustes scouting -------------------------------*/
.view-id-footer_top.enlace-de-interes{
    display: none;
}

.page-pregrado-oferta-academica .cdatos-links {
    margin-bottom: -3px;
}

.widgetcontacto {
    display: none;
}

.page-pregrado-oferta-academica .container-fluid {
    overflow: unset;
}

/* ---- Animaciones ---- */
@keyframes img1 {
    0% {
        opacity: 1;
    }
    28% {
        opacity: 1;
    }
    33% {
        opacity: 0;
    }
    95% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes img2 {
    0% {
        opacity: 0;
    }
    28% {
        opacity: 0;
    }
    33% {
        opacity: 1;
    }
    61% {
        opacity: 1;
    }
    66% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes img3 {
    0% {
        opacity: 0;
    }
    61%{
        opacity: 0;
    }
    66% {
        opacity: 1;
    }
    95% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}



}

/* ---------------------- Galeria Ciencia de Datos - Versión unificada ---------------------- */

.galeria-section {
  padding: 60px 20px;
  background-color: #fff;
  

}

.galeria-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 60px;
}

.galeria-item {
  position: relative;
}

.galeria-item input {
  display: none;
}

.galeria-item img {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
  border-radius: 8px;
  transition: transform 0.3s;
}

.galeria-item img:hover {
  transform: scale(1.03);
}

/* POPUP */
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}


.popup img {
  max-width: 90vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
  aspect-ratio: auto;
}
.galeria-item input:checked ~ .popup {
  display: flex;
}

.close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.close::before, .close::after {
  content: '';
  position: absolute;
  left: 18px;
  top: 0;
  height: 40px;
  width: 4px;
  background-color: white;
}

.close::before {
  transform: rotate(45deg);
}

.close::after {
  transform: rotate(-45deg);
}


/* ---------------------- Carrusel Ciencia de Datos - Versión unificada ---------------------- */

/* Estilo general */
.cdatos-ciclo-carrusel {
  position: relative;
  width: 100%;
  height: auto;
}

/* Carrusel en móvil: scroll horizontal */
@media screen and (max-width: 991px) {
  .cdatos-ciclo-carrusel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .cdatos-ciclo-carrusel figure {
    flex: 0 0 100%;
    scroll-snap-align: center;
    margin: 0;
  }

  .cdatos-ciclo-carrusel img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
  }
}

/* Carrusel en escritorio: animación fade */
@media screen and (min-width: 992px) {
  .cdatos-ciclo-carrusel {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }

  .cdatos-ciclo-carrusel figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation-duration: 18s;
    animation-iteration-count: infinite;
    opacity: 0;
  }

  .cdatos-ciclo-carrusel figure:nth-of-type(3) {
    animation-name: img1;
    z-index: 3;
  }

  .cdatos-ciclo-carrusel figure:nth-of-type(2) {
    animation-name: img2;
    z-index: 2;
  }

  .cdatos-ciclo-carrusel figure:nth-of-type(1) {
    animation-name: img3;
    z-index: 1;
  }

  .cdatos-ciclo-carrusel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
  }

  @keyframes img1 {
    0%, 28% { opacity: 1; }
    33%, 100% { opacity: 0; }
  }

  @keyframes img2 {
    0%, 28% { opacity: 0; }
    33%, 61% { opacity: 1; }
    66%, 100% { opacity: 0; }
  }

  @keyframes img3 {
    0%, 61% { opacity: 0; }
    66%, 95% { opacity: 1; }
    100% { opacity: 0; }
  }
}