*{
    box-sizing: border-box
}

body {
    background-color: white;
    padding: 10px;
    display: flex;
    flex-wrap: wrap
}

h1 {
    width: 100%;
    margin: 20px auto;
    background-color: red;
    color: white;
    font-size: 3vw;
}

article {
    width: 100%;
    border-bottom: dotted gray;
    margin: 10px;
    padding: 30px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
}

section {
    margin: 10px;
    width: 80%;
}

h2 {
    color: gray;
    font-size: 2vw
}

h3 {
    color: red;
    font-size: 1.8vw;
}

p {
    color: rgb(163, 163, 163);
    font-size: 1.5vw;
}

img {
    width: 15%
}

article:nth-of-type(2) {
    flex-direction: row;
}

@media screen and (max-width: 1000px){
    article:nth-of-type(1){
        width: 46%;
        flex-direction: column-reverse;
    }

    article:nth-of-type(2){
        width: 46%;
        flex-direction: column;
    }

    article:nth-of-type(3){
        flex-direction: row-reverse;
    }

    img{
        width: 100%
    }
    article:nth-of-type(3){
        width: 100%
    }

    article:nth-of-type(3) > img{
        width: 15%
    }
}

@media screen and (max-width: 576px){
    article:nth-of-type(1){
        width: 100%;
        flex-direction: column-reverse;
    }

    article:nth-of-type(2){
        width: 100%;
        flex-direction: column;
    }

    article:nth-of-type(3){
        width: 100%;
        flex-direction: column-reverse;
    }

    section{
        width: 100%
    }
    img{
        width: 100%
    }

    article:nth-of-type(3) > img{
        width: 100%
    }

    h2{
        font-size: 2.8vw;
    }

    h3{
        font-size: 2.4vw;
    }
    
    p{
        font-size: 2vw;
    }
}