/* TODO:  make sub-menus drop-down */


/***********************
***** Main Styling *****
***********************/

body {
  background-color: #f2f2f2;
  font-family: Tahoma, Arial, Helvetica, sans-serif;
  font-size: 62.5%;
  margin: 0;
  padding: 0;
}

a, #navbar a:hover, #navbar a.active, h1 { color: #908b3a; }
a:link, a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }

a img { border: 0; }

h1, h2, h3, h4, h5, h6, #navbar, table caption, table th, .source, #news-letter button
{ font-family: Cambria, "Times New Roman", Helvetica, sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  margin: 5px 0;
  padding: 0;
}

h1 {
  font-size: 3em;
  margin-bottom: 20px;
}
h2 { font-size: 1.9em; }
h3 {
  font-size: 1.5em;
  font-weight: bold;
}
h4 { font-size: 1em; }
h5 { font-size: .7em; }
h5 { font-size: .5em; }

hr {
  border: 0;
  background-color: #e9e9e9;
  height: 15px;
}

p {
  margin: 20px 0;
  padding: 0;
}

table caption, table th {
  font-size:  1.3em;
  font-weight: bold;
}

.error, .note, .message, .warning {
  font-weight: bold;
  font-size: 1.1em;
}
.error { color: darkRed; }
.note { color: darkGreen; }
.message { color: darkBlue; }
.warning { color: darkOrange; }

.required { background-color: lightYellow; }

.center, div#navbar li, #footer,
table.pictureMiddle h1, table.pictureMiddle h2, table.pictureMiddle h3, table.pictureMiddle h4, table.pictureMiddle h5, table.pictureMiddle h6
{ text-align: center; }

.testimonial, .source { font-size: 1.2em; }
.testimonial {
  font-weight: bold;
  margin-bottom: 0;
}
.source {
  border-bottom: 1px solid silver;
  color: #989898;
  font-style: italic;
  margin-top: 0;
  padding-bottom: 20px;
}


/*****************
***** Layout *****
*****************/

#quicks-container { background-color: #282828; }
#quicks {
  font-size: 1.1em;
  margin: 0 auto;
  position: relative;
  width: 905px;
}
#quicks a {
  color: #d8d8d8;
  float: left;
  padding: 8px 5px;
  margin-right: 15px;
  text-decoration: none;
}
#quicks a:hover { background-color: #404040; color: white; }

#header, #content-container, #footer {
  margin: auto;
  width: 900px;
}

#header, #content-container { margin-bottom: 25px; }

#main-container {
  background-color: white;
  border-bottom: 1px solid #ccc;
  padding-top: 65px;
}

#header {
  background-image: url(/images/theme/theweddedbliss.gif);
  background-repeat: no-repeat;
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 25px;
}

#content-container { font-size: 1.2em; }

#footer, #footer a { color: #818181 }

#footer {
  font-size: 1.1em;
  padding: 25px 25px 50px;
}

table#columns, table.contact-info-text, table#news-letter { width: 100%; }
table#columns td, table.contact-info-text td, table#news-letter td { vertical-align: top; }
table#columns td#column-nav, table.contact-info-text td.contact-info
{ width: 217px; }

table#columns td#column-nav { padding: 105px 0 0; }
table#columns td#column-content { padding: 0 15px; }
table#columns td#column-right {
  padding: 0;
  text-align: right;
}

table.contact-info-text td.contact-text { padding-left: 15px; }

.clear-floats { clear: both; }


/**************************
***** Navigation Bars *****
**************************/

#navbar ul, .navbar ul {
  list-style-type: none;  /* remove bullets */
  margin: 0;
  padding: 0;
}

#navbar ul ul, .navbar ul ul { display: none; }

#navbar li, .navbar ul, .navbar li
{ float: left;  /* stack items horizontally */ }

#navbar {
  font-size: 1.4em;
  height: 37px;
  margin-left: 280px;
}

#navbar li { padding: 23px 9px 0; }

#navbar a { color: black; }

.navbar {
  overflow: hidden;  /* hide extras if too wide */
  width: 100%;  /* set width just in case too wide */
}

.navbar ul, .navbar li { position: relative; }  /* make it centerable */

.navbar ul { left: 50%; }  /* push to right */
.navbar li {
  border-color: #aaa;
  border-style: solid;
  border-width: 0 1px 0;
  padding: 0 9px;
  right: 50%;  /* push back to left */
}

