/*
 * #Responsive multi-level drop-down menu
 */

/*! Based on http://www.myblogger-tricks.com/2013/11/how-to-create-multi-level-responsive.html */

/*
 * Toggle button
 */

input#responsive_menu {
	display: none;
}

/*
 * Navigation menu list
 */
.menu {
	position: relative;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: 400;
	font-size: 1.25rem;
}

/*
 * Reset Links
 */

.menu a,
.menu a:link,
.menu a:visited,
.menu a:focus {
	position: relative;
	color: #393a3c;
	text-decoration: none;
	line-height: 1.125;
}

.menu a:hover {
	color: #00adef;
	text-decoration: none;
}

.menu a.selected {
	color: #00adef;
}

.menu a.nolink {
	pointer-events: none;
}

/*
 * First level has children
 */
.menu > li.has__children > a:first-child {
	padding-right: 12px;
}

.menu > li.has__children > a:first-child::after {
	position: absolute;
	top: 14px;
	right: 0;
	content: "\f107";
	color: #d3d3d3;
	font-family: 'FontAwesome', sans-serif;
	font-size: 0.75em;
}

/*
 * Main navigation element
 */

.menu > li {
	position: relative;
	display: inline-block;
	text-align: center;
}

.menu > li,
.menu > li > ul li {
	margin: 0;
	border: 0;
	padding: 0;
}

/*
 * Link Style
 */

.menu > li > a {
	display: block;
	padding: 10px 10px;
}

.menu > li:hover > a {
	color: #00adef;
}

.menu > li:hover {
	color: #000;
}

.menu > li:first-child {
	box-shadow: none;
}

/*
 * Multilevel dropdown (second level only)
 */

.menu > li > ul {
	position: absolute;
	top: auto;
	left: 0;
	z-index: 99;
	visibility: hidden;
	opacity: 0;
	width: 200px;
	margin: 0;
	border-top: 3px solid #00adef;
	padding: 0;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	list-style: none;
	background: #fff;
	text-align: left;
	-webkit-transform: translate3d(0, 0, 0);
}

/*
 * Multilevel dropdown (second level only display)
 */

.menu > li:hover > ul {
	visibility: visible;
	opacity: 1;
	margin-top: 0;
	-webkit-transform-origin: 0 0;
	-webkit-animation: grow 0.2s ease-in-out;
	animation: grow 0.2s ease-in-out;
	-webkit-backface-visibility: visible;
}

/*
 * Style for dropdown links
 */

.menu li > ul li {
	position: relative;
	display: block;
	padding: 10px;
	word-wrap: break-word;
	font-size: 1rem;
}

.menu > li > ul li:hover {
	background: #fff;
}

.menu ul li:hover > a:hover {
	color: #00adef;
}

/*
 * Third dropdown level(+)
 */

.menu > li > ul li ul {
	position: absolute;
	top: 0;
	right: 200px;
	visibility: hidden;
	opacity: 0;
	width: 200px;
	margin: 0;
	border: 3px solid #00adef;
	padding: 0;
	list-style: none;
	background: #fff;
	text-align: left;
}

.menu > li > ul li ul li:hover {
	background: #fff;
}

.menu > li > ul li ul li ul {
	background: #fff;
}

.menu > li > ul li ul li ul li:hover {
	background: #fff;
}

/*
 * All links from level 2+
 */

.menu li ul li a {
	display: block;
	width: 100%;
	font-size: 0.875em;
}

/*
 * Third level(+) displayed
 */

.menu > li ul li:hover > ul {
	visibility: visible;
	opacity: 1;
	margin-left: 0;
}

.menu ul li:hover:after {
	color: #fff;
}

.menu > li > ul li ul,
.menu li > ul li,
.menu > li > ul,
.menu > li {
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

@media only screen and (max-width: 480px) {

}

@media only screen and (max-width: 960px) {
	/*
	 * Toggle label
	 */
	label.responsive_menu {
		display: block;
		position: relative;
		padding: 15px 0;
		cursor: pointer;
	}

	label.responsive_menu:after {
		color: #d3d3d3;
		content: "\f0c9";
		font-family: 'FontAwesome', sans-serif;
		font-size: 32px;
	}

	/*
	 * Toggle button
	 */
	input#responsive_menu:checked + nav .menu {
		display: block;
		border-bottom: 1px solid #eee;
		box-shadow: 0 0.25rem 0.875rem 0 rgba(220, 220, 220, 0.45);
	}

	.menu {
		display: none;
		padding: 0;
	}

	/*
	 * First level has children
	 */
	.menu > li.has__children > a:first-child {
		padding-right: 24px;
	}

	.menu > li.has__children > a:first-child::after {
		top: 5px;
		right: 5px;
		font-size: 24px;
	}

	/*
	 * Main navigation element
	 */
	/*
	 * All levels
	 */
	.menu li {
		width: 100%;
		display: block;
		text-align: left;
		margin-left: 0;
	}

	/*
	 * First level
	 */
	.menu > li {
		position: relative;
		padding: 0;
		margin: 0;
	}

	/*
	 * Link styles
	 */
	.menu li a,
	.menu li li a,
	.menu li li li a {
		display: block;
		padding: 7px 15px;
	}

	.menu a.nolink {
		pointer-events: initial;
	}

	/*
	 * Multilevel dropdown (second level only)
	 */
	.menu li ul {
		margin: 0;
		padding: 0;
	}

	.menu li ul li a {
		font-size: 1.25rem;
	}

	/*
	 * Multilevel dropdown (second level only)
	 */
	.menu > li > ul {
		position: relative;
		border: 0;
		top: auto;
		display: none;
		width: 100%;
	}

	.menu > li:hover > ul {
		display: block;
		visibility: visible;
		opacity: 1;
		margin-top: 0;
	}

	.menu li > ul li {
		padding: 0;
	}

	/*
	 * Third dropdown level(+)
	 */
	.menu > li > ul li ul {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		display: none;
		width: 100%;
		margin: 0;
		border: 0;
	}

	.menu > li ul li:hover > ul {
		display: block;
		visibility: visible;
		opacity: 1;
		margin-left: 0;
	}

	.menu > li > ul li {
		padding-left: 2.5%;
	}

	.menu > li > ul li ul li {
		padding-left: 5%;
	}

	.menu > li > ul li ul li ul li {
		padding-left: 7.5%;
	}

	/*
	 * Disable animation
	 */
	.menu > li > ul li ul,
	.menu li > ul li,
	.menu > li > ul,
	.menu > li {
		-webkit-transition: none;
		transition: none;
	}
}
