/* Eric Meyer's CSS Reset ------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 18px;
	font: inherit;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	width: 100%;
}
html, body{
	height: 100%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Custom Body Override ------------------------- */
body{
	background-color: #181616;
	font: 100 18px "SourceSansProExtraLight", Source Sans Pro ExtraLight, Helvetica, Arial, sans-serif;
}

body .tagline{
	font-size: 30px;	
}

body .tagline + p{
	margin-top: 8px;
}

/* Hyperlink Defaults ------------------------- */
a{
	text-decoration: none;
	color: #f1f1f1;
}

/* Top Navigation ------------------------- */
#topnav{
	position: fixed;
	text-align: center;
	opacity: 0;
	z-index: 999999;
	width: 100%;
	top: 0;
	background-color: rgba(0,0,0,0.75); /* Alternate: rgba(35,35,35,0.7) */
}

#topnav li{
	font-size: 30px;
	display: inline-block;
	padding: 2% 4%;
	cursor: pointer;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

#topnav li:hover, #topnav li:focus{
	background-color: #101010;
	-webkit-box-shadow: inset 0 0 5px #202020;
	-moz-box-shadow: inset 0 0 5px #202020;
	box-shadow: inset 0 0 5px #202020;
}

#topnav a{
	display: block;
}

/* Section Defaults ------------------------- */
section{
	min-height: 100%;
	width: 100%;
}

#home{
	text-align: center;
	color: #f3f3f3;
}

a.scroll-btn{
	display: inline-block;
	background: rgba(36,36,36,0.35) url(../images/arrow-d.png) no-repeat center center;
	padding: 15px;
	border-radius: 50%;
	transition: all 0.3s ease-in-out;
	width: 90px;
	height: 90px;	
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
}

a.scroll-btn:hover, a.scroll-btn:focus{
	background-color: rgba(60,60,60, 0.6);
}

#home h2, #contact h2, #videos h2, #courses h2{
	font-size: 90px;
}

#home .scroll, #courses .scroll, #videos .scroll{
	text-align: center;
}

#courses .scroll > .scroll-btn, #videos .scroll > .scroll-btn{
	width: 60px;
	height: 60px;
	background-size: 45px;
	padding: 8px;
}

/* Section: HOME ------------------------- */
#home{
	position: relative;
	
	overflow: hidden;
	/* Overflow #Hack */
}

#home .home-content{
	padding: 2% 0%;
}

#home > .fullscr-img{
	width: 100%;
	height: 100%;
	-webkit-user-select: none;
	-moz-user-select: none;
	z-index: -500;	
	/* Unnecessary since the individual span styling override this */
}

.fullscr-img > .full-bg{
	background-color: inherit;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
	height: 100%;
	position: absolute; /* fixed */
	left: 0;
	right: 0;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	z-index: -500;
}

#bg1{
	background-image: url(../images/band.jpg);
}

#bg2{
	background-image: url(../images/piano.jpg);
}

#bg3{
	background-image: url(../images/solo-violin.jpg);
}

#bg4{
	background-image: url(../images/violin3.jpg);
}

#bg5{
	background-image: url(../images/guitar.jpg);
}

#bg6{
	background-image: url(../images/swanlake2.jpg);
}

.bg1-init, .bg2-init, .bg3-init, .bg4-init, .bg5-init, .bg6-init{
	opacity: 0;
	-webkit-transition: all 4s ease-in;
	-moz-transition: all 4s ease-in;
	-o-transition: all 4s ease-in;
	-ms-transition: all 4s ease-in;
	transition: all 4s ease-in;
}

.bg1-animated{
	opacity: 1;
	-webkit-transform: translate(5%,5%) scale(1.2);
	-moz-transform: translate(5%,5%) scale(1.2);
	-o-transform: translate(5%,5%) scale(1.2);
	-ms-transform: translate(5%,5%) scale(1.2);
	transform: translate(5%,5%) scale(1.2);		
}

.bg2-init{
	-webkit-transform: translate(5%,5%) scale(1.2);
	-moz-transform: translate(5%,5%) scale(1.2);
	-o-transform: translate(5%,5%) scale(1.2);
	-ms-transform: translate(5%,5%) scale(1.2);
	transform: translate(5%,5%) scale(1.2);
}

.bg2-animated{
	opacity: 1;	
	-webkit-transform: translate(0%,0%) scale(1);
	-moz-transform: translate(0%,0%) scale(1);
	-o-transform: translate(0%,0%) scale(1);
	-ms-transform: translate(0%,0%) scale(1);
	transform: translate(0%,0%) scale(1);	
}

