*{
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-ms-box-sizing:border-box;
}
html{
	height:100%;
}
body{
	font-family:sans-serif;
	color:black;
	font-weight:normal;
	margin:0 auto;
	text-align:center;
	background:#efefef;
	padding-bottom:50px;
	background: url("/images/background.jpg") right bottom no-repeat fixed;
	background-color:#0a1622;
	background-size: cover;
}
h1, h2, h3, h4, h5{
	font-family:'Special Elite', sans-serif;
}
#container{
	background-color:#ffffffa8;
	margin:0 auto;
	width:90%;
	max-width:1200px;
	padding:0 20px;
	margin-top: 50px;
	text-align:center;
	position:relative;
	top:0;
	border: 1px solid black;
}
a, a:visited, a:active{
	color:blue;
}
#header{
	margin:0 auto;
	display:block;
	width:100%;
	height: 125px;
	padding:0;
	position:relative;
	text-align:center;
}
	#header a.icon img{
		bottom:0;
		float:right;
		width:64px;
		height:64px;
		margin:12px 0;
	}
	#header h1{
		position:absolute;
		background:url("/images/icons/favicon.svg") no-repeat;
		background-size:230px 185px;
		top: -73px;
		width: 100%;
		height: 185px;
		z-index:6;
	}
		#header h1 a{
			display:block;
			width:100%;
			height:100%;
		}
		#header h1 span{
			color: black;
			width: 100%;
			display: inline-block;
			text-align: left;
			margin: 80px 0 0 235px;
			line-height: 1em;
			font-size: 2em;
			letter-spacing: -5px;
		}
		#header h2{
			float:right;
			color:white;
			position:absolute;
			right:40px;
			bottom:28px;
		}

/*---------------------------------*/
nav#main {
	z-index:100;
	text-align: center;
	width:100%;
	left:0;
	line-height:3em;
	text-transform: uppercase;
	font-family:'Special Elite', sans-serif;
}
	nav#main a{
		color:black;
		text-decoration:none;
	}
	nav#main ul{
		padding:0;
		margin:0 auto;
		text-align: center;
		list-style:none;
	}
		nav#main ul li{
			display:inline-block;
			width:auto;
			padding:0 20px;
			white-space:nowrap;
			position:relative;
		}
			nav#main ul li:hover a{
				color:blue;
			}
			nav#main ul li:hover ul{
				display:block;
				position:absolute;
				z-index: 100;
				background:#fff;
				min-width:150px;
				overflow:hidden;
				border:1px solid #d5d5d5;
				box-shadow:0 0 2px 0;
				right:0;
			}
				nav#main ul li:hover ul li{
					float:none;
					display:block;
					line-height:3em;
					padding:0;
				}
					nav#main ul li:hover ul li a{
						color:gray;
						display:inline-block;
						width:100%;
						padding:0 40px 0 30px;
					}
						nav#main ul li:hover ul li a:hover{
								background:var(navy);
								color:var(white);
						}
				nav#main ul li ul{
					display:none;
					background:white;
				}
			/* arrows on multiple levels */
			nav#main ul li > a:after {
				  content:'\25B6';
				  float:right;
				  border:0;
				  font-size:.6em;
				  padding:.25em 0 0 .5em;
				  border:0;
			}
			nav#main ul li:hover > a:after {
				visibility:hidden;
			}
			nav#main ul li > a:only-child:after {
				content:'';
			}
			nav#main ul > li > a:after {
				content:'\25BC';
				position:absolute;
			}
