
/** =structure
************************************************************/
body { 
  background-color: #fff; 
  color: #60686c;
  font-family: Helvetica, Arial, sans-serif;
}
.ie6 body { text-align: center; }

.container {
  margin: 0 auto;
  width: 880px;
}
.content-wrapper {
  background: url(images/bg-content.png) repeat-y 0 0;
  background-color: #f1f2f3;
  margin-top: 20px;
  padding: 0 0 50px;
  min-height: 367px;
}
.ie .content-wrapper {z-index: 1; }
.content-main {
  float: right;
  width: 610px;
  padding-right: 30px;
}
.content-side {
  float: left;
  width: 240px;
}

.header {
  position: relative;
  margin-top: 32px;
  margin-bottom: 17px;
}
.header .logo {
  position: relative;
  float: left;
  width: 186px;
  height: 75px;
}
.logo a {
  width: 186px;
  height: 55px;
}
.footer {
  background: #37424a url(images/bg-footer-border.png) repeat-x 0 0;
  color: #7f9199;
  position: relative;
}

.footer .inner {
  position: relative;
  margin-top: -4px;
  padding: 90px 0 30px;
  background: url(images/bg-footer.png) no-repeat 0 0;
  min-height: 50px;
}
.ie6 .footer .inner { height: 50px; }

.home .footer .inner,
.search .footer .inner {
  position: relative;
  background-image: url(images/bg-footer-home.png);  
}

/** =content
************************************************************/

.content-wrapper h1 {
  background:  url(images/border-bottom.png) repeat-x 0 100%;
  margin-bottom: 28px;
  padding: 12px 0 6px;
}

.section {
  background: url(images/border-bottom.png) repeat-x 0 0;
  padding-top: 1em;
  margin-bottom: 1em;
}
.content-main ul {
  margin-left: 2px;
}
.content-main li {
  background: url(images/bg-sprite.png) no-repeat 0 -396px;
}
.content-main a {
  border-bottom: 1px solid #b0cae1;
}

.content-main .biglink-hover *,
.content-main a:hover {
  color: #71a901;
  border-bottom-color: #bbe95e;
}

.error a,
.error a:hover,
.content-main h2 a,
.content-main h2 a:hover,
.content-main .news-list a,
.content-main .news-list a:hover,
.content-main a.img,
.content-main a.img:hover,
a.replace,
a.replace:hover {
  border-bottom-width: 0;
}

.content-main h2 {
  color: #37424a;
  letter-spacing: .1em;
  font-weight: normal;
  text-transform: uppercase;
}
.home .content-main h2 {
    letter-spacing: 0;
}

.content-main h3 {
  font-size: 13px;
  margin-top: 1em;
  line-height: 1.2em;
}
.content-main h4 {
  font-size: 13px;
  margin-top: .5em;  
}

/** =nav-main
************************************************************/
.nav-main {
  clear: left;
}
.nav-main li a {
  background: url(images/nav-main.png) no-repeat;
  width: 220px;
  height: 50px;
  border: 0;
}

/* Work */
.nav-main li.li-1 a {
  width: 221px;
  
}
.nav-main li.li-1 a:hover  { background-position: 0 -100px; }
.nav-main li.li-1 a.active { background-position: 0 -200px; }

/* Capabilities */
 .nav-main li.li-2 a       { background-position: -221px 0px; }
.nav-main li.li-2 a:hover  { background-position: -221px -100px; }
.nav-main li.li-2 a.active { background-position: -221px -200px; }

/* About */
 .nav-main li.li-3 a       { background-position: -441px 0; }
.nav-main li.li-3 a:hover { background-position: -441px -100px; }
.nav-main li.li-3 a.active { background-position: -441px -200px; }

/* Contact */
 .nav-main li.li-4 a {
  width: 219px;
  background-position: -661px 0;
}

.nav-main li.li-4 a:hover  { background-position: -661px -100px; } 
.nav-main li.li-4 a.active { background-position: -661px -200px; }

/** =nav local (sidebar)
************************************************************/
.nav-local li, .nav-local a {
  background-repeat: no-repeat;
}

/* top level */
.nav-local li {
/*  background: url(images/border-bottom.png) no-repeat 0 39px;*/
/*  padding-bottom: 2px;*/
}
.nav-local a {
  padding-left: 15px;
  height: 40px;
  line-height: 40px;
  background-image: url(images/nav-local.png);
  background-position: 0 0;
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
}
.nav-local a:hover {
  background-position: 0 -100px;
}
.nav-local li.parent-here {
  background: url(images/nav-local-border-bottom.png) no-repeat 0 100%;
  padding-bottom: .75em;
  margin-bottom: 0;
}
.nav-local li.here a {
  margin-left: -5px;
  padding-left: 20px;
  background-position: 0 -450px;
  color: #fff;
}

