body,div,dl,dt,dd,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,select,textarea,p,blockquote,th,td {margin:0; padding:0; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box;}
table {border-collapse:collapse; border-spacing:0;}
fieldset,img,input {border:0;}
:focus {outline: none;}
address,caption,cite,code,dfn,th,var,strong,em {font-style:normal; font-weight:normal;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%; font-weight:normal; margin:0px; padding:0px;}
q:before,q:after {content:'"';}
abbr,acronym {border:0;}
p {margin-top:18px; margin-bottom:18px;}
textarea {overflow: auto; border:0;}

html{
    font-family: 'Lato', sans-serif;
    font-weight:400;
    font-size:20px;
    line-height: 1.75;
    color:#ffffff;
    text-shadow: 0px 0px 10px rgba(0,0,0,0.10);
}

body{
    float:left;
    min-height:100%;
}

h1{
    width:100%;
    text-align:right;
    font-family: 'Lato', sans-serif;
    font-size:40px;
    font-weight:bold;
    color:#3f3f3f;
    line-height:1.25;
    margin:40px 0px 40px 0px;
}

h2{
    width:100%;
    text-align:right;
    font-family: 'Lato', sans-serif;
    font-size:40px;
    font-weight:bold;
    color:#6a963b;
    line-height:1.25;
    margin:40px 0px 40px 0px;
}

h3{
    width:100%;
    font-family: 'Lato', sans-serif;
    font-size:24px;
    font-weight:bold;
    color:#ffffff;
    line-height:1.25;
}

h4{
    width:100%;
    font-family: 'Lato', sans-serif;
    font-size:28px;
    font-weight:bold;
    color:#ffffff;
    line-height:1.25;
}

h5{
    width:100%;
    font-family: 'Lato', sans-serif;
    font-size:20px;
    font-weight:bold;
    color:#ffffff;
    line-height:1.25;
}

ul {
    list-style-type: none;
    padding:0px;
}


ul li:before {
    content: '';
    display: inline-block;
    height: 18px;
    width: 24px;
    background-size: contain;
    background-image: url("../images/icon-leaf.svg");
    background-repeat: no-repeat;
    background-position: 4px bottom;
    margin-right: 5px;
    margin-left: -30px;
}

a:link {
    color:#3f3f3f;
    text-decoration:none;
}

a:hover {
    color:#3f3f3f;
    text-decoration:none;
}

a:active {
    color:#3f3f3f;
    text-decoration:none;
}

a:visited {
    color:#3f3f3f;
    text-decoration:none;
}


/* ---- Common Definitions ---- */
.content{
    float:left;
    width:100%;
}

.centerContent{
    float:left;
    width:960px;
    padding:10px;
}

.noPad{
    padding:0px;
}

.centerFlex{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;   
}

.centerTop{
    -webkit-justify-content:space-around;
    justify-content:space-around;
}

.centerUp{
    -webkit-justify-content:center;
    justify-content:center;
    -webkit-align-items:center;
    align-items:center;
}

.centerWide{
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-align-items:center;
    align-items:center;
}

.fixedContent{
    position:fixed;
    left:0;
    top:0;
    width:1px;
    height:1px;
    z-index:-1;
}

.intro{
    width:100%;
    font-family: 'Lato', sans-serif;
    font-size:24px;
    color:#ffffff;
    line-height:1.25;
}

/* ---- Top Menu ---- */


.topMenuMobile{
    float:right;
    width:50px;
    height:50px;
    cursor:pointer;
    background-image:url('../images/icon-menu.svg');
}

/* ---- CONTENT ---- */

.backPanel{
    min-height:1px;
}

.frontPanel{
    min-height:1px;
}

.frontPanelImage{
    background-attachment: fixed;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
}

.frontPanelColor{
    background-color:rgba(106,150,59,.85);
}

.frontPanelDeco{
    background-repeat:no-repeat;
}

.rightDeco{
    background-image:url('../images/misc-leaf-bg-right.svg');
    background-position: 100% 0px;
}

.leftDeco{
    background-image:url('../images/misc-leaf-bg-left.svg');
    background-position: 0px 0px;
}

.backRightDeco{
    background-image:url('../images/misc-leaf-bg-right.svg');
    background-position: 100% 0px;
    background-attachment: fixed;
}

#backPanelHeader{
    background-color:rgba(63,63,63,.95);
}

