

/* =========================================================
   HERO - FADE IN
========================================================= */

.ff-animations-init .ff-hero {
    opacity: 0;
}

.ff-animations-init .ff-hero.ff-hero-enter {
    animation: ff-hero-fade-in .65s ease-out forwards;
}


@keyframes ff-hero-fade-in {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}


/* =========================================================
   HEADER - ESTADO INICIAL
========================================================= */

.ff-animations-init .ff-header__logo,
.ff-animations-init .ff-header__menu-item,
.ff-animations-init .ff-header__donate {
    opacity: 0;
    transform: translateY(-20px);
}


/* Logo */

.ff-animations-init .ff-header__logo {
    transition:
        opacity .4s ease,
        transform .5s cubic-bezier(.2, .75, .2, 1);
}


/* Menú + Donate */

.ff-animations-init .ff-header__menu-item,
.ff-animations-init .ff-header__donate {
    transition:
        opacity .35s ease,
        transform .45s cubic-bezier(.2, .75, .2, 1);
}


/* Entrada */

.ff-animations-init .ff-header__logo.is-visible,
.ff-animations-init .ff-header__menu-item.is-visible,
.ff-animations-init .ff-header__donate.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   HERO CONTENT - ESTADO INICIAL
========================================================= */

.ff-animations-init .ff-hero__title,
.ff-animations-init .ff-hero__text,
.ff-animations-init .ff-hero__actions {
    opacity: 0;
    transform: translateX(45px);
}


/* Título */

