HTML {
	font-size: 1.0em;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
		height: 101%; 
	min-height:101%; 
}


BODY {
	margin: 0;
	height: 100%; 
	min-height:100%; 
}

#page_wrap {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	width: 100%;
	

	margin: 0;
	padding: 0;
	min-height: 100vh;
	background-color: #222;
}

#header_wrap {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	order: 1;
	
	width: 100%;
	
	background: linear-gradient(#fff, #ddd);
	border-bottom: 5px #fff solid;
	padding: 10px 0px;
	margin: 0;
}




#header_wrap a:visited, a:link, a:hover, a:active  {
	border: 0px #099 solid;
}

#menu_wrap {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	order: 2;
	width: 100%;
	
	background-color: #2f9aa1;
	/* background: linear-gradient(to right, #2f9aa1, #2f9aa1, #8fb536 );  */
	border-bottom: 5px #ddd solid;
	justify-content: center;
	padding: 5px 0px;
}

#menu_wrap a.menu:link,a.menu:visited,a.menu:active {
	text-decoration: none;
	font-weight: 800;
	font-size: 0.85em;
	color: #fff;
	margin: 0px 10px 0px 10px;
	border: 2px solid rgba(255, 255, 255, .4);
	padding: 5px 10px 5px 10px;
	text-transform: uppercase;
	background-color: transparent;
}

#menu_wrap a.menu:hover {
	background-color: #444;
}

#center_wrap {
	flex: 1 0 auto;
	order: 3;
	margin: auto;
	width: 100%;
}

#center_wrap_top_shadow {
	background: linear-gradient(#000, #222); 
	height: 20px;
}

#center_wrap_content {
	width: 750px;
	margin: auto;
}

#center_wrap_bottom_shadow {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	background: linear-gradient(#222, #111); 
	height: 60px;
	order: 4;
	width: 100%;
}

#footer_wrap {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
	width: 100%;
	order: 5;
	/* background-color: #2f9aa1; */
	background-color: #fff; 
	border-top: 5px #ddd solid;
	justify-content: center;
	padding: 5px 0px;
	color: #333;
	margin-top: auto;
	font-size: 0.65em;
	text-align: center;
}

.flex_container_column {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	
}

.flex_container_row {
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
	margin-bottom: 40px;
}

.flex_container_row img {
	border: 10px #ccc solid;
	width: 200px;
	height: 200px;
	margin-right: 20px;
}

.flex_container_row div {
	width: 600px;
}

.flex_container_row div h2 {
margin-bottom: 10px;
margin-top: 0px;
}

.flex_container_row div h3 {
margin-top: 0px;
}

.flex_container_row p {
	font-size: 0.85em;
}

h1 {
	font-size: 2.75em;
	font-weight: 600;
	text-align: center;
	color: #aaa;
}

h2 {
	font-size: 1.45em;
	font-weight: 600;
	color: #fff;
}

h3 {
	font-size: 1.15em;
	font-weight: 800;
	color: #fff;
	margin-top: 40px;
	margin-bottom: 5px;
}


h4 {
	font-size: 1.15em;
	font-weight: 800;
	color: #fff;
	margin-top: 40px;
	margin-bottom: 5px;
	background-color: #2f9aa1;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 0px 10px 0px;
}

p {
	color: #fff;
	margin-left: 20px;
	font-size: 1.15em;
	line-height: 1.45em;
	margin-bottom: 30px;
}

a:visited, a:active, a:link {
	color: #2f9aa1;
	font-weight: 600;
	text-decoration: none;
}

a:hover {
	color: #fff;
}

ul.index li {
	font-size: 1.25em;
	line-height: 1.45em;
}

ul {
color: #fff;
}

ol li{
	color: #fff;
	font-size: 1.25em;
	margin-bottom: 40px;
}

table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
  padding: 10px;
}



table.lesson td.normal {
	background-color: #eee;
	color: #000;
	font-weight: normal;
}

table.lesson td.shaded {
	background-color: #888;
	color: #fff;
	font-weight: bold;
}

a.thumb:link, a.thumb:visited, a.thumb:active {
	border: 8px solid #ccc;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 425px;
	height: 250px;
	display: block;
}

a.thumb:hover {
	border: 8px solid #2f9aa1;
}

div.lessonplan {
	background-color: #2f9aa1;
	border-radius: 25px;
	padding: 10px 20px 20px 20px;
	margin: 50px 5px 10px 0px;
}