#column-nav a {
  color: #838383;
  font-size: 1.2em;
  padding: 2px;
}

#column-nav a.active, #column-nav a:hover {
  background-color: #908b3a;
  color: white;
  text-decoration: none;
}


/****************
***** Forms *****
****************/

form.right table { margin-right: 32px; }

form {
  border: 0;
  padding: 0;
}

button {
  background-color: silver;
  border: 2px outset silver;
}
button:hover { cursor: pointer; }

.button, table.form th { text-align: right; }


/*************************
***** Content Layout *****
*************************/

form {
  border: 0;
  padding: 0;
}

button {
  background-color: silver;
  border: 2px outset silver;
}
button:hover { cursor: pointer; }

.button, table.form th { text-align: right; }

.left {
  float: left;
  margin-right: 10px;
}

.right {
	float: right;
	margin-left: 10px;
}

.right-text { text-align: right; }

table.calendar caption, table.form caption, table.spreadsheet caption,
table.pictureMiddle h1, table.pictureMiddle h2, table.pictureMiddle h3, table.pictureMiddle h4, table.pictureMiddle h5, table.pictureMiddle h6
{ background-color: #1b508c;  /* hsv(220, 100, 75) */ }

table.form, table.spreadsheet {
  border: 1px solid #ccc;
  margin: 5px auto;
}
table.form th, table.form td, table.pictureMiddle td { vertical-align: top; }
table.calendar th, table.calendar td, table.form th, table.form td, table.spreadsheet th, table.spreadsheet td,
table.pictureMiddle h1, table.pictureMiddle h2, table.pictureMiddle h3, table.pictureMiddle h4, table.pictureMiddle h5, table.pictureMiddle h6
{
  padding-left: 2px;
  padding-right: 2px;
}
table.calendar caption, table.form caption, table.spreadsheet caption { vertical-align: bottom; }
table.calendar caption, table.calendar th, table.form caption, table.spreadsheet caption, table.spreadsheet th,
table.pictureMiddle h1, table.pictureMiddle h2, table.pictureMiddle h3, table.pictureMiddle h4, table.pictureMiddle h5, table.pictureMiddle h6
{ color: white; }

table.calendar {
  margin: 0 auto 5px;
  width: 100%;
}
table.calendar caption, table.spreadsheet caption { margin-top: 5px; }
table.calendar th, table.spreadsheet th { background-color: #236aba;  /* hsv(220, 100, 100) */ }
table.calendar th a {
	color: white;
	text-decoration: none;
}
table.calendar td, table.spreadsheet td {
  background-color: white;
  vertical-align: top;
}
table.calendar td div sup { font-weight: bold; }
table.calendar td.offMonth { background-color: #ccc; }
table.calendar td.today { background-color: #ffa; }
tr.row0 th, tr.row0 td { background-color: #eef; }

table.event th {
	text-align: right;
	vertical-align: top;
}

table.pictureMiddle, table.picturesCaptions {
  background-color: #fcf8f0;  /* hsv(75, 5, 100) */
  margin: 5px auto;
}
table.pictureMiddle td, table.picturesCaptions td { padding: 0; }
table.pictureMiddle h1, table.pictureMiddle h2, table.pictureMiddle h3, table.pictureMiddle h4, table.pictureMiddle h5, table.pictureMiddle h6
{
  margin: 0;
  padding: 5px 2px;
}

table.picturesCaptions {
  border-bottom-width: 1px;
  border-collapse: collapse;
  border-color: black;
  border-left-width: 0;
  border-right-width: 0;
  border-style: solid;
  border-top-width: 1px;
}
table.picturesCaptions td {
  border-bottom-width: 0;
  border-color: black;
  border-left-width: 1px;
  border-right-width: 1px;
  border-style: solid;
  border-top-width: 0;
  padding: 2px;
  vertical-align: bottom;
}

ul.mp3s { list-style-image: url(/images/theme/mp3.gif) }

iframe#facebook-embedded {
  border: 0;
  overflow: hidden;
  width: 492px;
  height: 480px;
}

table.vendors { width: 100%; }
table.vendors td {
  padding: 5px 15px;
  vertical-align: bottom;
  width: 50%;
}

form#vendor-find {
  background-color: #e9e9e9;
  margin-bottom:  25px;
  padding: 10px;
}
form#vendor-find button { margin-left: 10px; }

button.find {
  background-image: url(/images/theme/find.gif);
  background-repeat: no-repeat;
  height: 20px;
  vertical-align: bottom;
  width: 20px;
}

.left-column { width: 257px; }


/*****************
***** Banner *****
*****************/

div.left-column, #photo-container, #photo-container img, #banner-survey { height: 372px; }
div.left-column, #photo-container, #banner-survey { float: left; }
div.left-column, #photo-container { margin-right: 15px; }

#place { background-image: url(/images/theme/place-background.jpg); }
#place a {
  background-image: url(/images/theme/place.gif);
  display: block;
  left:  17px;
  height: 29px;
  position: relative;
  top: 315px;
  width: 98px;
}
#place a:hover { background-image: url(/images/theme/place-hover.gif); }

#photo-container, #photo-container img { width: 492px; }
#photo-container img { position: absolute;  /* overlap images */ }

#banner-survey {
  background-image: url(/images/theme/banner-survey.gif);
  width: 120px;
}


/***********************
***** Issue Viewer *****
***********************/

#viewer {
  background-color: #e5e5e5;
  position: relative;
  width: 846px;
}
#viewer.fix-2011 { width: 794px; }

