body {
	font-family: 'Montserrat', sans-serif;
}

.cube__side,
.no-js .cube {
	border: 0.2vw solid #fff;
	outline: 1px solid #fff;
	background: #f0f0f0 url(../img/mandala.png) no-repeat center center;
}

.cube:not(.cube--inactive):nth-child(1) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(1) {
	background-image: url(../img/1.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(2) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(2) {
	background-image: url(../img/2.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(3) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(3) {
	background-image: url(../img/3.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(4) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(4) {
	background-image: url(../img/4.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(6) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(6) {
	background-image: url(../img/6.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(7) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(7) {
	background-image: url(../img/7.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(8) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(8) {
	background-image: url(../img/8.jpg);
	color: #673ab7;
}

.cube:not(.cube--inactive):nth-child(9) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(9) {
	background-image: url(../img/9.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(10) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(10) {
	background-image: url(../img/10.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(15) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(15) {
	background-image: url(../img/15.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(16) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(16) {
	background-image: url(../img/16.jpg);
	color: #009688;
}


.cube:not(.cube--inactive):nth-child(17) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(17) {
	background-image: url(../img/17.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(18) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(18) {
	background-image: url(../img/18.jpg);
	color: #009688;
}


.cube:not(.cube--inactive):nth-child(21) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(21) {
	background-image: url(../img/21.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(22) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(22) {
	background-image: url(../img/22.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(23) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(23) {
	background-image: url(../img/23.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(24) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(24) {
	background-image: url(../img/24.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(25) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(25) {
	background-image: url(../img/25.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(26) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(26) {
	background-image: url(../img/26.jpg);
	color: #009688;
}

.cube:not(.cube--inactive):nth-child(27) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(27) {
	background-image: url(../img/27.jpg);
	color: #009688;
}


.cube:not(.cube--inactive):nth-child(28) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(28) {
	background-image: url(../img/28.jpg);
	color: #ffeb3b;
}

.cube:not(.cube--inactive):nth-child(29) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(29) {
	background-image: url(../img/29.jpg);
	color: #ffeb3b;
}

.cube:not(.cube--inactive):nth-child(30) .cube__side,
.no-js .cube:not(.cube--inactive):nth-child(30) {
	background-image: url(../img/30.jpg);
	color: #673ab7;
}



.cube--inactive .cube__side,
.no-js .cube--inactive {
	background: #cccccc;
}


/* With JS we insert a number span into the cube */

.cube__number,
.no-js .cube::after {
	bottom: auto;
	top: 0.25em;
	left: 0.25em;
	right: auto;
	line-height: 1;
	font-size: 1.3em;
	color: #fff;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 3px 5px rgba(0, 0, 0, 0);
}


@media screen and (max-width: 50.75em) {
	.cube__number,
	.no-js .cube::after {
		font-size: 1em;
	}
}

.js .content__block {
	width: 100%;
	text-align: center;
	left: 0;
	padding: 2em;
}

.js .content__description {
	padding: 0;
	max-width: 30em;
	margin: 2em auto 0.5em;
}

.js .content__meta {
	padding: 0;
}

.content__number {
	color: #fff;
	font-weight: bold;
	line-height: 0.5;
	letter-spacing: -0.175em;
	text-indent: -0.175em;
	font-size: 40vw;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
	font-family: 'Avenir Next', Avenir, 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, sans-serif;
}
