/* -------------------------------------
RESET DEFAULT STYLES
------------------------------------- */
@import url("http://test.msorchestra.com/index.php?css=styles/reset");

/* -------------------------------------
IMPORT EDITOR STYLES
------------------------------------- */
@import url("http://test.msorchestra.com/css/editor.css");

/* -------------------------------------
BODY AND WRAPPER
------------------------------------- */
body {
  margin: 0;
  padding: 0;
  font: small/160% Verdana, sans-serif;
  text-align: center;
  color: #cccccc;
  background: #000000 url(../images/interface/bg_body.jpg) no-repeat 50% top;
}

#main_wrapper {
  width: 960px;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  color: #000000;
  /*border-top: 5px solid #333333;*/
}

#content_wrapper {
  clear: both;
  padding: 2em 0 3em 0;
  background: #ffffff url(../images/interface/bg_content_wrapper.png) no-repeat 0 0; 
}

/* -------------------------------------
LINKS, IMAGES, AND OTHER
------------------------------------- */

a:link {
  color: #003399;
  background: transparent;
}

a:visited {
  color: #3366CC;
  background: transparent;
}

a:hover {
  color: #000000;
  background: transparent;
}

a:active {
  color: #6699CC;
  background: transparent;
}

img.right {
  float: right;
  display: inline;
  margin: 0.4em 0 0 12px;
}

img.left {
  float: left;
  display: inline;
  margin: 0.4em 12px 0 0;
}

img {
  border: none;
}

dl {
  margin: 0;
  padding: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 0 1em 0;
  padding: 0;
}

hr.rule {
  display: none;
}

hr.clear_rule {
  display: none;
  /*clear: both;
  visibility: hidden;
  margin: 0;
  padding: 0;*/
}

/* Hides JQuery tabs */
.ui-tabs-hide { display: none; }

/* -------------------------------------
HEADER
------------------------------------- */

#header {
  position: relative;
  height: 181px;
  color: #cccccc;
  background-color: #000000;
}

#mso_logo {
  position: absolute;
  top: 0;
  left: 0;
}

#full_ad {
  position: absolute;
  top: 0;
  left: 240px;
}

#hero_photo {
  position: absolute;
  top: 0;
  left: 240px;
}

#advertisement {
  position: absolute;
  top: 0;
  right: 0;
}

/* -------------------------------------
TITLE AND SEARCH
------------------------------------- */

#title_and_search {
  clear: both;
  background: #a62928 url(../images/interface/bg_title_and_search.png) repeat-y 0 0;
}

#title_and_search img {
  float: left;
  margin: 0 0 0 240px;
}

p#search_box {
  float: right;
  width: 220px;
  margin: 3px 0 0 0;
}

p#search_box input.text_field {
  width: 160px;
  font-size: 85%;
}

p#search_box input.submit_button {
  vertical-align: bottom;
  margin: 0 0 3px 0;
}

/* -------------------------------------
LAYOUT COLUMNS FOR CONTENT
------------------------------------- */

#nav_col {
  width: 200px;
  float: left;
  margin: 0 0 0 20px;
}

#main_col {
  width: 440px;
  float: left;
  margin: 0 0 0 40px;
}

#sub_col {
  width: 200px;
  float: left;
  margin: 0 0 0 40px;
}

/* -------------------------------------
NAV
------------------------------------- */

#nav ul {
  width: 200px;
  list-style: none;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 2em;
}

#nav ul li {
  position: relative;
  border-top: 1px solid #dddddd;
}

#nav ul li a {
  font-size: 85%;
  line-height: 150%;
  padding: 1em 0.6em;
  display: block;
  color: #777777;
  background-color: transparent;
  text-decoration: none;
}

#nav ul li a:hover {
  color: #000000;
  background-color: #eeeeee;
}

/* Secondary menu -- rollover */
#nav ul li ul {
  position: absolute;
  top: 12px;
  left: 170px;
  width: 200px;
  border: 1px solid #dddddd;
  border-bottom: none;
  background-image: none;
  background-color: #eeeeee;
  display: none;
}

