* {
	box-sizing: border-box;
}

a {
	color: #fff;
	text-decoration: none;
}

img {
	border: 0;
}

body {
	background: #1f1f1f;
	color: white;
	margin: 0;
	padding: 0;
	transition: background 0.3s ease-out;
}

body, button, input, textarea {
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 16px;
}

button {
	outline: 0;
}

button.orange {
	background-color: #ffbb00;
	border: 0;
	font-weight: bold;
	padding: 5px 10px;
}

#message-form > div {
	margin: 10px 0;
}

#message-form .message-sent {
	-webkit-animation: message-sent 5s forwards;
	animation: message-sent 5s forwards;
	color: #ffbb00;
	margin-left: 10px;
}

@-webkit-keyframes message-sent {
	0% {
		opacity: 0;
	}
	6% {
		opacity: 1;
	}
	94% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes message-sent {
	0% {
		opacity: 0;
	}
	6% {
		opacity: 1;
	}
	94% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

input, label, textarea {
	display: block;
	margin: auto;
}

input, textarea {
	background-color: #3f3f3f;
	border: 0;
	color: #fff;
	outline-color: #ffbb00;
	padding: 5px;
}

#message-form input, #message-form textarea {
	width: 100%;
}

#message-form textarea {
	height: 200px;
}

#backgrounds * {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-position: top;
	background-size: 100%;
	background-size: cover;
	transition: opacity 5s;
}

#grid {
	margin: 50px 5px 0 5px;
}

.folder {
	display: inline-block;
	vertical-align: top;
	width: 20%;
}

#grid.shop .folder {
	width: 33.3333333%;
}

.folder.c2 {
	width: 40%;
}

@media screen and (max-width: 1200px) {
	.folder {
		width: 25%;
	}

	.folder.c2 {
		width: 50%;
	}
}

@media screen and (max-width: 900px) {
	.folder {
		width: 33.3333333%;
	}

	.folder.c2 {
		width: 66.6666666%;
	}
}

@media screen and (max-width: 700px) {
	.folder {
		width: 50%;
	}

	.folder.c2 {
		width: 100%;
	}
}

@media screen and (max-width: 500px) {
	.folder {
		width: 100%;
	}
}

.folder a {
	display: block;
	margin: 5px;
	position: relative;
}

.folder .thumbnail {
	display: block;
	width: 100%;
}

.folder > a > .text {
	left: 0;
	margin-top: -10px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transition: opacity 0.3s ease-out;
	width: 100%;
}

.folder > a:hover > .text {
	opacity: 1;
}

.folder .text div {
	margin: 0 10px;
}

.folder span {
	display: inline-block;
	background: #1f1f1f;
	padding: 0 5px 0 10px;
}

.folder span.count {
	height: 19px;
	font-size: 12px;
	text-transform: uppercase;
}

.folder span.title {
	color: #ffb700;
	font-size: 22px;
	padding: 8px 5px 8px 10px;
}

.folder .flag {
	position: absolute;
	right: 0;
	top: 0;
}

#text {
	background: #1f1f1f;
	position: relative;
	text-align: justify;
	margin: 0 auto;
	margin-top: 46px;
	padding: 10px;
	width: 400px;
}

#text img {
	width: 100%;
}

#text .date {
	color: #ffbb00;
	font-size: 10px;
	position: relative;
	top: 5px;
}

#text h2 {
	color: #ffbb00;
	font-size: 30px;
	margin: 0;
	margin-bottom: -5px;
}

#text a {
	color: #ffbb00;
}

article {
	margin-bottom: 60px;
}

header {
	left: 0;
	position: fixed;
	text-align: center;
	top: 0;
	width: 100%;
}

header > * {
	background: #1f1f1f;
	display: block;
	line-height: 40px;
	margin-top: 6px;
	padding: 0 10px;
}

#site {
	height: 40px;
	left: 10px;
	padding: 0;
	position: absolute;
	top: 0;
}

#site > img {
	display: block;
	left: 2px;
	position: relative;
	top: -6px;
}

#site > span {
	color: #ffbb00;
}

#menu {
	display: inline-block;
	position: relative;
}

#menu > a {
	margin: 20px;
}

#menu > a.active {
	color: #ffbb00;
}

#tags {
	background: #1f1f1f;
	display: none;
	left: 20px;
	line-height: initial;
	position: absolute;
	top: 40px;
}

#tags > a {
	border-top: 1px dashed #4c4c4c;
	display: block;
	padding: 2px 10px;
	text-align: initial;
}

#tags > a:hover {
	background: #ffbb00;
	color: #1f1f1f;
}

#links {
	font-size: 22px;
	height: 39px;
	padding-left: 5px;
	position: absolute;
	right: 5px;
	top: 0;
}

#links a {
	display: inline-block;
	position: relative;
	top: -2px;
	width: 22px;
}

#mailing-list {
	display: inline-block;
	position: relative;
	top: -3px;
}

#mailing-list > * {
	height: 20px;
	vertical-align: middle;
}

#mailing-list .text {
	font-size: 12px;
}

#mailing-list input {
	border-radius: 8px 0 0 8px;
	display: inline-block;
	font-size: 12px;
	outline: 0;
	padding: 0;
	transition: padding 300ms, width 300ms;
	width: 0;
}

#mailing-list.unfolded input {
	padding: 0 5px;
	width: 200px;
}