a.continue:link, a.continue:active, a.continue:visited {
	background-color: #2f9aa1;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 10px 50px 0px;
	color: #fff;
}

a.continue:hover {
	background-color: #Ffaaa1;
}

a.back:link, a.back:active, a.back:visited {
	background-color: #666;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 0px 50px 10px;
	color: #fff;
}

a.back:hover {
	background-color: #999;
}


a.listen:link, a.listen:active, a.listen:visited {
	background-color: #fff;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 0px 50px 10px;
	color: #FF2874;
}

a.listen:hover {
	background-color: #999;
}

div.listen {
	background-color: #FF2874;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 0px 50px 10px;
	color: #fff;
}

a.pdf:link, a.pdf:active, a.pdf:visited {
	display: block;
	background-color: #666;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 20px 5px 50px 0px;
	color: #fff;
	font-weight: normal;
	line-height: 1.75em;
	font-size: 1.35em;
}

div.songtitle {
	background-color: #333;
	border-radius: 25px;
	padding: 10px 20px 10px 20px;
	margin: 50px 10px 0px 0px;
	color: #fff;
	text-align: center;
}

a.pdf:hover {
	background-color: #999;
}

img.photo {
	border: 8px solid #ccc;
	margin: 0 auto;
	width: 600px;
}

div.photo {
	width: 100%; 
	text-align: center;
	margin-top: 20px;
	color: #fff;
}

div.lyrics {
	vertical-align: top; 
	font-weight: bold; 
	font-size: 0.85em;
	margin-top: 16px;
	
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
	margin-bottom: 40px;
}

div.lyrics_l2 {
	background-color: #99e6eb;
	width: 50%;
	padding: 10px;
	margin-right: 8px;
}

div.lyrics_english {
	background-color: #97a9eb;
	width: 50%;
	padding: 10px;
	margin-left: 8px;
}



a.m:link, a.m:visited, a.m:active{
color: #fff;
background-color: #0f6fc5;
font-weight: bold;
text-decoration: none;
border: 5px solid #ccc;
display: inline-block;
font-size: 1.10em;
padding: 5px 10px;
}

a.m:hover {
background-color: #333;
color: #fff;
font-weight: bold;
text-decoration: none;
border: 5px solid #ccc;
}

figure.m {
margin: 0 auto; 
width: 80%;
display: flex;
flex-direction: column;


}

img.m {
border-width: 10px 10px 10px 10px;
border-color: #ccc;
border-style: solid; 
margin: 10px 0px 0px 0px;
}

figcaption.m {
border-width: 10px 10px 10px 10px;
background-color: #ccc;
border-color: #ccc;
border-style: solid; 
font-weight: bold;
font-size: 0.85;
margin: 0px 0px 20px 0px;
text-align: center;
width: 100%;
}


div.Video {
background-color: #eee;
text-align: center;
padding: 10px;
display: flex;
flex-direction: column;
justify-content: center;
margin: 0 auto;
margin-bottom: 50px;
}

div.Video p {
color: #000;
margin: 0px;
padding-top: 10px;
}

div.Video iframe {
width: 520px;
height: 330px;
margin: 0 auto;
justify-content: center;
text-align: center;
border: none;
}

@media screen and (min-width : 1px) and (max-width : 882px) {
	
	img.photo {
		width: 90%;
	}
	
	div.lyrics_l2 {
		width: 90%;
		margin: 0;
	}
	
	div.lyrics_english {
		width: 90%;
		margin: 0;
		margin-top:8px;
	}
	
	div.lyrics {
		display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
	}
	
	a.thumb:link, a.thumb:visited, a.thumb:active {
		width: 300px;
		height: 176px;
	}	
		
	#menu_wrap {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-bottom: 10px;
	}
	
	#center_wrap_content {
		width: 80%;
	}

	#menu_wrap a.menu:link,a.menu:visited,a.menu:active {
		text-decoration: none;
		font-weight: 800;
		font-size: 1.15em;
		color: #fff;
		margin: 10px 0px 0px 0px;
		border: 2px solid rgba(255, 255, 255, .4);
		padding: 5px 10px 5px 10px;
		text-transform: uppercase;
		background-color: transparent;
	}
	
	#footer_wrap {
		width: 100%;
	}
	
	#page_wrap {
		overflow: hidden;
	}
	
	h4 {
		font-size: 0.85em;
	}
	
	.flex_container_row {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	
	.flex_container_row img {
		margin: 0px 0px 15px 0px;
	}
	
	.flex_container_row div {
	width: 100%;
	}

}
