/*
 *  Reset element default values.
 */

body {
  margin: 0;
  padding: 0;
  border: 0;
  font: normal 0.7em/1.0em Arial, Helvetica, Helv, sans-serif;
}

h1, h2, h3, h4, h5, h6,
p, ul, ol, dl,
pre, hr, blockquote, address, code, cite,
div, span,
table, tr, td, th, thead, tbody, tfoot,
form, fieldset, label {
  margin: 0;
  padding: 0;
  border: 0;
  font: normal 1.0em/1.0em Verdana, Arial, Helvetica, Helv, sans-serif;
}

a, img {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

a {
  color: #0c2e86;
  font-weight: bold;
}

.alphabet {
  display: block;
  padding-bottom: 16px;
  text-align: center;
}

.date {
  font-style: italic;
}

.display-none {
  display: none;
}

/*
 *  General layout and appearance.
 */

body {
  background: #101c41 url("images/body-bkg.jpg") repeat-x;
  color: #000;
  text-align: center;
}

#page,
#subpage {
  margin: 0 auto;
  width: 747px;
  text-align: left;
}

#header {
  height: 53px;
  background: #d2de6b;
}

#contentwrapper {
  padding-top: 25px;
  margin-left: 250px;
}

#menuwrapper {
  float: left;
  width: 240px;
}

#fold {
  clear: both;
  background: url("images/page-fold-bkg.gif") top right no-repeat;
}

#footer {
  height: 36px;
  padding: 16px 20px;
  color: #999;
  font-size: 0.9em;
}

/*
 *  Block-specific styles.
 */

/*  Sitewide header styles. */

#header h1 {
  padding-top: 10px;
  text-align: right;
}

#site {
  height: 28px;
  background: #e9ecef;
  color: #6b717e;
}

#site p {
  padding: 9px 9px 0 0;
  font: bold 9px/9px Verdana, Arial, Helvetica, Helv, sans-serif;
  text-align: right;
}

/*  Main page background. */

#page,
#subpage {
  background: url("images/page-bkg.gif") top right repeat-y;
}

#page #content {
  background: url("images/page-content-bkg.jpg") top right no-repeat;
}

#page #footer {
  margin-left: 21px;
  background: #e9ecef;
  color: #545454;
}

/*  Menu text images are flattened onto a #343b4b background. */

#menu ul {
  padding-top: 38px;
  padding-left: 26px;
  padding-bottom: 16px;
}

#menu ul li {
  display: block;
  height: 17px;
  list-style-type: none;
}

#menu ul li.for-alumni-friends {
  margin-top: 17px;
}

#menu ul li.for-alumni-friends,
#menu ul li.teachers-homework,
#menu ul li.guidance {
  height: 28px;
}

#menu li.search {
  height: auto;
  width: 132px;
  padding-top: 17px;
  text-align: right;
}

#menu input.search-input-text {
  width: 128px;
  margin-bottom: 4px;
}

#menu li.contact,
#menu li.information {
  height: auto;
  margin: 46px 30px 0 15px;
  padding: 16px 20px 0px 20px;
  border-top: 2px solid #f8e623;
}

#menu li.contact {
  background: #bfcb4f;
  color: #fff;
}

#menu li.information {
  background: #e4e7eb;
  color: #000;
}

#menu li.contact h4,
#menu li.information h4 {
  font-weight: bold;
}

#menu li.contact p,
#menu li.information p {
  padding-bottom: 16px;
}

/*  Front-page calendar, news, message, and spotlight styles. */

#calendar {
  height: 200px;
  margin-top: 147px;
  padding-bottom: 16px;
}

#calendar h2 {
  height: 39px;
}

#calendar h2 img {
  display: block;
  padding-top: 8px;
}

#calendar table td {
  width: 240px;
}

#calendar ul {
  padding: 16px 20px 0 20px;
}

#calendar ul li {
  list-style-type: none;
  padding-bottom: 3px;
}

#calendar ul li.highlight,
#calendar ul li.highlight a {
  color: #62acdb;
}

#calendar ul li.vacation,
#calendar ul li.vacation a {
  color: #b1040b;
}

#calendar #snow {
  background: #8f052c;
  color: #fff;
  margin: 16px 0px 16px 20px;
  padding: 16px 0;
}

#calendar #snow h3 {
  margin-bottom: 8px;
}

#calendar #snow span {
  font-weight: bold;
  font-style: normal;
}

#calendar #snow h3,
#calendar #snow span,
#calendar #snow p {
  padding: 0 20px;
}

#news {
  height: 277px;
}

#news h2 {
  height: 40px;
  padding-left: 41px;
}

#news h2 img {
  display: block;
  padding-top: 10px;
}

#news h3 {
  padding-top: 16px;
  color: #0c2e86;
  font-weight: bold;
}

