@charset "UTF-8";
/* Main */

body {
	background-color: #ffffff;
	margin: 0;
	text-align: center;
	width: 100vw;
	height: 100vh;
    font-family: Lato;
	font-size: 16px;
    letter-spacing: 0.5px;
	font-kerning: normal;
    overflow-x: hidden;
	color: #333333;
}

.add-flex {
	display: flex; 
	align-items: center; 
	justify-content: center; 
	flex-direction: column; 
	text-align: center; 
}

.add-flex2 {
	display: flex; 
	justify-content: center; 
	flex-direction: column; 
	text-align: center; 
}

body.preloader-site {
    overflow: hidden;
}

.preloader-wrapper {
    height: 100vh;
    width: 100vw;
    background: #000000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999;
}

.video-responsive-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* Aspect ratio 16:9 */
  height: 0;
  overflow: hidden;
}

/* Forces the iframe to fill the wrapper */
.video-responsive-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/* Navigation */

#menu1 {
    display: block;
    float: right;
    margin-top: 40px;
    padding-right: 7px;
}

#menu2 {
    display: none;
}

#navContainer {
    position: fixed;
    z-index: 99911;
	margin-right: 5px;
    right: 0;
    top: 0;
    height: 75px;
    width: 70px;
}

#tool{
    background-image: url("../images/header_bg.png");
	background-position: center top;
	background-size: auto 100%;
	background-repeat: repeat-x;
	position: fixed;
    z-index: 900;
    width: 100vw;
    height: 75px;
    margin: auto;
    text-align: center;
    border-bottom: 2px solid #ffffff;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.15);
}

.toolLogo {
    width: auto;
    height: 60px;
    padding: 10px 0 0 20px;
    float: left;
}


/* Hero */
#hero {
	background-color: #ffffff;
	position: absolute;
	height: auto;
	width: 100%;
	margin: auto;
	text-align: center;
	overflow: hidden;
}

#blank {
	height: 100vh;
	width: 100vw;
}

.wrapper {
    background-color: #000000;
    position: fixed;
	width: 100vw;
	height: 100vh;
	margin: auto;
}

.wrapper .box {
    position: fixed;
	width: 100vw;
	height: 100vh;
	margin: auto;
}

#mainBanner1 {
    background-image: url("../images/header_bg_001.png");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
	width: 100vw;
	height: 100vh;
	margin: auto;
}

#mainBanner2 {
    background-image: url("../images/header_bg_002.png");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
	width: 100vw;
	height: 100vh;
	margin: auto;
}

#mainBanner3 {
    background-image: url("../images/header_bg_003.png");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
	width: 100vw;
	height: 100vh;
	margin: auto;
}

#mainBanner4 {
    background-image: url("../images/3d_logo.png");
    background-size: auto 75%;
    background-repeat: no-repeat;
    background-position: center;
    width: 100vw;
    height: calc(100vh - 90px);
    margin: auto;
    top: 90px;
}

#mainBanner5 {
    width: 100vw;
    height: 100vh;
    margin: auto;
    padding: 0 5%;
}

.heroText {
  position: relative;
  width: 90%;
  max-width: 700px;
}

.heroTitle {
  position: relative;
  font-size: 180%;
  font-weight: 400;
  letter-spacing: 1.75px;
  color: #ffffff;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(23, 58, 100, 0.75);
  margin: 0;
}


/* Sections */
#section1 {
    background-image: url("../images/blue_base.png"),  url("../images/blue_bg.png");
    background-size: 100vw auto, 100vw auto;
    background-repeat: no-repeat, repeat-y;
    background-position: center bottom, center top;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 10vh 10vw 25vh 10vw;
    color: #ffffff;
    border-top: 2px solid #ffffff;
}

#section2 {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 80px 10vw 65px 10vw;
    color: #333333;
	margin-top: -1px;
    margin-bottom: -1px;
}

#section3 {
    background-image: url("../images/black_base.png"), url("../images/black_image.png"), url("../images/black_bg.png");
    background-size: 100vw auto, cover, 100vw auto;
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-position: center top, center, center top;
	z-index: 100;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 25vh 10vw;
    color: #ffffff;
}

