/* GLOBAL */

body { color:#444444; background:#fff url('../images/bkg.gif') repeat 0 0; }

a { color:#75ac48; outline:none; text-decoration:none; }
a:active, a:hover { color:#488cac; text-decoration:none; }

p { margin:1.2em 0; font-size:1em; line-height:1.5em; }

h1 { margin:0 0 0 0; padding:0; color:#2e5f11; font-weight:400; letter-spacing:1px; font-size:1.4em; line-height:1.1em; font-family: 'Montserrat', sans-serif; }
h2 { margin:1em 0 0 0; padding:0; color:#444444; font-weight:400; font-size:1.2em; line-height:1.2em; font-family: 'Montserrat', sans-serif; }
h3 { margin:1.2em 0 -.3em 0; padding:0; color:#2e5f11; font-weight:400; font-size:1.2em; line-height:1.2em; font-family: 'Montserrat', sans-serif; }
h4 { margin:2em 0 0 0; padding:0; color:#2e5f11; font-weight:400; font-size:1em; line-height:1.2em; font-family: 'Montserrat', sans-serif; }

small { font-size:.8em; }

hr { margin:2rem 0; }

body.home .layout h1 { text-align:center; margin:-1em 0 0 0; font-size:1.5em; }
body.home .layout h2 { text-align:center; margin:.5em 0 1em 0; font-size:1.1em; }

.row { max-width:75em; }


/* UTILITY */

.fullwidth { width:100% !important; margin-left:auto; margin-right:auto; max-width:100% !important; }

.responsive { width:100%; max-width:100%; }

.clear { clear:both; line-height:0; }

.hidezoom img { box-shadow:none !important; }

.layout img.align_center, .layout img.align_left, .layout img.align_right, .layout figure { min-width:200px; padding:6px; background-color:rgba(255,255,255,.5);
-webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3);
box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3); 
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px; }

.layout figure { display:table; width: 1px; }
.layout figure img { margin-bottom:4px; }
.layout figure figcaption { display: table-row; font-size:.8em; color:#7c7c7c; line-height:1.2em; text-align:center; }
.layout figure.align_left { float:left; margin:1.2rem 1.5rem 1.5rem 0; }
.layout figure.align_right { float:right; margin:1.2rem 0 1.5rem 1.5rem; }

.layout img.align_left { float:left; margin:0 1.5rem 1.5rem 0; }
.layout img.align_right { float:right; margin:0 0 1.5rem 1.5rem; }

.layout figure:hover, .layout a.fancybox.linkright img:hover, .layout a.fancybox.linkleft img:hover, .layout table a.fancybox img:hover, .layout a.fancybox img.align_center:hover { 
-webkit-box-shadow: 0px 0px 6px 1px rgba(43,166,203,0.5);
-moz-box-shadow: 0px 0px 6px 1px rgba(43,166,203,0.5);
box-shadow: 0px 0px 6px 1px rgba(43,166,203,0.5); }

div.TextformatterVideoEmbed { margin-bottom:2rem; padding:6px; background-color:rgba(255,255,255,.3);
-webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3);
box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.3); 
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px; }

span.label-red { background-color:#ff0000; padding:.2em .7em .2em .7em; font-size:12px; color:#fff;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px; }
h1 span.label-red, h2 span.label-red, h3 span.label-red { font-size:11px; padding:.2em .5em .2em .5em; position:relative; top:-3px; }

.hidden { display:none; }

#editpage { position: fixed; top: 2px; left: 2px;  z-index:999; }
#editpage a { float:left; padding: 4px 6px; background: #db1174; color: #fff; display: block; font-weight: normal; font-size:11px; z-index:9999; margin-right:2px; text-decoration:none; }
#editpage a:hover { background: #ffffcc; color: #000; text-decoration:none; }


/* HEADER */

.spacer { height:48px; }
.header { width:100%; padding:1.6rem 0; background:#d1f1b9 url('../images/bkg2.jpg') no-repeat top center; background-size:cover; }
.header h2.phone { margin:0; padding:0; font-size:1.46em; line-height:1rem; color:#2f6015; font-weight:400; text-align:center; }
.header h2.phone span { font-size:.7em; color:#59913b; }
.header p { margin:.8em 0 .8em 0; padding:0; line-height:1em; letter-spacing:1px; font-size:.9em; }
.header .logo img { max-width:600px; }
.header .text { padding-top:1.2rem; text-align:center; }


/* SLIDER */

.slider { position:relative; width:100%; background-color:#000; border-top:3px solid #2f6014; border-bottom:3px solid #2f6014; }
.slider h2 { position:absolute; bottom:2rem; width:100%; margin:0; padding:0; color:#fff; font-size:2em; font-weight:400; letter-spacing:1px; text-align:center; text-shadow: 0px 4px 8px rgba(0,0,0,1); }
.slider p.caption { margin:0; padding:.3em; font-size:.8rem; line-height:1.1em; }


/* HERO */

.hero { position:relative; width:100%; border-top:3px solid #2f6014; border-bottom:3px solid #2f6014; }
.hero .title { position:absolute; bottom:1.5rem; width:100%; }
.hero .title h2 { width:100%; max-width:1200px; margin:0 auto; padding:0 0.9375rem; color:#fff; font-size:2em; font-weight:400; text-align:left; text-shadow: 0px 4px 8px rgba(0,0,0,1); }
.hero .title h3 { width:100%; max-width:1200px; margin:0 auto; padding:0 0.9375rem; color:#FF6161; font-size:3em; font-weight:600; text-align:left; text-shadow: 0px 4px 8px rgba(0,0,0,1); text-transform:uppercase; }
.hero .title p { width:100%; max-width:1200px; margin:0 auto; padding:0 0.9375rem; color:#fff; font-size:2em; line-height:.8em; font-weight:bold; text-align:left; text-shadow: 0px 4px 8px rgba(0,0,0,1); }
.hero .title p small { font-size:.6em; color:#ccc; font-weight:normal; }


/* CONTENT */

.layout { padding:3rem 0 0 0; }


/* CONTENT MAIN */

.layout .main { padding-right:1rem; }
.layout .main ul, .layout .main ol { margin:.8em 0 0 0; padding:0 0 0 1.2em; line-height:1.5em; }
.layout .main ul li, .layout .main ol li { padding:.3em 0; }
.layout .main ul li ul { margin-bottom:1em; }
.layout .main ul li ul li { padding:.1em 0; }
.layout .main table { margin-top:1.2em; }
.layout .main table td, .layout .main table th { vertical-align:top; }
.layout .main table ul { margin-top:0; }
.layout .main table h3 { margin:.2em 0 0 0; }
.layout .main table.spacing { margin-top:0; background:none; border:none; }
.layout .main table.spacing h2, .layout .main table.spacing h3 { margin-top:0; }

.layout .main table img.align_left, .layout .main table img.align_right { max-width:300px; margin-bottom:0; padding:0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none; 
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0; }

.layout .main table img { width:100%; max-width:100%; }
.layout .main table figure { width:100%; max-width:100%; margin:0; 
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none; 
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0; }

.layout .main .gallery { margin:0; padding:0; }
.layout .main .gallery li { padding:.5em; }


/* CONTENT SIDEBAR */

.layout .sidebar h3 { margin-top:0; }


/* BLOCKQUOTE */

.layout blockquote { font-size:.9em; font-style:italic; overflow: hidden; margin: .5rem 0 2rem 0; padding: 0 1em 0 1.6em; background-color:rgba(180,243,137,.15); border-left:3px solid #ccc; }
.layout blockquote p { margin:.7em 0; padding:0; line-height:1.4em }
.layout blockquote p.author { margin:-.2em 0 1em 0; padding-left:1em; font-size:.9em; color:#888888; }
.layout blockquote h3 { margin:.8em 0 0 0 !important; padding:4px 0 0 35px; background:transparent url('../images/quote.png') no-repeat 0 0; }
.layout .sidebar blockquote img { max-width:200px; padding:4px; background-color:#fff; border:1px solid #ccc; }

.layout .sidebar p.more { margin:-1rem 0 0 0; }
.layout .sidebar p.more a.button { padding:.7em 1.3em .8em 1.3em; font-size:.9em; font-style:normal; }


/* HEXES */

.hexes ul li { margin:0; padding:1.2em 2em; text-align:center; }
.hexes ul li img { width:100%; max-width:280px; margin:0 auto; }
.hexes ul li h3 { margin:.5em 0 0em 0; padding:0; color:#2e5f11; font-weight:400; font-size:1.8em; }
.hexes ul li h3 a { color:#2e5f11; }
.hexes ul li p { margin:.5em 0 0 0; text-align:justify; font-size:.9em; }


/* FANCYBOX */

/* .fancybox-prev, .fancybox-next { position:fixed !important; } */
.layout a.fancybox { position:relative; }

.fancybox-title { font-size:1em !important; text-align:center; }

.layout ul.gallery { margin-top:1.2rem; margin-bottom:1rem; }


/* COMPARE */

.compare .comp { margin-bottom:2rem; background-color:#fff; padding:4px; border:1px solid #ccc; }
.compare p { margin:-.8em 0 .8em 0; padding:0 2em; font-size:1.2em; line-height:1.1em; text-align:center; }
.compare p a.button { padding:.7em 1.3em .8em 1.3em; font-size:.9em; }
.compare .comp p { margin:0; padding-top:.2em; }
.layout .sidebar .compare p { font-size:.9em; }
.layout .sidebar .compare { margin-bottom:1.5rem; }
.layout .sidebar .compare p.more { margin:-1rem 0 -1rem 0; }


/* ACCORDION */

.layout ul.accordion { margin:0; padding:0;  }
.layout ul.accordion li { padding-bottom:1rem;}
.layout ul.accordion li a.link { background-color:#fff; border-left:3px solid #ccc; color:#2e5f11; font-weight:400; font-size:1.1em; line-height:1.2em; font-family: 'Montserrat', sans-serif; }
.layout ul.accordion li .content { border-left:3px solid #bbde9e; padding:.1em 1.1em; border-top:1px dotted #ccc; }


/* PROJECTS */

.projectslist { margin-top:2rem; }
.projectslist table p { margin:.5em 0 .2em 0; }
.projectslist table p.link { margin:.2em 0; font-size:.8rem; text-align:center; }


/* BLOG */

.bloglist { margin-top:2rem; }
.bloglist table p { margin:.5em 0 .2em 0; }
.bloglist table p.link { margin:.2em 0; font-size:.8rem; text-align:left; }
.bloglist h3 a { color:#2e5f11; }
.bloglist h3 a:hover { color:#488cac; }

ul.blogposts { margin:.8rem 0 1.5rem 0; padding:0; list-style:none; font-size:.9em; line-height:1.2em; }
ul.blogposts li { padding:.2em 0; }
ul.blogposts li a { color:#2e5f11; display:block; width:100%; padding:.3em .7em; border-top:1px dotted #ccc; border-bottom:1px dotted #ccc; background-color:#fff; }
ul.blogposts li a:hover { color:#488cac; }

/* SOCIAL */

@font-face {
    font-family: 'socicon';
    src: url('../socicon/socicon.eot');
    src: url('../socicon/socicon.eot?#iefix') format('embedded-opentype'),
         url('../socicon/socicon.woff') format('woff'),
         url('../socicon/socicon.ttf') format('truetype'),
         url('../socicon/socicon.svg#sociconregular') format('svg');
    font-weight: normal;
    font-style: normal;
    text-transform: initial;
}

.socicon { font-family: 'socicon' !important; }

ul.social { margin:0; padding:0; list-style:none; line-height:0; }
ul.social li { display:inline; padding-left:2px; }
.social a { display:inline-block; width:24px; height:24px; line-height:24px; vertical-align:middle; text-align:center; background-color:#000; color:#fff; font-size:.8em; padding:0;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%; }
.social .twitter { background-color:#00caf2; }
.social .facebook { background-color:#405fae; }
.social .linkedin { background-color:#0079bd; }
.social .youtube { background-color:#cc0004; }
.social .pinterest { background-color:#dc0009; }
.social a:hover { opacity:.6; }


/* SUBNAV */

.subnav ul { margin:-1rem 0 2rem 0; padding:0; list-style:none; font-size:.9em; border-bottom:1px solid #75ac48; }
.subnav ul li { display:inline; padding-right:10px; }
.subnav ul li a { padding:3px 10px; border:1px solid #75ac48; background-color:#e6ffe3;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px; }
.subnav ul li a:hover, .subnav ul li a:focus { background-color:#5fa02e; color:#fff; }
.subnav ul li.active a { background-color:transparent; border-bottom:1px solid #fff; }
.subnav ul li.active a:hover, .subnav ul li.active a:focus { color:#75ac48; }



/* NAV */

.nav { -webkit-font-smoothing: antialiased; }
.nav .contain-to-grid { background-color:#5fa02e; border-bottom:3px solid #2f6014; }
.nav .top-bar { background-color:transparent; padding-left:1em; }
.nav .title-area { background-color:transparent !important; border-bottom:3px solid #2f6014; }
.nav li.menu-icon a, .nav li.menu-icon a span { color:#fff !important; }
.nav .top-bar.expanded { padding:0; }
.nav .top-bar.expanded li.level-1 a { padding:.6em 1.2em; font-size:1rem; text-align:center; }


/* FOOTER */

.footer { margin-top:3rem; padding-top:2rem; padding-bottom:1rem; width:100%; color:#364a2b; background:#c7e5cb url('../images/bkg2.jpg') no-repeat center center; background-size:cover; border-top:3px solid #2f6014; }
.footer .logo { max-width:400px; margin-bottom:10px; }
.footer .logos { max-width:350px; }
.footer a { color:#427d32; }
.footer a:hover, .footer a:active { color:#488cac; }
.footer p { margin:.2em 0; padding:0; }
.footer p.phone { margin-top:1em; }
.footer p.phone strong { color:#2f6015; font-size:1.4em; font-weight:400; }
.footer p.local { margin-bottom:.4em; }
.footer p.local strong { color:#2f6015; font-size:1.2em; font-weight:400; }
.footer p.address { margin-top:1.2em; font-size:.9em; }
.footer p .email { position:relative; bottom:1px; width:25px; height:25px; margin-right:6px; color:#7ba370; }
.footer ul { margin:1em 0 0 0; padding:0; list-style:none; font-size:.9em; line-height:1.4em; }
.footer ul li { padding:1px 0; }

.footer .support { margin-top:20px; border-top:1px dotted #a3bf64; text-align:right; }
.footer .support h3 { margin:0; padding:0; position:relative; top:5px; font-size:18px; }
.footer .support ul { margin:20px 0 10px 0; padding:0; }
.footer .support li { display:inline-block; padding:0 15px; }
.footer .support img { max-height:50px; }

.copyright { width:100%; padding:.6rem 0; background-color:#4c621a; color:#83af77; }
.copyright p { margin:0; padding:0; font-size:.8em; }


/* FORM */

.FormBuilder { max-width:450px !important; }
.FormBuilder .InputfieldSubmit { text-align:center; }
.FormBuilder .InputfieldSubmit button { padding:.5em 1em; font-size:1rem; text-transform:uppercase; letter-spacing:1px; }
.alert-box { font-size:1rem; }


/* MEDIA QUERIES */


/* 641px */
@media only screen and (min-width: 641px){
    
    .subnav ul { font-size:1em; line-height:1.6em; }
    
    .header .text { padding-top:.5rem; text-align:right; }
    .header .text h2.phone { text-align:right; }
    
}
/* mobile menu position */
@media only screen and (max-width: 767px) {
    
    .layout .sidebar .overlay { max-width:304px; }
    .nav { position:fixed; top:0; left:0; width:100%; z-index:9999; }
    
}

/* mobile menu breakpoint */
@media only screen and (min-width: 768px) { 

    
    h1 { font-size:2em; }
    h2, h3 { font-size:1.4em; }
    h4 { font-size:1.2em; }
    
    body.home .layout h1 { margin:-.3em 0 0 0; font-size:2em; }
    body.home .layout h2 { font-size:1.5em; }
    
    .subnav ul { font-size:1.2em; line-height:1.5em; }
    
.slider { border-top:none; }
.slider h2 { bottom:2.4rem; font-size:4em; }
.slider p.caption { font-size:1.1rem; line-height:1.2em; }

.hero { border-top:none; }
.hero .title h2 { font-size:3em; }
    
.layout .main { padding-right:2rem; }

.spacer { display:none; }

.nav .title-area, .nav .parent-link { display:none; }
.nav .contain-to-grid { background-color:#436717; border-bottom:3px solid #3d4e15; }
.nav .top-bar { background-color:transparent; padding-left:1em; }
.nav .top-bar-section ul li.level-1 { background-color:transparent; }
.nav .top-bar-section ul li.level-1 a { background:transparent; padding:0 1.1em !important; font-size:.9em; font-weight:400; text-align:left; }
.nav .top-bar-section ul li.level-1 a:hover { background-color:rgba(0,0,0,.2); }
.nav .top-bar-section ul li.level-1.active a { background-color:rgba(0,0,0,.2); }
.nav .top-bar-section ul li.level-1.active a:hover { background-color:rgba(0,0,0,.2); }
.nav .top-bar-section ul.dropdown { z-index:9999; min-width:160px; }
.nav .top-bar-section ul.dropdown li.level-2 { font-size:.9em; }
.nav .top-bar-section ul.dropdown li.level-2 a { line-height:2em; }
.nav .top-bar-section ul.dropdown li.level-2.active a { background-color:rgba(0,0,0,.2); }
.nav .top-bar-section ul li.has-dropdown ul { display:none !important; }
.nav .top-bar-section ul li.has-dropdown > a:after { border-top-style: none; }
.nav .top-bar-section ul li.ID1015 ul { display:block !important; }
.nav .top-bar-section ul li.ID1015 a { padding-right:2rem !important; }
.nav .top-bar-section ul li.ID1015 > a:after { border-top-style: solid; }
    
}


/* min-width 1024px, large screens */
@media only screen and (min-width: 1024px) { 
  
    h1 { font-size:2.4em; }
    
    body.home .layout h1 { font-size:2.6em; }
    body.home .layout h2 { font-size:1.8em; }
    
    .slider h2 { bottom:3.6rem; font-size:6em; }
    .slider p.caption { font-size:1.4rem; }
    
    .hero .title h2 { font-size:4em; }
    .layout .main { padding-right:3rem; }

    .nav .top-bar-section ul li.level-1 a { padding:0 1.55em !important; font-size:1em; letter-spacing:1px; }
    .nav .top-bar-section ul li.ID1015 a { padding-right:2rem !important; }
    
} 


/* min-width 1200px, xlarge screens */
@media only screen and (min-width: 1200px) { 
    
    body.home .layout h1 { font-size:3em; }
    body.home .layout h2 { font-size:2em; }
    
    .hero .title h2 { font-size:5em; }
    .nav .top-bar-section ul li.level-1 a { padding:0 1.85em !important; font-size:1.1em; }

 
}