.bg3-animated{
	opacity: 1;
}

.bg4-animated{
	opacity: 1;
	-webkit-transform: translate(5%,0%) scale(1.1);
	-moz-transform: translate(5%,0%) scale(1.1);	
	-o-transform: translate(5%,0%) scale(1.1);
	-ms-transform: translate(5%,0%) scale(1.1);	
	transform: translate(5%,0%) scale(1.1);	
}

.bg5-animated{
	opacity: 1;
	-webkit-transform: translate(-5%,0%) scale(1.1);
	-moz-transform: translate(-5%,0%) scale(1.1);
	-o-transform: translate(-5%,0%) scale(1.1);
	-ms-transform: translate(-5%,0%) scale(1.1);
	transform: translate(-5%,0%) scale(1.1);	
}

.bg6-animated{
	opacity: 1;
	-webkit-transform: translate(-5%,-5%) scale(1.1);
	-moz-transform: translate(-5%,-5%) scale(1.1);
	-o-transform: translate(-5%,-5%) scale(1.1);
	-ms-transform: translate(-5%,-5%) scale(1.1);
	transform: translate(-5%,-5%) scale(1.1);
}

#home .scroll{
	margin: 100px auto 0;
	width: 80%;
}

#home #logo{
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	border: none;
	
	/* #Responsive Hack */
	max-width: 800px;
	width: 100%;
	margin-top: 3%;
}


/* Section: COURSES ------------------------- */
#courses{
	background-color: #d0d0d0;
	font-size: 20px;
	overflow: hidden;
}

#courses .course-content{
	width: 80%;
	margin: 0 auto;
	padding: 7% 0;
}

.course-content .c-list{
	display: block;
	vertical-align: top;
}

.course-content .c-list{
	text-align: center;
}

.course-content .c-list{
	width: 100%; /* Alternate : 68% */
}

.course-content .c-list > ul{
	margin: 30px;
}

.course-content .c-list .c-item{
	display: inline-block;
	vertical-align: top;
	width: 23.33%; /* Alternate: 25% */
	height:200px;
	/*min-width: 200px;*/
	margin: 5px 3px;
	
	/* float: left */
}

.course-content .c-list .h-width{
	width: 47.66%;
}

.course-content .c-list .f-width{
	width: 95.66%;	
}

.course-content .c-list .tf-width{
	width: 71.66%;
}

.course-content .c-item > a{
	display: block;
	/*height: inherit;*/
	text-align: center;
	
	/* #Experimental */	
	padding-top: 80px;
	padding-bottom: 84px;
	font-size: 30px;
}

.course-content #i-piano, .course-content #c-piano{
	background-color: #3399CC;
}

.course-content #i-keybd, .course-content #c-keybd{
	background-color: #33CCCC;
}

.course-content #i-others, .course-content #c-others{
	background-color: #339966;
}

.course-content #i-guitar, .course-content #c-guitar{
	background-color: #666699;
}

.course-content #i-vocals, .course-content #c-vocals{
	background-color: #E2674A;
}

.course-content #i-violin, .course-content #c-violin{
	background-color: #996699;
}

.course-content #i-drums, .course-content #c-drums{
	background-color: #CC6699;
}

.course-content #i-tabla, .course-content #c-tabla{
	background-color: #993333;
}

.c-list .c-item-panel{
	position: relative;
	color: #f3f3f3;
	font-size: 20px;
	text-align: left;
	width: 84%;
	margin: 30px auto;
	overflow: hidden;
}

.c-item-panel .back-btn{
	position: absolute;
	width: 120px;
	height: 120px;
	top: -25px;
	left: -23px;
	background: url(../images/arrow-b-r.png) no-repeat center center;
	background-size: contain;
}

.c-item-wrap{
	margin: 30px;
	/*padding: 30px 0;*/
}

#courses .c-item-panel h2{
	font-size: 60px;
	text-align: center;	
	padding: 0 0 30px 0;
}

.c-item-panel .c-desc{
	margin: 0 0 30px 0;
	font-size: 24px;
}

.c-item-panel h3{
	font-size: 36px;	
	padding: 30px 0;
	border-top: thin solid rgba(243, 243, 243, 0.4);
}

.c-item-panel .t-list > .tchr{
	display: inline-block;
	min-height: 200px;
	min-width: 200px;
	text-align: center;
	margin: 2px 0;
	vertical-align: top;
	max-width: 200px;
}