/*---------------------------------*/
#content{
	position:relative;
	text-align:left;
	margin:0 auto;
	padding: 0 0 50px 0;
	width:100%;
	min-height:525px;
	height:auto;
	overflow:hidden;
}
	* html #content {
		height:100%;
	}
	#content aside{
		width: 50%;
		margin-left:30px;
		border-left:1px solid black;
		padding-left:20px;
		float: right;
	}
	#content h2{
		letter-spacing:-1px;
		font-weight:bolder;
		color:rgba(0, 2, 101, 0.84);
		margin:14px 0 15px 0;
		padding:0 0 10px 0;
		line-height:1em;
	}
	#content h3{
		line-height:1em;
		letter-spacing:-1px;
		color:#0f66f6;
		margin:10px 0;
	}
			#content h3 a.floatRight{
				margin-left:10px;
			}
	#content h4{
		font-weight:bolder;
		letter-spacing:-1px;
		color:rgba(0, 49, 88, 0.89);
		margin:8px 0 1px 0;
		padding:0;
		line-height:1em;
	}
		#content h4 a{
			text-shadow:#ffffff 0px 0px 6px;
		}
	#content h5{
		letter-spacing:1px;
		margin-top:6pt;
		padding-top:6pt;
	}
	#content a{
		text-decoration:none;
	}
	#content a:hover{
		text-decoration:underline;
		color:rgba(26, 62, 184, 0.89);
	}
	#content img[src^="/uploads/"] , #content img[src="/images/rockstar.png"]{
    	border:1px solid gray;
	}
	#content img{
		border: 6px solid #fff9;
	}
		#content h4 img{
			border-radius:15px;
			border:0;
			margin:inherit;
			padding:inherit;
		}
		#content figure.equalizedImage {
			display: inline-block;
			position:relative;
			height: 200px;
			overflow: hidden;
			width: 171px;
			margin:0;
			text-align: center;
		}
		#content figure.equalizedImage img {
			border-radius: 0 !important;
			margin: 0 auto;
			min-height: 100%;
			max-width: 100%;
		}
		#content figure.equalizedImage:hover figcaption{
			position:absolute;
			bottom:0;
			background:white;
		}
	#content #columnSide img{
		border-radius:2em 1em 4em / 0.5em 3em;
		box-shadow:4px 4px 10px black;
	}

	#content p{
		padding:0 0 15px 0;
		margin-left:20px;
	}
	#content blockquote{
		position:relative;
		z-index:1;
		font-size:.8em;
		margin:4px;
		padding:20px;
		text-align:left;
		line-height:15px;
		border:1px dotted gray;
		background: #ffffff59;
	}
		#content blockquote span{
			margin-top:10px;
			font-family:cursive;
			font-style:italic;
			margin-left:10px;
		}
		#content blockquote:before{
			content:"\201C";
			font-size:10em;
			z-index:0;
			position:absolute;
			left:-10px;
			top:60px;
			font-family:serif;
			color:gray;
			opacity:0.4;
			filter:alpha(opacity=40);/* IE opacity */
		}
	#content #thumbnailsWrapper {
		width:700px;
		height:auto;
		float:right;
		margin-top:-50px;
	}
		#content #thumbnailsWrapper div div a img{
				width:150px !important;
				height:auto;
				margin:3px;
			}
	#content #contactForm tr{
		border:0 !important;
	}
	#content #capchaImage{
		border:0 !important;
		width:200px;
		height:auto;
	}
	#content ul, #content ol{
		margin:2px 2px 12px 15px;
	}
	#content ul{
		list-style:disc;
		text-align:left;
	}
		#content ul ul{
			list-style:square;
		}
			#content ul ul ul{
				list-style:circle;
			}
	#content ol{
		list-style:upper-roman;
	}
		#content ol ol{
			list-style:upper-alpha;
		}
			#content ol ol ol{
				list-style:lower-roman;
			}
				#content ol ol ol ol{
					list-style:lower-alpha;
				}
	ul.studentsList{
		column-count:3;
	}
	#content table{
		width:100%;
	}
		#content table tr{
			border-top:1px dotted gray;
		}
			#content table tr td{
				vertical-align:top;
			}