#frontPanelHome{
    background-image:url('../images/bg-swamp.jpg');
}

#frontPanelServices{
    background-image:url('../images/bg-work.jpg');
}

#frontPanelContact{
    background-image:url('../images/bg-lilypad.jpg');
}

#identity{
    width:100%;
    min-height:600px;
    background-image:url('../images/misc-logo-bg.svg');
    background-position:left top;
    background-repeat:no-repeat;
}

#logo{
    float:left;
    width:320px;
    height:180px;
    background-image:url('../images/logo.svg');
    background-position:center center;
    background-size:contain;
    background-repeat:no-repeat;
}

#logoHolder{
    float:left;
    width:320px;
    height:320px;
}

#pageHolder{
    float:right;
    height:100px;
    margin-top:40px;
    margin-right:40px;
    text-align:right;
}

.headerLink{
    float:left;
    width:270px;
    height:35px;
    margin-left:70px;
}

#menuLink{
    color:#3f3f3f;
    cursor: pointer;
}

.headerIcon{
    display:inline;
    width:35px;
    height:35px;
    vertical-align: middle;
}

.sectionMenu{
    display:inline;
    width:42px;
    height:37px;
    vertical-align: middle;
    cursor:pointer;
}

#frontPanelHomeContent{
    float:left;
    width:1100px;
    padding:30px 30px 30px 30px;
    margin-top:0px;
}

#backPanelContent{
    float:left;
    width:1px;
    padding:20px;
    margin:-170px 20px 20px 20px;
}

#backPanelContent ul{
    margin-left:28px;
}

.link{
    cursor: pointer;
}

.inlineLink{
    display:inline;
    background-color:#3f3f3f;
    padding:0px 4px 0px 4px;
    cursor:pointer;
}

.inlineLinkLite{
    display:inline;
    background-image:url('../images/icon-leaf.svg');
    background-size:30px;
    background-position:4px center;
    background-repeat:no-repeat;
    background-color:rgba(255,255,255,0.50);
    color:#3f3f3f !important;
    font-size:16px;
    font-weight:700;
    padding:0px 4px 0px 34px;
    cursor:pointer;
    border-radius:0px 6px 0px 6px;
}

.emphasis{
    font-weight:700;
    font-size:22px;
    color:#3f3f3f;
}

.emphasisGreen{
    font-weight:700;
    font-size:22px;
    color:#6a963b;
}

#whiteLogo{
    float:left;
    width:100%;
    max-width:420px;
    height:1px;
    max-height:270px;
    margin-bottom:15px;
    background-image:url('../images/logo-white.svg');
    background-position:center center;
    background-size:contain;
    background-repeat:no-repeat;
}

#whiteLogoHolder{
    float:left;
    width:480px;
    height:750px;
}

#frontPanelAbout{
    background-color:#3f3f3f;
    min-height:750px;
}

#frontPanelAboutContent{
    float:left;
    width:800px;
}

.frontPanelContent{
    padding:0px 40px 40px 40px;
}

.frontList{
    float:left;
    width:50%;
}

.frontFullList{
    float:left;
    width:100%;
}

#singleTree{
    float:left;
    width:50%;
    height:100%;
    background-image:url('../images/misc-tree-1.svg');
    background-size:contain;
    background-position:bottom center;
    background-repeat:no-repeat;
}

#trees{
    float:left;
    width:480px;
    height:500px;
    overflow:hidden;
    border-bottom:1px solid #ffffff;
}

#treeOne{
    float:left;
    width:180px;
    height:500px;
    margin-top:300px;
    background-image:url('../images/misc-tree-1.svg');
    background-size:contain;
    background-position:bottom center;
    background-repeat:no-repeat;
    opacity:0.5;
}

#treeTwo{
    float:left;
    width:261px;
    height:500px;
    margin-top:500px;
    margin-left:-57px;
    background-image:url('../images/misc-tree-2.svg');
    background-size:contain;
    background-position:bottom center;
    background-repeat:no-repeat;
    opacity:0.5;
}

#treeThree{
    float:left;
    width:110px;
    height:500px;
    margin-top:200px;
    margin-left:-80px;
    background-image:url('../images/misc-tree-3.svg');
    background-size:contain;
    background-position:bottom center;
    background-repeat:no-repeat;
    opacity:0.5;
}

