@import url("https://fonts.googleapis.com/css2?family=Merriweather&family=Merriweather+Sans:wght@300&display=swap");
* {
    box-sizing: border-box;
}
/*General styling for structure*/
body {
    margin: 0;
    font-family: "Merriweather Sans", sans-serif;
    overflow-x: hidden;
}

header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: "Merriweather", serif;
    height: 100vh;
    padding: 50px;
}

header h2 {
    font-weight: 400;
}

.scroll-container {
    height: 100vh;
    min-height: 450px;
    padding: 2rem 1rem;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}
.scroll-container.c1, .scroll-container.c2 {
    justify-content: center;
}

.scroll-container.c3, 
.scroll-container.c4 {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.scroll-container.c3 .scroll-element,
.scroll-container.c4 .scroll-element {
    margin-bottom: 10px;
}

.scroll-container.c1 {
    background-color: #bdd0c4;
}
.scroll-container.c2 {
    background-color: #f5d2d3;
}
.scroll-container.c3 {
    background-color: #9ab7d3;
}
.scroll-container.c4 {
    background-color: #dfccf1;
}


.scroll-element {
    height: 100px;
    width: 100px;
    background-color: #eaeaea;
    opacity: 0;
    transition: opacity 500ms;
}
.scroll-element.fade-in-bottom{
    background: none;
    text-align: center;
    width: auto;
    height: auto;
}


/************************************************
* CSS that controls animations / transitions 
* when "scrolled" class is added by the JS
* (which happens when the container is in view).
************************************************/

.scroll-element.scrolled {
    opacity: 1;
}

.scrolled.fade-in {
    animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
    animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left-1,
.scrolled.slide-left-2,
.scrolled.slide-left-3 {
    animation: slide-in-left 1s ease-in-out both;

}
.scrolled.slide-left-2 {
    animation-delay: 0.1s;
}
.scrolled.slide-left-3 {
    animation-delay: 0.2s;
}

.scrolled.slide-right-1,
.scrolled.slide-right-2,
.scrolled.slide-right-3,
.scrolled.slide-right-4,
.scrolled.slide-right-5 {
    animation: slide-in-right 1s ease-in-out both;
}
.scrolled.slide-right-2 {
    animation-delay: 0.1s;
}
.scrolled.slide-right-3 {
    animation-delay: 0.2s;
}
.scrolled.slide-right-4 {
    animation-delay: 0.3s;
}
.scrolled.slide-right-5 {
    animation-delay: 0.4s;
}


/* ----------------------------------------------
 * Generated by Animista on 2021-2-11 23:32:31
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

@keyframes slide-in-left {
    0% {
        -webkit-transform: translateX(0vw);
        transform: translateX(0vw);
    }
    100% {
        -webkit-transform: translateX(calc(50vw - 50px));
        transform: translateX(calc(50vw - 50px));
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(calc(100vw + 50px));
        transform: translateX(calc(100vw + 50px));
    }
    100% {
        -webkit-transform: translateX(calc(50vw - 50px));
        transform: translateX(calc(50vw - 50px));
    }
}

@keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(250px);
        transform: translateY(250px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}