*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-weight:200;
    text-align:center;
    background:url(background-img.jpg) no-repeat center bottom fixed;
    background-size:cover;
    
    
}

.blocks{
    position:fixed;
    bottom:0;
    z-index:1;
    list-style:none;
    display:flex;
    width:100%;
    margin:0;
    padding:0;
}

.blocks-block{
    will-change:transform;
    position:relative;
    height:20vh;
    flex:1;
    z-index:3;
    transform:scale(1);
    /* transition:all 0.07s cubic-bezier(0.73, 1, 0.23, 1); */
    transition:all .8s ease-in;
}

.blocks-block:nth-child(1){
    background:yellow;
    transform-origin:0% 100%;  
}
.blocks-block:nth-child(2){
    background:deepskyblue;
    transform-origin:25% 100%;
}
.blocks-block:nth-child(3){
    background:#e2bb7f;
    transform-origin:50% 100%;
}
.blocks-block:nth-child(4){
    background:#f7b7bd;
    transform-origin:75% 100%;
}
.blocks-block:nth-child(5){
    background:#34495e;
    transform-origin:100% 100%;
}

.blocks-block.active{
    z-index:4;
    transform:scale(10);
}

.blocks-content{
    list-style:none;
    margin:0;
    padding:0;
    position:absolute;
    bottom:0;
    left:0;
    height:100vh;
    width:100%;
}

.blocks-content-content{
    will-change:transform, opacity;
    display:flex;
    align-items:center;
    justify-content: center;
    text-align:center;
    flex-direction:column;
    position:fixed;
    width:100%;
    z-index:1;
    top:0;
    left:0;
    height:100vh;
    padding:10vh;
    font-size:20px;
    opacity:0;
    visibility:hidden;
    transform:scale(0);
    transition:all 0.7s ease-out;
}
.blocks-content-content.active{
    opacity:1;
    transform:scale(1);
    visibility:visible;
}

.blocks-content p{
    font-size:17px;
    line-height:2;
    max-width:800px;
}

.blocks-content h2{
    padding:15px 30px;
    font-weight:300;
    letter-spacing:5px;
    box-shadow: inset 0 0 0 3px #000;
}

.block-names{
    position:fixed;
    bottom:0;
    left:0;
    z-index:2;
    width:100%;
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    font-size:18px;
    letter-spacing:4px;
    cursor:pointer;
    visibility:visible;
    transition:all 0.7s ease-out;

}

.block-names.active{
    transform:scale(0);
}

.block-names .block-name{
    flex:1;
    height:20vh;

    display:flex;
    align-items:center;
    justify-content:center;
    text-transform:uppercase;
}

.blocks-content-close{
    font-size:40px;
    border:2px solid #000;
    padding:20px;
    border-radius:50%;
    margin-top:30px;
    cursor:pointer;
    width:80px;
    height:80px;
    line-height:40px;
}
