/* Body, Doc, Header and Footer
--------------------------------------------------------------------------------------- */
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

img { max-width: 100%; }

.trans, .trans * {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;	
}

html, body {
	background: #181313; /*#1b1b1b; #1F1E1D;*/
	font-family: 'Merriweather', 'Helvetica Neue', Arial, Verdana, sans-serif; 
	font-size: 12px;
	line-height: 1.75em;
	color: #8B8A84;
	font-weight: 300;
	text-shadow: 0px 1px 2px #000;
}

.loading {
	text-align: center;
	padding: 100px 0;
	opacity: 0.2;
}

.loading img {
	opacity: 0.2;	
}

#player-wrap {
	margin: 0px auto 0px auto;
	padding: 0px 30px 0px 30px;
	background: #181313; /*#1b1b1b; #1F1E1D;*/
	border-top: 1px solid #202020;
	border-bottom: 1px solid #141313;
	-webkit-box-shadow: 0px 0px 15px #000;
	-moz-box-shadow: 0px 0px 15px #000;
	box-shadow: 0px 0px 15px #000;
}

#player {
	max-width: 940px;
	margin: 0px auto;
}

#player .audio_label {
	font-family: 'Yanone Kaffeesatz';
	font-size: 15px;
	line-height: 1.5em;
	font-weight: 300;
	margin-bottom: 1em;
	color: #777;
	text-align: center;	
	text-transform: uppercase;
}

#player .artist { color: #aaa; }
#player .title	{ }


.line {
	/*border-bottom: 1px solid #292929;*/
}

audio {
	width: 100%;
	height: 45px;
}

#wrap {
	max-width: 1040px;
	margin: 0px auto 0px auto;
	padding: 0 20px;
}

/* Global
--------------------------------------------------------------------------------------- */

#global {
	margin: 10px auto 0 auto;
	font-size: 11px;
	text-align: right;
	padding-right: 30px;
}


/* Header & Footer
--------------------------------------------------------------------------------------- */

#header {
	margin: 10px auto 10px auto;
	padding: 15px 30px 10px 30px;
}

#footer {
	margin: 20px auto 30px auto;
	padding: 20px 30px;
}

#footer .logo, #footer .nav { font-size: 10px; line-height: 10px; }

.logo {	
	float: left;
}

.logo a,
.logo a:link,
.logo a:visited {
	display: block;	
	font-family: 'Bilbo Swash Caps';
	font-size: 50px;
	color: #eee;
	text-decoration: none;
	margin-top: -5px;
}

.nav {
	float: right;
	font-size: 12px;
	line-height: 30px;
	font-weight: 400;
}

.nav li {
	display: block;
	float: left;
	padding: 0;
	margin: 0;
	border: none;
}

.nav li a, 
.nav li a:link, 
.nav li a:visited {
	display: block;
	padding-left: 40px;
	text-decoration: none;
	color: #777;
}

.nav li a:hover,
.nav li a:focus {
	color: #eee;
	position: relative;
	top: 2px;
}

.nav li.selected a, .nav li.selected a:link, .nav li.selected a:visited {
	color: #eee;
}


/* Document
--------------------------------------------------------------------------------------- */

#doc {
	margin: 0px auto 0px auto;
	padding: 40px 30px;
	background: #181313; /*#1b1b1b; #1F1E1D;*/
	border-top: 1px solid #202020;
	border-bottom: 1px solid #141313;
	-webkit-box-shadow: 0px 0px 15px #000;
	-moz-box-shadow: 0px 0px 15px #000;
	box-shadow: 0px 0px 15px #000;
}


/* Text Elements
--------------------------------------------------------------------------------------- */	

.center { text-align: center; }

h1 {
	font-size: 32px;
	line-height: 1.25em;
	margin-bottom: 0.2em;
	color: #B3B3B3;
}

h2 {
	font-size: 18px;
	line-height: 1.5em;
	margin-bottom: 0.2em;
	color: #B3B3B3;
}

h3 {
	font-family: 'Yanone Kaffeesatz';
	font-size: 16px;
	line-height: 1.25em;
	font-weight: 400;
	margin-bottom: 0.2em;
	text-transform: uppercase;	
	color: #777;
}