#nav ul li ul li {
  border-bottom: 1px solid #dddddd;
  border-top: none;
}

#nav ul li ul li a {
  padding: 0.8em 0.6em;
  color: #000000;
  background-color: #eeeeee;
}

#nav ul li ul li a:hover {
  color: #000000;
  background-color: #dddddd;
}

#nav ul li:hover ul {
  display: block;
  z-index: 100;
}

#nav ul li.current a {
  color: #000000;
  background: transparent url(../images/interface/bg_nav_current.png) no-repeat 180px 50%;
}

#nav ul li.current_parent a {
  color: #000000;
  background-color: transparent;
}

/* Secondary menu -- static */
#nav ul li.current_parent ul {
  position: relative;
  top: 0;
  left: 0;
  width: auto;
  padding: 0 0 0 12px;
  margin-bottom: 0;
  border: none;
  display: block;
  background-color: transparent;
}

#nav ul li.current_parent ul li {
  border-top: 1px dashed #ddddbb;
  border-bottom: none;
}

#nav ul li.current_parent ul li a {
  color: #999999;
  background-color: transparent;
  background-image: none;
  padding-right: 12px;
}

#nav ul li.current_parent ul li a:hover {
  color: #000000;
  background-color: #eeeeee;
}

#nav ul li.current_parent ul li.current a {
  color: #000000;
  background: transparent url(../images/interface/bg_nav_current.png) no-repeat 168px 50% !important;
}

/* -------------------------------------
SIDEBAR SPONSORS
------------------------------------- */

#sidebar_sponsors {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  font-size: 85%;
  line-height: 140%;
  color: #666666;
  text-align: center;
}

#sidebar_sponsors p,
#sidebar_sponsors img {
  margin-bottom: 1em;
}

#sidebar_sponsors div.sponsor {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid #dddddd;
}

/* -------------------------------------
JOIN MAILING LIST
------------------------------------- */

#join_mailing_list {
  font-size: 85%;
  margin-bottom: 2em;
}

#join_mailing_list input.text_field {
  width: 120px;
  font-size: 90%;
}

#join_mailing_list input.submit_button {
  font-size: 90%;
}

/* -------------------------------------
MAIN COLUMN CONTENT STYLES
------------------------------------- */

#main_col h1 {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 140%;
  margin: 0 0 1em 0;
}

#main_col h2 {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 105%;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  clear: both;
  margin-top: 2em;
  margin-bottom: 0.5em;
  color: #9d1413;
  background-color: transparent;
}

#main_col h3 {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 110%;
  margin: 0 0 0.25em 0;
  /*color: #9d1413;*/
  background: transparent;
}

#main_col strong {
  font-size: 90%;
}

#main_col p {
  margin-bottom: 1em;
}

#main_col ul {
  margin-bottom: 1em;
  margin-left: 1em;
}

#main_col ol {
  margin-bottom: 1em;
  margin-left: 2em;
}

#main_col ul li {
  list-style: square;
  margin: 0 0 0.4em 1em;
  padding: 0 0 0 0.2em;
}

#main_col ol li {
  list-style: decimal;
  margin: 0 0 0.4em 1em;
  padding: 0 0 0 0.2em;
}

#main_col img {
  border: 4px solid #eeeeee;
}

#sub_col h2 {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 90%;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #9d1413;
  background-color: transparent;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid #dddddd;
}

/* -------------------------------------
CONCERT STYLES
------------------------------------- */

div.concert_category h1 {
  margin: 0 !important;
  font-size: 150% !important;
  line-height: 130%;
}

div.concert_info {
  margin-bottom: 2em;
}

div.concert_info h1 {
  font-size: 150% !important;
  line-height: 130%;
}

div.concert_category p {
  margin: 0 !important;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: #555555;
  background-color: transparent;
}

