body {
    font-family: 'PT Sans', sans-serif;
    margin: 0;
    padding: 0;
}

/* HEADER - Desktop default */
.topnav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.5vw;
    color: white;
    background-color: rgba(8, 55, 116, 1);
    padding: 1vw 2vw;
}

.top-name {
    font-size: 1.8vw;
    white-space: nowrap;
}

.topnav a,
.topnav a:visited,
.topnav a:hover {
    color: white;
    text-decoration: none;
}


.nav-links {
    display: flex;
    gap: 2vw;
}

.nav-links a {
    color: white;
    text-decoration: none;
    font-size: 1.5vw;
    padding: 0.5vw 1vw;
}

.nav-links a:hover,
.topnav a:hover  {
    text-decoration: underline;
    color: rgba(122, 169, 250, 1);
}

.call {
    color: black;
    background-color: white;
    border-radius: 2vw;
    padding: 0.5vw 1vw;
    white-space: nowrap;
}

/* HAMBURGER HIDDEN ON DESKTOP */
.hamburger {
    display: none;
}

/* MAIN SECTION */
.container {
    position: relative;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}

.text {
    width: 50%;
    padding-right: 5vw;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 85%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
    position: relative;
}

.landing-image {
    width: 55%;
    margin-left: -9vw;
    z-index: 1;
}

.title {
    color: rgba(8, 55, 116, 1);
    font-size: 4vw;
    width: 30vw;
    margin-left: 4vw;
}

.slogan {
    color: rgba(8, 55, 116, 1);
    font-size: 2.75vw;
    margin-left: 3vw;
    width: 29vw;
    margin-top: 5vw;
}

.slogan-text {
    color: rgba(8, 55, 116, 1);
    font-size: 1.5vw;
    margin-left: 3vw;
    width: 29vw;
    font-weight: lighter;
}

.call-us {
    color: rgba(8, 55, 116, 1);
    font-size: 1.5vw;
    margin-left: 3vw;
    margin-top: 3vw;
    margin-bottom: 0;
    font-weight: bolder;
}

.number {
    color: rgba(8, 55, 116, 1);
    font-size: 1.5vw;
    margin-left: 3vw;
    margin-top: 0;
    font-weight: lighter;
}

/* FOOTER */
footer {
    color: white;
    background-color: rgba(8, 55, 116, 1);
    height: 5vw;
    display: flex;
    justify-content: space-between;
    padding: 0 2vw;
    align-items: center;
}

.year {
    margin-right: 1vw;
}

/* MOBILE STYLES */
@media screen and (max-width: 768px) {
    .topnav {
        flex-direction: column;
        align-items: flex-start;
    }

    .top-name {
        font-size: 5vw;
        margin-bottom: 1vw;
    }

    .hamburger {
        display: block;
        font-size: 8vw;
        color: white;
        cursor: pointer;
        padding: 1vw 2vw;
        margin-left: auto;
    }

    .nav-links {
        display: none;
        flex-direction: column;
        width: 100%;
        background-color: rgba(8, 55, 116, 1);
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links a {
        font-size: 5vw;
        padding: 3vw 5vw;
        text-align: left;
    }

    .call {
        font-size: 4.5vw;
        padding: 2vw 4vw;
        margin: 2vw 0;
    }

    .container {
        flex-direction: column;
    }

    .text {
        width: 100%;
        padding: 5vw;
        background: white;
    }

    .landing-image {
        width: 100%;
        margin-left: 0;
    }

    .title {
        font-size: 7vw;
        width: 90%;
        margin-left: 0;
    }

    .slogan {
        font-size: 5vw;
        width: 100%;
        margin-left: 0;
        margin-top: 4vw;
    }

    .slogan-text,
    .call-us,
    .number {
        font-size: 4vw;
        margin-left: 0;
        width: 100%;
    }

    footer {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: auto;
        padding: 3vw 0;
        text-align: center;
    }

    .year {
        margin-right: 0;
    }
}
