/**************************************************************************
Name:         main.css
Description:  Main site styling.  Includes boilerplate styles from
			  h5bp.com and initializr.com.
Date Created: 09/27/2012 by Kyle Brickman
Modified:
**************************************************************************/

/**************************************************************************
Boilerplate Styles
**************************************************************************/
html,
body
{
	height: 100%;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

html,
button,
input,
select,
textarea
{
	color: #868686;
}

a
{
	color: #a6c636;
}

/*a:hover
{
	color: #9cad5f;
}*/

html
{
	font-family: franklin-gothic-urw, Helvetica, Helvetica Neue, Arial;
	font-size:   62.5%;
}



.columnJ
{
	border-left:  10px solid transparent;
	border-right: 10px solid transparent;
	display:      block;

	
	overflow:     hidden;

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;

	-webkit-background-clip: padding-box;
	   -moz-background-clip: padding-box;
	        background-clip: padding-box;

	/* Legacy IE support */
	 behavior: url( '/scripts/pie/PIE.htc' );
	*behavior: url( '/scripts/pie/PIE.htc' ) url( '/css/boxsizing.htc' );
	/*-pie-background: #abcdef padding-box;*/
}



body
{
	font-size: 16px;
	font-size: 1.6rem;
	position: relative;
}

p
{
	margin:        0;
	margin-bottom: 10px;
	padding:       0;
	line-height: 1.45;
}

h1, h2, h3, h4, h5
{
	margin:        0;
	padding:       0;
}

::-webkit-selection
{
	background:  #ddd;
	text-shadow: none;
}

::-moz-selection
{
	background:  #ddd;
	text-shadow: none;
}

::selection
{
	background:  #ddd;
	text-shadow: none;
}

hr
{
	display:    block;
	height:     1px;
	border:     0;
	border-top: 1px solid #ccc;
	margin:     10px 0;
	padding:    0;
}

img
{
	vertical-align: middle;
	max-width: 100%;
}

textarea
{
	resize: vertical;
}

.image-block
{
	display: inline-block;
	margin: 10px;
}

.chromeframe
{
	display: none;
}

div.container
{
	margin:  0 auto;
	padding: 30px;
	width:  964px;
}

div.crop115
{
	width:    115px;
	height:   115px;
	overflow: hidden;
}

div.crop200
{
	max-width: 200px;
	height:    200px;
	overflow:  hidden;
}

div.crop330
{
	width:    330px;
	height:   330px;
	overflow: hidden;
}

.column-flush
{
	border-left: none;
	border-right: none;
}

.column-flush-left
{
	border-left: none;
}

.column-flush-right
{
	border-right: none;
}

.column-right
{
	float: right;
}

.fl-right
{
	float: right;
}

.clearFix:after
{
	content: '';
	display: block;
	clear: both;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}

.row-vcenter,
.row-vcenter-desktop
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.row-stretch,
.row-stretch-desktop
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.clear
{
	clear: both;
}

.left,  .column.left  { float: left;  }
.right, .column.right { float: right; }

.overflow-auto
{
	overflow: auto;
}

/**************************************************************************
Header
**************************************************************************/
header,
header.column
{
	min-height: 100px;
	/*position: relative;*/
	overflow: visible;
	padding: 20px 0;
	
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: end;
	align-items: flex-end;
}

.header-logo-container
{
	font-size:   24px;
	margin:      0;
	padding:     0;
}

.header-logo
{
	background-image:    url( '/images/2017/logo2023.jpg' );
	background-position: center left;
	background-repeat:   no-repeat;
	background-size:     406px 108px;
	background-size:     100% auto;
	background-size:     contain;
	color:               #85985e;
	display:             inline-block;
	height:              108px;
	overflow:            hidden;
	text-decoration:     none;
	text-indent:         -500px;
	text-transform:      lowercase;
	width:               406px;
	max-width: 100%;
	vertical-align: middle;
}

.header-logo-container
{
	border-left: none;
}

/**************************************************************************
Main Navigation
**************************************************************************/
.header-nav
{
	float:        right;
	font-size:    14px;
	padding-top:  40px;
	padding-bottom: 10px;
	border-right: none;
}

.header-nav ul
{
	margin:  0;
	padding: 0;
}

.nav-list
{
	display: block;
	float: left;
	width: 89%;
	width: -ms-calc(100% - 80px);
	width: calc(100% - 80px);
	
	-webkit-transition: width .5s, margin .5s;
	-moz-transition: width .5s, margin .5s;
	-ms-transition: width .5s, margin .5s;
	-o-transition: width .5s, margin .5s;
	transition: width .5s, margin .5s;
}

.header-nav ul.nav-list
{
	margin-left: 28px;
}

.nav-list-item
{
	display: block;
	float: left;
	margin: 0 4%;
	
	-webkit-transition: margin .5s;
	-moz-transition: margin .5s;
	-ms-transition: margin .5s;
	-o-transition: margin .5s;
	transition: margin .5s;
}

.nav-list-link
{
	color:           #898989;
	display:         block;
	text-decoration: none;
	font-size: 20px;
	font-size: 2rem;
	
	-webkit-transition: font-size .25s, color .25s;
	-moz-transition: font-size .25s, color .25s;
	-ms-transition: font-size .25s, color .25s;
	-o-transition: font-size .25s, color .25s;
	transition: font-size .25s, color .25s;
}

html.can-hover .nav-list-item:hover .nav-list-link,
.nav-list-item.hover .nav-list-link,
.nav-list-item.active .nav-list-link,
.nav-list-link.open
{
	color: #a6c636;
	text-decoration: none;
}

.nav-sublist
{
	/*display:          none;*/
	margin-left:      5px;
	padding:          5px 0;
	position:         absolute;
	z-index:          99999;
	line-height: 0;
	opacity: 0;
	overflow: hidden;

	-webkit-box-shadow: 5px 5px 5px rgba( 0, 0, 0, 0.2 );
	   -moz-box-shadow: 5px 5px 5px rgba( 0, 0, 0, 0.2 );
	        box-shadow: 5px 5px 5px rgba( 0, 0, 0, 0.2 );
	        
	-webkit-transition: opacity .5s, line-height .5s;
	-moz-transition: opacity .5s, line-height .5s;
	-ms-transition: opacity .5s, line-height .5s;
	-o-transition: opacity .5s, line-height .5s;
	transition: opacity .5s, line-height .5s;
}

.nav-sublist-item
{
	height: auto;
	-webkit-transition: color .25s, background-color .25s;
	-moz-transition: color .25s, background-color .25s;
	-ms-transition: color .25s, background-color .25s;
	-o-transition: color .25s, background-color .25s;
	transition: color .25s, background-color .25s;
}

.nav-sublist-link
{
	color:           #333;
	display:         block;
	text-decoration: none;
	font-size: 18px;
	/*font-size: 1.8rem;*/
	padding:     0 10px;
	background-color: rgba( 244, 244, 244, 0.90 );
	
	-webkit-transition: color .25s, background-color .25s, padding .5s;
	-moz-transition: color .25s, background-color .25s, padding .5s;
	-ms-transition: color .25s, background-color .25s, padding .5s;
	-o-transition: color .25s, background-color .25s, padding .5s;
	transition: color .25s, background-color .25s, padding .5s;
}

html.can-hover .nav-sublist-link:hover,
.nav-sublist-link.hover,
.nav-sublist-link.active
{
	color: #a6c636;
	background-color: rgba( 255, 255, 255, 0.90 );
}

html.can-hover .nav-list-item:hover .nav-sublist,
.nav-list-link.open ~ .nav-sublist
{
	/*display: block;*/
	line-height: 1.4;
	opacity: 1;
}

html.can-hover .nav-list-item:hover .nav-sublist .nav-sublist-link,
.nav-list-link.open ~ .nav-sublist .nav-sublist-link
{
	padding: 5px 10px;
}

.header-nav-toggle
{
	width: 32px;
	box-sizing: border-box;
	border: none;
	position: relative;
	/*vertical-align: middle;*/
	padding: 13px 0;
	background-color: transparent;
	outline: none;
	margin: 30px 0 0 0;
	float: right;
	display: none;
}

.header-nav-toggle .middle-bar
{
	background-color: #898989;
	width: 100%;
	height: 6px;
	
	-webkit-transition: background-color .5s;
	-moz-transition: background-color .5s;
	-ms-transition: background-color .5s;
	-o-transition: background-color .5s;
	transition: background-color .5s;
}

.header-nav-toggle:before,
.header-nav-toggle:after
{
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	background-color: #898989;
	position: absolute;
	
	-webkit-transition: -webkit-transform .5s;
	-moz-transition: -moz-transform .5s;
	-ms-transition: -ms-transform .5s;
	-o-transition: -o-transform .5s;
	transition: transform .5s;
}

.header-nav-toggle:before
{
	top: 0;
	-webkit-transform-origin: left bottom;
	-moz-transform-origin: left bottom;
	-ms-transform-origin: left bottom;
	-o-transform-origin: left bottom;
	transform-origin: left bottom;
}

.header-nav-toggle:after
{
	bottom: 0;
	-webkit-transform-origin: left top;
	-moz-transform-origin: left top;
	-ms-transform-origin: left top;
	-o-transform-origin: left top;
	transform-origin: left top;
}

.header-nav-toggle.active .middle-bar
{
	background-color: transparent;
}

.header-nav-toggle.active:before
{
	transform: rotate(45deg) translateY(1px);
}

.header-nav-toggle.active:after
{
	transform: rotate(-45deg) translateY(-1px);
}

.headerSearchForm input:focus
{
	outline: none;
}

.headerSearchContainer
{
	float: right;
	overflow: visible;
}

.searchToggle
{
	width: 32px;
	height: 32px;
	background-color: transparent;
	border: none;
	background-image: url(/images/2017/icon-search.png);
	background-repeat: no-repeat;
	background-size: 32px 32px;
	background-size: 100% auto;
	background-size: contain;
}

.headerSearchForm
{
	display: block;
	position: absolute;
	top: 45px;
	width: 1056px;
	height: 90px;
	background-color: #b0b0b0;
	box-sizing: border-box;
	padding: 0;
	left: 100%;
	
	-webkit-transition: left .5s ease-in-out, right .5s ease-in-out;
	-moz-transition: left .5s ease-in-out, right .5s ease-in-out;
	-ms-transition: left .5s ease-in-out, right .5s ease-in-out;
	-o-transition: left .5s ease-in-out, right .5s ease-in-out;
	transition: left .5s ease-in-out, right .5s ease-in-out;
}

.headerSearchForm.active
{
	left: 33.3333%;
	left: -ms-calc(533px + ((100% - 1600px) / 2));
	left: calc(533px + ((100% - 1600px) / 2));
}

.headerSearchFormSubmit
{
	background-color: transparent;
	border:           0;
	color:            #fff;
	font-size:        32px;
	line-height:      40px;
	margin:           0;
	padding:          0;
	text-align:       center;
	text-transform:   uppercase;
	width: 60px;
	height: 40px;
	position: absolute;
	right: 0;
	top: 25px;
}

.headerSearchFormInput,
input[type="search"].headerSearchFormInput
{
	background-color: #b0b0b0;
	border:           0;
	float:            right;
	height:           90px;
	margin:           0;
	padding:          25px 60px 25px 10px;
	width:            100%;
	color: #fff;
	font-size: 32px;
	box-sizing: border-box;

	-webkit-appearance: none;
}


/**************************************************************************
Content Areas
**************************************************************************/
.magic-shell
{
	position: relative;
	overflow: hidden;
	width: 100%;
}

article,
article.column
{
	float: none;
	margin: auto;
	padding: 5px 0;
	max-width: 1200px;
	overflow: visible;
	clear: both;
}

.primary-content
{
	line-height: 1.45;
}

body.landing article
{
	max-width: 100%;
	font-size: 20px;
}

body.portfolio-landing article
{
	max-width: 100%;
}

body.insight-landing article
{
	max-width: 100%;
}

article h1, h1
{
	color:         #7d7d7d;
	font-size:     22px;
}

article h2, h2
{
	color:         #7d7d7d;
	font-size:     16px;
	margin: 0px;
	padding: 0px;
}

article h3, h3
{
	color:         #7d7d7d;
	font-size:     17px;
	font-weight:   normal;
	margin-bottom: 0px;
}

article h4, h4
{
	color:         #7d7d7d;
	font-size:     14px;
	margin: 		0px;
	padding: 		0px;
}

.aside-right
{
	position: fixed;
	top: 24%;
	/*top: -ms-calc(10% + 60px);
	top: calc(10% + 60px);*/
	
	top: -ms-calc(50% - 168px);
	top: calc(50% - 168px);
	right: 0;
	line-height: 1.45;
}

body.insight-blog .aside-right
{
	top: 10%;
	
	top: -ms-calc(50% - 197px);
	top: calc(50% - 197px);
}

.aside-right .aside-button
{
	display: block;
	float: right;
	clear: both;
	color: #fff;
	font-size: 35px;
	text-align: center;
	
	background-color: #919191;
	background-color: rgba(145, 145, 145, 0.8);
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	padding: 5px;
	margin: 5px 0 5px 5px;
	overflow: hidden;

	box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.2);

	-webkit-transition: padding .25s, width .25s;
	-moz-transition: padding .25s, width .25s;
	-ms-transition: padding .25s, width .25s;
	-o-transition: padding .25s, width .25s;
	transition: padding .25s, width .25s;
}

html.can-hover .aside-right .aside-button:hover,
.aside-right .aside-button.hover
{
	padding-right: 15px;
	width: 58px;
}

.aside-right .aside-button .fa
{
	height: 32px;
	display: block;
	overflow: hidden;
}

.aside-left-content
{
	border: 6px solid #e5e5e5;
	padding: 10px;
}

.testimonials-list
{
	position: relative;
}

.testimonial-button + .testimonials-list
{
	margin-top: 20px;
}

.testimonial-next-button
{
	float: right;
}

.testimonial
{
	margin-bottom: 20px;
}

.testimonials-list .testimonial
{
	position: absolute;
	top: 0;
	left: 0;
	height: 0;
	overflow: visible;
	opacity: 0;
	z-index: 0;
	padding: 0;
	margin: 0;
	
	transition: opacity .5s, max-height .5s;
}

.testimonials-list .testimonial-animate
{
	transition: opacity .5s, transform .5s, max-height .5s;
}

