*, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/* VVVVVVVVVV GRID VVVVVVVVVV */

.flex-row {
    background: white;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0rem 15rem 0rem 20rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: row wrap;
}

.flex-row-news {
    background: #fff;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0% 20% 0% 25%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    flex-flow: row wrap;
}

.chunk {

    padding-bottom: 2.5rem;
}

.chunk-news {
    padding-bottom: 1rem;
}

.flex-row-header {
  padding: 0;
  margin: 0;
}

.submission-form{
    margin:0;
    padding: 0;
}

.heading-title {
    margin: 0;
    padding: 0 0 0 1rem;
}

.flex-col-3of12 {
    flex-basis: 25%;
    margin: 0;
    padding: 1rem;
}

.flex-col-4of12 {
    flex-basis: 33%;
    flex-grow: 1;
}

.flex-col-4of12-form {
    flex-basis: 33%;
    flex-grow: 1;
    padding: 0 5rem 0 0;
}

.flex-col-6of12 {
    flex-basis: 50%;
    flex-grow: 1;
    padding: 1rem;
    margin: 0;
}

.flex-col-8of12 {
    flex-basis: 66%;
    flex-grow: 1;
    margin: 0;
}

.flex-col-12of12 {
    flex-basis: 100%;
}

@media (min-width: 110em) { 
    .flex-col-6of12 {
        flex-basis: 25%;
        flex-grow: 1;
        padding: 1rem;
        margin: 0;  
    }

    figcaption {
        padding-right: 20% !important;
    }

}

@media (min-width: 80em) {
    .flex-row-news {
        padding: 0% 25% 0% 30%;
    }
}

@media (max-width:80em) {
    .flex-row {
        margin: 0;
        padding: 0rem 10rem 0rem 15rem;
    }

    .chunk {
        padding-bottom: 4rem;
    }

    .heading-title {
        padding: 0rem 0rem 0rem 1rem;
    }

    .flex-col-3of12 {
        flex-basis: 33%;
        margin: 0;
        padding: 1rem;
    }

    .flex-col-4of12 {
        flex-basis: 50%;
        margin: 0;
        padding: 1rem;
    }
    
    .flex-col-4of12-form {
        flex-basis: 33%;
        flex-grow: 1;
        padding: 0 2rem 0 0;
}

    .submission-form {
        margin:0;
        padding: 0;
    }
}

@media (max-width:66.4em) {
    .flex-row-header {
        padding: 0rem 1rem;
    }

    .flex-col-3of12 {
        flex-basis: 50%;
        margin: 0;
        padding: 1rem;
    }

}

@media (max-width: 55em) {
    .flex-col-6of12 {
        flex-basis: 100%;
    }
}

@media (max-width:47.25em) {
    .flex-row {
        padding: 1rem 2rem 1rem 7rem;
    }

    .flex-row-header {
        padding: 0% 10% 0% 10%;
    }

    .submission-form{
        margin:0;
        padding: 0;
        }
}

@media (max-width:46em) {
    .flex-row-header {
        padding: 0% 15% 0% 20%;
    }

    .flex-row-news {
        padding: 0% 15% 0% 27%;
    }

    figcaption {
        padding-right: 0 !important;
    }

    header {
        padding-left: 0rem !important;
    }
    .sub-nav-right,
    .sub-nav-left {
        margin: 0 !important;
    }
    h3 {
        text-align: center !important;
        margin-bottom: 1em !important;
    }

    .contact-header { 
        font-size: 1.5em;
    }
    
    .flex-col-3of12 {
        flex-basis: 100%;
        margin: 0;
        padding: 0rem;
    }
    .flex-col-4of12 {
        flex-basis: 100%;
        margin: 0;
        padding: 1rem;
    }
    .heading-title {
        margin: 0;
        padding: 0 0 0 0rem;
    }
    .submission-form{
    margin:0;
    padding: 0;
    }

    .weather-placeholder { 
        background-image: url(../img/weather/weather-medium.png) !important;
        background-repeat: no-repeat;
        background-size: 100% 245px;
    }

    .sub-nav-right {
        background-image: url(../img/mobile-sub-nav-right.png) !important;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    .footer {
        padding-bottom: 7rem;
        text-align: center;
    }

}

@media (max-width: 35em) {
    .flex-row {
        padding: 1.3rem 1.5rem 0rem 1.5rem;
    }

    .flex-row-header {
        padding: 0% 10% 0% 10%;
    }

    .flex-row-news {
        padding: 0% 10% 0% 10%;
    }

    .weather-placeholder { 
        position: absolute;
        background-image: url(../img/weather/weather-small.png) !important;
        background-repeat: no-repeat;
        background-size: 100% 245px;
    }
}

@media (max-width: 30em) {  

    h1 {
        margin-top: 1rem !important;
    }

    .sub-nav-left {
        padding-left: 1.5rem;
        margin-top: 1rem !important;
    }
    .sub-nav-right {
        background-image: url(../img/mobile-sub-nav-right.png) !important;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        padding-left: 1.5rem;
    }

    .submission-form {
        margin:0;
        padding: 0;
    }

    .flex-row-header { 
        padding: 0% 5% 0% 5%;
    }
}


/* ^^^^^^^^^^ END OF GRID ^^^^^^^^^^ */