:root {

    --navbar-color: #2E323F;
    --main-background: #3B4050;
    --secondary-background: #f1f1f1;
    --accent-color: #71b6c7;
    --focus-color: #c44925;
    --secondaryaccent-color: #316e7d;
    --light-color: #fff;
    --footer-primarytext: #D6D7DB;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

/***************color*****************/
header {
    background: var(--navbar-color);
}

.hero, .sidebar__section, footer {
    background-color: var(--main-background);
    color: var(--light-color);
}

.first-row {
    background-color: var(--secondary-background);
}

.btn, .nav-toggle, .nav__link--button {
    background-color: var(--focus-color);
    color: var(--light-color);
}

.hamburger,
.hamburger::before,
.hamburger::after {
    background: var(--light-color);
}

.nav__link {
    color: var(--light-color);
}

.nav__link--button {
    text-shadow: 0 0 2px black;
}

.accent {
    color: var(--accent-color);
}

.darkaccent {
    color: var(--secondaryaccent-color);
}

.footer__text, .footer__link {
    color: var(--footer-primarytext);
}


/***************typography*****************/
.uppercase {
    text-transform: uppercase;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
}

.nav, h1, h2, h3, h4, .btn, .footer__note {
    font-family: 'Oswald', sans-serif;
}

.nav {
    font-size: 1rem;
}

.nav__list, .footer__list {
    list-style: none;
}

.nav__link, .footer__link {
    text-decoration: none;

}

header {
    font-size: 1.125rem;
    text-align: center;
}

.hero__text h1 {
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.1;
}

.hero__text p {
    font-size: 1.2rem;
}

.hero__text .btn {
    text-decoration: none;
    font-size: 1.5rem;
    text-shadow: 0 0 2px black;
}

.declaration {
    font-family: 'Whisper', cursive;
    font-size: 5rem;
    font-weight: 500;
    display: block;
    margin-top: -0.45em;
    margin-bottom: -0.4em;
    text-shadow: 0 0 2px black;
}

.first__section h2, .second__section--sidebar h2 {
    font-size: 1.875rem;
}

.first__section p, .second__section--sidebar p {
    font-size: 1.125rem;
}

.second__section--primary h2 {
    font-size: 2rem;
}

.second__section--primary p {
    font-size: 1.1rem;
}

aside, .footer__note {
    text-align: center;
}

.footer__note {
    font-size: 2rem;
}

footer h3 {
    font-size: 1.2rem;
}

.designer__info {
    font-size: 0.8rem;
}

/***************layout*****************/

body {
    margin: 0%;
}

img {
    max-width: 100%;
}

h1 {
    margin-top: 0;
}

.btn {
    display: inline-block;
    padding: .5em 1.75em;
    border-radius: 100px;
}

.btn:hover,
.btn:focus {
    opacity: .75; 
}

.container {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    /* added for nav-toggle positioning */
    position: relative;
}

header {
    padding: 1em 0;
}

.nav {
    width: 100%;
}

.nav-toggle {
    cursor: pointer;
    border: 0;
    width: 3em;
    height: 3em;
    padding: 0em;
    border-radius: 50%;
    transition: opacity 250ms ease;    
    position: absolute;
    left: 0;
}

.nav-toggle:focus,
.nav-toggle:hover {
    opacity: .75;
}

.hamburger {
    width: 50%;
    position: relative;
}

.hamburger,
.hamburger::before,
.hamburger::after {
    display: block;
    margin: 0 auto;
    height: 3px;
}

.hamburger::before,
.hamburger::after {
    content: '';
    width: 100%;
}

.hamburger::before {
    transform: translateY(-6px);
}

.hamburger::after {
    transform: translateY(3px);
}

.nav {
    visibility: hidden;
    height: 0;
    position: absolute;
}

.nav--visible {
    visibility: visible;
    height: auto;
    position: relative;
} 

.logo {
    width: 50px;
}

.nav__list {
    margin: 0;
    padding: 0;
}

.nav__list--primary {
    margin-bottom: 2em;
}

.nav__item {
    margin-top: .75em;
}

.nav__link:hover,
.nav__link:focus {
    opacity: .65;
}

.nav__link--button {
    padding: 0.25em .75rem;
    border-radius: 100px;
}

.hero {
    padding: 3.6rem 0;
    margin-bottom: 0;
}

.hero__img {
    margin-top: 2em;
}

.hero p {
    margin-bottom: 2em;
}

main {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.first-row {
    padding: 1rem 0;
}

.wireframe {
    margin: 0 0 0.5em 0;
}

.second__section--sidebar {
    margin-top: 0.8em;
}

.sidebar {
    text-align: center;
    padding: 1em 0;
}

.sidebar__section {
    margin: 0.5em 0;
    padding: 0.2em 1.2em 0.3em 1.2em;
}

h2 {
    margin-bottom: 0.5em;
    line-height: 1;
}

p {
    margin-top: 0;
}

footer {
    padding-bottom: 2.5em;
    padding: 0 3rem 2rem 3rem;
}

.footer__note {
    margin-bottom: 0.8em;
    padding-top: 0.6em;
}

h3 {
    margin-bottom: 0.8em;
}

.company_description {
    margin-top: 0;
    margin-bottom: 0;
}

.footer_nav {
    margin-top: 0;
}

.footer__list {
    margin: 0 auto 0 0;
    padding-left: 0;
}

.grid-container {
    height: 100%;
    display: grid;
    grid-gap: 0;
    grid-template-columns: repeat(11, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas:
        "g g g g g . o o o o o"
        "a a a a a . . . . . .";
}

.gettingaround {
    grid-area: g;
}

.otherthings {
    grid-area: o;
}

.andmore {
    grid-area: a;
    padding: 0;
}

.footer__text {
    margin-bottom: 0.8em;
}

.footer__list--item {
    padding-bottom: 0.6em;
}

.designer__info {
    margin-top: 1rem;
}

/*======================tablet=========================*/
@media only screen and (min-width: 700px){


    /*------------------tablet - typography------------------*/
    .nav__list {
        font-size: 1.2rem;
    }

    .hero__text h1 {
        font-size: 3rem;
        line-height: 1.1;
    }

    .first__section h2 {
        font-size: 1.875rem;
    }
    
    .first__section p, .second__section--primary p  {
        font-size: 1.125rem;
    }
    
    .second__section--primary h2 {
        font-size: 2.25rem;
    }

    .second__section--sidebar h2 {
        font-size: 1.75rem;
    }

    .second__section--sidebar p {
        font-size: 1rem;
    }

    
    .footer__note {
        font-size: 2.5rem;
    }
    
    footer h3 {
        font-size: 1.3125rem;
    }

    /*----------------tablet - layout------------------*/
    .container {
        width: 85%;
    }

    .row {
        display: flex;
        justify-content: space-between;
    }

    .nav-toggle {
        display: none;
    }

    .nav {
        visibility: visible;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        height: auto;
        position: relative;
    }

    .nav__list {
        margin: 0;
        padding: 0;
        display: flex;
    }

    .nav__item {
        margin: 0 0 0 1.5em;
    }

    .nav__list--primary {
        margin: 0 auto;
    }

    .nav__item + .nav__item {
        margin-left: 1em;
    }

    .hero {
        padding: 100px 0;
        margin-bottom: 0;
    }

    .hero__text {
        width: 62%;
    }
    
    .hero__img {
        width: 32%;
        align-self: flex-start;
        margin: 0;
    }
    
    .primary-content {
        max-width: 62%;
    }

    .wireframe {
        object-fit: cover;
        width: 100%;
        height: 250px;
    }

    .sidebar {
        width: 32%;
    }

    .first-row {
        text-align: center;
    }

    .first__section, .sidebar-title {
        margin: 1em;
    }

    .sidebar__section {
        width: 32%;
    }

    .grid-container {
        grid-template-areas:
        "g g g . a a a . o o o";
    }

/*=====================large screen========================*/

    @media only screen and (min-width: 1000px){

        /*---------------typography-----------------*/
        .hero__text h1 {
            font-size: 4.75rem;
            line-height: 1.1;
        }

        .declaration {
            font-size: 7rem;
            margin-bottom: -0.6em;
        }
        
        .hero__text p {
            font-size: 1.5rem;
            line-height: 1.3;
        }
        
        .hero__text .btn {
            font-size: 1.5rem;
        }
        
        .second__section--primary h2 {
            font-size: 2.25rem;
        }
        
        .second__section--primary p {
            font-size: 1.3125rem;
        }
        
        .footer__note {
            font-size: 3rem;
        }
        
        footer h3 {
            font-size: 1.2rem;
        }        

        /*-----------------layout-------------------*/
        .row-midsection {
            display: flex;
        }

        .row-midsection {
            padding-right: 5rem;
        }

        .second-row {
            padding: 4rem 0 3rem 0;
        }

        .sidebar__section {
            width: 100%;
            margin-left: 5rem;
        }

        .second__section--sidebar {
            display: flex;
            flex-direction: column;
        }

        .footer__text {
            max-width: 60%;
        }

        .grid-container {
            display: flex;
            justify-content: space-around;
        }

        .footer__container {
            display: flex;
            justify-content: space-around;
        }     
    }    
}