/* GLOBAL STYLES */

    body{
        width: 100%;
    }
    .container-fluid{
        margin: 0;
        padding: 0;
    }

    nav, header, main, footer{
        padding: 0 10%;
    }

    section{
        position: relative;
    }

    .white-button{
        border: 2px solid white; 
        font-weight: bold; 
        padding: 10px; 
        background: none; 
        color: white; 
        font-size: 1.5rem; 
        font-variant: small-caps;
    }

    .white-button:hover{
        cursor: pointer;
    }

    .black-button{
        border: 2px solid black; 
        font-weight: bold; 
        padding: 10px; 
        background: none; 
        color: black; 
        font-size: 1.5rem; 
        font-variant: small-caps;
        transition: all 700ms;
    }

    .black-button:hover{
        background: #444444;
        color: white;
        border: 2px solid white;
        transition: all 700ms;
    }

    h1, h2, h3, h4{
        font-family: 'Garamond', serif;
        font-weight: bold;
    }

    h1{
        padding: 0 0 5rem 0;
        margin: 0;
        font-size: 5rem;
        font-variant: small-caps;
    }

    h2{
        font-size: 4rem;
    }

    p, li {
        font-family: 'times new roman';
        font-size: 1.75rem;
        line-height: 1.7;
    }

    .flex-column{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .flex-row{
        display: flex;
        align-items: center;
        justify-content: center;
    }

@media (max-width: 768px){
     nav, header, main, footer{
        padding: 0 5%;
    }
}

/* NAVIGATION */

    .nav, .footer{
        background: #444444; 
        min-height: 100px;
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 0 10%;
    }

    .nav img {
        height: 100px;
        width: 100px;
        margin: 1rem;
        transition: transform 300ms;
    }

    .nav img:hover{
        transform: scale(1.05);
        transition: transform 300ms;
        cursor: pointer;
    }

    .footer{
        height: 100%;
        padding: 3rem 10%;
        align-items: center;
        justify-content: flex-start;
        position: relative;
        clear: both;
    }

    .footer-nav li{
        text-align: left;
    }

    .footer-nav li{
        display: inline;
        padding-right: 3rem;
    }


    .footer-logo{
        flex: 1;
    }

    .footer-content{
        flex: 4;
        padding: 1rem;
        margin: 2rem;
        color: white;
        font-family: 'Garamond';
    }

    .main-nav, .footer-nav{
        list-style: none;
        margin: 0;
        padding: 0;
        height: 100%;
        display: flex;
        align-items: center;
    }

    .main-nav li{
        padding: 0 2rem;
        text-align: left;
    }

    .main-nav li a, .footer-nav li a {
        color: white;
        font-size: 1.5rem;
        font-family: garamond;
        font-weight: bold;
        text-decoration: none;
        transition: border-bottom 300ms;
    }
    .main-nav li a:hover, .footer-nav li a:hover {
        border-bottom: 3px solid white;
        font-weight: 900;
        padding-bottom: 5px;
        transition: border-bottom 300ms;
    }

    @media (max-width: 768px ){
        .main-nav li{
            padding: 1rem;
        }
        .nav div{
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .footer, .main-nav, .nav{
            flex-direction: column;
        }
        .nav, .footer{
            padding: 0 5%;
        }
    };

    @media (max-width: 400px ){
        .main-nav{
            flex-direction: column !important;
        }
        .main-nav li{
            padding: 0.5rem;
        }
        .nav div{
            display: flex;
            align-items: center;
            justify-content: center;
        }
        ul.footer-nav{
            display: none;
        }
    }

/* HOMEPAGE */

    #main{
        background: url('assets/main-background.jpg');
        background-attachment: fixed;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 800px;
    }

    #typed{
        height: 100%;
        padding: 2rem 0;
        color: black;
    }

    #social-links ion-icon{
        font-size: 4rem;
        margin-right: 2rem;
        cursor: pointer;
    }

    .homepage{
        padding: 5rem 0;
        height: 100%;
        display: flex;
    }

    .homepage a {
        flex: 1;
        padding-right: 2rem;
    }

    .homepage a:hover{
        cursor: pointer
    }

    .homepage h2 {
        text-align: center;
        padding-bottom: 1rem;
    }

    .homepage article p{
        padding: 3rem;
        border-bottom: 3px solid black;
        border-top: 3px solid black;
    }

    .about{
        display: flex;
        align-items: center;
        background: #dddddd;
        padding: 4rem;
    }

    .about-content{
        flex: 1;
    }

    .about-image{
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .other{
        display: flex;
    }

    .other div{
        flex: 1;    
    }

    /*  Homepage Gallery  */
    
    .gallery h2{
        padding-top: 5rem;
        text-align: center;
    }

    .gallery-container{
        display: flex;
        border-top: 3px solid black;
        padding: 3rem;
    }

    #gallery-item-background-1, 
    #gallery-item-background-2, 
    #gallery-item-background-3{
        flex: 1;
        border: 1px solid black;
        display: flex;
        flex-direction: column;
        align-items: center;
        opacity: 1;
        background: white;
        height: 100%;
    }

    .gallery img{
        padding: 1rem;
    }

    #gallery-item-1, 
    #gallery-item-2, 
    #gallery-item 3{
        background-size: cover;
        width: 100%;
        height: 100%;
    }
    
    #gallery-item-1{ background-image: url(assets/carpenter.png);}
    #gallery-item-2{ background-image: url(assets/clothing.png); }
    #gallery-item-3{ background-image: url(assets/plumbing.png); }

    .gallery p{
        margin: 1rem;
        padding: 1rem;
        border-top: 1px solid black;
    }

    .about{
        display: flex;
        align-items: center;
        background: #dddddd;
        padding: 4rem;
    }

    .about-content{
        flex: 1;
    }

    @media (max-width: 768px ){
        #social-links{
            flex-direction: row;
        }
        #social-links ion-icon{
            font-size: 5rem;
        }
        #main{
            display: none;
        }
        #typed{
            font-size: 3.5rem;
            min-height: 200px;
        }
        .homepage{
            flex-direction: column;
        }
        .homepage article{
            margin-bottom: 3rem;
        }
        .homepage a{
            padding-right: 0;
        }
        .homepage p{
            padding: 1rem;
        }
         p{
            font-size: 1.5rem;
        }
        h2{
            font-size: 2.5rem;
        }
        .about-image{
            display: none;
        }
        .about{
            padding: 1rem;
        }
        .gallery-container{
            flex-direction: column;
        }
        .footer-nav{
            display: none;
        }
    };

