@charset "UTF-8";

/* Global Styles */
* {
  box-sizing: border-box;
}

article, aside, footer, header, main, nav, section {
  display: block;
}

/* Body Structure */
body {
  background-color: #444;
  position: relative;
  min-height: 100vh;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  font-family: Georgia, 'Times New Roman', Times, serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Condensed', Helvetica, 'Helvetica Neue', Arial, sans-serif;
}

h1 {
  font-size: 2em;
  font-weight: normal;
  margin: 0 0 0.5em 0;
  text-shadow: 1px 1px 1px #fff, -1px -1px 1px #000;
}

h2 {
  color: #fff;
  margin-bottom: 50px;
}

/* Header */
#header {
  background-color: navy;
  color: white;
  padding: 50px;
}

/* Page Structure */
main {
  padding-bottom: 80px;
}

section {
  margin-bottom: 50px;
}

/* 3D Transformations */
#stage {
	position: relative;
	width: 20em;
	height: 20em;
	margin: 4em;
}

#mybox1, #mybox2, #mybox3 {
	position: absolute;
	width: 100%;
	height: 100%;
  font-size: 2em;
	text-align: center;
	line-height: 10em;
	color: #fff;
	background-color: rgba(200,100,100,0.6);
	border-radius: 2em;
}

#mybox2 { background-color: rgba(100,200,100,0.5); }
#mybox3 { background-color: rgba(100,100,200,0.5); }

div.card {
	width: 352px;
	height: 492px;
	margin: 0 auto;
	cursor: pointer;
}

div.card div
{
	position: absolute;
	width: 320px;
	height: 460px;
	font-size: 4em;
	text-align: center;
	line-height: 400px;
	color: #c00;
	background-color: #fff;
	border: 16px solid #fff;
	border-radius: 10px;
	box-shadow: 4px 4px 10px rgba(0,0,0,0.5);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

div.card div span
{
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1em;
	width: auto;
	line-height: 1em;
}

div.card div span:last-child
{
	left: auto;
	top: auto;
	right: 0;
	bottom: 0;
	transform: rotate(180deg);
}

div.card div.back
{
	font-size: 2em;
	color: #fff;
	background-color: #36c;
}



/* Footer */
footer {
  background-color: navy;
  color: white;
  width: 100%;
  height: 80px;
  padding: 10px;
  position: absolute;
  bottom: 0;
}