﻿/********************
* Header
********************/
#mainNav {
	border-top: solid 1px rgba(255, 255, 255, 0.5);
	box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.5);
	background-color: #26548d;
	/*background: linear-gradient(45deg, #4475af 1%,#8ab7f2 22%,#4475af 56%,#4475af 100%);*/
	background: linear-gradient(45deg, #26548d 0%,#6e9bd7 24%,#26548d 62%);
	border-width: 1px 0 0;
	margin-bottom: 0;
	border-radius: 0;
	z-index: 10;
}
#mainNav a,
#header {
	color: white;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}

#mainNav .nav > li > a {
	padding-left: 13px;
	padding-right: 13px;
	background-repeat: no-repeat;
	background-image: linear-gradient(155deg, rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 100%);
	background-position: -100px -100px;
	transition: background-position 0s ease;
}

#mainNav.navbar-default .navbar-nav > .active > a,
#mainNav.navbar-default .navbar-nav > .active > a:focus,
#mainNav.navbar-default .navbar-nav > .active > a:hover,
#mainNav.navbar-default .navbar-nav > .open > a,
#mainNav.navbar-default .navbar-nav > .open > a:focus,
#mainNav.navbar-default .navbar-nav > .open > a:hover {
	background-color: #3365a0;
	color: white;
}

#mainNav.navbar-default .navbar-toggle {
	border-color: rgba(255,255,255,.5);
}
#mainNav.navbar-default .navbar-toggle:hover,
#mainNav.navbar-default .navbar-toggle:focus {
	background-color: rgba(32, 82, 140, 0.5);
}
#mainNav.navbar-default .navbar-toggle .icon-bar {
	background-color: white;
}

#mainNav .dropdown-menu {
	background-color: rgba(48, 98, 157, 0.97);
}

#mainNav .navbar-nav > .active > a,
#mainNav .navbar-nav > .active > a:hover,
#mainNav .navbar-nav > li > a:hover,
#mainNav .dropdown-menu > li > a:hover,
#mainNav .dropdown-menu > li > a:focus,
#mainNav .dropdown-menu > .active > a,
#mainNav .dropdown-menu > .active > a:hover,
#mainNav .dropdown-menu > .active > a:focus {
	background-color: #1a4981;
}

#header {
	height: 169px;
	background-color: #0d305b;
	background: linear-gradient(45deg, #0d305b 0%,#3d70b0 22%,#0d305b 56%);
}
#headerTop {
	height: 118px;
}

#mainNav .dropdown-menu {
	border-width: 0;
}

.header-background {
	background-image: url(/images/lights.png);
	background-repeat: repeat-x;
	margin-left: 200px;
}
.header-offset {
	margin-left: -200px;
}

.header-content {
	padding: 15px;
}

.header-brand {
	font-size: 18px;
	line-height: 20px;
	margin: 0 15px;
	width: 150px;
	float: left;
}
.header-brand > img {
	margin-right: 15px;
	float: left;
}

.header-section {
	margin-left: 200px;
	background-image: url(/images/header-images.png);
	background-position: 0px 0px;
	background-repeat: repeat-x;
	margin-top: 13px;
	height: 63px;
}

#mainNav.affix {
	top: 0;
	width: 100%;
	border-top-width: 0;
}

/*css hack to adjust the anchor target by the height of the header*/
html {
	scroll-padding-top: 50px;
}

/*!
* Hover.css (http://ianlunn.github.io/Hover/)
* Version: 2.0.2
* Author: Ian Lunn @IanLunn
* Author URL: http://ianlunn.co.uk/
* Github: https://github.com/IanLunn/Hover

* Made available under a MIT License:
* http://www.opensource.org/licenses/mit-license.php

* Hover.css Copyright Ian Lunn 2014. Generated with Sass.
*/
/* Underline From Center */
.hvr-underline-from-center {
	display: inline-block;
	vertical-align: middle;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0, 0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	overflow: hidden;
}
.hvr-underline-from-center:before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	right: 50%;
	bottom: 0;
	background: #2098d1;
	height: 4px;
	-webkit-transition-property: left, right;
	transition-property: left, right;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before,
