@import url(https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=K2D:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Jost:ital,wght@0,100..900;1,100..900&family=K2D:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap);

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-align: center;
    position: relative
}

.contenedor-logo .img-laptop {
    display: none
}

@media (max-width:767px) {
    body {
        background-color: #fff;
        font-family: 'K2D', sans-serif;
        margin: 0;
        padding: 0;
        color: #000
    }

    .links-privados {
        background-color: #B40000;
        display: flex;
        justify-content: space-between;
        padding: 2px
    }

    .links-privados .left,
    .right {
        width: 100%;
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif
    }

    .links-privados .half {
        border-left: solid 1px #fff;
        border-right: solid 1px #fff;
        width: 100%;
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif
    }

    .menu-links {
        display: none
    }

    .bar-menu {
        background-color: #247300;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0;
        transform: translate(100%);
        transition: transform 0.5s ease-in-out;
        z-index: 10004
    }

    .escudo-blanco {
        width: 800px;
        height: auto;
        position: absolute;
        right: -450px;
        bottom: -20px;
        opacity: .07
    }

    .close-bar {
        display: flex;
        justify-content: right;
        padding: 20px;
        z-index: 2
    }

    .close-bar .close {
        color: #fff
    }

    .links-bar {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 10px 0 60px 0;
        z-index: 2
    }

    .links-bar a {
        text-align: left;
        text-decoration: none;
        padding: 50px 0 10px 30px;
        border-bottom: solid 2px #fff;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 30px;
        color: #fff;
        text-decoration: none
    }

    .menu {
        background-color: #fff;
        display: flex;
        justify-content: space-between;
        padding: 13px;
        box-shadow: -1px 11px 19px 0 rgba(0, 0, 0, .75);
        position: relative
    }

    .contenedor-logo {
        display: flex;
        justify-content: center
    }

    .contenedor-logo .img-movil {
        width: 15em;
        padding: 10px
    }

    .contenedor-menu {
        display: flex;
        padding-right: 10px
    }

    button {
        padding: 0 10px 0 10px;
        font-size: 50px;
        color: #000;
        background-color: transparent;
        font-weight: 700;
        border: none
    }

    .carrusel-pp {
        position: relative;
        aspect-ratio: 16/9;
        overflow: hidden;
        width: 100%;
        margin: auto
    }

    .button-left,
    .button-right {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, .3);
        border: none;
        font-size: 2em;
        color: #fff;
        cursor: pointer;
        padding: 0 10px;
        z-index: 2;
        transition: background 0.3s
    }

    .button-left {
        left: 0
    }

    .button-right {
        right: 0
    }

    .button-left:hover,
    .button-right:hover {
        background-color: rgba(0, 0, 0, .8)
    }

    .imagenes-carrusel {
        display: flex;
        width: 100%;
        height: 100%;
        transition: transform 0.5s ease-in-out
    }

    .imagenes-carrusel img {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center
    }

    .dots {
        position: absolute;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 10px;
        z-index: 3
    }

    .dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .4);
        cursor: pointer;
        transition: all 0.3s ease
    }

    .dot:hover {
        background: rgba(255, 255, 255, .7)
    }

    .dot.active {
        background: #fff;
        width: 20px;
        border-radius: 20px
    }

    .slide {
        position: relative;
        flex: 0 0 100%;
        width: 100%;
        height: 100%
    }

    .slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block
    }

    .texto-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, .7);
        padding: 10px 20px;
        background: rgba(0, 0, 0, .3);
        border-radius: 10px
    }

    .boton-admisiones {
        position: fixed;
        top: 40%;
        right: 0;
        transform: translateY(-50%) rotate(-90deg);
        transform-origin: right bottom;
        background: #d00000;
        padding: 12px 20px;
        border-radius: 8px 8px 0 0;
        z-index: 9999
    }

    .boton-admisiones a {
        color: #fff;
        text-decoration: none;
        font-family: "Jost", sans-serif;
        font-weight: 600
    }

    h1 {
        font-size: 30px
    }

    .texto-servicios {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 20px 50px 10px 50px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .mazo {
        padding: 40px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: center
    }

    .tarjeta img {
        height: 200px
    }

    .tarjeta {
        width: 250px;
        height: 300px;
        perspective: 1000px
    }

    .front,
    .back {
        width: 100%;
        height: 100%;
        position: absolute;
        backface-visibility: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        border-radius: 10px;
        box-shadow: 0 1px 10px #940000;
        transition: transform 0.6s
    }

    .back img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -1;
        border-radius: inherit;
        opacity: .2
    }

    .tarjeta .front {
        background: #fff
    }

    .tarjeta .back {
        background: #333;
        color: #fff;
        transform: rotateY(180deg)
    }

    .tarjeta:hover .front {
        transform: rotateY(180deg)
    }

    .tarjeta:hover .back {
        transform: rotateY(360deg)
    }

    .info-tarjeta {
        padding: 0 20px
    }

    .front h2 {
        font-size: 18px
    }

    .sobre-nosotros {
        position: relative;
        width: 100%;
        overflow: hidden
    }

    .rector {
        display: none
    }

    .datos {
        display: none
    }

    .imagen-movil {
        position: absolute;
        right: -200px;
        top: -2px;
        width: 100%;
        z-index: -1;
        opacity: .1
    }

    .texto-nosotros {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 50px 50px 10px 50px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .historia {
        padding: 5px 50px 20px 50px;
        text-align: justify;
        font-family: "Jost", sans-serif;
        font-size: 18px
    }

    .leer-historia {
        background-color: #247300;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .leer-historia:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .galeria {
        background-color: #c6c6c63c
    }

    .texto-galeria {
        border-bottom: solid #B40000;
        display: inline-block;
        color: #000;
        padding: 0 115px 10px 115px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .fotos {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        padding-bottom: 20px
    }

    .fotos img {
        width: 25em
    }

    .ver-fotos {
        background-color: #247300;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .ver-fotos:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .texto-proyectos {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 0 10px 10px 10px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .proyectos-transversales {
        width: 100%;
        overflow: hidden;
        padding: 20px 0;
        position: relative
    }

    .carrusel {
        display: flex;
        align-items: center;
        width: 100%;
        overflow: hidden
    }

    .logos-transversales {
        display: flex;
        width: max-content;
        animation: scroll 25s linear infinite;
        will-change: transform
    }

    .logos-transversales img {
        width: 250px;
        height: auto;
        margin: 0 15px
    }

    @keyframes scroll {
        from {
            transform: translateX(0)
        }

        to {
            transform: translateX(-50%)
        }
    }

    .texto-calendario {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 0 20px 10px 20px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .boton-whatsapp {
        position: fixed;
        width: 50px;
        bottom: 9%;
        right: 3%;
        cursor: pointer
    }

    .boton-subir img {
        position: fixed;
        width: 40px;
        bottom: 3%;
        right: 3%;
        border: solid;
        border-radius: 50px;
        background-color: #fff
    }

    #btnSubir {
        cursor: pointer;
        display: none;
        transition: opacity 0.3s
    }

    footer {
        background-color: #247300;
        padding: 5px
    }

    footer h1 {
        padding: 30px 20px 10px 20px;
        font-size: 23px;
        color: #fff;
        border-bottom: solid 3px #fff;
        display: inline-block;
        overflow: hidden;
        font-family: "K2D", sans-serif
    }

    .informacion {
        padding: 20px 40px 30px 40px;
        text-align: left
    }

    .informacion p {
        color: #fff;
        text-decoration: none;
        margin: 0;
        padding: 2px 0 20px 0;
        font-family: "Jost", sans-serif
    }

    .informacion a {
        color: #fff;
        font-family: "Jost", sans-serif
    }

    h4 {
        margin: 2px;
        font-family: "Jost", sans-serif
    }

    .derechos {
        margin: 0;
        color: #fff;
        font-family: "Jost", sans-serif;
        font-style: italic;
        font-size: 15px
    }

    .icon-redes a img {
        width: 50px;
        padding: 0 10px 0 10px
    }

    .hero-video {
        position: relative;
        height: 80vh;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #fff;
        overflow: hidden
    }

    .video-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        pointer-events: none
    }

    .video-wrapper iframe {
        width: 100vw;
        height: 56.25vw;
        min-height: 100vh;
        min-width: 177.77vh;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
        z-index: 0
    }

    .hero-texto {
        z-index: 1;
        font-family: 'Arial', sans-serif
    }

    .hero-texto h1 {
        font-size: 3.5rem;
        margin-bottom: 10px
    }

    .timeline {
        padding: 4rem 1rem;
        background: #f9fafb
    }

    .timeline h2 {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 3rem
    }

    .linea-tiempo {
        position: relative;
        margin: 0 auto;
        padding-left: 2rem;
        border-left: 4px solid #247300;
        max-width: 600px
    }

    .linea-tiempo .evento {
        position: relative;
        margin-bottom: 2.5rem
    }

    .linea-tiempo .evento h3 {
        font-size: 1.3rem;
        font-weight: 700;
        margin-bottom: .3rem
    }

    .linea-tiempo .evento p {
        color: #555
    }

    .linea-tiempo .evento::before {
        content: "";
        position: absolute;
        left: -14px;
        top: 6px;
        width: 16px;
        height: 16px;
        background: #247300;
        border-radius: 50%
    }

    .linea-tiempo .evento {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.8s forwards
    }

    .linea-tiempo .evento:nth-child(1) {
        animation-delay: 0.2s
    }

    .linea-tiempo .evento:nth-child(2) {
        animation-delay: 0.4s
    }

    .linea-tiempo .evento:nth-child(3) {
        animation-delay: 0.6s
    }

    .linea-tiempo .evento:nth-child(4) {
        animation-delay: 0.8s
    }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    .cards {
        padding: 4rem 1rem;
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        background: #fff
    }

    .cards .card {
        background: #f3f4f6;
        padding: 2rem;
        border-radius: 1rem;
        text-align: center;
        transition: all 0.3s ease;
        box-shadow: 0 3px 8px rgba(0, 0, 0, .05)
    }

    .cards .card:hover {
        transform: translateY(-8px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, .15)
    }

    .cards .card h3 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
        color: #247300
    }

    .cards .card p {
        color: #444;
        font-size: 1rem
    }

    .hero-texto h1 {
        font-size: 3.5rem
    }

    .cards {
        max-width: 1000px;
        margin: 0 auto
    }

    @media (min-width:768px) {
        .hero-texto h1 {
            font-size: 3rem
        }

        .hero-texto p {
            font-size: 1.5rem
        }

        .cards {
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem
        }
    }

    .principal-academico {
        margin-bottom: 250px
    }
}

