/*
 * Stick the footer to the bottom
 */

body {
	display: flex;
	height: 100vh;
	flex-direction: column;
}

main {
	flex: 1 0 auto;
}

/* Desktop */

body {
	position: relative;
	overflow-x: hidden;
	transition: all 0.3s ease;
	left: 0;
	display: flex;
}

body.menu-open {
	left: 300px;
	transition: all 0.3s ease;
}

.top-menu {
	display: block;
	height: 80px;
	display: flex;
	flex-direction: row;
	margin: 0;
	padding: 0 140px 0 0;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
}

.top-menu li {
	list-style-type: none;
	margin-left: 20px;
}

.top-menu.menu-open {
	margin-right: 300px;
	transition: all 0.3s ease;
}

header {
	width: 100%;
	position: fixed;
	z-index: 2000;
	background: #ebeeef;
	top: 0;
}

main {
	margin-top: 80px;
}

.search-button {
	width: 50px;
	height: 32px;
	position: relative;
	background: #005785;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	line-height: 0;
}

.search-form {
	position: absolute;
	top: 80px;
	right: 25px;
	padding: 20px;
	background-color: #b6d1de;
	width: 310px;
	display: none;
}

.search-form input[type=text] {
	width: calc(100% - 50px);
	height: 30px;
}

.search-form input[type=text]:focus {
	outline: 1px solid #4c83a0;
	box-shadow: unset;
}

.app-menu {
	display: block;
	width: 80px;
	height: 80px;
	background-color: #ff0000;
	position: fixed;
	top: 0px;
	left: 0px;
	transition: all 0.3s ease;
	cursor: pointer;
	z-index: 600;
}

.app-menu.open {
	left: 300px;
	transition: all 0.3s ease;
}

.app-menu div {
	width: 26px;
	height: 2px;
	background-color: #ffffff;
	left: 26px;
	position: absolute;
	transition: all 0.3s ease;
}

.app-menu div:nth-child(1) {
	top: 28px;
}

.app-menu div:nth-child(2) {
	top: 38px;
}

.app-menu div:nth-child(3) {
	top: 48px;
}

.app-menu.open div:nth-child(1) {
	top: 38px;
	transform: rotate(45deg);
}

.app-menu.open div:nth-child(2) {
	opacity: 0;
}

.app-menu.open div:nth-child(3) {
	top: 38px;
	transform: rotate(135deg);
}

.header-holder {
	width: 100%;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 20px;
	margin-left: 120px;
}

.header-content {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
}

header img {
	width: 200px;
}

header nav {
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	width: 300px;
	display: flex;
	height: 100%;
	left: -300px;
	transition: all 0.3s ease;
	flex-direction: column;
}

header nav.open {
	left: 0;
	transition: all 0.3s ease;
}

.mainmenu {
	list-style-type: none;
	margin: 0;
	justify-content: flex-start;
	left: 0;
	padding: 30px 20px;
	display: block;
	position: relative;
	top: 20px;
	height: 100%;
	z-index: 500;
	padding: 10px;
	overflow: auto;
	padding-bottom: 200px;
	transition: all 0.3s ease;
}

.mainmenu li a {
	color: #fff;
}
.mainmenu li a:active {
	color: #ff0000;
}
.mainmenu li a:visited {
	text-decoration: none;
	padding: 5px 0 20px 10px;
	font-size: 18px;
	font-weight: bold;
	text-transform: none;
	float: left;
	color: #fff;
}
.mainmenu li a.active {
	color: #ff0000;
}
.mainmenu li {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 10px 0 10px 20px;
}

.mainmenu li > ul li {
	padding: 10px 20px;
}

.mainmenu li > ul {
	position: relative;
	display: none;
	background: #ededed;
	padding: 0;
	list-style-type: none;
	margin: 0;
	z-index: 200;
	min-width: 260px;
	position: relative;
	top: 15px;
}

.mainmenu li > ul > li > ul {
	display: none;
	right: 0;
	top: 10px;
	z-index: 300;
}

.mainmenu a {
	display: flex;
	height: 100%;
	align-items: center;
	color: #ffffff;
}

.menu-container {
	height: 100%;
}

.menu-open {
	overflow: hidden;
}

.mainmenu.open {
	left: 0;
}

.mainmenu > li {
	font-size: 20px;
}

.mainmenu li > ul {
	background-color: #000;
}

.mainmenu > li > ul > li {
	font-size: 16px;
}

.mainmenu > li > ul > li > ul > li {
	font-size: 15px;
}

.mainmenu li {

}

.mainmenu > li .desktop-arrow {
	display: none;
}

.mainmenu a.showsub {
	position: absolute;
	bottom: 0;
	width: 40px;
	height: 40px;
	right: 10px;
	top: 8px;
	border: 1px solid white;
	display: flex;
	justify-content: center;
}

.showsub:hover {
	text-decoration: none;
}

.mainmenu > li > ul > li > a.showsub {
	right: 10px;
}

.mainmenu a.showsub i {
	color: #ffffff;
	font-size: 16px;
}

#logo {
	position: relative;
	top: 3px;
}

@media all and (max-width: 960px) {

	.search-form.menu-open {
		left: 300px;
	}

	header {
		height: 54px;
	}

	header img {
		width: 130px;
	}

	.app-menu.open {
		left: 246px;
		background-color: #000;
	}

	.header-holder {
		height: 54px;
		margin-left: 60px;
	}

	.app-menu {
		width: 54px;
		height: 54px;
	}

	.app-menu div {
		left: 14px;
	}

	.app-menu div:nth-child(1) {
		top: 18px;
	}

	.app-menu div:nth-child(2) {
		top: 28px;
	}

	.app-menu div:nth-child(3) {
		top: 38px;
	}

	.app-menu.open div:nth-child(1) {
		top: 28px;
	}

	.app-menu.open div:nth-child(3) {
		top: 28px;
	}

	.top-menu {
		height: 54px;
		width: 160px;
		justify-content: unset;
	}

	.search-form {
		top: 54px;
		left: 0;
		width: 100%;
		padding: 10px 20px;
	}

	main {
		margin-top: 54px;
	}
	.mainmenu {
		top: 40px;
	}

}