#controls-left, #controls-right, #page-left, #page-right {
  margin: 25px 0;
  z-index: 50;
}

#controls-left, #controls-right, #page-left, #page-right, #page-prev, #page-next
{ height: 475px; }

#controls-left a, #controls-right a, #page-prev, #page-next { display: block; }

#controls-left, #controls-right { width: 18px; }

#controls-left {
  background-image: url(/images/viewer/reg-left.gif);
  margin-left: 12px;
}
#controls-left:hover { background-image: url(/images/viewer/reg-left-hover.gif); }

#controls-right { background-image: url(/images/viewer/reg-right.gif); }
#controls-right:hover { background-image: url(/images/viewer/reg-right-hover.gif); }

#page-left, #page-right, #page-prev, #page-next, #image-left, #image-right { width: 393px; }
#viewer.fix-2011 #page-left, #viewer.fix-2011 #page-right, #viewer.fix-2011 #page-prev, #viewer.fix-2011 #page-next, #viewer.fix-2011 #image-left, #viewer.fix-2011 #image-right { width: 367px; }

/* move page links on top of page images */
#page-prev, #page-next {
  position: relative;
  top: -475px;
}

#page-left, #page-right, #fs-page-left, #fs-page-right { cursor: url(/images/viewer/magnify.cur), pointer; }

#button-first, #button-last {
  height: 15px;
  margin-top: 6px;
}
#button-first:hover { background-image: url(/images/viewer/reg-first-hover.gif); }
#button-last:hover { background-image: url(/images/viewer/reg-last-hover.gif); }

#button-prev, #button-next { height: 455px; }

#darken, #fullscreen {
  left: 0;
  position: fixed;
  top: 0;
  z-index: 100;
}

#darken {
  background-color: black;
  filter: alpha(opacity=75);  /* IE opacity */
  opacity: .75;
  z-index: 100;
}

#flipper {
  overflow: hidden;
  top: 0;
  white-space: nowrap;
  z-index: 100;
}

#flipper div, #flipper img,
#controls-left, #controls-right, #fs-controls-left, #fs-controls-right,
#page-left, #page-right, #fs-page-left, #fs-page-right
{ float: left; }


/***************************************
***** News, Events, and Newsletter *****
***************************************/

.news-headline, #news-letter h2 {
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

#news-letter .right {
  font-size: .8em;
  padding-top: 10px;
}
#news-letter .right img { vertical-align: bottom; }

#news-letter td { padding: 0 0 0 15px; }
#news-letter td.left-column { padding-left: 0; }

#news-letter form {
  background-image: url(/images/theme/email.gif);
  background-repeat: no-repeat;
  padding-right: 20px;
}

#news-letter input {
  display: block;
  margin: 0 0 2px auto;
  width: 210px;
}

#news-letter button {
  background-color: transparent;
  border: 0;
  display: block;
  font-size: .95em;
  margin: 0 0 0 auto;
  padding: 0;
}

div#news-letter.article-padding {
  background-color: #f4f4f4;
  padding: 20px;
}

div#news-letter.article-padding form { width: 310px; }
div#news-letter.article-padding input { width: 280px; }
