/*
	Colours:
	Button Background Green:  #8dc347;
	Heading Grey:             #5a5a5a
	Heading Green:            #8dc347
	Secondary Nav Selected:   #598527
	
*/
html, body{
	font-family: Lato, Arial, sans-serif;
	color: #444444;
	background: white;
}

body{
}

#page{
	width: 720px;
	margin: 0 auto 0 auto;
}

/* Company Colours */
.cc1{ color: #8dc347; }

.right{ float: right; }
.left{ float: left; }

.mobile,
.mobile_block,
.mobile_inline_block,
.hide{
	display: none;
}

div.content{
}

noscript.no_js{
	width: 100%;
	padding: 10px 20px 10px 20px;
	position: fixed;
	top: 0;
	left: 0;
	font-size: 14px;
	text-align: center;
	color: white;
	background: #dd4444;
	z-index: 1000;
}

noscript.inline{
	display: inline-block;
	background: #dd4444;
	color: white;
}

h1{
	font-size: 38px;
	line-height: 1.1em;
	margin-bottom: 0.4em;
}

h1 + div.subheading{
	margin-bottom: 0.8em;
	font-size: 22px;
	line-height: 1.2em;
	font-weight: bold;
	color: #5f5f5f;
}

h2{
	font-size: 28px;
	margin-bottom: 0.4em;
	line-height: 1.1em;
}

h2 span.qualifier{
	font-size: 0.7em;
	font-weight: normal;
	color: #777777;
}

#pg_home h2{
	font-size: 48px;
	font-weight: 800;
	line-height: 1.1em;
	text-align: center;
}

h3{
	font-size: 18px;
	line-height: 1.2em;
}

h4{
	margin-bottom: 10px;
	font-size: 15px;
}

h1, h2, h3, h4{
	font-weight: bold;
	color: #8dc347;
}

p.tight{
	line-height: 1.2em;
}
p.heading{
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
}

sup{
	font-size: 0.8em;
	line-height: 1em;
}

a{
	color: #598527;
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}

a.heading{
	font-size: 16px;
}


ul li{
	line-height: 1.25em;
}

ol li{
	margin-left: 1.3em;
}

ul.features li{
	font-size: 0.8em;
	line-height: 1.4em;
	list-style: circle;
}

ul.features li ul{
	font-size: 1.25em;
	margin-bottom: 0;
}

ul.plain{
	margin-bottom: 1.3em;
}
ul.plain li{
	margin: 0 0 0.4em 0;
	list-style: none;
}

ul.plain li ul.plain{
	margin-left: 15px;
}

input[type='submit'].button,
input[type='button'].button,
a.button,
button.button,
#cc_msg button{
	min-width: 100px;
	height: 36px;
	line-height: 35px;
	display: inline-block;
	padding: 0 32px 0 32px;
	margin-right: 20px;
	border: none;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	border-radius: 18px;
	cursor: pointer;
	background-color: #8dc347;
	color: white;
}

a.button.outline{
	padding: 0 32px 0 32px;
	border: 1px solid #8dc347;
	background: none;
	color: #666666;
}

a.button.login{
	position: relative;
	padding-left: 57px;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 1px;
	background: rgba( 0,0,0, 0.25 );
}

a.button.login span{
	height: 15px;
	width: 15px;
	display: inline-block;
	position: absolute;
	left: 24px;
	top: 9px;
	background: -140px top no-repeat url(img/icons.png);
}

input[type='submit'].button:hover,
input[type='button'].button:hover,
a.button:hover,
a.button.outline:hover{
	background-color: #598527;
}

a.button.login:hover{
	text-decoration: underline;
	background: rgba( 0,0,0, 0.25 );
}

input[type='button'].button.disabled,
a.button.disabled{
	background: #aaaaaa;
	color: #dddddd;
	cursor: wait;
}

a.eml span,
span.eml{
	display: inline-block;
	cursor: pointer;
}

span.eml span{
	display: inline-block;
	text-decoration: underline;
	cursor: pointer;
	color: #598527;
}

span.eml span:hover{
	text-decoration: underline;
}

span.eml noscript:after{
	line-height: inherit;
	display: inline-block;
	content: "Enable Javascript";
	color: white;
	background: #dd4444;
	padding: .1em .4em .1em .4em;
	font-size: inherit;
	border-radius: 3px;
}

