html, body {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #222;
    overflow-x: hidden;
}

header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    height: 16vh;
    width: 100%;
    border-bottom: 2px solid #222;
    background-color: white;
}

header > img {
    height: 15vh;
}

.main_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0;
}

.information {
    display: flex;
    flex-grow: 1;
    padding: 0;
    justify-content: center;
}

.information p {
    flex-basis: auto;
    margin: 3vh;
    font-size: 8vh;
    font-weight: bold;
    color: white;
    font-family: Arial;
}

.shingle:hover {
    color: yellow;
}

.shingle-active:hover {
    color: yellow;
}

.shingle-active {
    background-color: #222;
    padding: 2vh;
}

.content, .contact {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: white;
    border-top: 2px solid #222;
    border-bottom: 2px solid #222;
    padding: 5vh;
    min-height: 46vh;
}

.project-images {
    width: 100wv;
    justify-content: center;
}

.content-left {
    border-top: 18px solid #222;
}

.content-left span {
    margin-right: 5vh;
}

.content-left img{
    margin-left: 5px;
}

.main-image-container {
    width: 35vw;
}

.content img {
    max-height: 350px;
    border: 5px solid black;
}

.project-images {
    margin-top: 15px;
}

.thumbnail, .thumbnail-active {
    height: 50px;
}

.thumbnail-active {
    -webkit-box-shadow: 0px 0px 7px 3px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 7px 3px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 7px 3px rgba(0,0,0,0.75);
}

.content span {
    margin-left: 5vh;
    max-width: 30vw;
}

.content h1, .content h2 {
    margin: 5px;
    margin-left: 0;
}

.content a {
    text-decoration: none;
}

.content p {
    margin: 0;
    padding: 0;
    max-width: 45vw;
    text-align: justify;
}

.content .logo {
    height: 50px;
    border: 1px solid black;
    margin-top: 5px;
}

.contact {
    background-color: transparent;
    border: 0;
}

.contact .info {
    width: 70vw;
    margin: 0;
    padding: 5px;
    font-size: 2vh;
    text-align: center;
    color: white;
}

.contact img {
    height: 350px;
    border: 5px solid white;
    margin-left: 5px;
}

.contact p {
    margin-bottom: 2px;
}

.contact .title {
    font-weight: bold;
    margin: 0;
}

.contact iframe {
    border: 1px solid black;
}

.contact .frame-wrapper {
    border: 4px solid white;
}

@media only screen 
and (min-device-width: 414px) 
and (min-device-height: 896px) 
and (-webkit-device-pixel-ratio: 2) 
and (orientation: portrait) { 
    html, body {width:100%}
    .content, .contact, .content-left {flex-direction:column; padding: 2vh !important; }
    .content img, .content-left img {
        width: 85vw;
        height: auto;
        border: 5px solid black;
    }

    .content .logo {
        height: 5vh;
        width: auto;
        border: 1px solid black;
        margin-top: 5px;
    }

    .content-left {
        margin-right: 0;
    }

    .content span {
        max-width: 80vw;
        margin: 0;
    }
    .content p {
        max-width: 80vw;
        margin: 0;
    }
    .contact span {
        margin-right: 0;
    }
    
    .main-image-container {
        margin-left: 0 !important;
        width: auto;
    }

    .content-left span {
        margin-right: 0;
    }
    
    .content-left img{
        margin-left: 0 !important;
    }

    p, a, .title {
        font-size: 3vh;
        text-decoration: none;
    }

    h1 {
        font-size: 5vh;
    }

    h2 {
        font-size: 4vh;
    }

    .thumbnail, .thumbnail-active {
        height: 5vh !important;
        width: auto !important;
    }
    
    .dash {
        display: none;
    }

    .contact iframe {
        width: 90vw;
        height: 90vw;
    }

    .contact img {
        width: 90vw;
        height: auto;
        margin: 0;
        margin-top: 10px;
        margin-bottom: 10px;
    }
}