.personnelHolder{
    float:left;
    width:300px;
    height:360px;
    margin:10px;
    padding:10px;
    background:rgba(255,255,255,0.5);
    border-radius:0px 20px 0px 20px;
}

.personnelPhoto{
    float:left;
    width:280px;
    height:280px;
    border-radius:0px 20px 0px 20px;
}

.personnelName{
    width:260px;
    font-size:24px;
    font-weight:bold;
    color:#ffffff;
    line-height:1;
    margin:0px;
}

.personnelPos{
    width:260px;
    font-size:18px;
    font-style: italic;
    color:#ffffff;
    line-height:1;
    margin:0px;
}

.buttonHolder{
    float:left;
    width:560px;
}

.bigButton{
    float:left;
    width:100%;
    background-image:url('../images/icon-leaf.svg');
    background-size:30px;
    background-position:4px center;
    background-repeat:no-repeat;
    background-color:rgba(255,255,255,0.50);
    font-size:18px;
    font-weight:700;
    color:#3f3f3f;
    line-height: 1.25;
    margin-bottom:18px;
    padding-left:34px;
    cursor:pointer;
    border-radius:0px 6px 0px 6px;
}

#frontPanelNews{
    background-color:#3f3f3f;
    min-height:750px;
}

#grayPanelContact{
    background-color:rgba(63,63,63,.95);
}

#frontPanelContactContent{
    float:left;
    width:960px;
}

#personnelHolder{
    float:left;
    width:240px;
    height:300px;
    margin:20px;
}

.newsBody{
    float:left;
    width:calc(100% - 340px);
    min-width:300px;
    padding-right:20px;
}

.newsBody a{
    color:#6a963b;
}

.newsPhoto{
    float:right;
    width:320px;
    overflow:hidden;
    border:1px solid #ffffff;
    border-radius:0px 8px 0px 8px;
}

.newsPic{
    width:320px;
    margin-bottom:-10px;
}

.newsBoxLarge{
    float:left;
    width:100%;
    margin:40px 0px 40px 0px;
}

.newsDivider{
    float:left;
    width:100%;
    height:10px;
    background-image:url('../images/misc-divider.svg');
    background-position:right center;
    background-size:cover;
    background-repeat:no-repeat;
}

.sideBarHolder{
    float:right;
    width:280px;
    font-size:16px;
    line-height: 1.5;
}

.sideBar{
    float:right;
    width:280px;
    padding:4px;
    background-color:rgba(106,150,59,.85);
    border-radius:0px 8px 0px 8px;
    margin-bottom:20px;
}

.sideBarImage{
    float:left;
    width:272px;
    height:auto;
    border-radius:0px 6px 0px 6px;
    margin:10px 10px 10px 0px;
}

.sideBarText{
    padding:0px 6px 0px 6px;
}

.sideBar ul li:before {
    content: '';
    display: inline-block;
    height: 20px;
    width: 22px;
    background-size: contain;
    background-image: url("../images/icon-leaf-white.svg");
    background-repeat: no-repeat;
    background-position: 2px 4px;
    margin-right: 5px;
    margin-left: -30px;
}

.subServices{
    float:left;
    width:100%;
    padding:20px;
    background-color:rgba(106,150,59,.85);
    margin-bottom:40px;
    border-radius:0px 12px 0px 12px;
}

.subServices ul{
    margin-left:0px !important;
    margin-top:0px;
    margin-bottom:0px;
}

.subServices li{
    padding-left:30px;
    padding-bottom:3px;
    background-color:rgba(255,255,255,.5);
    margin-bottom:4px;
    color:#3f3f3f;
    font-size:15px;
    line-height: 1.25;
    border-radius:0px 8px 0px 8px;
}

.subServices ul li:before {
    content: '';
    display: inline-block;
    height: 18px;
    width: 24px;
    background-size: contain;
    background-image: url("../images/icon-leaf.svg");
    background-repeat: no-repeat;
    background-position: 2px 2px;
    margin-right: 5px;
    margin-left: -30px;
}

.subServicesLeft{
    float:left;
    width:50%;
    padding:0px 10px 0px 10px;
}

.subServicesRight{
    float:left;
    width:50%;
    padding:0px 10px 0px 10px;
}

/* ---- MENU ---- */

#siteMenu{
	position:fixed;
	top:0px;
	left:-200px;
	width:200px;
	height:1px;
	background:rgba(255,255,255,1);
    opacity:0;
	z-index:99;
}

