﻿* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: inherit;
    border: inherit;
}
.attribution{
    margin: auto;
    padding-bottom: 48px;
    width: 80%;
    color: #dddddd;
    text-align: center;
}
.wrapper {
    width: 100%;
    min-width: 316px;
    -webkit-text-size-adjust: 100%;
}

p.para {
    font-family: "Lato", "Corbel", sans-serif;
    font-size: 100%;
    color: hsl(0, 0%, 20%);
    line-height: 1.6;
    margin-bottom: 16px;
    margin: 0px auto 24px auto;
    max-width: 900px;
}

p.paraM {
    margin-left: 24px;
    margin-right: 24px;
    font-size: 96%;
}

.mainInfo {
    text-align: center;
    color: white;
}

p.pageline {
    font-family: "Lato";
    font-weight: 400;
    color: white;
    position: relative;
    font-size: 160%;
    text-align: center;
    width: 80%;
    margin: auto;
    -webkit-font-smoothing: antialiased;
}

p.tagline {
    font-family: "montserratregular";
}

p.tagNumber {
    font-family: Bebas;
    font-size: 56px;
}

.tagNumber > a {
    text-decoration: none;
    color: inherit;
}

div.services {
    margin-left: 20px;
    margin-top: 48px;
    margin-right: 20px;
}

.serviceBox {
    margin-top: 24px;
    height: auto;
    background-color: hsl(45, 56%, 88%);
    border-radius: 16px;
    text-decoration: none;
    max-width: 900px;
}

.serviceBoxa {
    height: 100px;
}

.infoTitle {
    font-family: "montserratregular";
    font-size: 105%;
    color: hsl(85, 67%, 40%);
    font-weight: 400;
    text-align: center;
    position: relative;
    top: -18px;
}

p.infoTitle {
    color: hsl(0, 0%, 30%);
}

.infoIconH {
    background-image: url(images/infoIcons-01r.png);
    background-size: 54px;
    width: 54px;
    height: 54px;
    margin: auto;
    position: relative;
    top: -30px;
    border-radius: 100%;
}

.arrow {
    position: relative;
    width: 24px;
    margin-top: -49px;
    right: 12px;
    float: right;
    transform: rotate(-45deg);
}

#SRicon {
    background-image: url(images/infoIcons-02r.png);
}

#trainIcon {
    background-image: url(images/infoIcons-03r.png);
}

#complIcon {
    background-image: url(images/infoIcons-04r.png);
}

#waterIcon {
    background-image: url(images/infoIcons-05r.png);
}

#kitIcon {
    background-image: url(images/infoIcons-06s.png);
}

#infoBox {
    padding: 24px 24px 24px 24px;
    margin: auto;
    max-width: 648px;
}

.infoPara {
    font-family: "Lato", Corbel, sans-serif;
    font-size: 96%;
    margin-top: -8px;
    color: hsl(0, 0%, 20%);
    line-height: 1.6;
}

header {
    width: 100%;
}

h1 {
    font-family: "montserratregular";
    font-weight: normal;
    text-align: center;
    padding: 16px;
    margin: 10px 24px 24px 24px;
    font-size: 128%;
    color: hsl(0, 0%, 30%);
    border-bottom: 1px solid hsl(85, 50%, 48%);
}

.headBar {
    height: 54px;
    position: relative;
    width: 100%;
    background-color: white;
    z-index: 10;
}

.logo {
    width: 54px;
    height: 54px;
    background-image: url(images/logo-01.png);
    background-size: cover;
}

.SRtitleBox {
    margin: -54px 54px 0px 54px;
    height: 54px;
}

p.SRtitle {
    color: hsl(0, 0%, 30%);
    font-family: "montserratregular";
    font-size: 110%;
    text-align: center;
    margin-top: 18px;
    float: left;
    letter-spacing: -0.2px;
    width: 100%;
}

.menuButton {
    background-color: hsl(46, 40%, 92%);
    background-image: url(images/menu.png);
    background-size: cover;
    width: 54px;
    height: 54px;
    float: right;
    margin-top: -54px;
    transition: 0.5s;
    transition-delay: 0.5s;
    position: relative;
}

.menuButton:hover {
    transition-delay: 0.5s;
    opacity: 0;
    visibility: hidden;
}

.closeMenu {
    height: 54px;
    width: 54px;
    background-image: url(images/cross.png);
    background-size: 100%;
    background-color: hsl(12, 75%, 60%);
    z-index: 0;
    position: absolute;
    top: 0;
    right: 0;
}

.dropdown-content {
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 42px;
    right: 0;
    background-color: hsl(46, 40%, 95%);
    min-width: 154px;
    border-bottom-left-radius: 8px;
    transition: 0.5s;
}

