/* =========================================================
   KENYATAX ULTRA-FAST PAGE TRANSITIONS
========================================================= */

.page-transition-curtain {
    display: none !important;
}


/* =========================================================
   PAGE CONTENT
========================================================= */

.site-page-content {
    opacity: 1;
    transform: translateY(0);

    will-change:
        opacity,
        transform;
}


/* NEW PAGE BEFORE OPENING */

body.page-preload
.site-page-content {
    opacity: 0;

    transform:
        translateY(5px);
}


/* NEW PAGE ENTERS VERY QUICKLY */

body.page-ready
.site-page-content {
    opacity: 1;

    transform:
        translateY(0);

    transition:
        opacity 0.10s ease-out,
        transform 0.10s ease-out;
}


/* CURRENT PAGE LEAVES VERY QUICKLY */

body.page-leaving
.site-page-content {
    opacity: 0;

    transform:
        translateY(-4px);

    transition:
        opacity 0.08s ease-in,
        transform 0.08s ease-in;
}


/* =========================================================
   HOME READ MORE
========================================================= */

.home-more-content {
    display: block !important;

    max-height: 0;

    opacity: 0;

    visibility: hidden;

    overflow: hidden;

    transform:
        translateY(35px);

    transition:
        max-height 1.15s
        cubic-bezier(0.22, 1, 0.36, 1),

        opacity 0.65s ease,

        transform 0.85s
        cubic-bezier(0.22, 1, 0.36, 1),

        visibility 0s linear 1.15s;
}


.home-more-content.open {
    max-height: 6000px;

    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);

    transition:
        max-height 1.30s
        cubic-bezier(0.22, 1, 0.36, 1),

        opacity 0.70s ease,

        transform 0.90s
        cubic-bezier(0.22, 1, 0.36, 1),

        visibility 0s;
}


/* =========================================================
   CHALLENGES
========================================================= */

.home-more-content.open
.challenges-content {
    animation:
        ktRevealLeft
        0.85s
        cubic-bezier(0.22, 1, 0.36, 1)
        both;
}


.home-more-content.open
.challenges-image {
    animation:
        ktRevealRight
        0.90s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.10s
        both;
}


/* =========================================================
   SOLUTION
========================================================= */

.home-more-content.open
.solution-image {
    animation:
        ktRevealUp
        0.90s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.20s
        both;
}


.home-more-content.open
.solution-content {
    animation:
        ktRevealRight
        0.95s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.30s
        both;
}


/* =========================================================
   CHALLENGE ITEMS
========================================================= */

.home-more-content.open
.challenge-item {
    animation:
        ktRevealUp
        0.65s
        cubic-bezier(0.22, 1, 0.36, 1)
        both;
}


.home-more-content.open
.challenge-item:nth-of-type(1) {
    animation-delay: 0.12s;
}


.home-more-content.open
.challenge-item:nth-of-type(2) {
    animation-delay: 0.20s;
}


.home-more-content.open
.challenge-item:nth-of-type(3) {
    animation-delay: 0.28s;
}


.home-more-content.open
.challenge-item:nth-of-type(4) {
    animation-delay: 0.36s;
}


.home-more-content.open
.challenge-item:nth-of-type(5) {
    animation-delay: 0.44s;
}


/* =========================================================
   READ MORE BUTTON
========================================================= */

.read-more-button {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease !important;
}


.read-more-button:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 12px 25px
        rgba(215, 25, 32, 0.22);
}


.read-more-arrow {
    display: inline-block;

    transition:
        transform 0.35s ease;
}


.read-more-button[aria-expanded="true"]
.read-more-arrow {
    transform:
        rotate(180deg);
}


/* =========================================================
   READ MORE ANIMATIONS
========================================================= */

@keyframes ktRevealLeft {

    from {
        opacity: 0;

        transform:
            translateX(-35px);
    }

    to {
        opacity: 1;

        transform:
            translateX(0);
    }

}


@keyframes ktRevealRight {

    from {
        opacity: 0;

        transform:
            translateX(35px);
    }

    to {
        opacity: 1;

        transform:
            translateX(0);
    }

}


@keyframes ktRevealUp {

    from {
        opacity: 0;

        transform:
            translateY(30px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .site-page-content,
    .home-more-content,
    .challenges-content,
    .challenges-image,
    .solution-image,
    .solution-content,
    .challenge-item {

        animation: none !important;

        transition: none !important;
    }

}