table.zebra tr:nth-child(even) {
	background-color: #cfcfcf;
}
table.fullWidth{
	width:100%;
	border-collapse:collapse;
}
/*---------------------------------*/
#footer{
	z-index:4;
	position:relative;
	top:-60px;
	padding:60px 10px;
	margin:0 auto;
	margin-bottom:20px;
	width:100%;
	height:108px;
	margin-top:100px;
	clear:both;
	font-weight:normal;
	color:#b1b1b1;
	text-align:left;
}
	#footer ul{
		width:175px;
		display:block;
		float:left;
	}
		#footer ul li:first-child{
			font-weight:bolder;
		}
		#footer ul li a{
			font-weight:normal;
		}

	#footer p{
		display:block;
		float:left;
		text-align:left;
	}
	#footer a{
		font-weight:bolder;
		text-decoration:none;
		color:#66667c;
	}
	#footer a:hover{
		text-decoration:underline;
	}
	#crookedbush{
		text-transform:lowercase;
		color:#ffffff;
		position:absolute;
		bottom:10px;
		right:75px;
	}
		#crookedbush a{
			color:#ffffff;
		}
label{
	display:inline-block;
	width: 150px;
	text-align:left;
}
	label.small{
		width:100px;
		font-size:.5em;
	}
	label + input {
		width: calc(100% - 205px);
	}
		label + input[type="radio"] {
			width: auto;
		}
small{
	font-size:.5em;
	letter-spacing:0px;
}
#feedBack{
	display:none;
	position:fixed;
	top:5px;
	left: 10%;
	width: 80%;
	overflow:hidden;
	background:#efefefd9;
	color:gray;
	border:1px solid #e3e3d3;
	padding:3px;
	text-align:center;
	z-index: 7;
	font-size:1em;
}
#timer{
	z-index:100;
	display:none;
	width:25px;
	height:25px;
	position:fixed;
	top:5px;
	right:5px;
}
#refresh{
	z-index:100;
	width:25px;
	height:25px;
	position:fixed;
	top:5px;
	right:5px;
}
	#refresh a{
		border:0 !important;
	}
	#refresh img{
		border:0 !important;
	}
#youtubeFrame {
	z-index: 100;
	position: fixed;
	right: 15px;
	top: 35px;
	width:500px;
	height:300px;
	background:black;
}
	#youtubeFrame iframe{
		width:100%;
		height:100%;
	}
	#youtubeFrame:after{
		content:"x";
		color:white; 
		position:absolute;
		right:10px;
		top:0;
		cursor:pointer;
	}
.albumPhoto{
	float:left;
	margin:4px !important;
	width:176px !important;
	height:130px !important;
	-webkit-box-shadow:0px 1px 3px #666666;
	-moz-box-shadow:0px 1px 3px #666666;
	box-shadow:0px 1px 3px #666666;
	border:solid #ffffff 2px;
	overflow:hidden;
}
	.albumPhoto .albumThumb{
		width:180px;
		height:140px;
		overflow:hidden;
	}
.albumTinyThumb{
	clear:both;
	height:180px;
	width:250px;
	border:1px dotted white !important;
	padding:1px !important;
	margin:1px !important;
}
.albumTinyThumbDesc{
	display:block;
}
.anchorButton,.formButton,.smallButton,input[type='button']{
	height:30px;
	line-height:24px;
	width:auto;
	font-weight:normal !important;
	padding:1px 15px 3px 15px;
	margin:0 0 0 5px;
	white-space:nowrap;
	text-decoration:none;
	color: darkslategray !important;
	border: 1px solid #828282;
}
	.anchorButton:hover,.formButton:hover,.smallButton:hover,input[type='button']:hover {
		border:1px solid gray;
		text-decoration:none !important;
		background:#efefef;
	}
.cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	word-wrap: break-word;
}
	.cards blockquote{
		flex-basis: 300px;
		flex-grow: 1;
	}
	.cards div.card{
		border: 2px solid lightgray;
		margin: 3px;
		border-radius: 6px;
		align-items: center;
		justify-content: left;
		display: flex;
		flex-basis: 220px;
		flex-grow: 1;
		background: #f795106b;
	}
		div.cards div img {
			margin-right: 6px;
			
		}
			#content .cards div img {
			  border: none;
			  rotate: 0deg;
			}
			blockquote .poloroidClip {
				width: 40%;
				top: -22px;
				right: -19px;
				margin: 0;
				rotate: 4deg;
			}
.poloroidClip {
	background: #fff;
	padding: .1em .1em 2em .1em;
	margin:1em 1em 3em 1em;
	rotate:2deg;
	box-shadow:0 0 3px black;
	position:relative;
	float:right;
	width:20em;
	max-width:92%;
	z-index:2;
	overflow:initial;
}
	.poloroidClip img{
		width:100% !important;
		height:auto;
		max-width:initial !important;
	}
	.poloroidClip::after {
		content:"";
		width:75px;
		height:130px;
		position:absolute;
		top:-27px;
		right:20px;
		background:url("/images/paperclip.png?2") no-repeat;
	}
.dashboardImage{
	width:110px;
	float:right;
}
.dashboardNotes{
	width:40%;
	float:left;
	font-size:9pt;
}
.dashboardSongs{
	width:60%;
	float:left;
	font-size:9pt;
	padding:10px;
}
.dashboardSongSearch{
	display:none;
	width: 300px;
	border: 1px outset;
	padding: 3px;
	max-height: 100px;
	background: #efefef;
	overflow: scroll;
	position: absolute;
	z-index: 1;
	margin-left: 140px;
}
	.dashboardSongSearch::after{
		content: "x";
		position: absolute;
		top: 1px;
		right: 12px;
		border:1px outset;
		width:16px;
		text-align:center;
		background:#dbdbdb;
	}
textarea{
	width:100%;
	min-height:100px;
}
.box {
	border: 2px outset;
	margin: 3px;
	padding: 5px 12px;
	background: rgba(140, 95, 54, 0.53);
}
.smallButton{
	height:22px;
	line-height:16px;
	width:auto;
	color:#ffffff;
}
.floatRight{
	float:right;
}
.floatLeft{
	float:left;
}
.selected{
	background:yellow;
}
.warn{
	font-weight:bold;
	color:red;
}
/* dragable table rows */
.draggable td:hover{
	cursor:move !important;
}
	.draggable tr.active td {
		background:silver !important;
		color:black !important;
	}
	.draggable table tr.target td{
		border-top:1px dashed red !important;
	}
/*---------------------------------*/
.calendarCell{
	height:100px;
	text-align:right;
	padding:5px !important;
	margin:0 !important;
	border:1px dotted gray;
	font-size:9pt;
	line-height:20px;
	width:14%;
}
.calendarCellNone{
	background:rgba(0,0,0,.5);
}
.calendarCellToday{
	background:yellow;
	color:black;
}
.calendarCellPast.calendarCell {
	background: #d5d5d5;
}
	.calendarCellPast.calendarCell *{
		color:gray !important;
		background: #d5d5d5;
	}
  
.dayOfMonth {
	background:#FFF;
	display:inline-block;
	width:100%;
	margin:0;
	padding:0 5px;
	color:#000 !important;
	text-shadow:none !important;
	font-weight:normal;
	border:1px solid #000;
}
	.dayOfMonth:hover {
		text-decoration:none !important;
		background:#000;
		color:#FFF !important;
		border:1px solid #FFF;
	}
.obscure{
	color:rgba(72, 72, 72, 0.74) !important;
	font-style:italic;
}
.icon{
	padding:1px;
	margin:1px;
}
	.icon img{
		width:32px;
		height:32px;
	}
	.icon:hover img{
		border:1px outset #efefef;
	}
.icon16{
	padding:1px;
	margin:1px;
	line-height:0px;
}
	.icon16 img{
		width:16px;
		height:16px;
	}
	.icon16:hover img{
		border:1px outset #efefef;
	}