@media (min-width:768px) and (max-width:1023px) {
    body {
        background-color: #fff
    }

    .links-privados {
        background-color: #B40000;
        display: flex;
        justify-content: space-between;
        padding: 2px
    }

    .links-privados .left,
    .right {
        width: 100%;
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif
    }

    .links-privados .half {
        border-left: solid 1px #fff;
        border-right: solid 1px #fff;
        width: 100%;
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif
    }

    .menu-links {
        display: none
    }

    .bar-menu {
        background-color: #247300;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0;
        transform: translate(100%);
        transition: transform 0.5s ease-in-out;
        z-index: 4
    }

    .escudo-blanco {
        width: 800px;
        height: auto;
        position: absolute;
        right: -450px;
        bottom: -20px;
        opacity: .07
    }

    .close-bar {
        display: flex;
        justify-content: right;
        padding: 20px;
        z-index: 2
    }

    .close-bar .close {
        color: #fff
    }

    .links-bar {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 10px 0 60px 0;
        z-index: 1002
    }

    .links-bar a {
        text-align: left;
        text-decoration: none;
        padding: 50px 0 10px 30px;
        border-bottom: solid 2px #fff;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 30px;
        color: #fff;
        text-decoration: none
    }

    .menu {
        background-color: #fff;
        display: flex;
        justify-content: space-between;
        padding: 13px;
        box-shadow: -1px 11px 19px 0 rgba(0, 0, 0, .75);
        position: relative
    }

    .contenedor-logo {
        display: flex;
        justify-content: center
    }

    .contenedor-logo .img-laptop {
        width: 25em;
        padding: 10px;
        display: block
    }

    .contenedor-logo .img-movil {
        display: none
    }

    .contenedor-menu {
        display: flex;
        padding-right: 10px
    }

    button {
        padding: 0 10px 0 10px;
        font-size: 50px;
        color: #000;
        background-color: transparent;
        font-weight: 700;
        border: none
    }

    .carrusel-pp {
        position: relative;
        aspect-ratio: 16/9;
        overflow: hidden;
        width: 100%;
        margin: auto
    }

    .button-left,
    .button-right {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, .3);
        border: none;
        font-size: 2em;
        color: #fff;
        cursor: pointer;
        padding: 0 10px;
        z-index: 2;
        transition: background 0.3s
    }

    .button-left {
        left: 0
    }

    .button-right {
        right: 0
    }

    .button-left:hover,
    .button-right:hover {
        background-color: rgba(0, 0, 0, .8)
    }

    .imagenes-carrusel {
        display: flex;
        width: 100%;
        height: 100%;
        transition: transform 0.5s ease-in-out
    }

    .imagenes-carrusel img {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center
    }

    .dots {
        position: absolute;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 10px;
        z-index: 3
    }

    .dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .4);
        cursor: pointer;
        transition: all 0.3s ease
    }

    .dot:hover {
        background: rgba(255, 255, 255, .7)
    }

    .dot.active {
        background: #fff;
        width: 20px;
        border-radius: 20px
    }

    .slide {
        position: relative;
        flex: 0 0 100%;
        width: 100%;
        height: 100%
    }

    .slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block
    }

    .texto-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 3rem;
        font-weight: 700;
        text-align: left;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, .7);
        padding: 10px 20px;
        background: rgba(0, 0, 0, .3);
        border-radius: 10px
    }

    .boton-admisiones {
        position: fixed;
        top: 40%;
        right: 0;
        transform: translateY(-50%) rotate(-90deg);
        transform-origin: right bottom;
        background: #d00000;
        padding: 12px 20px;
        border-radius: 8px 8px 0 0;
        z-index: 9999
    }

    .boton-admisiones:hover {
        background-color: #940000;
        cursor: pointer
    }

    .boton-admisiones a {
        color: #fff;
        text-decoration: none;
        font-family: "Jost", sans-serif;
        font-weight: 600
    }

    .texto-servicios {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 20px 50px 10px 50px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .mazo {
        padding: 40px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        justify-content: center
    }

    .tarjeta img {
        height: 200px
    }

    .tarjeta {
        width: 250px;
        height: 300px;
        perspective: 1000px
    }

    .front,
    .back {
        width: 100%;
        height: 100%;
        position: absolute;
        backface-visibility: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        border-radius: 10px;
        box-shadow: 0 1px 10px #940000;
        transition: transform 0.6s
    }

    .back img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -1;
        border-radius: inherit;
        opacity: .2
    }

    .tarjeta .front {
        background: #fff
    }

    .tarjeta .back {
        background: #333;
        color: #fff;
        transform: rotateY(180deg)
    }

    .tarjeta:hover .front {
        transform: rotateY(180deg)
    }

    .tarjeta:hover .back {
        transform: rotateY(360deg)
    }

    .info-tarjeta {
        padding: 0 20px
    }

    .front h2 {
        font-size: 18px
    }

    .sobre-nosotros {
        position: relative;
        width: 100%;
        overflow: hidden
    }

    .rector {
        display: none
    }

    .datos {
        display: none
    }

    .imagen-movil {
        position: absolute;
        right: -200px;
        top: -2px;
        width: 100%;
        z-index: -1;
        opacity: .1
    }

    .texto-nosotros {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 50px 50px 10px 50px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .historia {
        padding: 5px 50px 20px 50px;
        text-align: justify;
        font-family: "Jost", sans-serif;
        font-size: 18px
    }

    .leer-historia {
        background-color: #247300;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .leer-historia:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .galeria {
        background-color: #c6c6c63c
    }

    .texto-galeria {
        border-bottom: solid #B40000;
        display: inline-block;
        color: #000;
        padding: 0 115px 10px 115px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .fotos {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        padding-bottom: 20px
    }

    .fotos img {
        width: 25em
    }

    .ver-fotos {
        background-color: #247300;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .ver-fotos:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .texto-proyectos {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 0 10px 10px 10px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .proyectos-transversales {
        width: 100%;
        overflow: hidden;
        padding: 20px 0;
        position: relative
    }

    .carrusel {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        white-space: nowrap;
        width: 100%;
        overflow: hidden
    }

    .logos-transversales {
        display: flex;
        width: max-content;
        animation: scroll 25s linear infinite;
        will-change: transform
    }

    .logos-transversales img {
        width: 250px;
        height: auto;
        margin: 0 15px
    }

    @keyframes scroll {
        from {
            transform: translateX(0)
        }

        to {
            transform: translateX(-50%)
        }
    }

    .logos-transversales:hover {
        animation-play-state: paused
    }

    .texto-calendario {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 0 20px 10px 20px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .boton-whatsapp {
        position: fixed;
        width: 50px;
        bottom: 10%;
        right: 3%;
        cursor: pointer
    }

    .boton-subir img {
        position: fixed;
        width: 40px;
        bottom: 30px;
        right: 10px;
        border: solid;
        border-radius: 50px;
        background-color: #fff
    }

    #btnSubir {
        cursor: pointer;
        display: none;
        transition: opacity 0.3s
    }

    footer {
        background-color: #247300;
        padding: 5px
    }

    footer h1 {
        padding: 30px 20px 10px 20px;
        font-size: 23px;
        color: #fff;
        border-bottom: solid 3px #fff;
        display: inline-block;
        overflow: hidden;
        font-family: "K2D", sans-serif
    }

    .informacion {
        padding: 20px 40px 30px 40px;
        text-align: left
    }

    .informacion p {
        color: #fff;
        text-decoration: none;
        margin: 0;
        padding: 2px 0 20px 0;
        font-family: "Jost", sans-serif
    }

    .informacion a {
        color: #fff;
        font-family: "Jost", sans-serif
    }

    h4 {
        margin: 2px;
        font-family: "Jost", sans-serif
    }

    .derechos {
        margin: 0;
        color: #fff;
        font-family: "Jost", sans-serif;
        font-style: italic;
        font-size: 15px
    }

    .icon-redes a img {
        width: 50px;
        padding: 0 10px 0 10px
    }

    .hero-video {
        position: relative;
        height: 100vh;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #fff;
        overflow: hidden
    }

    .video-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        pointer-events: none
    }

    .video-wrapper iframe {
        width: 100vw;
        height: 56.25vw;
        min-height: 100vh;
        min-width: 177.77vh;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
        z-index: 0
    }

    .hero-texto {
        z-index: 1;
        font-family: 'Arial', sans-serif
    }

    .hero-texto h1 {
        font-size: 3.5rem;
        margin-bottom: 10px
    }

    .timeline {
        padding: 4rem 1rem;
        background: #f9fafb
    }

    .timeline h2 {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 3rem
    }

    .linea-tiempo {
        position: relative;
        margin: 0 auto;
        padding-left: 2rem;
        border-left: 4px solid #247300;
        max-width: 600px
    }

    .linea-tiempo .evento {
        position: relative;
        margin-bottom: 2.5rem
    }

    .linea-tiempo .evento h3 {
        font-size: 1.3rem;
        font-weight: 700;
        margin-bottom: .3rem
    }

    .linea-tiempo .evento p {
        color: #555
    }

    .linea-tiempo .evento::before {
        content: "";
        position: absolute;
        left: -14px;
        top: 6px;
        width: 16px;
        height: 16px;
        background: #247300;
        border-radius: 50%
    }

    .linea-tiempo .evento {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.8s forwards
    }

    .linea-tiempo .evento:nth-child(1) {
        animation-delay: 0.2s
    }

    .linea-tiempo .evento:nth-child(2) {
        animation-delay: 0.4s
    }

    .linea-tiempo .evento:nth-child(3) {
        animation-delay: 0.6s
    }

    .linea-tiempo .evento:nth-child(4) {
        animation-delay: 0.8s
    }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    .cards {
        padding: 4rem 1rem;
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        background: #fff
    }

    .cards .card {
        background: #f3f4f6;
        padding: 2rem;
        border-radius: 1rem;
        text-align: center;
        transition: all 0.3s ease;
        box-shadow: 0 3px 8px rgba(0, 0, 0, .05)
    }

    .cards .card:hover {
        transform: translateY(-8px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, .15)
    }

    .cards .card h3 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
        color: #247300
    }

    .cards .card p {
        color: #444;
        font-size: 1rem
    }

    .hero-texto h1 {
        font-size: 3.5rem
    }

    .cards {
        max-width: 1000px;
        margin: 0 auto
    }

    @media (min-width:768px) {
        .hero-texto h1 {
            font-size: 3rem
        }

        .hero-texto p {
            font-size: 1.5rem
        }

        .cards {
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem
        }
    }
}

