html {
    font-size: 16px
}

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f0f2f5;
    color: #333
}

.container {
    width: 90%;
    max-width: 56.25rem;
    margin: 1.875rem auto;
    padding-top: 1rem;
    border-radius: .625rem
}

header {
    background: #0073e6;
    color: #fff;
    padding: 1.875rem 1.25rem;
    padding-top: 5rem;
    margin-top: 5rem;
    text-align: center;
    position: relative;
    border-radius: 1rem 1rem 0 0
}

header img {
    width: 100%;
    max-width: 10rem;
    height: auto;
    border-radius: 10rem;
    position: absolute;
    top: -5rem;
    left: 50%;
    transform: translateX(-50%);
    background-color: #efefef;
    padding: 5px;
    border: 5px solid #0073e6
}

header h1 {
    margin: 1rem 0;
    font-size: 2.5rem
}

header p {
    margin: .625rem 0 0;
    font-size: 1.2rem
}

.controls {
    text-align: left;
    margin-bottom: 20px
}

.controls button {
    margin: 0 10px 0 0;
    padding: 10px 20px;
    font-size: 1em;
    border: 0;
    background-color: #0073e6;
    color: #fff;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color .3s
}

.controls button:hover {
    background-color: #005aad
}

.contact-info {
    margin-top: .9375rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25rem;
    flex-wrap: wrap;
    font-size: 1rem
}

.contact-info a {
    color: #fff;
    text-decoration: none;
    margin: 0 .625rem;
    font-weight: 500
}

.contact-info a:hover {
    text-decoration: underline
}

section {
    padding: 1.25rem;
    border-bottom: 1px solid #e0e0e0;
    background-color: #fff
}

section h2 {
    font-size: 1.6rem;
    color: #0073e6;
    margin-bottom: .9375rem
}

ul {
    list-style: none;
    padding: 0;
    margin: 0
}

ul li {
    margin: .625rem 0;
    padding-left: 1.25rem;
    position: relative
}

ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #0073e6
}

.portfolio a {
    color: #0073e6;
    text-decoration: none;
    font-weight: 500
}

.portfolio a:hover {
    text-decoration: underline
}

footer {
    text-align: center;
    padding: 1.25rem;
}

footer p {
    margin: 0
}

@media(max-width:48rem) {
    header h1 {
        font-size: 2rem
    }

    header p {
        font-size: 1rem
    }

    .contact-info a {
        display: block;
        margin: .3125rem 0
    }

    section h2 {
        font-size: 1.4rem
    }

    section {
        padding: .9375rem
    }

    .portfolio a {
        word-wrap: break-word
    }
}

@media(max-width:30rem) {
    header h1 {
        font-size: 1.8rem
    }

    header p {
        font-size: .9rem
    }

    section h2 {
        font-size: 1.2rem
    }

    section {
        padding: .625rem
    }

    footer {
        padding: .9375rem
    }

    .contact-info {
        font-size: .9rem
    }

    .controls {
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .controls button {
        margin: 0;
        padding: .5rem 1rem
    }
}