.memoBox {
	font-size: .8em;
}
p.note{
	text-align:justify;
	font-style:italic;
	line-height:15px;
	border:1px dashed gray;
	padding:5px !important;
	margin:5px 5px 5px 5px !important;
	color:gray;
	width:100%;
}
.timeWrapper {
	overflow-y:scroll;
	height:400px;
	border:1px solid gray;
	padding:0 15px 15px 15px;
	margin-bottom:50px;
	background:#efefef;
}
	.topFreeze {
		position: sticky;
		top: 0;
		background: #efefef;
		z-index: 1;
		padding-top:5px;
	}
	.timeWrapper.cancelled {
		height:50px;
		overflow:hidden;
	}
	#content .timeWrapper.cancelled h3{
		margin: 2px 0 25px;
	}
	.timeWrapper.cancelled *{
	  color: #8080805e !important;
	  text-decoration: line-through !important;
	}
	span.cancelled {
  		text-decoration: line-through;
	}
	.timeWrapper .lessonTime {
		float:left;
		padding-right:20px;
	}
	.timeWrapper.owing, .timeWrapper.owing div.topFreeze {
		background: #ff6b6b;
		color: white;
	}
	.timeWrapper .studentName{
		float:left;
		padding-right:5px;
		font-weight:bold;
	}
	.timeWrapper .studentMenu {
		width:100%;
	}
	.timeWrapper .notesColumn {
		/* clear:both; */
		width:33%;
		height:340px;
		float:left;
	}
		.timeWrapper .notesColumn textarea {
		    width:100% !important;
		}
	.timeWrapper .songsColumn {
		width:33%;
		float:left;
		overflow-y:scroll;
		height:390px;
	}
		.songsColumn img {
			width: 100%;
		}
		.songsColumn li{
			white-space:nowrap;
		}
	.timeWrapper .pastNotesColumn {
		float:left;
		width:33%;
		height:390px;
		overflow:hidden;
	}
	.timeWrapper .pastNotes{
		padding:6px 10px;
		height:370px;
		width:100%;
		overflow:hidden;
		overflow-y:scroll;
		line-height:17px;
	}
#dialogueWrapper{
	width:100%;
	background:rgba(0, 0, 0, 0.7);
	height:100%;
	overflow:hidden;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
	text-align:center;
	margin:0 auto;
	visibility:hidden;
}
	#dialogueWrapper #dialogue{
		display:block;
		top:15%;
		left:calc(50% - 150px);
		min-height:350px;
		width:250px;
		background:rgb(245,246,246);
		z-index:100;
		border:2px outset;
		border-radius:10px;
		position:relative;
		box-shadow:rgba(0, 0, 0, 0.760784) 0px 0px 20px;
		text-align:left;
		padding:20px 20px 50px 20px;
	}
	#dialogueWrapper input[type="button"]{
		position:absolute;
		bottom:12px;
		right:12px;
		width:111px;
	}
		#dialogueWrapper input[type="button"].prettyAlertButton{
			left:12px;
		}
		#dialogueWrapper input[type="button"].no{
			left: 10px;
		}
	#dialogueWrapper img{
		position:relative;
		left:calc(50% - 32px);
	}
/* gameify */
div#gameFrame {
    position: fixed;
    top: 0;
    left: 0;
    background: url('http://www.fanbase360.com/comingsoon/wp-content/uploads/2012/11/Concert-Stage-Blue-Smoke.jpg') no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%;
    z-index: 5;
    text-align:center;
}
div#user {
    position:relative;
    background-size: contain !important;
    width:300px;
    height:300px;
    margin:0 auto;
    top:25%;
    top:calc(50% - 240px);
}
div#hearts{
	height:20px;
	width: 80%;
	text-align:center;
	position:relative;
	top:9%;
	margin:0 auto;
	padding:6p 0;
	font-size: 2.5em;
}
	div#hearts span{
		color:red;
		width: 40px;
	}
