﻿/* CSS Document */

/* colors: 
 
 red pms 485: e02625
 burg: 701312
 light gray: F4F4F3
 dark gray: 666666

*/

/* ------------------------------------------------------------------------ */
/* START Freestyle
--------------------------------------------------------------------------- */

.fs-color1 { color: #e02625; }
.fs-color2 { color: #701312; }
.fs-color3 { color: #444; }

.fs-white { color: #fff; }
nobr .fs-white { text-shadow: -1px -1px 3px #333; background: #ddd; display: inline-block; padding: .25em .5em; }

.fs-float-left { float: left; margin: 0 1.25em .5em 0; }
.fs-float-right { float: right; margin: 0 0 .5em 1.25em; }
.fs-img-border { display: inline-block; padding: 4px; background: #fff; border: 1px solid #aaa;
	-moz-box-shadow: 0px 0px 6px #ccc;
	-webkit-box-shadow: 0px 0px 6px #ccc;
	box-shadow: 0px 0px 6px #ccc;

	/* For IE 8 */
	-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#eeeeee')";

	/* For IE 5.5 - 7 */
	filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#eeeeee');
}
.fs-img-border img { display: block; }

.fs-subheadingLG { 
	font-size: 1.4em;
	font-weight: bold;
}

.fs-subheadingMED { 
	font-size: 1.25em;
	font-weight: bold;
}

.fs-subheadingSM { 
	font-size: 1.2em;
	font-weight: bold;
}

.fs-bodyTextLG { 
	font-size: 1.1em;
}

.fs-bodyTextSM { 
	font-size: 10px;
}

/* ---------------------- */
/* MFT Defaults
------------------------- */

html {
	overflow-y: scroll;
}
body {
	text-align: center; /*IE6 center page fix*/
	margin: 0;
	min-width: 280px;
	scrollbar-face-color: #eee;
	scrollbar-highlight-color: #eee;
	scrollbar-shadow-color: #eee;
	scrollbar-3dlight-color: #ddd;
	scrollbar-darkshadow-color: #eee;
	/*scrollbar-arrow-color: #ccc;*/
	scrollbar-track-color: #ccc;
	/*line-height: 1.35;*/
}

img {
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
/*table img { max-width: none; }*/
a img {
	border: none;
}
h1 a,
h1 a:hover {
	text-decoration: none;
}
p {
	margin: 0 0 .8em 0;

}
h1, h2, h3 {
	line-height: 1.15;
	margin: 0 0 .3em 0;
}

h1 { font-size: 1.3em; }
h2 { font-size: 1.2em; font-weight: bold; margin-top: 1.1em; } /*2021-10-27 - Added SW to fix Chorme 95 display*/ /*2025-08-27 - SW Added margin-top  */
h3 { font-size: 1.125em; font-weight: bold;} /*2021-10-27 - Added SW to fix Chorme 95 display*/

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th {
	vertical-align: bottom;
}
td {
	/*vertical-align: middle;*/
}
blockquote {
	margin-left: 2em;
}
ul {
	margin: 0 0 1em 2em;
	padding: 0;
	list-style: none;
	/*overflow: hidden;*/
}
ul li {
	background: url(/images/bullet_square_4x4.gif) left .6em no-repeat;
	padding: 0 0 0 10px;
}
ul li, ol li {
	margin-bottom: .5em;
}
ol li ol li { list-style: lower-alpha; margin: .5em 0; }
ol li ol li ol li { list-style: lower-roman; }

.nav,
ul.nav ul,
ol.nav ol {
	margin: 0;
	padding: 0;
}
.nav li {
	margin: 0;
	padding: 0;
	background: none;
}
ol.nav li { list-style: none; }

.nav li a,
.nav li a:hover {
	text-decoration: none;
}

hr {
	border : none;
	border-top : 1px solid #ccc;
	height : 0;
	margin : 1em 0;
	display: inline-block;
	width: 100%;
	clear: both;
}

a {
	color: #333;
	-webkit-transition: background-color .2s ease-in-out, color .2s ease-in-out, border .2s ease-in-out, padding .2s ease-in-out;
	-moz-transition: background-color .2s ease-in-out, color .2s ease-in-out, border .2s ease-in-out, padding .2s ease-in-out;
	-ms-transition: background-color .2s ease-in-out, color .2s ease-in-out, border .2s ease-in-out, padding .2s ease-in-out;
	-o-transition: background-color .2s ease-in-out, color .2s ease-in-out, border .2s ease-in-out, padding .2s ease-in-out;
	transition: background-color .2s ease-in-out, color .2s ease-in-out, border .2s ease-in-out, padding .2s ease-in-out;
}
a:hover {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

.fine-print { font-size: .75em; }

/* ------------------------------------------------------------------------ */
/* START Layout
--------------------------------------------------------------------------- */

div.containerVideo { margin: 0 0 10px 0; }

/*body { background: #444; } moved to masterpage until cuteditor bug gets fixed */
body, button, input, select, textarea { font-family: 'myriad-pro', arial, sans-serif; font-size: 15px; }

div.pageContainer { text-align: left; position: relative; }
div.inside { max-width: 1000px; margin: 0 auto; }

div.header { position: relative; z-index: 2222; background: #fff url(/images/texture-trans.png) left repeat-y; }
div.header div.inside { margin-bottom: 30px; }
div.header-top { background: #eee url(/images/grad2-top-shad.png) repeat-x; border-bottom: 1px solid #ddd; height: 20px; }
	div.header-top div.inside { position: relative; }
	div.tel { padding: .5em 1.5em; background: #000; color: #fff; position: absolute; top: 0; right: 0; font-size: 1.25em; }
	span.tri1 { width: 111px; height: 32px; display: block; position: absolute; top: 0; left: -15px; background: url(/images/triangle1.png) no-repeat; }
    div.header-top div.social { position: absolute; top: 6px; right: 0; z-index: 3; margin: 0; background: #eee; padding: 0px 3px 3px; border-bottom: 1px solid #ddd; }
    div.header-top div.social a { background-color: #444444; }
    div.header-top div.social a img { max-width: 28px; max-height: 28px; }
div.header div.inside { position: relative; padding-top: 62px; }
	a.logo { position: absolute; left: 13px; bottom: 0; display: block; }

div.navTop { margin-left: 315px; position: relative; z-index: 1; }
div.navTop ul { line-height: 1; }
div.navTop ul li { display: inline-block; *display: inline; border-left: 1px solid #efefef; position: relative; }
div.navTop ul li:first-child { border: none; }
div.navTop ul li a { display: inline-block; padding: 15px .75em 0; }
div.navTop ul li a:hover,
div.navTop > ul > li:hover > a,
div.navTop > ul > li.selected > a { color: #e02625; }
	div.navTop ul li ul { display: none; position: absolute; top: 30px; left: -1px; padding: .5em 0; background: #fff; border: 1px solid #efefef; border-top: none; border-right: none; line-height: 1.3; }
	div.navTop ul li:hover > ul { display: block; }
	div.navTop ul li ul li { display: block; border: none; }
	div.navTop ul li ul li:first-child {  }
	div.navTop ul li ul li a { display: block; white-space: nowrap; padding: .5em 1em; }
	div.navTop > ul > li > ul > li > a:hover,
	div.navTop > ul > li > ul > li:hover > a,
	div.navTop > ul > li > ul > li.selected > a { background: #efefef; color: #333; }
	div.navTop > ul > li > ul > li:hover > a { background-image: url(/images/grad1-top-shad.png); background-repeat: repeat-x; }
		div.navTop ul li ul li ul { padding-top: 0; top: 0; left: auto; width: 260px; right: -260px; background: #efefef url(/images/grad1-top-shad.png) repeat-x; }
		div.navTop ul li ul li ul li a { white-space: inherit; color: #333; background: none; }
		div.navTop ul li ul li ul li a:hover { background-color: #ddd; color: #333; }

div.navMain { clear: both; background: #bbb; /*margin-top: 30px;*/ text-align: center; }
div.navMain > ul { font-size: 0; line-height: 0; /*max-width: 1000px;*/ margin: 0 -3px; padding: 0 3px; background: #fff; display: inline-block; }
div.navMain > ul > li { display: inline-block; *display: inline; margin-left: 3px; position: relative; }
div.navMain ul li:first-child { margin: 0; }
div.navMain ul li a { display: inline-block; line-height: 35px; padding: 0 .796em; font-size: 16px; background: #444; color: #ddd; }
    /*div.navMain ul li.selected ul { display: block; }*/
    div.navMain > ul > li > span { display: none; position: absolute; background: url(/images/arrow-nav.png) center top no-repeat; width: 100%; height: 14px; left: 0; bottom: -14px; }
    div.navMain > ul > li.selected > span { display: block; }
div.navMain > ul > li > a { font-weight: bold; }
div.navMain ul li.special > a { color: #555; background: #ddd; }
div.navMain ul li.projects > a { color: #fff; background: #e02625; }
div.navMain > ul > li > a:hover,
div.navMain > ul > li.selected > a,
div.navMain > ul > li:hover > a { color: #555; background: #fff; }
div.navMain > ul > li.special > a:hover,
div.navMain > ul > li.special.selected > a,
div.navMain > ul > li.special:hover > a { color: #fff; background: #222; }
	div.navMain ul li:hover ul { display: block; }
    
	div.navMain > ul > li > ul { display: none; position: absolute; top: 35px; left: -4px; text-align: left; max-width: none; padding-bottom: 5px; background: #fff; border: 1px solid #efefef; border-top: none; border-right: none; min-width: 103%; } /* (min-width added at clients request to make 4 service dropdowns same width as button) */
	div.navMain ul li ul li,
	div.navMain ul li ul li:first-child { display: block; margin: 0; line-height: 1.2; }
	div.navMain > ul > li > ul > li > a { display: block; background: #fff; color: #444; padding: .4em 1em; line-height: inherit; }
	div.navMain ul li ul li a:hover { background: #f7f7f7; }
	
		div.navMain ul li ul.mega { background: #222; padding-bottom: 10px; border: none; left: auto; right: 0; width: 150px; min-width: 0; }
		
		div.navMain ul li ul.mega > li > a { position: relative; z-index: 1; padding: .65em; background: transparent; color: #888; top: 10px; }
		div.navMain ul li ul.mega li a { line-height: 1.2; }
		div.navMain ul li ul.mega > li > a:hover { background: #e02625; color: #eee; } /*Was bkgd color #444 - changed 2017-02-23 SW*/
		
		ul.mega li div.section { display: none; position: absolute; top: 0; right: 0; padding: 10px 150px 0 0; background: #222 url(/images/logo-mark-222.gif) bottom right no-repeat; }
		ul.mega li div.section h2 { font-size: 17px; color: #888; font-family: 'myriad-pro-condensed', arial, sans-serif; font-weight: normal; background: #444; padding: 25px 50px 0; margin: 0; text-transform: uppercase; }
		/*ul.mega li:first-child div.section, (removed at client's request, + added to media queries) */
		ul.mega li:hover div.section { display: block; }
		ul.mega li div.section > ul { background: #444; padding: 15px 50px 0; }
		li.services ul.mega li div.section > ul { width: 370px; /*(2 columns)*/ min-height: 240px; }
		li.projects ul.mega li div.section > ul { /*width: 750px; (4 columns)*/ width: 560px; /*(3 columns)*/ min-height: 370px; }
		
		ul.mega li div.section > ul > li { display: inline-block; *float: left; text-align: left; width: 185px; /*border-right: 2px solid #222;*/ vertical-align: top; margin-bottom: 30px; } /*Made a bunch of style chagnes to this menu (rows 274-283). See backup css file for original styling  2017-02-22 SW*/
		ul.mega li div.section ul li a { padding: .35em 15px; display: block; }
		ul.mega li div.section > ul > li > a { color: #444; font-weight: bold; padding: .5em 1em .25em 15px; background:#bbbbbb; border-right: 3px solid #444444; }
		ul.mega li div.section ul li a:hover { background: #e02625; color: #F4F4F3; }
		
		ul.mega li div.section ul li ul { }
		ul.mega li div.section ul li ul li { display: block; }
		ul.mega li div.section ul li ul li a { color: #F4F4F3; }
		ul.mega li div.section ul li ul li a:hover { background:#666; }		
		ul.mega li div.section ul li ul li ul { border-top: none; margin: 0 0 5px 15px; }
		ul.mega li div.section ul li ul li ul li { }
		ul.mega li div.section ul li ul li ul li a { padding: .25em 15px; background: url(/images/bullet_square_4x4.gif) 0 14px no-repeat;  }

    div.header-shad { min-height: 24px; background: url(/images/grad4.png) repeat-x; margin-top: 3px; }
    
div.main { border-top: 10px solid #c92321; border-bottom: 1px solid #222; background: #e02625 url(/images/texture-red.gif) -50%; }
div.contentContainer { background: #fff url(/images/bkg-main.png) center top no-repeat; overflow: hidden; padding-top: 25px;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
}
div.col1 { float: left; width: 58%; padding: 5%; background: url(/images/texture-trans.png) right repeat-y; /*overflow: hidden;*/ }
div.col2 { float: right; width: 26%; padding: 6.75% 3% 3%; background: url(/images/gradient1.jpg) repeat-x; min-height: 150px; }

div.mast-services { background: #eee url(/images/texture-eee.gif) -100px -100px repeat-y; position: relative; overflow: hidden; }
	div.mast-services ul { margin-right: 30px; }
	div.mast-services > ul > li > a { background: #444; color: #eee; font-size: 24px; margin-bottom: 1em; padding: .4em .75em .5em 5%!important; font-family: 'myriad-pro-condensed', arial, sans-serif; border-top: 10px solid #444; margin-right:-30px; } /* changed border-top from #3d3d3d because of breadcrumb addition on pages 2016-07-26 SW | added -30px margin right to allow background to span div width. 2017-02-20 SW*/
	div.mast-services > ul li:first-child {  }
	div.mast-services > ul li a { display: block; padding: .225em .5em .5em 0; } /*changed top padding from .5em to .225em to allow for 5 child items on services page w/out distorting masthead rotator block height 2016-07-15 SW*/
	div.mast-services > ul li a:hover,
	div.mast-services > ul li.selected a { color: #e02625; }
		div.mast-services > ul li ul { margin: 0 0 1em 5%; }
		div.mast-services > ul li ul li { border-top: 1px solid #aaa; font-size: 16px; }
		div.mast-services > ul li ul li:first-child { border: none; }
		div.mast-services > ul li ul li a {  }
		div.mast-services > ul li ul li a:hover {  }

	div.services-image { float: right; width: 668px; position: relative; margin: 20px 30px 0 0; }
		span.corner3 { background: url(/images/corner-left-444.png); position: absolute; top: 0; left: 0; width: 76px; height: 44px; z-index: 1111; }

div.col1 div.nav > ul li { border-top: 1px solid #efefef; }
div.col1 div.nav > ul li a,
div.col1 div.nav > ul li span { display: block; padding: .5em .75em; }
div.col1 div.nav > ul li a:hover { background: #efefef; }
	div.col1 div.nav > ul li ul { margin: .5em; }
	div.col1 div.nav > ul li ul li { border: 0; margin-bottom: .25em; font-size: .8em; }
	div.col1 div.nav > ul li ul li a {  }
	div.col1 div.nav > ul li ul li.on a {  }
	div.col1 div.nav > ul li ul li a:hover {  }

.breadcrumbs { font-size: .9333em; font-style: italic; background: #444; margin: -10px 0 0 0; padding: 5px 0 5px 50px; color: #aaa; }
.breadcrumbs li { display: inline; }
.breadcrumbs a { color: #aaa; text-decoration:none }
.breadcrumbs a:hover { color: #ddd; }

div.addthis_default_style a.addthis_counter { float: right; }

div.footer { clear: both; text-align: center; background: #444 url(/images/bkg-footer.jpg) center top no-repeat; overflow: hidden; border-top: 10px solid #333; overflow: hidden; color: #999; padding: 0 0 15px 0;/*added 2018-05-24 SW to make space for chat .div and show footer links on mobile/small screens*/ /*line-height: 1;*/ }
div.footer div.inside { background: #444 url(/images/texture-444.gif) -150px 0 repeat-y; padding: 50px 0 15px; font-size: 0.933333333333333em; }

div.footer ul { text-align: center; font-size: 0; margin-bottom: 8px; }
div.footer ul li { display: inline-block; *display: inline; border-left: 1px solid #999; }
div.footer ul li:first-child { border-left: 0; }
div.footer ul li a { display: inline-block; padding: 0 .75em; font-size: 14px; }
div.footer ul li a:hover { color: #ccc; }

div.footer hr { border-top: 1px solid #313131; border-bottom: 1px solid #666; }

div.footer a { color: #999; text-decoration:none}

div.footer div.fine-print p { margin: 40px 0 0; }



/* ---------------------- */
/* END Layout
------------------------- */

/* ------------------------------------------------------------------------ */
/* START Custom Page Styles
--------------------------------------------------------------------------- */

h1 { 
    font-size: 35px; 
    color: #e02625; 
    /*text-transform: lowercase; */
    font-weight: normal;
}

hr { border-top: 1px solid #ccc; border-bottom: 1px solid #f7f7f7; margin: 2em 0; }


blockquote { margin: 2em; font-size: 1.2em; font-style: italic; }

a.menu-toggle { display: none; float: right; background: #000; text-decoration: none; color: #fff; padding: .75em 1em; }
a.page-top { display: none; position: fixed; bottom: 20px; right: 0; background: url(/images/trans80_ffffff.png); text-decoration: none; color: #666; padding: .75em 1em; }

div.callout-contact h3,
div.nav > ul > li > a,
div.nav > ul > li > span { display: block; font-family: 'myriad-pro-condensed', arial, sans-serif; font-weight: normal; text-transform: uppercase; padding-bottom: .5em; border-bottom: 1px solid #666; margin-bottom: 1em; font-size: 17px; }
div.nav ul { margin-bottom: 2em; }
div.nav ul li a { display: block; padding: .25em .5em; }
div.nav ul li a:hover,
div.nav ul li.selected a { background: #f7f7f7; }
	div.nav ul li ul { margin: 0 0 1em -.5em; }
	div.nav ul li ul li {  }
	div.nav ul li ul li a {  }
	div.nav ul li ul li a:hover {  }

.section1 { background: #f7f7f7 url(/images/texture-trans.png); padding: 20px 50px; margin: 1em -50px; } /* mod padding from 50px and margin from 2em -50px, 2017-01-19 for careers page*/


/* careers */
body.careers .section1 hr { margin: 0; }
.CAR_position { margin-top: .8em; }
.position-container { display: inline-block; width: 100%; margin-bottom: 1em; }

/* projects callout */
div.featured-projects { clear: both; background: #222 url(/images/texture-222.gif) right 0 repeat-y; color: #aaa; padding: 20px 0 30px; }
div.featured-projects h2 { font-family: 'myriad-pro-condensed', arial, sans-serif; font-weight: normal; text-align: center; color: #aaa; background: url(/images/grad-rule.png) center repeat-x; display: block; position: relative; font-size: 24px; padding-bottom: .25em; margin-bottom: .75em; }
div.featured-projects h2 em { font-size: 17px; font-style: normal; color: #777; text-transform: uppercase; }
div.featured-projects h2 a { font-size: .5em; position: absolute; right: 0; top: .5em; color: #fff; background: #555; text-decoration: none; display: inline-block; padding: .25em .5em; font-family: 'myriad-pro', arial, sans-serif; }
div.featured-projects h2 a:hover { background: #777; }

div.featured-projects ul { white-space: nowrap; margin: 0 25px; } /* when anythingslider script isnt loaded */
    div.featured-projects div.anythingWindow > ul { margin: 0; } /* when it is */
div.featured-projects li { white-space: normal; display: inline-block; *display: inline; vertical-align: top; 
    /*height:139px;
    overflow:hidden;
    width:285px;
    margin-left:30px;*/
}

/* prevent fouc */
div.featured-projects li { width: 315px; /*width: 33.33%;*/ overflow: visible!important; }

div.featured-projects li a/*,
.project-box-link*/ { background: #701312; color: #fff; display: block; overflow: hidden; margin-right: 45px; position: relative; min-height: 150px; 
     /*height:100%; */
}

/*.project-box {
    float:left;
    height:139px;
    margin-bottom:5px;
    margin-right:5px;
    width:315px;
}

.projects-list {
    overflow:hidden;
}

    .projects-list a {
        text-decoration:none;
    }
    .projects-list a:hover {
        color:#fff;
        text-decoration:none;
    }
*/
    div.featured-projects li a:hover { background: #e02625; }
	div.featured-projects img { float: left; border: 2px solid #fff; border-top: none; border-left: none; width: auto!important; max-width: 150px; }
	div.featured-projects span.title { display: inline-block; width: 36%; padding: 6% 1% 40px 6%; }
	div.featured-projects span.title strong { font-weight: 600; font-size: 13px; }
	div.featured-projects span.title em { display: block; font-style: normal; font-size: 11px; }

    .projects-list .more,
	div.featured-projects span.more { color: #333; position: absolute; bottom: 0; right: 0; width: 100%; }
    div.featured-projects a:hover span.more { font-weight: bold; }


p.locations { font-size: 0.733333333333333em; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 20px; text-align:center}

.more { display: block; background: url(/images/button-more.png) right bottom no-repeat; text-decoration: none; padding-right: 23px; min-height: 20px; min-width: 51px; text-align: right; padding-top: 5px; border-bottom: 5px solid #fff; }
.more:hover { font-weight: bold; }

div.callouts1 { clear: both; background: #888; padding: 3%; overflow: hidden; }

div.callouts1 div.widget-container { width: 41.5%; float: right; min-height: 190px; }
div.callouts1 div.widget-container:first-child { float: left; }
div.callouts1 div.callout-widget-container { padding: 0; width: 47.875%; background: none; }

div.callout1 { background: #eee; padding: 1.5em; text-align: center; margin-top: 2em; border:none }
div.callout1 strong { margin-right: .5em; }
div.callout1 a { margin-left: .5em; }

div.rpt-callout,
div.rpt-callout img { min-width: 453px; position: absolute; }

/* homepage */

div.mast-home { position: relative; margin: 15px 0 15px; height: 315px; /*overflow: hidden;*/ }
div.mast-home img { max-width: none; }
div.mast-home ul { overflow: hidden; white-space: nowrap; } /* prevent fouc */
div.mast-home ul li { display: inline-block; white-space: normal; }
	a.rpt_repeater { display: block; min-height: 290px; min-height: 315px; /*width: 1000px;*/ }
	div.mast-home div.anythingSlider-custom .forward { right: 13px; }
	div.mast-home div.anythingSlider-custom .back { left: 13px; }
div.mast-home ul li { position: relative; }
/*div.mast-home img { max-width: none; }*/
div.mast-home span.field1 { display: block; width: 24%; position: absolute; top: 0; right: 8%; max-height: 250px; overflow: hidden; overflow-y: auto; color: #ddd; font-family: 'myriad-pro-condensed', arial, sans-serif; font-size: 26px; line-height: 1.25; margin: 70px 0 0 68%; }
div.mast-home .image1, /*{ position: absolute; bottom: 0; left: 0; margin-left: 40px; }*/
div.mast-home .image2 { position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; }
	/*span.corner1,
	span.corner2 { position: absolute; display: block; width: 76px; height: 44px; }
	span.corner1 { background: url(/images/corner-left-e02625.png); top: 0; left: 0; }
	span.corner2 { background: url(/images/corner-right-e02625.png); bottom: 0; right: 0; }*/

div.spotlight { 
    background: url(/images/heading-vert-spotlight.gif) repeat-y; 
    padding-left: 50px; 
}
div.spotlight div { background: #fff url(/images/grad3-vert.gif) repeat-y; padding-bottom: 25px; border-left: 3px solid #fff; }
div.spotlight h2 { display: block; background: #ccc; color: #555; font-size: 22px; padding: 22px 25px; margin: 0; font-weight: normal; font-family: 'myriad-pro-condensed', arial, sans-serif; text-transform: uppercase; }
div.spotlight h2 + a { display: block; background: #222 url(/images/logo-mark-222.gif) 98% 105% no-repeat; }
div.spotlight img { border: 3px solid #fff; border-left: 0; border-right: 0; }
div.spotlight p { background: #701312; margin-left: -25px; padding: 1em 1em 1em 25px; color: #fff; font-size: .9em; }
div.spotlight p strong { font-weight: 600; }
div.spotlight p em { font-style: normal; font-size: .9em; display: block; }
div.spotlight .more { margin-top: -36px; border-bottom-width: 3px; }



body.homepage .col1 p.locations { color: #666; background: #eee; line-height: 1.25em; margin: 4em -50px 0; display: block; padding: 25px 50px 25px; }
body.homepage .col2 { width: 32%; padding: 0; }

body.homepage div.callout-contact,
body.project div.callout-contact,
body.contact-us div.callout-contact { display: none; }

/* projects landing page (grid) */

/*body.projects-gallery div.col1 { 
    padding: 5px 30px 30px 5px; 
    width: 64.5%; 
}*/

body.projects-gallery.index div.col1 { width: auto; float: none; }
body.projects-gallery.index div.col2 { display: none; }

div.projects-list { margin: -1% 0 0 -3%; font-size: 0; }
    div.project-box { display: inline-block; *display: inline; margin: 3% 0 0 3%; width: 30.33%; background: #701312; font-size: 15px; vertical-align: top; }
        div.project-box a { display: inline-block; color: #fff; text-decoration: none; position: relative; width: 100%; min-height: 240px; }
            div.project-box a span,
            div.featured-projects a span { 
                -webkit-transition: all .2s ease-in-out;
	            -moz-transition: all .2s ease-in-out;
	            -ms-transition: all .2s ease-in-out;
	            -o-transition: all .2s ease-in-out;
	            transition: all .2s ease-in-out;
             }
        div.project-box a span.title { display: block; position: absolute; bottom: 0; left: 0; width: 90%; padding: 3% 5% 6%; background: #701312; }
            div.project-box a:hover span.title { background: #e02625; }
            div.project-box a:hover span.more { font-weight: bold; }
        div.project-box a span.title em { display: block; max-width: 60%; }

/* projects page */
body.projects-gallery div.main div.inside { margin-top: -10px; }
body.project div.col1 { float: right; padding: 5px 30px 30px 5px; }
body.project div.col2 { float: left; width: 32%; background: none; padding: 0; }
body.project div.col1 h1 { display: none; }
body.project div.col1 { width: 64.5%; }
div.project-heading { background: url(/images/heading-vert-profile.gif) left 25px repeat-y; padding-left: 52px; margin-bottom: 50px; }
div.project-heading div { background: #eee; border-bottom: 1px solid #ddd; padding: 45px 30px 30px 30px; color: #555; min-height: 8em; }
div.project-heading h1 { font-family: 'myriad-pro-condensed', arial, sans-serif; border-bottom: 1px solid #aaa; font-size: 22px; margin-bottom: 20px; padding-bottom: 20px; color: #555; text-transform: uppercase; }
div.project-heading p { font-size: 15px; font-weight: 600; }
div.project-heading em { font-size: 13px; font-weight: normal; font-style: normal; display: block; }
div.project-details { font-size: 12px; margin: 0 0 0 18%; color: #999; text-align: center; }
div.project-details div { margin-bottom: 2.75em; }
	body.projects-gallery div.col1 h2,
	div.project-details h3 { font-size: 16px; color: #aaa; text-transform: uppercase; background: url(/images/rule-ddd.gif) center no-repeat; overflow: hidden; margin-bottom: 1.5em; font-weight: normal; font-family: 'myriad-pro-condensed', arial, sans-serif; }
	body.projects-gallery div.col1 h2 { background-repeat: repeat-x; margin-bottom: 1em; }
	body.projects-gallery h2 span,
	div.project-details h3 span { display: block; float: left; background: #fff; padding-right: .25em; }
	div.project-details a { color: #999; }
	div.project-details p { width: 32%; display: inline-block; *display: inline; margin-right: 15%; vertical-align: top; }
	div.project-details iframe { width: 40%; max-height: 65px; display: inline-block; *display: inline; margin-right: 5% }
		div.project-details p strong { font-size: 2.1666em; display: block; font-weight: normal; color: #e02625; line-height: 1; }
	div.project-details ul { margin: 0 0 2em 0; text-align: left; }
	div.project-details ul li { background: url(/images/icon-arrow-list.gif) left .4em no-repeat; padding: 0 0 0 10px; }
	div.project-details a { display: inline-block; }
	div.project-details a img { max-width: 200px; margin: 0 2px 4px; }
div.prj-thumbs { margin-top: 2px; }	
div.prj-details { padding: 40px; background: url(/images/grad2.gif) repeat-x; border-top: 1px solid #ccc; margin-top: 2px; }
div.prj-details h2 span { background: url(/images/grad2.gif) left -40px repeat-x; }
/*.projvideosw{ float:right; width:50%; margin:5px 20px 10px 20px;}*/ /* project video image link added 06-2016 SW*/

h5 {	/*Additional project dividers Added 2016-08-03 SW*/
line-height: 1.15; margin: 0 0 1em 0; font-size: 16px; color: #aaa; text-transform: uppercase;
/* background: url(/images/rule-ddd.gif) center no-repeat; */
/* overflow: hidden; */ margin-bottom: 1.5em; font-weight: normal; font-family: 'myriad-pro-condensed', arial, sans-serif;
/* background-repeat: repeat-x; */ padding-right:5px; /* controls distance from end of heading to start of line*/ /* float:left; */ display:inline-block; position:relative; }
h5:before, h5:after {
	background:#ddd;
	content:"";
	display:block;
	height:1px;
	position:absolute;
	top:50%;
	width: 9999%;
	}
h5:before { right:100%; }
h5:after { left:100%; }

.containerSW { overflow:hidden; text-align:left; }

div.videosPane { display:inline-block; float:right; width:50%; margin:10px; position: relative; } /*Styling for new embedded video player 2018-03-27 SW */

/* video play icon overlay styles - added 2018-04-03 SW */
.play-overlaySW {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	/*transition: 1s ease;*/
	opacity: .7;
    	text-shadow: 2px 2px 4px #000000;
	}
.fa-iconSW {
	color:#FFF;
	font-size: 100px;
	text-align: center;
	}
.icon-centerSW{
	position:absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	/*z-index: -1; test-passed */
	}
div.play-overlaySW:hover { opacity: .95;}
.fa-iconSW:hover {color: #E02625; }


/* services page */
body.cms div.contentContainer,
body.projects-gallery.project div.contentContainer { background-image: none; padding-top: 0; position: relative; }
body.cms div.contentContainer { padding-top: 2px; }
/*body.cms div.mast-services { margin-top: -10px; }*/

span.tri2 { display: block; background: url(/images/triangle2.png); position: absolute; width: 297px; height: 63px; top: 0; right: 0; z-index: 1111; }

/* Main elastislide fixes */
div.elastislide-wrapper { box-shadow: none; background: none; }
div.elastislide-horizontal { padding-top: 0; padding-bottom: 0; }

ul.elastislide-list,
ul.elastislide-list li { max-height: none!important; height: auto!important; }
ul.elastislide-list > li { vertical-align: top;
	*display: inline!important; /* needed for ie7 */
	max-width: 100px!important; /* sets panel widths */
}
ul.elastislide-list ul li { display: list-item; }
ul.elastislide-list ul li a { width: auto!important; }
ul.elastislide-list div.panel { padding: 0; white-space: normal; }
ul.elastislide-list > li:first-child div.panel { padding: 0; }

.elastislide-wrapper nav span { background: url(/scripts/AnythingSlider-1.9.4/images/arrows-custom.png) no-repeat; left: -12px; background-position: -24px top; }
.elastislide-horizontal nav span.elastislide-next { right: -12px; background-position: left top; }

/* specific elastislide styles */

/*div.featured-projects ul.elastislide-list > li { max-width: 315px!important; }
div.featured-projects ul.elastislide-list div.panel { padding: 0 0 0 45px; }*/
div.prj-thumbs .elastislide-horizontal { padding: 0; background: #333; border: 1px solid #fff; border-left: none; border-right: none; }
div.prj-thumbs ul.elastislide-list { padding: 0; }
div.prj-thumbs ul.elastislide-list > li { max-width: 127px!important; /* sets panel widths */ }
div.prj-thumbs ul.elastislide-list li { padding: 0 2px; background: #fff; }
div.prj-thumbs ul.elastislide-list div.panel { padding: 0; height: 127px; overflow: hidden; }

div.prj-thumbs ul.elastislide-list li div a {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    height: 100%;
	*width: 100%;
	background: #333;
}
div.prj-thumbs ul.elastislide-list li div span {
    vertical-align: middle;
	display: inline-block;
	height: 100%;
}
div.prj-thumbs ul.elastislide-list li div img {
    vertical-align: middle;
	display: inline!important;border: none; /*max-width: none!important;*/ 

}
/* resources page */
/* START collapsible accordion styles added 2021-02-05 SW */
.accordion-colsw > input[name="collapse-colsw"] { display: none; }
.accordion-colsw label, .accordion-colsw .content-colsw { max-width: 620px; margin: 0 auto; }
.accordion-colsw .content-colsw {
  /*background: #fff;*/ /*2021-02-08 SW*/
  overflow: hidden;
  height: 0;
  transition: 0.5s;
  /*box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);*/ /*2021-02-08 SW*/
}

.accordion-colsw > input[name="collapse-colsw"]:checked ~ .content-colsw { height: auto; /*height: 380px;*/ transition: height 0.5s; }
.accordion-colsw label { display: block; }
.accordion-colsw { /*margin-bottom: 1em;*/ }
.accordion-colsw > input[name="collapse-colsw"]:checked ~ .content-colsw { border-top: 0; transition: 0.3s; margin-top: 10px; }
.accordion-colsw .handle-colsw { margin: 0; font-size: 16px; }

.accordion-colsw label {
  color: #fff;
  cursor: pointer;
  font-weight: normal;
  padding: 5px;
  background: #bbbdc0; /*2021-02-08 SW*/
  user-select: none;
}

.accordion-colsw label:hover, .accordion-colsw label:focus { background: #666666; /*2021-02-08 SW*/ }

.accordion-colsw .handle-colsw label:before {
/*  font-family: FontAwesome;
  content: "\f107";*/
  content: ">";
  display: inline-block;
  margin-right: 10px;
  margin-left: 5px;
  font-size: 1em;
  line-height: 1.556em;
  vertical-align: middle;
  transition: 0.4s;
	transform: rotate(90deg);
  
}

.accordion-colsw > input[name="collapse-colsw"]:checked ~ .handle-colsw label:before {
    transform: rotate(270deg);
    transform-origin: center;
    transition: 0.4s;
}
/* END collapsible accordion styles added 2021-02-05 SW */


/* START Roundtables Playlist Hover Style 20225-04-09 SW */
.rt-playlist-button {content: url('/files/Resources/rt-video-playlist.png');}

.rt-playlist-button:hover {content: url('/files/Resources/rt-video-playlist_hover.png')}
/* END Roundtables Playlist Hover Style 20225-04-09 SW */

/* calculator page */
div.cal-calculate,
div.cal-calculate-user { text-align: right; margin-top: 1em; }
div.cal-calculate button,
div.cal-calculate-user button { margin-left: .5em; } 
div.cal-continue button,
div.cal-continue-user button { margin-right: .5em; }
div.cal-continue button,
.cal-calculate-user button { 
    float: left; 
} /* http://entech.gomft.com/resources/calculators.aspx#step-2 page after entering personal info only */
table.cal-results { table-layout: fixed; }
img.calc-graph { margin: 1.5em 0; border: 1px solid #ccc; }

body.calculators.resources table.data th,
        body.calculators.resources table.data tr:first-child th { background: #eee; font-weight: bold; }

/* blog */
body.news .breadcrumbs { display: none; }
/*START Added 2017.03.06 to layout PRWA presentations*/
div.day {
	margin:25px 0 0 0;
	background-color:#E6E6E6;
	padding:20px 10px;
	}
div.sess-auth {
	background-color:#FEFEFE;
	margin:0 0 10px 0;
	}
div.session {
	padding:15px;
	float:left;
	width:70%;
	}
div.author {
	float:left;
	width:20%;
	padding:15px 0;
	}
div.author img { max-width:100px; }
div.sess-spacer { clear:both }
/*END Added 2017.03.06 to layout PRWA presentations*/
div.blog-author-end-left { width: 25%; float: left; max-width: 136px;}
div.blog-author-end-right { width: 65%; float: right; background-color: #F4F4F3; padding: 20px; margin: auto; }
div.blog-author-end-container { padding: 20px; border: #F4F4F3 solid 5px; position: relative; display: flex; align-items: center; margin-bottom: 10px;}
div.shoutSW { /*div to shout info - originally for leaky infrastructure blog SW 2019-06-27*/
    margin: 10px 0px;
    padding: 15px;
    /*float: left;*/
    font-size: 2em;
    line-height: 90%;
    font-weight: bold;
/*    width: 100%;*/
    background-color: #F4F4F3;
    }
/* responsive div containers for 2 column layout - originally for leaky infrastructure blog SW 2019-06-27*/
div.fiftyleftSW {width: 49%; float: left} 
div.fiftyrightSW {width: 49%; float: right}
/*feature image within a container div, that responds. Originally for Intern profile blog SW-2019-07-01*/
div.featureSW {
    float: right;
    margin: 15px;
    width: 40%;
    }
div.featureSW img {
    width: 100%;
    }

div.twofivefrSW { width: 25%; float: right; margin-left: 20px; }
div.fourzerofrSW { width: 40%; float: right; margin-left: 20px; }
div.fivezerofrSW { width: 50%; float: right; margin-left: 20px; }
div.sevenfivefrSW { width: 75%; float: right; margin-left: 20px; }
/*originally for leaky water infrastructure blog 2019-07-11 SW*/

div.twofiveflSW { width: 25%; float: left; margin-right: 20px; }
div.fourzeroflSW { width: 40%; float: left; margin-right: 20px; }
div.fivezeroflSW { width: 50%; float: left; margin-right: 20px; }
div.sevenfiveflSW { width: 75%; float: left; margin-right: 20px; }
/*expanded on float right to float left as alternative 2020-11-13 SW*/

/* contact us page */
div.location-maps p { padding: 1em 0; border-bottom: 1px solid #ccc; margin: 0; font-size: .85em; }

/*Simple Table 2-3 Column - Added 2018-11-5 SW */
.table-sw-simple {
  background: white;
  border-radius:3px;
  border-collapse: collapse;
  /*height: 320px;*/
  margin: auto;
  max-width: 600px;
  padding:5px;
  width: 100%;
  /*box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);*/
  animation: float 5s infinite;
}

.table-sw-simple th{
  color:#FFFFFF;
  background:#666666;
  border-bottom: 4px solid #FFF;
  border-right: 1px solid #BBBDC0;
  font-size: 1.1em;
  font-weight: 400;
  padding: 10px 24px;
  text-align:left;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
  vertical-align:middle;
}

.table-sw-simple th:first-child { border-top-left-radius:3px; }
.table-sw-simple th:last-child { border-top-right-radius:3px; border-right:none; }

.table-sw-simple tr {
  /*border-top: 1px solid #C1C3D1;
  border-bottom-: 1px solid #C1C3D1;*/
  color:#666666;
  font-size: 1em;
  font-weight:normal;
  text-shadow: 0 1px 1px rgba(256, 256, 256, 0.1);
}

.table-sw-simple tr:first-child { border-top:none; }
.table-sw-simple tr:last-child { border-bottom:none; }
.table-sw-simple tr:nth-child(odd) td { background:#F4F4F3; }
/*.table-sw-simple tr:nth-child(odd):hover td, .table-sw-simple tr:nth-child(even):hover td { background:#F4F4F3; }*/ /*2022-11-15 - hidden, controls even/odd row highlight on hover, if different colors are desired*/
.table-sw-simple tr:last-child td:first-child { border-bottom-left-radius:3px; }
.table-sw-simple tr:last-child td:last-child { border-bottom-right-radius:3px; }


.table-sw-simple tr:hover td, .table-sw-simple tr:hover td a {
	background: #fffbca; /* 2022-11-15 - controls row hover highlight color */
	color:#666666; /* 2022-11-15 - controls cell texc color on hover */
}


.table-sw-simple td {
  background:#FFFFFF;
  padding:8px 24px;
  text-align:left;
  vertical-align:middle;
  font-weight:300;
  /*font-size: .9em;*/
  text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.1);
  border-right: 1px solid #D3D3D3;
}

.table-sw-simple td:last-child { border-right: 0px; }
.table-sw-simple th.text-left { text-align: left; }
.table-sw-simple th.text-center { text-align: center; }
.table-sw-simple th.text-right { text-align: right; }
.table-sw-simple td.text-left { text-align: left; }
.table-sw-simple td.text-center { text-align: center; }
.table-sw-simple td.text-right { text-align: right; }

div.location-maps p strong { font-weight: 600; font-size: 1.125em; }
div.location-maps p a { float: right; display: inline-block; background: #e02625; padding: .125em .25em; font-size: 10px; text-decoration: none; color: #fff; border: 1px solid #c92321; margin-left: 1em; }
div.location-maps p a:hover { background: #c92321; border-color: #701312; }

/* admin */
body.admin div.col1 { width: auto; float: none; }
body.admin div.col2 { display: none; }
/* Tooltip hover added 2022-11-18 SW */
.tooltipSW { position: relative; display: inline-block; color: #666666; }
.tooltipSW .tooltiptextSW {
  visibility: hidden;
  width: 250px;
  background-color: #FFFFFF/*#F4F4F3*/;
  color: #000;
  text-align: left;
  border-radius: 3px;
  padding: 30px;
  font-weight: normal;
  /* Position the tooltip */
  position: absolute;
  z-index: 1;
  top: -5px;
  left: 110%;
}
.tooltipSW:hover .tooltiptextSW { visibility: visible;}

/* SW responsive list for services pages added 3-26-16 | added line-height syle 12-11-15 */
.colstacksw { columns:2; -webkit-columns:2; -moz-column-count:2; line-height:15px; list-style-position:inside}
/* Keep li from spanning columns SW 2016-07-28 added slight unknown top margin to last column */
ul.colstacksw li { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
/* SW embedded video iframes from YouTube that are responsive, added 01-19-2016 - doesn't seem to work in IOS Safari :-( */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* Captions Added 2022-01-13 SW */
.caption-sw { text-align: center; font-size: .8em; padding: 2px 5px 5px 5px; }

/* Attention Added 2022-01-20 SW */
.attentionSW { background-color: #fff3c4; padding: 20px; margin: 15px auto; }

/* Magic 8-ball Added 2022-03-18 SW */
.shake{
    /* Start the shake animation and make the animation last for 1 second */
    animation: shake 1s;
}

  @keyframes shake {
    0% { transform: translate(4px, 4px) rotate(0deg); }
    10% { transform: translate(-4px, -4px) rotate(-1deg); }
    20% { transform: translate(-7px, 0px) rotate(1deg); }
    30% { transform: translate(7px, 4px) rotate(0deg); }
    40% { transform: translate(4px, -4px) rotate(1deg); }
    50% { transform: translate(-4px, 4px) rotate(-1deg); }
    60% { transform: translate(-7px, 4px) rotate(0deg); }
    70% { transform: translate(7px, 4px) rotate(-1deg); }
    80% { transform: translate(-4px, -4px) rotate(1deg); }
    90% { transform: translate(4px, 4px) rotate(0deg); }
    100% { transform: translate(4px, -4px) rotate(-1deg); }
  }
  #message {
      font-size: 1em; color: #701312;
  }

/* utility funding blog table */
	td[class=ufbtablerowcategorysw]{visibility:hidden; display:none; font-weight:bold; vertical-align:top}
	td[class=ufbtablerowcategoryrow1sw]{
		visibility:hidden;
		display:none;
		font-weight:bold;
		vertical-align:top
		}
	td[class=ufbtablerow1sw]{height:85px; vertical-align:top; width:40px; font-weight:bold; background-color:#666; color:#FFF}
	td[class=ufbtablerow2sw]{height:400px; vertical-align:top; width:40px}
	td[class=ufbtablerow3sw]{height:135px; vertical-align:top; width:40px}
	td[class=ufbtablerow4sw]{height:40px; vertical-align:top; width:40px}
	td[class=ufbtablerow5sw]{height:35px; vertical-align:top; width:40px}
	td[class=ufbtablerow6sw]{height:35px; vertical-align:top; width:40px}
	td[class=ufbtablerow7sw]{height:35px; vertical-align:top; width:40px}
	td[class=ufbtablerow8sw]{height:40px; vertical-align:top; width:40px}
	td[class=ufbtablerow9sw]{height:40px; vertical-align:top; width:40px}
	td[class=ufbmaincolumnlabelsw]{vertical-align:top; font-weight:bold; width:40px}
	td[class=ufbmaincolumnlabelrow1sw]{vertical-align:top; font-weight:bold; width:40px}
	table[class=ufbtablestretchsw]{font-size:11px}

/* countdown timer SL Inventory 2024-07-08 */
	div.countdown-timer {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		background-color: #000000;
		padding: 20px 0px;
		gap: 10px;
		margin-bottom: 15px;
	}	
	div.countdown-timer div {
		flex-basis: 20%;
/*		margin: auto;*/
		text-align: center;
		color: #02FF00;
		background-color: #191919;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	div.countdown-timer div p {
		font-size: 5em;
		margin: auto;
	}
	div.countdown-timer div span{
		color: white;
	}

/* ---------------------- */
/* END Custom Page Styles
------------------------- */

/* ------------------------------------------------------------------------ */
/* START Custom Form Styles
--------------------------------------------------------------------------- */

.form-FieldsetDescription { margin-bottom: 1.25em; font-size: 1.125em; }
.form-commentBox { margin-left: 1em; }

input, select, textarea, button, /*.text-button, .text-button-lg, .text-button-sm, .text-buttond,*/ button.button-secondary {
	border: 1px solid #ccc;
	padding: 5px .6em;
	background: #eee url(/images/grad2-top-hilight.png) repeat-x;
    color: #666;
}

button, .text-button, .text-button-lg, .text-button-sm {
	background: #e02625 url(/images/grad2-bot-shad.png) bottom repeat-x;
	color: #fff;
	line-height: 14px; /* ie 7/8 only */
	height: 28px; height: 29px;
	border-color: #701312;
	text-transform:lowercase; /*makes all text buttons lowercase added 2017-02-20 SW*/
	text-decoration: none; /*remove underline 2025-01-03 SW*/
}
.text-buttond, .text-buttond3 {
	background: #333 url(/images/grad2-bot-shad.png) bottom repeat-x;
	color: #fff;
	line-height: 14px; /* ie 7/8 only */
	height: 28px; height: 29px;
	border-color: #333;
}
.text-button-lg,
button.large,
.add-to-cart input { font-size: 1.15em; height: 36px; padding: 0 1em; margin:0 0 3px 0; } /*added margin for multiple inline buttons & stacking SW 2017-SW*/

a.text-button-lg,
a.text-buttond.large { font-size: 1.15em; line-height: 36px; } /* ie 7/8 only */

.text-button-sm { line-height: 18px; height: auto; font-size: .8em; padding: 0 .5em; }

a.text-button, a.text-buttond, a.text-buttond3 {
	line-height: 26px;
	color: #fff;
}
.text-buttond {
	background-color: #333;
	border-color: #333;
}
.text-buttond2 {
	background-color: #dddddd;
	border-color: #dddddd;
}
.text-buttond3 {
	background-color: #999;
	border: 1px solid #ccc;
	padding-left:15px;
	padding-right:15px;
	color:#fff;
	text-decoration:none;
	font-weight:bold;
	
}
.text-button:hover, .text-button-lg:hover, .text-button-sm:hover, button:hover  {
	background-color: #701312;
	color: #fff;
}
/* added text-buttond:hover and changed bgcolor from 333 to 222 SW 2/4/2016 */
.text-buttond3:hover, .text-buttond:hover {
	background-color: #444;  
	color: #fff;
}
div.full-button { /*added 2017-03-17 SW to create full width button/links in side-bar area*/
	height:auto; line-height:.9em; padding:10px;
	}
a:has(.text-button-lg), a:has(.full-button) { /*added 2025-03-14 SW removes hyperlink underline on full .div buttons */
  text-decoration: none;
}
div.callout-contact a { /*added 2017-03-17 SW to keep full width div links/buttons from having underline */
	text-decoration:none!important;}
.gray { /*turns any button light gray/dark gray hover Added 2017-02  SW*/
	background: #cccccc url(/images/grad2-bot-shad.png) bottom repeat-x;
	border-color: #F4F4F3;
	}
.gray:hover {
	background-color: #666666;
	}
.green { /*turns any button light green/dark green hover Added 2022-02  SW*/
	background: #44bd1c url(/images/grad2-bot-shad.png) bottom repeat-x;
	border-color: #F4F4F3;
	}
.green:hover {
	background-color: #2d8310;
	}
button.button-secondary:hover { background: #333; border-color: #000; }
select.text-box-list, select.text-box-100 {
	padding: 4px;
}
input:focus, select:focus, textarea:focus {
	border-color: #ccc;
}

/* ---------------------- */
/* END Custom Form Styles
------------------------- */


/* ------------------------------------------------------------------------ */
/* START Custom Module Styles
--------------------------------------------------------------------------- */

/* JQ UI tabs - make sure to break link to default JQUI CSS! */

div.ui-tabs { margin-top: 20px; }
	ul.ui-tabs-nav { /*text-align: center;*/ margin: 0; }
	ul.ui-tabs-nav li { display: inline-block; *display: inline; margin-left: .25em; vertical-align: bottom; position: relative; bottom: -1px; }
	ul.ui-tabs-nav li:first-child { margin: 0; }
	ul.ui-tabs-nav li.ui-tabs-active { }
	ul.ui-tabs-nav li a { display: inline-block; padding: .75em 1.125em; background: #eee url(/images/grad2-bot-shad.png) bottom repeat-x; color: #333; text-decoration: none; border: 1px solid #ddd; border-bottom: none;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
	}
	ul.ui-tabs-nav li a:hover { background-color: #f7f7f7; }
	ul.ui-tabs-nav li.ui-tabs-active a { background: #fff; }
	
	div.ui-tabs-panel { background: #fff url(/images/grad1-bot-shad.png) bottom repeat-x; border: 1px solid #ddd; padding: 2em; }

ul.testimonials { padding: 15px; }
ul.testimonials li { margin-top: 1em; display: none; }
ul.testimonials li:first-child { margin-top: 0; }

.testimonial { padding: 2em; border-top: 1px solid #ddd; font-size: 1.125em; }
.testimonial span { display: block; font-style: italic; font-weight: bold; margin-top: .5em; }


div.FAQsContainer { font-size: 1.1em; }
div.FAQ_CategoryTitle { background: #ebebeb; padding: .35em 0; border-bottom: 1px solid #dfdfde; }
span.FAQ_CategoryTitleActive { font-weight: bold; }
div.FAQ_Cat { margin-bottom: 1em; }


/* widgets */

.widget-container { background: #ddd; padding: 20px 30px; }
.widget-heading { display: block; font-size: 22px; overflow: hidden; line-height: 1; }
.widget-heading span { float: left; font-family: 'myriad-pro-condensed', arial, sans-serif; }
.widget-heading a { float: right; display: inline-block; background: #e02625; padding: .25em .5em; font-size: 10px; text-decoration: none; color: #fff; border: 1px solid #c92321; margin-top: .5em; *margin: 0; }
.widget-heading a:hover { background: #c92321; border-color: #701312; }
.widget-inner { padding-right: 10px; }

div.news-widget-inner { height: 150px; } /* undo default scroller style */
div.testi-widget-inner { max-height: 150px; overflow: auto; }

div.buzz-widget-container
{
    padding: 0px 30px 10px 30px; /* changed from 10px 30px 2016-07-07 to fit more content */
	height:220px; /* added 2016-07-07 to match other widget height since padding was less */
}
    div.buzz-widget-container .widget-heading
    {
        margin-bottom: 10px;
    }
div.buzz-widget-container div.news-widget-inner { height: 180px; }
    div.buzz-widget-container .datePosted
    {
        font-size: .6875em; color: #666 /* changed font from .55em 2016-07-07 - .55 was too small*/
    }
div.news-widget-inner td p /* added 07-2016 to control "buzz" paragraph text size -sw */
	{ 
		font-size: 12px;
		line-height:12px;
	}

.buzz-table-left /*added 2016-07-08 to control buzz tables SW*/
{
	float:left;
	width:15%; /*originally 25% - updated 2017-11-08 SW*/
	table-layout:fixed;
}
.buzz-table-right /*added 2016-07-08 to control buzz tables SW*/
{
	float:right;
	width:82%; /*originally 70% - updated 2017-11-08 SW*/
}
/*.testimonials-widget-inner {
    height:190px;
}

   

.testimonials-widget-inner .nav{
    height:85%;
    overflow:auto;
}

div.callouts1 div.callout-widget-container {
    background:red;
    padding: 0;
    height:230px;
    overflow:hidden;
    width:450px;
}

p.testi-widget-heading { margin-bottom: 1.25em; }*/
div.testi-widget-inner p { line-height: 1.2; color: #333; }
div.testi-widget-inner p:first-child { font-size: 1.25em; }
div.testi-widget-inner p.signature { text-align: right; font-style: italic; }
    span.quote-left,
    span.quote-right { display: inline-block; width: .75em; font-size: 1.25em; }
    span.quote-left { text-align: right; width:auto; }
    span.quote-right { margin-right: -.75em; }

div.announce-widget-container { position: relative; padding: 0; background: none; border: none; margin: 2em; }
div.announce-widget-inner { height: 50px; overflow: hidden; }
div.announce-widget-inner ul { position: relative; } /* undo default scroller style */
.announce-widget-inner ul li { padding: 15px 0; }
div.announce-widget-inner ul li a { padding: 0!important; color: #fff; font-weight: normal; }
p.announce-widget-heading { float: left; line-height: 50px; background: none; padding: 0 2em; color: #fff; }
p.announce-widget-heading span {  }
p.announce-widget-heading a { position: absolute; top: 0; right: 0; z-index: 1000; padding: 0 1em; margin: 0; }

div.email-widget-container { display:inline-block; background: none;  border: none; padding: 0; }
.email-widget-heading { font-family: 'myriad-pro-condensed', arial, sans-serif; display: inline-block; *display: inline; font-size: 17px; text-transform: uppercase; color: #888; margin: 0 .5em 0 0; vertical-align: middle; }
div.email-widget-body,
div.email-widget-body > div { display: inline-block; *display: inline; }
div.email-widget-body a {color: #FFFFFF;} /* added 2020-04-29 sw controls eNews signup button text color in footer */
span.uppercase {text-transform: uppercase;}
div.search-widget-container p { display: none; }
div.search-widget-container div .text-box { width: 66%; }
div.search-widget-container div .text-button {
	background-image: url(/images/icon-arrow.gif);
	background-position: center;
	background-repeat: no-repeat;
	width: 29px;
	text-indent: -999em;
	border-color: #777;
}
div.search-widget-container div .text-button:hover {
	background-color: #999;
}

div.social
{
    display: inline-block;
    margin-left: 60px;
}
    div.social a
    {
        display: inline-block;
        margin: 0 2px;
        background-color: #777777;
    }
        div.social a img
        {
            max-width: 36px;
            max-height: 36px;
        }
div.social a.linkedin:hover { background: #0076b2; }
		div.social a.blog:hover { background: #e12726; }
		div.social a.youtube:hover { background: #e42d27; }
		div.social a.facebook:hover { background: #3a5a99; }
		div.social a.twitter:hover { background: #55acee; }
		
		/*div.social a:hover { background: #999999; }*/

/*connect page*/

div.connectico { /*connect page icons*/
	width:150px;
	height:150px;
	float:left;
	background-image:url(/Connect/Connect_icons.png);
	background-repeat:no-repeat;
	margin:0px;
	border:none;
}
	a.enews div { /* conect page position news icon*/
	background-position: 0px 0px;
		}
	a.enews:hover div { /*conect page position news icon hover*/
	background-position: 0px -155px;
	}
	a.blog div { /*conect page position blog icon*/
	background-position: -150px 0px;
		}
	a.blog:hover div { /*conect page position blog icon hover*/
		background-position: -150px -155px;
	}
	a.socialcon div { /*conect page position social icon*/
		background-position: -300px 0px;
		}
	a.socialcon:hover div { /*conect page position social icon hover*/
		background-position: -300px -155px;
		}
		
/* Social Media Page */
div.smicon { /*social media page icons*/
	height:100px;
	width:100px;
	background-image:url(/connect/social/sm_icons.jpg);
	background-repeat:no-repeat;
	border:none;
	float:left;
	margin-right:20px;
	margin-top:1em;
	}
/*the hyperlink styles below will control 100x100px div blocks that are hyperlinks using CSS sprites backgorund images to control position. All that is needed is a div.class to set the background image source and div size. 2016-11-30 SW*/
a.imageone div { /*first block*/
	background-position:0px 0px;
	}
a.imageone:hover div { /*first block hover */
	background-position:0px -100px;
	}
a.imagetwo div { /*second block*/
	background-position:-100px 0px;
	}
a.imagetwo:hover div { /*second block hover */
	background-position:-100px -100px;
	}
a.imagethree div { /*third block*/
	background-position:-200px 0px;
	}
a.imagethree:hover div { /*third block hover */
	background-position:-200px -100px;
	}
a.imagefour div { /*fourth block*/
	background-position:-300px 0px;
	}
a.imagefour:hover div { /*fourth block hover */
	background-position:-300px -100px;
	}
a.imagefive div { /*fourth block*/
	background-position:-400px 0px;
	}
a.imagefive:hover div { /*fourth block hover */
	background-position:-400px -100px;
	}

/* ---------------------- */
/* END Custom Module Styles
------------------------- */

/* ------------------------------------------------------------------------ */
/* START Media Queries
--------------------------------------------------------------------------- */

@media only screen
and (max-width : 1020px) {
    
    /* masterpage*/
    div.header div.inside { margin-bottom: 3.5%; }
    
    /* main nav */
    div.navMain > ul { background: #444; margin: 0; padding: 0; }
    div.navMain > ul > li { width: 25%; margin: 0; vertical-align: middle; position: static; }
        div.navMain ul li.special { width: 50%; border-top: 3px solid #fff; }
    div.navMain > ul > li > a { line-height: 1.2; padding: .5em 1em; display: block; border-left: 3px solid #fff; }
        div.navMain > ul > li:first-child > a,
        div.navMain > ul > li.services > a { border: none; }
    div.navMain > ul > li.selected > span { display: none; } /* (arrow) */
    div.navMain > ul > li > ul { left: 0; }
    
    /* mega dropdowns */   
    div.navMain > ul { position: relative; } /* move positioning of dropdowns here */
    div.navMain ul li ul.mega,
    ul.mega li div.section { width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }
    ul.mega li:first-child div.section { display: block; }
    
    div.navMain > ul > li > ul { top: auto; right: 0; bottom: auto; /*left: auto;*/ width: 100%; min-width: 100%; box-sizing: border-box; }
    /*div.navMain ul li.projects ul.mega { display: block; }*/
    
    ul.mega > li { width: 40%; float: right; clear: both; }
        li.services ul.mega > li { float: left; }
        li.services ul.mega li div.section { padding: 10px 0 0 40%; }
		li.projects ul.mega li div.section { padding: 10px 40% 0 0; }
            ul.mega li div.section > ul { width: auto!important; padding: 15px 5% 0; }
            ul.mega li div.section > ul > li { width: 33%; }
    
            ul.mega li div.section h2 { padding: 25px 5% 0; }
    
    /* homepage */
    body.homepage .col1 p.locations { text-align: center; line-height: inherit; padding: 2em 50px; }
    div.mast-home { height: 15%; }
    div.mast-home img { max-width: 100%; }
    
    /* services page*/
    div.mast-services ul { margin: 0; }
    
    /* projects page */
    body.projects-gallery div.col1 { box-sizing: border-box; }
    
}
    
@media only screen
and (max-width : 880px) {
    
    /* homepage */
    body.homepage div.col1 { width: 50%; }
    body.homepage div.col2 { padding: 0; width: 40%; }
    
    /* masterpage */
    div.header div.inside { padding: 0; }
    a.logo { position: static; left: auto; bottom: auto; margin: 1em; }
    div.navTop { margin: 1em auto; }
    div.navTop ul { text-align: center; }
    div.navTop ul li { text-align: left; }
    
    div.footer div.inside { padding: 50px 2em 15px; }
    
    /* project page */
    div.featured-projects img { float: none; border: none; border-bottom: 2px solid #fff; max-width: 100%; }
	div.featured-projects span.title { width: auto; padding: 10px 15px 40px 15px; }
	div.videosPane { display:block; float:none; width:100%; margin:0 0 10px 0;} /*Styling for new embedded video player 2018-03-27 SW*/


    div.social
    {
        display: block;
        margin: 35px 0 0 0;
    }
}

@media only screen
and (max-width : 660px) {

    div.callouts1 div.widget-container { width: 42%; }
    
    /* homepage */
    body.homepage div.col1,
    body.homepage div.col2 { width: auto; min-height: 0; float: none; }
    body.homepage div.col1 { padding: 5%; }
    
    /* projects */
    body.projects-gallery div.col1 { width: auto; float: none; padding: 5px 2% 30px; }
    body.projects-gallery div.col2 { width: auto; float: none; }
	div.videosPane { display:inline-block; float:right; width:50%; margin:10px;} /*Styling for new embedded video player 2018-03-27 SW*/
    /*body.projects-gallery div.project-details,*/
    body.projects-gallery span.tri2
    {
        display: none;
    }
	div.prj-details { padding: 30px 3%; }
	
	div.project-heading { margin-bottom: 0; }
    div.featureSW {float: none; width: 100%; margin: 0px 10px 0px 0px; overflow: hidden;}
    div.featureSW img {width: 100%; margin: -25% 0 -35% 0;}
}

@media only screen
and (max-width : 550px) {

    div.navMain > ul > li { width: 50%; border-top: 3px solid #fff; }
    div.navMain > ul > li:nth-child(-n+2),
    div.navMain > ul > li:nth-child(2n+1) a { border: none!important; }
    div.navMain > ul > li:hover > a { background: inherit; }
	div.navMain > ul > li > a:hover { color: #ccc; }
	div.navMain ul li.active > a { background: #fff; color: #555; }
	div.navMain > ul > li:hover > ul { display: none; }
    div.navMain ul li.active > ul { display: block; opacity: 1; }
	div.navMain > ul > li > ul { opacity: 0; }

		div.navMain > ul > li > ul > li { margin-top: 2px; }
		div.navMain > ul > li > ul > li > a { padding: .75em 1.5em; background: #f7f7f7; }
		div.navMain > ul > li > ul > li > a:hover { background: #fff; }
    
    ul.mega li div.section > ul > li { width: 50%; }
    
    div.col1,
    div.col2 { width: auto; float: none; padding: 5%; }
    
    /* all projects landing page*/
    div.projects-list { margin: -5% 0 0 -5%; }
    div.project-box { width: 45%; margin: 5% 0 0 5%; }
    
    /* project page */
    div.featured-projects li/*.panel*/ { width: 50%; }
	
	/*connect page icons*/
	div.connectico, div.smicon { 
	float:none;
	display:inline-block;
    }
    div.fiftyleftSW, div.fiftyrightSW {width: 100%; float: none; margin: 10px 0px!important;} /* responsive div container for 2 column layout - originally for leaky infrastructure blog SW 2019-06-27*/

}

@media only screen
and (max-width : 460px) {

    /* masterpage */
	div.header > div.inside { display: inline-block; width: 100%; }
    div.header-top { height: auto; }
    div.header-shad { display: none; }
    div.tel { position: static; right: auto; top: auto; text-align: center; padding: .6em 0 .5em; margin-bottom: 15px; }
    div.header-top div.social { display: none; }
    a.logo { float: left; width: 65%; }
    
    a.menu-toggle { display: inline-block; }
    
    div.navTop { margin: 0; }
    div.navTop ul { display: none; clear: both; line-height: inherit; }
    div.navTop ul li { display: block; border: none; background: url(/images/grad1-top-shad.png) repeat-x; }
    div.navTop ul li a { display: block; padding: .5em 1em; }
        div.navTop ul li ul { display: none; position: static; top: auto; left: auto; padding: 0 0 .5em; background: none; }
        div.navTop ul li:hover > ul { display: none; } /* use onclick instead */
        div.navTop ul li:hover { background-color: #efefef; }
        div.navTop ul li ul li a { white-space: normal; }
            div.navTop ul li ul li ul { /*display: none!important;*/ right: auto; top: auto; width: 100%; background: none; }
            div.navTop ul li ul li ul li a { padding-left: 2em; background: url(/images/bullet_square_4x4.gif) 1em 1.125em no-repeat; }
    
    ul.mega li div.section > ul { padding: 15px 0 0; }
    ul.mega li div.section > ul > li { width: 100%; }
    ul.mega li div.section h2 { padding: 25px 15px 0; }
    
    div.contentContainer { background-image: none; padding: 0; }
    div.col1 { padding-top: 30px!important; }
    
    a.rpt_repeater { min-height: 150px; }
    
    p.email-widget-heading { margin-bottom: .5em; }
    
    div.callouts1 div.widget-container,
    div.callouts1 div:first-child.widget-container,
    div.callouts1 div.callout-widget-container { width: auto; float: none; }
	
	/*homepage*/
	div.mast-home span.field1 { width: 48%; right: 10%; font-size: 17px; margin: 30px 0 0 42%; background: url(/images/trans80_000000.png);; box-sizing: border-box; padding: 3% 4%; }
    
    /* project page */
    div.featured-projects h2 a { position: static; margin: .75em 0 0 1em; }
	div.videosPane { display:block; float:none; width:100%; margin:0 0 10px 0;} /*Styling for new embedded video player 2018-03-27 SW*/
	
	/* news */
	body.newsarticle h1 { font-size: 30px; }
	/* services table stack */
	.stacktablesw { display:inline-table; width:100%; float:inherit; }
	/*blog*/
	div.author { width:100%; float:none; padding-left:15px;}
	div.session { width:90%; float:none; }
	div.blog-author-end-right { width: 85%; float: none; display: block; margin: 0 auto; text-align: center; }
	div.blog-author-end-left { width: 100%; float: none; display: block; margin: 0 auto; }
	div.blog-author-end-container { /*display: inherit;*/ flex-direction: column; margin-bottom: 10px; }
	
	/*utiity funding blog table */
	 td[class=ufbtablerowcategorysw]{
		 visibility:visible;!important;
		 vertical-align:top;
		 display:table-cell;
	 }
	 td[class=ufbtablerowcategoryrow1sw]{
		 visibility:visible;!important;
		 vertical-align:top;
		 display:table-cell;
		 background-color:#ECECEC
	 }
	 table[class=ufbtablestretchsw]{
		 width:100%;
		 margin-top:20px;
		 font-size:12px;
	 }
	td[class=ufbtablerow1sw]{height:auto; width:auto; background-color:#ECECEC; color:#000}
	td[class=ufbtablerow2sw]{height:auto; width:auto}
	td[class=ufbtablerow3sw]{height:auto; width:auto}
	td[class=ufbtablerow4sw]{height:auto; width:auto}
	td[class=ufbtablerow5sw]{height:auto; width:auto}
	td[class=ufbtablerow6sw]{height:auto; width:auto}
	td[class=ufbtablerow7sw]{height:auto; width:auto}
	td[class=ufbtablerow8sw]{height:auto; width:auto}
	td[class=ufbtablerow9sw]{height:auto; width:auto}
	td[class=ufbmaincolumnlabelrow1sw]{background-color:#ECECEC;}
	
	/* projects with deliverables table */
	table[class=project-details2colmain] {width:100%}
	table[class=project-deliverables] {width:100%}
	/* project video ADDED 06-2016 SW*/
	/*.projvideosw {width:100%; margin: 0px 0px 10px 0px}*/
}

@media only screen
and (max-width : 370px) {

    /* all projects landing page*/
    div.projects-list { margin: 0; }
        div.project-box { display: block; width: auto; max-width: 292px; margin: 20px 0; }
        
    /* project page */
    div.featured-projects li/*.panel*/ { width: 100%; }

}

/* 3 equal-width columns Layout Pattern CSS SW-added 3-26-15*/
@media only screen and (max-width: 599px) {
        td[class="pattern3colsw"] table { width: 100%; }
        td[class="pattern3colsw"] .col{ width: 33%; }
		td[class="pattern3colsw2"] table { width: 100%; }
        td[class="pattern3colsw2"] .col{ width: 33%; }
}
/* 3 equal-width columns table row Layout Pattern CSS SW-added 9-10-15*/
@media only screen and (max-width: 500px) {
        td[class="pattern3colsw"] .col{ width: 100%; display: block; }
        td[class="pattern3colsw"] .col-left,
        td[class="pattern3colsw"] .col-mid { margin-bottom: 20px; }
		.colstacksw { columns:1; -webkit-columns:1; -moz-column-count:1; }
		        td[class="pattern3colsw2"] .col{
            width: 100%;
            display: block;
			margin-bottom:20px;
        }
        td[class="pattern3colsw2"] .col-left,
        td[class="pattern3colsw2"] .col-mid { margin-bottom:5px; }
/* Memberships And Associations logo tables CSS SW-Added 12-04-15 */
        .memimage {
			width:100% !important;
			max-width:510px !important;
			display:inline !important;
			}
		.logotablesw {
			margin-top:10px !important;
			}	
		.blockfifty { 
			width:50% !important; 
			float:none !important;
			margin-left:auto !important;
			margin-right:auto !important; 
			margin-bottom:10px !important;
			display:block !important;
			}
			/* Blockfifty allows images to be floated normally within text then become a block 50% width on mobile. See Operators Void Blog SW-Added 11-04-16*/
		.blockhundred { 
			width:100% !important; 
			float:none !important;
			margin-left:auto !important;
			margin-right:auto !important; 
			margin-bottom:10px !important;
			display:block !important;
			}
			/* Blockhundred allows images to be floated normally within text then become a block 100% width on mobile. SW-Added 06-25-20*/
}
/* START collapsible accordion styles added 2021-02-05 SW */
@media only screen and (min-width: 620px){
.accordion-colsw > input[name="collapse-colsw"]:checked ~ .content-colsw { /*height: 220px;*/ }
}
/* END collapsible accordion styles added 2021-02-05 SW */
/* ---------------------- */
/* END Media Queries
------------------------- */