.hvr-underline-from-center:focus:before,
.hvr-underline-from-center:active:before {
	left: 0;
	right: 0;
}
/* End snip form Hover.css */

.hvr-underline-from-center:before,
.open > .hvr-underline-from-center:before {
	background: rgba(255,255,255,0);
}

@media (min-width: 768px) {
	.header-background {
		margin-left: calc(50% - 375px + 200px);
	}
	.header-offset {
		margin-left: -200px;
		max-width: 750px;
	}

	.hvr-underline-from-center:before {
		background: rgba(255,255,255,1);
	}

	#mainNav .nav .open > a,
	#mainNav .nav .open > a:focus,
	#mainNav .nav .open > a:hover,
	#mainNav .nav > li > a:focus,
	#mainNav .nav > li > a:hover {
		transition-duration: .2s;
		background-position: 0 0;
	}

	#mainNav .navbar-nav > .active > a,
	#mainNav .navbar-nav > .active > a:hover,
	#mainNav .navbar-nav > li > a:hover {
		background-color: #3365a0;
	}

	.right-column {
		float: right;
	}
}
@media (min-width: 992px) {
	.header-background {
		margin-left: calc(50% - 485px + 200px);
	}
	.header-offset {
		margin-left: -200px;
		max-width: 970px;
	}
}
@media (min-width: 1200px) {
	.header-background {
		margin-left: calc(50% - 585px + 200px);
	}
	.header-offset {
		max-width: 1170px;
	}
}

@media (max-width: 767px) {
	#mainNav.affix {
		max-height: 100vh;
		overflow-y: auto;
	}
}

/********************
* Footer
********************/
/* Sticky footer styles
-------------------------------------------------- */
html {
	position: relative;
	min-height: 100%;
}
body {
	/* Margin bottom by footer height */
	margin-bottom: 45px;
}
#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	/* Set the fixed height of the footer here */
	min-height: 45px;
	background-color: rgba(200, 222, 251, 0.5);
	background: radial-gradient(ellipse at 35% 35%, rgba(255,255,255,0.5) 0%,rgba(64,150,238,0.7) 150%);
	padding: 10px 0;
	text-align: center;
	color: #87a4c4;
	border-top: solid 1px rgba(200, 222, 251, 1);
}
#pageLastModified {
	font-size: smaller;
	color: #acc3dc;
}


/********************
* Main Content
********************/
img {
	max-width: 100%;
}

body {
	background-image: url(/images/music_theater_masks_silhouette.png);
	background-position: center 169px;
	background-repeat: repeat-y;
	background-size: 100% auto;
}

body > .container {
	background-color: rgba(255, 255, 255, .5);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 5%,rgba(255,255,255,0.5) 95%,rgba(255,255,255,0) 100%);
	padding-bottom: 15px;
}

a {
	word-wrap: break-word;
	word-break: break-word;
}

.audience { font-style: italic; }
.matinees { font-style: italic; color: gray; }

.panel-success > .panel-heading {
	background: linear-gradient(45deg, rgba(223,240,216,1) 0%,rgba(255,255,255,1) 23%,rgba(223,240,216,1) 100%);
	background: linear-gradient(45deg, rgba(223,240,216,1) 0%,rgba(255,255,255,1) 25%,rgba(223,240,216,1) 50%,rgba(223,240,216,1) 100%);
}

.panel-info > .panel-heading {
	background: linear-gradient(45deg, rgba(217,237,247,1) 0%,rgba(255,255,255,1) 23%,rgba(217,237,247,1) 100%);
	background: linear-gradient(45deg, rgba(217,237,247,1) 0%,rgba(255,255,255,1) 25%,rgba(217,237,247,1) 50%,rgba(217,237,247,1) 100%);
}

table.cast-list > tbody > tr > td:first-child {
	width: 40%;
}

.table-striped > tbody > tr:nth-of-type(2n+1) {
    background-color: rgba(249, 249, 249, 0.50);
}

.table-striped > tbody > tr:nth-of-type(2n+2) {
    background-color: rgba(255, 255, 255, 0.80);
}

.list-group-announcement > i.fa {
	color: #ffb400;
	float: left;
    line-height: 1.4;
    margin-right: 5px;
	/*transform: rotate(45deg);*/
}

