*,
*::after,
*::before {
    box-sizing: border-box;
    margin: 0;
}

html {
    line-height: 1.5;
    letter-spacing: 1.1;
}

body {
    font-family: 'Montserrat', sans-serif;
}


li {
    list-style: none;
}

a {
    text-decoration: none;
    color: #fff;
}

/* end of css resets */

/* utilities */

.container {
    width: min(80%, 1280px);
    margin: 0 auto;

    position: relative;
}

img {
    max-width: 100%;
}

.cta {
    padding: .5em 1em;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    cursor: pointer;

    text-transform: uppercase;
    background-color: #a59678;
    color: #fff;
    border: none;
    border-radius: 100px;
    font-weight: 700;
}

.signup {

    background-color: #a59678;
    color: #fff;

    padding: .25em .75em;
    border-radius: 20px;
}

.cta:hover,
.cta:active,
.signup:hover,
.signup:active {
    opacity: .7;
}

/* start of header */
header {
    background-color: #2e323f;
    padding: 2em 0;
}

.header {
    margin-bottom: 1em;
}

.nav__logo {
    margin: 0 auto;
}

.navbar {
    visibility: hidden;
    height: 0;
    position: relative;
    font-size: 1.125rem;
    font-family: 'Oswald Bold', serif;

    display: flex;
    justify-content: center;

    text-align: center;
}

.hero {
    background-color: #3b4050;

    padding: 8vw 0;
}

.nav-item {
    color: #fff;
    text-transform: uppercase;
    font-family: 'Oswald', serif;
    font-size: calc(0.9rem + 0.2vw);
    font-weight: 700;

    margin-top: 1em;
}


.hero-title {
    font-size: clamp(4rem, 4vw, 5.625rem);
    font-weight: 600;
    font-family: 'Oswald', serif;
    color: #fff;

    margin-bottom: .5em;
}

.hero-title span {
    color: #a59678;
}

.hero p {
    color: #a59678;
    font-family: 'Montserrat', serif;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);

    margin-bottom: 1em;
}


/* nav toggle */

.nav-toggle {
    cursor: pointer;
    border: 0;
    width: 3em;
    height: 3em;
    padding: 0em;
    border-radius: 50%;
    background-color: #3b4050;
    color: #fff;
    transition: opacity 250ms ease;

    position: absolute;
    top: 0%;
    right: 0;
}

.nav-toggle:focus,
.nav-toggle:hover {
    opacity: .7;
}

.hamburger {
    width: 50%;
    position: relative;
}

.hamburger,
.hamburger::before,
.hamburger::after {
    display: block;
    margin: 0 auto;
    height: 3px;
    background-color: #fff;
}

.hamburger::before,
.hamburger::after {
    content: '';
    width: 100%;
}

.hamburger::before {
    transform: translateY(-6px);
}

.hamburger::after {
    transform: translateY(3px);
}




/* end of nav toggle  */

/* nav visible */

.nav--visible {
    visibility: visible;
    height: auto;
    position: relative;
}


/* end of hero */

/* start of card section */

.cards__section {
    background-color: #f1f1f1;

    padding: 3em 0;
}

.cards__section h2 {
    font-family: 'Oswald', serif;
    color: #a59678;
    font-weight: 700;
    font-size: 1.875rem;

    margin-bottom: 1em;
}

.card-content p {
    margin-bottom: 1em;
    font-family: 'Montserrat', serif;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
}

/* end of card section */

/* start of main content */

.main {
    padding: 3em 0;
}

.main__section-title {
    color: #a59678;
    font-family: 'Oswald', serif;
    font-size: 2.25rem;
    margin-bottom: .5em;
}

.cards__main {
    display: flex;
    flex-direction: column;
}

.card {
    background-color: #3b4050;
    text-align: center;

    padding: 1em;
    margin-top: 1em;
}

.card h2 {
    color: #fff;
    margin-bottom: 1em;
}

.card p {
    color: #b9b6b0;
}

.main__section-content {
    font-size: 1.125rem;
    margin: 1em 0;
}

.cards__main-title {
    font-family: 'Oswald', serif;
}

/* end of main content */

/* start of footer */
.footer {
    background-color: #2e323f;
    padding: 2em;
}

.footer-title {
    font-family: 'Oswald', serif;
    font-size: 1.9rem;
    color: #fff;

    text-align: center;
    margin: 1em 0;
}

.about,
.around,
.other__things,
.more {
    margin-bottom: 1em;
}

.about,
.around,
.other__things,
.more p {
    color: #b9b6b0;
}

.around a,
.other__things a,
.more a {
    color: #b9b6b0;
}

.footer-content h4 {
    font-family: 'Oswald', serif;
    font-size: 1.25rem;
    color: #a59678;
    margin-bottom: 1em;
}

/* end of footer */





/* mobile section */

/* navbar media query */

/* media query desktop and large */

@media (min-width: 700px) and (max-width:1000px) {
    .cards__main-section {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .cards__main-section .card+.card {
        margin-top: 0;
        margin-left: 1em;
    }

    /* just left this here because that !st card could
    be aligned in a better way than it looks between 700px 
    and 1000px
    */

    .card:nth-child(1) {

        /* align-self: flex-start; */
    }
}

@media (min-width: 1000px) {
    .hero__content {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .hero-title {
        font-size: 5rem;
        /* margin-right: 1em; */
        flex-shrink: 2;
    }

    .hero__content-cta {
        flex-shrink: 3;
    }

    /* cards main */
    .cards__section-cards {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .cards__section-cards .card-content+.card-content {
        margin-left: 1em;
    }

    .card-content {
        text-align: center;
    }

    /* end of cards */

    .main__sections {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .main__section-content {
        flex-shrink: 2;
    }

    .cards__main-section {
        flex-shrink: 2;
        margin-left: 15%;
    }


    /* footer */
    .footer-content {
        /* background-color: red; */
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .about {
        width: 40%;
    }
}


/* mobile section navbar */

@media (min-width:800px) {
    .nav-toggle {
        display: none;
    }

    .header {
        display: flex;
        align-items: center;


        margin-bottom: 1em;
    }

    .navbar {
        visibility: visible;
        height: auto;
        position: relative;
        /* background-color: lime; */

        flex-grow: 1;
    }

    .nav-list {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
        margin-top: 0;

        /* border: 2px solid red; */
    }


    .nav-list .nav-item+.nav-item {
        margin-left: 3em;
    }
}


/* my info */

.my-info {
    font-size: 0.9rem;
    margin-top: 1em;
    text-align: center;

    color: #b9b6b0;
    font-family: 'Mono Space', sans-serif;
}