/*
Theme Name: Maestoso
Theme URI: https://wordpress.org/themes/maestoso/
Author: Thomas Maresh
Author URI: http://www.thomasmaresh.com/
Description: 
Version: 1.1
License: 
License URI: 
Tags: 
Text Domain: maestoso

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/** Overrides **/

* {
  -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  -moz-box-sizing: border-box;    /* Firefox 1 - 28 */
  box-sizing: border-box;         /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
	margin:0;
	padding:0;
	border:none;
}
html {
	color:#141617;
	font-size:16px;
	text-align:center;
	letter-spacing:1px;
}
html,
textarea,
button {
	font-family: "ingra-n4","ingra",sans-serif;
}
.flexbox {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
  overflow: hidden;
}
a {
	color:#929292;
	text-decoration:none;
	font-weight:500;
}
a:hover {
	text-decoration:underline;
}




/* Typography */

h1 {
	font-weight:400;
	font-size:1.7em;
	padding:40px 60px;
}
h1 .date,
h1 .heading-top {
	font-size:.7em;
}
h2 {
	font-style:normal;
	font-weight:500;
	margin:0 0 .5em;
	font-size:1.6em;
}
h3 {
	font-style:normal;
	font-weight:500;
	color:#EFEFEF;
}
nav a:hover {
	color:#9E400D;
	text-decoration:none;
}
p + p {
	margin:1.6em 0 0;
}





/* Structure */

h1 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
	width:100%;
	background:#FFFFFF;
}
h1 hr {
	height: 1px;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
	min-width:0px;
	-webkit-flex:1;
	-ms-flex:1;
	flex:1;
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
	display: inline-block;
	margin:38px 0;
}
h1 div {
	display:inline-block;
}
h1 > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
}
h1 > div:before,
h1 > div:after {
	content: '\25C7';
	font-weight:600;
	padding:0 40px 0 60px;
}
h1 > div:after {
	padding:0 60px 0 40px;
}
h1 .date,
h1 .heading-top {
	display:block;
}
h3 {
	margin: 1.4em 0 .6em;
}
div > h3:first-child {
	margin-top:0;
}




/* Background & Effects */









/* Navigation */

nav {
	margin:-20px 0 20px;
	width:100%;
	z-index:999;
}
nav ul {
	-webkit-justify-content:center;
	-ms-flex-pack:center;
	justify-content:center;
}
nav li {
	list-style:none;
	margin:0 20px;
}
nav.navbar-fixed {
	position: fixed;
	top:0;
	left:0;
	margin:0;
	padding:20px 0;
	background-color:#ffffff;
	border-bottom:1px solid rgba(0, 0, 0, 0.65);
}
body.navbar-fixed {
	padding-top:22px;
}
#mobile-menu-btn {
	display:none;
}






/** Structure **/