#section3Dark {
    background-color: #222222;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 80px 10vw 5px 10vw;
    color: #ffffff;
}

#banner {
    background-image: url("../images/banner.png"), url("../images/banner_bg.png");
    background-size: auto 100%, auto 100%;
    background-repeat: no-repeat, repeat-x;
    background-position: center top, center top;
    margin: -100px 0;
	height: 200px;
    width: 100vw;
	z-index: 200;
    position: relative;
	padding: 1px 0 0 0;
    color: #ffffff;
}

#bannerDark {
    background-image: url("../images/banner_dark.png"), url("../images/banner_bg_dark.png");
    background-size: auto 100%, auto 100%;
    background-repeat: no-repeat, repeat-x;
    background-position: center top, center top;
    margin: -62px 0 -100px 0;
	height: 200px;
    width: 100vw;
	z-index: 200;
    position: relative;
	padding: 1px 0 0 0;
    color: #ffffff;
    pointer-events: none;
}

#section4 {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 80px 0 5px 0;
    color: #333333;
}

#section4Dark {
    background-color: #222222;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 100px 0 5px 0;
    color: #ffffff;
}

.products {
    width: 90vw;
    max-width: 1500px;
}

.thumbnail {
    width: 100%;
    height: auto;
    margin: auto;
    text-align: center;
    padding: 0 60px;
    border: 0px;
    opacity: 1;
    transition: all 200ms ease;
    cursor: pointer;
}

.thumbnail:hover {
    opacity: 0.65;
    transition: all 0.5s ease;
}

#section5 {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 50px 15vw 100px 15vw;
    color: #333333;
}

#section1about {
    background-image: url("../images/blue_bg.png");
    background-size: 100vw auto;
    background-repeat: repeat-y;
    background-position: center bottom;
	z-index: 5;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: calc(5vh + 90px) 10vw calc(5vh + 20px) 10vw;
    color: #ffffff;
    border-bottom: 10px solid #173a64;
}

#section1about p {
    text-align: left!important;
	padding-bottom: 30px;
}

#section2about {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 65px 10vw 0 10vw;
    color: #333333;
	margin-top: -1px;
}

#section1products {
    background-image: url("../images/blue_bg_full.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
	z-index: 5;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: calc(5vh + 90px) 10vw 15vh 10vw;
    color: #ffffff;
    border-top: 2px solid #ffffff;
}

#section1products p {
    text-align: left!important;
	padding-bottom: 30px;
}

#section2products {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 65px 10vw 10px 10vw;
    color: #333333;
	margin-top: -1px;
}

#section1contact {
    background-image: url("../images/blue_bg_full.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
	z-index: 5;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: calc(5vh + 90px) 10vw 15vh 10vw;
    color: #ffffff;
    text-transform: uppercase;
    border-top: 2px solid #ffffff;
}

#section1gallery {
    background-color: #ffffff;
	z-index: 5;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: calc(5vh + 90px) 10vw 30px 10vw;
    border-top: 2px solid #ffffff;
}

#section1gallery p {
    text-align: left!important;
}

#map_canvas {
    width: 100vw;
    height: 90vh;
    z-index: 4;
    margin-top: -180px;
}

.contactInfo {
    text-transform: none!important;
	margin-top: 40px;
}

.hours {
    text-transform: none!important;
	margin-top: 20px;
}

#section6 {
    background-color: #ffffff;
	z-index: 110;
    position: relative;
	height: auto;
    width: 100vw;
    display: block;
	padding: 35px 10vw 175px 10vw;
    color: #333333;
}


