body{
  background:#fff url('layout_imgs/top_bg.png') repeat-x top left;
  font-family:"Trebuchet MS",Helvetica,Jamrul,sans-serif;
  font-size:95%;
}

#hdr{
  position:relative;
  background:url('layout_imgs/hdr_bg.jpg') no-repeat top center;  
  height:155px;
  width:960px;
  left:50%;
  margin-left:-480px;
  margin-bottom:25px;
  
}

  #hdr_logo{
    display:block;
    position:absolute;
    left:0px;
    right:0px;
    width:286px;
    height:134px;
    background:url('layout_imgs/hdr_logo.png') no-repeat;
    overflow:none;
    text-indent:-9999999px;
  }

  #languages{
    position:absolute;
    top:8px;
    right:0px;
    font-size:80%;
  }
    #languages li{
      float:left;
      margin:0 2px;
    }
    #languages li a{
      display:block;
      color:#fff;
      text-decoration:none;
      padding:4px 8px;
      -moz-border-radius:5px;
      -webkit-border-radius:5px;
      background:none;/* override the icon style */
    }
    #languages li.current a,
    #languages li a:hover{
       background:#579633;
    }
    #languages li a span.lang{
      display:none;
    }

  #nav{
    position:absolute;
    bottom:-15px;
    left:0px;
  }
    #nav li{
      float:left;
      margin:0 3px;
    }
    #nav li a{
      display:block;
      background:#fff;
      padding:10px 12px;
      color:#27318b;
      text-decoration:none;
      font-size:110%;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius:10px;
    }
    #nav li.current a,
    #nav li a:hover{
      background:#dde2ff;
    }

#content{
  margin-bottom:50px;
}

#sidebar,
#social_links{
  padding:10px;
  width:280px;
  background:url('layout_imgs/sidebar_bg.png') repeat-x top left;
}
  #sidebar > h3{
    margin:0 0 8px 0;
  }
  #sidebar > h3 a{
    text-decoration:none;
  }

  #social_links{
    margin-top:10px;
  }
    #social_links a{
      margin-right:0px;
    }

/*--- SUBNAV ---*/
#sidebar ul{
  margin:10px 0;
}
#sidebar ul li{
  margin:12px 10px;
}
#sidebar ul li a{
  display:block;
  padding:5px 5px 10px 28px;
  font-weight:bold;
  text-decoration:none;
  border-bottom:1px solid #dcebed;
  font-size:110%;
  color:#27318b;
  background:none;/* override the icon style */
}
/*top level current link*/
#sidebar ul li.current > a,
#sidebar ul li.parent > a{
  background:url('layout_imgs/hammer_blue.png') no-repeat top left;
}

  #sidebar ul li ul li a{
    color:#536cd1;
    padding-left:38px;
  }

  #sidebar ul li ul li.current > a,
  #sidebar ul li ul li.parent > a{
    background:none;
    color:#b33600;
  }

    #sidebar ul li ul li ul li a{
      font-weight:normal;
      color:#7d8ed4;
      border:none;
    }

#ftr{
  position:relative;
  border-top:4px solid #28540f;
  padding-top:5px;
  background:#559737 url('layout_imgs/bottom_bg.png') repeat-x top left;
  font-size:90%;
  margin-top:50px;
}

  #ftr p{
    color:#333;
    font-size:95%;
  }
  
  #ftr a{
    color:#28540f;
    text-decoration:none;
  }
    #ftr a:hover{
      color:#77ea2d;
    }

  #ftr ul li{
    margin-bottom:2px;
  }

  #ftr_contact label{
    color:#28540f;
    display:none;
  }
  #ftr_contact input,
  #ftr_contact textarea{
    background:#d1f7ba;
    border:none;
    padding:2px 4px;
    color:#28540f;
    font-family:inherit;
    font-size:100%;
    width:95%;
    margin-left:1%;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
  }
  #ftr_contact p{
    margin:3px 0;
  }
  #ftr_contact #ftr_message{
    font-size:13px;
    width:209px;
    min-height:70px;
    line-height:20px;
  }
  /* error state from jqueryui, had to be added because of the selector weight */
  #ftr_contact .ui-state-error{
    /*border: 1px solid #cd0a0a;*/
    background: #fef1ec url(custom-theme/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
    color: #cd0a0a;
  }

  #ftr_contact #ftr_submit{
    width:60px;
    background:#28540f;
    color:#d1f7ba;
    cursor:pointer;
    padding:0;
  }

  #ftr a#ftr_logo{
    overflow:hidden;
    display:block;
    width:139px;
    height:71px;
    background:url('layout_imgs/ftr_logo.png') no-repeat top left;
    text-indent:-999999px;
  }

  #ftr a#credit{
    display:block;
    font-size:85%;
    margin:8px 0;
    background:none;/* override the icon style */
  }

  #ftr_nav{
    text-align:right;
    margin:0;
  }
    #ftr_nav li{
      float:right;
      margin:0 3px;
    }
    #ftr #ftr_nav li a{
      text-decoration:none;
      background:none;/* override the icon style */
      padding:0;
    }

  #ftr .grid_3 ul,
  #ftr .grid_3 form,
  #ftr .ajax_loader{
    border-top:1px solid #76cc45;
    margin:5px 0;
    padding-top:8px;
  }
    #ftr .ajax_loader{
      margin-bottom:100px;
    }

  #ftr p.grid_12{
    margin:20px 0 5px 0;
    width:960px;
    border-top:1px solid #76cc45;
  }