.list-group-announcement > p:last-child {
	margin-bottom: 0;
}

/********************
* Home Page
********************/

#nowPlayingCarousel {
	margin-bottom: 20px;
}

.curtain-bg {
	background-color: rgb(117, 0, 39);
	background: linear-gradient(to left, rgba(14, 0, 0, 0.00), #5a0000, rgba(60, 1, 1, 0.99), #5a0000) repeat scroll 0 0 / 67px 67px, rgba(14, 0, 0, 0) linear-gradient(to left, rgba(60, 0, 0, 0.996), rgb(81, 0, 0), rgba(60, 0, 0, 0.996)) repeat scroll 0 0 / 53px 53px;
	/*background: linear-gradient(to left, rgba(0, 1, 14, 0.00), #01005a, rgba(1, 2, 60, 0.99), #01005a) repeat scroll 0 0 / 67px 67px, rgba(0, 1, 14, 0) linear-gradient(to left, rgba(1, 2, 60, 0.996), rgb(0, 2, 81), rgba(0, 3, 60, 1.00)) repeat scroll 0 0 / 53px 53px;*/
	border-radius: 5px;
	padding: 10px;
}

.current-production {
	background-color: rgba(255, 255, 255, .5);
	border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
	border: 1px solid #ddd;
	padding: 15px;
}

@media (min-width: 768px) {
	.current-production-image {
		padding-bottom: 15px;
	}
}

.current-production .buy-tickets {
	margin-top: 15px;
}

.current-production-photos {
	margin-bottom: 10px;
}

.current-production-photos img {
	max-width: 100%;
	/*margin: 5px 2px;*/
	max-height: 200px;
	/*border-radius: 6px;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);*/
}

.current-production-embed {
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);
}

.current-event {
	border-style: solid;
	border-color: #eee;
	border-width: 0 0 1px;
	margin:  0 0 10px;
	padding: 10px 15px 20px;

	word-wrap: break-word;

	/* Non standard for WebKit */
	word-break: break-word;

	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}
.current-event:first-child {
	border-top-width: 1px;
}
.current-event-logo {
	float: left;
	margin: 0 15px 10px 0;
	max-width: 33%;
}
.current-event-header {
	margin-bottom: 5px;
}
.current-event-header > h2 {
	margin-top: 0;
}

.social-media {
	margin-top: 20px;
}

.social-media > .btn {
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
	color: #fff;
	margin: 0 6px 6px;
	transition: all 0.2s ease-out 0s;
	float: right;
	width: 37px;
}
.social-media > .btn:hover {
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26), 0 2px 10px 0 rgba(0, 0, 0, 0.22);
}

.btn-fb {
	background-color: #3b5998;
}
.btn-fb:focus, .btn-fb:hover {
	background-color: #4264aa;
}
.btn-tw {
	background-color: #55acee;
}
.btn-tw:focus, .btn-tw:hover {
	background-color: #6cb7f0;
}

.carousel-inner > .item {
	/*height: 205px;*/
	text-align: center;
}
.carousel-inner > .item:hover,
.carousel-inner > .item:focus {
	text-decoration: none;
}
.carousel-inner > .item img {
	max-height: 150px;
	display: block;
	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	border-radius: 4px;
}

.carousel-caption {
	padding-bottom: 0;
	padding-top: 0;
	position: static;
	margin-right: 15%;
	margin-left: 15%;
}

.carousel-caption > h3 {
	margin-bottom: 0;
	margin-top: 10px;
}

.carousel-caption > small {
	color: rgba(255, 255, 255, .5);
}

.carousel-control.left {
    border-radius: 5px 0 0 5px;
}
.carousel-control.right {
    border-radius: 0 5px 5px 0;
}

.current-production-photos .photo-container {
	float: left;
	margin: 5px;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);
	border-radius: 6px;
}
.current-production-photos .photo-container img {
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}
.current-production-photos .photo-container.photo-container-no-caption img {
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}
.current-production-photos figure {
	display: table;
}
.current-production-photos figcaption {
	display: table-caption;
	caption-side: bottom;
	padding: 5px 7px;
	background: #222;
	color: white;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	font-style: italic;
}