div.concert_summary {
  margin: 1.5em 0 0 0;
  padding: 0.5em 0 0 0;
  border-top: 2px solid #cccccc;
}

body#all_concerts div + h1 {
  margin-top: 2em !important;
}

/* Sponsor styles */
#concert_sponsors {
  text-align: center;
  margin: 2em 0;
  padding: 1em 0;
  /*border: 1px solid #dddddd;
  border-top: none;*/
  font-size: 90%;
}
#concert_sponsors p {
  margin: 1em 0;
}
#concert_sponsors h3 {
  font-weight: normal !important;
  margin-bottom: 1em !important;
  padding: 0.2em 1em;
  background-color: #dddddd !important;
}
#concert_sponsors img {
  border: none !important;
}

div.concert_summary h2 {
  clear: none !important; /* so photo floats nicely */
  margin-top: 0 !important;
}

p.concert_date {
  color: #9d1413;
  background-color: transparent;
  font-size: 85%;
  margin: 0 !important;
}

p.google_map {
  font-size: 85%;
}

span.concert_image {
  float: right;
  margin: 0 0 0 1em;
}

/* Tabs for in-page navigation -- JQuery! */

#tab_group ul.tabs {
  float: left;
  border-bottom: 2px solid #cccccc;
  font-size: 85%;
  width: 100%;
  margin: 0 0 1em 0;
}

#tab_group ul.tabs li {
  float: left;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#tab_group ul.tabs li a {
  float: left;
  margin: 0 0.4em 0 0;
  padding: 0.3em 0.6em;
  border: 1px solid #cccccc;
  border-bottom: none;
  text-decoration: none;
  color: #666666;
  background-color: #eeeeee;
}

#tab_group ul.tabs li a:hover {
  color: #444444;
  background-color: #cccccc;
}

.ui-tabs-nav .ui-tabs-selected a {
  position: relative;
  top: 2px;
  z-index: 2;
  border-bottom: none;
  background-color: #ffffff !important;
}

.ui-tabs-nav .ui-tabs-selected a:hover {
  background-color: #ffffff !important;
}

/* tab_group typography */

#tab_group h2 {
  margin-top: 0 !important;
  margin-bottom: 1em;
  color: #9d1413;
  background-color: transparent;
}

#tab_group h3 + h2,
#tab_group p + h2 {
  margin-top: 2em !important;
}

#tab_group h3 {
  font-size: 100%;
}

#tab_group h4 {
  font-size: 100%;
  font-weight: normal;
  font-style: italic;
}

#tab_group ol li {
  margin-bottom: 0 !important;
}

/* short concert listing under calendar */

#short_concert_list {
  margin: 2em 0 0 0;
}

#short_concert_list h3 {
  font-size: 85%;
}

#short_concert_list p.concert_date {
  font-size: 85%;
  margin-bottom: 1em !important;
  color: #000000;
}

/* Vertical tabs for in-page navigation when more room is needed -- JQuery! */
#tab_group_vert ul.tabs {
  font-size: 85%;
  width: 100%;
  margin: 0 0 1em 0;
  border-bottom: 1px solid #cccccc;
}

#tab_group_vert ul.tabs li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid #cccccc;
}

#tab_group_vert ul.tabs li a {
  display: block;
  margin: 0;
  padding: 0.3em 0.6em;
  border:none;
  text-decoration: none;
  color: #666666;
  background-color: #eeeeee;
}

#tab_group_vert ul.tabs li a:hover {
  color: #444444;
  background-color: #cccccc;
}

#tab_group_vert .ui-tabs-nav .ui-tabs-selected a {
  position: relative;
  top: 0;
  z-index: 0;
  background-color: #ffffff !important;
}

#tab_group_vert .ui-tabs-nav .ui-tabs-selected a:hover {
  background-color: #ffffff !important;
}

/* misc styles for concert info page */

#program_outline ol li {
  list-style: upper-roman;
}

/* -------------------------------------
JSL STYLES
------------------------------------- */

ul.jsl_events_list {
  margin-top: 1em;
}