.top_message{
  background:#d6dbf4 url('layout_imgs/ui-bg_diagonals-thick_80_d6dbf4_40x40.png');
  border:1px solid #d2d6e7;
  padding:10px;
}

/*--- HOMEPAGE SLIDESHOW ---*/
#slideshow{
  position:relative;
  height:335px;
  width:100%;
}
  .slide{
    position:absolute;
    height:335px;
    width:100%;
  }
    .slide .caption{
      position:absolute;
      bottom:0;
      left:0;
      width:100%;
      background:#fff;
      padding:4px 10px 10px 10px;
      opacity:.75;
      filter:alpha(opacity=75);
    }
      .slide .caption .title{
        font-weight:bold;
        font-size:150%;
        color:#b33600;
      }
      .slide .caption p{
        margin:0;
        margin-right:130px;
      }
      .slide .caption p.learn_more{
        margin:0;
        position:absolute;
        bottom:15px;
        right:30px;
        font-weight:bold;
      }

/*--- EVENTS ---*/
p.calendar_color{
  float:right;
  display:block;
  width:25px;
  height:25px;
}

.event .day_calendar{
  float:left;
  margin:-2px 10px 0 0;
  font-weight:bold;
  color:#333;
  font-size:21px;
}

.event{
  margin:10px 0 40px 0;
  clear:left;
}
  #sidebar .event{
    margin-bottom:20px;
  }

.event p{
  margin:0;
  line-height:1;
}

  .event p.title{
    font-weight:bold;
    color:#27318b;
    margin-top:4px;
  }
  .event p.category,
  .event p.time{
    font-weight:bold;
    font-size:95%;
    color:#15193d;
  }
  .event p.time{
    color:#1a1a1a;
  }

  .event .description p{
    clear:left;
    margin:10px 4px;
    font-size:90%;
    line-height:1.25em;
  }

  .event p.read_more{
    text-transform:lowercase;
    font-size:90%;
    margin-left:4px;
  }

/*--- EVENT CALENDAR ---*/
#ui-datepicker-div{
  display:none;
}
#empty_event{
  display:none;
}
#event_list{
  width:380px;
  min-height:100px;
}
#event_cal .ui-datepicker-inline{
  width:213px;
  font-size:90%;
}

#event_cal td a,
#event_cal td span.ui-state-default{
  position:relative;
  height:18px;
  width:21px;
  font-size:90%;
}

#event_cal td a span.ui-datepicker-day{
  display:inline;
}
  #event_cal td.event a span.category{
    width:2px;
    height:2px;
    float:right;
    margin-top:1px;
  }

#content #event_category ul{
  list-style:none;
  margin:0;
}
  #content #event_category ul li{
    font-size:90%;
    color:#666;
    clear:right;
    margin-bottom:5px;
    text-align:right;
    padding-right:5px;
  }
  #event_category .calendar_color{
    width:20px;
    height:20px;
    margin-left:5px;
  }