.ff-animations-init .ff-hero__title {
    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


/* Texto */

.ff-animations-init .ff-hero__text {
    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


/* Botón */

.ff-animations-init .ff-hero__actions {
    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


/* Entrada */

.ff-animations-init .ff-hero__title.is-visible,
.ff-animations-init .ff-hero__text.is-visible,
.ff-animations-init .ff-hero__actions.is-visible {
    opacity: 1;
    transform: translateX(0);
}


/* =========================================================
   SUBRAYADO
========================================================= */

/* Estado inicial: oculto solamente durante la intro */
.ff-animations-init .ff-hero__title-accent::after {
    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform .7s cubic-bezier(.2, .75, .2, 1);
}


/* Estado final: queda visible permanentemente */
.ff-hero.ff-hero--accent-visible
.ff-hero__title-accent::after {
    transform: scaleX(1);
    transform-origin: left center;
}



/* =========================================================
   FOUNDATION - ESTADO INICIAL
========================================================= */

/* Imagen principal */

.ff-animations-enabled .ff-foundation__intro-bg {
    opacity: 0;
}


/* Textos */

.ff-animations-enabled .ff-foundation__eyebrow,
.ff-animations-enabled .ff-foundation__title,
.ff-animations-enabled .ff-foundation__intro p {
    opacity: 0;
    transform: translateX(-40px);
}


/* =========================================================
   FOUNDATION - FOTO
========================================================= */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__intro-bg {
    animation: ff-foundation-bg-enter .85s ease-out forwards;
}


@keyframes ff-foundation-bg-enter {

    from {
        opacity: 0;
        transform: scale(1.025);
    }

    to {
        opacity: .7;
        transform: scale(1);
    }

}


/* =========================================================
   FOUNDATION - CONTENIDO
========================================================= */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__eyebrow,

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__title,

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__intro p {

    opacity: 1;
    transform: translateX(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


/* =========================================================
   FOUNDATION - SECUENCIA
========================================================= */

/* 1. Imagen: arranca inmediatamente */


/* 2. Eyebrow */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__eyebrow {
    transition-delay: .55s;
}


/* 3. H2 */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__title {
    transition-delay: .70s;
}


/* 4. Primer párrafo */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__intro p:nth-child(1) {
    transition-delay: .85s;
}


/* 5. Segundo párrafo */

.ff-animations-enabled
.ff-foundation__intro-group.is-visible
.ff-foundation__intro p:nth-child(2) {
    transition-delay: 1s;
}


/* =========================================================
   TIMELINE - ESTADO INICIAL
========================================================= */

.ff-animations-enabled
.ff-foundation__timeline-group
.ff-timeline__item {
    opacity: 0;
    transform: translateY(-24px);
}


/* =========================================================
   TIMELINE - ENTRADA
========================================================= */

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .4s ease,
        transform .5s cubic-bezier(.2, .75, .2, 1);
}


/* =========================================================
   TIMELINE - SECUENCIA
========================================================= */

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(2) {
    transition-delay: 0s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(3) {
    transition-delay: .08s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(4) {
    transition-delay: .16s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(5) {
    transition-delay: .24s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(6) {
    transition-delay: .32s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(7) {
    transition-delay: .40s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(8) {
    transition-delay: .48s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(9) {
    transition-delay: .56s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(10) {
    transition-delay: .64s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(11) {
    transition-delay: .72s;
}

.ff-animations-enabled
.ff-foundation__timeline-group.is-visible
.ff-timeline__item:nth-of-type(12) {
    transition-delay: .80s;
}



/* =========================================================
   INSTAGRAM - ESTADO INICIAL
========================================================= */

/* Perfil */

.ff-animations-enabled
.ff-instagram__profile {
    opacity: 0;
    transform: translateY(-24px);
}


/* Botones */

.ff-animations-enabled
.ff-instagram__button {
    opacity: 0;
    transform: translateY(-24px);
}


/* Posts */

.ff-animations-enabled
.ff-instagram__post {
    opacity: 0;
    transform: translateY(28px);
}



/* =========================================================
   INSTAGRAM - ENTRADA
========================================================= */

/* Perfil */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__profile {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .4s ease,
        transform .55s cubic-bezier(.2, .75, .2, 1);
}


/* Botones */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__button {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .4s ease,
        transform .55s cubic-bezier(.2, .75, .2, 1);
}


/* Posts */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__post {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}



/* =========================================================
   INSTAGRAM - SECUENCIA
========================================================= */

/* 1. Perfil */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__profile {
    transition-delay: 0s;
}


/* 2. Botón 1 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__button:nth-child(1) {
    transition-delay: .15s;
}


/* 3. Botón 2 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__button:nth-child(2) {
    transition-delay: .27s;
}


/* 4. Post 1 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__post:nth-child(1) {
    transition-delay: .45s;
}


/* 5. Post 2 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__post:nth-child(2) {
    transition-delay: .55s;
}


/* 6. Post 3 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__post:nth-child(3) {
    transition-delay: .65s;
}


/* 7. Post 4 */

.ff-animations-enabled
.ff-instagram.is-visible
.ff-instagram__post:nth-child(4) {
    transition-delay: .75s;
}

/* =========================================================
   FOOTER - ESTADO INICIAL
========================================================= */

/* Columnas */

.ff-animations-enabled
.ff-footer__main > .ff-footer__brand,

.ff-animations-enabled
.ff-footer__main > .ff-footer__column {
    opacity: 0;
    transform: translateY(-24px);
}


/* Bottom text */

.ff-animations-enabled
.ff-footer__bottom p {
    opacity: 0;
    transform: translateY(-12px);
}



/* =========================================================
   FOOTER - COLUMNAS
========================================================= */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > .ff-footer__brand,

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > .ff-footer__column {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .4s ease,
        transform .55s cubic-bezier(.2, .75, .2, 1);
}


/* 1. Brand */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > :nth-child(1) {
    transition-delay: 0s;
}


/* 2. Enlaces */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > :nth-child(2) {
    transition-delay: .15s;
}


/* 3. Datos */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > :nth-child(3) {
    transition-delay: .30s;
}


/* 4. Redes */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__main > :nth-child(4) {
    transition-delay: .45s;
}



/* =========================================================
   FOOTER - LÍNEA BOTTOM
========================================================= */

/*
 * Sacamos el border-top real porque lo vamos
 * a dibujar con un pseudo-elemento.
 */

.ff-footer__bottom {
    position: relative;
    border-top: 0;
}


/* Línea */

.ff-footer__bottom::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background: currentColor;

    opacity: .35;

    transform: scaleX(1);
    transform-origin: left center;
}


/* Estado inicial */

.ff-animations-enabled
.ff-footer__bottom::before {
    transform: scaleX(0);
}


/* Dibujar de izquierda a derecha */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__bottom::before {
    transform: scaleX(1);

    transition:
        transform .8s cubic-bezier(.2, .75, .2, 1);

    transition-delay: .75s;
}



/* =========================================================
   FOOTER - TEXTO BOTTOM
========================================================= */

.ff-animations-enabled
.ff-footer.is-visible
.ff-footer__bottom p {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .4s ease,
        transform .5s cubic-bezier(.2, .75, .2, 1);

    transition-delay: 1.45s;
}





/* =========================================================
   MANAGEMENT - INITIAL STATE
========================================================= */

/* Foto */

.ff-animations-enabled .ff-management__photo {
    opacity: 0;
    transform: scale(1.02);
}


/* Encabezado */

.ff-animations-enabled .ff-management__eyebrow,
.ff-animations-enabled .ff-management__title {
    opacity: 0;
    transform: translateX(-40px);
}


/* Párrafos superiores */

.ff-animations-enabled .ff-management__intro {
    opacity: 0;
    transform: translateY(25px);
}


/* Acciones */

.ff-animations-enabled .ff-management__actions-title,
.ff-animations-enabled .ff-management__action {
    opacity: 0;
    transform: translateY(25px);
}


/* Consejo */

.ff-animations-enabled .ff-management__board-eyebrow,
.ff-animations-enabled .ff-management__board-title {
    opacity: 0;
    transform: translateY(25px);
}

.ff-animations-enabled .ff-management__board-box {
    opacity: 0;
    transform: translateY(30px);
}



/* =========================================================
   MANAGEMENT - PHOTO
========================================================= */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__photo {
    opacity: 1;
    transform: scale(1);

    transition:
        opacity .8s ease,
        transform 1s cubic-bezier(.2, .75, .2, 1);
}



/* =========================================================
   MANAGEMENT - HEADING
========================================================= */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__eyebrow,

.ff-animations-enabled
.ff-management.is-visible
.ff-management__title {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


/* Eyebrow */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__eyebrow {
    transition-delay: .35s;
}


/* Título */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__title {
    transition-delay: .50s;
}



/* =========================================================
   MANAGEMENT - INTRO
========================================================= */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__intro {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-management.is-visible
.ff-management__intro:nth-of-type(2) {
    transition-delay: .65s;
}


.ff-animations-enabled
.ff-management.is-visible
.ff-management__intro:nth-of-type(3) {
    transition-delay: .80s;
}



/* =========================================================
   MANAGEMENT - ACTIONS
========================================================= */

.ff-animations-enabled
.ff-management.is-visible
.ff-management__actions-title {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);

    transition-delay: .90s;
}


.ff-animations-enabled
.ff-management.is-visible
.ff-management__action {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-management.is-visible
.ff-management__action:nth-child(1) {
    transition-delay: 1.00s;
}

.ff-animations-enabled
.ff-management.is-visible
.ff-management__action:nth-child(2) {
    transition-delay: 1.10s;
}

.ff-animations-enabled
.ff-management.is-visible
.ff-management__action:nth-child(3) {
    transition-delay: 1.20s;
}

.ff-animations-enabled
.ff-management.is-visible
.ff-management__action:nth-child(4) {
    transition-delay: 1.30s;
}



/* =========================================================
   MANAGEMENT BOARD - INITIAL STATE
========================================================= */

.ff-animations-enabled .ff-management__board-eyebrow,
.ff-animations-enabled .ff-management__board-title {
    opacity: 0;
    transform: translateY(25px);
}

.ff-animations-enabled .ff-management__board-box {
    opacity: 0;
    transform: translateY(30px);
}


/* =========================================================
   MANAGEMENT BOARD - VISIBLE
========================================================= */

.ff-animations-enabled
.ff-management__board.is-visible
.ff-management__board-eyebrow,

.ff-animations-enabled
.ff-management__board.is-visible
.ff-management__board-title {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-management__board.is-visible
.ff-management__board-eyebrow {
    transition-delay: .10s;
}


.ff-animations-enabled
.ff-management__board.is-visible
.ff-management__board-title {
    transition-delay: .25s;
}


.ff-animations-enabled
.ff-management__board.is-visible
.ff-management__board-box {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .6s ease,
        transform .75s cubic-bezier(.2, .75, .2, 1);

    transition-delay: .42s;
}

/* =========================================================
   DONATE - INITIAL STATE
========================================================= */

/* Foto */

.ff-animations-enabled .ff-donate__background {
    opacity: 0;
    transform: scale(1.02);
}


/* Overlay para que no aparezca antes que la foto */

.ff-animations-enabled .ff-donate__overlay {
    opacity: 0;
}


/* Columna izquierda */

.ff-animations-enabled .ff-donate__eyebrow,
.ff-animations-enabled .ff-donate__title,
.ff-animations-enabled .ff-donate__description,
.ff-animations-enabled .ff-donate__button {
    opacity: 0;
    transform: translateX(-40px);
}


/* Columna derecha */

.ff-animations-enabled .ff-donate__impact-title,
.ff-animations-enabled .ff-donate__item {
    opacity: 0;
    transform: translateY(25px);
}



/* =========================================================
   DONATE - BACKGROUND
========================================================= */

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__background {
    opacity: 1;
    transform: scale(1);

    transition:
        opacity .8s ease,
        transform 1s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__overlay {
    opacity: 1;

    transition:
        opacity .7s ease;

    transition-delay: .10s;
}



/* =========================================================
   DONATE - LEFT CONTENT
========================================================= */

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__eyebrow,

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__title,

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__description,

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__button {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__eyebrow {
    transition-delay: .40s;
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__title {
    transition-delay: .55s;
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__description {
    transition-delay: .70s;
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__button {
    transition-delay: .85s;
}



/* =========================================================
   DONATE - IMPACT
========================================================= */

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__impact-title,

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__item {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__impact-title {
    transition-delay: .70s;
}


.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__item:nth-child(1) {
    transition-delay: .85s;
}

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__item:nth-child(2) {
    transition-delay: .98s;
}

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__item:nth-child(3) {
    transition-delay: 1.11s;
}

.ff-animations-enabled
.ff-donate.is-visible
.ff-donate__item:nth-child(4) {
    transition-delay: 1.24s;
}



/* =========================================================
   SPONSORS - INITIAL STATE
========================================================= */

.ff-animations-enabled .ff-sponsors__eyebrow,
.ff-animations-enabled .ff-sponsors__title {
    opacity: 0;
    transform: translateX(-40px);
}


.ff-animations-enabled .ff-sponsors__slot {
    opacity: 0;
    transform: translateY(25px);
}



/* =========================================================
   SPONSORS - HEADING
========================================================= */

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__eyebrow,

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__title {
    opacity: 1;
    transform: translateX(0);

    transition:
        opacity .45s ease,
        transform .6s cubic-bezier(.2, .75, .2, 1);
}


.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__eyebrow {
    transition-delay: .15s;
}


.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__title {
    transition-delay: .30s;
}



/* =========================================================
   SPONSORS - LOGOS
========================================================= */

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot {
    opacity: 1;
    transform: translateY(0);

    transition:
        opacity .5s ease,
        transform .65s cubic-bezier(.2, .75, .2, 1);
}


/* Primera fila */

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(1) {
    transition-delay: .45s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(2) {
    transition-delay: .53s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(3) {
    transition-delay: .61s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(4) {
    transition-delay: .69s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(5) {
    transition-delay: .77s;
}


/* Segunda fila */

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(6) {
    transition-delay: .85s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(7) {
    transition-delay: .93s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(8) {
    transition-delay: 1.01s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(9) {
    transition-delay: 1.09s;
}

.ff-animations-enabled
.ff-sponsors.is-visible
.ff-sponsors__slot:nth-child(10) {
    transition-delay: 1.17s;
}


/* =========================================================
   OFFICIAL SPONSORS - ENTRANCE
========================================================= */

.ff-animations-enabled
.ff-official-sponsors.ff-animate-section:not(.is-visible)
.ff-official-sponsors__content,
.ff-animations-enabled
.ff-official-sponsors.ff-animate-section:not(.is-visible)
.ff-official-sponsors__logos {
    opacity: 0;
    transform: translateY(-35px);
}

.ff-official-sponsors__content,
.ff-official-sponsors__logos {
    transition:
        opacity .85s ease,
        transform .85s cubic-bezier(.2, .75, .2, 1);
}

/* Primero aparece el contenido */

.ff-official-sponsors.is-visible
.ff-official-sponsors__content {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .1s;
}

/* Después aparecen los logos */

.ff-official-sponsors.is-visible
.ff-official-sponsors__logos {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .45s;
}

@media (prefers-reduced-motion: reduce) {
    .ff-official-sponsors__content,
    .ff-official-sponsors__logos {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* =========================================================
   PROJECTS - ENTRANCE ANIMATIONS
========================================================= */

/* BACKGROUND */

.ff-animations-enabled
.ff-projects.ff-animate-section:not(.is-visible)
.ff-projects__background {
    opacity: 0;
    transform: scale(1.07);
}

.ff-animations-enabled
.ff-projects.is-visible
.ff-projects__background {
    opacity: 1;
    transform: scale(1);
    transition:
        opacity .8s ease,
        transform 1s cubic-bezier(.2, .75, .2, 1);
}

/* HEAD - INITIAL STATE */

.ff-animations-enabled
.ff-projects.ff-animate-section:not(.is-visible)
.ff-projects__heading,
.ff-animations-enabled
.ff-projects.ff-animate-section:not(.is-visible)
.ff-projects__intro {
    opacity: 0;
    transform: translateY(30px);
}

.ff-projects__heading,
.ff-projects__intro {
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.2, .75, .2, 1);
}

/* HEAD - STAGGERED ENTRANCE */

.ff-projects.is-visible .ff-projects__heading {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .45s;
}

.ff-projects.is-visible .ff-projects__intro:nth-child(2) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .6s;
}

.ff-projects.is-visible .ff-projects__intro:nth-child(3) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .75s;
}

/* CAROUSEL - INITIAL STATE */

.ff-animations-enabled
.ff-projects.ff-animate-section:not(.is-visible)
.ff-projects__carousel-area {
    opacity: 0;
    transform: translateY(35px);
}

/* CAROUSEL - ENTRANCE */

.ff-projects__carousel-area {
    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2, .75, .2, 1);
}

.ff-projects.is-visible .ff-projects__carousel-area {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .95s;
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .ff-projects__background,
    .ff-projects__heading,
    .ff-projects__intro,
    .ff-projects__carousel-area {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* =========================================================
   HOSPITAL - ENTRANCE
========================================================= */

/* BACKGROUND */

.ff-animations-enabled
.ff-hospital.ff-animate-section:not(.is-visible)
.ff-hospital__background {
    opacity: 0;
    transform: scale(1.07);
}

.ff-hospital__background {
    transition:
        opacity .9s ease,
        transform 1.1s cubic-bezier(.2, .75, .2, 1);
}

.ff-hospital.is-visible
.ff-hospital__background {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0s;
}

/* HEAD - INITIAL STATE */

.ff-animations-enabled
.ff-hospital.ff-animate-section:not(.is-visible)
.ff-hospital__head {
    opacity: 0;
    transform: translateX(35px);
}

.ff-hospital__head {
    transition:
        opacity .85s ease,
        transform .85s cubic-bezier(.2, .75, .2, 1);
}

/* HEAD - ENTRANCE */

.ff-hospital.is-visible
.ff-hospital__head {
    opacity: 1;
    transform: translateX(0);
    transition-delay: .45s;
}

/* STATS - INITIAL STATE */

.ff-animations-enabled
.ff-hospital.ff-animate-section:not(.is-visible)
.ff-hospital__stats {
    opacity: 0;
    transform: translateY(35px);
}

.ff-hospital__stats {
    transition:
        opacity .9s ease,
        transform .9s cubic-bezier(.2, .75, .2, 1);
}

/* STATS - ENTRANCE */

.ff-hospital.is-visible
.ff-hospital__stats {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .85s;
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .ff-hospital__background,
    .ff-hospital__head,
    .ff-hospital__stats {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


