@import url(//fonts.googleapis.com/css?family=Open+Sans:300,700);

html, body, div, span, h1, h2, h3, p, a, img, ul, li, form, label, footer, header, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
}

html,
body {
	height: 100%;
	overflow: hidden;
}

a { text-decoration: none; }

ul { list-style: none; }

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* Library */

.t02 {
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.t08 {
	-webkit-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-moz-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-o-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-ms-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
}

.case.layout {
	position: relative;
	width: 100%;

	padding: 0 50px;

	margin: 0 auto;

	display: inline-block;
}

.hwa {
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-o-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);

	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;

	-webkit-perspective: 1000;
	-moz-perspective: 1000;
	-ms-perspective: 1000;
	perspective: 1000;
}

/* Elements */

body {
	font-family: 'Open Sans', 'Helvetica', Helvetica, Arial, sans-serif;
	font-weight: 300;
	font-size: 62.5%;
	color: #000;

	background: #FFF;

	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

img.preload {
	display: none;
	visibility: hidden;
}

#bkg {
	position: absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	background: #FFF;

	z-index: 999999;
}

#bkg.hide {
	opacity: 0;
	visibility: hidden;
}

#bkg .load {
	position: absolute;

	top: 50%;
	left: 50%;

	margin-left: -35px;
	margin-top: -35px;

	width: 70px;
	height: 70px;
}

#bkg .load .load-bkg {
	fill: none;

	stroke: rgba(0, 0, 0, 0.1);
	stroke-width: 10px;
}

#bkg .load .load-rotate {
	fill: none;

	stroke: #39F;
	stroke-width: 10px;
	stroke-linecap: round;
	stroke-dasharray: 300;
	stroke-dashoffset: 220;

	-webkit-transform-origin: 50px 50px;
	-moz-transform-origin: 50px 50px;
	-o-transform-origin: 50px 50px;
	-ms-transform-origin: 50px 50px;
	transform-origin: 50px 50px;

	-webkit-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-moz-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-o-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-ms-animation: load-rotate-anim 0.8s ease-in-out infinite;
	animation: load-rotate-anim 0.8s ease-in-out infinite;
}

@-webkit-keyframes load-rotate-anim {
	0% {
		-webkit-transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes load-rotate-anim {
	0% {
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

header a.logo {
	float: left;

	font-size: 2em;
	color: #FFF;
}

header a.logo .arco3d {
	float: left;
}

header a.logo b {
	float: left;

	margin-left: 10px;
	padding-left: 10px;

	font-weight: 300;
	color: rgba(255, 255, 255, .6);

	border-left: 1px solid rgba(0, 0, 0, .1);
}

#wrapper {
	position: relative;
	float: left;

	width: 100%;
	height: 100%;
	height: -webkit-calc(100% - 50px);
	height: -moz-calc(100% - 50px);
	height: -o-calc(100% - 50px);
	height: -ms-calc(100% - 50px);
	height: calc(100% - 50px);
}

body.hide #wrapper {
	height: 100%;
}

#main-load {
	position: absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
	height: -webkit-calc(100% - 160px);
	height: -moz-calc(100% - 160px);
	height: -o-calc(100% - 160px);
	height: -ms-calc(100% - 160px);
	height: calc(100% - 160px);

	background: rgba(0, 0, 0, .8);

	z-index: 100;
}

body.fullscreen #main-load {
	height: 100%;
}

#main-load.hide {
	opacity: 0;
	visibility: hidden;
}

#main-load .load {
	position: absolute;

	top: 50%;
	left: 50%;

	margin-left: -35px;
	margin-top: -35px;

	width: 70px;
	height: 70px;
}

#main-load .load .load-bkg {
	fill: none;

	stroke: rgba(255, 255, 255, .1);
	stroke-width: 10px;
}

#main-load .load .load-rotate {
	fill: none;

	stroke: #39f;
	stroke-width: 10px;
	stroke-linecap: round;
	stroke-dasharray: 300;
	stroke-dashoffset: 220;

	-webkit-transform-origin: 50px 50px;
	-moz-transform-origin: 50px 50px;
	-o-transform-origin: 50px 50px;
	-ms-transform-origin: 50px 50px;
	transform-origin: 50px 50px;

	-webkit-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-moz-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-o-animation: load-rotate-anim 0.8s ease-in-out infinite;
	-ms-animation: load-rotate-anim 0.8s ease-in-out infinite;
	animation: load-rotate-anim 0.8s ease-in-out infinite;
}

