/* screen styles */

/* ----- DEFAULTS ----- */

div, p, ol, li, tr, th, td, dt, dd, blockquote, 
h1, h2, h3, h4, h5, h6, legend, input, textarea, select, option {
  font-family : Verdana, Helvetica, Arial, sans-serif;
  font-size   : 12px;
  font-weight : normal;
  font-style  : normal;
  color       : #464646;
  background  : transparent;
}

div, p, ul, ol, li, tr, th, td, dl, dt, dd, blockquote, 
h1, h2, h3, h4, h5, h6, legend, form {
  border      : 0;
  padding     : 0;
  margin      : 0;
  text-align  : left;
  line-height : 18px;
}

select, input, textarea {
  padding    : 2px;
  background : #FFF;
}

img {
  border  : 0;
  padding : 0;
  margin  : 0;
}

.clear_both {
  clear : both;
}

.print_only {
  display : none;
}


/* ----- TYPOGRAPHY ----- */

a, a:link, a:visited {
  color           : #0070AA;
  text-decoration : none;
}

a:hover, a.selected {
  /* a:active not used because in IE7 CalendarWiz sets focus to */
  /* the first event in the upcoming events list on page load   */
  background      : #DCF4FE;
  text-decoration : none;
}

p {
  margin-bottom : 10px;
}

blockquote {
  padding    : 15px 20px 10px 20px;
  margin     : 15px 0 15px 0;
  background : #F1F1F1;
}

h1 {
  margin-bottom : 10px;
  line-height   : 22px;
  font-size     : 17px;
  font-weight   : bold;
  color         : #D46327;
}

h1 span {
  font-size     : 11px;
  color         : #999;
}

h1 span a, 
h1 span a:link, 
h1 span a:visited, 
h1 span a:hover, 
h1 span a:active {
  color         : #999;
}

h2 {
  margin-bottom : 5px;
  font-size     : 12px;
  font-weight   : bold;
  color         : #D46327;
}

ul {
  padding : 0;
  margin  : 0 0 10px 20px;
}

ul.clean {
  margin     : 0;
  list-style : none;
}

ol {
  padding : 0;
  margin  : 0 0 10px 25px;
}

li {
  padding : 0;
  margin  : 0;
}


/* ----- PAGE SECTIONS ----- */

html {
  background : #1F3465 url(/images/bg_body.jpg) 0px 0px repeat-x;
}

body {
  padding    : 0;
  margin     : 0 auto;
  width      : 878px;
  text-align : center;
  background : transparent;
}

#shell {
  padding    : 0;
  margin     : 0;
  width      : 878px;
  text-align : left;
  background : #FFF;
}

#header {
  padding    : 15px 25px;
  margin     : 0;
  width      : 828px;
  height     : 60px;
  background : transparent url(/images/bg_header.jpg) 0px 81px repeat-x;
}

#columns {
  float         : left;
  border-bottom : #1A2E57 6px solid;
  padding       : 0 0 20px 0;
  margin        : 0;
  width         : 878px;
  background    : transparent url(/images/bg_inner_columns.jpg) 0px 0px repeat-y;
}

  #home #columns, 
  #calendar #columns {
    background : transparent;
  }

#column_left {
  clear      : both;
  float      : left;
  padding    : 0;
  margin     : 0;
  width      : 156px;
}

#column_center {
  float        : left;
  padding      : 0 1px;
  margin       : 0;
  width        : 486px;
}

#column_right {
  float      : right;
  padding    : 0;
  margin     : 0;
  width      : 234px;
}

#footer {
  clear      : both; /* prevents float issue when content is short */
  margin     : 5px 0 15px 0;
  height     : 30px;
  background : transparent;
}


/* ----- NAVI PRIMARY (large links, top-center, all pages) ----- */

#navi_primary {
  border-bottom : #747673 1px solid;
  padding       : 10px 0 15px 0;
  margin        : 0;
  font-size     : 17px;
  line-height   : 20px;
  background    : #FFF;
  text-align    : center;
}

#navi_primary a {
  padding : 7px;
  margin  : 0 1px;
}


/* ----- NAVI SECONDARY (medium links, left-column, subpages-only) ----- */

ul#navi_secondary {
  padding    : 20px 0 0 0;
  margin     : 0;
  height     : 190px;
  list-style : none;
}

ul#navi_secondary li {
  padding     : 0;
  margin      : 0;
  width       : 156px;
  line-height : 16px;
  list-style  : none;
}

ul#navi_secondary li a {
  display     : block;
  padding     : 5px 15px;
  margin      : 0 0 1px 0;
  width       : 126px;
  font-size   : 12px;
}


/* ----- NAVI TERTIARY (small links, top-right, all pages) ----- */

#navi_tertiary {
  float       : right;
  padding     : 0;
  margin      : 42px 0 0 0;
  font-size   : 10px;
  line-height : 14px;
}

#navi_tertiary a {
  padding : 1px 3px;
}


/* ----- ALL PAGES ----- */

img#logo {
  float : left;
}

#content {
  padding : 20px 35px 0 35px;
}

#content h2 {
  padding-top : 10px;
}