#c-piano .t-list > .tchr{
	background-color: #20729B;
}

#c-keybd .t-list > .tchr{
	background-color: #1A8B8B;
}

#c-others .t-list > .tchr{
	background-color: #197045;
}

#c-guitar .t-list > .tchr{
	background-color: #48487A;
}

#c-vocals .t-list > .tchr{
	background-color: #C04D32;
}

#c-violin .t-list > .tchr{
	background-color: #804B80;
}

#c-drums .t-list > .tchr{
	background-color: #B84C82;
}

#c-tabla .t-list > .tchr{
	background-color: #771E1E;
}

/* Section: VIDEOS ------------------------- */
#videos{
	background: #f1f1f1;	
}

#videos .videos-content{
	width: 80%;
	margin: 0 auto;
	padding: 7% 0;
}

#videos .videos-content h3{
	font-size: 36px;
	padding-bottom: 16px;
	border-bottom: thin solid #ddd;
}

.q-block{
	width: 40%;
	display: inline-block;
	vertical-align: top;
	border-right: thin solid rgba(170, 170, 170, 0.41);
	text-shadow: 0px 2px 1px #ddd;
}

.q-block > .q-wrap{
	margin: 30px;
}

.q-block #q-img{
	margin: 16px 0 8px;
	border: thick solid rgba(181, 181, 181, 0.69);
	border-radius: 3px;	
}

.q-block .q-tel, .q-block .q-time{
	padding-left: 26px;
	padding-top: 10px;
	line-height: 0.9;
}

.q-block .q-tel{
	background: url(../images/q-tel.png) no-repeat left bottom;
	background-size: 20px;
}

.q-block .q-time{
	background: url(../images/q-time.png) no-repeat left bottom;
	background-size: 20px;
}

.q-block .p-quote{
	margin: 16px 0px;
	font-size: 20px;
	line-height: 1.4;
}

.p-quote > .q-img{
	margin: 0 10px 0 0;
	-webki-user-select: none;
	-moz-user-select: none;
	pointer-events: none;
}

.p-quote > .q-img:first-child{
	float: left;
}

.p-quote .q-img:last-child{
	float: right;
	margin-top: -30px;
}

.p-quote > p{
	margin-bottom: 4px;
}

.video-container{
	/*max-width: 640px;
	max-height: 360px;*/
	/*width: 640px;*/
	margin: 0 auto;
	/*overflow: hidden;*/ 
	position: relative;
	width: 58%;
	display: inline-block;
	vertical-align: top;
}

.video-container > ul{
	/*width: 10000px;*/
}

.ytv-wrap{
	/*float: left;*/
	/*display: inline-block;*/
	margin: 30px auto;
	max-width: 640px;
	max-height: 360px;
	/*padding-top: 30px;*/
	/*overflow: hidden;*/	
}

.video-container > #slider-nav{
	position: absolute;
	top: 38%;
	width: 100%;
}

.video-container #slider-nav > button{
	width: 13%;
	height: 120px;
	cursor: pointer;
}

.video-container #slider-nav > #v-prev{
	left: 0;
	/*margin-left: -100px;*/
	float: left;
	background: transparent url(../images/arrow-l.png) no-repeat center center;
	background-size: contain;
	border: none;
}

.video-container #slider-nav > #v-next{
	right: 0;
	/*margin-right: -100px;*/
	float: right;
	background: transparent url(../images/arrow-r.png) no-repeat center center;
	background-size: contain;
	border: none;	
}

#videos .scroll{
	margin-top: 36px;
}

.js-video {
  height: 0;
  padding-top: 25px;
  padding-bottom: 67.5%;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}
 
.js-video.widescreen {
  padding-bottom: 56.34%;
}
 
.js-video.vimeo {
  padding-top: 0;
}



/* Section: CONTACT ------------------------- */
#contact{
	background-color: #232323; /* Alternatives: #a9e3f0, #ececec */
	color: #f3f3f3;
	position: relative;
	text-shadow: 0 1px 1px #000;
}

#contact .contact-content{
	width: 80%;
	margin: 0 auto;
	padding: 7% 0;
	padding-bottom: 3%;
}

#contact .contact-block{
	/*background-color: #bada55;*/
	/*float: left;*/
	vertical-align: top;
	display: inline-block;
	width: 49%;
	font-size: 24px;
	border-right: rgba(170, 170, 170, 0.3) thin solid;
}

#contact #contact-form{
	display: block;
	margin: 30px;
}