.dropdown-content .Nlink {
    color: hsl(0, 0%, 30%);
    font-family: "montserratlight", "Helvetica Neue", "Arial", sans-serif;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content .Nlink:hover {
    background-color: #74b73b;
    color: white;
}

.nav:hover .dropdown-content {
    top: 54px;
    visibility: visible;
    opacity: 1;
}

.bannerImage {
    width: 100%;
    height: 250px;
    height: 250px;
    background-image: url(images/s4.jpg);
    background-size: cover;
    position: relative;
    -webkit-font-smoothing: antialiased;
    text-shadow: 0px 0px 32px rgba(0, 0, 0, 0.35);
}

.largeImage {
    width: 100%;
    height: 250px;
    position: relative;
    background-size: cover;
}

.bg {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    background-color: hsla(0, 0%, 0%, 0.1);
    
}

.bgdark {
    height: 100%;
    width: 100%;
    background-color: hsla(53, 30%, 30%, 0.35);
    box-shadow: 0px 0px 125px 0px rgba(0, 0, 0, 0.4) inset;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

#bg1 {
    background-image: url(images/s2.jpg);
    background-position: center;
}

#bg2 {
    background-image: url(images/s1.jpg);
}
#bg3 {
    background-image: url(images/s3.jpg);
}
#bg4 {
    background-image: url(images/s10.jpg);
}

.serviceBox {
    width: 100%;
    margin-bottom: 54px;
}
a.serviceboxa{
}
.divider {
    height: 1px;
    background-color: hsl(0, 0%, 90%);
    margin: auto;
    width: 67%;
    margin-bottom: 24px;
}

section.mainContact {
    margin-left: 20px;
    margin-right: 20px;
    max-width: 900px;
}

.contactEM {
    font-family: "montserratregular", sans-serif;
    font-weight: 400;
    font-size: 100%;
    text-align: center;
    color: hsl(0, 0%, 30%);
    line-height: 1.5;
}

.mainNumber {
    font-family: "Bebas", sans-serif;
    font-size: 250%;
    text-align: center;
    color: hsl(92, 51%, 45%);
    padding: 16px;
}

.mainNumber > a {
    text-decoration: none;
    color: inherit;
}

.endBox {
    height: 224px;
    border-top: 4px solid hsla(0, 0%, 0%, 0.1);
    margin-top: 48px;
}

.buttonBox {
    position: relative;
    top: 24px;
    width: 150px;
    margin: auto;
    border-radius: 8px;
    height: auto;
}

div.button {
    background-color: hsl(92, 51%, 45%);
    width: 150px;
    margin: 16px auto 24px auto;
    padding: 12px;
    text-align: center;
    border-radius: 8px;
    font-family: "lato", sans-serif;
    color: white;
    transition: 0.2s;
}

div.button:hover {
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.2);
    background-color: hsl(0, 0%, 50%);
}

.buttonLink {
    display: block;
}

.ceobadge {
    position: relative;
    top: -55px;
    margin: 0px auto 0px auto;
    width: 108px;
    height: 54px;
    background-image: url(images/ceobadge.png);
    background-size: 100%;
    margin: -55px auto 0px auto;
}

.contactBox {
    padding: 24px;
    font-family: "lato", sans-serif;
    margin-top: 55px;
    height: 112px;
}

.contactName {
    font-weight: 400;
    color: hsl(0, 0%, 20%);
    padding-bottom: 12px;
    width: 145px;
}

.email {
    color: hsl(92, 51%, 45%);
}

.certLogo {
    height: 64px;
    background-color: white;
}

.certLogosBox {
    width: 304px;
    margin: 48px auto 24px auto;
}

footer {
    position: absolute;
    width: 100%;
}

@media screen and (min-width: 400px) {
    p.SRtitle {
        font-size: 135%;
        margin-top: 15px;
    }
    div.services {
        margin-left: 10%;
        margin-right: 10%;
        height: auto;
    }
    #infoBox {
        padding: 24px;
    }
    p.para {
        font-size: 100%;
    }
    .infopara {
        font-size: 100%;
    }
}