#mailing-list button {
	border-radius: 8px;
	background: #fff;
	border: 0;
	height: 20px;
	font-weight: bold;
	line-height: 100%;
	padding: 0 7px 0 2px;
	text-transform: uppercase;
	transition: background 300ms;
}

@keyframes mailing-list-folded {
	from {
		border-radius: 0 8px 8px 0;
	}
	to {
		border-radius: 8px;
	}
}

#mailing-list.folded button {
	animation: mailing-list-folded steps(1, end) 300ms;
}

#mailing-list.unfolded button {
	border-radius: 0 8px 8px 0;
}

#mailing-list.subscribed button {
	background: #bfff47;
}

#mailing-list.error button {
	background: #fd0042;
}

#viewer {
	background: #1f1f1f;
	height: 100%;
	left: 0;
	opacity: 0;
	overflow-x: hidden;
	position: fixed;
	text-align: center;
	top: 100%;
	transition: opacity 0.3s ease-out;
	width: 100%;
}

#viewer.visible {
	opacity: 1;
}

#items {
	bottom: 70px;
	position: absolute;
	top: 40px;
	transition: 0.3s ease-out;
	transition-property: -ms-transform, -o-transform, -webkit-transform, transform;
	white-space: nowrap;
}

.item {
	display: inline-block;
	height: 100%;
	margin: 0 100px;
	position: relative;
}

.item .main {
	opacity: 0.2;
	transition: opacity 0.3s ease-out;
}

.item .main:hover {
	opacity: 0.5;
}

.item.active .main {
	opacity: 1;
}

.item .title, .item .description {
	line-height: 40px;
	position: absolute;
	top: -40px;
}

.item .title {
	color: #fff;
	font-size: 19px;
	left: 0;
}

.item .description {
	color: #8C8C8C;
	font-size: 13px;
	right: 0;
}

.item .content {
	height: 100%;
}

.item .content * {
	max-height: 100%;
}

.item > .purchase {
	background: #1f1f1f;
	border-radius: 5px;
	bottom: 10px;
	left: 10px;
	opacity: 0.5;
	position: absolute;
	transition: opacity 0.3s ease-out;
}

.item > .purchase:hover {
	opacity: 1;
}

.item > .purchase span {
	display: inline-block;
	vertical-align: middle;
}

.item > .purchase .icon {
	font-size: 35px;
}

.item > .purchase > .grid {
	opacity: 0;
	overflow: hidden;
	position: relative;
	text-align: left;
	transition: 0.3s ease-out;
	transition-property: opacity, width;
	width: 0px;
}

.item > .purchase:hover > .grid {
	opacity: 1;
}

.item > .purchase .column {
	margin-right: 7px
}

.item > .purchase .buy {
	font-size: 14px;
	text-transform: capitalize;
}

.item > .purchase .price {
	color: #ffbb00;
	font-size: 22px;
	margin-top: -5px;
}

.item > .purchase img  {
	height: 35px;
	margin-right: 5px;
	vertical-align: middle;
}

#purchase {
	display: none;
	position: relative;
	padding: 10px;
}

#purchase .price {
	color: #ffbb00;
	float: left;
	font-size: 64px;
	line-height: 61px;
	margin-bottom: 40px;
	margin-right: 20px;
}

#purchase .text {
	text-align: initial;
}

#purchase .body {
	margin-bottom: 10px;
	white-space: nowrap;
}

#purchase .buy {
	background: #ffbb00;
	border: 0;
	border-radius: 14px;
	color: #1f1f1f;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	height: 28px;
	outline: none;
	padding: 3px 10px;
	vertical-align: top;
	text-transform: capitalize;
	transition: color 0.3s ease-out;
}

#purchase .buy:hover {
	color: #fff;
}

#purchase .paypal {
	background: #fff;
	border-radius: 14px;
	display: inline-block;
	height: 28px;
	margin-left: 10px;
	padding: 0px 10px;
	vertical-align: top;
}

#purchase .paypal > img {
	border-radius: 5px;
	height: 28px;
}

#nav {
	bottom: 0;
	left: 0;
	position: absolute;
	margin: 10px 0;
	text-align: center;
	width: 100%;
}

#nav > * {
	margin: 5px;
}

#squares {
	height: 23px;
}

.square {
	background: #323232;
	border-radius: 3px;
	display: inline-block;
	height: 16px;
	margin: 0 2px;
	transition: all 0.3s ease-out;
	vertical-align: middle;
	width: 16px;
}

.square:hover, .square.active {
	background: #fbb800;
	height: 20px;
	width: 20px;
}

iframe.share {
	border: none;
	height: 21px;
	overflow: hidden;
	vertical-align: bottom;
	width: 280px;
}

body.share {
	text-align: center;
}

body.share > .widget {
	display: inline;
	margin: 0 5px;
	vertical-align: bottom;
}

#dialog {
	background: rgba(31, 31, 31, 0.9);
	display: none;
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s ease-out;
	width: 100%;
}

#dialog.visible {
	opacity: 1;
}

#dialog > * {
	display: none;
	position: absolute;
	left: 0;
	text-align: center;
	top: 50%;
	width: 100%;
}

#login {
	margin-top: -20px;
}

#login input {
	display: inline;
	text-align: center;
	width: 100px;
}

#thanks-purchase {
	margin-top: -180px;
}

#thanks-purchase > .icon{
	color: #ffbb00;
	font-size: 164px;
}

#thanks-purchase > .thanks{
	font-size: 34px;
	margin-top: -25px;
}