ul.jsl_events_list li p {
  margin: 0 !important;
}

/* -------------------------------------
CALENDAR
------------------------------------- */

h2.calendar {
  border: none !important;
}

table.calendarBG {
  font-size: 85%;
  line-height: 100%;
  width: 100%;
  border-collapse: collapse;
}

table.calendarBG td.calendarCell,
table.calendarBG td.calendarBlank {
  padding: 0.6em 0.5em;
  border-bottom: 1px solid #eeeeee;
}

table.calendarBG td.link {
  padding: 0;
}

td.calendarDayHeading {
  font-weight: bold;
  background-color: #cccccc;
  padding: 0.4em 0.5em !important;
  text-align: center;
}

th.calendarHeader {
  text-align: center;
  padding: 0.6em 0.5em;
}

a.calendar_link {
  color: #000000;
  /*background-color: #9d1413;*/
  background-color: #dddddd;
  display: block;
  padding: 0.6em 0.5em;
  text-decoration: none;
}

a:hover.calendar_link {
  color: #ffffff;
  background-color: #000000;
}

/* AJAX CALENDAR STUFF */
#calendar_wrap {
	position: relative;
	height: 230px;
	border: 1px solid #eeeeee;
	}

#caloverlay {
	position: absolute;
	top: 0;
	height: 230px;
	background: #eeeeee url(../images/interface/bg_caloverlay.png) no-repeat 0 0;
	display: none;
	width: 100%;
}
#caloverlay-content {
	height: 215px;
	/* margin: 0 1px 0 0; */
	overflow: auto;
}
#caloverlay-close {
	/* text-align: center;
	font-size: 80%;
	height: 16px;
	padding-top: 2px; */
	padding: 6px 12px;
	font-size: 80%;
}

p.view_all_concerts {
	font-size: 85%;
	padding: 2px 12px;
	}
/*#caloverlay-close:hover {
	cursor: pointer;
}
#caloverlay-close:hover a {
	color: #990000;
} */

a.day_preview_close {
	padding: 2px 4px 3px 4px;
	text-decoration: none;
	color: #666666;
	background-color: #bbbbbb;
	}
a.day_preview_close:hover {
	color: #666666;
	background-color: #aaaaaa;
	}

/* SMALL CONCERT SUMMARIES FOR AJAX CALENDAR */

div.small_concert_summary {
  margin: 12px 16px;
  padding-bottom: 12px;
  /*border-bottom: 1px solid #cccccc;*/
}

h3.small_date_header {
	font-size: 85%;
	line-height: 140%;
	color: #9d1413;
	background-color: #eeeeee;
	padding: 6px 14px;
	margin-bottom: 12px;
}

div.small_concert_summary h4 {
  font-size: 85%;
  line-height: 140%;
}

div.small_concert_summary h4 span.event_type {
  font-size: 80%;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #777777;
  background-color: transparent;
}

div.small_concert_summary h4 a {
  text-decoration: none;
}

div.small_concert_summary p.concert_date {
  color: #666666;
  background-color: transparent;
  font-size: 85%;
  line-height: 140%;
  margin: 0 !important;
}

p.vcal_link {
  font-size: 85%;
}

p.vcal_link a {
  text-decoration: none;
  vertical-align: text-bottom;
}


/* month drop-down selector */

select#select_month {
  font-size: 85%;
  border: 1px solid #cccccc;
  background-color: #eeeeee;
}


/* -------------------------------------
WELCOME
------------------------------------- */

#welcome {
  margin: 0 0 2em 0;
}

#welcome h1 {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 140%;
  line-height: 160%;
  margin: 0 0 0.2em 0;
  padding: 0;
  color: #a52827;
  background-color: transparent;
}

#welcome p {
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 120%;
  line-height: 160%;
}

/* -------------------------------------
HOME FEATURES
------------------------------------- */

#feature_wrap {
  margin: 0 0 1em 0;
}

#feature_wrap img {
  margin: 0 0 0.6em 0;
  border: none;
}