/* sub levels */

/* hide sub-levels when top level is active */

.nav-local ul {
  margin: 0 0 0 10px;
}
.nav-local ul li {
  background-image: none;
  margin: 8px 32px 8px 5px;
}

.nav-local ul a {
  height: auto;
  display: inline;
  padding-left: 0;
  line-height: 1.2;
  border-bottom: 1px solid #b0cae1;
  background-image: none;
  text-transform: none;
  font-size: 12px;
  font-weight: normal;
}
.nav-local ul a:hover {
  color: #71a901;
  border-bottom-color: #bbe95e;
}

.nav-local ul li.here {
  padding-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  background: url(images/nav-local.png) no-repeat 0 -300px;
}

/* overwrite top-level .here headertext */
.nav-local li.here ul a, .nav-local ul li.here a {
  color: #1a445f;
  font-weight: normal;
  padding-left: 0;
  cursor: pointer;
  margin-left: 0;
}

.nav-local ul li.here a, 
.nav-local ul li.here a:hover {
  display: block;
  margin-left: 0;
  padding: 5px 32px 5px 5px;
  background: url(images/nav-local-sub-active-bottom.png) no-repeat 0 100%;
  border-bottom-width: 0;
  color: #fff;
}

.nav-local li.here ul { display: none; }

.flir-replaced {
  display: block;
}

/** =nav other
************************************************************/


/* footer */
.footer .nav {
  padding-left: 18px;
}
.footer .nav li {
  border-right: #7f9199 1px dotted;
  line-height: 1.5;
  padding: 4px 11px 4px 12px;  
}
.footer .nav li.login {
  border-right-width: 0;
}
.legal  {
  padding-top: 10px;
  padding-left: 30px;
}
.twitter {
  position: absolute;
  right: 10px;
  top: 90px;
  width: 98px;
  height: 51px;
  background: url(images/twitter.png) no-repeat 0 0;
}
.twitter:hover {
  background-position: 0 -100px;
}
/** =links
************************************************************/
a, .biglink {
  color: #1a445f;
  text-decoration: none;
  cursor: pointer;
}

a:focus, a:hover, .biglink-hover, .biglink-hover a {
 color: #1a445f;
}

.footer a {
  color: #c0c7cb;
}
.footer a:focus, .footer a:hover {
  color: #fff;
}

/** =search
************************************************************/
.searchbox {
  position: absolute;
  right: 0;
  top: 35px;
  width: 220px;
  height: 20px;
  background: #e4ebef url(images/bg-search.png) no-repeat 0 0;
}
#srch-global,
#srch-global fieldset { margin: 0; padding: 0;}

#srch-global-input {
  height: 14px;
  padding: 3px 6px;
  border-width: 0;
  background-color: transparent;
  float: left;
}
#srch-global-submit {
  width: 15px;
  height: 18px;
  float: right;
  margin-right: 4px;
  padding: 0;
  background: url(images/bg-search.png) no-repeat 0 -100px;
  border-width: 0;
  position: relative;
}
#srch-global-submit:hover,
#srch-global-submit:focus,
#srch-global-submit:active {
  background-position: -100px -100px;
}
#srch-global-submit:active {
  top: 1px;
}

/** =homepage
************************************************************/
.home h2 {
  font-size: 20px;
  text-transform: none;
}

.search .content-wrapper,
.home .content-wrapper {
  position: relative;
  background-image: none;
}
.homepage-ad {
  position: absolute;
  width: 836px;
  left: 30px;
  top: 100%;
  margin-top: -50px;
  z-index: 10;
}
.search .content-main,
.home .content-main {
  width: auto;
  padding: 22px 30px;
  float: none;
}

.home-section .inner {
  padding-top: 10px;
  clear: left;
  background: url(images/border-bottom.png) repeat-x 0 0;
}
.news-list .inner {
  padding-top: 0;
}
.home-section .ruled {
  margin: 0;
  padding-top: 6px;
}
.home-section .ruled li {
  background: url(images/border-bottom.png) repeat-x 0 100%;
  border-bottom-width: 0;
  margin: 6px 0;
}

.home-section .ruled li a {
  display: block;
  font-size: 14px;
  color: #5d8d00;
}
.home-section a.more {
  color: #5d8d00;
}
.home-section .ruled li a:hover,
.home-section a.more:hover {
  color: #4d6f0a;
}

.news-list h2 {
  float: left;
}

.home .what-is-rss {
  padding-left: 5px;
  font-size: .9em;
  font-style: italic;
  line-height: 2em;
}

/** =project overview
************************************************************/
.project {
  text-align: center;
  margin-bottom: 1.5em;
}

/** =project feature page
************************************************************/
.section h3,
.section p,
.section ul {
  margin: 0 2px;
}
.section h3 {
  line-height: 1em;
}
/** =slide shows
************************************************************/

