div.clear{
	clear: both;
}

div.divMessage{
	padding: 15px;
	margin-bottom: 20px;
	color: white;
	font-weight: bold;
	text-align: center;
	line-height: 1.3em;
}

div.divMessage_confirm{
	background-color: green;
}

div.divMessage_error{
	background-color: red;
}
















header{
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0px;
	box-shadow: 0px -4px 5px 5px rgba(0,0,0,0.15);
	background-color: #FBFAF8;
	z-index: 3;
}

header div.inner{
	position: relative;
	width: 1200px;
	margin: auto;
	padding: 10px 0px;
}

header div.inner:before{
	content: '';
	width: 390px;
	height: 90px;
	position: absolute;
	top: 0px;
	left: 25px;
	background-image: url(/modules/main/images/header/background.png);
	opacity: 0.3;
	display: none;
}

header.not_logged_in div.inner:before{
	left: 112px;
	display: block;
}

header img.logo{
	position: relative;
	height: 70px;
}

header a.mobile_burger{
	display: none;
	position: absolute;
	top: 23px;
	right: 23px;
	width: 28px;
	height: 24px;
	background-image: url(/modules/main/images/header/burger.png);
	background-size: contain;
	-webkit-tap-highlight-color: transparent;
}

header a.mobile_burger:hover{
	opacity: 0.8;
}

header a.mobile_search{
	display: none;
	position: absolute;
	top: 23px;
	right: 75px;
	width: 24px;
	height: 24px;
	background-image: url(/modules/main/images/header/search.png);
	background-size: contain;
	-webkit-tap-highlight-color: transparent;
}

header a.mobile_search:hover{
	opacity: 0.8;
}

header a.login{
	position: absolute;
	top: 0px;
	right: 15px;
	background-color: #D21142;
	color: white;
	display: block;
	font-weight: bold;
	padding: 9px 25px;
	text-decoration: none;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	font-size: 16px;
}

header a.login:hover{
	background-color: #bc1138;
}

header a.login.menu{
	background-image: url(/modules/main/images/header/nav_arrow_hover.png);
	background-repeat: no-repeat;
	background-position: right 25px center;
	background-size: 10px;
	padding-right: 45px;
}

header div.login_name{
	position: absolute;
	top: 0px;
	right: 0px;
	background-color: #21409A;
	color: white;
	padding: 6px 25px;
	text-decoration: none;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	font-size: 14px;
}

header div.login_name span{
	font-weight: 600;
}

header div.bar{
	height: 5px;
	background-color: #21409A;
	opacity: 0.25;
}

div.fixed_header_gap{
	height: 95px;
}

header input.search{
	position: absolute;
	top: 0px;
	right: 200px;
	font-size: 12px;
	padding: 10px 45px 10px 18px;
	width: 200px;
	background-image: url(/modules/main/images/header/search.png);
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 17px;
	border-radius: 0px 0px 15px 15px;
	font-weight: bold;
}

header.not_logged_in input.search{
	right: 180px;
}

header input.search::-webkit-input-placeholder{
	color: #6E82BD;
}

@media (max-width: 1250px) {
	header div.inner{
		width: 960px;
	}

	header div.inner:before{
		display: none !important;
	}
}

@media (max-width: 999px) {
	header div.inner{
		width: auto;
		padding: 10px;
	}

	div.fixed_header_gap{
		height: 75px;
	}

	header img.logo{
		height: 50px;
	}

	header a.mobile_burger{
		display: block;
	}

	header a.login{
		display: none;
	}

	header div.login_name{
		display: none;
	}

	header input.search{
		display: none;
	}

	header a.mobile_search{
		display: block;
	}
}












ul.sidebar{
	position: fixed;
	right: 0px;
	top: 200px;
	z-index: 3;
	box-shadow: 0px 0px 5px 0px rgba(33,64,154,0.5);
}

ul.sidebar{
	border-radius: 7px 0px 0px 7px;
	background-color: rgba(33,64,154,0.1);
}

ul.sidebar li:first-child img{
	border-radius: 7px 0px 0px 0px;
}

ul.sidebar li:last-child img{
	border-radius: 0px 0px 0px 7px;
}

ul.sidebar a{
	display: block;
	height: 50px;
	opacity: 0.7;
	transition: opacity 0.2s;
}

ul.sidebar a:hover{
	opacity: 1;
}

ul.sidebar a img{
	height: 100%;
}

@media (max-width: 999px) {
	ul.sidebar{
		display: none;
	}
}












header nav{
	position: absolute;
	bottom: 10px;
	right: 0px;
}

header nav > ul > li{
	float: left;
	border-left: 1px solid rgba(33,64,154,0.1);
}

header nav > ul > li:first-child{
	border-left: 0px;
}

header.not_logged_in nav > ul > li:nth-child(2){
	border-left: 0px;
}

header nav > ul > li > a{
	color: #21409A;
	font-weight: 600;
	display: block;
	padding: 8px 18px;
	font-size: 18px;
	text-decoration: none;
}

header nav > ul > li:hover > a{
	background-color: #21409A;
	color: white;
}

header nav > ul > li > a.parent{
	background-image: url(/modules/main/images/header/nav_arrow.png);
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 10px;
	padding-right: 41px;
}

header nav > ul > li:hover > a.parent{
	background-image: url(/modules/main/images/header/nav_arrow_hover.png);
}