#feature_wrap h2 {
  font-size: 90%;
  line-height: 180%;
  margin: 0 0 -0.5em 0 !important;
}

#feature_wrap p {
  font-size: 85%;
  line-height: 160%;
  margin: 0 0 0.6em 0 !important;
}

#feature_wrap div.feature {
  float: left;
  width: 200px;
  margin: 0 20px 0 0;
}

#feature_wrap p.read_more {
  text-align: left;
  margin: 0 !important;
}

/* -------------------------------------
NEWS LISTING STYLES
------------------------------------- */

#home_news {
  clear: both;
  border-top: 1px solid #dddddd;
  padding: 1em 0 0 0;
}

#home_news p {
  margin: 0;
}

#home_news h2 {
  margin-top: 0 !important;
}

h2.news_title {
  margin-top: 0 !important;
}

div.news_summary {
  margin: 1em 0 0 0;
}

div.news_summary h2 {
  margin: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

div.news_summary h3 a {
  text-decoration: none;
}

p.article_date {
  font-size: 85%;
  font-weight: bold;
  color: #999999;
  background: transparent;
  margin: 0 !important;
}

p.read_more {
  text-align: right;
}

p.read_more img {
  border: none !important;
  padding: 0 !important;
}

/* -------------------------------------
PAGINATION STYLES
------------------------------------- */

p.pagination {
  margin: 1.4em 0 1em 0;
  padding: 0.4em 0.6em;
  font-size: 85%;
  background-color: #eeeeee;
}

/* -------------------------------------
SEARCH RESULTS STYLES
------------------------------------- */

#page_contents h4.search_result_hdr {
  margin-bottom: 0;
}

#page_contents p.search_result_excerpt {
  margin-top: 0;
}

/* -------------------------------------
FORM STYLES
------------------------------------- */

/* MEMBERSHIP FORM */

form#standard_form {
  margin: 0 0 1em 0;
  padding: 0;
}

form#standard_form fieldset {
  border: 1px solid #dddddd;
  margin: 0 0 1em 0;
  padding: 12px;
}

form#standard_form fieldset legend {
  font-family: Verdana, Helvetica, Arial, sans-serif;
  font-size: 11px;
  color: #000000;
  font-weight: bold;
  text-align: left;
}

form#standard_form fieldset p {
  margin: 0 0 4px 0;
  padding: 6px;
  clear: both;
  background-color: #eeeeee;
}

form#standard_form fieldset p input.text {
  margin: 0;
  padding: 0;
}

form#standard_form fieldset p label {
  width: 100px;
  margin: 2px 0 0 0;
  float: left;
}

.form_req {
  color: #FF0000;
  background: transparent;
}

/* PROGRAM SELECTION MENU */

form#catmenu p {
  padding: 0.4em 0.6em;
  font-size: 85%;
  background-color: #eeeeee;
}

form#catmenu p select,
form#catmenu p input {
  font-size: 85%;
}

/* -------------------------------------
MISC
------------------------------------- */

p.buy_tickets_now {
  margin: 0 0 1em 0;
}

p.join_mailing_list {
  margin: 0 0 1em 0;
}

p.meet_the_conductor {
  margin: 0 0 0.6em 0;
}

p.info_and_tickets img {
  border: none !important;
}

p.join_mso_facebook {
  margin: 1em 0;
}

/* -------------------------------------
FOOTER
------------------------------------- */

#footer {
  clear: both;
  padding: 1.4em 19px;
  font-size: 80%;
  text-align: center;
  color: #ffffff;
  background-color: #333333;
}

#footer p {
  margin: 0;
  padding: 0;
}

#footer a {
  color: #ffffff;
  background-color: transparent;
}

/* -------------------------------------
CLEAR STYLES
Clears floats without extra markup.
------------------------------------- */

#content_wrapper:after,
#title_and_search:after,
#feature_wrap:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  line-height: 0;
  clear: both;
  visibility: hidden;
}