/* ====== media object ====== */
/*.media {margin:10px;}*/
.media, .bd {overflow:hidden; _overflow:visible; zoom:1;}
.media .img {float:left; margin-right: 10px;}
.media .img img{display:block;}
.media .imgExt{float:right; margin-left: 10px;}

.page-start a {
    margin: 0.3em;
}

body {
    font-size: 16px;
}


/* ====== circles ====== */
.circular {
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
}

/* ====== avatars ====== */
.avatar {
  width: 100px;
  height: 100px;
  box-shadow: 0px 1px 1px 1px #bbb;
  -moz-box-shadow: 0px 1px 1px 1px #bbb;
  -webkit-box-shadow: 0px 1px 1px 1px #bbb;
}


/* ====== ring menu ====== */
/* Ring menu CSS source: http://css-eblog.com/css3/css3-ring-menu.html */
.ringMenu {
  width: 100px;
  margin: 80px 150px 90px 150px;
}

.ringMenu:hover {}

.ringMenu ul {
  list-style: none;
  position: relative;
  width: 100px;
  color: white;
}
.ringMenu ul a {
  color: white;
  text-decoration: none;
}
.ringMenu ul li {
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.ringMenu ul li a {
  display: block;
  width: 100px;
  height: 100px;
  background: rgba(50,50,50,0.7);
  text-align: center;
  line-height: 100px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}
.ringMenu ul li a:hover {
  background: rgba(182,207,224,0.9);
}

.ringMenu ul li:not(.main) {
  -webkit-transform: rotate(-180deg) scale(0);
  -moz-transform: rotate(-180deg) scale(0);
  -o-transform: rotate(-180deg) scale(0);
  transform: rotate(-180deg) scale(0);
  opacity: 0;
}
.ringMenu:hover ul li {
  -webkit-transform: rotate(0) scale(1);
  -moz-transform: rotate(0) scale(1);
  -o-transform: rotate(0) scale(1);
  transform: rotate(0) scale(1);
  opacity: 1;
}
.ringMenu ul li.top {
  -webkit-transform-origin: 50% 152px;
  -moz-transform-origin: 50% 152px;
  -o-transform-origin: 50% 152px;
  transform-origin: 50% 152px;
  position: absolute;
  top: -100px;
  left: 0;
}
.ringMenu ul li.bottom {
  -webkit-transform-origin: 50% -52px;
  -moz-transform-origin: 50% -52px;
  -o-transform-origin: 50% -52px;
  transform-origin: 50% -52px;
  position: absolute;
  bottom: -100px;
  left: 0;
}
.ringMenu ul li.right {
  -webkit-transform-origin: -52px 50%;
  -moz-transform-origin: -52px 50%;
  -o-transform-origin: -52px 50%;
  transform-origin: -52px 50%;
  position: absolute;
  top: 0px;
  right: -100px;
}
.ringMenu ul li.left {
  -webkit-transform-origin: 152px 50%;
  -moz-transform-origin: 152px 50%;
  -o-transform-origin: 152px 50%;
  transform-origin: 152px 50%;
  position: absolute;
  top: 0;
  left: -100px;
}


/* ====== content blur effect ====== */
ul.content-blur li:hover {
  border: 2px solid white;
  background-color: #ECECEC;
  
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,.3);
  -moz-box-shadow: 0 0 10px rgba(0,0,0,.3);
  box-shadow: 0 0 10px rgba(0,0,0,.3);
  
  opacity: 1;
  filter: alpha(opacity=100);
}
ul.content-blur:hover li:not(:hover) {
  opacity: .3;
  filter: alpha(opacity=30);
  
  -webkit-transform: scale(.9);
  -moz-transform: scale(.9);
  -ms-transform: scale(.9);
  -o-transform: scale(.9);
  transform: scale(.9);
}

ul.content-blur li {
  padding: 5px;

  -webkit-transition: .3s;
  -moz-transition: .3s;
  -ms-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}



/* #ANIMATIONS */

@-webkit-keyframes rotate {
  from {
  	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
  }
  to { 
  	transform: rotate(350deg);
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
  }
}

.rotate {
	animation-name:             rotate; 
    animation-duration:         50s; 
    animation-iteration-count:  infinite;
    transition-timing-function: linear;

    -webkit-animation-name:             rotate; 
    -webkit-animation-duration:         50s; 
    -webkit-animation-iteration-count:  infinite;
    -webkit-transition-timing-function: linear;

    -moz-animation-name:             rotate; 
    -moz-animation-duration:         50s; 
    -moz-animation-iteration-count:  infinite;
    -moz-transition-timing-function: linear;
}

.rotate.slow
{
	animation-duration:         300s;	
    -webkit-animation-duration:         300s;
    -moz-animation-duration:         300s; 
}

.rotate.fast
{
	animation-duration:         10;
	-webkit-animation-duration:         10;
    -moz-animation-duration:         10s;
}

.expand {
	transition: width 1s;
	transition-timing-function: linear;

	-webkit-transition: width 1s;
	-webkit-transition-timing-function: linear;
	
	-moz-transition: width 1s;
	-moz-transition-timing-function: linear;
}
/*






Z-INDICES

0 - background
500 - background modules
1000 - foreground (the grid)
1500 - cursors
2000 - UI modules
5000+ - doors

*/


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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
}