@media screen and (min-width: 768px) {
	.carousel-caption {
		margin-right: 20%;
		margin-left: 20%;
	}
}
/********************
* Tickets
********************/
.buy-tickets {
	position: relative !important;
	background: #e8cb20;
	float: right;
	padding: 7px 3px;
	margin: 0 5px 5px 10px;
	display: inline-block;
}

.buy-tickets-left {
	float: left;
}

.buy-tickets:after {
	content: "";
	position: absolute !important;
	top: 0;
	left: 0;
	border-right: #fff 7px solid;
	border-bottom: #fff 7px solid;
	-moz-border-radius: 0 0 20px 0;
	-webkit-border-radius: 0 0 20px 0;
	border-radius: 0 0 20px 0;
}

.buy-tickets:before {
	content: "";
	position: absolute !important;
	top: 0;
	right: 0;
	border-left: #fff 7px solid;
	border-bottom: #fff 7px solid;
	-moz-border-radius: 0 0 0 20px;
	-webkit-border-radius: 0 0 0 20px;
	border-radius: 0 0 0 20px;
}

.buy-tickets a {
	outline: 1px rgba(255,255,255,0.4) dashed;
	border: 1px rgba(0,0,0,0.3) dashed;
	padding: 4px 10px 4px 10px;
	text-decoration: none;
	color: rgba(0,0,0,0.5);
	white-space: nowrap;
}

.buy-tickets a:hover {
	text-decoration: underline;
}

.buy-tickets a:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	border-right: #fff 7px solid;
	border-top: #fff 7px solid;
	-moz-border-radius: 0 20px 0 0;
	-webkit-border-radius: 0 20px 0 0;
	border-radius: 0 20px 0 0;
}

.buy-tickets a:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: #fff 7px solid;
	border-top: #fff 7px solid;
	-moz-border-radius: 20px 0 0 0;
	-webkit-border-radius: 20px 0 0 0;
	border-radius: 20px 0 0 0;
}

/********************
* Purchase
********************/
.purchase {
	position: relative !important;
	float: right;
	margin: 0 5px 5px 10px;
	display: inline-block;
	text-align: center;
	cursor: pointer;
}

.purchase-left {
	float: left;
}

.purchase a {
	color: #fff;
	padding: 6px 12px;
	border-radius: 4px;
	background-color: #e8cb20;
	border-color: #eea236;
	text-decoration: none;
	color: rgba(0,0,0,0.5);
	white-space: nowrap;
	display: inline-block;
	box-shadow: 0 .2rem .3rem rgba(0,0,0,.10);
}

.purchase a:hover {
	text-decoration: underline;
	box-shadow: 0 .2rem .3rem rgba(0,0,0,.15);
}

/********************
* Show Listings
********************/
.shows-season td {
	vertical-align: top;
	padding-bottom: 20px;
}

.shows-season > tbody > tr > td:first-child {
	width: 30%;
	max-width: 150px;
	padding-right: 10px;
}
.shows-season > tbody > tr > td > img {
	margin-right: 20px;
}
/********************
* YPT
********************/
#yptMenu {
	float: right;
	margin-top: 30px;
	margin-left: 15px;
}

@media (max-width: 768px) {
	#yptMenu {
		float: none;
		margin-left: 0;
	}
}

/********************
* Members
********************/
.member-home {
	float: right;
	font-size: 14px;
	font-weight: normal;
	margin-top: 5px;
}
.member-home > .btn,
.member-home.btn {
	box-shadow: 0 .2rem .3rem rgba(0,0,0,.15);
}
/********************
* Fundraising
********************/
img.fundraising-photo {
	margin-right: 20px;
	margin-bottom: 20px;
	float: left;
}
/********************
* Storybook
********************/
img.storybook-photo {
	margin-left: 20px;
	margin-bottom: 20px;
	float: right;
}

/********************
* Rehearsal Schedules
********************/
.rehearsal-date { white-space: nowrap; }
.rehearsal-description {
	word-wrap: break-word;
	white-space: pre-line;

	/* Non standard for WebKit */
	word-break: break-word;

	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}

