/* General link styles */
.link {
	outline: none;
	text-decoration: none;
	position: relative;
	font-size: 8em;
	line-height: 1;
	color: #9e9ba4;
	display: inline-block;
}

/* Takiri */
.link--takiri {
	font-size: 9em;
	padding: 0 10px 20px;
	-webkit-transition: color 0.5s;
	transition: color 0.5s;
}

.link--takiri:hover {
	color: #1e1a1b;
}

.link--takiri::before {
	content: '';
	position: absolute;
	height: 36px;
	width: 120%;
	top: 50%;
	margin-top: -18px;
	left: -10%;
	z-index: -1;
	background: #facd19;
	-webkit-transform: rotate3d(0,0,1,45deg) scale3d(0,1,1);
	transform: rotate3d(0,0,1,45deg) scale3d(0,1,1);
	-webkit-transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
}

.link--takiri:hover::before {
	-webkit-transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
	transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
}

.link--takiri span {
	font-size: 20%;
	font-weight: 400;
	position: absolute;
	right: 15px;
	color: #fff;
	bottom: 0;
	opacity: 0;
	-webkit-transform: translate3d(-10px,-10px,0);
	transform: translate3d(-10px,-10px,0);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;
}

.link--takiri:hover span {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}


/* Nukun */
.link--nukun {
	color: #fff  !important;
	font-weight: 900;
	text-transform: uppercase;
	overflow: hidden;
	padding: 10px 0;
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
}

.link--nukun:hover {
	color: #1e1a1b !important; 
}

.link--nukun::before,
.link--nukun::after {
	content: '';
	position: absolute;
	width: 30%;
	height: 5px;
	background: #E3E8DC !important;
	bottom: 0;
	left: 35%;
	-webkit-transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	-webkit-transition-timing-function: cubic-bezier(0.2,1,0.3,1);
	transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.link--nukun::after {
	background: #ACD07A !important;
	-webkit-transform: translate3d(-300%,0,0) scale3d(0,1,1);
	transform: translate3d(-300%,0,0) scale3d(0,1,1);
}

.link--nukun:hover::before {
	-webkit-transform: translate3d(300%,0,0) scale3d(0,1,1);
	transform: translate3d(300%,0,0) scale3d(0,1,1);
}

.link--nukun:hover::after {
	-webkit-transform: translate3d(0,0,0) scale3d(1,1,1);
	transform: translate3d(0,0,0) scale3d(1,1,1);
}

.link--nukun span {
	color: #000 !important;
	display: inline-block;
	position: relative;
	-webkit-transform: perspective(1000px) rotate3d(0,1,0,0deg);
	transform: perspective(1000px) rotate3d(0,1,0,0deg);
	-webkit-transition: -webkit-transform 0.5s, color 0.5s;
	transition: transform 0.5s, color 0.5s;
	-webkit-transition-timing-function: cubic-bezier(0.2,1,0.3,1);
	transition-timing-function: cubic-bezier(0.2,1,0.3,1);
}

.link--nukun:hover span {
	color: #fff !important;
	-webkit-transform: perspective(1000px) rotate3d(0,1,0,180deg);
	transform: perspective(1000px) rotate3d(0,1,0,180deg);
}

/* Ilin */
.link--ilin {
	font-weight: 900;
	text-transform: uppercase;
	line-height: 0.8;
	overflow: hidden;
	color: #adaa88;
}

.link--ilin span {	
	position: relative;
	display: inline-block;
	-webkit-transition: color 0.5s;
	transition: color 0.5s;
}

.link--ilin:hover span:first-of-type {
	color: #fff;
}

.link--ilin:hover span:last-of-type {
	color: #1e1a1b;
}

.link--ilin span::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: #fff;
	line-height: 0.8;
	-webkit-transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
}

.link--ilin span:last-of-type::before {
	background: #1e1a1b;
}

.link--ilin:hover span:last-of-type::before,
.link--ilin span:first-of-type::before {
	-webkit-transform: translate3d(0,-150%,0);
	transform: translate3d(0,-150%,0);
}

.link--ilin:hover span:first-of-type::before,
.link--ilin span:last-of-type::before {
	-webkit-transform: translate3d(0,150%,0);
	transform: translate3d(0,150%,0);
}

/* Yaku */
.link--yaku {
	color: #D3D3D3;
	font-family: 'Playfair Display';
	font-weight: 400;
	text-transform: uppercase;
	font-size: 10em;
	overflow: hidden;
	padding: 0 0 10px;
}
.link--yaku::before {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	border-width: 2px 0;
	border-color: #fff;
	border-style: solid;
	left: 0;
	-webkit-transform: translate3d(-101%,0,0);
	transform: translate3d(-101%,0,0);
	-webkit-transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
}

.link--yaku:hover::before {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

.link--yaku span {
	color:#333;
	display: inline-block;
	position: relative;
	-webkit-transform: perspective(1000px) rotate3d(0,1,0,0deg);
	transform: perspective(1000px) rotate3d(0,1,0,0deg);
	-webkit-transition: -webkit-transform 0.5s, color 0.5s;
	transition: transform 0.5s, color 0.5s;
}

.link--yaku:hover span {
	color: #fff;
	-webkit-transform: perspective(1000px) rotate3d(0,1,0,360deg);
	transform: perspective(1000px) rotate3d(0,1,0,360deg);
}

.link--yaku span:nth-child(4),
.link--yaku:hover span:first-child {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.link--yaku span:nth-child(3),
.link--yaku:hover span:nth-child(2) {
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}

.link--yaku span:nth-child(2),
.link--yaku:hover span:nth-child(3) {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}

.link--yaku span:first-child,
.link--yaku:hover span:nth-child(4) {
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}

/* Media Queries */
@media screen and (max-width: 50em) {
	.link--surinami { font-size: 3em; }
}

@media screen and (max-width: 42em) {
	.link--takiri { font-size: 3.5em; }
	.link--kukuri { font-size: 3.5em; }
	.link--nukun { font-size: 3.5em; }
	.link--kumya { font-size: 3em; }
	.link--manko { font-size: 3.5em; }
	.link--urpi { font-size: 5em; }
	.link--mallki { font-size: 3.5em; }
	.link--ilin { font-size: 5em; }
	.link--asiri { -webkit-transform: scale3d(0.65,0.65,1); transform: scale3d(0.65,0.65,1); }
	.link--yaku { font-size: 4em; }
}