.slideshow, 
#gallery {
  position: relative;
  margin-bottom: 20px;  
}

/* homepage */

.home .content-wrapper {
  background-image: url(images/bg-content-wrapper-home.png);
  background-repeat: repeat-x;
}
.home-splash {
  width: 880px;
  height: 400px;
  overflow: hidden;
  background:  url(images/bg-slideshow-home.png) no-repeat 0 0;
/*  padding-top: 30px;*/
  position: relative;
}

#slideshow {
  height: 400px;
  overflow: auto;
}
.js #slideshow {  top: -400px; margin-left: -430px; overflow: hidden;}

.slideshow-frame {
  position: absolute;
  left: 170px; /*(880 - 540) / 2*/
  top: 35px;
  width: 540px;
  height: 365px;
  z-index: 10;
}
.ie8 .slideshow-frame { left: 171px; }
.ie8 .home-splash { width: 878px; }
.slideshow .slide { 
  position: relative; 
  padding: 35px 30px; 
  float: left;
  width: 520px;
}
.slideshow .img-wrapper { 
  display: block;   
  text-decoration: none;
  padding: 0;
}
.slideshow img { display: block; }
.slideshow .description { display: none; }

.slideshow-frame .caption {
  position: absolute;
  left: 50%;
  margin-left: -231px;
  margin-bottom: -4px;
  bottom: 0;
  width: 462px;
  height: 42px;
  line-height: 36px;
  color: #f0f0f0;
  text-align: center;
}
.linked {
  cursor: pointer;
}
.linked .caption span {
  padding-right: 16px;
  background:  url(images/icons/link.png) no-repeat 100% 0;
}
div.hovered .caption span,
.linked:hover .caption span {
  color: #73AD02;
  background-position: 100% -100px;
}

.home .prevnext {
  position: absolute;
  width: 166px;
  height: 330px;
  top: 45px;
  z-index: 5;
}
.home .prevnext span {
  display: block;
  width: 30px;
  height: 38px;
  margin-top: 130px;
  background-image: url(images/bg-sprite-home.png);
  background-repeat: no-repeat;
}
.home .prev {
  left: 0;
  margin-left: -46px;
  background-position: 0 0;
}
.home .prev:hover span { background-position: 0 -50px; }
.home .next {
/*  left: 900px;*/
  right: 0;
  margin-right: -46px;
}
.home .next span { background-position: 0 -100px; margin-left: 140px; }
.home .next:hover span { background-position: 0 -150px; }

.shadow {
  position: absolute;
  top: 0;
  width: 100px;
  height: 400px;
/*  background: url(images/bg-shadows-home.png) no-repeat 0 0;*/
  z-index: 4;
}
.ie6 .shadow {background-image: none;}

.shadow-left {
  left: 0;
}
.shadow-right {
  background-position: 100% -400px;
  left: 780px;
}

/* project detail */

#gallery {
  left: 15px;
  height: 350px;
  width: 570px;
  padding: 15px 0;
  overflow: auto;
}
.js #gallery { 
  height: 390px;
  padding: 0;
  overflow: hidden;
/*  background: url(images/bg-detail-gallery.png) no-repeat 0 100%;  */
}

#gallery .slides {
  position: relative;
  height: 350px;
  width: 570px;
}

#gallery .slide {
  position: relative;
  display: block;
  top: 0;
  left: 0;
  margin-bottom: 10px;
  height: 350px;
  width: 570px;
}
.js #gallery .slide { position: absolute; margin-bottom: 0;}

#gallery .caption {
  position: absolute;
  display: block;
  left: 0px;
  bottom: 0;
  width: 552px;
  height: 30px;
  line-height: 30px;
  padding: 0 0 0 18px;
  background-color: #000;
  color: #fff;
}
.js .highz {z-index: 100;}
.thumbs {
  position: absolute;
  bottom: 0;
  width: 570px;
  height: 40px;
  overflow: hidden;
  background: url(images/bg-detail-thumbs.png) no-repeat 0 100%;
}
.thumbs ul {
  margin-top: 40px;
}
.thumbs li {
  position: relative;
  background-image: none;
}
.thumbs a {
  margin: 4px;
  width: 24px;
  height: 24px;
  border: 3px solid #e4e6e9;
  font-size: 7px;
  line-height: 23px;
}

.thumbs .video {
  position: absolute;
  top: 23px;
  left: 18px;
}
.thumbs .activeSlide,
.thumbs a:hover {
  border-color: #a0b2c0;
}
.thumb img {
  border: 1px solid #fff;
}

#gallery .prevnext {
  position: absolute;
  bottom: 10px;
  width: 14px;
  height: 18px;
  background: url(images/bg-slideshow-project-detail-sprite.png) no-repeat 0 0;
}
.ie6 #gallery .prevnext { background-image: url(images/bg-slideshow-project-detail-sprite.gif) no-repeat 0 0; }