#content img {
  border  : #DDD 1px solid;
  padding : 5px;
  margin  : 10px 80px 8px 80px;
}

#content p.center_medium_photo img {
  margin  : 10px 20px 8px 20px;
}

#content ul li {
  margin-bottom : 4px;
}

.block {
  padding       : 10px 15px;
  margin-bottom : 10px;
  background    : #FAEAB3;
}

  #column_left .block {
    padding-right : 10px;
  }
  
  .related_block {
    background : transparent;
  }

.block li, 
.block p {
  margin-bottom : 5px;
  line-height   : 16px;
  font-size     : 10px;
}

.related_block ul {
  padding : 0;
  margin  : 0 0 15px 0;
  list-style-type  : none;
  
}

.related_block ul li {
  padding-left : 11px;
  background   : transparent url(/images/block_hatch.jpg) 1px 3px no-repeat;
}

#footer p {
  font-size  : 10px;
  text-align : center;
  color      : #CAE3EE;
}

#footer p a, 
#footer p a:link, 
#footer p a:visited, 
#footer p a:hover, 
#footer p a:active {
  padding: 4px 2px;
  color : #CAE3EE;
}

#footer p a#twitter_link,
#footer p a#twitter_link:link, 
#footer p a#twitter_link:visited,
#footer p a#twitter_link:hover, 
#footer p a#twitter_link:active {
  padding-left: 22px;
  margin-left: 12px;
  background: transparent url(/images/icon_twitter.png) 2px 2px no-repeat;
}

#footer p a#facebook_link,
#footer p a#facebook_link:link, 
#footer p a#facebook_link:visited,
#footer p a#facebook_link:hover, 
#footer p a#facebook_link:active {
  padding-left: 22px;
  margin-left: 2px;
  background: transparent url(/images/icon_facebook.gif) 2px 2px no-repeat;
}

#footer p a:hover, 
#footer p a:active,
#footer p a#twitter_link:hover, 
#footer p a#twitter_link:active,
#footer p a#facebook_link:hover, 
#footer p a#facebook_link:active {
  color: #656565;
  background-color: #dcf4fe;
}

form#search_form {
  padding-top : 10px;
}

form#search_form label {
  font-weight  : bold;
  color        : #888;
  margin-right : 5px;
}

form#search_form input#q {
  padding     : 5px 5px;
  width       : 240px;
  font-weight : bold;
  color       : #888;
  background  : #F5F5F5;
}

#search_results h2 {
  margin-bottom : 15px;
  color         : #555;
}

div.video {
  margin           : 30px 0 20px 0;
  padding          : 0;
  line-height      : 20px;
  font-size        : 11px;
  font-weight      : bold;
  text-align       : center;
  background-color : #EEE;
}

div.video a {
  font-size   : 10px;
  font-weight : normal;
  font-style  : italic;
}


/* ----- NEWS & NOTICES SECTION ----- */

h2.notice_header {
  clear   : both;
  padding : 15px 0 0 0;
}

dl.notice_item {
  clear   : both;
  float   : left;
  padding : 0;
  margin  : 0;
  width   : 414px;
}

dl.notice_item dt, 
dl.notice_item dd {
  display : block;
  float   : left;
  padding : 4px 6px;
  margin  : 0 1px 1px 0;
}

dl.notice_item dt {
  width       : 45px;
  font-size   : 11px;
  font-weight : bold;
  text-align  : right;
  color       : #676767;
  background  : #EEE;
}

dl.notice_item dd {
  width     : 340px;
  font-size : 11px;
}

dl.notice_overview {
  clear   : both;
  float   : left;
  padding : 0;
  margin  : 0;
  width   : 414px;
}

dl.notice_overview dt, 
dl.notice_overview dd {
  display : block;
  float   : left;
  padding : 4px 6px;
  margin  : 0 1px 1px 0;
}

dl.notice_overview dt {
  font-size   : 11px;
  font-weight : bold;
  color       : #676767;
}

dl.notice_overview dt.notice_label {
  width       : 90px;
  background  : #E5E5E5;
}

dl.notice_overview dt.notice_date {
  width       : 60px;
  background  : #EEE;
}

dl.notice_overview dd {
  width     : 225px;
  font-size : 11px;
}

dl.newsletter_item dt { width : 65px;  }
dl.newsletter_item dd { width : 320px; }

div.meeting_files {
  border-bottom : #E5E5E5 1px solid;
  padding       : 5px 10px 3px 10px;
  margin        : 0 0 2px 0;
  height        : 43px;
  overflow      : hidden;
  background    : #F7F7F7;
}

div.meeting_files ul {
  margin     : 0;
  list-style : none;
}

div.meeting_files ul li {
  float        : left;
  margin-right : 3%;
  width        : 30%;
  font-size    : 9px;
}

p.meeting_files_view_all {
  text-align : right;
  font-size  : 9px;
}

p.meeting_files_view_all a {
  cursor : pointer;
}


/* ----- EMPLOYMENT PAGE (QUONSETJOBS.COM) ----- */