/*--- GENERAL STYLES ---*/
h1{
  font-weight:bold;
  font-size:150%;
  color:#b33600;
  margin:10px 0 5px 0;
/*  clear:both;*/
}
h2{
  font-size:120%;
  color:#6cba3f;
  margin:10px 0 4px 0;
}
h3{
  font-size:105%;
  color:#15193d;
  margin:4px 0 4px 0;
}
h4{
  color:#20441c;
}
p{
  color:#15193d;
  line-height:1.35em;
  margin:0 0 8px 0;
}
a{
  color:#27318b;
}
a:hover{
  color:#3f4fe0;
  text-decoration:none;
}

span.sup{
  font-size:55%;
  vertical-align:super;
}

#content ol,
#content ul,
.ui-dialog ol,
.ui-dialog ul{
  margin:0 0 8px 30px;
  line-height:1.35em;
}
#content ol, .ui-dialog ol { list-style:decimal; }
#content ul, .ui-dialog ul { list-style:square; }
#content ol li,
#content ul li,
.ui-dialog ol li,
.ui-dialog ul li{
  margin:2px 0;
}

.home_row{
  margin:15px 0;
}

.home_section img.icon{
  float:left;
  margin:5px 10px 0 0;
}

.home_section h2{
  padding-top:5px;
  padding-left:25px;
  background:url('layout_imgs/hammer_green.png') no-repeat bottom left;
}
  .home_section h2.no_icon{
    background:none;
    padding-left:inherit;
  }

.clearer{
  clear:both;
}

.round_10{
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.round_5{
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.translation_dialog{
  text-align:center;
  padding:20px 0 2px 0;
}
  .translation_dialog img{
    margin-bottom:10px;
  }
  .translation_dialog .title{
    display:none;
  }

.page_photo{
  float:right;
  margin:10px 0 10px 20px;
}
  .page_photo img{
    border:1px solid #15193d;
  }
  .page_photo p{
    font-size:90%;
    font-style:italic;
    margin:5px 0 0 0;
    color:#666;
  }

.note{
  font-size:90%;
  font-style:italic;
  color:#787878;
}

.ui-dialog.hide_title .ui-dialog-titlebar{
  display:none;
}

li img{
  vertical-align:top;
}

#paypal td{
  vertical-align:top;
  padding-top:15px;
}


/*--- ARCHIVES --- */
.year{
  position:relative;
  margin-top:10px;
  font-size:200%;
  font-weight:bold;
}

.year a{
  background:none;
  padding:0 0 0 0;
  text-decoration:none;
}

.year span.image{
  display:block;
  height:100px;
  background-position:bottom left;
  border:1px solid #27318b;
}

.year span.image:hover{
  border:1px solid #3f4fe0;
}

.year span.numeric{
  position:absolute;
  bottom:-10px;
  left:5px;
  background:#fff;
  padding:4px 8px;
}



/*--- PARTNERS & ANNUAL REPORT ---*/
.partner,
.report{
  position:relative;
  margin:5px 0 15px 0;
}
  .partner .logo,
  .report .preview{
    text-align:right;
    margin-top:5px;
  }
    .partner .logo a,
    .report .preview a{
      background:none;
      padding:0;
    }
    .report .preview a img{
      border:1px solid #27318b;
    }
    .report .preview a:hover img{
      border-color:#3f4fe0;
    }

  .partner .description h2 a,
  .report .description h2 a{
    text-decoration:none;
    background:none;
    color:inherit;
  }

  .partner .description p.url{
    font-size:90%;
    font-style:italic;
  }

/* fanciness for the most recent */
.report.recent{
  width:610px;
  padding:10px 10px 20px 10px;
  margin-bottom:20px;
  background:url('layout_imgs/sidebar_bg.png') repeat-x top left;
}
  .report.recent .grid_5{
    width:370px;
  }

/* normal for older */
.report.grid_4 h3 a{
  background:none;
}
.report.grid_4 .description p,
.report.grid_4 .description li{
  font-size:90%;
}


/*--- BA ITEM ---*/
.featured_item{
  width:610px;
  padding:10px 10px 20px 10px;
  margin-bottom:20px;
}
  .featured_item .grid_5{
    width:370px;
  }
.featured_item{
  background:url('layout_imgs/sidebar_bg.png') repeat-x top left;
}
.featured_item p{
  margin:0 0 2px 0;
}
  .featured_item p.desc_label{
    margin:0 0 0 0;
  }
  .featured_item p.additional_photos{
    margin:5px 0 0 0;
  }
.featured_item div.thumbs a img{
  border:1px solid #27318b;
  margin-right:2px;
}
  .featured_item div.thumbs a:hover img{
    border:1px solid #3f4fe0
  }

.featured_item .photo img{
  border:1px solid #3e3e3e;
}

/* thumbs */
.featured_item_thumb{
  text-align:center;
  background:#eee;
  cursor:pointer;
  padding-bottom:10px;
}
  .featured_item_thumb:hover{
    background:#e7f2ff;
  }
.featured_item_thumb p{
  font-size:90%;
  margin:0;
}
.featured_item_thumb p.thumbs{
  margin:6px 0;
}

.featured_item_thumb div.json{
  display:none;
}


/*--- TRUE STORIES ---*/
.story_thumb{
  margin-top:15px;
  text-align:center;
}
.story_thumb p{
  font-size:90%;
  margin:0;
}
.story_thumb a.icon{
  background:none;
  padding:0 0 0 0;
  margin:0;
}

.story{
  margin-top:10px;
}

.story p:first-child:before{
  content:url('layout_imgs/open_quote.png');
  margin-right:4px;
  vertical-align:bottom;
}
.story p:last-child:after{
  content:url('layout_imgs/close_quote.png');
  margin-left:4px;
  vertical-align:top;
}

#story_services{
  margin-bottom:30px;
}

  #story_services p{
    float:left;
    margin:5px 10px;
  }
  