.mail,
.givemn {
	width:calc(50% - 2px);
	padding: 40px 4%;
	text-align:left;
	color:#ffffff;
}
.bco-intro {
	width:100%;
	padding:40px;
	position:relative;
	min-height:480px;
}
.featured-concert {
	width:100%;
	position:relative;
	color:white;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap;
}
.concert-program,
.conductor-photo {
	text-align:left;
	position:relative;
	padding:40px 4%;
	-webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
	min-height:480px;
}
.concert-program p {
	margin:0 0 10px;
}
.concert-info {
	width:33%;
	position:relative;
	padding:40px 4%;
	min-width:420px;
}
.concert-info td {
	text-align:left;
	vertical-align:top;
}
.concert-brief {
	width:42%;
	display:inline-block;
	vertical-align:bottom;
	text-align:left;
	padding:0 4% 0 2%;
	font-style:italic;
	font-size:1.1em;
}
[class*="season-concert-"],
.donations,
.council {
	width:calc(50% - 2px);
	padding:40px;
	position:relative;
	color:white;
	border-bottom:4px solid #ffffff;
	text-align:right;
}
.season-concert-filler {
	background-color:rgba(15, 15, 15, 1);
	color:rgba(255,255,255,0.15);
	text-align:center;
	font-size:7em;
}
[class*="season-concert-filler"]:nth-child(odd) {
	display:none;
}
.donations,
.council {
	border-bottom:none;
	text-align:center;
}
.donations, #gratitudes {
	background-color:rgba(119, 42, 0, 1);
}
.council {
	background-color:rgba(15, 15, 15, 1);
}
[class*="season-concert-"]:nth-child(odd),
.singletickets,
.mail {
	margin: 0 4px 0 0;
}
.season-concert-seasontickets {
	padding:40px 0;
	text-align:center;
}
.season-concert-singletickets {
	padding:0;
	text-align:center;
}
.season-ticket-prices,
.season-ticket-sales,
.singletickets,
.grouptickets {
	padding:40px;
	width:calc(50% - 2px);
}
.season-ticket-sales {
	text-align:right;
}
.season-ticket-prices,
.season-ticket-sales {
	padding:0 40px;
}
.tickets {
	text-align:right;
	display:inline-block;
}
.tickets th {
	text-align:center;
}
.tickets td:first-child {
	padding:0 8px 0 0;
	text-align:right;
}
.tickets td:last-child {
	text-align:left;
	padding:0 0 0 8px;
}
.tickets thead {
	text-align:center;
}
.program-piece {
	margin:10px 0 0;
}
/*table p {
	font-style:italic;
}*/
footer {
	padding:40px 60px;
}
.site-info {
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-justify-content:space-evenly;
	-ms-flex-pack:center;
	justify-content:space-evenly;
}
.site-info div {
	width:33%;
	height:100%;
}
.site-info img {
	max-width:100%;
	max-height:100px;
}
.site-info ~ .site-info {
    margin-top: 40px;
}
.cmnab {
	padding: 0 0 0 40px;
}
.contact {
	padding:40px;
	text-align:center;
	-webkit-justify-content:space-around;
	-ms-flex-pack:space-around;
	justify-content:space-around;
}
.gratitudes {
	padding:40px;
	text-align:center;
	max-width:600px;
	color:#FFFFFF;
	display:inline-block;
}
.contact form {
	width:100%;
	max-width:600px;
}
.contact select,
.contact textarea {
	width:100%;
}
.conductor:nth-of-type(odd) .conductor-bio {
	-webkit-box-ordinal-group: 0;
	-ms-flex-order: -1;
	order: -1;
	background-color:#9E400D;
}


/** Backgrounds **/

.bco-intro-bgimg,
.concert-program-bg,
[class*="season-concert-"] .season-bg,
.conductor-bg {
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
}
.bco-intro-bgimg,
.concert-info-bg,
.concert-program-bg,
[class*="season-concert-"] .season-bg,
.conductor-bg,
.bco-intro-overlay,
.overlay {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:-2;
}
.bco-intro-overlay,
.overlay {
	/*background-color:rgba(0,0,0,0.2);*/
	z-index:-1;
}
.overlay {
	/*background-color:rgba(0,0,0,0.65);*/
	background-color:rgba(0,0,0,0.45);
}
.conductor .overlay {
	background-color:rgba(0,0,0,0.2);
}
.bco-intro-bgimg {
	background-position: center center;
	/*background-image: url("http://bcomn.org/wp-content/uploads/2017/09/bco_banner_2017.jpg");*/
	background-image:url("http://bcomn.org/wp-content/uploads/2017/10/IMG_0711_7.jpg");
}
.concert-info-bg,
.contact {
	background-color:#5A0809;
}
.season-concert-seasontickets {
	background-color:#5A0809;
}
.grouptickets {
	background-color:#772A00;
}
.singletickets {
/*	background-color:#925700;*/
	background-color:#b37414;
}
.givemn {
/*	background-color:#925700;*/
	background-color:#b37414;
	/*background-color:#BA6900;*/
}
.mail {
	background-color:#5A0809;
}
.conductor-bio {
	width: 50%;
	padding: 40px 4%;
	background-color:#9E400D;
	color:#000000;
	text-align:left;
}


/** User Interface **/