.testimonials-list .testimonial-hide-right
{
	-webkit-transform: translateX(100px);
	-ms-transform: translateX(100px);
	transform: translateX(100px);
}

.testimonials-list .testimonial-hide-left
{
	-webkit-transform: translateX(-100px);
	-ms-transform: translateX(-100px);
	transform: translateX(-100px);
}

.testimonials-list .testimonial.active
{
	height: auto;
	opacity: 1;
	z-index: 1;
	position: relative;
	
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}

.testimonials-container
{
	padding: 5px;
}

* + .testimonials-container
{
	border-top: 1px solid #ccc;
}

.aside-left .testimonial-text
{
	font-size: 24px;
}

.aside-left .testimonial-client
{
	margin-top: 36px;
	font-size: 16px;
	font-weight: 700;
}

/**************************************************************************
Footer
**************************************************************************/
footer
{
	clear: both;
	color: #FFFFFF;
	padding-top: 80px;
	padding-bottom: 30px;
	background-color: #ABABAB;
	min-height: 450px;

    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

footer .social
{
	display: flex;
	gap: 30px;
}

footer .social a
{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
	width: 50px;
	border-radius: 50%;

	background-color: white;
	transition: background-color 0.3s ease-out;

	user-select: none;
}

footer .social img {
	filter: invert(72%) sepia(0%) saturate(811%) hue-rotate(140deg) brightness(95%) contrast(90%);
	transition: filter 0.3s ease-out;
}

footer .social a:hover {
	background-color: #A6C636;
}

footer .social a:hover img {
	filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(23deg) brightness(118%) contrast(118%);
}

/*footer .footer-video-container,
footer .certified-b-container,
footer .social-container
{
	float: right;
}*/

footer .info-container
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

footer .info-container:first-child:last-child {
	flex-grow: 1;
	flex-basis: 0;
}

footer .footer-subheader
{
	font-size: 24px;
	margin-bottom: 20px;
}

footer .footer-button
{
    width: 100%;
    background-color: white;
    text-decoration: none;
    display: block;
    text-align: center;
    border: none;
    padding: 8px;
    font-size: 24px;
    color: #ABABAB;
    font-family: inherit;
	margin-bottom: 50px;
	transition: background-color 0.3s ease-out, color 0.3s ease-out;
	box-sizing: border-box;
}

footer .address-info
{
    margin-left: auto;
    padding: 0 20px;
}

footer .footer-button.contact {
	min-width: 316px;
}

html.can-hover footer .footer-button:hover {
	background-color: #A6C636;
	color: #FFFFFF;
}

footer .address-info-detail
{
	font-size: 16px;
	font-style: normal;
}

footer .address-info-phone
{
	padding: 15px 0;
}

footer .address-info-phone-link
{
	font-size: 20px;
	color: #FFFFFF;
	transition: color 0.3s ease-out;
}

html.can-hover footer .address-info-phone-link:hover {
	color: #D6F178;
}

footer .address-info-title
{
	background-color: #9c9c9c;
	font-size: 22px;
	color: #fff;	
	padding: 10px;
	text-align: center;
	-ms-flex-pack: center;
	justify-content: center;
}

footer .certified-b-container {
	text-align: center;
    padding: 0 20px;
}

footer .certified-b-container a {
	user-select: none;
}

footer .b-corp-icon {
	width: 128px;
	transition: filter 0.3s ease-out;
	filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

html.can-hover footer .b-corp-icon:hover {
	/* filter SVG to black */
	filter: none;
}

footer .news-social-container {
    margin-right: auto;
    padding: 0 20px;
}

footer .newsletter-signup form {
	display: flex;
}

footer .newsletter-signup form .email {
    background: white;
    border: none;
    height: 45px;
    padding: 12px;
    box-sizing: border-box;
    margin-right: 2px;
    width: 213px;

	font-size: 16px;
}

footer .newsletter-signup form .email::placeholder {
	color: #ABABAB;
}

footer .newsletter-signup form .footer-button.newsletter {
    width: min-content;
    padding: 8px 25px;
}

footer .newsletter-signup .inactive {
	display: none;
}

footer .newsletter-signup .submission-subheader {
    font-size: 30px;
    color: #000000;
    width: max-content;
}

footer .newsletter-signup .submission-content {
    color: #000000;
    width: max-content;
    margin-bottom: 45px;
}

footer .copyright-container {
	color: #000000;
	text-align: center;
}

footer .copyright-container .mobile-break {
	display: none;
}

/**************************************************************************
Forms
**************************************************************************/
article form fieldset
{
	border:  0;
	margin:  0;
	padding: 0;
}

article fieldset label.inputLabel
{
	clear: 		   left;
	color:         #7d7d7d;
	display:       block;
	float:         left;
	margin:    	   5px 0 0 0;
	overflow: 	   hidden;
	text-overflow: ellipsis;
	width: 		   100%;
}

article fieldset label.inputLabel[error="YES"] { color: #c0504d; }
article fieldset div.clear label 			   { color: #7d7d7d; }

article fieldset input[type="date"     ],
article fieldset input[type="datefield"],
article fieldset input[type="email"    ],
article fieldset input[type="number"   ],
article fieldset input[type="password" ],
article fieldset input[type="tel"      ],
article fieldset input[type="text"     ],
article fieldset input[type="url"      ],
article fieldset select,
article fieldset textarea
{
	background-color: #fff;
	background-image: none;
	border:           1px solid #e6e6e6;
	color:            #7d7d7d;
	display:          block;
	font-size:        15px;
	height:           32px;
	margin:           1px 0 5px;
	opacity:          1.0;
	padding:          6px 7px;
	float:            left;
	border-radius:    0;
	outline:          none;
	width: 			  100%;

	-moz-outline-style: none;

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;

	-webkit-box-shadow: inset 4px 4px 10px #d4d4d4;
	   -moz-box-shadow: inset 4px 4px 10px #d4d4d4;
	    -ms-box-shadow: inset 4px 4px 10px #d4d4d4;
		 -o-box-shadow: inset 4px 4px 10px #d4d4d4;
			box-shadow: inset 4px 4px 10px #d4d4d4;
}

[type="date"] {
	background:#fff url(https://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/calendar_2.png)  97% 50% no-repeat ;
}

[type="date"]::-webkit-inner-spin-button {
	display: none;
}

[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
}

article fieldset textarea
{
	height: 100px;
}

article fieldset input[type="checkbox"],
article fieldset input[type="radio"   ]
{
	margin:   15px 5px 15px 0;
	position: absolute;
}

article fieldset input[type="checkbox"]+label,
article fieldset input[type="radio"   ]+label
{
	display: inline-block;
	margin:  11px 10px 5px 25px;
}

article fieldset.controls
{
	clear: both;
}

article fieldset.controls input[type="submit"]
{
	background-color: #9c9c9c;
	border:			  0;
	color: 			  #fff;
	font-size: 		  22px;
	margin-top:  	  15px;
	padding:  		  10px;
	width: 		 	  110px;
}

article fieldset.controls input[type="submit"]:hover
{
	background-color: #a6c636;
}

article fieldset.controls a.reset 
{
	color: 		#a6c636 !important;
	float: 		right;
	margin-top: 20px;
}

article fieldset.gray
{
	background-color: #e5e5e5;
	border:           0;
	height:           100%;
	margin-bottom:    10px;
}

article fieldset h3
{
	color:       #7d7d7d;
	font-size:   16px;
	font-weight: normal;
	margin:      0;
	padding:     5px;
}

/*article fieldset label,
article fieldset span.textlabel
{
	color:       #7d7d7d;
	display:     inline-block;
	font-size:   14px;
	font-weight: normal;
	width:       100px;
}

article fieldset span.textlabel
{
	height:         14px;
	margin:         3px 0 0 0;
	padding:        4px 5px;
	vertical-align: top;
	width:          90px;
}

article fieldset span.textlabel input
{
	float: right;
}

article fieldset input[type="email"   ],
article fieldset input[type="password"],
article fieldset input[type="phone"   ],
article fieldset input[type="text"    ],
article fieldset select,
article fieldset textarea,
article fieldset span.textfield,
article fieldset label.textfield,
div.mc-signup-form-element input[type="text"],
div.mc-signup-form-element input[type="email"]
{
	border:      0;
	font-weight: normal;
	height:      15px;
	margin:      3px;
	padding:     3px 5px;
	width:       240px;

	-moz-outline-style: none;
	-webkit-appearance: none;
	outline:            none;
	border-radius:      0;
}

article fieldset textarea
{
	height: auto;
}

article fieldset select
{
	background-color: #fff;
	border:           0;
	height:           21px;
	margin:           3px 0;
	padding:          0;
	width:            250px;
}

span.textfield,
article fieldset label.textfield
{
	display:      inline-block;
	padding-left: 0 !important;
}

article fieldset input[type="email"   ].medium,
article fieldset input[type="password"].medium,
article fieldset input[type="phone"   ].medium,
article fieldset input[type="text"    ].medium,
article fieldset textarea.medium
{
	width: 120px;
}

article fieldset select.medium
{
	width: 130px;
}

article fieldset input[type="email"   ].small,
article fieldset input[type="password"].small,
article fieldset input[type="phone"   ].small,
article fieldset input[type="text"    ].small,
article fieldset textarea.small
{
	width: 60px;
}

article fieldset select.small
{
	width: 70px;
}

article fieldset input[type="email"   ].tiny,
article fieldset input[type="password"].tiny,
article fieldset input[type="phone"   ].tiny,
article fieldset input[type="text"    ].tiny,
article fieldset textarea.tiny
{
	width: 30px;
}

article fieldset select.tiny
{
	width: 40px;
}

article fieldset input[type="button"],
article fieldset input[type="submit"]
{
	background-color: #7d7d7d;
	border:           0;
	color:            #fff;
	float:            right;
	font-weight:      bold;
	height:           26px;
	margin:           5px 2px 0 8px;
	min-width:        120px;
	padding:          0;
	text-align:       center;
	text-decoration:  none;

	-webkit-appearance: none;
	-moz-outline-style: none;
	outline:            none;
	border-radius:      0;
}

article fieldset input[type="button"]:first-child,
article fieldset input[type="submit"]:first-child
{
	float:       none;
	margin-left: 0px;
}

article fieldset input[type="button"]:hover,
article fieldset input[type="submit"]:hover
{
	background-color: #9f9f9f;
}

.formField input[type="checkbox"]
{
	float: right;
}*/

/**************************************************************************
Contact Forms
**************************************************************************/

/*table.contactWrapper td.contactRight, table.contactWrapper td.contactLeft
{
	vertical-align: top;

}

table.contactWrapper td.contactLeft
{
	width: 335px;
}

table.contactWrapper td.contactLeft td.formLabelContact
{
	width: 88px;
}

td.contactLeft input
{
	width: 160px;
}

td.contactLeft input.preferredContactRadio
{
	width: auto;
}

td.contactLeft select
{
	width: 165px;
}

td.contactRight td.formField
{
	width: 25px;
}

div.contactNewsletter
{
	float: right;
	padding-right: 20px;
}

div.contactNewsletter.energyContact
{
	padding-right: 50px;
}*/

/**************************************************************************
User notifications
**************************************************************************/
.success { color: #9bbb59; }
.warning { color: #f79646; }
.failure { color: #c0504d; }
.example { color: #329cc9; }

/**************************************************************************
Landing Page
**************************************************************************/
.landingSlidesContainer
{
	position: relative;
}

.landingSlides
{
	list-style-type: none;
	margin:          0;
	padding:         0;
	width: 100%;
	position: relative;
	padding-top: 55.5%;
	/*overflow: hidden;*/
}

.landingSlides .landingSlideItem
{
	height:   auto;
	position: absolute;
	top: 0;
	left: 0;
	/*width: 100%;*/
	right: 0;
	bottom: 0;
	opacity: 0;
	
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	-ms-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
}

.landingSlides .landingSlideItem.active
{
	opacity: 1;
}

.landingSlideItemImageContainer
{
	display: block;
	z-index: 1;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.landingSlideItemImage
{
	width: 100%;
	height: auto;
}

.landingCTAs
{
	list-style-type: none;
	margin:          0;
	padding:         0;
	position:        absolute;
	top: 0;
	left: 0;
	right: 0;
	padding-top: 20%;
	padding-top: -ms-calc(50% - 300px);
	padding-top: calc(50% - 300px);
}

.landingCTAs .landingSlideCtaItem
{
	height: auto;
	margin-top: 5px;
	width: 33.3333%;
	max-width: 400px;
}

.landingCTAs .landingSlideCtaItem a.pseudo
{
	display:         block;
	color:           #fff;
	font-size:       24px;
	/*min-height:      60px;*/
	padding:         15px 20px;
	text-decoration: none;
	cursor:          default;
	width:           100%;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	background-color: rgba( 145, 145, 145, 0.85 );
}

.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer
{
	background-color: rgba( 255, 255, 255, 0.75 );
	color: #7D7D7D;
	font-size: 32px;
	left: 400px;
	padding: 25px 0;
	position: absolute;
	top: 25%;
	bottom: 0;
	width:  0;
	opacity: 0;
	overflow: auto;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 1;
	box-sizing: border-box;
	max-width: 1000px;
	display:flex;
	align-items: center;
	line-height: 125%;
	height: 75%;
	
	-webkit-transition: opacity .5s, width .5s, padding .5s, font-size .5s;
	-moz-transition: opacity .5s, width .5s, padding .5s, font-size .5s;
	-ms-transition: opacity .5s, width .5s, padding .5s, font-size .5s;
	-o-transition: opacity .5s, width .5s, padding .5s, font-size .5s;
	transition: opacity .5s, width .5s, padding .5s, font-size .5s;
}

.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer span.highlight
{
	color: #658f50;
}

.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a,
.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a.boxLink
{
	color:           #5f8b46;
	font-size:       32px;
	margin-top:      40px;
	text-decoration: none;
	float: right;
	padding: 0;
}

.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a .fa
{
	vertical-align: middle;
}

html.can-hover .landingCTAs .landingSlideCtaItem:hover a.pseudo,
.landingCTAs .landingSlideCtaItem.hover a.pseudo
{
	background-color: #919191;
}

html.can-hover .landingCTAs .landingSlideCtaItem:hover .landingSlideCtaItemContentContainer,
.landingCTAs .landingSlideCtaItem.hover .landingSlideCtaItemContentContainer
{
	opacity: 1;
	padding: 25px;
	width: 66.6666%;

	z-index: 1;
}

.landingBlurbs
{
	list-style-type: none;
	padding: 0;
	margin-top: 10px;
	min-height: 112px;
}

.landingBlurbs .landingBlurbItem
{
	line-height: 0;
	opacity: 0;
	overflow: visible;
	position: relative;
	display: block;
	text-align: left;
	-webkit-transition: opacity 1s, line-height 1s;
	-moz-transition: opacity 1s, line-height 1s;
	-ms-transition: opacity 1s, line-height 1s;
	-o-transition: opacity 1s, line-height 1s;
	transition: opacity 1s, line-height 1s;
}

.landingBlurbs .landingBlurbItem.active
{
	line-height: 1.4;
	opacity: 1;
}

.landingBlurbs .landingBlurbItem .landingBlurbItemText
{
	background-image:    url( '/images/2017/icon-camera.png' );
	background-position: left 5px;
	background-repeat:   no-repeat;
	background-size:     44px 60px;
	color:               #7f7f7f;
	min-height:          0;
	padding-left:        50px;
	text-align:          left;
	display: inline-block;
	width: 58.3333%;
	
	-webkit-transition: min-height 1s;
	-moz-transition: min-height 1s;
	-ms-transition: min-height 1s;
	-o-transition: min-height 1s;
	transition: min-height 1s;
}

.landingBlurbs .landingBlurbItem.active .landingBlurbItemText
{
	min-height: 70px;
}


article a[href]:not(.no-box-hov)
{
	position: relative;
	color: #a6c636;
	font-weight: 700;
	text-decoration: none;
}

article a[href]:not(.no-box-hov):before,
article a[href]:not(.no-box-hov):after
{
	content: "";
	display: block;
	position: absolute;
	height: 2px;
	background: #5f8b46;
	background: currentColor;
	
	-webkit-transition: left .5s, right .5s;
	-moz-transition: left .5s, right .5s;
	-ms-transition: left .5s, right .5s;
	-o-transition: left .5s, right .5s;
	transition: left .5s, right .5s;
}

article a[href]:not(.no-box-hov):before
{
	top: -1px;
	right: 0;
	left: 100%;
}

article a[href]:not(.no-box-hov):after
{
	bottom: -3px;
	left: 0;
	right: 100%;
}

html.can-hover article a[href]:not(.no-box-hov):hover:before,
article a[href]:not(.no-box-hov).hover:before
{
	left: 0;
}

html.can-hover article a[href]:not(.no-box-hov):hover:after,
article a[href]:not(.no-box-hov).hover:after
{
	right: 0;
}

.boxLink,
a.boxLink,
article a[href]:not(.no-box-hov).boxLink
{
	display: inline-block;
	overflow: hidden;
	position: relative;
	color: inherit;
	text-decoration: none;
}

.boxLink:before,
.boxLink:after,
article a[href]:not(.no-box-hov).boxLink:before,
article a[href]:not(.no-box-hov).boxLink:after
{
	background: #5f8b46;
	background: currentColor;
	content: '';
	position: absolute;
	transition: transform .5s ease;
}

.boxLink:before,
article a[href]:not(.no-box-hov).boxLink:before
{
	width: 100%;
	height: 2px;
	transform: translateX(100%);
	top: 0;
	left: 0;
}

.boxLink:after,
article a[href]:not(.no-box-hov).boxLink:after
{
	width: 100%;
	height: 2px;
	transform: translateX(-100%);
	right: 0;
	bottom: 0;
}

.boxLink > .boxLinkSpan,
article a[href]:not(.no-box-hov).boxLink > .boxLinkSpan
{
	display: block;
	padding: 10px;
	position: relative;
	color: inherit;
	text-decoration: none;
}

.boxLink > .boxLinkSpan:before,
.boxLink > .boxLinkSpan:after,
article a[href]:not(.no-box-hov).boxLink > .boxLinkSpan:before,
article a[href]:not(.no-box-hov).boxLink > .boxLinkSpan:after
{
	background: #5f8b46;
	background: currentColor;
	content: '';
	position: absolute;
	transition: transform .5s ease;
}

.boxLink > .boxLinkSpan:before,
article a[href]:not(.no-box-hov).boxLink > .boxLinkSpan:before
{
	width: 2px;
	height: 100%;
	transform: translateY(100%);
	right: 0;
	bottom: 0;
}

.boxLink > .boxLinkSpan:after,
article a[href]:not(.no-box-hov).boxLink > .boxLinkSpan:after
{
	width: 2px;
	height: 100%;
	transform: translateY(-100%);
	left: 0;
	top: 0;
}

.boxLink.hover:before,
.boxLink.hover:after,
.boxLink.hover > .boxLinkSpan:before,
.boxLink.hover > .boxLinkSpan:after,
html.can-hover .boxLink:hover:before,
html.can-hover .boxLink:hover:after,
html.can-hover .boxLink:hover > .boxLinkSpan:before,
html.can-hover .boxLink:hover > .boxLinkSpan:after,
article a[href]:not(.no-box-hov).boxLink.hover:before,
article a[href]:not(.no-box-hov).boxLink.hover:after,
article a[href]:not(.no-box-hov).boxLink.hover > .boxLinkSpan:before,
article a[href]:not(.no-box-hov).boxLink.hover > .boxLinkSpan:after,
html.can-hover article a[href]:not(.no-box-hov).boxLink:hover:before,
html.can-hover article a[href]:not(.no-box-hov).boxLink:hover:after,
html.can-hover article a[href]:not(.no-box-hov).boxLink:hover > .boxLinkSpan:before,
html.can-hover article a[href]:not(.no-box-hov).boxLink:hover > .boxLinkSpan:after
{
	transform: translate(0, 0);
}


/**************************************************************************
Content page
**************************************************************************/
article div.banner
{
	color:         #fff;
	font-size:     26px;
	margin-bottom: 55px;
	position:      relative;
	width:         100%;
}

article div.banner-image
{
	height: 0;
	width: 100%;
	padding-bottom: 42.3729%;
	background-repeat: no-repeat;
	background-size: 100% auto;
	/*background-size: contain;*/
}

article div.banner span.highlight
{
	color: #7d7d7d;
}

article div.banner-image div.wrapper
{
	bottom:      0px;
	padding:     10px;
	position:    absolute;
	text-shadow: 0px 0px 4px #000;
	width:       100%;
	box-sizing:  border-box;
}

article div.banner-green div.wrapper
{
	background-color: #9cad5f;
	background-color: rgba(156, 173, 95, 0.7);
	text-shadow: none;
}

article div.banner-white div.wrapper
{
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.7);
	color:            #7d7d7d;
	text-shadow:      none;
}

article div.banner-white span.highlight
{
	color: #5f8b46;
}

.relative {
	position: relative;
}
.left-position {
	left: 0;
}
/**************************************************************************
Tile pages
**************************************************************************/
/*.bios
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}*/

div#tileWrapper
{
	/*min-height:   610px;*/
	margin:   0 -10px;
	overflow: hidden;
}

div#tileWrapper .column:last-child
{
	float: left;
}

div#tileWrapper fieldset
{
	border:  0;
	margin:  0;
	padding: 0;
}

div#tileWrapper a.tile
{
	background-color: #ebebeb;
	color:            #898989;
	display:          block;
	float:            left;
	/*height:           164px;
	margin:           7px;*/
	margin-bottom:    20px;
	overflow:         hidden;
	padding:          13px;
	text-decoration:  none;
	text-overflow:    ellipsis; 

	width: 100%;
	width: -webkit-calc( 100% - 26px ); 
	width: 	  -moz-calc( 100% - 26px ); 
	width: 		   calc( 100% - 26px ); 
}

div#tileWrapper a.tile:hover
{
	background-color: #e4eed2;

	-webkit-box-shadow: 3px 3px 7px #cecece;
	   -moz-box-shadow: 3px 3px 7px #cecece;
		-ms-box-shadow: 3px 3px 7px #cecece;
		 -o-box-shadow: 3px 3px 7px #cecece;
			box-shadow: 3px 3px 7px #cecece;
}

div#tileWrapper a.tile div
{
	margin-bottom:    10px;
}

div#tileWrapper a.tile div.dark
{
	background-color: #c6c6c6;
}

div#tileWrapper a.tile b
{
	display:       block;
	overflow:      hidden;
	text-overflow: ellipsis;
	/*white-space:   nowrap;*/
	width:         100%;
}

div#tileWrapper a.tile span
{
	display:       block;
	overflow:      hidden;
	text-overflow: ellipsis;
	white-space:   nowrap;
	width:         100%;
}

ul.pagination
{
	list-style-type: none;
	margin:          0;
	margin-top:      40px;
	padding:         0;
}

ul.pagination li
{
	color:       #7d7d7d;
	float:       left;
	font-size:   14px;
	font-weight: 700;
	margin:      0;
	margin-left: 15px;
	padding:     0;
}

ul.pagination li:first-child
{
	margin-left:  0;
	margin-right: 35px;
}

ul.pagination li a
{
	color:           #7d7d7d;
	text-decoration: none;
}

ul.pagination li a:hover
{
	color: #9cad5f;
}

/**************************************************************************
Feature pages
**************************************************************************/

div#featureWrapper
{
	clear: both;
}

div#featureWrapper div.feature
{
	margin-left: 80px;
	padding-top: 25px;
	font-size:   14px;
	height:      64px;
	/*line-height: 13px;*/
}

div#featureWrapper div.feature div.byline
{
	font-size: 11px;
}

div#featureWrapper div.feature a.link
{
	color:           #7d7d7d;
	display:         block;
	font-weight:     700;
	text-decoration: none;
}

div#featureWrapper div.feature div.frame
{
	background-color: #c6c6c6;
	float:            left;
	height:           64px;
	margin-left:      -80px;
	overflow:         hidden;
	width:            64px;
}

/**************************************************************************
Insight
**************************************************************************/
.insight-header
{
	font-size: 30px;
	color: #7d7d7d;
	font-weight: 400;
}

.insight-nav-label
{
	font-weight: 700;
}

.insight-nav-filters
{
	width: auto;
	float: right;
	margin-top: 10px;
}

/*.insight-nav-list-item[value=""]
{
	color: #b7b7b7;
}*/

.insight-landing-feature-image-mobile,
.insight-landing-feature-image
{
	width: 100%;
}

.insight-landing-feature-image-mobile
{
	display: none;
}

.insight-landing-attributes
{
	background-color: #e5e5e5;
	padding: 20px;
}

.insight-landing-attributes-title
{
	font-size: 30px;
	font-weight: 400;
	/*margin-bottom: 15px;*/
}

.insight-landing-attributes-subtitle
{
	font-size: 20px;
	font-weight: 400;
}

.insight-landing-attributes-byline
{
	margin-top: 15px;
	margin-bottom: 30px;
}

.insight-landing-excerpt
{
	margin-bottom: 15px;
}

.insight-landing-attributes-button
{
	display: inline-block;
	background-color: #fff;
	padding: 5px 40px;
	/*border: 1px solid #9f5454;*/
	border: 1px solid #9a9a9a;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	
	-webkit-transition: color .5s, background-color .5s;
	-moz-transition: color .5s, background-color .5s;
	-ms-transition: color .5s, background-color .5s;
	-o-transition: color .5s, background-color .5s;
	transition: color .5s, background-color .5s;
}

html.can-hover .insight-landing-attributes-button:hover,
.insight-landing-attributes-button.hover
{
	background-color: #a6c636;
	color: #fff;
}

.insight-landing-feature
{
	margin-bottom: 40px;
}

.insight-landing-list-item
{
	margin-bottom: 20px;
	
	-webkit-transition: margin .5s;
	-moz-transition: margin .5s;
	-ms-transition: margin .5s;
	-o-transition: margin .5s;
	transition: margin .5s;
}

.insight-landing-list-image-link,
.insight-landing-list-item-attributes
{
	display: block;
	float: left;
	box-sizing: border-box;
}

.insight-landing-list-image-link
{
	width: 33.3333%;
	border-right: 10px solid transparent;
}

.insight-landing-list-item-attributes
{
	width: 66.6666%;
	border-left: 10px solid transparent;
	float: right;
}

.insight-landing-list-item-attributes + .insight-landing-list-item-attributes
{
	margin-top: 10px;
}

.insight-landing-list-item-attributes-title
{
	font-size: 30px;
}

.insight-landing-attributes-title,
.insight-landing-list-item-attributes-title,
.insight-landing-list-item-attributes-source-link,
.insight-landing-list-item-attributes-excerpt
{
	text-decoration: none;
	color: #7d7d7d;

	-webkit-transition: color .5s;
	-moz-transition: color .5s;
	-ms-transition: color .5s;
	-o-transition: color .5s;
	transition: color .5s;
}

html.can-hover .insight-landing-attributes-title:hover,
.insight-landing-attributes-title.hover,
html.can-hover .insight-landing-list-item-attributes-title:hover,
.insight-landing-list-item-attributes-title.hover,
html.can-hover .insight-landing-list-item-attributes-source-link:hover,
.insight-landing-list-item-attributes-source-link.hover,
html.can-hover .insight-landing-list-item-attributes-excerpt:hover,
.insight-landing-list-item-attributes-excerpt.hover
{
	color: #a6c636;
}

.insight-landing-list-image
{
	width: 100%;
}

.insight-title-container
{
	background-color: #e5e5e5;
	min-height: 80px;
	padding: 10px;
	box-sizing: border-box;
}

.insight-title
{
	font-size: 26px;
	font-weight: 400;
}

.insight-subtitle
{
	font-size: 16px;
	font-weight: 400;
	font-style: italic;
}

.insight-detail-attributes-author,
.insight-detail-attributes-date
{
	font-size: 16px;
}

.insight-slideshow
{
	margin-bottom: 40px;
}

.insight-slide-list
{
	list-style-type: none;
	padding: 0;
	margin: 0;
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-bottom: 55.5932%;
}

.insight-slide-item
{
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	background-color: #f2f2f2;
	
	-webkit-transition: opacity .5s;
	-moz-transition: opacity .5s;
	-ms-transition: opacity .5s;
	-o-transition: opacity .5s;
	transition: opacity .5s;
}

.insight-slide-item.active
{
	opacity: 1;
}

.insight-slide-image
{
	height: 100%;
	display: block;
	margin: auto;
}

.insight-aside-title
{
	color: #868686;
	font-weight: 700;
}

.insight-aside-links
{
	color: #a6c636;
	font-weight: 700;
	margin-bottom: 20px;
}

.insight-archives + .insight-testimonials
{
	border-top: 1px solid #ccc;
}

/**************************************************************************
Blog
**************************************************************************/

div#featureWrapper.blog div.feature
{
	height:      auto;
	margin-left: 0;
}

div#featureWrapper.blog div.feature a.link
{
	font-size:   24px;
	font-weight: normal;
	/*line-height: 12px;*/
	margin:      5px 0 10px 0;
}

div#featureWrapper.blog a
{
	color: #7d7d7d;
	text-decoration: underline;
}

div#featureWrapper.blog a:hover
{
	color: #9cad5f;
}

div#featureWrapper.blog h2
{
	font-weight: normal;
	font-size:   16px;
}

.blog-post-comment-add-header,
.blog-post-comment-header
{
	background-color: #e5e5e5;
	margin: 20px 0 5px 0;
	font-size: 24px;
	padding: 5px 10px;
}

.blog-post-comment-header
{
	margin: 40px 0 20px 0;
}

.blog-post-comment
{
	background-color: #f5f5f5;
	margin-bottom: 10px;
}

.blog-post-comment-author
{
	font-size: 20px;
	color: #fff;
	background-color: #9c9c9c;
	padding: 10px;
	text-align: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.blog-post-comment-date
{
	font-size: 12px;
	margin-bottom: 5px;
	font-style: italic;
}

.blog-post-comment-details
{
	padding: 10px;
}

/**************************************************************************
Info panel pages
**************************************************************************/
div.banner-info
{
	height: 100px;
}

div.infoPanel div.image
{
	background-color: #e5e5e5;
	float:            left;
	margin:           0;
	padding:          0;
}

div.infoPanel div.image img
{
	width: 100%;
}

div.infoPanel div.image ul
{
	list-style-type: none;
	margin:          0;
	overflow:        hidden;
	padding:         0;
	width:           330px;
}

div.infoPanel div.image li
{
	overflow: hidden;
	position: absolute;
	width:    330px;
}

div.infoPanel div.image img
{
	width: auto;
}

div.infoPanel div.info
{
	background-color: #e5e5e5;
	color:            #7d7d7d;
	float:            right;
	font-size:        14px;
	height:           300px;
	margin:           0;
	padding:          15px;
	position:         relative;
	/*line-height:12px;*/
}

div.infoPanel div.info b
{
	font-size: 14px;
}

div.infoPanel div.info a.gridLink
{
	background-image:    url( '/images/grid.png' );
	background-position: top right;
	background-repeat:   no-repeat;
	background-size:     27px 20px;
	color:               #b7b7b7;
	display:             block;
	font-size:           12px;
	font-weight:         700;
	height:              20px;
	line-height:         20px;
	padding-right:       27px;
	position:            absolute;
	right:               0;
	text-decoration:     none;
	top:                 -35px;
	width:               37px;
	font-size:			 14px;
}

div.infoPanel div.info a.gridLink:hover
{
	color: #7d7d7d;
}

div.infoPanel div.info a
{
	color:               #7d7d7d;
	text-decoration:     none;
}

div.infoPanel div.info a:hover
{
	color:               #9cad5f;
}

div.infoPanel div.frame
{
	background-color: #7d7d7d;
	float:            right;
	margin-bottom:    10px;
	margin-left:      10px;
}

div.infoPanel div.info div.text
{
	overflow:      hidden;
	text-overflow: ellipsis;
	white-space:   nowrap;
	width:         115px;
}

div.infoPanel div.info div.role
{
	color:       #7d7d7d;
	font-size:   16px;
	font-weight: 700;
}

div.infoPanel div.info div.other
{
	bottom:       15px;
	margin-right: 10px;
	position:     absolute;
	width:        244px;
}

div.infoPanel div.image-info
{
	width: 244px;
}

div.infoPanel div.description
{
	clear:          both;
	padding-bottom: 35px;
	padding-top:    16px;
}

div.infoPanel div.description div.slideshow
{
	height:        20px;
	margin-bottom: 8px;
	margin-top:    -8px;
}

div.infoPanel div.description div.slideshow ul
{
	list-style-type: none;
	margin:          0;
	padding:         0;
}

div.infoPanel div.description div.slideshow ul li
{
	background-color: #ebebeb;
	float:            left;
	height:           20px;
	margin-right:     10px;
	overflow:         hidden;
	text-indent:      -500px;
	width:            20px;
}

div.infoPanel div.description div.slideshow ul li:hover,
div.infoPanel div.description div.slideshow ul li.selected
{
	background-color: #c6c6c6;
}

div.infoPanel div.description div.slideshow a
{
	background-position: center center;
	background-repeat:   no-repeat;
	background-size:     4px 7px;
	border:              1px solid #c6c6c6;
	float:               left;
	height:              18px;
	margin-left:         10px;
	overflow:            hidden;
	text-indent:         -500px;
	width:               18px;
}

div.infoPanel div.description div.slideshow a:hover
{
	background-color: #c6c6c6;
	border:           1px solid #828282;
}

div.infoPanel div.description div.slideshow a.prev { background-image: url( '../images/bullet-left-828282.png'  ); margin-left: 15px; }
div.infoPanel div.description div.slideshow a.next { background-image: url( '../images/bullet-right-828282.png' ); }

div.infoPanel a.page
{
	color:           #b7b7b7;
	font-size:       14px;
	font-weight:     700;
	margin-right:    25px;
	text-decoration: none;

}

div.infoPanel a.page:hover
{
	color: #7d7d7d;
}

/**************************************************************************
Portfolio landing page
**************************************************************************/
div.portfolio-filter
{
	min-height:    25px;
	line-height:   25px;
	margin-bottom: 20px;
	text-align:    right;
	position: relative;
}

.portfolio-view-label
{
	float: right;
	color: #7d7d7d;
	font-weight: 700;
}

.portfolio-filter-select
{
	float: right;
	font-size: 14px;
	color: #898989;
	background-color: transparent;
	margin-left: 10px;
}

.portfolio-filter-select,
.portfolio-filter-option
{
	min-height: 25px;
	line-height: 25px;
}

html.can-hover .portfolio-filter-option:hover,
.portfolio-filter-option.hover
{
	background-color: #cdcdcd;
	color: #fff;
}

.project-count
{
	color: #cdcdcd;
}

.portfolio-filter-select-mobile
{
	display: none;
}

.portfolioLoadMoreButton,
.load-more-button
{
	display: none;
}

div.portfolioLanding
{
	height: 640px;
}

div.portfolioLanding div.window
{
	height:   625px;
	left:     0;
	overflow: hidden;
	position: absolute;
	width:    100%;
}

div.portfolioLanding fieldset
{
	border:		0px;
	margin:		0px;
	padding:	0px;
}

div.portfolioLanding ul#tileSet
{
	display: none;
}

div.portfolioLanding ul
{
	height:          625px;
	left:            0;
	list-style-type: none;
	margin:          0;
	overflow:        hidden;
	padding:         0;
	position:        absolute;
	width:           100%;
	z-index:         2;
}

div.portfolioLanding ul li
{
	float:  left;
	height: 625px;
	width:  210px;
}

div.portfolioLanding ul li ul
{
	position: static;
	height: 625px;
}

div.portfolioLanding ul li ul li
{
	height:           200px;
	margin:           5px;
	overflow:         hidden;
	width:            200px;
}

div.portfolioLanding ul li ul li.tileSetEmptyItem
{
	background-color: #858585;
}

div.portfolioLanding ul li ul li a
{
	display:         block;
	height:          100%;
	text-decoration: none;
	width:           100%;
	position: relative;
}

div.portfolioLanding ul li ul li div
{
	background-color: rgba( 156, 156, 156, 0.85 );
	color:            #fff;
	display:          none;
	font-size:        28px;
	font-weight: 400;
	height:           200px;
	padding:          10px;
	position:         absolute;
	text-decoration:  none;
	width:            200px;
	box-sizing: border-box;
	overflow-y: auto;
	/*overflow-x: hidden;*/
	top: 0;
}

/*div.portfolioLanding ul li ul li:hover div*/
html.can-hover div.portfolioLanding ul li ul li .tileSetColumnListItemLink:hover div,
html div.portfolioLanding ul li ul li .tileSetColumnListItemLink.hover div
{
	display: block;
}

div.portfolioLanding .tileSetColumnListItemImage
{
	width: 100%;
	height: auto;
}

/**************************************************************************
Portfolio category page
**************************************************************************/
div.portfolioCategorySpacer
{
	margin-top: 5px;
}

div#portfolioCategory
{
	min-height:           410px;
	overflow:         hidden;
	padding:          5px;
	text-align:       center;
	width:            100%;
	box-sizing: border-box;
}

div#portfolioCategory a
{
	display:          inline-block;
	/*float:            left;*/
	height:           200px;
	margin:           5px;
	overflow:         hidden;
	text-decoration:  none;
	width:            200px;
	vertical-align: top;
	position: relative;
}

div#portfolioCategory a.tile-placeholder
{
	background-color: #cbcbcb;
}

div#portfolioCategory a div
{
	background-color: rgba( 133, 133, 133, 0.80 );
	color:            #fff;
	display:          none;
	font-size:        28px;
	height:           200px;
	padding:          10px;
	position:         absolute;
	text-align:       left;
	text-decoration:  none;
	width:            200px;
	box-sizing: border-box;
	overflow: auto;
	top: 0;
	left: 0;
}

div#portfolioCategory a:hover div
{
	display: block;
}

div#portfolioCategory a img
{
	width: 100%;
}

.portfolio-nav-links
{
	margin-top: 20px;
	padding-bottom: 5px;
}

.portfolio-nav-links ul.pagination
{
	margin-top:  0;
	padding-top: 0;
}

a.portfolioBack
{
	background-image:    url( '/images/grid.png' );
	background-position: center left;
	background-repeat:   no-repeat;
	background-size:     27px 20px;
	color: #7d7d7d;
	display:             block;
	float:               left;
	font-weight:         700;
	padding-left:        35px;
	text-decoration:     none;
	font-size: 			 18px;
	position:			 relative;
	z-index:			 1;
}

a.portfolioBack:hover
{
	color:               #7d7d7d;
}

.portfolio-nav-links a.prev,
.portfolio-nav-links a.next
{
	display:             block;
	float:               left;
	font-weight:         700;
	text-decoration:     none;
	font-size: 14px;
}

.portfolio-nav-links a.next
{
	float: right;
}

.portfolio-nav-links a.prev
{
	float: left;
}

.project-aside-title
{
	font-weight: 700;
	color: #7d7d7d;
}

.project-aside-list
{
	margin-top: 0;
	padding: 0;
	list-style-type: none;
}

.project-aside-link
{
	font-weight: 400;
}

/**************************************************************************
Case study page
**************************************************************************/

.category-casestudy
{
	height: 			100%;
}
.casestudy-header
{
	background-color: 	#e5e5e5;
	height: 			100%;
	padding:			10px;
}

.category-casestudy-title, .casestudy-title, .casestudy-subtitle
{
	font-family: franklin-gothic-urw,Helvetica,Helvetica Neue,Arial;
	font-weight: 400;
	font-style: normal;
}

.category-casestudy-title
{
	font-size: 30px;
} 
.casestudy-title
{
	font-size: 26px;
}

.casestudy-subtitle
{
	font-size: 22px;
}

.casestudy-information
{
	font-family: franklin-gothic-urw,Helvetica,Helvetica Neue,Arial;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.5em;
}
.casestudy-slideshow-image
{
	display: block;
	margin: auto;
	height: 100%;
	background-color: #f2f2f2;
}

.casestudy-slideshow-list
{
	list-style-type: 	none;
	margin:				0;
	overflow:			hidden;
	padding:			0;
	padding-bottom:		55.5932%;
	width:				100%;
	height:				0;
	position: 			relative;

}
.casestudy-slideshow-item
{
	overflow:		hidden;
	position:		absolute;
	top:			0;
	left:			0;
	right:			0;
	bottom:			0;
	width:			100%;
}

.casestudy-slideshow-control
{
	padding-top: 		15px;
	clear: 				both;
}
.casestudy-slideshow-control-list
{
	list-style-type: 	none;
	margin:          	0;
	padding:         	0;
	display:			none;
}

.casestudy-slideshow-control-item
{
	background-color: 	#ebebeb;
	float:				left;
	height:				30px;
	margin-right:		10px;
	overflow:			hidden;
	text-indent:		-500px;
	width:				30px;
	cursor:				pointer;
	-webkit-transition: background-color .5s;
	-moz-transition: background-color .5s;
	-ms-transition: background-color .5s;
	-o-transition: background-color .5s;
	transition: background-color .5s;
}

.casestudy-slideshow-control-item:hover,
.casestudy-slideshow-control-item.selected
{
	background-color: #c6c6c6;
}

.casestudy-slideshow-description,
.casestudy-slideshow-info
{
	float:left;
	padding-top: 20px;
}

.casestudy-slideshow-description
{
	clear:left;
}

.casestudy-slideshow-prev { background-image: url( '../images/bullet-left-a6c636.png'  ); margin-left: 10px; }
.casestudy-slideshow-next { background-image: url( '../images/bullet-right-a6c636.png' ); margin-left: 10px;}

.casestudy-slideshow-control a
{	
	box-sizing: border-box;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 4px 7px;
	border: 1px solid #a6c636;
	float: left;
	height: 30px;
	overflow: hidden;
	text-indent: -500px;
	width: 30px;
	-webkit-transition: background-color .5s, border-color .5s;
    -moz-transition: background-color .5s, border-color .5s;
    -ms-transition: background-color .5s, border-color .5s;
    -o-transition: background-color .5s, border-color .5s;
    transition: background-color .5s, border-color .5s;

}

.casestudy-slideshow-control a:hover
{
	background-color: #c6c6c6;
	border:           1px solid #828282;
}

.casestudy-prev
{
	float:left;
	clear:left;
}

 .casestudy-next
 {
 	float:right;
 }
/**************************************************************************
Portfolio project page
**************************************************************************/


div.portfolioProject div.description
{
	float:    left;
	height:   330px;
	padding:  15px;
	position: absolute;
	width:    404px;
	background-color: #ececec;
}

div.portfolioProject div.description h1,
div.portfolioProject div.description h2
{
	color:       #7d7d7d;
	font-size:   20px;
	font-weight: normal;
	line-height: 12px;
	margin:      0;
	padding:     0;
}

div.portfolioProject div.description div.content
{
	height:      165px;
	line-height: 10px;
	margin:      10px 0 10px 0;
	overflow:    hidden;
}

div.portfolioProject div.description div.content p
{
	line-height: 13px;
}

div.portfolioProject div.description div.other
{
	width: 404px;
}

div.portfolioProject div.description div.other div.left
{
	float:         left;
	padding-right: 15px;
	width:         187px;
}

div.portfolioProject div.description div.other div.right
{
	padding-right: 15px;
}

div.portfolioProject div.description div.other div.certifications
{
	margin-bottom: 15px;
}

div.portfolioProject div.description div.other div.certifications a
{
	color:		 #9cad5f;
	font-weight: normal;
}


div.portfolioProject div.description div.other div.scope
{
	margin-bottom: 15px;
}

div.portfolioProject div.description div.other div.scope a
{
	color:		 #9cad5f;
	font-weight: normal;
}

div.portfolioProject div.description div.other h3
{
	font-size:   14px;
	font-weight: 700;
	margin:      0;
	padding:     0;
}

div.portfolioProject div.description div.other ul
{
	list-style-type: none;
	margin:          0;
	padding:         0;
	height:          55px;
	overflow:        hidden;
}

div.portfolioProject div.description div.other li
{
	margin:  0;
	padding: 0;
	line-height:13px;
}

div.portfolioProject div.description div.other a
{
	color:           #7d7d7d;
	font-weight:     700;
	text-decoration: none;
}

div.portfolioProject div.description div.other a:hover
{
	text-decoration: none;
	color:#9cad5f;
}

/*.project-detail
{
	padding-top: 5px;
}
*/
.project-header
{
	display: none;
	font-size: 25px;
	font-weight: 400;
	margin-top: 10px;
}

.project-title-container
{
	background-color: #e5e5e5;
	min-height: 100%;
	box-sizing: border-box;
	padding: 5px 10px;
	width: 100%;
}

html.flexbox .project-title-container,
html.flexbox .casestudy-header,
.header-slideshow-controls
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: space-between;
	        justify-content: space-between;

	-webkit-align-items: center;
		 -ms-flex-align: center;
			align-items: center;

}


.project-title,
.project-subtitle
{
	font-weight: 400;
	word-wrap: break-word;
}

.project-title
{
	font-size: 26px;
}

.project-subtitle
{
	font-size: 20px;
}

.project-slideshow
{
	margin-bottom: 20px;
}

.project-slideshow-image
{
	position: relative;
}

.project-slide-list
{
	list-style-type: none;
	margin:          0;
	overflow:        hidden;
	padding:         0;
	height: 0;
	width: 100%;
	padding-bottom: 55.5932%;
	position: relative;
}

.project-slide-item
{
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #f2f2f2;
}

.project-slide-image
{
	height: 100%;
	display: block;
	margin: auto;
}

.project-slide-testimonial-content
{
	background-color: rgba( 101, 131, 070, 0.80 );
	color:            #fff;
	font-size:        22px;
	padding:          25px;
	position:         absolute;
	top:              0;
	left: 0;
	right: 0;
	bottom: 0;
}


.project-slideshow-controls,
.casestudy-slideshow-control
{
	min-height: 20px;
	height: 100%;
	padding: 0 0 0 10px;
	margin: 0;
	float: right;
}

.project-slideshow-control-list
{
	display: none;
}

/*.project-slideshow-control-list
{
	list-style-type: none;
	margin:          0;
	padding:         0;
	float: left;
}*/

.project-slideshow-control-item
{
	background-color: #ebebeb;
	float:            left;
	height:           30px;
	margin-right:     10px;
	overflow:         hidden;
	text-indent:      -500px;
	width:            30px;
	cursor: pointer;
	
	-webkit-transition: background-color .5s;
	-moz-transition: background-color .5s;
	-ms-transition: background-color .5s;
	-o-transition: background-color .5s;
	transition: background-color .5s;
}

.project-slideshow-control-item:hover,
.project-slideshow-control-item.selected
{
	background-color: #c6c6c6;
}

.project-slideshow-controls a
{
	box-sizing: border-box;
	background-position: center center;
	background-repeat:   no-repeat;
	background-size:     4px 7px;
	border:              1px solid #a6c636;
	float:               left;
	height:              30px;
	margin: 0;
	margin-left:         10px;
	overflow:            hidden;
	text-indent:         -500px;
	width:               30px;
	
	-webkit-transition: background-color .5s, border-color .5s;
	-moz-transition: background-color .5s, border-color .5s;
	-ms-transition: background-color .5s, border-color .5s;
	-o-transition: background-color .5s, border-color .5s;
	transition: background-color .5s, border-color .5s;
}

.project-slideshow-controls a.prev { background-image: url( '../images/bullet-left-a6c636.png'  ); }
.project-slideshow-controls a.next { background-image: url( '../images/bullet-right-a6c636.png' ); }

.slideshow-image-number
{
	float: left;
}

.header-slideshow-controls a:hover
{
	background-color: #ffffff;
}
.footer-slideshow-controls
{
	display: none;
}

.footer-slideshow-controls a:hover
{
	background-color: #c6c6c6;
	border:           1px solid #828282;
}
/**************************************************************************
Search results page
**************************************************************************/
div.searchContainer
{
	/*margin: 0 155px 0 200px;*/
}

div.searchContainer ul.sectionList
{
	height:          115px;
	list-style-type: none;
	margin:          0;
	margin-top:      15px;
	padding:         0;
}

div.searchContainer ul.sectionList li
{
	border-left: 1px solid #dedede;
	float:       left;
	height:      115px;
	
	max-width: 25%;
	max-width: -webkit-calc( 25% - 1px ); 
	max-width: 	  -moz-calc( 25% - 1px ); 
	max-width: 		   calc( 25% - 1px ); 

	background-position: top left;
	background-repeat:   repeat-y;
	background-image:    url( '../images/rgba/222-222-222-0.05.png' );
}

div.searchContainer ul.sectionList li.active,
div.searchContainer ul.sectionList li.linked:hover
{
	background-color: #f0f0f0;
}

div.searchContainer ul.sectionList li a
{
	overflow: 		 hidden;
	text-decoration: none;
	text-overflow:   ellipsis;
	white-space:     nowrap;
}

div.searchContainer ul.sectionList li h2
{
	color:           #bcbcbc;
	font-size:       64px;
	font-weight:     normal;
	line-height:     45px;
	margin:          15px;
	margin-top:      25px;
	padding:         0;
	text-decoration: none;
}

div.searchContainer ul.sectionList li h3
{
	color:     #818181;
	font-size: 16px;
	margin:    0 15px;
	padding:   0;
}

div.searchContainer div.pagination
{
	margin-bottom: 20px;
	margin-top:    20px;
}

div.searchContainer div.pagination a,
div.searchContainer div.pagination div.ellipsis
{
	display: inline;
	margin:	 0 10px;
}

div.searchContainer div.pagination div.ellipsis
{
	margin:   0;
	position: relative;
}

div.searchContainer div.pagination a
{
	color:           #7d7d7d;
	font-size:  	 20px;
	font-weight:     bold;
	margin:     	 0 5px;
	padding:  		 0 5px;
	text-decoration: none;
}

div.searchContainer div.pagination a.active,
div.searchContainer div.pagination a.hover
{
	color: #a6c636;
}

div.searchContainer ul.results
{
	list-style-type: none;
	margin:          0;
	padding:         0;
}

div.searchContainer ul.results li
{
	font-size: 14px;
	margin:    0 -5px 20px -5px;
	padding:   5px;
}

div.searchContainer ul.results li a
{
	color:           #7d7d7d;
	text-decoration: none;
}


div.searchContainer ul.results li a div
{
	overflow:      hidden;
	text-overflow: ellipsis;
	white-space:   nowrap;
	/*width:         610px;*/
}

div.searchContainer ul.results li a div.title
{
	font-size: 20px;
}

div.searchContainer ul.results li:hover
{
	background-color: #f0f0f0;
}

.label
{
	color: 	   #bcbcbc;
	font-size: 16px;
	font-size: 1.6rem;
}

/**************************************************************************
Residential Intake Pages
**************************************************************************/

/*div.resIntake
{
	padding: 0 0 0 210px;
	width: 650px;
}

div.resIntake .req:before
{
	content: "* ";
}

div.resIntake .failure
{
	font-weight: 700 !important;
}

div.resIntake h1
{
	color: #648E4F;
	margin: 0 0 30px 0;
}

div.resIntake h2
{
	margin: 0 0 10px 0;
}

div.resIntake h1, div.resIntake h2
{
	font-size: 30px;
	line-height: 12px;
	font-weight: 400;
}

div.resIntake ol
{
	font-weight: 700;
	margin: 30px 0 40px 0;
	padding: 0 0 0 15px;
}

div.resIntake ul
{
	list-style-type: none;
	padding: 0;
}

div.resIntake input[type="submit"], div.resIntake .intakeBtn, input.mc-signup-form-button
{
	text-decoration: none;
	text-transform: uppercase;
	color: #ffffff;
	font-size: 16px;

	border: 0;
	background: #adadad;
	padding: 9px;
	margin: 30px 0 0 0;
}

div.resIntake fieldset
{
	background: transparent;
	margin: 40px 0 0 0;
	padding: 0;
}

div.resIntake fieldset legend
{
	font-weight: 700;
}

div.resIntake fieldset label
{
	width: auto;
}

div.resIntake input[type="text"], div.resIntake textarea, div.mc-signup-form-element input[type="text"], div.mc-signup-form-element input[type="email"]
{
	-webkit-box-shadow: inset 4px 4px 8px #d4d4d4;
	-moz-box-shadow: inset 4px 4px 8px #d4d4d4;
	-ms-box-shadow: inset 4px 4px 8px #d4d4d4;
	-o-box-shadow: inset 4px 4px 8px #d4d4d4;
	box-shadow: inset 4px 4px 8px #d4d4d4;
	border: 0;
}

div.resIntake textarea
{
	min-width: 450px;
	min-height: 75px;
}

div.resIntake input[type="checkbox"]
{
	margin: 0 4px 0 -20px;
}

div.resIntake input[type="checkbox"], div.resIntake input.flatCB
{
	display: none;
}

div.resIntake input[type="checkbox"] + label, div.resIntake input.flatCB + label
{
	margin-left: -20px;
}

div.resIntake input[type="checkbox"] + label:before, div.resIntake input.flatCB + label:before
{
	content: "\2713";
	display: inline-block;
	width: 14px;
	height: 14px;
	line-height: 15px;
	background: transparent;
	color: transparent;
	text-align: center;
	margin: 0 7px 0 0;

	-webkit-box-shadow: inset 4px 4px 8px #d4d4d4;
	-moz-box-shadow: inset 4px 4px 8px #d4d4d4;
	-ms-box-shadow: inset 4px 4px 8px #d4d4d4;
	-o-box-shadow: inset 4px 4px 8px #d4d4d4;
	box-shadow: inset 4px 4px 8px #d4d4d4;
}

div.resIntake input[type="checkbox"]:checked + label:before, div.resIntake input.flatCB:checked + label:before
{
	color: #7d7d7d;
}

div.resIntake .flatRadio input
{
	display: none;
}

div.resIntake .flatRadio input + label
{
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	display: inline-block;
}

div.resIntake .flatRadio input + label:before
{
	content: " ";
	display: block;
	width: 12px;
	height: 12px;
	background: transparent;
	border: 1px solid #adadad;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

div.resIntake .flatRadio input:checked + label:before
{
	background: #adadad;
	background: -webkit-radial-gradient(center, ellipse cover,  rgba(173,173,173,1) 0%,rgba(173,173,173,1) 1%,rgba(173,173,173,1) 39%,rgba(173,173,173,0) 40%);
	background: -moz-radial-gradient(center, ellipse cover,  rgba(173,173,173,1) 0%, rgba(173,173,173,1) 1%, rgba(173,173,173,1) 39%, rgba(173,173,173,0) 40%);
	background: -ms-radial-gradient(center, ellipse cover,  rgba(173,173,173,1) 0%,rgba(173,173,173,1) 1%,rgba(173,173,173,1) 39%,rgba(173,173,173,0) 40%);
	background: -o-radial-gradient(center, ellipse cover,  rgba(173,173,173,1) 0%,rgba(173,173,173,1) 1%,rgba(173,173,173,1) 39%,rgba(173,173,173,0) 40%);
	background: radial-gradient(ellipse at center,  rgba(173,173,173,1) 0%,rgba(173,173,173,1) 1%,rgba(173,173,173,1) 39%,rgba(173,173,173,0) 40%);
}

div.resIntake .flatRadio.side input + label
{
	font-size: 10px;
	font-weight: 400;
	margin: 0 0 0 -15px;
}

div.resIntake .flatRadio.side input + label:before
{
	display: inline-block;
	margin: 0 3px -3px 0;
}

div.resIntake.main h1
{
	margin-bottom: 0;
}

div.resIntake.personalInfo fieldset legend
{
	font-size: 13px;
}

div.resIntake.personalInfo p
{
	font-weight: 700;
}

div.resIntake.personalInfo input, div.resIntake.personalInfo label
{
	float: left;
	clear: both;
}

div.resIntake.personalInfo td
{
	padding: 5px 40px 5px 0;
}

div.resIntake.personalInfo .phone input
{
	width: 50px;
	clear: none;
	margin: 0 10px 0 0;
}

div.resIntake.personalInfo .phone input:last-of-type
{
	width: 60px;
}

div.resIntake.personalInfo input[name="zip"]
{
	width: 80px;
}

div.resIntake.location legend
{
	margin: 0 0 20px 0;
}

div.resIntake.location ul
{
	margin: 20px 0 40px 0;
}

div.resIntake.location li
{
	margin: 10px 0;
}

div.resIntake.projectGoals p, div.resIntake.submit p, div.resIntake.submit label, div.resIntake.complete p
{
	font-weight: 700;
}*/

/**************************************************************************
Newsletter Signup Page
**************************************************************************/
@charset "UTF-8";

/*#mc_embed_signup {
	width:580px;
	margin-bottom: 100px;
}


#mc_embed_signup input[type=text],
#mc_embed_signup input[type=email],
#mc_embed_signup textarea,
#mc_embed_signup select { 
	width: 260px; 
}


.mc-field-group {
	border:1px solid #ddd;
	padding:5px;
	margin-bottom:5px;
}


.mc_embed_signup {
    text-align:center;
    display: inline;
}


.mc_signup_message {
	font-family:Verdana, sans-serif;
	font-size:12px;
	color:#333333;
}


.mc_signup_form_label {
	font-family:Verdana, sans-serif;
	font-size:12px;
	color:#333333;
	float:left;
	text-align:left;
	width:185px;
	padding-top:5px;
	white-space:nowrap
}


.mc_signup_form_element {
	margin-left:215px;
	font-family:verdana;
	font-size:12px;
	color:#333333;
}

.mc-signup-form-button-row {
	float:left;
}

.mc-signup-form-button-row #mc-embedded-reset {
	display: inline;
}


.mc-signup-form-button { 
    width: 60px !important;
}

input.mc-signup-form-button#mc-embedded-subscribe
{
	width: 78px !important;
	height: 38px;
}

input.mc-signup-form-button#mc-embedded-reset
{
	width: 70px !important;
	height: 38px;
}

div.mc-field-group
{
	border: none;
	padding: 0;
}

div.mc_signup_message, div.mc-signup-form-label
{
	font-family: franklin-gothic-urw,Helvetica,Helvetica Neue,Arial;
	font-size: 14px;
	line-height: 16px;
	color: #7D7D7D;
	float: none;
}

div.mc-signup-form-element
{
	margin-left: 0px;
}*/

/**************************************************************************
Contact Us Page
**************************************************************************/
.contactAddr
{
	margin: 	55px 0;
	text-align: right;
}

.contactMap
{
	margin-bottom: 35px;
	padding-bottom: 5px;
}

p.h1
{
	color:       #7d7d7d;
	font-size:   22px;
	font-weight: bold;
	margin:      0;
	padding:     0;
}

.interest
{
	padding-left: 5%;
}

.successMsg
{
	background-color: #a6c636;
	color:  		  #fff;
	font-size: 		  44px;
	margin: 		  20px auto;
	padding: 		  179px 0 60px;
	text-align: 	  center;
}

.successMsg.email
{
	background-image: url( '../images/icons/iconEmailSent.png' );
	background-position: center 60px;
	background-repeat:  no-repeat;
}

/**************************************************************************
AddThis Widget Styling
**************************************************************************/
div.atm
{
	top: 280px !important;
	top: -ms-calc(50% - 57px) !important;
	top: calc(50% - 57px) !important;
	position: fixed !important;
}

body.insight-blog div.atm
{
	top: -ms-calc(50% - 28px) !important;
	top: calc(50% - 28px) !important;
}

.atm-i
{

	border:      1px solid #c2c2c2;
	font-family: franklin-gothic-urw, Helvetica, Helvetica Neue, Arial !important;
	margin-left: -1px;
	margin-top:  -1px;

	webkit-box-shadow: none;
	   moz-box-shadow: none;
	       box-shadow: none;

	webkit-border-radius: 0;
	   moz-border-radius: 0;
	       border-radius: 0;
}

.atm-i #at_hover a span,
#at_hover.atm-s .at_bold,
#atic_auth #atic_signin
{
	color: #7d7d7d !important;
}

.atm-i #at_hover a:hover,
.atm-i #at_hover a:hover span,
#atic_auth #atic_signin #at_auth:hover
{
	background-color: #7d7d7d !important;
	color:            #fff !important;
}

/**************************************************************************
Page CTAs
**************************************************************************/
.pageCtaContainer
{
	float: none;
	margin: 20px auto;
}

article .pageCtaContainer
{
	/*width: 100%;*/
	/*max-width: 1185px;*/
	border-left: none;
	border-right: none;
	
	-webkit-transition: width .5s;
	-moz-transition: width .5s;
	-ms-transition: width .5s;
	-o-transition: width .5s;
	transition: width .5s;
}

body.portfolioLanding article .pageCtaContainer
{
	width: 75.0000%;
}

.pageCta
{
	border: 2px solid #9c9c9c;
	padding: 20px 5%;
}


html.can-hover .pageCta:hover .pageCtaButton:after,
.pageCta.hover .pageCtaButton:after
{
	-webkit-transform: translateX(10px);
	-moz-transform: translateX(10px);
	-ms-transform: translateX(10px);
	-o-transform: translateX(10px);
	transform: translateX(10px);
}

.pageCtaButtonContainer,
.pageCtaRightSpace
{
	float: right;
	overflow: visible;
}

.pageCtaText
{
	font-size: 30px;
	color: #898989;
}

.pageCtaButton
{
	font-size: 46px;
	color: #a6c636;
	text-decoration: none;
	position: relative;
	display: inline-block;
	overflow: visible;
	float: right;
}

html.flexbox .pageCtaButton
{
	line-height: 0.9;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.pageCtaButtonText
{
	margin-right: 20px;
	vertical-align: middle;
}

.pageCtaButton:after
{
	content: "";
	display: inline-block;
	width: 80px;
	height: 80px;
	vertical-align: middle;

	background-image: url(/images/2017/icon-arrow.png);
	background-repeat: no-repeat;
	background-size: 80px 80px;
	background-size: contain;
	background-position: right center;
	
	-webkit-transition: -webkit-transform .5s;
	-moz-transition: -moz-transform .5s;
	-ms-transition: -ms-transform .5s;
	-o-transition: -o-transform .5s;
	transition: transform .5s;
	
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

/**************************************************************************
Desktop Breakpoints
**************************************************************************/
@media only screen and ( max-width: 1600px ) {
	.headerSearchForm
	{
		width: 66.6666%;
		width: -ms-calc(66.6666% - 10px);
		width: calc(66.6666% - 10px);
	}
	
	.headerSearchForm.active
	{
		left: 33.3333%;
	}

	.nav-list-item
	{
		margin: 0 3.5%;
	}

}

@media only screen and ( max-width: 1440px ) {
	article .pageCtaContainer
	{
		width: 83.3333vw;
	}
}

@media only screen and ( max-width: 1400px ) {
	.nav-list-item
	{
		margin: 0 3.0%;
	}
}

@media only screen and ( max-width: 1358px ) {
	footer .address-info-title
	{
		min-height: 54px;
	}
}

@media only screen and ( max-width: 1300px ) {
	.nav-list-item
	{
		margin: 0 2.5%;
	}

	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a.boxLink
	{
		font-size: 34px;
	}
}

@media only screen and ( max-width: 1215px ) {
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer
	{
		left: 33.3333%;
	}
}

/**************************************************************************
Tablet-specific Styles
**************************************************************************/
@media only screen and ( max-width: 1200px ) {
	
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer
	{
		left: 33.3333%;
	}

	article .pageCtaContainer
	{
		width: 83.3333%;
	}
	
	.nav-list-item
	{
		margin: 0 2.0%;
	}
	
	.grid
	{
		overflow: hidden;
	}

	.insight-landing-feature-left,
	.insight-landing-attributes
	{
		width: 50.0000%;
	}

	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a.boxLink
	{
		font-size: 30px;
	}

	footer .footer-button.contact {
		min-width: auto;
	}
}

@media only screen and ( max-width: 1100px ) {
	.nav-list-item
	{
		margin: 0 1.5%;
	}

	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a.boxLink
	{
		font-size: 24px;
	}
}

@media only screen and ( max-width: 1024px ) {
	.nav-list-item
	{
		margin: 0 1.0%;
	}

	.nav-list,
	.header-nav ul.nav-list
	{
		margin-left: 0;
	}
}

@media only screen and ( max-width: 975px ) {
	.nav-list
	{
		width: -ms-calc(100% - 52px);
		width: calc(100% - 52px);
	}
}

@media only screen and ( max-width: 900px ) {
	.nav-list-link
	{
		font-size: 20px;
	}

	.nav-list
	{
		-webkit-transition: none;
		-moz-transition: none;
		-ms-transition: none;
		-o-transition: none;
		transition: none;
	}

	/*html.can-hover footer .address-info:hover .address-info-city-list,
	footer .address-info.hover .address-info-city-list
	{
		line-height: 1.2;
	}*/
}

@media only screen and ( max-width: 855px ) {
	/*footer .address-info-title
	{
		min-height: 81px;
	}*/
}

@media only screen and ( max-width: 830px ) {
	.nav-list-link
	{
		font-size: 19px;
	}
}

@media only screen and ( max-width: 800px ) {
	.nav-list-link
	{
		font-size: 18px;
	}
}

@media only screen and ( max-width: 960px ) {
	div#tileWrapper div.span_1_5
	{
		width: 25%;
	}
}

/**************************************************************************
Wireless-specific Styles
**************************************************************************/
@media only screen and ( max-width: 768px ) {
	  .span_1_1,
	  .span_2_2,   .span_1_2,
	  .span_3_3,   .span_2_3,   .span_1_3,
	  .span_4_4,   .span_3_4,   .span_2_4,  .span_1_4,
	  .span_5_5,   .span_4_5,   .span_3_5,  .span_2_5,  .span_1_5,
	  .span_6_6,   .span_5_6,   .span_4_6,  .span_3_6,  .span_2_6,  .span_1_6,
	  .span_7_7,   .span_6_7,   .span_5_7,  .span_4_7,  .span_3_7,  .span_2_7,  .span_1_7,
	  .span_8_8,   .span_7_8,   .span_6_8,  .span_5_8,  .span_4_8,  .span_3_8,  .span_2_8,  .span_1_8,
	  .span_9_9,   .span_8_9,   .span_7_9,  .span_6_9,  .span_5_9,  .span_4_9,  .span_3_9,  .span_2_9,  .span_1_9,
	.span_10_10,  .span_9_10,  .span_8_10, .span_7_10, .span_6_10, .span_5_10, .span_4_10, .span_3_10, .span_2_10, .span_1_10,
	.span_11_11, .span_10_11,  .span_9_11, .span_8_11, .span_7_11, .span_6_11, .span_5_11, .span_4_11, .span_3_11, .span_2_11, .span_1_11,
	.span_12_12, .span_11_12, .span_10_12, .span_9_12, .span_8_12, .span_7_12, .span_6_12, .span_5_12, .span_4_12, .span_3_12, .span_2_12, .span_1_12
	{
		width: 100%;
	}
	
	.hideMobile
	{
		display: none;
	}
	
	.row-vcenter-desktop,
	.row-stretch-desktop
	{
		display: block;
	}
	

	.column-flush,
	.column-flush-left,
	.column-flush-right,
	.column.noborder,
	.column.noleftborder,
	.column.norightborder
	{
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	
	.column-flush-mobile,
	.column.nomobileborder
	{
		border-left: none;
		border-right: none;
	}
	
	header,
	header.column
	{
		position: relative;
		display: block;
		padding: 10px 0;
	}
	
	.header-logo
	{
		max-width: -ms-calc(100% - 60px);
		max-width: calc(100% - 60px);
	}
	
	.header-nav-toggle
	{
		display: block;
		margin-top: 40px;
	}
	
	.header-logo-container,
	.header-nav
	{
		border: none;
	}
	
	.header-nav
	{
		padding: 0;
		width: auto;
		position: absolute;
		top: 100%;
		left: -10px;
		right: -10px;
		z-index: 1001;
		overflow: visible;
		opacity: 0;
		background-color: #fff;
		line-height: 0;
		max-height: 100vh;
		max-height: -ms-calc(100vh - 100%);
		max-height: calc(100vh - 100%);

		-webkit-transition: max-height .5s ease-out, opacity .5s, line-height .5s;
		-moz-transition: max-height .5s ease-out, opacity .5s, line-height .5s;
		-ms-transition: max-height .5s ease-out, opacity .5s, line-height .5s;
		-o-transition: max-height .5s ease-out, opacity .5s, line-height .5s;
		transition: max-height .5s ease-out, opacity .5s, line-height .5s;
	}
	
	.header-nav.active
	{
		opacity: 1;
		line-height: 1.4;
		
		-webkit-transition: max-height .5s ease-in, opacity .5s, line-height .5s;
		-moz-transition: max-height .5s ease-in, opacity .5s, line-height .5s;
		-ms-transition: max-height .5s ease-in, opacity .5s, line-height .5s;
		-o-transition: max-height .5s ease-in, opacity .5s, line-height .5s;
		transition: max-height .5s ease-in, opacity .5s, line-height .5s;
	}
	
	.nav-list
	{
		width: 100%;
		float: none;
		background-color: #fff;
	}
	
	.nav-list-item
	{
		float: none;
		margin: 0;
	}
	
	.nav-list-link
	{
		font-size: 24px;
		background-color: #fff;
		z-index: 2001;
		padding: 0 10px;
	}
	
	.nav-list-link.open
	{
		background-color: #f4f4f4;
		color: #a6c636;
	}
	
	.nav-sublist
	{
		position: relative;
		display: block;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}
	
	.nav-sublist-item
	{
		background-color: #f4f4f4;
	}
	
	html.can-hover .nav-sublist-item:hover,
	.nav-sublist-item.hover
	{
		background-color: #fff;
	}
	
	.nav-sublist-link
	{
		padding: 0 10px 0 30px !important;
		line-height: 0;
		opacity: 0;
		z-index: 2001;
		overflow: hidden;
		
		-webkit-transition: padding .5s, opacity .5s, line-height .5s, color .25s, background-color .25s;
		-moz-transition: padding .5s, opacity .5s, line-height .5s, color .25s, background-color .25s;
		-ms-transition: padding .5s, opacity .5s, line-height .5s, color .25s, background-color .25s;
		-o-transition: padding .5s, opacity .5s, line-height .5s, color .25s, background-color .25s;
		transition: padding .5s, opacity .5s, line-height .5s, color .25s, background-color .25s;
	}

	/*.nav-list-link.open ~ .nav-sublist .nav-sublist-link,*/
	/*html.can-hover .nav-list-item:hover .nav-sublist .nav-sublist-link
	{
		padding: 0 10px 0 30px;
	}*/
	
	.nav-list-link.open ~ .nav-sublist .nav-sublist-link
	{
		line-height: 1.4;
		padding: 5px 10px 5px 30px !important;
		opacity: 1;
	}
	
	.headerSearchContainer
	{
		position: relative;
		width: 100%;
		background-color: #fff;
		text-align: center;
		overflow: hidden;

		padding: 0;
		height: 0;

		-webkit-transition: padding .5s, height .5s;
		-moz-transition: padding .5s, height .5s;
		-ms-transition: padding .5s, height .5s;
		-o-transition: padding .5s, height .5s;
		transition: padding .5s, height .5s;
	}
	
	.header-nav.active .headerSearchContainer
	{
		padding: 20px 0;
		height: 72px;
	}
	
	.headerSearchForm
	{
		height: 72px;
		padding: 20px 50px 20px 10px;
		width: 100%;
		top: 0;
		left: 110%;
		left: -ms-calc(100% + 10px);
		left: calc(100% + 10px);
	}
	
	.headerSearchForm.active
	{
		left: 0;
	}
	
	.headerSearchFormSubmit
	{
		top: 20px;
		height: 32px;
		line-height: 32px;
		font-size: 28px;
		width: 50px;
	}
	
	.headerSearchFormInput,
	input[type="search"].headerSearchFormInput
	{
		height: 32px;
		padding: 0;
		font-size: 26px;
	}
	
	.landingCTAs
	{
		position: relative;
		padding: 0;
	}
	
	.landingBlurbs
	{
		min-height: 97px;
	}
	.landingBlurbs .landingBlurbItem .landingBlurbItemText,
	.landingBlurbs .landingBlurbItem div.landingBlurbItemText
	{
		width: 100%;
		box-sizing: border-box;
		background-image: none;
		padding: 0;
	}

	.landingBlurbs .landingBlurbItem.active
	{
		line-height: 1;
		opacity: 1;
	}

	.landingBlurbs .landingBlurbItem .landingBlurbItemText .landingBlurbItemTextDescription
	{
		font-size: 16px;
	}
	
	.landingCTAs .landingSlideCtaItem
	{
		width: 100%;
		max-width: 100%;
	}

	html.can-hover .landingCTAs .landingSlideCtaItem:hover .landingSlideCtaItemContentContainer,
	.landingCTAs .landingSlideCtaItem.hover .landingSlideCtaItemContentContainer,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer
	{
		position: relative;
		left: 0;
		width: 100%;
		padding: 0 10px;
		line-height: 0;
		font-size: 14px;
		height: 0;
		background-color: #ebebeb;
		/*max-height: 0;*/
		opacity: 1;
		overflow: hidden;
		
		-webkit-transition: height .5s, padding .5s, opacity .5s, line-height .5s;
		-moz-transition: height .5s, padding .5s, opacity .5s, line-height .5s;
		-ms-transition: height .5s, padding .5s, opacity .5s, line-height .5s;
		-o-transition: height .5s, padding .5s, opacity .5s, line-height .5s;
		transition: height .5s, padding .5s, opacity .5s, line-height .5s;
	}
	
	html.can-hover .landingCTAs .landingSlideCtaItem:hover .landingSlideCtaItemContentContainer.active,
	.landingCTAs .landingSlideCtaItem.hover .landingSlideCtaItemContentContainer.active,
	.landingCTAs .landingSlideCtaItem.has-hover .landingSlideCtaItemContentContainer.active
	{
		padding: 10px;
		line-height: 1.4;
		width: 100%;
		/*max-height: 1000px;*/
	}

	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContent
	{
		display: block;
		float:   none;
		line-height: 1.4;
		padding: 10px;
		width: 100%;
	}
	
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer br
	{
		display: none;
	}
	
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a
	{
		margin: 0;
		line-height: 0;
		max-height: 0px;

		-webkit-transition: padding .5s, opacity .5s, line-height .5s, max-height .5s;
		-moz-transition: padding .5s, opacity .5s, line-height .5s, max-height .5s;
		-ms-transition: padding .5s, opacity .5s, line-height .5s, max-height .5s;
		-o-transition: padding .5s, opacity .5s, line-height .5s, max-height .5s;
		transition: padding .5s, opacity .5s, line-height .5s, max-height .5s;
	}
	
	html.can-hover .landingCTAs .landingSlideCtaItem:hover .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem.hover .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem.has-hover .landingSlideCtaItemContentContainer a
	{
		line-height: 1.4;
		max-height: 100px;
	}
	
	
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a,
	.landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer a.boxLink
	{
		margin-top:      10px;
		float: right;
		font-size: 21px;
	}

	body,
	.label
	{
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	article,
	article.column
	{
		margin-bottom: 30px;
	}

	article div.banner
	{
		font-size: 24px;
	}
	
	article div.banner-image div.wrapper
	{
		padding: 8px 10px;
		text-align: center;
	}
	
	.aside-left
	{
		margin-top: 30px;
	}
	
	.aside-right
	{
		display: none;
	}
	
	article .pageCtaContainer
	{
		width: 100%;
	}
	
	.pageCta
	{
		text-align: center;
		padding: 20px;
	}
	
	.pageCtaText
	{
		font-size: 24px;
	}
	
	.pageCtaButton
	{
		font-size: 30px;
		margin: 20px 0 0 0;
		float: none;
	}
	
	html.flexbox .pageCtaButton
	{
		display: block;
	}
	
	.pageCtaButtonText
	{
		margin: 0 10px;
		display: block;
	}
	
	.pageCtaButton:after
	{
		margin-top: 10px;
		width: 60px;
		height: 60px;
	}
	
	div.portfolio-filter
	{
		display: none;
	}
	
	div.portfolioLanding
	{
		height: auto;
		/*min-height: 605px;*/
	}

	div.portfolioLanding div.window,
	div.portfolioLanding ul
	{
		/*min-height: 625px;*/
		height:   auto;
		position: relative;
	}
	
	div.portfolioLanding ul#tileSet
	{
		display: block;
		text-align: center;
		width: 100% !important;
		/*max-width: 625px;*/
		margin: 0 auto !important;
		left: 0 !important;
	}
	
	div.portfolioLanding ul li
	{
		display: inline;
		width: 100%;
		height: auto;
		float: none;
	}

	div.portfolioLanding ul li ul
	{
		height: auto;
		display: inline;
	}
	
	div.portfolioLanding ul li ul li
	{
		display: none;
		overflow: hidden;
		height: auto;
		margin: 0;
		width: 50%;
		box-sizing: border-box;
		padding: 5px;
		background-color: transparent;
		float: left;
	}

	div.portfolioLanding ul li ul li.portfolioListItemShowMobile
	{
		display: block;
	}
	
	.tileSetColumnItem:nth-of-type(2n+1) .tileSetColumnListItem:nth-of-type(1),
	.tileSetColumnItem:nth-of-type(2n+1) .tileSetColumnListItem:nth-of-type(3),
	.tileSetColumnItem:nth-of-type(2n+0) .tileSetColumnListItem:nth-of-type(2)
	{
		/*background-color: red;*/
		clear: left;
	}
	
	.tileSetColumnItem:nth-of-type(2n+0) .tileSetColumnListItem:nth-of-type(1),
	.tileSetColumnItem:nth-of-type(2n+0) .tileSetColumnListItem:nth-of-type(3),
	.tileSetColumnItem:nth-of-type(2n+1) .tileSetColumnListItem:nth-of-type(2)
	{
		/*background-color: green;*/
		clear: right;
	}
	
	/*div.portfolioLanding ul li ul li:nth-of-type(2n)
	{
		clear: both;
	}*/
	
	div.portfolioLanding ul li ul li:nth-of-type(2n)
	{
		clear: right;
	}

	div.portfolioLanding ul li ul li div
	{
		position: relative;
		width: 100%;
		height: auto;
		min-height: 100px;
		display: block;
		font-size: 20px;
		color: #666;
		text-align: left;
		background-color: transparent;
	}

	div.portfolioLanding ul li ul li a.tileSetColumnListItemLink
	{
		background-color: #ebebeb;
	}
	
	div.portfolioLanding ul li ul li div,
	div.portfolioLanding ul li ul li:hover div
	{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
	}
	
	.portfolioLoadMoreButton,
	.load-more-button
	{
		display: block;
		clear: both;
		width: 200px;
		text-align: center;
		border: none;
		background-color: #9c9c9c;
		margin: 0 auto;
		color: #fff;
		font-size: 14px;
		font-weight: 700;
		box-sizing: border-box;
		padding: 10px;
		margin-top: 5px;
	}
	
	.portfolioLoadMoreButton[disabled],
	.portfolioLoadMoreButton:disabled,
	.load-more-button[disabled],
	.load-more-button:disabled
	{
		background-color: #cbcbcb;
	}

	.portfolio-view-label
	{
		display: none;
	}
	
	/*.portfolio-filter
	{
		padding-top: 10px;
	}*/
	
	.portfolio-filter-select,
	.portfolio-filter-option
	{
		min-height: 30px;
		line-height: 30px;
	}
	
	.portfolio-filter-select
	{
		margin: 10px 0;
		display: block;
		width: 100%;
		float: none;
	}
	
	.portfolio-filter-parent
	{
		display: none;
	}
	
	.portfolio-filter-parent.portfolio-filter-select-mobile
	{
		display: block;
	}
	
	.tile-placeholder,
	div#portfolioCategory a.tile-placeholder
	{
		display: none;
	}
	
	div#portfolioCategory a
	{
		display: none;
		float: left;
		margin: 0;
		padding: 5px;
		box-sizing: border-box;
		width: 50.0000%;
		background-color: transparent;
		height: auto;
	}
	
	div#portfolioCategory a.portfolioCategoryListItemShowMobile
	{
		display: block;
	}
	
	div#portfolioCategory a:nth-of-type(2n+0)
	{
		clear: right;
	}

	div#portfolioCategory a:nth-of-type(2n+1)
	{
		clear: left;
	}
	
	div#portfolioCategory a div
	{
		position: relative;
		height: auto;
		min-height: 100px;
		width: 100%;
		font-size: 20px;
	}
	
	div#portfolioCategory a div,
	div#portfolioCategory a:hover div
	{
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: center;
		align-items: center;
	}
	
	.project-header
	{
		display: block;
	}

	.project-title,
	.casestudy-title
	{
		font-size: 20px;
	}

	.project-subtitle,
	.casestudy-subtitle
	{
		font-size: 16px;
	}
	
	.project-title-container
	{
		min-height: 0;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	
	.project-slideshow-controls,
	.casestudy-slideshow-control
	{
		float: none;
		text-align: center;
		padding-top: 10px;
	}
	
	.project-slideshow-control-list
	{
		display: none;
	}
	
	.project-slideshow-controls a,
	.casestudy-slideshow-control a
	{
		display: inline-block;
		float: none;
		margin-right: 10px;
	}

	.header-slideshow-controls
	{
		display: none;
	}

	.footer-slideshow-controls
	{
		display: block;
	}
	
	.insight-landing-feature-left,
	.insight-landing-attributes
	{
		width: 100.0000%;
	}
	
	.insight-header
	{
		font-size: 25px;
		margin-top: 10px;
	}

	.insight-nav-filters
	{
		margin-top: 0;
	}
	
	.insight-landing-attributes-title
	{
		font-size: 20px;
	}

	.insight-landing-attributes-subtitle
	{
		font-size: 16px;
	}

	.insight-landing-attributes
	{
		padding: 10px;
	}
	
	.insight-landing-attributes-button
	{
		display: none;
	}

	.insight-landing-attributes-byline
	{
		margin-bottom: 15px;
	}
	
	.insight-landing-feature
	{
		margin-bottom: 20px;
	}

	.insight-landing-list-item-attributes-title
	{
		font-size: 20px;
	}
	
	.insight-landing-list-item-attributes-byline
	{
		font-size: 16px;
	}

	.insight-landing-list-item-hidden
	{
		display: none;
	}
	
	.insight-nav-label
	{
		display: none;
	}
	
	.insight-nav-filters,
	.insight-nav-list
	{
		display: block;
		width: 100%;
	}
	
	.insight-nav-list
	{
		margin: 10px 0;
	}
	
	.insight-title-container
	{
		min-height: 0;
	}
	
	.insight-title
	{
		font-size: 20px;
	}
	
	.insight-subtitle
	{
		font-size: 14px;
	}
	
	.insight-detail-attributes-author,
	.insight-detail-attributes-date
	{
		font-size: 11px;
	}

	a.portfolioBack
	{
		display: none;
	}

	.contactAddr
	{
		margin: 	0 0 10px 0;
		text-align: left;
	}

	.interest
	{
		padding-left: 0;
	}

	.successMsg
	{
		font-size: 34px;
	}
	
	footer
	{
		display: block;
		padding: 60px 0;
		margin-top: 40px;
	}

	footer .info-container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	footer .info-container .address-info {
		margin: 0;
		width: 100%;
		box-sizing: border-box;
		padding: 0 70px;
	}

	footer .address-info-phone {
		padding: 15px 0 50px;
	}
	
	footer .address-info-phone-link
	{
		font-size: 18px;
	}

	footer .address-info-title
	{
		font-size: 22px;
	}

	footer .certified-b-container
	{
		text-align: center;
		order: 1;
		margin: 30px 0;
	}

	footer .news-social-container {
		margin: 0;
		width: 100%;
		padding: 0 70px;
		box-sizing: border-box;
	}

	footer .newsletter-signup form .email {
		width: 100px;
		flex-grow: 1;
	}
	
	footer .newsletter-signup .submission-subheader {
		width: auto;
		margin-bottom: 10px;
		font-size: 28px;
	}

	footer .newsletter-signup .submission-content {
		width: auto;
		font-size: 16px;
	}

	footer .social
	{
		justify-content: space-evenly;
		gap: 10px;
		flex-wrap: wrap;
	}

	footer .copyright-container .mobile-break {
		display: inline;
	}

	.casestudy-information
	{
		font-size:14px;
	}
	.casestudy-slideshow-control-item
	{
		display: none;
	}

	.casestudy-slideshow-control
	{
		text-align:center;
	}

	.casestudy-slideshow-prev
	{
		margin-right:10px;
	}

	.casestudy-slideshow-next
	{
		margin-left:10px;
	}

	.casestudy-slideshow-description,
	.casestudy-slideshow-info
	{
		padding-top: 10px;
	}

	div.searchContainer ul.sectionList li h2
	{
		font-size: 34px;
	}
}

@media only screen and ( max-width: 700px ) {
	div#tileWrapper div.span_1_5
	{
		width: 33.33%; 
		width: -webkit-calc( 100% / 3 - 1px ); 
		width: 	  -moz-calc( 100% / 3 - 1px ); 
		width: 	  	   calc( 100% / 3 - 1px );
	}
}

@media only screen and ( max-width: 568px ) {
	.successMsg
	{
		font-size: 24px;
	}

	article fieldset.controls
	{
		text-align: center;
	}

	article fieldset.controls a.reset
	{
		margin-top: 10px;
		width: 		100%;
	}

	div.searchContainer ul.sectionList
	{
		height: 85px;
	}

	div.searchContainer ul.sectionList li
	{
		height: 85px;
		
		width: 25%;
		width: -webkit-calc( 25% - 1px ); 
		width: 	  -moz-calc( 25% - 1px ); 
		width: 		   calc( 25% - 1px );
	}

	div.searchContainer ul.sectionList li h2
	{
		font-size: 24px;
		margin:    5px;
	}

	div.searchContainer ul.sectionList li h3
	{
		margin: 0 5px;
	}

	.insight-landing-list-item-attributes + .insight-landing-list-item-attributes
	{
		width: 100%;
		border-left: none;
	}
	
	.insight-landing-list-item
	{
		margin-bottom: 30px;
	}
}

@media only screen and ( max-width: 500px ) {
	div#tileWrapper div.span_1_5
	{
		width: 50%;
	}
}
	
@media only screen and ( max-width: 420px ) { /* Nice */
	.insight-landing-feature-image-mobile
	{
		display: block;
	}
	
	.insight-landing-feature-image
	{
		display: none;
	}

	footer .info-container .address-info {
		padding: 0 20px;
	}

	footer .news-social-container {
		padding: 0 20px;
	}

	footer .newsletter-signup form .footer-button.newsletter {
		padding: 8px 16px;
	}
}

@media only screen and ( max-width: 360px ) {
	.successMsg
	{
		font-size: 20px;
	}

	div.searchContainer ul.sectionList li h2
	{
		font-size: 20px;
	}

	div.searchContainer ul.sectionList li h3
	{
		font-size: 14px;
	}
}

@media only screen and ( max-width: 245px ) {
	div#tileWrapper div.span_1_5
	{
		width: 100%;
	}
}

/**************************************************************************
Retina-specific Image Replacement
**************************************************************************/
@media only screen and ( -webkit-device-pixel-ratio: 2 ) {
	div.infoPanel div.description div.slideshow a.next     { background-image: url( '../images/bullet-right-828282-2x.png' ); }
	div.infoPanel div.description div.slideshow a.prev     { background-image: url( '../images/bullet-left-828282-2x.png'  ); }
	div.infoPanel div.info a                               { background-image: url( '../images/grid-2x.png'                ); }
	div.portfolioFilter ul li:first-child                  { background-image: url( '../images/bullet-down-7d7d7d-2x.png'  ); }
	a.portfolioBack                                        { background-image: url( '../images/grid-2x.png'                ); }
	.successMsg.email 									   { background-image: url( '../images/icons/iconEmailSent-2x.png' ); }

	.searchToggle                                          { background-image: url(/images/2017/icon-search-2x.png);       }
	.pageCtaButton:after                                   { background-image: url(/images/2017/icon-arrow-2x.png);        }
	.landingBlurbs .landingBlurbItem .landingBlurbItemText { background-image: url(/images/2017/icon-camera-2x.png);       }
	.header-logo                                           { background-image: url(/images/2017/logo2023-2x.jpeg);              }
}

/**************************************************************************
Print-specific Styles
**************************************************************************/
@media print
{
	/**************************************************************************
	Boilerplate Styles
	**************************************************************************/
	*
	{
		background:  transparent !important;
		box-shadow:  none !important;
		color:       #000 !important;
		height: 	 auto !important;
		min-height:  0 !important;
		overflow:    visible;
		position: 	 relative;
		text-shadow: none !important;
	}

	html
	{
		font-family: Arial, Helvetica, sans-serif;
	}

	nav,
	img,
	.chromeframe,
	.pageCtaContainer,
	.portfolioFilter,
	.contactMap,
	fieldset.controls,
	footer
	{
		display: none !important;
	}

	a
	{
		text-decoration: underline;
	}

	a[href]:after
	{
		content: ' (' attr( href ) ')';
	}

	a[href^="javascript:"]:after,
	a[href^="#"          ]:after
	{
		content: '';
	}

	abbr[title]:after
	{
		content: ' (' attr( title ) ')';
	}

	pre,
	blockquote
	{
		border:            1px solid #999;
		page-break-inside: avoid;
	}

	thead
	{
		display: table-header-group;
	}

	tr,
	img
	{
		page-break-inside: avoid;
	}

	@page
	{
		margin: 0.5cm;
	}

	article,
	article.column
	{
		margin: 20px auto;
	}

	article div.banner
	{
		font-size:     24px;
		margin-bottom: 20px;
	}

	article div.banner-image
	{
		padding-bottom: 0;
	}

	p,
	h2,
	h3
	{
		orphans: 3;
		widows:  3;
	}

	h2,
	h3
	{
		page-break-after: avoid;
	}

	div.primary-content.span_2_3,
	aside.span_1_3
	{
		width: 100%;
	}

	aside.span_1_3
	{
		border-left: 0;
		margin-top:  20px;
	}

	div.primary-content.affiliations a
	{
		display: block;
		margin:  10px 0;
	}

	div#tileWrapper .column
	{
		width: 50% !important;
	}

	div#tileWrapper .column:nth-child(2n+3)
	{
		clear: left;
	}

	div#tileWrapper a.tile
	{
		padding: 0;
	}

	div#tileWrapper div.crop200
	{
		margin-bottom: 0;
	}

	div.infoPanel .info div.other
	{
		bottom:   0;
		position: relative;
	}

	div.contactAddr
	{
		margin: 	0 0 20px 0;
		text-align: left;
	}

	div.testimonial
	{
		padding: 20px 0;
	}

	.aside-left .testimonial-text
	{
		font-size: 22px;
	}

	article fieldset input[type="date"     ],
	article fieldset input[type="datefield"],
	article fieldset input[type="email"    ],
	article fieldset input[type="number"   ],
	article fieldset input[type="password" ],
	article fieldset input[type="tel"      ],
	article fieldset input[type="text"     ],
	article fieldset input[type="url"      ],
	article fieldset select,
	article fieldset textarea
	{
		border: 1px solid #999;

		-webkit-box-shadow: none;
		   -moz-box-shadow: none;
		    -ms-box-shadow: none;
			 -o-box-shadow: none;
				box-shadow: none;
	}

	@-moz-document url-prefix() { 
		article fieldset input[type="date"     ],
		article fieldset input[type="datefield"],
		article fieldset input[type="email"    ],
		article fieldset input[type="number"   ],
		article fieldset input[type="password" ],
		article fieldset input[type="tel"      ],
		article fieldset input[type="text"     ],
		article fieldset input[type="url"      ],
		article fieldset select,
		article fieldset textarea
		{
			border: 2px solid #ccc;
		}
	}

	/**************************************************************************
	Custom Styles
	**************************************************************************/
	nav,
	footer,
	#leftAside,
	.aside-right,
	.commentForm,
	.adminControls
	{
		display: none;
	}

	body
	{
		margin:  0;
		padding: 0;
	}

	article
	{
		margin:  0;
		padding: 0;
	}

	header
	{
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
	}

	.header-logo-container
	{
		position: static;
	}

	.header-logo
	{
		height:      auto;
		margin:      0;
		padding:     0;
		text-indent: 0;
		width:       auto;
	}

	.header-logo[href]:after
	{
		content: '';
	}

	article div.banner-image
	{
		height: auto;
		position: static;
	}

	article div.banner-image div.wrapper
	{
		position: static;
		height: auto;
		text-shadow: none;
		padding: 0;
	}

	.chromeframe
	{
		display: none;
	}

	.row-vcenter,
	.row-vcenter-desktop,
	.row-stretch,
	.row-stretch-desktop,
	header,
	header.column,
	footer,
	html.flexbox .project-title-container
	{
		display: block;
	}

	html.flexbox .pageCtaButton
	{
	    display: inline-block;
	}

	div.insight-landing-container div.column,
	div.news-landing-container div.column
	{
		float: left !important;
	}

	div.insight-landing-feature div.span_1_2,
	div.insight-landing-feature div.span_5_12,
	div.insight-landing-list div.span_1_2,
	div.insight-landing-list div.span_5_12,
	div.insight-landing-list-item-attributes
	{
		border: 0 !important;
		width:  100% !important;
	}

	div.insight-landing-attributes
	{
		padding-left:  0;
		padding-right: 0;
	}
	
	div.insight-landing-feature div.span_7_12,
	div.insight-landing-list div.span_7_12,
	.insight-landing-list-image-link,
	div.infoPanel a.gridLink,
	div.infoPanel div.image,
	div.insight-slideshow-image,
	div.casestudy-slideshow-image,
	div.casestudy-slideshow-control,
	div.project-slideshow,
	div.portfolio-filter,
	div.insight-nav,
	div.portfolio-nav-links,
	a.portfolioBack,
	a.casestudy-prev,
	a.casestudy-next,
	a.page
	{
		display: none;
	}

	.casestudy-header,
	.category-casestudy,
	.project-title-container,
	.insight-title-container,
	.insight-landing-attributes-button
	{
		padding-left: 0;
	}

	.insight-landing-attributes-button
	{
		border: 0;
	}

	div.infoPanel div.image-info
	{
		padding-left: 0;
		width: 		  100%;
	}

	h1.casestudy-title,
	h1.category-casestudy-title,
	h2.insight-header,
	h3.insight-landing-attributes-title 		 { font-size: 24px; }
	a.insight-landing-list-item-attributes-title { font-size: 20px; }

	.casestudy-slideshow-description 
	{
		padding-top: 10px;
	}

	div.portfolioLanding,
	div.portfolioLanding div.window,
	div.portfolioLanding ul#tileSet,
	div.portfolioLanding ul li,
	div.portfolioLanding ul li ul li a,
	div.portfolioLanding ul li ul li div
	{
		display:  	 block !important;
		float: 	  	 none !important;
		height:  	 auto !important;
		left:  		 0 !important;
		margin-left: 0 !important;
		position: 	 relative !important;
		width:    	 100% !important;
	}

	div.portfolioLanding ul li ul li div
	{
		font-size: 20px;
		padding:   10px 0 0 0;
	}

	.landingCTAs .landingSlideCtaItem
	{
		width: 100%;
	}

	.landingCTAs .landingSlideCtaItem a.pseudo
	{
		padding-left: 0;
	}

	.landingBlurbs .landingBlurbItem,
	.landingBlurbs .landingBlurbItem .landingBlurbItemText
	{
		text-align: left;
		width:  	100%;
	}
}

/**************************************************************************
Browser-specific hacks
**************************************************************************/
html.lt-ie7
{
	behavior: url( '/css/csshover3.htc' );
}

html.lt-ie8 .header-nav
{
	padding-left: 320px;
}

html.lt-ie8 .headerSearchForm input[type="text"]
{
	float: right;
	height: 20px;
}

html.lt-ie9 .headerSearchForm input[type="text"]
{
	border: 1px solid #ccc;
}

html.lt-ie9 .headerSearchFormSubmit
{
	height: 24px;
}

html.lt-ie9 .chromeframe
{
	background: #7d7d7d;
	color:      #fff;
	display:    block;
	font-size:  12px;
	left:       0;
	padding:    10px;
	position:   absolute;
	text-align: center;
	width:      100%;
	z-index:    1000;
}

html.lt-ie9 .chromeframe a
{
	color: #fff;
}

html.lt-ie8 div.portfolioProject div.description
{
	left: 0;
}

html.lt-ie8 footer div.info ul li div.vcard
{
	margin-left:    -80px;
}

html.lt-ie9 .nav-sublist                  { background-color: transparent; background-image: url( '../images/rgba/253-253-253-0.90.png' ) !important; }
html.lt-ie9 .nav-sublist-item:hover         { background-color: transparent; background-image: url( '../images/rgba/227-227-227-0.60.png' ) !important; }
html.lt-ie9 .landingCTAs .landingSlideCtaItem    { background-color: transparent; background-image: url( '../images/rgba/137-137-137-0.90.png' ) !important; }
html.lt-ie9 .landingCTAs .landingSlideCtaItem .landingSlideCtaItemContentContainer { background-color: transparent; background-image: url( '../images/rgba/255-255-255-0.80.png' ) !important; }
html.lt-ie9 div.portfolioLanding ul li ul li div { background-color: transparent; background-image: url( '../images/rgba/133-133-133-0.80.png' ) !important; }
html.lt-ie9 div#portfolioCategory a div          { background-color: transparent; background-image: url( '../images/rgba/133-133-133-0.80.png' ) !important; }
html.lt-ie9 .project-slideshow-image div   { background-color: transparent; background-image: url( '../images/rgba/101-131-070-0.80.png' ) !important; }

/*html.lt-ie9 div.resIntake input[type="checkbox"], html.lt-ie9 div.resIntake input.flatCB
{
	display: inline;
	margin: 0 7px 0 -20px;
}

html.lt-ie8 div.resIntake input[type="checkbox"] + label, html.lt-ie8 div.resIntake input.flatCB + label
{
	margin: 0;
}

html.lt-ie9 div.resIntake input[type="text"], html.lt-ie9 div.resIntake textarea, html.lt-ie9 div.mc-signup-form-element input[type="text"], html.lt-ie9 div.mc-signup-form-element input[type="email"]
{
	border: 1px solid #adadad;
}

html.lt-ie9 div.resIntake .req
{
	font-weight: 700;
}

html.lt-ie9 div.resIntake .flatRadio input
{
	display: inline;
}

html.lt-ie9 div.resIntake .flatRadio input + label
{
	margin-right: 20px;
}

html.lt-ie9 div.resIntake .flatRadio input + label:before
{
	display: none;
}*/