/*--- STAFF BOARD ---*/
.person{
  margin:0 0 10px 0;
  min-height:100px;
}

.has_certifications.alpha + .person{
  min-height:240px;
}

.person p{
  margin:0;
  line-height:1.15em;
}
.person .name{
  font-weight:bold;
  font-size:120%;
  color:#15193d;
}
.person .title{
  color:#15193d;
  font-size:90%;
  font-style:italic;
}
.person .phone{
  color:#4D4D4D;
  font-size:90%;
  margin:3px 0;
}
.person .email{
  font-size:95%;
}

  .person .certifications{
    margin:20px 0 5px 0;
  }
  .person .certifications img{
    cursor:help;
  }


/*--- CLASS SCHEDULE ---*/
.class_category{
  margin:15px 0 0 0;
  font-size:130%;
  clear:both;
}
.class{
  margin-bottom:20px;
}
.class h3{
  color:#3d69b2;
  font-size:110%;
}

.class_date.grid_4{
  padding-left:15px;
  width:285px;
  margin-bottom:5px;
}

.class_date p{
  margin:0;
}
.class_date p.date{
  font-weight:bold;
  color:#4e4e4e;
}

/*--- FLICKR GALLERY ---*/
#gallery a{
  padding:0;
  background:none;
  margin:0 2px 2px 0;
}

/*--- EVENT SPONSORS ---*/
ul.sponsors li.has_logo{
  list-style:none;
  margin:6px 0 !important;
}


/*--- LINK ICONS ---*/
a.icon{
  padding:0 12px 0 0;
  background-repeat:no-repeat;
  background-position:center right;
}
a.external{ background-image:url('layout_imgs/external_blue.png'); }
#ftr a.external{ background-image:url('layout_imgs/external_green.png'); }
a.internal{ background-image:url('layout_imgs/internal_blue.png'); padding-right:9px; }
#ftr a.internal{ background-image:url('layout_imgs/internal_green.png'); padding-right:9px; }

a.no_icon{
  background:none;
  padding-right:0;
}

/*--- CALENDAR CLASSES ---*/
.day_calendar{
  display:block;
  width:58px;
  height:33px;
  background:url('layout_imgs/calendars.png') no-repeat;
  text-align:center;
  padding-top:22px;
}
  .day_calendar span.month{
    display:none;
  }
  .jan{ background-position:0 0; }
  .feb{ background-position:-63px 0; }
  .mar{ background-position:-123px 0; }
  .apr{ background-position:-184px 0; }
  .may{ background-position:0 -59px; }
  .jun{ background-position:-63px -59px; }
  .jul{ background-position:-123px -59px; }
  .aug{ background-position:-184px -59px; }
  .sep{ background-position:0 -114px; }
  .oct{ background-position:-63px -114px; }
  .nov{ background-position:-123px -114px; }
  .dec{ background-position:-184px -114px; }