/* Headshots */
.headshot1 {
    background-image: url("../images/headshots/james.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshot2 {
    background-image: url("../images/headshots/megan.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshot3 {
    background-image: url("../images/headshots/james_w.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshot4 {
    background-image: url("../images/headshots/erica.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshot5 {
    background-image: url("../images/headshots/dustin.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshot6 {
    background-image: url("../images/headshots/barrie.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
    position: relative;
}

.headshots {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 23vw;
    border-top: 2px solid #000000;
    position: relative;
}

.groupPic {
    width: 100%;
	max-width: 800px;
	margin-top: 50px;
    margin-bottom: 80px;
    outline: solid 2px #ffffff;
    box-shadow: 0px 1px 5px rgba(51, 51, 51, 0.35);
}

.name {
    color: #ffffff;
    font-weight: 700;
    display: block;
}

.title {
    color: #6bc3b9;
    font-weight: 400;
    font-size: 70%;
    display: block;
}

@media screen and (max-width: 1000px) {
.headshots {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 45vw 45vw 45vw;
  }

.headshot1 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
}

.headshot2 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
}

.headshot3 {
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
}

.headshot4 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
}

.headshot5 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
}

.headshot6 {
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
}
}


/* Services */
.service1 {
    background-image: url("../images/services/consulting.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    padding: 10px;
}

.service2 {
    background-image: url("../images/services/field_leveling.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.service3 {
    background-image: url("../images/services/field_performance.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.service4 {
    background-image: url("../images/services/field_service.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.service5 {
    background-image: url("../images/services/lift_gate.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    padding: 10px;
}

.service6 {
    background-image: url("../images/services/pump_replacement.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.service7 {
    background-image: url("../images/services/pump_repair.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.service8 {
    background-image: url("../images/services/warranty.jpg");
    background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    background-color: #173a64;
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    padding: 10px;
}

.services {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 25vw 25vw;
    border-bottom: 2px solid #ffffff;
}

.serviceName {
    color: #ffffff;
    font-weight: 700;
    display: block;
}


/* Footer */
#footer {
    background-image: url("../images/footer_bg.png");
    background-size: auto 183px;
	background-repeat: repeat-x;
	background-position: center top;
    background-color: #173a64;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 90%;
	z-index: 100;
    position: relative;
	height: auto;
	width: 100vw;
    margin: -3px 0 0 0;
	text-align: center;
	padding: 0 0 50px 0;
}

#footerDark {
    background-image: url("../images/footer_bg_dark.png");
    background-size: auto 183px;
	background-repeat: repeat-x;
	background-position: center top;
    background-color: #173a64;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 90%;
	z-index: 110;
    position: relative;
	height: auto;
	width: 100vw;
    margin: -3px 0 0 0;
	text-align: center;
	padding: 0 0 50px 0;
}
	
#footerLogo {
    position: relative;
	height: auto;
	width: 80vw;
	max-width: 500px;
    margin: 0 0 25px 0;
}

.footLine {
    display: inline;
    visibility: visible;
    height: auto;
}

.slogan {
  position: relative;
  font-size: 150%;
  font-weight: 400;
  color: #14a2dc;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(23, 58, 100, 0.75);
  margin-bottom: 25px;
}


/* Heading Tags */
h1 {
    text-transform: uppercase;
    font-size: 320%;
    font-weight: 300;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.25);
}

h2 {
    text-transform: uppercase;
    font-size: 320%;
    font-weight: 300;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.25);
}

h3 {
    color: #14a2dc;
    text-transform: uppercase;
    font-size: 140%;
    font-weight: 500;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.15);
    margin-top: 80px;
}

h4 {
    color: #14a2dc;
    text-transform: uppercase;
    font-size: 140%;
    font-weight: 500;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.15);
}

h5 {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.15);
}

h6 {
    color: #14a2dc;
    text-transform: uppercase;
    font-size: 200%;
    font-weight: 500;
    letter-spacing: 1px;
	text-shadow: 0px 1px 3px rgba(51,51,51,0.15);
    padding: 0;
}


/* Buttons and Links */
.linkNav, .linkNav:active, .linkNav:visited, .linkNav:link {
	color: #173a64;
    font-size: 80%;
    font-weight: 500;
	text-decoration: none;
    text-transform: uppercase;
    transition: 0.35s!important;
    padding-right: 13px;
    position: relative;
}

.linkNav:hover {
	color: #6bc3b9;
	text-decoration: none;
    transition: 0.35s!important;
}

.linkNav:after {
	content: "";
    position: absolute;
    width: calc(100% - 13px);
    bottom: -5px;
    left: 0;
    height: 2px;
    background-color: #6bc3b9;
    opacity: 0;
    transition: opacity 300ms, transform 300ms;
}

.linkNav:hover:after {
    opacity: 1;
    transform: translate3d(0, 0.2em, 0);
}

.linkNav::after {
  opacity: 1;
  transform: scale(0);
  transform-origin: center;
}

.linkNav:hover::after,
.linkNav:focus::after{
  transform: scale(1);
}

.link, .link:active, .link:visited, .link:link {
	color: #ffffff;
	text-decoration: none;
    transition: 0.35s!important;
    position: relative;
}

.link:hover {
	color: #83d5cc;
	text-decoration: none;
    transition: 0.35s!important;
}

.link:after {
	content: "";
    position: absolute;
    width: 100%;
    bottom: -5px;
    left: 0;
    height: 2px;
    background-color: #83d5cc;
    opacity: 0;
    transition: opacity 300ms, transform 300ms;
}

.link:hover:after {
    opacity: 1;
    transform: translate3d(0, 0.2em, 0);
}

.link::after {
  opacity: 1;
  transform: scale(0);
  transform-origin: center;
}

.link:hover::after,
.link:focus::after{
  transform: scale(1);
}

.btnBlue, .btnBlue:focus, .btnBlue:active {
    border-radius: 0;
    color: #ffffff;
    background: #173a64;
    padding: 10px 20px;
    margin-top: 30px;
    border: solid #14a2dc 2px;
	font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.5s!important;
    position: relative;
	z-index: 36;
    display: inline-block;
}

.btnBlue:hover {
    color: #83d5cc;
    border: solid #83d5cc 2px;
    text-decoration: none;
    transition: 0.5s!important;
}

.btnWhite, .btnWhite:focus, .btnWhite:active {
    border-radius: 0;
    color: #173a64;
    background: #ffffff;
    padding: 10px 20px;
    margin-top: 30px;
    border: solid #14a2dc 2px;
	font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.5s!important;
    position: relative;
	z-index: 36;
    display: inline-block;
}

.btnWhite:hover {
    color: #83d5cc;
    border: solid #83d5cc 2px;
    text-decoration: none;
    transition: 0.5s!important;
}

.btnWhite2, .btnWhite2:focus, .btnWhite2:active {
    border-radius: 0;
    color: #ffffff;
    background: #14a2dc;
    padding: 10px 20px;
    border: solid #ffffff 2px;
	font-size: 80%;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.5s!important;
    position: relative;
	z-index: 36;
    display: inline-block;
}

.btnWhite2:hover {
    color: #83d5cc;
    border: solid #83d5cc 2px;
    text-decoration: none;
    transition: 0.5s!important;
}

.btnBlack, .btnBlack:focus, .btnBlack:active {
    border-radius: 0;
    color: #ffffff;
    background: #000000;
    padding: 10px 20px;
    margin-top: 30px;
    border: solid #14a2dc 2px;
	font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.5s!important;
    position: relative;
	z-index: 36;
    display: inline-block;
}

.btnBlack:hover {
    color: #83d5cc;
    border: solid #83d5cc 2px;
    text-decoration: none;
    transition: 0.5s!important;
}

.btnGrey, .btnGrey:focus, .btnGrey:active {
    border-radius: 0;
    color: #ffffff;
    background: #222222;
    padding: 10px 20px;
    margin-top: 30px;
    border: solid #14a2dc 2px;
	font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    transition: 0.5s!important;
    position: relative;
	z-index: 36;
    display: inline-block;
}

.btnGrey:hover {
    color: #83d5cc;
    border: solid #83d5cc 2px;
    text-decoration: none;
    transition: 0.5s!important;
}

.btn2, .btn2:focus, .btn2:active:focus, .btn2.active:focus {
    color: #ffffff;
    background: #14a2dc;
    padding: 15px;
    margin: 2px 0;
    text-decoration: none;
	text-transform: uppercase;
	text-align: right;
    font-size: 90%;
	font-weight: 400;
    cursor: pointer;
    position: relative;
	z-index: 36;
    transition: all .5s ease;
    width: 100%;
    max-width: 700px;
	display: table;
    border: 2px solid #0d96ce;
}

.btn2::after { 
    content: "VIEW ❯";
	font-size: 100%;
	color: #ffffff;
	text-align: right;
    transition: all .3s ease;
	-webkit-transition: all .3s ease;
	display: table-cell;
    vertical-align: middle;
}

.btn2:hover {
	color: #ffffff;
    background: #284c77;
    border: 2px solid #83d5cc;
    text-decoration: none;
    transition: all .5s ease;
}

.iconRow {
	display: flex; 
	align-items: center; 
	justify-content: left;
}

.iconText {
    width: auto;
    color: #ffffff;
    text-decoration: none;
    margin: 0 5px 0 0;
}

.iconText:hover {
    width: auto;
    color: #ffffff;
    text-decoration: none;
}


/* Icons */
.socialIcon {
    width: 50px;
	height: 50px;
	color: #ffffff;
	fill: currentColor;
	margin: 0 5px;
    transition: all .3s ease;
}
	
.socialIcon:hover {
	color: #83d5cc;
	fill: currentColor;
    transition: all .3s ease;
}

.waveDivider {
    width: 100%;
    height: 50px;
    margin: 20px 0;
}

.waveLine {
    width: 30px;
	height: 8px;
    margin: 0;
}


/* Horizontal Rules */
hr.style1 {
	border-top: 2px solid #14a2dc;
	text-align: center;
	width: 90%;
    max-width: 800px;
	margin: 40px 0 20px 0;
}
	
hr.style2 {
	border-top: 2px solid #14a2dc;
	text-align: center;
	margin: auto;
	margin: 40px 0;
	width: 100%;
    display: block;
}
	
hr.style3 {
	border-top: 2px solid #14a2dc;
	text-align: center;
	margin: auto;
	margin: 40px 0 0 0;
	width: 100%;
    display: block;
}
	
hr.style4 {
	border-top: 2px solid #ffffff;
	text-align: center;
	margin: auto;
	margin: 10px 0 20px 0;
	width: 100%;
    display: block;
}


/* Form */
.contact, .service {
	z-index: 110;
	position: relative;
	height: auto;
    width: 100%;
    max-width: 1030px;
    margin: auto;
	text-align: center;
	overflow: hidden;
	padding: 30px 10vw 0 10vw;
}

.contact textarea, .contact input[type=text], .contact input[type=email] {
	width: 100%;
	padding: 13px 10px 12px 10px;
	font-size: 90%;
	color: #173a64;
    background: #eeeeee;
    outline: solid 2px #ffffff;
    border: solid #D3D3D3 1.5px;
	box-shadow: 0px 1px 5px rgba(51,51,51,0.35);
	text-transform: uppercase;
	text-decoration: none;
    border-radius: 0;
	box-sizing: border-box;
	margin: auto;
	margin-top: 0;
	margin-bottom: 15px;
}

.service textarea, .service input[type=text], .contact input[type=email] {
	width: 100%;
	padding: 13px 10px 12px 10px;
	font-size: 90%;
	color: #173a64;
    background: #eeeeee;
    outline: solid 2px #ffffff;
    border: solid #D3D3D3 1.5px;
	box-shadow: 0px 1px 5px rgba(51,51,51,0.35);
	text-transform: uppercase;
	text-decoration: none;
    border-radius: 0;
	box-sizing: border-box;
	margin: auto;
	margin-top: 0;
	margin-bottom: 15px;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #173a64;
	opacity: 0.75;
	text-transform: uppercase;
}

::-moz-placeholder { /* Firefox 19+ */
    color: #173a64;
	opacity: 0.75;
	text-transform: uppercase;
}

:-ms-input-placeholder { /* IE 10+ */
    color: #173a64;
	opacity: 0.75;
	text-transform: uppercase;
}

:-moz-placeholder { /* Firefox 18- */
    color: #173a64;
	opacity: 0.75;
	text-transform: uppercase;
    font-weight: 700;
}

#formText {
    margin: 40px 10vw;
}

