body{
    font-family: arial;
    /* gainsboro */
    background: #dce8e9;
}

/* --------------------------------- */




/* CANVAS */

canvas {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
}


.flex-container {
    height: 100%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-item:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-left: 0px;
}

.flex-item {
    /* aliceblue */
    color: #f0f8ff;

    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;

    padding-top: 30px;
    height: 53px;
    
    font-size: 25px;

    margin-top: 2px;
    background-color: #4DBCE9;
    cursor: pointer;
    border-bottom-color: #45a8d1;
    border-bottom-width: 5px;
    border-bottom-style: solid;

    opacity: 1;

    -webkit-transition: opacity .75s ease-in-out;
    -o-transition: opacity .75s ease-in-out;
    transition: opacity .75s ease-in-out;

    margin-left: 1px;
    padding-left: 30px;
    padding-right: 30px;

    z-index: 1;
    transition: transform 0.6s ease-in-out 0.1s, z-index 0.6s linear;
    transform: scale(1);
}

.flex-item:last-child {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
}

.flex-item:hover {
    background-color: #26ADE4;
    border-bottom-color: #229bcc;
    transform: scale(1.2);
    z-index: 99;
}



/* Animations */

.spawn {
    animation-name: spawn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
    transform: translateY(40px);
}

@keyframes spawn {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(0.8);
    }
    100% { 
        opacity: 1;
        transform: translateY(0px) scale(1);
    }
}