#slideshow_jumps{
  position:absolute;
  top:5px;
  right:8px;
  z-index:999999;
  list-style:none;
}
  #content #slideshow_jumps li{
    display:inline-block;
    list-style:none;
    background: rgb(235, 243, 240);
    background: rgba(255, 255, 255, .5);
    width:20px;
    text-align:center;
    font-weight:bold;
    margin-right:2px;
    cursor:pointer;
    color:#333;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
  }
  #content #slideshow_jumps li:hover,
  #content #slideshow_jumps li.current{
    background: rgb(184, 202, 242);
    background: rgba(55, 64, 155, .5);
    color:#fff;
  }


/*--- VIDEO / DIY ---*/
#category_chooser{
  margin-top:30px !important;
}
#main_video_category{
  position:relative;
  font-size:1.6em;
  letter-spacing:-.03em;
  margin:0 0 0 0 !important;
  font-weight:bold;
  text-align:center;
  z-index:20;
}
  #main_video_category li{
    list-style:none;
    float:left;
  }
    #main_video_category li a{
      display:block;
      width:180px;
      padding:8px 5px;
      margin-right:5px;
      background-image:none;
      padding-right:0;
      background:#6e79d5;
      text-decoration:none;
      color:#fff;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius:10px;
    }
    #main_video_category li ul{
      position:absolute;
      font-size:.85em;
      left:-30px;
      width:570px;
      background:#27318b;
      padding:5px 5px 5px 10px;
      text-align:left;
      display:none;
      -moz-border-radius:0 10px 10px 10px;
      -webkit-border-radius:0 10px 10px 10px;
      border-radius:0 10px 10px 10px;
    }
      #main_video_category li li a{
        background:none;
        font-weight:normal;
        font-size:.9em;
        letter-spacing:0em;
        padding:5px !important;
        width:170px;
        -moz-border-radius:4px !important;
        -webkit-border-radius:4px !important;
        border-radius:4px !important;    
      }
      #main_video_category li li a:hover{
        background:rgba(0,0,0,.1);
      }

  #main_video_category li:hover a{
    background:#27318b;
  }
    #main_video_category:hover > li a{
    -moz-border-radius:10px 10px 0 0;
    -webkit-border-radius:10px 10px 0 0;
    border-radius:10px 10px 0 0;
    }
  #main_video_category li:hover ul{
    display:block;
  }
  

.video_page .category_description{
  margin-bottom:20px;
  padding-bottom:10px;
  border-bottom:1px solid #e3e3e3;
}



.video_page h2{
  clear:both;
}

.video{
  position:relative;
  clear:left;
  margin:0 0 0 0;
  padding:15px 5px 15px 130px;
  border-top:1px solid #e3e3e3;
}
  .video img{
    position:absolute;
    left:0; top:20px;
    width:120px;
    margin:0 5px 0 0;
    border:1px solid #aaa;
  }
  .video h3{
    margin-bottom:5px;
  }
  .video h3 a{
    text-decoration:none;
    letter-spacing:-.04em;
  }
  .video .description{
    position:relative;
    padding-right:20px;
  }
    .video .description p{
      margin:0 0 0 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
      .video .description.expanded p{
        white-space:normal;
      }
    .video .description .expander{
      position:absolute;
      display:block;
      right:0;
      top:2px;
      text-decoration:none;
      background:#27318b;
      color:#fff;
      text-align:center;
      line-height:0;
      padding:8px 4px 10px;
      -moz-border-radius:2px;
      -webkit-border-raduis:2px;
      border-radius:2px;
      opacity:.3;
      filter:alpha(opacity=30);
    }
    .video .description .expander:hover{
      background:#3845c1;
    }
  .video p.link{
    margin-top:2px;
  }

  .video:hover{ background:#f5f7ff; }
  .video:hover .expander{ opacity:1; filter:alpha(opacity=100); }


#top_video{
  padding:5px;
  margin:10px 0 20px 0;
  border:none;
}
  #top_video img{
    position:relative;
    top:0; left:0;
    width:auto;
    float:right;
    margin:0 0 0 10px;
  }
  #top_video h3{
    padding-top:15px;
  }
  #top_video p{
    white-space:normal;
    overflow:visible;
  }
