 /* --------------Updated 31.03.2019 --------*/

 * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    background: lightslategrey;
}

h1,
h2 {
    text-align: center;
    border: 1px solid black;
    margin: 5px;
    border-radius: 20px;
    padding: 5px 10px;
    width: 300px;
    margin: auto;
    text-transform: uppercase;
}

h1 {
    margin: 10px auto;
    animation-name: grid;
    animation-iteration-count: infinite;
    animation-duration: 3s;

}

@keyframes grid {
    0% {
        background: #9f9f9f;
        border-radius: 100px;
    }

    25% {
        background: #567010;
        border-radius: 75px;
    }

    50% {
        background: #665544;
        border-radius: 50px;
    }

    100% {
        background: #112299;
        border-radius: 25px;
    }

}

h2 {
    background: tomato;
}

h2:hover {
    transform: scale(1.1);
    transition: 0.5s ease-in-out;
    background: #112233;
    color: #fff;
}

h3 {
    border: 1px solid tomato;
    border-radius: 20px;
    color: #fff;
    background: #112233;
    padding: 0 5px;
    text-align: center;
}

p {
    text-align: justify;
}

section a {
    display: block;
    text-align: center;
    text-decoration: none;
    border: 1px solid tomato;
    border-radius: 20px;
    color: #fff;
    background: #112233;
    margin-top: 20px;

}

.grid-item:hover {
    background: #40e0d0;
    color: #fff;
    transform: scale(0.95);
    transition: 0.5s ease-in-out;
}

#grid-floats::after {
    content: "";
    border-bottom: 1px dashed #000;
    clear: both;
    display: block;
    margin-bottom: 10px;
    animation-name: dash;
    animation-duration: 0.5s;
    animation-iteration-count: infinite;
}

@keyframes dash {
    0% {
        border-bottom: 3px dashed #fff;
    }

    100% {
        border-bottom: 3px dashed lightslategray;
    }
}

.grid-item {
    list-style-type: none;
    margin: 10px;
    padding: 10px;
    border: 1px solid #000;
    border-radius: 10px;
    float: left;
    width: calc(50% - 20px);
    height: 500px;
    background: #efefef;
}

.grid-item:first-child {
    width: calc(100% - 20px);
}

.grid-item img {
    max-width: 100%;
    background: #fff;
    margin-top: 10px;
    border: 1px solid #fff;
    border-radius: 20px;
}

#grid-flex {
    display: flex;
    flex-flow: row wrap;
}

@media all and (min-width:768px) {

    .grid-item {
        width: calc(100% / 3 - 20px);
        height: 450px;
    }

    .grid-item:nth-child(-n+2) {
        width: calc(50% - 20px);
    }

    #grid-flex {
        display: flex;
        flex-flow: row wrap;
    }
}

@media all and (min-width:768px) {
    .grid-item {
        min-height: 600px;
    }
}

@media all and (min-width:1280px) {

    .grid-item:first-child {
        width: calc(50% - 20px);


    }

    .grid-item:nth-child(n+2) {
        width: calc(25% - 20px);
    }

    #grid-flex {
        display: flex;
        flex-flow: row wrap;
    }
}