#gallery .prev { left: 8px; }
#gallery .next { left: 548px; background-position: 0 -100px; }

#gallery .prev:hover { background-position: 0 -50px; }
#gallery .next:hover { background-position: 0 -150px; }

.play  {
  position: absolute;
  width: 100px;
  height: 84px;
  left: 50%;
  top: 50%;
  margin: -42px 0 0 -50px;
  background:  url(images/bg-slideshow-project-detail-sprite.png) no-repeat 0 -300px;
}
.ie6 .play {
  background:  url(images/bg-slideshow-project-detail-sprite.gif) no-repeat 0 -300px;
}

a:hover .play  { background-position: 0 -400px; }
a:active .play  { background-position: 0 -500px; margin-top: -41px; }

/** =search results
    * some generic search results styles are declared along with the homepage styles *
************************************************************/
.result {
  margin-bottom: 1.5em;
}
.news-listing h2 {
  text-transform: none;
  padding-top: 22px;
}
/** =news (GMBuzz)
************************************************************/

.news span.publish-date {
  float: right;
  padding-top: 20px;
}
.news div.publish-date {
  padding: 11px 0 4px;
  float: left;
}
.news .news-category {
  padding: 11px 0 4px;
  float: right;  
}
.content-main h1 {clear: both;}
.biglink p {
  color: #60686C;
}

.nav-local .rss-item {
  position: relative;
  padding-right: 20px;
}
.nav-local a.disabled {
  color: #23251b;
  cursor: default;
}
.nav-local a.disabled:hover {
  background-position: 0 0;
}
.rss-item .muted {
  position: absolute;
  right: 20px;
  top: 0;
  font-style: italic;
  padding-right: 8px;
}
.rss-item .rss {
  margin: 12px 4px 0 0;
}

/** =extras
************************************************************/
/*blocks*/
.captioned img,
.img img,
.caption { display: block; }

/*floats*/
.right { margin: 0 0 1em 1em;}
.left { margin: 0 1em 1em 0;}


.captioned {
  background-color: #c7cdd3;
}
.caption { padding: 8px; line-height: 1; font-size: 12px;}

.rss {
  height: 12px;
  width: 12px;
  float: left;
  margin: 4px 6px;
  background: url(images/bg-sprite-home.png) no-repeat 0 -300px;
}
a:hover .rss {
  background-position: 0 -400px;
}

a.muted {
  text-transform: none;
  font-size: .95em;
  display: inline;
  background-image: none;
  background-color: transparent;
}
a.muted:hover {
  color: #555;
}
.content-main p + ul.files-list,
.files-list {
  margin-top: 1.5em;
}
.files-list li {
  background-image: none;
  margin-top: .75em;
  margin-left: 22px;
}

img.icon {
  margin-left: -22px;
  margin-right: 6px;
  float: left;
}

/*header tab*/

.header-tab {
  position: absolute;
  top: 0;
  right: 0;
  height: 30px;
  margin-top: -32px;
}
.header-tab p {
  margin: 0;
  line-height: 1em;
  height: 30px;
}

/* buttons */
.header-tab p,
button.btn {
  border:0;
  cursor:pointer; 
  font-weight:bold; 
  padding:0 15px 0 0; 
  text-align:center;
  font-size: 1em;
  background: none;
  position: relative;
}
.ie6 .header-tab p,
.ie7 .header-tab p,
.ie6 button.btn,
.ie7 button.btn {
  width:auto;
  overflow:visible;
  zoom: 1;
}
.header-tab a,
button.btn span { 
  position:relative; 
  display:block; 
  white-space:nowrap; 
  padding:0 0 0 15px;
  height:30px; 
  line-height:28px;
  color:#fff;
}

/* removes 1px border in FF */
button::-moz-focus-inner { border: none; padding: 0;} 

/* using a sprite instead of four separate images... */
.header-tab p,
.header-tab a,
button.btn,
button.btn span {
  background-image: url(images/btn-green-sprite.png);
  background-repeat: no-repeat;
}
button.btn {background-position:  100% 0;}
button.btn span { background-position: 0 -50px; }
button.btn:hover { background-position: 100% -100px; }
button.btn:hover span { background-position: 0 -150px; }
button.btn:active { background-position: 100% -200px; }
button.btn:active span { background-position: 0 -250px; }
button.btn:active{
  top:1px;
}

.header-tab p {background-position:  100% -300px;}
.header-tab p a { background-position: 0 -350px; }
.header-tab p:hover { background-position: 100% -400px; }
.header-tab p:hover a { background-position: 0 -450px; }
/*.header-tab p:active { background-position: 100% -200px; }
.header-tab p:active a { background-position: 0 -250px; }
*/
.header-tab p:active{
  top:1px;
}