@media screen and (min-width: 648px) {
    .mainInfo {
        text-align: center;
        color: white;
    }
    p.paraM {
        width: 80%;
        max-width: 900px;
        margin: 0 auto 24px auto;
    }
    p.pageline {
        font-size: 230%;
        font-weight: 300;
    }
    p.tagline {
        font-size: 130%;
    }
    p.tagNumber {
        font-family: Bebas;
        font-size: 454%;
        font-weight: normal;
    }
    .tagNumber > a {
        text-decoration: none;
        color: inherit;
    }
    div.services {
        margin-left: 4%;
        margin-right: 4%;
        height: 367px;
    }
    .serviceBox {
        max-width: none;
        min-width: 280px;
    }
    .serviceC1 {
        width: 48%;
        float: left;
    }
    .serviceC2 {
        width: 48%;
        float: right;
    }
    .serviceBoxa {
        height: 100px;
        overflow: hidden;
    }
    .infoTitle {
        font-size: 103%;
        text-align: center;
    }
    p.infoTitle {
        color: hsl(0, 0%, 30%);
    }
    .infoIconH {
        background-image: url(images/infoIcons-01r.png);
        background-size: 54px;
        width: 54px;
        height: 54px;
        margin: auto;
        position: relative;
        top: -30px;
    }
    #infoBox {
        max-width: 768px;
        width: 80%;
    }
    .infoPara {
        margin-top: -8px;
    }
    header {
        width: 100%;
        margin: auto;
    }
    h1 {
        font-family: "montserratregular";
        padding: 16px;
        margin: 10px 10% 32px 10%;
        font-size: 141%;
    }
    .headBar {
        height: 100px;
    }
    .logo {
        position: relative;
        margin-left: 24px;
        top: 22px;
        background-image: url(images/logo-01.png);
        background-size: cover;
    }
    p.SRtitle {
        color: hsl(0, 0%, 30%);
        font-family: "montserratregular";
        font-size: 147%;
        text-align: left;
        margin-top: 35px;
        margin-left: 40px;
    }
    .menuButton {
        display: none;
    }
    .menuButton:hover {
        visibility: hidden;
    }
    .closeMenu {
        display: none;
    }
    .dropdown-content {
        overflow: visible;
        opacity: 1;
        padding: 0px 0px 0px 0px;
        margin-right: 24px;
        top: 39px;
        background-color: rgba(0, 255, 255, 0);
        border-radius: 0px;
        visibility: visible;
    }
    .dropdown-content .Nlink {
        color: hsl(0, 0%, 30%);
        padding: 0 0 0 2.2vw;
        position: relative;
        display: inline;
    }
    .dropdown-content .Nlink:hover {
        background-color: rgba(255, 255, 255, 0);
        color: #74b73b;
        border-bottom: 3px solid hsl(0, 0%, 70%) inset;
    }
    .nav:hover .dropdown-content {
        top: 39px;
        visibility: visible;
        opacity: 1;
    }
    .bannerImage {
        width: 100%;
        height: 450px;
        background-size: cover;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
    .largeImage {
        width: 100%;
        height: 400px;
        background-size: cover;
    }
    .divider {}
    section.mainContact {
        width: 80%;
        margin: auto;
    }
    .contactEM {
        font-family: "montserratregular";
        font-weight: 400;
        font-size: 105%;
        text-align: center;
        color: hsl(0, 0%, 30%);
    }
    .mainNumber {
        font-family: Bebas;
        font-size: 300%;
        text-align: center;
        color: hsl(92, 51%, 45%);
        padding: 16px;
    }
    .mainNumber > a {
        text-decoration: none;
        color: inherit;
    }
    .ceobadge {
        margin: -56px 0px 0px auto;
        top: 0px;
    }
    .contactBox {
        padding: 24px;
        font-family: "lato", sans-serif;
        margin-top: 24px;
    }
}

.contactName {}

@media screen and (min-width: 820px) {
    div.services {
        margin: 0 auto;
        width: 80%;
        max-width: 900px;
    }
    .dropdown-content {
        margin-right: 10%;
        font-size: 104%;
    }
    .logo {
        margin-left: 10%;
    }
    p.SRtitle {
        margin-left: 10%;
        position: relative;
        left: 27px;
        width: auto;
        font-size: 171%;
        top: -3px;
    }
    p.pageline {
        font-size: 230%;
        text-align: left;
        max-width: 900px;
    }
    h1 {
        text-align: left;
        padding-left: 0;
        background: none;
        color: hsl(0, 0%, 30%);
        font-size: 200%;
        max-width: 900px;
        margin: 24px auto 32px auto;
        width: 80%;
        font-family: "montserratlight";
    }
    .infotitleM {
        font-family: montserratlight;
        text-align: left;
        margin-left: 132px;
        font-size: 140%;
    }
    #infoBox {
        max-width: 900px;
        margin: auto;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 32px;
        min-height: 120px;
        padding-bottom: 0;
    }
    .infoIconHM {
        background-image: url(images/infoIcons-01r.png);
        background-size: 108px;
        width: 108px;
        height: 108px;
        margin-left: 0;
        position: relative;
        top: -12px;
    }
    .infopara {
        padding-left: 132px;
        width: 100%;
        font-size: 100%;
    }
    .iconBox {
        width: 108px;
        float: left;
    }
    .divider {
        display: none;
    }
    .headContent {
        margin: auto;
        max-width:
    }
    p.para {
        font-size: 100%;
    }
}

@media screen and (min-width: 1024px) {
    .bannerImage {
        width: 100%;
        height: 512px;
        background-size: cover;
        font-size: 131%
    }
    .largeImage {
        width: 100%;
        height: 512px;
        background-size: cover;
    }
    p.SRtitle {
        font-size: 200%;
        top: -5px;
    }
    p.pageline {
        font-size: 280%;
    }
}