@charset "UTF-8";
/* CSS Document
Client: 
Company: Informatics, Inc
Author: J Stephens
Date: December 2018

yellow: #fde013
gray: #b2b2b2
blue: #1468b3
green: #279341
*/

/* Variables */
:root {
  --webgreen: #41ad49;
  --green: #508b3f;
  --black: #000000;
  --gray: #bbbbbb;
  --header: 'Oswald', serif;
  --body: 'Open Sans', sans-serif;
  
}

/* TYPOGRAPHY */
body {
font-family: var(--body); font-weight: 400; font-size: 16px; background: #fff; color: #555;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
-moz-font-feature-settings: "liga" on;
}
h1, h2, h3, h4, h5 {font-family: var(--header); font-weight: 700; color: #222; text-transform: uppercase; letter-spacing: -1px;}
h1 {font-size: 42px;}
h2 {margin: 10px 0 0 0; padding: 0 0 25px 0; position: relative;}
h2:after {position: absolute; left: 50%; bottom: 0; width: 100px; margin-left: -50px; height: 3px; background: var(--primary); content: "";}
h3 {font-size: 21px;}
h4 {font-size: 18px;}
p, p + .btn-theme {margin-bottom: 1.5em;}
hr {border-color: #eee; margin: 50px 0;}
.lead {font-weight: 300; color: var(--webgreen); font-size: 24px;}
img {max-width: 100%; height: auto;}
.img-left, .img-right {margin: 0 0 25px 0;}
.shadow {}
.light {font-weight: 300;}
.medium {font-weight: 400;}
.box {padding: 25px; background: #f4f4f4; border-top: 5px solid var(--webgreen);}
.btn-primary.active, .btn-primary.focus, .btn-primary:active, .btn-primary:focus, .btn-primary:hover, .open > .dropdown-toggle.btn-primary {background: #508b3f;}
.btn-primary {color: #fff; border: none; padding: 15px 25px; background: var(--webgreen); font-weight: 700; font-size: 16px; transition: all .2s linear;}
.formidable input.btn-primary {padding: 15px 25px;}

/* LINKS */
a {color: var(--webgreen);}
a:visited {}
a.btn-theme, .btn-theme > a {display: inline-block; padding: 15px 25px; background: var(--webgreen); color: #fff; text-transform: uppercase; font-weight: 700; border-radius: 5px; font-family: var(--header); position: relative; z-index: 2; overflow: hidden;}
a.btn-theme:after, .btn-theme > a:after {display: block; width: 100%; height: 100%; content: ""; z-index: -1; position: absolute; left: 0; top: 0; opacity: 1;
background: #41ad49; /* Old browsers */
background: -moz-linear-gradient(left, #41ad49 0%, #389c3f 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #41ad49 0%,#389c3f 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #41ad49 0%,#389c3f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#41ad49', endColorstr='#389c3f',GradientType=1 ); /* IE6-9 */
}
a.btn-theme:hover, .btn-theme > a:hover {color: #fff; background: #333; text-decoration: none;}
a.btn-theme:hover:after, .btn-theme > a:hover:after {opacity: 0;}
.container {position: relative;}

/* Animate */
.ccm-page a, #nav-main ul, .btn-theme:after {
-webkit-transition: all .25s linear;
-moz-transition: all .25s linear;
-o-transition: all .25s linear;
transition: all .25s linear;
}

.content-rows > * {padding: 30px 15px;}

/* Slider */
.slick-dots {bottom: 29px!important;}
.slick-dots li button:before {font-size: 16px!important;color:var(--webgreen)!important;}
.slick-dotted.slick-slider {margin-bottom: 0px!important;}
.slider {overflow:hidden;border-bottom:8px solid  var(--webgreen);height:65vh; min-height: 500px; }

/* Secondary */
#page-hdr img {width: 100%; height: 100%; min-height: 300px; object-fit: cover; object-position: center;}
#page-hdr {padding: 0; position: relative; overflow: hidden; background: #222; background-size: cover;}
#page-hdr .hdr-text {background: var(--webgreen); padding: 15px 0;}

#page-hdr.greenbanner h1 {margin: 0;color:#fff}
#page-hdr.greenbanner .breadcrumb {text-transform: uppercase;letter-spacing: 1px;font-size: 14px;list-style: none; padding: 0; margin: 5px 0 0 0; background: none;}
#page-hdr.greenbanner .breadcrumb a {color:#fff}
.greenbanner .breadcrumb .fa{margin-right:-3px;font-size:17px;}
#page-hdr.greenbanner .breadcrumb .active a{color: #1a3618;text-transform: uppercase;}
.greenbanner .breadcrumb > li + li::before {color: #1a3618; content:"//";display: inline-block;padding: 0 5px;}
.greenbanner .crumbs {background: var(--webgreen);width:100%;padding:15px 0px;z-index:100;position:absolute;bottom:0;border-bottom:1px solid #e1e1e1;}

#page-hdr h1 {margin: 0;color: var(--webgreen);}
#page-hdr .breadcrumb {text-transform: uppercase;letter-spacing: 1px;font-size: 14px;list-style: none; padding: 0; margin: 5px 0 0 0; background: none;}
#page-hdr .breadcrumb a {color:var(--webgreen);}
.breadcrumb .fa{margin-right:-3px;font-size:17px;}
#page-hdr .breadcrumb .active a{color: #727272;text-transform: uppercase;}
.breadcrumb > li + li::before {color: #727272; content:"//";display: inline-block;padding: 0 5px;}
.crumbs {background:#fff;width:100%;padding:15px 0px;z-index:15;position:absolute;bottom:0;border-top:8px solid  var(--webgreen);border-bottom:1px solid #e1e1e1;}
.breadcrumb > li:nth-of-type(2) {display: none;}

#page-hdr.short {height: auto; min-height: none;}
#page-hdr.short .crumbs {position: relative;}

.sec-content {padding: 50px 0 50px 0;}
.sec-content .col {margin-bottom: 25px; overflow: hidden;}

.servicebox .fa{color: var(--webgreen);font-size:40px;}
.servicebox:hover .fa{  animation: pulse 1s infinite;
  animation-timing-function: linear;   }
@keyframes pulse {0% { transform: scale(1); }50% { transform: scale(1.1);}100% { transform: scale(1); }}
.row.display-flex {display: flex;flex-wrap: wrap;}
.row.display-flex > [class*='col-'] {display: flex;flex-direction: column;}
.servicebox .btn-theme{ width:140px;margin:auto auto 1em auto; /*basic flexbox settings*/}
.servicebox {text-align: center;padding:20px;background:#e6e6e6;border-top:solid 8px #41ad49; height: 100%;}
.servicebox1 {background:#e6e6e6;border-top:solid 8px #41ad49;}
.servicebox2 {background:#f3f3f3;border-top:solid 8px #508b3f;}
.servicebox3 {background:#e6e6e6;border-top:solid 8px #49783d;}
.servicebox h3{font-size:28px}

.feature-boxes [class^="col-"] {padding: 0;}
.feature-boxes [class^="col-"]:nth-of-type(2) .servicebox {background:#f3f3f3;border-top:solid 8px #508b3f;}
.feature-boxes [class^="col-"]:nth-of-type(3) .servicebox {background:#e6e6e6;border-top:solid 8px #49783d;}

#sec-nav {margin: 0 0 25px 0;}
#sec-nav ul {list-style: none; padding: 0; margin: 0;}
#sec-nav ul li {margin: 0;}
#sec-nav ul a {font-size: 18px; padding: 15px; display: block; border-bottom: 1px dotted #ccc; font-family: var(--header); color: #888;}
#sec-nav a:hover, #sec-nav .nav-path-selected a {text-decoration: none; background: var(--webgreen); color: #333;}

.cta {padding: 15px 30px; background: #eee; margin: 25px 0; border-top: 5px solid var(--webgreen);}


/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
.img-left {float: left; margin: 0 25px 25px 0; max-width: 50%;}
.img-right {float: right; margin: 0 0 25px 25px; max-width: 50%;}
.text-space {padding: 0px 0 50px 0}
h2 {font-size: 32px;}

.content-rows > * {padding: 25px;}
.content-rows {background-color: #f4f4f4;}
.content-rows .container {padding: 0; display: flex;}
.content-rows .container > * {flex: 1; padding: 15px;}
.content-rows .col {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 25px;}
.content-rows > div:nth-of-type(odd) > .container .col:first-of-type {order: 2;}

.content-yellow {background: url(../img/swoosh-yellow.jpg) left bottom no-repeat; object-position: center center;}
.content-green {background: url(../img/greenanglesfull.jpg) right center no-repeat;}

.feature-boxes .row {display: flex;}

#page-hdr {height: 50vh; overflow: hidden;}
#page-hdr img {position:absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
#page-hdr .hdr-text {background:#333;padding:20px 0px;}
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
.content-rows .col {min-height: 400px;}
.content-rows h1 {font-size: 52px;}

#sec-nav {margin: 0;}
.sec-content {padding: 50px 0 50px 0;}
.sec-content .col:first-of-type {width: 70%; float: left; padding-right: 25px;}
.sec-content .col:last-of-type {width: 30%; float: right; border-left: 5px solid #eee; padding-left: 25px;}

}

/* Header & Nav */
#header {border: 0; border-bottom: 35px solid #111; margin: 0; border-top: 5px solid var(--webgreen); border-radius: 0; position: relative;}
#logo {display: block; text-align: center; padding: 15px 50px;}
#toggle {background: #4dbb55; margin: 0; width: 100%; border-radius: 0; padding: 14px; height: 45px;}
#toggle .icon-bar {background: #222; height: 3px;}
#hdr-phone {text-align: center; padding: 10px; display: block; background: #ddd; font-weight: bold; font-size: 16px}
#hdr-phone i {color: #999; margin-right: 5px;}
#hdr-phone:hover {color: #40693d;}


.navbar-header .hdr-cta {position: absolute; right: 0; z-index: 5;}
.navbar-header .hdr-cta .btn-theme {padding: 12px 25px; height: 45px; border-radius: 0;}
#nav-main {margin: 0 -15px;}
#nav-mini {margin: 0 -15px;font-family: var(--header); }
#nav-main ul {list-style: disc; color: var(--webgreen); padding: 10px 15px 10px 35px; border-top: 1px dotted #ccc;}
#nav-main ul a {display: block; padding: 7px 5px 7px 10px; border: none; font-weight: 400; font-size: 14px; color: #444;}
#navbar a {color: #222; border-top: 1px dotted #ccc; font-family: var(--header); font-size: 16px; text-transform:uppercase; padding: 20px; font-weight: 500;}

/* Footer */
.page-footer { background: url(../img/bkg-plus.png) left top no-repeat #111; color: #bbb; position: relative; overflow: hidden;}
.page-footer .container {padding: 25px; position: relative; z-index: 2;}
.page-footer h3 {color: #fff; background: none; padding: 10px 0px 5px 0px;}
.page-footer .copy {margin: 0; text-align: center; background: rgba(0,0,0,.25); padding: 20px; font-size: 14px;}
.page-footer .copy a {opacity: 1; padding: 0;}
.page-footer ul {color: var(--webgreen); padding: 0 0 0 18px;}
.page-footer a {color: #bbb; display: inline-block; padding: 5px; opacity: .8;}
.page-footer a:hover {opacity: 1; color: #fff;}
.page-footer i {color: var(--webgreen);}

.social {display: block; margin: 25px 0;z-index:9999!important}
.social a {display: inline-block; width: 45px; height: 45px; font-size: 22px; background: var(--webgreen); color: #333; text-align: center; margin: 0 5px 0 0; opacity: 1; line-height: 45px; text-align: center; padding: 0; border-radius: 5px;}
.social a i {color: #333; margin: 0}
.social a:hover {background: none; opacity: 1; color: #fff;}
.social a:hover i {color: var(--webgreen);}

.slick-dots li button::before {background: var(--webgreen); opacity: 1; content: ""; border-radius: 50%;}


/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
/* Header & Nav */
#header {padding: 15px 0; box-shadow: 0 10px 10px rgba(0,0,0,.1); z-index: 50;}
#logo {padding: 0; width: 250px; float: left;}
#toggle {width: auto; float: right; margin: 15px 15px 0 0; border-radius: 5px}
.navbar-header .hdr-cta {padding: 0; position: relative; float: right; margin: 15px 0 0 0;}
.navbar-header .hdr-cta .btn-theme {padding: 12px 15px; border-radius: 5px;}
#nav-main {margin-top: 10px;}
#hdr-phone {background: none; display: inline-block; position: absolute; right: 200px; top: 15px;}
.page-footer .grid {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.page-footer .grid .col {padding: 15px;}
.nav-mini{display:none}

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
#header {padding: 0;}
#logo {padding: 20px 0; width: 225px;}
.navbar-header .hdr-cta {position: absolute; right: 15px; top: 50px; margin: 0;}
.navbar-header .hdr-cta .btn-theme {font-size: 18px; padding: 12px 20px; height: auto;}
#hdr-phone {right: 5px; top: 0;}
#navbar {margin: 0;}
#navbar a {border: 0;}
#nav-main, #nav-mini {margin: 0;}
#nav-mini {position: absolute; right: 160px; top: 10px;}
#nav-mini a {padding: 5px 10px; font-size: 15px; color: #888; position: relative;}
#nav-mini a:before {position: absolute; right: 0; top: 9px; height: 14px; width: 1px; background: #ccc; content: "";}
#nav-mini a:hover {color: #222; background: none;}

#nav-main {float: right; margin: 25px 125px 0 0;}
#nav-main a {padding: 40px 20px; font-size: 18px; border: 0;}
#nav-main li {display: inline-block; float: none;}
#nav-main a:hover {background: rgba(0,0,0,.1); color: #fff;}

#nav-main li:hover > a, #nav-main a:active, #nav-main a:focus, #nav-main li.nav-path-selected > a {opacity: 1; text-decoration: none; color: var(--webgreen); background: none;}
#nav-main li.nav-path-selected > a {opacity: 1; text-decoration: none;}
#nav-main > li:hover > a:after, #nav-main li.nav-path-selected > a:after {left: 0; width: 100%; opacity: 1;}
#nav-main li:hover > ul {display: block;}
#nav-main ul {display: none; width: 250px; position: absolute; top: 100%; left: 0; background: #fff; padding: 15px; box-shadow: 3px 3px 8px rgba(0,0,0,.2); border: none; border-top: 5px solid var(--webgreen);}
#nav-main li:last-of-type ul {left: auto; right: 0;}
#nav-main ul li {width: 100%;}
#nav-main ul li a {padding: 7px; text-transform: none; letter-spacing: normal; font-size: 15px;}

.page-footer .grid {display: flex; flex-wrap: no-wrap; max-width: 1170px; margin: 0 auto;}
.page-footer .grid .col {padding: 15px; flex: 1;}
.page-footer .grid .col:first-of-type {flex: 1.25; }
.page-footer, .page-footer p{font-size:15px;}
.hours p {8px dotted rgba(255,255,255,.25); font-size: 14px; color: #bbb;}
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
#nav-main a {padding: 40px 22px; font-size: 19px;}
#nav-main li > ul {display: block; opacity: 0; visibility: hidden; top: 95%;}
#nav-main li:hover > ul {opacity: 1; visibility: visible; top: 100%;}
#nav-main li:last-of-type ul {left: 0; right: auto;}

}

/* Bootstrap Expand Nav Tablet Too */
@media (max-width: 992px) {
 	.slider {height:40vh; min-height:400px}
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in {
        display:block !important;
    }
	#nav-mini{display:none;}
   #hero-img{height:50vh; min-height:400px;background: url(../img/herosample.jpg); background-size: cover; }

}


/* Custom */
@media (max-width: 770px) {
.servicebox{width:100%}
.slider {height:20vh; min-height:100px}
.slick-dots {bottom: 20px!important;}
.slick-dots li button:before {font-size: 12px!important;}
.content-rows {background-color: #f4f4f4;}
h2 {margin: 25px 0 0 0;font-size:36px}
.page-footer, .page-footer p{font-size:15px;}
.hours p {8px dotted rgba(255,255,255,.25); font-size: 14px; color: #bbb;}
.img-responsive{margin:0 auto}
}

/* SR updates 05/04/2020 - Added color on the required symbols (*) on contact form */
.required {
    color : red;
}
