/* -------------------------------------------------------------- 
  
   reset.css
   * Resets default browser CSS.
   
-------------------------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;
}

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* -------------------------------------------------------------- 
   
   typography.css
   * Sets up some sensible default typography.
   
-------------------------------------------------------------- */

/* Default font settings. 
   The font-size percentage is of 16px. (0.75 * 16px = 12px) */
body {
  font-size: 0.875em;
  line-height: 1.5; color: #333; background: #587cc8 url(floral_pattern.jpg) repeat; text-align: center;
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}


/* Headings
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6 { font-weight: normal; color: #354670; letter-spacing: -0.01em; }

h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
h2 { font-size: 2em; margin-bottom: 0.6em; clear: both; }
  h1 + img + h2 { clear: none; }
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 0.84em; }
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
h5 { font-size: 1em; font-weight: bold; margin-bottom: 0; }
h6 { font-size: 1em; font-weight: bold; }

h2, h3 { text-shadow: #ccc 1px 1px 2px; padding-bottom: 0.1em; border-bottom: 0.05em solid; }

h1 img, h2 img, h3 img, 
h4 img, h5 img, h6 img {
  margin: 0;
}


/* Text elements
-------------------------------------------------------------- */

p           { margin: 0 0 1.5em; }
p img.left  { float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; }
p img.right { float: right; margin: 1.5em 0 1.5em 1.5em; }