.slide_trigger{}
.slide_target{
	padding: 20px;
	display: none;
	background: #f2f2f2;
}

/* div.triptych */

div.triptych{
	overflow: hidden;
}

div.triptych div.panel{
	width: 29.3%;
	padding: 0 2% 0 2%;
	float: left;
	text-align: center;
}

div.triptych div.panel h3{
	margin-bottom: 12px;
	font-size: 16px;
	letter-spacing: 1px;
	font-weight: 500;
}

div.triptych div.panel > a{
	width: 105px;
	height: 105px;
	display: block;
	margin: 0 auto 27px auto;
	background: left top no-repeat url(img/icons.png);
}

div.triptych #program_data > a{ background-position: left top; }
div.triptych #program_projects > a{ width: 155px; background-position: left -670px; }
div.triptych #program_legacy > a{ background-position: left -240px; }

div.triptych div.panel p{
	padding: 0 15px 0 15px;
	font-weight: 300;
	font-size: 14px;
	line-height: 1.4em;
}

div.triptych.plus{
	width: 760px;
	margin: 0 auto 0 auto;
}

div.triptych.plus div.panel{
	width: 300px;
	padding: 0 15px 0 15px;
}

div.triptych.plus div.panel.plus{
	width: 100px;
	height: 230px;
	padding: 0;
	font-size: 100px;
	font-weight: bold;
	line-height: 0.9em;
}

div.triptych.plus div.panel.plus:after{
	content: '+';
	display: block;
}

/* div.form */

div.form label{
	display: block;
	line-height: normal;
	position: absolute;
	left: -3000px;
}

div.form div.field_group{
	margin-bottom: 20px;
}

div.form div.text_field input[type='text'],
div.form div.text_box textarea,
div.form div.select_menu select{
	width: 87%;
	padding: 10px 10% 10px 3%;
	margin-bottom: 3px;
	border: 2px solid #dddddd;
	border-radius: 5px;
	font-size: 16px;
	line-height: normal;
}

div.form div.select_menu select{
	width: 101%;
	height: 40px;
}

div.form div.text_field input[type='text']:focus,
div.form div.text_box textarea:focus,
div.form div.select_menu select:focus{
	border-color: #598527;
	outline: none;
}

div.form div.text_field.error label{
	color: #aa2222;
}

div.form div.text_field.error input[type='text'],
div.form div.text_box.error label.error textarea{
	border-color: #aa2222;
	background: #fff2f2 no-repeat right -967px url(img/icons.png);
}

div.form textarea{
	height: 120px;
}

div.form div.button_area{
	text-align: center;
	margin-bottom: 20px;
}


fieldset.radio{
	overflow: hidden;
	border: none;
	margin-bottom: 20px;
}

fieldset.radio div.heading{
	display: inline-block;
	margin-right: 20px;
	float: left;
}

fieldset.radio label{
	float: left;
	margin-left: 30px;
}

a.soc_tw,
a.soc_fb{
	width: 24px;
	height: 24px;
	display: inline-block;
	background: right top no-repeat url(img/icons.png);
}

a.soc_fb{ background-position: -160px top; }

a.soc_tw:hover,
a.soc_fb:hover{
	opacity: 0.8;
}


/* Consult Dialog */

#request_consult_modal{
	width: 100%;
	height: 100%;
	display: none;
	left: 0;
	top: 0;
	position: fixed;
	background: rgba(0,0,0,0.5);
	z-index: 20;
}

#request_consult_dlg{
	width: 400px;
	padding: 15px;
	background: #f2f2f2;
	border-radius: 8px;
	margin: 150px auto 0 auto;
}

#request_consult_dlg h2{
	font-size: 28px;
	margin-bottom: 20px;
}

#request_consult_dlg div.form div.button_area{
	text-align: left;
}

#request_consult_dlg div.form div.button_area a.button:first-child{
	float: right;
	margin-right: 0;
}

#request_consult_dlg div.message{
	display: none;
	padding: 0 15px 0 15px;
	text-align: center;
}

#request_consult_dlg div.message > div{
	padding-bottom: 10px;
}

