/* Common styles for all menus */


.menu__list {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}




.menu__link {
	font-size: 1em;
	font-weight: block;
	display: block;
	padding: 1em;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);

}

.menu__link:hover,
.menu__link:focus {
	outline: none;
}


@-webkit-keyframes 
	51% {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes 
	51% {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes 
	51% {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes 
	51% {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}

	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@-webkit-keyframes 
	51% {
		opacity: 0;
		color: #d94f5c;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	75% {
		opacity: 1;
		-webkit-transform: translate3d(5px, 0, 0);
		transform: translate3d(5px, 0, 0);
	}

	100% {
		opacity: 1;
		color: #d94f5c;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes 
	51% {
		opacity: 0;
		color: #d94f5c;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	75% {
		opacity: 1;
		-webkit-transform: translate3d(5px, 0, 0);
		transform: translate3d(5px, 0, 0);
	}

	100% {
		opacity: 1;
		color: #d94f5c;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}


/* Shylock (by @benhanks040888) */
.menu--shylock .menu__link {
	position: relative;
	margin: 0 1em;
	padding-right: 0;
	padding-left: 0;
	color: #666666;
	-webkit-transition: color 0.4s;
	transition: color 0.4s;
}

.menu--shylock .menu__item--current .menu__link,
.menu--shylock .menu__item--current .menu__link:hover,
.menu--shylock .menu__item--current .menu__link:focus {
	color: #000;
}

.menu--shylock .menu__item--current .menu__link::after,
.menu--shylock .menu__item--current .menu__link::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}

.menu--shylock .menu__item--current .menu__link::before {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.menu--shylock .menu__link:hover,
.menu--shylock .menu__link:focus {
	color: #000;
}

.menu--shylock .menu__link:hover::before,
.menu--shylock .menu__link:focus::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.menu--shylock .menu__link::before,
.menu--shylock .menu__link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: center left;
	transform-origin: center left;
	-webkit-transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
	transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.menu--shylock .menu__link::before {
	background: #3e8dba;
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}

.menu--shylock .menu__link::after {
	background: #3e8dba;
}










/* Shylock (by @benhanks040888) */
.menu--shylock2 .menu__link {
	position: relative;
	margin: 0 1em;
	padding-right: 0;
	padding-left: 0;
	color: #FFFFFF;
	-webkit-transition: color 0.4s;
	transition: color 0.4s;
}

.menu--shylock2 .menu__item--current .menu__link,
.menu--shylock2 .menu__item--current .menu__link:hover,
.menu--shylock2 .menu__item--current .menu__link:focus {
	color: #009c4e;
}

.menu--shylock2 .menu__item--current .menu__link::after,
.menu--shylock2 .menu__item--current .menu__link::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}

.menu--shylock2 .menu__item--current .menu__link::before {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.menu--shylock2 .menu__link:hover,
.menu--shylock2 .menu__link:focus {
	color: #009c4e;
}

.menu--shylock2 .menu__link:hover::before,
.menu--shylock2 .menu__link:focus::before {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

.menu--shylock2 .menu__link::before,
.menu--shylock2 .menu__link::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: center left;
	transform-origin: center left;
	-webkit-transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
	transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.menu--shylock2 .menu__link::before {
	background: #93d50a;
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}

.menu--shylock2 .menu__link::after {
	background: #93d50a;
}











@-webkit-keyframes 
	10% {
		-webkit-transform: scale3d(0.05, 1, 1);
		transform: scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	50% {
		-webkit-transform: translate3d(-95%, 0, 0) scale3d(0.05, 1, 1);
		transform: translate3d(-95%, 0, 0) scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	100% {
		-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	}
}

@keyframes 
	10% {
		-webkit-transform: scale3d(0.05, 1, 1);
		transform: scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	50% {
		-webkit-transform: translate3d(-95%, 0, 0) scale3d(0.05, 1, 1);
		transform: translate3d(-95%, 0, 0) scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	100% {
		-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	}
}

@-webkit-keyframes 
	10% {
		-webkit-transform: scale3d(0.05, 1, 1);
		transform: scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	50% {
		-webkit-transform: translate3d(95%, 0, 0) scale3d(0.05, 1, 1);
		transform: translate3d(95%, 0, 0) scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	100% {
		-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	}
}

@keyframes 
	10% {
		-webkit-transform: scale3d(0.05, 1, 1);
		transform: scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}

	50% {
		-webkit-transform: translate3d(95%, 0, 0) scale3d(0.05, 1, 1);
		transform: translate3d(95%, 0, 0) scale3d(0.05, 1, 1);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}

	100% {
		-webkit-transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
	}
}

@-webkit-keyframes 
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes 
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}