progress{
    position: relative;
    top: 90px;
    margin: 0 auto;
    width: 400px;
    z-index: 1;
}
div#panel {
    width: 100%;
    height: 100px;
    position: absolute;
    top: calc(100% - 100px);
}
	div#panel div{
		display:inline-block;
		width:100px;
		height:100px;
		background:#fff;
		border:3px solid transparent;
		text-align:center;
	}
		div#panel div.selected {
			border: 3px solid gold;
			width:auto;
			height:15%;
			position:fixed;
			background-color:rgba(255,255,255,.5);
		    border-radius: 50%;
		}
			div#panel div#practice.selected{
				top:10%;
				left:30%;
			}
			div#panel div#challenge.selected{
				top:30%;
				left:30%;
			}
			div#panel div#boss.selected{
				top:30%;
				right:30%;
			}
			div#panel div#focus.selected{
				top:45%;
				right:calc(45% - 130px);
			}
			div#panel div#booklet.selected{
				top:10%;
				right:30%;
			}
			div#panel div#levelup.selected{
				top: 45%;
				left:calc(45% - 130px);
			}
	div#panel img{
		width:auto;
		height:110%;
		position:relative;
		top:-6px;
		margin:0 auto;
	}
@media only screen and (max-device-width:1024px){
	#header{
		height:50px;
	}
	#header h1{
		font-size:1em;
		background-size: 100px 100px;
		height: 100px;
		top: -60px;
	}
	#header h1 span{
		font-size:1.5em;
		letter-spacing:-2px;
		margin-left: 100px;
		margin-top: -1px;
	}
	div #content p{
		margin:0;
		padding:0;
	}
	label{
		width:100%;
	}
	label + input,textarea,select{
		width: 90% !important;
		float: left !important;
		margin: 0 !important;
	}
	.timeWrapper .notesColumn textarea {
		height:250px !important;
	}
	aside ul{
		padding:0;

	}
	table.calendar, table.calendar tbody{
		display:block;
		border:none;
		width:100%;
	}
		table.calendar tr{
			display: block;
			width: 100%;
			border:none;
		}
			table.calendar tr:first-child th{
				position:absolute;
				top:-9999px;
				left:-9999px;
			}
				table.calendar tr:before{
						content:attr(data-label);
						font-size:1.5em;
						font-weight:bold;
				}
			table.calendar tr td{
				display:block;
				width:100%;
				border:none;
			}
				table.calendar tr td.calendarCellNone{
					display:none;
				}
				table.calendar tr td.calendarCell{
					width:100%;
					height:auto;
					text-align:left;
					border:none;
				}
					table.calendar tr td a:before{
						content:attr(rel) " ";
					}
		.calendarCell.calendarCellPast {
			display: none;
		}
	table.verticalTable{
		width: 100%;
	}
	table.verticalTable tr:first-child th{
		position:absolute;
		top:-9999px;
		left:-9999px;
	}
	table.verticalTable tr{
		display: block;
		margin:10px 0;
		width: 100%;
		border:1px solid black !important;
		padding:5px;
	}
	table.verticalTable tr td{
		display:block;
	}
	table.verticalTable tr td::before {
		content: attr(data-label);
		font-size: 1em;
		font-weight: normal;
		display:inline-block;
		margin-right:4px;
		border:none;
	}
	ul{
		padding:0 !important;
	}
		ul.studentsList{
			column-count:1;
		}
	.floatRight{
		float:initial;
	}
	#content aside {
		width: 100%;
		margin-left:initial;
		border-left:none;
		padding-left:none;
		float:none;
	}
	.cards blockquote{
		width:100%;
	}
	.topFreeze{
		position:initial;
	}
	.dashboardImage{
		display:none;
	}
	.dashboardNotes{
		width:100%;
		float:none;
	}
	.dashboardSongs{
		width:100%;
		float:none;
		padding:0;
	}
}