body {
	line-height: 1.3;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* #FONT STACK */
body {
	overflow: hidden;
	font-family: 'Titillium Web', sans-serif;
}

h1 {
	font-weight: 700;
	font-size: 96px;
	color: rgb(95,95,95);
	margin: 0 0 25px 0;
}

h2, h2, h3, h4, h5, h6 {
	font-weight: 600;
	color: rgb(100,100,100);
	margin: 0 0 5px 0;
}

h2 { font-size: 72px; margin: 0 0 20px 0; }
h3 { font-size: 64px; }
h4 { font-size: 48px; }
h5 { font-size: 32px; }
h6 { font-size: 20px; }

p, span, li, td {
	font-weight: 400;
	font-size: 16px;
	color: rgb(110,110,110);
}

p {
	margin: 0 0 5px 0;
}

a {
	color: rgb(146,171,179);
}

a:visited {
	color: rgb(146,152,179)
}

.text.box {
	padding: 10px 20px;

	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;

	background-color: rgba(236, 236, 236, 0.6);
	-moz-box-shadow: 0 0 30px rgba(236, 236, 236, 1);
	-webkit-box-shadow: 0 0 30px rgba(236, 236, 236, 1);
	box-shadow: 0 0 30px rgba(236, 236, 236, 1);
}

.container {
	overflow: hidden;
}

canvas.full {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

canvas.front {
	z-index: 1001;
}

canvas.back {
	z-index: 1;
}

.background{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #D6D6D6;
	z-index: 0;
}

.foreground {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-image: url("../media/images/block.png");
	background-repeat: repeat;

	/* INNER SHADOWS */
	-moz-box-shadow: inset 0 0 100px 0 #959595;
	-webkit-box-shadow: inset 0 0 100px 0 #959595;
	box-shadow: inset 0 0 100px 0 #959595;

	overflow: hidden;

	z-index: 1000;
}






/* *DOORS */
.module.doors { 
	z-index: 5000;
}

.door {
	position: fixed;
	width: 100%;
	height: 50%;
	background-image: url('../media/images/body.gif');

	box-shadow: 0px 2px 6px 7px #959595;
	-moz-box-shadow: 0px 2px 6px 7px #959595;
	-webkit-box-shadow: 0px 2px 6px 7px #959595;
	-o-box-shadow: 0px 2px 6px 7px #959595;
}

.door.top {
	left:0px; 
	top:0px;
	border-bottom: 2px solid #ffffff;
	height: 40px;

	z-index: 5002;
}

.door.bottom {
	left: 0px;
	bottom: 0px;
	border-top: 2px solid #d5d5d5;
	height: 40px;

	z-index: 5001;
}


/* #MODULES */

.modules.ui { /* the container */
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;

	z-index: 2000;
}

.module {
	/*display: none; /* hide all modules at startup */
}


.module.doors, .module.cursors {
	opacity: 1;
}


/* #CURSOR MODULE */

.module.cursors {
	z-index: 1500;
}

.cursor {
	position: absolute;
	width: 25px;
	height: 25px;
	left: -100px;
	top: -100px;
	background: none no-repeat left center;
	background-image: url('../media/images/cursor.png');
	background-position: -25px -25px;
	overflow: none;
	pointer-events:none;

	z-index: 1501;
}

.cursor.click {
	position: absolute;
	width: 75px;
	height: 75px;
	left: -100px;
	top: -100px;
	background: none no-repeat left center;
	background-image: url('../media/images/cursor.png');
	background-position: 0px 0px;

	z-index: 1502;
}


/* #NAME MODULE */

.module.name {
	position: relative;
	top: 20%;
	margin: 0 auto;
	width: 40%;
	height: auto;

	z-index: 2001;
}

.explore-icon {
	width: 24px;
	height: 24px;
	left: -100px;
	top: -100px;
	background: none no-repeat left center;
	background-image: url('../media/images/110.png');
	background-size: 24px 24px;
	/*background-position: -302px -142px;*/
	overflow: none;
}

.explore span{
	font-size: 18px;
}


/* #MAIN MODULE */

.module.main-info {
	position: absolute;
	width: 800px;
	height: 400px;
	margin: 0px auto;
}

.module.main-info > div {
	display: inline-block;
	vertical-align: top;
}

.classes-info {
	position: relative;
	width: 350px;
	height: auto;
}

.profile {
	margin: 100px 200px 0 0;
}

.pinwheel-flat {
	width: 500px;
	height: 100px;
	margin-left: auto;
	margin-right: auto;

	background-image: url('../media/images/lateralPinwheel.gif');
}



.pixelation-wrap {
	position: absolute;
	top: 500px;
	left: 400px;
	width: 100px;
	height: 100px;

	background-color: #D6D6D6;

	overflow: hidden;
	z-index: 2000;
}

.pixels {
	position: relative;
	float: left;
	width: 25px;
	height: 25px;

	background-image: url("../media/images/block.png");
	
	z-index: 2001;
}

.strong {
	font-weight: bold;
}