button {
	padding:10px;
	background-color:transparent;
	color:#ffffff;
	border:solid white 1px;
	margin:25px 0 0;
	display:inline-block;
	cursor:pointer;
	font-size:1.1em;
}
button:hover {
	color:#929292;
	border-color:#929292;
}
button.inactive {
	cursor:inherit;
}
button.inactive:hover {
	color:#ffffff;
	border-color:#ffffff;
}
button#season-tickets {
	margin:0 0 25px;
}
input {
	width:calc(50% - 2px);
}
input,
textarea {
	padding:10px;
	color:#000000;
	border:none;
	font-size:1.1em;
	background-color:rgba(255,255,255,0.25);
}
input:nth-of-type(odd) {
	margin:0 4px 0 0;
}
:invalid,
:-moz-submit-invalid,
:-moz-ui-invalid {
  box-shadow:none;
}
.invalid {
  box-shadow:0px 0px 1.5px 1px red;
}
form {
	color:#ffffff;
}
textarea {
	margin:4px 0 0;
	resize:none;
	height:8em;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	color:#000000;
	font-family: "ingra-n4","ingra",sans-serif;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color:#000000;
	opacity:  1;
	font-family: "ingra-n4","ingra",sans-serif;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color:#000000;
	opacity:  1;
	font-family: "ingra-n4","ingra",sans-serif;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color:#000000;
	font-family: "ingra-n4","ingra",sans-serif;
}


@media screen and (max-width:1000px) {
	[class*="season-concert-"] {
		width:100%;
	}
	.season-concert-filler {
		display:none;
	}
	[class*="season-concert-"]:nth-child(odd) {
		margin:0;
	}
	.concert-program,
	.concert-info,
	.conductor-bio,
	.conductor-photo {
		width:100%;
	}
	.concert-info,
	.conductor:nth-of-type(odd) .conductor-bio {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
	}
	.featured-concert {
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	.concert-info table {
		max-width:600px;
		display:inline-block;
	}
	.concert-program {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
  	order: 2;
	}
	.bco-intro,
	.concert-program,
	.conductor-photo {
		min-height:360px;
	}
	.conductor-bg {
		background-position:center 40%;
	}
	.site-info {
		justify-content: space-around;
	}
	.site-info div {
		width:auto;
	}
	.site-info .credits {
		-webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
		width:100%;
		margin:0 0 40px;
	}
	footer img {
		max-height:140px;
	}
	.site-info div.cmnab {
		width:70%;
		padding:0 0 0 20px;
	}
	.site-info div.cwlla {
		width:30%;
		padding:0 20px 0 0;
	}
	.cmnab img {
		max-height:140px;
	}
}
@media screen and (max-width:600px) {
	h1 hr {
		height:0;
	}
	h1 {
		padding: 40px 20px;
	}
	h1 > div:before,
	h1 > div:after {
		display:none;
	}
	#mobile-menu-btn {
		display:block;
		cursor:pointer;
	}
	nav #nav_menu {
		display:none;
	}
	nav #nav_menu.mobile-menu-active {
		display:flex;
	}
	nav.navbar-fixed {
		margin:0;
		padding:20px;
	}
	nav li {
		width:100%;
		padding:20px 20px 0;
		margin:0;
	}
	input {
		width:100%;
		margin:0 0 4px;
	}
	input:nth-of-type(odd) {
		margin:0 0 4px;
	}
	textarea {
		margin:0;
	}
	.season-ticket-prices,
	.season-ticket-sales,
	.singletickets,
	.grouptickets {
		width:100%;
	}
	.season-ticket-sales {
		text-align:center;
	}
	button#season-tickets {
		margin: 18px 0 25px;
	}
	.bco-intro,
	.concert-program,
	.conductor-photo {
		min-height:260px;
	}
	.concert-info {
		min-width:0;
	}
	.singletickets {
		border-bottom:#ffffff solid 4px;
		border-right:none;
	}
}
@media screen and (max-width:400px) {
	h1 {
		padding: 30px 15px;
	}
	h1 > div:before,
	h1 > div:after {
		display:none;
	}
	.bco-intro,
	.concert-program,
	.conductor-photo {
		min-height:180px;
	}
	.site-info .credits {
		margin:0 0 30px;
	}
	.site-info div.cmnab,
	.site-info div.cwlla {
		padding:0;
		width:100%;
	}
	.cwlla {
		margin:0 0 30px;
	}
}