#contact-form label{
	display: block;
	margin: 0 0 10px 0;
}

#contact-form input, #contact-form textarea{
	border: rgba(170, 170, 170, 0.7) thin solid;
	background-color: rgba(0, 0, 0, 0.2);
	width: 100%;
	height: 42px;
	font: inherit;
	font-size: 20px;
	text-indent: 10px;
	margin: 0 0 16px 0;
	color: #f3f3f3;
}

#contact-form textarea{
	max-width: 100%;
	min-width: 100%;
	min-height: 128px;
	padding: 10px 0;
}

#contact-form #send-btn{
	margin-top: 20px;
	max-width: 120px;
	text-indent: 0;
	font-size: 30px;
	padding: 10px;
	height: auto;
	cursor: pointer;
	transition: background-color 0.3s ease-in-out;
	-webkit-transition: background-color 0.3s ease-in-out;
	-moz-transition: background-color 0.3s ease-in-out;
}

#contact-form #send-btn:hover, #contact-form #send-btn:focus{
	background-color: rgba(0, 0, 0, 0.8);
}

#contact .affiliations{
	/*background-color: peachpuff;*/
	/*float: right;*/
	vertical-align: top;
	display: inline-block;
	width: 50%;
	/*color: #232323;*/
	font-size: 24px;
}

.affiliations > h3{
	margin: 30px;
	font-size: 36px;
}

.affiliations > ul{
	margin: 30px;
}

.affiliations > ul li{
	margin-bottom: 16px;
}

.affiliations ul li a{
	background: rgba(0, 0, 0, 0.2) no-repeat left center;
	background-size: contain;
	display: block;
	/*color: #232323;*/
	/*background-color: #f6f6f6;*/
	padding: 20px 10px;
	padding-left: 78px;
	-webkit-transition: background-color 0.3s ease-in-out;
	-moz-transition: background-color 0.3s ease-in-out;
	transition: background-color 0.3s ease-in-out;
}

.affiliations #trinity a{
	background-image: url(../images/tcl.png);	
}

.affiliations #lcm a{
	background-image: url(../images/lcm.png);	
}

.affiliations #abrsm a{
	background-image: url(../images/abrsm.png);
}

.affiliations #rbu a{
	background-image: url(../images/rbu.png);	
}

.affiliations ul li a:hover, .affiliations ul li a:focus{
	background-color: rgba(0, 0, 0, 0.8);
}

#contact footer{
	background-color: #111;
	text-align: center;
	padding: 6px 0;
	font-size: 16px;
	position: absolute;
	width: 100%;
	bottom: 0;
	line-height: 1.3;
}

footer a{
	color: lightblue;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

footer a:hover, footer a:focus{
	color: lightsalmon;
}

/* NOtifications ------------------------- */
.notif {
	font-size: 18px;
	padding: 10px 8px;
	margin-bottom: 15px;	
	text-shadow: none;
	position: relative;
}

.notif.error{
	background-color: #EBB;
	border: thin solid #C41111;
	color: #750505;
}

.notif.success{
	background-color: #7EDB7E;
	border: thin solid #146314;
	color: #000;
}

.notif .close{
	position: absolute;
	right: 11px;
	top: 11px;
	cursor: pointer;
	float: right;
	font-size: 18px;
	border: none;
	background: none;
	color: #666;
}

.notif .close:hover, .notif .close:focus{
	color: #000;
}

/* 404 Page ------------------------- */
#err404{
	padding: 7% 0;
	background-color: #45A3FF;
	color: #fff;
}

#err404 .err-container{
	max-width: 1200px;
	margin: 10% auto 0; /* change */
}

#err404 .errmsg{
	font-size: 30px;
	display: inline-block;
	max-width: 50%; /* change */
	line-height: 1.3;
	vertical-align: top;
}

.errmsg > #smiley{
	font-size: 48px;
	line-height: 0.8;
	margin-right: 12px;
}

.errmsg a{
	color: #C0E0FF;
	-webkit-transition: color 0.15s ease-in-out;
	-moz-transition: color 0.15s ease-in-out;
	-ms-transition: color 0.15s ease-in-out;
	-o-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
}

.errmsg a:hover, .errmsg a:focus{
	color: #1A5997;
}

.errmsg + .err-pic{
	display: inline-block;
	vertical-align: top;
}

/* Hidden Stylings ------------------------- */
.floatRight{
	float: right;
}

.block-hidden{
	display: none;
}

.block-opaque{
	opacity: 1;
}

.clearfix{
	overflow: auto;
}