@media (min-width:1024px) {
    body {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        font-family: 'K2D', sans-serif;
        margin: 0;
        padding: 0;
        color: #000;
        object-fit: cover
    }

    .links-privados {
        background-color: #B40000;
        display: flex;
        justify-content: right;
        padding: 2px;
        font-size: 17px
    }

    .links-privados .left,
    .right {
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif;
        padding: 0 20px
    }

    .half {
        text-decoration: none;
        color: #fff;
        font-family: "Gowun Dodum", sans-serif;
        padding: 0 20px;
        border-right: solid 1px #fff;
        border-left: solid 1px #fff
    }

    .links-privados a:hover {
        background-color: #940000;
        cursor: pointer
    }

    .bar-menu {
        display: none
    }

    .escudo-blanco {
        display: none
    }

    .close-bar {
        display: none
    }

    .links-bar {
        display: none
    }

    .contenedor-menu {
        display: none
    }

    .carrusel-pp {
        position: relative;
        aspect-ratio: 16/5;
        overflow: hidden;
        width: 100%;
        margin: auto
    }

    .button-left,
    .button-right {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, .3);
        border: none;
        font-size: 3em;
        color: #fff;
        cursor: pointer;
        padding: 0 10px;
        z-index: 2;
        transition: background 0.3s
    }

    .button-left {
        left: 0
    }

    .button-right {
        right: 0
    }

    .button-left:hover,
    .button-right:hover {
        background-color: rgba(0, 0, 0, .8)
    }

    .imagenes-carrusel {
        display: flex;
        width: 100%;
        height: 100%;
        transition: transform 0.5s ease-in-out
    }

    .imagenes-carrusel img {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center
    }

    .dots {
        position: absolute;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 10px;
        z-index: 3
    }

    .dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .4);
        cursor: pointer;
        transition: all 0.3s ease
    }

    .dot:hover {
        background: rgba(255, 255, 255, .7)
    }

    .dot.active {
        background: #fff;
        width: 20px;
        border-radius: 20px
    }

    .slide {
        position: relative;
        flex: 0 0 100%;
        width: 100%;
        height: 100%
    }

    .slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block
    }

    .texto-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 5rem;
        font-weight: 700;
        text-align: left;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, .7);
        padding: 10px 20px;
        background: rgba(0, 0, 0, .3);
        border-radius: 10px
    }

    .menu {
        width: 100%;
        background-color: #fff
    }

    .contenedor-logo .img-laptop {
        width: 30em;
        padding: 30px 0 20px 50px;
        display: block
    }

    .contenedor-logo .img-movil {
        display: none
    }

    .menu-links {
        display: flex;
        justify-content: center;
        list-style: none;
        margin-bottom: 1em
    }

    .menu-links a:hover {
        color: #19730d;
        cursor: pointer;
        font-weight: 700
    }

    .menu-links ul li a {
        text-decoration: none;
        padding: 0 25px 0 25px;
        font-family: "Gowun Dodum", sans-serif;
        font-size: 22px;
        color: #000
    }

    .menu-links ul {
        display: flex;
        list-style: none
    }

    .boton-admisiones {
        position: fixed;
        top: 40%;
        right: 0;
        transform: translateY(-50%) rotate(-90deg);
        transform-origin: right bottom;
        background: #d00000;
        padding: 12px 20px;
        border-radius: 8px 8px 0 0;
        z-index: 9999
    }

    .boton-admisiones:hover {
        background-color: #940000;
        cursor: pointer
    }

    .boton-admisiones a {
        color: #fff;
        text-decoration: none;
        font-family: "Jost", sans-serif;
        font-weight: 600
    }

    .texto-servicios {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 20px 200px 10px 200px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .mazo {
        padding: 40px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: center
    }

    .tarjeta img {
        height: 200px
    }

    .tarjeta {
        width: 250px;
        height: 300px;
        perspective: 1000px
    }

    .front,
    .back {
        width: 100%;
        height: 100%;
        position: absolute;
        backface-visibility: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        border-radius: 10px;
        box-shadow: 0 1px 10px #940000;
        transition: transform 0.6s
    }

    .back img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -1;
        border-radius: inherit;
        opacity: .2
    }

    .tarjeta .front {
        background: #fff
    }

    .tarjeta .back {
        background: #333;
        color: #fff;
        transform: rotateY(180deg)
    }

    .tarjeta:hover .front {
        transform: rotateY(180deg)
    }

    .tarjeta:hover .back {
        transform: rotateY(360deg)
    }

    .info-tarjeta {
        padding: 0 20px
    }

    .front h2 {
        font-size: 18px
    }

    .sobre-nosotros {
        display: flex;
        justify-content: center;
        text-align: center;
        margin: 1em 0em 0em 0em;
        padding: 0 60px 0 60px;
        height: auto;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto
    }

    .info-izquierda {
        width: 50%;
        padding: 0 20px
    }

    .info-derecha {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        width: 50%;
        position: relative
    }

    .rector {
        width: 100%;
        max-width: 900px;
        height: auto;
        position: relative;
        left: 10%;
        z-index: 1
    }

    .datos {
        padding: 10px 40px 10px 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        position: absolute;
        bottom: -8%;
        right: 0;
        transform: translateY(-50%);
        background-color: #f3f3f3;
        box-shadow: 0 1px 10px #940000;
        transform: skew(-10deg);
        color: #000;
        z-index: 2
    }

    .datos p {
        font-weight: 700;
        font-size: 1.2em;
        margin: 0
    }

    .texto-pequeno {
        font-size: 10px;
        color: #208a00;
        font-style: italic
    }

    .imagen-movil {
        display: none
    }

    .texto-nosotros {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 70px 300px 10px 300px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .historia {
        padding: 5px 5px 20px 5px;
        text-align: justify;
        font-family: "Jost", sans-serif;
        font-size: 20px
    }

    .leer-historia {
        background-color: #247300;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .leer-historia:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .galeria {
        background-color: #c6c6c63c
    }

    .texto-galeria {
        border-bottom: solid #B40000;
        display: inline-block;
        color: #000;
        padding: 80px 300px 10px 300px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .fotos {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        padding-bottom: 20px
    }

    .fotos img {
        width: 25em;
        box-shadow: 0 0 10px 3px #fff
    }

    .ver-fotos {
        background-color: #19730d;
        font-size: 20px;
        padding: 25px 50px;
        margin-bottom: 30px;
        border-radius: 50px;
        color: #fff;
        border: none;
        font-family: "Jost", sans-serif
    }

    .ver-fotos:hover {
        background-color: #1A4D00;
        cursor: pointer;
        transform: scale(1.1)
    }

    .texto-proyectos {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 20px 300px 10px 300px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .proyectos-transversales {
        width: 100%;
        overflow: hidden;
        padding: 20px 0;
        position: relative
    }

    .carrusel {
        display: flex;
        align-items: center;
        width: 100%;
        overflow: hidden
    }

    .logos-transversales {
        display: flex;
        width: max-content;
        animation: scroll 25s linear infinite;
        will-change: transform
    }

    .logos-transversales img {
        width: 250px;
        height: auto;
        margin: 0 15px
    }

    @keyframes scroll {
        from {
            transform: translateX(0)
        }

        to {
            transform: translateX(-50%)
        }
    }

    .logos-transversales:hover {
        animation-play-state: paused
    }

    .texto-calendario {
        border-bottom: solid #C00000;
        display: inline-block;
        padding: 0 100px 10px 100px;
        font-family: "Gowun Dodum", sans-serif;
        font-style: normal
    }

    .boton-whatsapp {
        position: fixed;
        bottom: 3%;
        right: 1%;
        width: 55px;
        z-index: 999
    }

    .boton-whatsapp img {
        width: 100%
    }

    #btnSubir {
        position: fixed;
        bottom: 20px;
        right: 15px;
        width: 45px;
        height: 45px;
        border-radius: 50%;
        border: none;
        background: #fff;
        box-shadow: 0 3px 10px rgba(0, 0, 0, .3);
        cursor: pointer;
        display: none;
        z-index: 999
    }

    footer {
        background-color: #247300;
        padding: 5px
    }

    footer h1 {
        padding: 30px 20px 10px 20px;
        font-size: 23px;
        color: #fff;
        border-bottom: solid 3px #fff;
        display: inline-block;
        overflow: hidden;
        font-family: "K2D", sans-serif
    }

    .info {
        display: flex;
        justify-content: space-around
    }

    .informacion {
        padding: 20px 40px 30px 40px;
        text-align: left
    }

    .informacion p {
        color: #fff;
        text-decoration: none;
        margin: 0;
        padding: 2px 0 20px 0;
        font-family: "Jost", sans-serif
    }

    .informacion a {
        color: #fff;
        font-family: "Jost", sans-serif
    }

    h4 {
        margin: 2px;
        font-family: "Jost", sans-serif
    }

    .derechos {
        margin: 0;
        color: #fff;
        font-family: "Jost", sans-serif;
        font-style: italic;
        font-size: 15px
    }

    .icon-redes a img {
        width: 50px;
        padding: 0 10px 0 10px
    }

    .hero-video {
        position: relative;
        height: 100vh;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #fff;
        overflow: hidden
    }

    .video-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        pointer-events: none
    }

    .video-wrapper iframe {
        width: 100vw;
        height: 56.25vw;
        min-height: 100vh;
        min-width: 177.77vh;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
        z-index: 0
    }

    .hero-texto {
        z-index: 1;
        font-family: 'Arial', sans-serif
    }

    .hero-texto h1 {
        font-size: 3.5rem;
        margin-bottom: 10px
    }

    .timeline {
        padding: 4rem 1rem;
        background: #f9fafb
    }

    .timeline h2 {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 3rem
    }

    .linea-tiempo {
        position: relative;
        margin: 0 auto;
        padding-left: 2rem;
        border-left: 4px solid #247300;
        max-width: 600px
    }

    .linea-tiempo .evento {
        position: relative;
        margin-bottom: 2.5rem
    }

    .linea-tiempo .evento h3 {
        font-size: 1.3rem;
        font-weight: 700;
        margin-bottom: .3rem
    }

    .linea-tiempo .evento p {
        color: #555
    }

    .linea-tiempo .evento::before {
        content: "";
        position: absolute;
        left: -14px;
        top: 6px;
        width: 16px;
        height: 16px;
        background: #247300;
        border-radius: 50%
    }

    .linea-tiempo .evento {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.8s forwards
    }

    .linea-tiempo .evento:nth-child(1) {
        animation-delay: 0.2s
    }

    .linea-tiempo .evento:nth-child(2) {
        animation-delay: 0.4s
    }

    .linea-tiempo .evento:nth-child(3) {
        animation-delay: 0.6s
    }

    .linea-tiempo .evento:nth-child(4) {
        animation-delay: 0.8s
    }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    .cards {
        padding: 4rem 1rem;
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        background: #fff
    }

    .cards .card {
        background: #f3f4f6;
        padding: 2rem;
        border-radius: 1rem;
        text-align: center;
        transition: all 0.3s ease;
        box-shadow: 0 3px 8px rgba(0, 0, 0, .05)
    }

    .cards .card:hover {
        transform: translateY(-8px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, .15)
    }

    .cards .card h3 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
        color: #247300
    }

    .cards .card p {
        color: #444;
        font-size: 1rem
    }

    .hero-texto h1 {
        font-size: 3.5rem
    }

    .cards {
        max-width: 1000px;
        margin: 0 auto
    }

    @media (min-width:768px) {
        .hero-texto h1 {
            font-size: 3rem
        }

        .hero-texto p {
            font-size: 1.5rem
        }

        .cards {
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem
        }
    }

    .principal-academico {
        margin-top: 250px;
        margin-bottom: 250px
    }

    .title-contact {
        border: #000 solid 1px
    }

    .contacto {
        border: #000 solid 1px;
        display: flex;
        justify-content: center;
        text-align: center;
        align-items: center;
        position: relative
    }

    .info-contacto {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 100px;
        background-color: #0c7e45;
        border-radius: 20px;
        border: solid 1px #000;
        position: absolute;
        top: 10px;
        right: 10px
    }

    .canva-maps {
        aspect-ratio: 16/9;
        object-fit: contain;
        overflow: hidden
    }

    .canva-maps iframe {
        border-radius: 20px;
        width: 1900px;
        height: 600px;
        object-fit: contain
    }
}