@media screen and (max-width: 900px) {

#menu1 {
	display: none;
}

#menu2 {
	display: block;
}
}

@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px) {

body {
    font-size: 30px;
}

p {
    font-size: 40px!important;
}

#footerText p {
    font-size: 29px!important;
}

.slogan {
    font-size: 40px!important;
}

#tool {
    height: 105px;
}

.toolLogo {
    height: 90px;
}

#navContainer {
    height: 105px;
    margin-right: 10px;
}

#menu1 {
	display: none;
}

#menu2 {
	display: block;
}

.pushy-link {
	font-size: 110%;
}

.hamburger {
    padding: 35px 0 0 0!important;
}

.hamburger-box {
  width: 60px;
  height: 60px;
}
   
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 60px;
    height: 6px;
    border-radius: 8px;
}

.hamburger-inner {
  margin-top: 18px;
}

h2 {
    font-size: 250%;
}

.waveDivider {
    height: 85px;
}
  
.waveLine {
    width: 60px;
    height: 15px;
    margin: 0;
}

.btnBlue, .btnBlue:focus, .btnBlue:active {
    padding: 15px 25px;
    margin-top: 50px;
    border: solid #14a2dc 4px;
    font-size: 36px;
}

.btnBlack, .btnBlack:focus, .btnBlack:active {
    padding: 15px 25px;
    margin-top: 50px;
    border: solid #14a2dc 4px;
    font-size: 36px;
}