#main,
#main-img {
	position: absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

#main-img {
	background: no-repeat center;
	background-size: cover;

	height: -webkit-calc(100% - 160px);
	height: -moz-calc(100% - 160px);
	height: -o-calc(100% - 160px);
	height: -ms-calc(100% - 160px);
	height: calc(100% - 160px);
}

#main-img.noloaded {
	background: url(../img/bkg/bkg.png) repeat center;
}

#main-img .logo {
	position: absolute;

	top: 0;
	left: 0;

	padding: 20px 50px;
}

#main-img .main-img-info {
	position: absolute;

	bottom: 20px;
	left: 50px;

	font-size: 5em;
	color: #FFF;

	text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);
}

body.fullscreen #main-img .main-img-info {
	bottom: 44px;
}

#main-img .main-img-info .main-img-info-category {
	float: left;

	width: 100%;

	font-size: 0.6em;

	margin-bottom: -15px;
}

body.fullscreen #main-img {
	height: 100%;
}

#controls {
	position: absolute;

	bottom: 0;
	left: 0;

	width: 100%;
	height: 160px;

	z-index: 100;
}

#controls.active {
	height: 100%;
}

#controls .controls-material-change {
	float: left;

	width: 100%;
	height: 30px;

	padding: 0 50px;

	background: #222;
}

#controls .controls-options,
#controls .controls-material-change ul,
#controls .controls-material-change ul li {
	float: left;
	position: relative;
	z-index: 100;
}

#controls .controls-options .controls-options-icon {
	position: relative;
	float: left;

	height: 30px;

	padding: 0 10px;

	line-height: 30px;
	text-align: center;
	font-size: 2em;
	color: rgba(255, 255, 255, .8);

	border-left: 1px solid #333;

	cursor: pointer;
}

#controls .controls-options .controls-options-icon:last-child {
	border-right: 1px solid #333;
}

#controls .controls-options .controls-options-icon .icon-tooltip {
	position: absolute;

	top: -30px;
	left: 50%;

	margin-left: -50px;

	width: 100px;
	height: 20px;

	line-height: 20px;
	font-size: 0.6em;
	color: #FFF;

	background: #222;

	border-radius: 5px;

	opacity: 0;
	visibility: hidden;

	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-o-transform: scale(0.9);
	-ms-transform: scale(0.9);
	transform: scale(0.9);
}

#controls .controls-options .controls-options-icon .icon-title {
	font-size: .7em;
}

#controls .controls-options .controls-options-icon:hover .icon-tooltip {
	opacity: 1;
	visibility: visible;

	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

#controls .controls-options .controls-options-icon .icon-tooltip:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-top-color: #222;
	border-width: 5px;
	margin-left: -5px;
}

#controls .controls-options .controls-options-icon .icon-tooltip:before {
	content: '';
}

#controls .controls-options .controls-options-icon:hover {
	color: #FFF
}

#controls .controls-options .controls-options-icon.active {
	color: #39F
}

#controls .controls-material-label {
	float: left;

	height: 30px;

	padding: 0 10px;

	line-height: 30px;
	font-size: 1.5em;
	font-weight: 700;
	color: #AAA;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);
}

#controls .controls-material-change ul li a {
	position: relative;
	float: left;

	height: 30px;

	padding: 6px 15px;

	font-size: 1.5em;
	color: #FFF;

	cursor: pointer;
}

#controls .controls-material-change ul li a.active {
	background: #444;
}

#controls .controls-material-list {
	position: relative;
	float: left;

	width: 100%;

	background: #444;

	padding: 15px 50px;

	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}

#controls.active .controls-material-list {
	min-height: 100%;
}

#controls .controls-material-list .controls-material-list-wrapper {
	position: relative;
	float: left;

	width: 100%;
}

#controls .controls-material-list .controls-material-list-wrapper a.pager {
	position: absolute;

	top: 0;

	width: 20px;
	height: 70px;

	color: #FFF;
	font-size: 20px;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);

	z-index: 100;

	cursor: pointer;
}

#controls .controls-material-list .controls-material-list-wrapper a.pager.slick-disabled {
	color: rgba(255, 255, 255, .5);
}