.table > tbody > tr.rehearsal-date-spacer > td {
	border-right-color: transparent;
	border-left-color: transparent;
}

.past-rehearsal { opacity: .5; }

.rehearsal-revised {
	font-weight: bold;
}

/********************
* Text Notifications
********************/
#tm_widget_sub_1474653911863 > .wmain {
	width: auto !important;
}
#tm_widget_sub_1474653911863 .tm_widget_pow {
	width: auto !important;
}

/********************
* iFrames
********************/
iframe.calendar { 
	border: 0; 
	width: 100%;  
	max-width: 100%;
	height: 100%;
	min-height: 600px;
}

/********************
* Basic Styles
********************/
.italic { font-style: italic; }
.bold { font-weight: bold; }
.underline { text-decoration: underline; }
.gray { color: gray; }
.float-right { float: right; }
.float-left { float: left; }
.clear-both { clear: both; }

.margin-top-xsmall { margin-top: 5px; }
.margin-top-small { margin-top: 10px; }
.margin-top-medium { margin-top: 15px; }
.margin-top-large { margin-top: 25px; }
.margin-top-xlarge { margin-top: 40px; }
.margin-top-xxlarge { margin-top: 75px; }

.margin-bottom-xsmall { margin-bottom: 5px; }
.margin-bottom-small { margin-bottom: 10px; }
.margin-bottom-medium { margin-bottom: 15px; }
.margin-bottom-large { margin-bottom: 25px; }
.margin-bottom-xlarge { margin-bottom: 40px; }

/********************
* Typeahead
********************/
.typeahead.dropdown-menu > li > a {
    white-space: normal;
	/*display: inline-block;*/
}

/********************
* Paging
********************/
.paging {
	text-align: center;
	border-top: 1px solid #2d78ae;
	margin-top: 10px;
	padding-top: 10px;
}

.paging .paging-navigation {
	display: inline-block;
}

.paging .pagination {
	margin: 0;
}

.paging-records {
	padding: 8px 0;
	margin-right: 20px;
}

.paging-size {
	padding: 8px 0;
	margin-left: 20px;
}

.paging-size > span.active > a {
	color: #333;
	cursor: default;
}
.paging-size > span.active > a:hover {
	text-decoration: none;
}

/********************
* Collapsing
********************/
.collapsible-collapsed .collapsible-portion {
	display: none;
}
.collapsible-collapsed .collapsible-link .fa-minus-square-o:before,
.collapsible-link.collapsible-collapsed .fa-minus-square-o:before {
	content: "\f196";
}

/********************
* responsive table
********************/
@media only screen and (max-width: 768px) {
	table.table-responsive-wrap-md {
		border: 0;
	}

	table.table-responsive-wrap-md thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}

	table.table-responsive-wrap-md tr {
		border-bottom: 2px solid #ddd;
		display: block;
		margin-bottom: .625em;
	}

	table.table-responsive-wrap-md th,
	table.table-responsive-wrap-md td {
		display: block;
		border-bottom: none;
	}

	table.table-responsive-wrap-md.table-responsive-content-right td {
		text-align: right;
	}

	table.table-responsive-wrap-md td:before {
		/*
	* aria-label has no advantage, it won't be read inside a table
	content: attr(aria-label);
	*/
		content: attr(data-label);
		font-weight: bold;
		text-transform: uppercase;
		margin-right: 10px;
	}

	table.table-responsive-wrap-md.table-responsive-content-right td::before {
		float: left;
	}

	table.table-responsive-wrap-md.table-responsive-content-right td::after {
		display: table;
		content: " ";
		clear: both;
	}

	table.table-responsive-wrap-md td:last-child {
		border-bottom: 0;
	}

	table.table-responsive-wrap-md.table-bordered > tbody > tr > td {
		border-bottom: none;
	}
}

.push-right {
	display: flex;
	flex-wrap: wrap;
}

.push-right > :first-child {
	flex-grow: 1;
	margin-right: 10px;
}

.text-normal {
	font-weight: normal;
}

.text-muted-light {
	color: #aaa;
}

@media print {
	a[href].clean-print:after {
		content: "";
	}
}