/* layout mobile 0px */
@media (min-width: 0px) {

    html, body, h1, h2, h3, p {
        font-size: 18px;
        line-height: 130%;
    }

    footer {
        text-align: center;
    }

    h1 {
        font-size: 5vh;
        font-weight: bold;
        line-height: 112%;
        text-align: left;
        vertical-align: middle;
    }

    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.5rem;
        text-align: center;
    }

    .center {
        text-align: center;
    }

    a.button {
        background-color: #212121;
        border-color: transparent;
        border-radius: 4px;
        color: white;
        display: inline-block;
        font-size: 18px;
        padding: 15px 30px;
        text-decoration: none;
    }

    header, main, footer {
        margin: auto;
    }

    header {
        top: 10%;
        padding: 0 5%;
        position: absolute;
    }

    header svg#logo {
        height: auto;
        width: 260px;
    }

    header h1 { font-weight: 600; font-size: 5vh; }

    main section {
        display: flex;
        min-height: 100vh;
        float: none;
        padding: 50px 5%;
        justify-content: center;
        flex-direction: column;
    }

    h1 {
        width: 80%;
    }

    main section:nth-child(2n+2) {
        /* background by SVGBackgrounds.com */
        background-color: #024959;
        background-attachment: fixed;
        background-size: cover;
    }

    main section:nth-child(2n+2) h2,
    main section:nth-child(2n+2) h3,
    main section:nth-child(2n+2) p,
    main section:nth-child(2n+2) a,
    main section:nth-child(2n+2) li,
    main section:nth-child(2n+2) svg {
        color: white;
    }

    main section:nth-child(2n+2) a.button {
        background-color: white;
        color: #212121;
    }

    main section#services ul {
        display: grid;
        grid-gap: 20px;
        grid-template-columns: repeat(1, 1fr);
    }

    main section#services ul>li {
        padding: 15px;
    }

    main section#services ul>li>svg {
        display: block;
        height: 50px;
        margin: 10px auto;
        width: 50px;
    }

    main section#method ul>li {
        margin: 20px;
    }

    main section#method ul>li>svg {
        float: left;
        margin: 5px;
    }

    main section#method ul>li>p {
        margin-left: 50px;
        margin-top: 0;
    }

    main section#partner ul {
        display: grid;
        grid-gap: 20px;
        grid-template-columns: repeat(1, 1fr);
    }

    main section#partner picture {
        display: block;
        text-align: center;
    }

    main section#partner picture>img {
        box-shadow: 0 5px 20px rgb(0 0 0 / 10%);
        height: auto;
        max-width: 100%;
    }

    main section#career>ul>li {
        padding-left: 20px;
    }

    main section#career>ul>li>svg {
        display: inline-block;
        margin-right: 10px;
        position: relative;
        top: 4px;
    }

    div#next {
        background-color: #212121;
        border-radius: 50%;
        bottom: 5px;
        cursor: pointer;
        display: block;
        height: 75px;
        position: fixed;
        right: 5px;
        transition: 0.2s ease-in-out;
        width: 75px;
    }

    div#next>svg {
        color: white;
        height: 75px;
        width: 75px;
    }

    #bg {
        position: fixed;
        background-color: white;
        height: 100vh;
        left: 0px;
        top: 0px;
        width: 100vw;
        z-index: -1;
    }
}

/* layout mobile 576px */
@media (min-width: 576px) {

    html, body, p {
        font-size: 24px;
        line-height: 130%;
    }

    h1 {
        font-size: calc(max(40px, 6vh));
    }

    h3 {
        font-size: 1.2rem;
    }

    header {
        padding: 0 5%;
    }

    main section {
        padding: 50px 5%;
    }

    header svg#logo {
        width: 300px;
    }

    main section#services ul {
        grid-template-columns: repeat(2, 1fr);
    }

    main section#services ul>li>p,
    main section#partner p {
        font-size: 20px;
    }
}

/* layout desktop 768px */
@media (min-width: 768px) {
    h1 {
        font-size: calc(max(40px, 5vh));
        width: 62%;
    }

    h2 {
        font-size: 3rem;
    }

    main section#method ul>li {
        margin: 50px 20px;
    }

    main section#partner ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* layout desktop 992px */
@media (min-width: 992px) {
    h1 {
        font-size: calc(min(5vw, 80px));
    }

    header {
        padding: 0 5%;
    }

    main section {
        padding: 100px 5%;
    }

    header svg#logo {
        width: 40vw;
        max-width: 400px;
    }
}

/* layout desktop 1200px */
@media (min-width: 1200px) {
    header {
        padding: 0px 20%;
    }
    main section {
        padding: 150px 20%;
    }
}

/* layout desktop 1600px */
@media (min-width: 1600px) {

    h3 {
        font-size: 1rem;
        font-weight: bold;
    }

    header {
        padding: 0 20%;
    }

    main section {
        padding: 200px 20%;
    }
}