#employment #columns {
  background: transparent url(/images/bg_inner_columns_employment.jpg) 0px 0px repeat-y;
}

#employment #column_center {
  /* No column_right on the Employment page */
  width: 720px;
}

#employment #column_center #content {
  padding: 0;
}

#employment #column_center #content h1 img {
  border: none;
  border-bottom: #7e7e7e 1px solid;
  padding: 0;
  margin: 0 0 20px 0;
}

#jobs_intro,
#jobs_featured,
#jobs_current_wrapper,
#jobs_friends_wrapper,
#jobs_additional_wrapper {
  /* Setting on each block instead of the parent container because
     IE6 doesn't like a negative left-margin on the banner. */
  margin: 0 35px;
}

#jobs_intro {
  padding: 0 15px;
}

  #jobs_intro p:nth-child(1),
  #jobs_intro p:nth-child(2) {
    float: left;
    width: 47%;
  }

  #jobs_intro p:nth-child(1) {
    margin-right: 6%;  
  }

  #jobs_intro p:nth-child(3) {
    clear: both;
  }

#jobs_featured {
  padding: 16px 25px 10px 25px;
  margin-top: 25px;
  margin-bottom: 35px;
  background-color: #faeab3;
}

  #jobs_featured h2,
  #jobs_featured p {
    padding-top: 0;
    margin-bottom: 6px;
    line-height: 18px;
  }

#jobs_current_wrapper {}

  #jobs_current_wrapper:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }

  /* IE6 float clearing helper */
  * html #jobs_current_wrapper {
    height: 1%;
  }

  /* IE7 float clearing helper */
  *:first-child+html #jobs_current_wrapper {
    min-height: 1px;
  }

  #jobs_current_wrapper h1 {
    margin-bottom: 20px;
  }

  .jobs_current {
    float: left;
    padding: 0 25px 20px 25px;
    margin-bottom: 20px;
    width: 182px;
  }

  #jobs_current_left, #jobs_current_center {
    border-right: #7e7e7e 1px solid;
  }

  #jobs_current_left {
    padding-left: 1px;
  }

  #jobs_current_right {
    padding-right: 0;
  }

    .jobs_current h2 {
      padding: 0 !important;
      margin: 30px 0 5px 0;
      line-height: 18px;
      font-size: 12px;
      font-weight: bold;
      color: #D46327;
    }

    .jobs_current h2:first-child {
      margin-top: 0;
    }

    .jobs_current p, .jobs_current ul li {
      margin-bottom: 4px;
      line-height: 18px;
      font-size: 12px;
    }

#jobs_additional_wrapper {
  clear: both;
  border-top: #7e7e7e 1px solid;
  padding-top: 25px;
  margin-top: 15px;
}

  #jobs_additional p {
    display: inline-block;
    margin: 0 5% 10px 0;
    width: 28%;
    vertical-align: top;
  }

#jobs_friends_wrapper {
  clear: both;
  padding: 25px 0;
}

  #jobs_friends_wrapper h1 {
    margin-bottom: 15px;
  }

  .jobs_friends {
    border: #7e7e7e 1px solid;
    padding: 15px 15px 9px 15px;
    margin-bottom: 15px;
  }

    .jobs_friends p:first-child {
      float: left;
      padding: 0 !important;
      margin: 0 30px 0 0 !important;
      width: 130px;
    }

    .jobs_friends p:first-child img {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
      width: 130px;
    }

    .jobs_friends h2,
    .jobs_friends p {
      margin-bottom: 6px;
      line-height: 18px;
    }

    .jobs_friends h2 {
      padding-top: 0 !important;
    }


/* ----- HOME PAGE ----- */

#home #columns {
  padding-bottom: 12px;
}

#home_tagline_and_banner {
  border-bottom : #747673 1px solid;
  margin-bottom : 25px;
  width         : 878px;
  height        : 235px;
}

#home_tagline_and_banner p {
  float       : left;
  padding     : 30px 25px 0 25px;
  margin      : 0;
  width       : 262px;
  line-height : 25px;
  font-size   : 18px;
  color       : #D46327;
}

#home_tagline_and_banner p.fourlines {
  padding-top : 65px;
}

#home_tagline_and_banner img {
  float  : right;
  width  : 565px;
  height : 235px;
}

.maps_block {
  height : 260px;
}

#home #content {
  padding : 8px 35px 20px 35px;
}

#home_callouts {
  height: 135px; /* prevents footer shift in IE8 when callouts are hovered */
}

.home_callout {
  float      : left;
  display    : inline; /* IE6 bug fix -- http://positioniseverything.net/explorer/doubled-margin.html */
  padding    : 0;
  margin     : 0 0 0 20px;
  border-top : #E1C127 1px solid;
  width      : 135px;
}

.home_callout h3 {
  padding      : 4px 0 6px 0;
  font-size    : 12px;
  font-weight  : bold;
  text-align   : center;
  color        : #164997;
}

.home_callout p a:hover {
  background-color: #fff; /* prevents background-color from showing in IE8 */
}

.home_callout p img {
  border-top : #BBBAB6 1px solid;
  width      : 135px;
  height     : 90px;
}