header nav > ul > li.members_area > a{
	background-color: #D21142;
	color: white;
}

header nav > ul > li.members_area > a.parent{
	background-image: url(/modules/main/images/header/nav_arrow_hover.png);
}

header nav > ul > li.members_area:hover > a{
	background-color: #bc1138;
}

header nav > ul > li.members_area.login{
	display: none;
}

header nav ul ul{
	display: none;
	position: absolute;
	z-index: 2;
}

header nav > ul > li:last-child ul{
	right: 0px;
	text-align: right;
}

header nav > ul > li:hover > ul{
	display: block;
}

header nav ul ul li{
	position: relative;
}

header nav ul ul a{
	background-color: #D21142;
	color: white;
	display: block;
	padding: 12px 18px;
	font-size: 16px;
	min-width: 140px;
	text-decoration: none;
}

header nav > ul > li > ul > li:hover > a{
	background-color: #21409A;
	color: white;
}

header nav ul ul li:first-child a{
	border-top-right-radius: 7px;
}

header nav ul ul li:last-child > a{
	border-bottom-right-radius: 7px;
	border-bottom-left-radius: 7px;
}

header nav > ul > li:last-child li:first-child a{
	border-top-right-radius: 0px;
	border-top-left-radius: 7px;
}

header nav > ul > li > ul > li > a.parent{
	background-image: url(/modules/main/images/header/nav_right.png);
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 6px;
	padding-right: 37px;
}

header nav ul ul ul{
	left: 100%;
	top: 0px;
}

header nav ul ul li:hover ul{
	display: block;
}

header nav > ul > li > ul > li > ul > li:hover > a{
	background-color: #21409A;
	color: white;
}












div.mobile_menu_blackout{
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100vw;
	height: 100vh;
	background-color: black;
	opacity: 0.7;
	z-index: 3;
}

@media (max-width: 999px) {
	header nav{
		display: none;
		position: fixed;
		top: 0px;
		right: 0px;
		background-color: #21409A;
		min-height: 100vh;
		width: 75vw;
		overflow: auto;
		z-index: 4;
	}

	header nav > ul > li{
		float: none;
		border-left: 0px !important;
		border-bottom: 1px solid #1e3179;
	}

	header nav > ul > li > a{
		color: white;
		padding: 20px;
	}

	header nav > ul > li:hover > a{
		background-color: #1e3179;
	}

	header nav > ul > li > a.parent{
		background-image: url(/modules/main/images/header/nav_arrow_hover.png);
		background-position: right 20px center;
		background-size: 15px;
		padding-right: 43px;
	}

	header nav > ul > li.members_area.login{
		display: block;
	}

	header nav > ul > li:last-child ul{
		right: auto;
		text-align: left;
	}

	header nav ul ul{
		position: relative;
		left: 0px !important;
	}

	header nav ul li:hover ul{
		display: none;
	}

	header nav ul ul li:hover ul{
		display: none;
	}

	header nav ul ul a{
		padding: 15px 20px;
		min-width: none;
		border-radius: 0px !important;
	}

	header nav > ul > li > ul > li > a.parent{
		background-image: url(/modules/main/images/header/nav_arrow_hover.png);
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 12px;
		padding-right: 43px;
	}

	header nav ul ul ul a{
		padding-left: 35px;
	}
}











main{
	position: relative;
	width: 1200px;
	margin: 40px auto 60px;
}

@media (max-width: 1250px) {
	main{
		width: 960px;
	}
}

@media (max-width: 999px) {
	main{
		width: auto;
		margin: 20px 10px 30px;
	}
}













footer{
	background-color: #21409A;
	color: white;
	font-size: 14px;
}

footer div.inner{
	width: 1200px;
	margin: auto;
	padding: 17px 0px;
}

footer div.left{
	float: left;
}

footer div.right{
	float: right;
}

footer a{
	font-weight: 600;
	color: white;
	text-decoration: none;
}

footer a:hover{
	text-decoration: underline;
}

footer ul{
	float: right;
	margin-left: 10px;
}

footer li{
	border-left: 1px solid white;
	float: left;
	padding: 0px 10px;
}

@media (max-width: 1250px) {
	footer div.inner{
		width: 960px;
	}
}

@media (max-width: 999px) {
	footer div.inner{
		width: auto;
		padding: 17px 10px;
		text-align: center;
	}

	footer div.left{
		float: none;
	}

	footer div.right{
		float: none;
		margin-top: 20px;
	}

	footer ul{
		float: none;
		margin-left: 0px;
		margin-top: 10px;
	}

	footer li{
		float: none;
		border: 0px;
		padding: 0px;
		margin-top: 5px;
	}
}













a.report_concern{
	position: fixed;
	bottom: 0px;
	right: 15px;
	display: block;
	background-color: #D21142;
	color: white;
	font-weight: 600;
	font-family: 'Source Sans Pro';
	padding: 9px 23px 9px 48px;
	text-decoration: none;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	font-size: 16px;
	background-image: url(/modules/main/images/layout/concern_icon.png);
	background-repeat: no-repeat;
	background-position: left 15px center;
	background-size: 20px;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.75);
	z-index: 10;
}

a.report_concern:hover{
	background-color: #bc1138;
}

@media (max-width: 999px) {
	a.report_concern{
		right: 5px;
	}
}