.btnWhite, .btnWhite:focus, .btnWhite:active {
    padding: 15px 25px;
    margin-top: 50px;
    border: solid #14a2dc 4px;
    font-size: 36px;
}

.btnGrey, .btnGrey:focus, .btnGrey:active {
    padding: 15px 25px;
    margin-top: 50px;
    border: solid #14a2dc 4px;
    font-size: 36px;
}

#section1 {
    padding: 10vh 10vw 15vh 10vw;
}

#section2 {
    padding: 35px 10vw 145px 10vw;
}

#section3 {
    padding: 15vh 10vw;
}

#banner, #bannerDark {
    background-size: auto 110%, auto 110%;
}

#banner h2, #bannerDark h2 {
    margin-top: 10px;
}

h6 {
    font-size: 175%;
}

.contact, .service {
    padding: 30px 10vw 50px 10vw;
}

#formText {
    margin: 80px 10vw;
}

.socialIcon {
    width: 90px;
    height: 90px;
}

.footLine {
    display: block;
    visibility: hidden;
    height: 0;
}

.groupPic {
    margin-top: 80px;
}
}

@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px)
and (orientation: portrait) {
	
#mainBanner4 {
    background-size: auto 50%;
}

.headshots {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 45vw 45vw;
}

#section1products {
    padding: calc(5vh + 90px) 10vw 10vh 10vw;
}

.services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 50vw 50vw 50vw 50vw;
}

#map_canvas {
    height: 70vh;
}

.service1 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: none;
}

.service2 {
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: none;
}

.service3 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: none;
}

.service4 {
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: none;
}

.service5 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: none;
}

.service6 {
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: none;
}

.service7 {
    border-top: 2px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-left: none;
}

.service8 {
    border-top: 2px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: none;
}
}

@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px)
and (orientation: landscape) {

.heroText {
    max-width: 1200px;
}

#mainBanner4 {
    background-size: auto 90%;
}

#section1 {
    padding: 10vh 10vw 25vh 10vw;
}

#section2 {
    padding: 35px 10vw 55px 10vw;
}

#section3 {
    padding: 25vh 10vw;
}

.contact, .service {
    padding: 30px 0vw 50px 0vw;
}

.services {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 25vw 25vw 25vw 25vw;
  }
}