#controls .controls-material-list .controls-material-list-wrapper a.pager:before {
	position: absolute;

	top: 26px;
}

#controls .controls-material-list .controls-material-list-wrapper a.pager.left {
	left: -30px;
}

#controls .controls-material-list .controls-material-list-wrapper a.pager.right {
	right: -30px;

	text-shadow: 1px -1px 1px rgba(0, 0, 0, .8);
}

#controls .controls-material-list .controls-material-list-wrapper a.pager.right:before {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

#controls .controls-material-list .slick-slider {
	width: 100%;

	margin-bottom: 0 !important;
}

/* #controls .controls-material-list .controls-material-list-wrapper .category-title {
	float: left;

	width: 100%;

	font-size: 3em;
	color: #FFF;

	margin-bottom: 20px;

	display: none;
} */

#controls .controls-material-list .controls-material-list-wrapper ul {
	float: left;

	width: 100%;
	height: 70px;

	display: none;
}

#controls.active .controls-material-list .controls-material-list-wrapper ul {
	height: 100%;
}

#controls .controls-material-list .controls-material-list-wrapper ul:first-child {
	display: block;
}

#controls .controls-material-list .controls-material-list-wrapper ul li {
	position: relative;
	float: left;

	width: 70px;
	height: 70px;

	margin: 0 20px 20px 0;

	overflow: hidden;

	cursor: pointer;

	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);

	border-radius: 5px;
}

#controls .controls-material-list .controls-material-list-wrapper ul li:before {
	content: '';

	position: absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	border: 3px solid #39F;

	z-index: 200;

	opacity: 0;

	-webkit-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-moz-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-o-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	-ms-transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
	transition: all .8s cubic-bezier(0.23, 1, 0.32, 1);
}

#controls .controls-material-list .controls-material-list-wrapper ul li.active:before {
	opacity: 1;
}

#controls.active .controls-material-list .controls-material-list-wrapper ul li {
	width: -webkit-calc(25% - 15px);
	width: -moz-calc(25% - 15px);
	width: -o-calc(25% - 15px);
	width: -ms-calc(25% - 15px);
	width: calc(25% - 15px);
}

#controls.active .controls-material-list .controls-material-list-wrapper ul li:nth-child(4n){
	margin-right: 0;
}

#controls .controls-material-list .controls-material-list-wrapper ul li:hover .material-img,
#controls .controls-material-list .controls-material-list-wrapper ul li.active .material-img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

#controls .controls-material-list .controls-material-list-wrapper ul li .material-img {
	float: left;

	width: 100%;
	height: 100%;

	background: #EEE;
	background-size: cover;
}

#controls .controls-material-list .controls-material-list-wrapper ul li:hover .material-title,
#controls .controls-material-list .controls-material-list-wrapper ul li.active .material-title {
	opacity: 1;
}

#controls .controls-material-list .controls-material-list-wrapper ul li .material-title {
	position: absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	text-align: center;
	line-height: 1.2em;
	font-size: 1.2em;
	color: #FFF;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);

	background: rgba(0, 0, 0, .7);

	z-index: 100;

	padding: 10px;

	opacity: 0;

	display: table;
}

#controls .controls-material-list .controls-material-list-wrapper ul li .material-title p {
	display: table-cell;
	vertical-align: middle;
}

#controls .controls-ambients {
	float: left;

	width: 100%;
	height: 30px;

	background: #111;

	padding: 0 50px;
}

#controls .controls-ambients .controls-ambients-label {
	float: left;

	height: 30px;

	line-height: 30px;
	font-size: 1.5em;
	font-weight: 700;
	color: #AAA;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .8);

	margin-right: 20px;
}

#controls .controls-ambients ul {
	display: none;
	position: relative;
	z-index: 100;
}

#controls .controls-ambients ul:first-child {
	display: block;
}

#controls .controls-ambients ul li {
	float: left;

	height: 30px;

	font-size: 1.5em;
	color: #FFF;

	padding: 5px 10px;

	background: transparent;
}

#controls .controls-ambients ul:hover li.active {
	background: transparent;
}

#controls .controls-ambients ul li:hover,
#controls .controls-ambients ul li.active,
#controls .controls-ambients ul li.active:hover {
	background: #39F;

	cursor: pointer;
}