:root {
    --font-family: "canada-type-gibson", sans-serif;
    --font-family-secondary: "Work Sans", sans-serif;
}

/* Reset and base styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family);
    background-color: #166561;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Layout */
main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 135px 0;

    h1 {
        color: #FFF;
        text-align: center;
        font-size: 40px;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.16px;
        text-transform: uppercase;
        margin: 0;
        margin-top: 105px;
        margin-bottom: 10px;
    }
}

footer {
    width: 100%;
    height: 190px;
    background-color: #fff;
    padding: 50px 40px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    h2 {
        color: #166561;
        font-size: 24px;
        font-weight: 600;
        line-height: normal;
        letter-spacing: 0.096px;
        text-transform: uppercase;
        margin: 0;
    }

    p {
        color: #166561;
        font-size: 18px;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.072px;
        margin: 0;
    }

    .copyright {
        color: #273042;
        font-family: var(--font-family-secondary);
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
        margin: 0;
        margin-top: 15px;
    }

    a {
        color: #273042;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-decoration: none;
        display: block;
    }

    a.phone {
        margin-top: 15px;
    }

    a:hover {
        text-decoration: underline;
    }
}

/* Responsive design */
@media (max-width: 768px) {
    main {
        padding: 75px 0;
    }
}

@media (max-width: 525px) {
    main {
        padding: 50px 0;

        .logo {
            width: 300px;
        }

        h1 {
            margin-top: 50px;
        }
    }

    footer {
        flex-direction: column;
        height: 275px;
        padding: 25px 20px;
    }
}

@media (max-width: 425px) {
    main {

        h1 {
            font-size: 32px;
        }
    }

    footer {
        height: 245px;

        h2 {
            font-size: 20px;
        }

        p {
            font-size: 16px;
        }

        a {
            font-size: 14px;
        }
    }
}

@media (max-width: 375px) {
    main {

        .logo {
            width: 200px;
        }

        h1 {
            font-size: 32px;
        }
    }

    footer {
        height: 245px;

        h2 {
            font-size: 20px;
        }

        p {
            font-size: 16px;
        }

        a {
            font-size: 14px;
        }
    }
}
