/* reset */
*{
	margin: 0;
	padding: 0;
	font-family: sans-serif;
}
a{
	text-decoration: none;
	color: black;
}
table{
	border-collapse: collapse;
}
th, td{
	border: 1px solid black;
	text-align: center;
	vertical-align: middle;
}

#white{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -999;
	animation-name: clearColor;
	animation-duration: 2s;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
}
#content{
	width: 100%;
	margin: auto;
}

/* overall */
.it{
	font-style: italic;
}
.center{
	text-align: center;
}
	/* scrollbar */
	::-webkit-scrollbar{
		width: 0.5em;
	}
	::-webkit-scrollbar-track{
		border-radius: 10px;
		background: #eee;
	}
	::-webkit-scrollbar-thumb{
		background: #ac0202;
		box-shadow: 0 0 0.25em black inset;
		border-radius: 10px;
	}
	::-webkit-scrollbar-thumb:hover{
		background: #f00;
	}
::selection{
	background: #ac0202;
	color: white;
}
.r{
	font-weight: bold;
}
.r:after {
	font-size: 50%;
	vertical-align: super;
	content: "®";
}


/* header */
	/* nav */
	header nav{
		z-index: 10;
	}
	header nav ul{
		width: 21em;
		list-style: none;
		margin: auto;
	}
	header nav ul li{
		display: block;
		float: left;
		background: white;
		width: 3em;
		height: 3em;
		box-shadow: 0 0 0.5em #cacaca inset;
		color: black;
		font-size: 12pt;
		line-height: 3em;
		text-align: center;
	}
	header nav ul li#here{
		background: #ac0202;
		color: white;
		box-shadow: 0 0 0.5em black inset;
	}
	header nav ul li#here:hover, header nav ul li#here:hover div{
		background: #f00;
	}
	header nav ul li.first{
		border-radius: 0 0 0 10px;
	}
	header nav ul li.last{
		border-radius: 0 0 10px 0;
	}
	header nav ul li:hover{
		background: #ac0202;
		box-shadow: 0 0 0.5em black inset;
		color: white;
	}
	header nav ul li div{
		width: 6em;
		height: 3em;
		position: relative;
		left: 3em;
		top: -3em;
		line-height: 3em;
		text-align: center;
		box-shadow: 0 0 0.5em #cacaca inset;
		display: none;
		font-size: 12pt;
	}

/* container */
.parallax{
	height: 15em;
	background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#container div#header{
	background: rgba(0, 0, 0, 0.25);
	width: 100%;
	margin: auto;
	height: 7.5em;
	line-height: 7.5em;
	position: absolute;
	top: 3.75em;
}
#container div#header h1{
	font-size: 3em;
	text-align: center;
	color: white;	
}
#container #main{
	width: 60%;
	margin: auto;
	padding-top: 2%;
}
#container #main h1{
	font-variant: small-caps;
}
#container #main p{
	text-align: justify;
}
#container #main p.center{
	text-align: center;
}
#container #main p.beforeList{
	font-weight: bold;
}
#container #main ul{
	list-style-image: url("../img/star.png");
}
#container #main p.end{
	font-style: italic;
	text-align: center;
}
#container #main table#cost{
	width: 100%;
	margin: auto;
}
#container #main table#cost thead tr th{
	font-variant: small-caps;
}
#container #main table#cost thead tr th, #container #main table#cost tbody tr td, #container #main table#cost tfoot tr td{
	padding: 0.25em;
}
#container #main table#cost tbody tr td:first-child{
	width: 20%;
	font-style: italic;
}
#container #main table#cost tfoot tr td{
	font-style: italic;
}
#container #main #coupon{
	width: 100%;
}
#container #main a{
	border-bottom: 1px dotted black;
}
#container #main a:hover{
	border-bottom: 1px solid black;
}
#container #main table#teachers{
	width: 100%;
	border: 1px solid green;
}
#container #main table#teachers tbody tr td{
	width: 100%;
	display: block;
	border: 0;
	padding: 1em;
	text-align: left;
	vertical-align: top;
}
#container #main table#teachers tbody tr td img{
	float: left;
}
#container #main table#teachers tbody tr td p.about:first-line{
	font-weight: bold;
}
#container #main #slideshow{
	overflow: hidden;
	margin: 0 auto;
}
#container #main #slideshow .slide-wrapper{
	width: 2912px;
	animation-name: slide;
	animation-duration: 18s;
	animation-iteration-count: infinite;
}
#container #main #slideshow .slide-wrapper .slide{
	float: left;
}
#container #main #slideshow .slide-wrapper .slide img{
	height: 24em;
	width: auto;
}
#container #main #gallery{
	text-align: center;
}
#container #main #gallery .frame{
	width: 19vw;
	height: 19vw;
	display: inline-block;
	margin: 0 auto;
	border: 2px solid #cacaca;
	overflow: hidden;
}
#container #main #gallery .frame:hover{
	border: 2px solid #808080;
}
#container #main #gallery .frame img{
	height: 100%;
	margin: auto;
}

/* footer */
footer{
	width: 100%;
	margin: auto;
	background: #ac0202;
	height: 5em;
	box-shadow: 0 0 2.5em black inset;
	padding: 1em 0;
}
footer:hover{
	background: #f00;
}
footer p{
	text-align: center;
	line-height: 1.667em;
	color: white;
}
footer p a{
	color: white;
	border-bottom: 1px dotted white;
}
footer p a:hover{
	border-bottom: 1px solid white;
}