#news a {
  color: #0c2e86;
  font-weight: bold;
}

#news h3,
#news span.date,
#news p {
  padding-left: 61px;
  padding-right: 220px;
}

#fold table {
  margin: 0 30px 0 120px;
}

#fold table td {
  height: 203px;
}

#fold #message {
  width: 325px;
}

#fold table h3 {
  height: 40px;
}

#fold #spotlight h3 img {
  display: block;
  padding: 10px 0 0 20px;
}

#fold #message h3 img {
  display: block;
  padding: 10px 0 0 20px;
}

#fold table h4 {
  padding: 16px 10px 0 20px;
}

#fold table p {
  padding: 0 10px 16px 20px;
}

/*  Subpage background and footer. */

#subpage #content {
  background: url("images/subpage-content-bkg.jpg") top right no-repeat;
  color: #000;
}

#subpage #footer {
  margin-left: 21px;
  background: #e9ecef;
  color: #545454;
}

/*  Subheader text images are flattened onto a #404b6c background. */

#subheader {
  height: 106px;
}

#subheader h2 img {
  display: block;
  padding-top: 36px;
} 

/*  Subpage breadcrumbs, favorites, and article styles. */

#breadcrumbs,
#article {
  margin-top: 16px;
  padding-right: 20px;
}

#breadcrumbs {
  text-align: right;
}

#article h3 {
  padding-bottom: 16px;
  font-size: 2.0em;
  font-weight: bold;
}

#article h4 {
  padding-bottom: 16px;
  font-size: 1.5em;
  font-weight: bold;
}

#article h5 {
  font-weight: bold;
}

#article p,
#article ul,
#article ol {
  padding-bottom: 16px;
}

#article ul,
#article ol {
  padding-left: 2.0em;
}

#subpage #article {
padding-bottom: 100px;
}

#inset {
  float: right;
  height: auto;
  width: 162px;
  margin-left: 20px;
}

#inset div {
  margin-bottom: 16px;
}

#inset h3,
#inset h4 {
  padding: 0 20px;
  font-size: 1.0em;
  font-weight: bold;
}

#inset p {
  padding: 0 20px 16px 20px;
}

.contact {
  padding-top: 16px;
  border-top: 2px solid #ffc000;
  background: #dde690;
  color: #000;
}

.dynamic {
  padding-top: 16px;
  border-top: 2px solid #ffc000;
  background: #e4e7eb;
  color: #000;
}

.details {
  padding-top: 16px;
  border-top: 2px solid #ffc000;
  background: #97a5af;
  color: #fff;
}

#inset div.links h3 {
  margin-bottom: 16px;
  padding: 8px 20px;
  border-bottom: 2px solid #f8e623;
  background: #8f052c;
  color: #ffc000;
}

.links {
  background: #dde690;
  color: #000;
}

#article table {
  width: 470px;
  margin-bottom: 16px;
  color: #000;
}

#article table td,
#article table th {
  padding: 5px 8px;
  vertical-align: top;
}

#article table thead th {
  background: #19213c;
  color: #d2de6c;
  border-bottom: 2px solid #ffc000;
  font-weight: bold;
}

#article table thead th a {
  color: #d2de6c;
}

#article table tbody th {
  background: #e4e7eb;
  color: #000;
  font-weight: bold;
}

#article table.calendar thead th {
  border-bottom: 0;
}

#article table.calendar thead td {
  background: #ffc000;
  font-weight: bold;
  padding: 2px 2px;
}

#article table.calendar {
  border-top: 1px solid #19213c;
  border-left: 1px solid #19213c;
}

#article table.calendar thead th,
#article table.calendar thead td {
  text-align: center;
}

#article table.calendar thead td {
  border-bottom: 1px solid #19213c;
  border-right: 1px solid #19213c;
}

#article table.calendar tbody td,
#article table.calendar tbody th {
  width: 14%;
  padding: 2px 2px;
  border-right: 1px solid #19213c;
  border-bottom: 1px solid #19213c;
  font: normal 0.8em Arial, Verdana, Helvetica, Helv;
  height: 72px;
  text-align: left;
}

#article.gallery img,
img.gallery {
  padding: 2px;
  border: 1px solid #19213c;
  background: #97a5af;
}

#article form {
width: 350px;
}

#gallery-category-jump {
  padding-bottom: 16px;
  text-align: right;
}

div.pagination {
  text-align: right;
}

/* Sub-page Calendar Styles */

.calendar-top a {
color: #cc0000;
}

/* Navigation-specific styles. */

div.navigation {
  text-align: center;
}

div.navigation span.previous {
  display: block;
  width: 180px;
  float: left;
  text-align: left;
}

div.navigation span.next {
  display: block;
  width: 180px;
  float: right;
  text-align: right;
}