#request_consult_dlg div.message.msg_eror{ color: #aa0000; }
#request_consult_dlg div.message.msg_ewrn{ color: #e19212; }
#request_consult_dlg div.message.msg_good{ color: #00aa00; }
#request_consult_dlg div.message.msg_info{ color: #0000aa; }


/* ------------- */
/* HEADER        */
/* ------------- */

header{
	margin-bottom: 50px;
	overflow: hidden;
}

header a{
	float: left;
	margin-right: 32px;
}

header a:last-child{
	margin-top: 25px;
	margin-right: 0;
}

header img{
	height: auto;
}



/* NAV */

header div.content{
	padding: 28px 20px 0 20px;
}


nav.main{
	width: 82%;
	float: right;
	position: relative;
/*x	background: rgba( 255,255,255,0.3 ); */
}

nav.main hr{
	clear: both;
	border: none;
	border-bottom: 1px solid rgba( 255,255,255,0.2 );
}

nav.main ul,
nav.main ul li{
	margin: 0;
	padding: 0;
	list-style: none;
}

nav.main ul.menu_main{
	height: 30px;
	margin: 42px 12px 0 0;
	float: right;
	clear: both;
}

nav.main a.menu_trigger,
nav.main ul.menu_main ul.menu_2,
nav.main ul.menu_main ul.menu_3{
	display: none;
}

nav.main ul.menu_main li{
	margin: 0 0 0 45px;
	display: inline-block;
	float: left;
	list-style: none;
}

nav.main ul.menu_main > li > a{
	padding: 0 0 2px 0;
	display: inline-block;
	border-bottom: 2px solid transparent;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: bold;
	font-weight: bold;
	letter-spacing: 1px;
	text-decoration: none;
	color: white;
}

nav.main ul.menu_main li.selected > a,
nav.main ul.menu_main li > a:hover{
	border-bottom: 2px solid #8dc347;
}


/* Nav - Upper */

nav.main ul.upper{
	position: absolute;
	top: -16px;
	right: 12px;
}

nav.main ul.upper li{
	float: right;
	font-size: 14px;
}

nav.main ul.upper li a{
	margin-left: 25px;
	line-height: 35px;
	text-decoration: none;
	color: white;
}

nav.main ul.upper li a:hover{
	text-decoration: underline;
}


/* Nav - Upper */

nav.main ul.lower{
	float: right;
	margin: 4px 12px 0 0;
}

nav.main ul.lower li{
	float: right;
	margin-left: 8px;
}

/*
nav.main ul.menu_main > li.item_soc_li{
	margin: 0 0 0 60px;
	position: relative;
	top: -4px;
}

nav.main ul.menu_main > li.item_soc_li a{
	width: 24px;
	height: 24px;
	background: no-repeat left -50px url(img/icons.png);
}

nav.main ul.menu_main > li.item_soc_li a:hover{
	background-position: right -50px;
	border-bottom-color: transparent;
}
*/

/* Show in Mobile Only */
nav.main ul.menu_about li.item_terms,
nav.main ul.menu_about li.privacy_policy{
	display: none;
}


/* ------------- */
/* SPLASH        */
/* ------------- */

#splash{
	width: 100%;
	height: 350px;
	position: relative;
	background: no-repeat url(img/splash/forest_walk.jpg);
	background-size: cover;
}

body.s_about_us #splash,
body.s_program #splash,
#pg_custom_programs #splash{
	background-image: url(img/splash/butterfly.jpg);
	background-position: left -100px;
}

#pg_eco_projects #splash{ background-image: url(img/splash/forest_walk.jpg); }
#pg_eco_funding #splash{ background-image: url(img/splash/hands.jpg); }

#pg_eco_solutions #splash,
body.s_services #splash{
	background-image: url(img/splash/charts.jpg);
	background-position: left -50px;
}


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

/* Contact Info */

#contact_info{
	height: 408px;
	text-align: center;
	background: no-repeat url(img/home/flowers.jpg);
	background-size: cover;
}

#contact_info,
#contact_info a,
#contact_info span.eml span{
	color: white;
}

#contact_info h2{
	font-size: 48px;
	font-weight: 700;
	margin: 15px 0 20px 0;
	color: white;
	letter-spacing: 1px;
	
}