a, a:link   { color: #b71a15; text-decoration: none; border-bottom: 1px dotted; }
a:visited   { color: #9e669d; }
a:focus, a:hover, a:active { color: #f80303; border-bottom: 1px solid; }


blockquote  { margin: 1.5em; color: #666; font-style: italic; }
strong      { font-weight: bold; }
em,dfn      { font-style: italic; }
dfn         { font-weight: bold; }
sup, sub    { line-height: 0; }

abbr, 
acronym     { border-bottom: 1px dotted #666; }
address     { margin: 0 0 1.5em; font-style: italic; }
del         { color:#666; }

pre 				{ margin: 1.5em 0; white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

cite, .cite { text-align: right; font-style: italic; }


/* Lists
-------------------------------------------------------------- */

li ul, 
li ol       { margin:0 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }

ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }

dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}


/* Tables
-------------------------------------------------------------- */

table       { margin-bottom: 1.4em; width:100%; }
th          { font-weight: bold; }
thead th 		{ background: #c3d9ff; }
th,td,caption { padding: 4px 10px 4px 5px; }
tr.even td  { background: #e5ecf9; }
tfoot       { font-style: italic; }
caption     { background: #eee; }


/* Misc classes
-------------------------------------------------------------- */

.small      { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
.large      { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
.hide       { display: none; }

.quiet      { color: #666; }
.loud       { color: #000; }
.highlight  { background:#ff0; }
.added      { background:#060; color: #fff; }
.removed    { background:#900; color: #fff; }

.first      { margin-left:0; padding-left:0; }
.last       { margin-right:0; padding-right:0; }
.top        { margin-top:0; padding-top:0; }
.bottom     { margin-bottom:0; padding-bottom:0; }
.metadata   { margin-top:-1.25em; }

/* -------------------------------------------------------------- 
   
   forms.css
   * Sets up some default styling for forms
   * Gives you classes to enhance your forms
   
   Usage:
   * For text fields, use class .title or .text
   
-------------------------------------------------------------- */

label       { font-weight: bold; }
fieldset    { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
legend      { font-weight: bold; font-size:1.2em; }


/* Form fields
-------------------------------------------------------------- */

input.text, input.title,
textarea, select {
  margin:0.5em 0;
  border:1px solid #bbb;
}

input.text:focus, input.title:focus,
textarea:focus, select:focus {
  border:1px solid #666;
}

input.text, 
input.title   { width: 300px; padding:5px; }
input.title   { font-size:1.5em; }
textarea      { width: 390px; height: 250px; padding:5px; }

span.hint { display: block; font-style: italic; }


/* Success, notice and error boxes
-------------------------------------------------------------- */

.error,
.notice, 
.success    { padding: 0.8em; margin-bottom: 1em; border: 2px solid #ddd; }
ul.error    { padding: 0.8em 1.5em; margin: 0 0 1em; }

.error      { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
.notice     { background: #FFF6BF; color: #514721; border-color: #FFD324; }
.success    { background: #E6EFC2; color: #264409; border-color: #C6D880; }
.error a    { color: #8a1f11; }
.notice a   { color: #514721; }
.success a  { color: #264409; }

/* Page structure
-------------------------------------------------------------- */

#container { width: 960px; margin: 40px auto; background-color: #e5eaff; border: 1px solid #354670; text-align: left; 
  -webkit-box-shadow: 0 0 20px #000; -moz-box-shadow: 0 0 20px #000; box-shadow: 0 0 20px #000; }
#container, .dropShadow { border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; }
#banner { height: 185px; background: url(banner_background.jpg) top left repeat-x; position: relative;
  border-top-left-radius: 20px; border-top-right-radius: 20px; -moz-border-radius-topleft: 20px; -moz-border-radius-topright: 20px; -webkit-border-top-right-radius: 20px; -webkit-border-top-left-radius: 20px; }
  #banner h1 { width: 960px; height: 190px; text-indent: -9999em; background: transparent url(banner.png) top left no-repeat;}
  #banner p { text-indent: -9999em; }
  #banner p.gift { height: 30px; width: 290px; position: absolute; top: 149px; right: 25px; background: transparent url(giving_the_gift.png) top left no-repeat; }
#footer { padding-top: 4.5em; text-align: center; color: #666; font-size: 0.75em; clear: both; }

#navigation { width: 900px; height: 30px; float: left; list-style-type: none; margin: 0 0 1.5em; padding: 0 30px; color: #fff; font-weight: bold;
              background: #2e47a0 url(nav_background.jpg) repeat-x; }
  #navigation li { float: left; height: 30px; background-position: left top; background-repeat: no-repeat; margin: 0 11px 0 0; position: relative; left: -12px; }
  #navigation li.nav_index { background-image: url(nav_index.png); width: 65px; }
  #navigation li.nav_news { background-image: url(nav_news.png); width: 62px; }
  #navigation li.nav_awards { background-image: url(nav_awards.png); width: 78px; }
  #navigation li.nav_events { background-image: url(nav_events.png); width: 70px; }
  #navigation li.nav_board { background-image: url(nav_board.png); width: 138px; }
  #navigation li.nav_volunteers { background-image: url(nav_volunteers.png); width: 97px; }
  #navigation li.nav_donations { background-image: url(nav_donations.png); width: 96px; }
  #navigation li.nav_sponsors { background-image: url(nav_sponsors.png); width: 157px; }
  #navigation li.nav_about { background-image: url(nav_about.png); width: 86px; }
  #navigation li.nav_books { background-image: url(nav_books.png); width: 70px; }
  #navigation li.nav_contact { background-image: url(nav_contact.png); width: 100px; left: 104px; }
  #navigation li:hover { background-position: left center; }
  #navigation li.current { background-position: left bottom; }
  #navigation li.current:hover { cursor: default; }
  #navigation a { display: block; width: 100%; height: 100%; text-indent: -999em; border: none; overflow: hidden; }

#primary_content { margin: 0 30px; }

/* Images
--------------------------------------------------------------- */
#primary_content img { border: 1px solid #354670; }
iframe { border: 1px solid #354670; }
#primary_content img.text_wrap { float: right; background-color: #354670; padding: 1px; border-left: 15px solid #e5eaff; border-bottom: 15px solid #e5eaff; border-top: none; border-right: none; }

/* Index page
--------------------------------------------------------------- */
#vision, #mission { width: 280px; margin-right: 30px; margin-bottom: 1.5em; float: left; }
  #vision p { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }

#target_groups { width: 280px; margin-bottom: 1.5em; float: right; }
  #target_groups div { margin-bottom: 1.5em; height: 10.4em; border: 1px solid #4f7a9f;
                       background: #6398c7 url(blue_heart.png) bottom right no-repeat; }
  #target_groups div { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; }
  #target_groups ul { margin-left: 3em; margin-right: 1.5em; list-style-image: url(white_arrow.png); }
  #target_groups h5 { background-color: #fff; color: #354670; text-shadow: #ccc 1px 1px 2px; padding: 0.3em; text-align: center; font-size: 1.2em;
                      border-top-left-radius: 10px; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px;
                      -webkit-border-top-left-radius: 10px; -webkit-border-top-right-radius: 10px; 
                      border-bottom: 1px solid #4f7a9f; margin-bottom: 0.5em; }
  #target_groups a, #target_groups a:link, #target_groups a:visited { color: #fff; }
  #target_groups a:hover, #target_groups a:hover { color: #27377a; }
  #target_groups p { margin-bottom: 0; }
  #target_groups h6 { color: #fff; }
  #target_groups form { text-align: center; margin-left: -1.5em; }

#awards { width: 590px; margin-right: 30px; float: left; clear: both; }
#news { width: 280px; float: left; }
  #awards ul, #news ul { list-style-type: none; margin-left: 0; }
  #awards h5 { color: inherit; margin-bottom: 0; }
  #awards .more, #news .more { text-align: right; }

/* Other pages
--------------------------------------------------------------- */
ul.board_members, ul.sponsorships, ul.columns { list-style-type: none; margin-left: 0; margin-right: 0; float: left; }
  ul.board_members li, ul.sponsorships li, ul.columns li { float: left; width: 435px;}
  ul.board_members li.odd, ul.sponsorships li.odd, ul.columns li.odd { margin-right: 30px; clear: left; }
  ul.sponsorships li p { width: 210px; float: left; min-height: 117px; text-align: center; }
  ul.sponsorships li p.odd { margin-right: 15px; clear: left; }
  ul.sponsorships li p.alone { width: 100%; text-align: center; }
    ul.sponsorships li p.alone img { margin-left: auto; margin-right: auto; }
  ul.sponsorships a { border-bottom: none; }
  ul.sponsorships li.text a { border-bottom: 1px dotted; }
  ul.sponsorships li.text a:hover { border-bottom: 1px solid; }
  #primary_content ul.sponsorships img:hover { border: 1px solid #f80303; }
  
.genesis_story, .poem { width: 435px; float: left; }
.genesis_story { margin-right: 30px; }

.donation_requests { width: 500px; float: left; }
  .donation_requests form { float: left; }
#primary_content .donation_requests img { border: none; float: left; }

label { display: block; }
label.error { color: #8a1f11; background-color: transparent; border: none; padding: 0; margin: 0;}

div#howto_gift { float: right; width: 465px; padding-left: 30px; background-color: #e5eaff;}
div#howto_gift + h2 { clear: none; }
