/*            Typography             */
/*                                   */
body,
button,
input,
select,
textarea {
    color: #000000;
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    line-height: 1.1em;
    color: #383838;
    padding: 0;
}
h1 {
    font-size: 3vw;
    letter-spacing: -.03em;
    margin: 0 0 0.5em;
}
h2 {
    font-size: 2vw;
    letter-spacing: -.02em;
    margin: 0 0 0.5em;
    line-height: 1.4;
}
h3 {
    font-size: 1.8vw;
    letter-spacing: -.01em;
    margin: 0 0 0.5em;
}
h4 {
    font-size: 1.6vw;
    letter-spacing: -.01em;
    margin: 0 0 0.5em;
}
h5 {
    font-size: 1.5vw;
    letter-spacing: -.01em;
    margin: 0 0 0.5em;
}
h6 {
    font-size: 1.2vw;
    letter-spacing: -.01em;
    margin: 0 0 0.5em;
}
p {
    font-family: 'Roboto', sans-serif;
    font-size: 18px!important;
    font-weight: 400!important;
    line-height: 1.5!important;
    color: #000000;
}
a {
    color: #3891c5;;
}
.banner-text-white {
    color: #ffffff;
    text-align: center;
}
ul {
    list-style: disc;
    margin-left: 1em;
}
/*               Page                */
/*                                   */
body {
    padding: 0;
    margin: 0;
    width: 100%;
}
#page {
    position: relative;
    height: 100%;
    width: 100%;
    min-height: 100vh;
}
/*              Header               */
/*                                   */
#masthead {
    width: 100%;
    height: 8vw;
}
.hdr-grid {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "hdr-left" "hdr-center" "hdr-right";
}
.hdr-left {
    display: grid;
    grid-column: 1;
    grid-row: auto;
    height: 8vw;
    width: 100%;
}
.hdr-center {
    display: grid;
    grid-column: 2;
    height: 8vw;
    width: 100%;
}
.hdr-right {
    display: grid;
    grid-column: 3;
    height: 8vw;
    width: 100%;
}
.site-brand {
    height: 100px;
    margin: auto 0 auto 5vw;
    color: #0037a5;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 2.2em;
    line-height: 100px;
    text-align: left;
}
.hdr-phone {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 2vw;
    margin: auto 5vw auto auto;
    color: #0037a5;
    text-decoration: none;
    text-align: center;
    float: right;
}
/*              Footer               */
/*                                   */
#site-footer {
    height: 60px;
    width: 100%;
    position: absolute;
    bottom: 0;
    margin: 0;
    background-color: #0037a5;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "footer-col1" "footer-col2" "footer-col3";
}
.footer-col1 {
    display: grid;
    grid-column: 1;
    height: 60px;
}
.footer-col2 {
    text-align: center;
    display: grid;
    grid-column: 2;
    height: 60px;
}
.footer-col3 {
    display: grid;
    grid-column: 3;
    height: 60px;
}
.footer-text {
    color: #f0f0f0;
    font-family: 'Roboto', sans-serif;
    font-size: .6em!important;
    line-height: .6em!important;
    margin: auto 0;
}

/*           Page Content            */
/*                                   */
.page-content-contain {
    height: 100%;
    width: 100%;
}
/*            Home Page              */
/*                                   */
#mp-intro {
    width: 70%;
    margin: 0 auto;
    padding: 5em 1.5em 0;
}
#mp-services {
    display: grid;
    margin: 0 auto;
    padding: 5em 1.5em 0;
    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-template-areas: "servicegrp1";
}
.servicegrp1 {
    display: grid;
    grid-column: auto;
    grid-row: 1;
    margin: 0 auto;
    grid-column-gap: 2.5em;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "service1" "service2" "service3";
}
.servicebox {
    height: 22vw;
    width: 100%;
    margin: 0 auto;
}
.service-icon {
    height: 4vw;
    width: 4vw;
    margin: .5em auto 1em;
    display: block;
}
.service1 {
    grid-column: 1;
    grid-row: 1;
}
.service2 {
    grid-column: 2;
    grid-row: 1;
}
.service3 {
    grid-column: 3;
    grid-row: 1;
}
@media screen and (max-width: 800px) {
    h1 {
        font-size: 11vw;
        letter-spacing: -.03em;
        margin: 0 0 0.5em;
    }
    h2 {
        font-size: 8vw;
        letter-spacing: -.02em;
        margin: 0 0 0.5em;
        line-height: 1.4;
    }
    h3 {
        font-size: 6.5vw;
        letter-spacing: -.01em;
        margin: 0 0 0.5em;
    }
    h4 {
        font-size: 6vw;
        letter-spacing: -.01em;
        margin: 0 0 0.5em;
    }
    h5 {
        font-size: 5vw;
        letter-spacing: -.01em;
        margin: 0 0 0.5em;
    }
    h6 {
        font-size: 4.5vw;
        letter-spacing: -.01em;
        margin: 0 0 0.5em;
    }
    .page-content-contain {
        height: 100%;
        width: 90%;
        padding: 0 1.5em;
    }
    #masthead {
        width: 100%;
        height: 32vw;
    }
    .hdr-grid {
        width: 100%;
        height: 32vw;
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas: "hdr-left hdr-center hdr-right";
    }
    .hdr-left {
        display: grid;
        grid-column: 1;
        grid-row: 1;
        height: 8vw;
        width: 100%;
    }
    .hdr-center {
        display: grid;
        grid-column: 1;
        grid-row: 2;
        height: 8vw;
        width: 100%;
    }
    .hdr-right {
        display: grid;
        grid-column: 1;
        grid-row: 3;
        height: 8vw;
        width: 100%;
    }
    .site-brand {
        margin: 0;
        text-align: center;
    }
    .hdr-phone {
        float: none;
        margin: auto;
        font-size: 5vw;
    }
    #site-footer {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas: "footer-col1 footer-col2 footer-col3";
        position: relative;
        top: auto;
        bottom: auto;
    }
    .footer-col1 {
        text-align: center;
        display: grid;
        grid-column: 1;
        grid-row: 1;
        height: 5vw;
    }
    .footer-col2 {
        text-align: center;
        display: grid;
        grid-column: 1;
        grid-row: 2;
        height: 5vw;
    }
    .footer-col3 {
        text-align: center;
        display: grid;
        grid-column: 1;
        grid-row: 3;
        height: 5vw;
    }
    #mp-intro {
        width: 100%;
        margin: 0 auto;
        padding: 5em 0 0;
    }
    #mp-services {
        padding: 0;
        margin: 0 auto 3em;
    }
    .servicegrp1 {
        display: grid;
        grid-column: auto;
        grid-row: 1;
        margin: 0 auto;
        padding: 0 1.5em;
        grid-column-gap: 0;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas: "service1 service2 service3";
    }
    .servicebox {
        grid-column: auto;
        width: 100%;
        margin: 0 auto;
        height: 60vw;
    }
    .service1 {
        grid-column: 1;
        grid-row: 1;
    }
    .service2 {
        grid-column: 1;
        grid-row: 2;
    }
    .service3 {
        grid-column: 1;
        grid-row: 3;
    }
    .service-icon {
        height: 12vw;
        width: 12vw;
        margin: .5em auto 1em;
        display: block;
    }
}