#contact_info #contact_links{
	margin-bottom: 30px;
	line-height: normal;
}

#contact_info #contact_links a{
	border-left: 1px solid white;
	padding: 0 15px 2px 15px;
	font-size: 20px;
}

#contact_info #contact_links a:first-child{
	border-left: none;
}

#contact_info #contact_number{
	margin-bottom: 5px;
	font-size: 102px;
	line-height: normal;
	font-weight: 200;
}

#contact_info #contact_eml span{
	text-transform: uppercase;
	font-weight: 200;
	font-size: 13px;
	letter-spacing: 2px;
	text-decoration: none;
}

#contact_info #contact_eml span:hover{
	text-decoration: underline;
}


/* Partners */

#partners{
	padding-bottom: 20px;
	text-align: center;
	background: white;
}

#partners h2{
	margin-bottom: 34px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

div.partner_icons{
	text-align: center;
}

div.partner_icons a{
	width: 100px;
	height: 50px;
	display: inline-block;
	margin: 0 2.6% 0 2.6%;
	background: no-repeat url(img/icons.png);
}

div.partner_icons a.green_key{
	height: 60px;
	position: relative;
	top: -8px;
	background-position: right -200px;
}

div.partner_icons a.best_western{
	background-position: right -100px;
}

div.partner_icons a.greenview{
	width: 210px;
	background-position: right -350px;
}

div.partner_icons a.ahla{
	width: 210px;
	background-position: left -400px;
}

div.partner_icons a.livclean{
	background-position: right -150px;
}

div.partner_icons a.american_carbon{
	width: 118px;
	background-position: left -450px;
}

div.partner_icons a.emerald{
	width: 80px;
	height: 72px;
	background-position: left -800px;
}

div.partner_icons a.markit{
	width: 125px;
	background-position: left -500px;
}

article section.graphic div.partner_icons{
	margin-bottom: 10px;
	padding: 10px;
	border-radius: 8px;
	display: inline-block;
	background: white;
}

article section.graphic div.partner_icons hr{
	width: 1px;
	height: 58px;
	display: inline-block;
	margin: 0 10px 0 10px;
	border: none;
	position: relative;
	top: 4px;
	background: #cccccc;
}


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

footer{
	clear: both;
	background: #333333;
	color: #b2b2b2;
}

footer div.content{
	height: 230px;
}

footer nav{
	width: 240px;
	padding: 0 0 0 20px;
	float: right;
	margin-right: 10px;
	border-left: 1px solid #666666;
}

footer nav ul{
	margin: 0;
}

footer nav ul > li{
	display: block;
	float: none;
	margin: 0;
}

footer nav ul > li a{
	color: #b2b2b2;
	font-size: 12px;
	font-weight: normal;
	text-decoration: none;
}

footer nav ul > li a:hover{
	border-bottom: none;
	color: white;
	text-decoration: none;
}

footer #crest{
	width: 300px;
	float: left;
}

footer #crest div.icon{
	width: 100px;
	height: 70px;
	margin-bottom: 20px;
	background: right -270px no-repeat url(img/icons.png);
}

footer #crest div.text{
	font-size: 14px;
}

footer #legal{
	position: absolute;
	left: 100px;
	bottom: 20px;
	font-size: 11px;
}

footer #legal nav{
	float: right;
}

footer #legal span{
	display: inline-block;
	float: right;
}

footer div.social{
	float: right;
}


/* ------------- */
/* MAIN          */
/* ------------- */

#main{
	margin: 0 auto 0 auto;
}

#main_sections{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}

#main_aside{ width: 220px; padding: 0; }
#main_sidebar{ width: 205px; padding: 0; }
#main_content{ padding: 0; background:  white; }

#main_aside > aside,
#main_content > article,
#main_sidebar > #sidebar{
	padding-top: 36px;
	padding-bottom: 30px;
}

#main_content > article{
	padding-top: 30px;
	font-size: 16px;
}

#main > div.content{
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
}

#main div.content > p{
	text-align: center;
}

#main div.content div.button_area{
	text-align: center;
}

article{
	padding-left: 50px;
	padding-right: 0;
	font-size: 15px;
	line-height: 1.8em;
}

article iframe{
	max-width: 95%;
}