/* Design and Development Pages*/
    
    .content{
        position: relative;
        height: 120%;
        margin: 5% 0;
        min-height: 1200px;
    }

    .design-background{
        background: url('assets/mountains.jpg');
        background-attachment: fixed;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 700px;
    }

    .content .header{
        width: 100%;
    }

    .content .header div{
        display: flex;
        align-items: flex-end;
        padding-bottom: 2rem;
    }

    .content .header div h1{
        flex: 1;
        border-bottom: 2px solid black;
        margin-right: 2rem;
        padding-bottom: 1rem;
    }

    .content .header div p{
        flex: 5;
        font-size: 2rem;
    }


    .content .main p{
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        padding: 20px 5%;
    }

    .content .main{
        padding: 5rem 0;
        height: 100%;
        display: flex;
    }

    .content .main article{
        flex: 1;
        border: 1px solid black;
        margin: 1rem;
        box-sizing: border-box;
        float: left;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .content .main article div{
        margin: 0 5% 5% 5%;
    }

    .content .main article img{
        
    }

    .content .main article div h2{
        text-align: center;
        font-size: 3rem;
    }

    #pasta-hidden, #resort-hidden, #bakery-hidden{
        border-top: none;
        border-bottom: none;
        margin-top: -20px;
        font-variant: small-caps;
        font-size: 2rem;
        text-align: center;
        color: black;
        font-weight: 900;
        opacity: 0;
    }

    @media (max-width: 768px ){
        .design-background{
            display: none;
        }
        .header div{
            flex-direction: column;
        }
        .content .header div{
            display: flex;
            align-items: flex-start;
            padding: 2rem 0;
        }
      .content .main{
        flex-direction: column;
        }
        .content .main article{
            border: none;
        }
    }
    @media (max-width: 400px){
        .content .header div h1{
            font-size: 3rem;
        }
    }

/* CONTACT PAGE*/

    .contact{
        padding: 5rem 10%;
        height: 100%;
    }

    form{
        padding: 2rem;
        font-variant: small-caps;
        font-size: 2rem;
        font-family: garamond;
        width: 100%;
        margin: 0 auto;
    }
    form div{
        display: flex;
        width: 100%;
    }

    form div input, form div textarea{
        width: 100%;
        border-radius: 5px;
        margin: 1rem;
    }

    form textarea{
        height: 200px;
    }

    form input[type="submit"]{
        text-align: center;
        margin: 2rem auto 0 auto;
        width: 20%;
        cursor: pointer;
        font-size: 2rem;
    }

    @media (max-width: 768px ){
        form input[type="submit"]{
            width: 100%;
            padding: 1rem;
        }
        form div{
            flex-direction: column;
        }
    }
    @media (max-width: 420px){
        .contact{
            padding: 1rem;
            height: 100%;
        }
        form{
            padding: .5rem;
            box-sizing: border-box;
        }
        form div input, form div textarea{
            margin: .5rem 0;
        }
        .contact h1{
            font-size: 4rem;
        }
    }