p {
	margin-bottom: 1em;
}

#content img {
	display: block;
	border: 1px solid #111;
	-webkit-box-shadow: 0px 0px 10px #110F0F;
	-moz-box-shadow: 0px 0px 10px #110F0F;
	box-shadow: 0px 0px 10px #110F0F;
	margin-top: 1.75%;
	margin-bottom: 1.75%;
}

.home-intro img	{ float: left; margin: 1.75% 3.5% 1.75% 0; }
.bio-james 	img	{ float: left; margin: 1.75% 3.5% 1.75% 0; }
.bio-alyona img	{ float: right; margin: 1.75% 0 1.75% 3.5%; }

strong {
	font-weight: normal;
	color: #B3B3B3;
}

i {
	color: #B3B3B3;
}

/* Purchases
--------------------------------------------------------------------------------------- */	
.purchase {
	padding: 5px 0 10px 0;
}

.buy-button {
	margin: 10px 0;
}

/* Performances
--------------------------------------------------------------------------------------- */	

.next_performance {
	padding: 0em 2em 1em 2em;
	border-bottom: 1px solid #615D5D;
}

.next_performance h2 { font-size: 24px; }

.future_performances {
	padding: 0em 2em 1em 2em;
	/*border-bottom: 1px solid #312D2D;	*/
}

.past_performances {
	margin-top: 2em;
	padding: 2em 2em 1em 2em;
}

.performances li {
	display: block;
	margin: 10px 0;
	padding: 10px 0px 10px 0px;
	border-top: 1px dotted #303030;
}

.performances li a,
.performances li a:link,
.performances li a:visited {
	text-decoration: none;
}


.performances .date {
	display: block;
	font-size: 16px;
	line-height: 2em;
	color: #ccc;
}

.performances .city_state {
	display: block;
	font-size: 14px;
	line-height: 2em;
	color: #777;
}

.performances .title {
	display: block;
	font-size: 14px;
	line-height: 1.5em;
	margin-top: 0.5em;
	color: #999;
}

.performances .title.has_notes {
	/*text-decoration: underline;*/
	/*cursor: pointer;*/
}

.performances .notes {
	display: block;
	font-size: 0px;
	line-height: 0px;
	/*display: none;*/
}

.performances .note {
	display: block;
	padding: 5px 0 15px 0;
	font-size: 12px;
	line-height: 20px;
	color: #777;
}

.performances .showtime {
	display: block;
	font-size: 0px;
	line-height: 0px;
	/*display: none;*/
}

.performances .time {
	display: block;
	padding: 0;
  font-size: 12px;
  font-style: italic;
  line-height: 12px;
  color: #777;
}


/* Live Media
--------------------------------------------------------------------------------------- */	
.media-item {
  text-align: center;
  max-width: 600px;
  padding: 5%;
  margin: 0 auto;  
}

.media-item .composer {
  font-size: 18px;
  line-height: 1.5em;
  margin-bottom: 0.2em;
  color: #B3B3B3;
}

.media-item .title-group {
  font-size: 15px;
  line-height: 1.5em;
  margin-bottom: 0.2em;
  color: #B3B3B3;
  text-transform: uppercase;
}

.media-item .title {
  font-size: 14px;  
}

.media-item audio {
  height: 30px;
  margin-bottom: 12px;
}

.media-item .description {
  font-size: 12px;
  margin-top: 12px;
}

.media-item .load-player {
  height: 30px;
  margin: 12px;
}

.media-item .load-player .button {
  display: inline-block;
  height: 30px;
  color: #fff;
  line-height: 30px;
  padding: 0 12px;
  background: #2d2d2d;
  border: 1px solid #aaa;
  border-radius: 3px;
  cursor: pointer;
}

.media-item .load-player.active .button {
  display: none;
}


/* Posts
--------------------------------------------------------------------------------------- */
.post {
	padding: 2em 0;
	margin-top: 1em;
	border-bottom: 1px solid #3A3A3A;	
}
.post:first-child { padding-top: 0; margin-top: 0; }


.post_title {}