article section{
	margin-bottom: 30px;
	overflow: hidden;
}

article > div.columns{
	overflow: hidden;
	clear: both;
}

article > div.columns > section,
article > div.columns > div.column{
	width: 48%;
	margin-left: 4%;
	float: left;
	overflow: hidden;
}

article > div.columns section:first-child,
article > div.columns div.column:first-child{
	margin-left: 0;
}

article > div.columns.green section{
	padding-bottom: 20px;
	background: #8dc347;
	color: #edffe7;
}

article > div.columns.green section h2{
	padding: 15px;
	border-bottom: 1px solid #edffe7;
	background: #598527;
	color: #edffe7;
}

article > div.columns.green section p{
	margin: 0 15px 0.8em 15px;
}

article > div.columns.green a.button{
	background: white;
	color: #598527;
}


article section.graphic{
	padding: 30px 50px 20px 50px;
	text-align: left;
	color: white;
	background: no-repeat url(img/home/flowers.jpg);
	background-size: cover;
}

article section.graphic h2{
	display: inline-block;
	padding-bottom: 12px;
	margin-bottom: 20px;
	border-bottom: 1px solid white;
	font-size: 24px;
	font-style: italic;
	color: white;
}

article section.graphic a{
	color: white;
}

article section.grey{
	padding: 30px 50px 20px 50px;
	text-align: center;
	background: #f2f2f2;
}

article section.grey h2{
	display: inline-block;
	padding-bottom: 12px;
	margin-bottom: 20px;
	border-bottom: 1px solid #666666;
	color: #666666;
	font-size: 24px;
	font-style: italic;
}

article img{
	max-width: 100%;
	height: auto;
}

article section img.thumb{
	width: 120px;
	height: auto;
}

article aside{
	float: right;
	margin-left: 20px;
}

article ul.checks{
	margin: 0 0 15px 0;
}

article ul.checks li{
	padding-left: 20px;
	margin: 0 0 0.3em 0;
	list-style: none;
	background: -196px -446px no-repeat url(img/icons.png);
}

article a{
	text-decoration: underline;
}

p.quote{
	margin-right: 15%;
	font-style: italic;
	padding: 10px;
	background: #f2f2f2;
}

#sidebar p.quote{
	margin-right: 0;
}

/*
p.quote:nth-of-type(even){
	margin-right: 0;
	margin-left: 15%;
	padding: 10px;
	background: #f2f2f2;
}
*/

p.quote span.attribution{
	display: block;
	font-style: normal;
}

p.quote span.attribution span.name{
	font-weight: bold;
}

#sidebar p.quote span.attribution span.name{
	display: block;
	font-weight: bold;
}

#sidebar p.quote span.attribution span.org{
	display: block;
}

p.quote span.attribution span.name:before{ content: "~"; margin-left: 25px; }
#sidebar p.quote span.attribution span.name:before{ margin-left: 0; }

p.quote span.attribution span.org:before{ content: ", "; }
#sidebar p.quote span.attribution span.org:before{ content: ""; }


#sidebar p.quote span.attribution span.org{
	padding-left: 7px;
}

#pg_home p.quote{
	font-size: 16px;
	letter-spacing: 0;
}

article{
	padding-left: 233px;
}

article p.intro{
	font-size: 18px;
	margin-bottom: 1.8em;
}

/* ------------- */
/* PAGE SPECIFIC */
/* ------------- */

#not_found{
	min-height: 400px;
}

div.footnote p{
	position: absolute;
	bottom: 10px;
	font-size: 0.8em;
}


/* HOTELIERS */

/* Login */

#login_form{
}

#login_form div.field_group{
	width: 200px;
}

#login_message{
	display: none;
	padding-bottom: 20px;
	color: #aa0000;
}



/* --------------------------- */

body.show_layout * { background-color: rgba(255,0,0,.2); }
body.show_layout * * { background-color: rgba(0,255,0,.2); }
body.show_layout * * * { background-color: rgba(0,0,255,.2); }
body.show_layout * * * * { background-color: rgba(255,0,255,.2); }
body.show_layout * * * * * { background-color: rgba(0,255,255,.2); }
body.show_layout * * * * * * { background-color: rgba(255,255,0,.2); }