.menuBox{
	float:left;
    width:180px;
    margin-left:0px;
    margin-top:40px;
	letter-spacing: 6px;
	font-family: 'Open Sans Condensed', sans-serif;
	font-weight:300;
	color:#3f3f3f;
	line-height:1.75;
    border-right:1px solid #3f3f3f;
}

.menuBox ul{
    margin-left:20px;
}

.backend{
    background-size:cover;
    background-position:center center;
    background-attachment: fixed;
    background-repeat:no-repeat;
}

/* ---- FOOTER ---- */

#footer{
    background:#00243e;
    padding:40px 0px 0px 0px;
}

#footerLogoHolder{
    float:left;
    width:320px;
    height:240px;
    margin-bottom:40px;
}

#footerLogo{
    float:left;
    width:320px;
    height:120px;
    margin-bottom:40px;
    background-image:url('../images/logo-white.svg');
    background-position:center center;
    background-size:contain;
    background-repeat:no-repeat;
}

#footerContact{
    float:left;
    width:290px;
    margin:0px 10px 0px 10px;
    text-align:center;
}

/* ---- FORM STUFF ---- */

#formHolder{
    float:left;
    padding:10px;
}

.frontInput{
	float:left;
	width:100%;
	height:45px;
	margin-bottom:10px;
	padding:4px 4px 4px 10px;
	color:#3f3f3f;
	font-family: 'Lato', sans-serif;
	font-size:20px;
    background:rgba(255,255,255,0.75);
    border-radius:0px 8px 0px 8px;
}

.frontTextarea{
	float:left;
	width:100%;
	height:90px;
	margin-bottom:10px;
	padding:4px 4px 4px 10px;
	color:#3f3f3f;
	font-family: 'Lato', sans-serif;
	font-size:20px;
    background:rgba(255,255,255,0.75);
    border-radius:0px 8px 0px 8px;
}

#contactSubmit{
    float:left;
    width:300px;
    height:45px;
    padding:4px 4px 4px 10px;
    color:#3f3f3f;
    background:#ffffff;
    font-family: 'Lato', sans-serif;
	font-size:20px;
}

#formCover{
	position:fixed;
	top:0px;
	left:0px;
	width:1px;
	height:1px;
	background:rgba(255,255,255,0.75);
    z-index:10000;
}

/* --- SHADOWBOX --- */

#sb-title-inner,#sb-info-inner,#sb-loading-inner,div.sb-message{font-family:"HelveticaNeue-Light","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:200;color:#fff;}
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none;}
#sb-overlay{position:relative;height:100%;width:100%;}
#sb-wrapper{position:absolute;visibility:hidden;width:100px;}
#sb-wrapper-inner{position:relative;border:1px solid #303030;overflow:hidden;height:100px;}
#sb-body{position:relative;height:100%;}
#sb-body-inner{position:absolute;height:100%;width:100%;}
#sb-player.html{height:100%;overflow:auto;}
#sb-body img{border:none;}
#sb-loading{position:relative;height:100%;}
#sb-loading-inner{position:absolute;font-size:14px;line-height:24px;height:24px;top:50%;margin-top:-12px;width:100%;text-align:center;}
#sb-loading-inner span{background:url(../images/shadowbox/loading.gif) no-repeat;padding-left:34px;display:inline-block;}
#sb-body,#sb-loading{background-color:#060606;}
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden;}
#sb-title,#sb-title-inner{height:26px;line-height:26px;}
#sb-title-inner{font-size:16px;}
#sb-info,#sb-info-inner{height:20px;line-height:20px;}
#sb-info-inner{font-size:12px;}
#sb-nav{float:right;height:16px;padding:2px 0;width:45%;}
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat;}
#sb-nav-close{background-image:url(../images/shadowbox/close.png);}
#sb-nav-next{background-image:url(../images/shadowbox/next.png);}
#sb-nav-previous{background-image:url(../images/shadowbox/previous.png);}
#sb-nav-play{background-image:url(../images/shadowbox/play.png);}
#sb-nav-pause{background-image:url(../images/shadowbox/pause.png);}
#sb-counter{float:left;width:45%;}
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer;color:#fff;}
#sb-counter a.sb-counter-current{text-decoration:underline;}
div.sb-message{font-size:12px;padding:10px;text-align:center;}
div.sb-message a:link,div.sb-message a:visited{color:#fff;text-decoration:underline;}