.post_date { margin-bottom: 1em; }

.post_content {}


/* Grid
--------------------------------------------------------------------------------------- */	

.section_cap {
	border-top: 1px solid #3A3A3A;
}

.section {
	margin: 2.5% 0%;
}
.section:first-child { border: none; margin-top: 0; }

.cols_100 .col { width: 100%; }

.cols_75-25 .col {
	float: left;
	width: 24.125%;
	margin-left: 3.5%;
}
.cols_75-25 .col:first-child { width: 72.375%; margin-left: 0; }

.cols_50-50 .col {
	float: left;
	width: 48.25%;
	margin-left: 3.5%;
}
.cols_50-50 .col:first-child { margin-left: 0; }


.cols_66-33 .col:first-child { width: 65.5%; margin-right: 3.5%; }
.cols_66-33 .col {
	float: left;
	width: 31%;
}

.cols_33 .col:first-child { margin-left: 0; }
.cols_33 .col {
	float: left;
	width: 31%; margin-left: 3.5%;
}

.cols_33-66 .col:first-child { width: 31%; margin-right: 3.5%; }
.cols_33-66 .col {
	float: left;
	width: 65.5%;
}


/* Links
--------------------------------------------------------------------------------------- */	

a, a:link, a:visited 	{ color: #d7d7d7; /*#888F8A;*/ text-decoration: underline; }
a:hover, a:focus 		{ text-decoration: none; }


/* Forms
--------------------------------------------------------------------------------------- */	

form, textarea, input, select, option {}
label {}
select, option {}
input[type="text"] {}
input[type="button"], input[type="submit"] {}


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

table			{	width: 100%;				}
table, tr, td 	{	border-collapse: collapse;	}
td 				{	vertical-align: top;		}


/* Special Rules Setup
--------------------------------------------------------------------------------------- */

.nolorf				{	font-size: 0px;	line-height: 0px;			}
.nowrap				{	white-space: nowrap;						}


/* Floating
--------------------------------------------------------------------------------------- */	

.clear 				{ clear: both; }
.contain 			{ display: inline-block; display: block; }
.contain:after 		{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }


/* User Feedback Messages 
--------------------------------------------------------------------------------------- */	

.message 	{  }

.success	{ background: #44dd55; color: #fff; }
.error 		{ background: #ff6555; color: #fff; }
.neutral	{ background: #fff0c5; color: #444; }


/* Responsiveness
--------------------------------------------- */

@media screen and (max-width: 840px) {
	
	#global { padding: 0 30px; text-align: left; }
	
	#doc { padding: 0 30px; }
	
	.logo	{ float: none; }
	.logo a,
	.logo a:link,
	.logo a:visited	{ font-size: 36px; line-height: 40px; }
	
	.nav	{ float: none; margin-top: 20px; }
	.nav li a,
	.nav li a:link,
	.nav li a:visited  { padding-left: 0; padding-right: 40px; }

	.cols_75-25 .col,
	.cols_75-25 .col:first-child,	
	.cols_66-33 .col,
	.cols_66-33 .col:first-child,
	.cols_50-50 .col,
	.cols_50-50 .col:first-child,
	.cols_33-66 .col,
	.cols_33-66 .col:first-child {	
		float: none;
		width: 100%;
		margin-left: 0;
		padding-top: 20px;
	}
	
	.col.primary img {
		float: none;
		width: 100%;
	}
	
	h2.center { text-align: left; }
	
}

@media screen and (max-width: 470px) {

	#player-wrap 	{ padding: 20px 10px 10px 10px; }
	#player .artist { display: block; text-align: center; }
	#player .title	{ display: block; text-align: center; }
	
	#wrap 	{ padding: 0 0; }
	#global { padding: 0 15px; }
	#header { padding: 20px 15px 10px 15px; }
	#doc 	{ padding: 0 15px; }
	#footer { padding: 20px 15px; }
	
	.nav li a, 
	.nav li a:link, 
	.nav li a:visited {
		padding-right: 20px;
	}

	p img.left  { float: none; margin: 0 auto; }
	p img.right { float: none; margin: 0 auto; }	
}