/*===========================================
	FONTS
===========================================*/
@font-face {
	font-family: 'MasterLightFont';
	src: url('/man-fonts/OpenSans-Light.ttf') format('truetype');
	font-weight: 700;
}
@font-face {
	font-family: 'MasterRegularFont';
	src: url('/man-fonts/OpenSans-Regular.ttf') format('truetype');
	font-weight: 400;
}
@font-face {
	font-family: 'MasterBoldFont';
	src: url('/man-fonts/OpenSans-Bold.ttf') format('truetype');
	font-weight: 400;
}

@font-face {
	font-family: 'Font-Awesome';
		src: url('/man-plugins/FontAwesomePro5.8.2/webfonts/fa-regular-400.ttf') format('truetype');
}

/*===========================================
	STANDARD ELEMENTS
===========================================*/
* {
	margin: 0; 
	padding: 0;
}

body {
	font-family: 'MasterRegularFont', Arial, sans-serif;
    font-weight: 400;
    text-transform: none;
	color: #333;
	background-color: #FFF;
	padding: 0;
	margin: 0;
    font-size: 16px;
    line-height: 28px;	
}

html, body {
	height: 100%;
}

img {
	max-width: 100%;
	height: auto;
}

p {
	text-align: left;
    padding-bottom: 20px;	
}
	p:last-child {
		padding-bottom: 0;	
	}

ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}

div {
	outline: none;
}

a:link, a:active, a:visited {
	text-decoration: none;
	transition: color 0.3s linear;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
}
	a:hover {
		text-decoration: none;
	}


/*===========================================
	HEADERS
===========================================*/
h1, h2, h3, h4, h5, h6 {
    padding-bottom: 10px;
    font-weight: 500;
	margin: 0;
	padding: 0;
}

/*===========================================
	FORMS
===========================================*/
label {
	color: #4A4A4A;
	display: block;
	font-weight: bold;
	text-align: left;
	width: 100%;
	font-size: 0.8em;
}
	
input, textarea, select {
	font-family: 'MasterRegularFont';
	width: 100%;
	padding: 6px 6px;
	margin: 2px 0 5px 0;
	min-height: 35px;
	box-sizing: border-box;
	border: 1px solid #DEDEDE;
}
	select {
		padding: 3px 2px;
	}
	input:focus, textarea:focus , select:focus {
		border-color: #CCC;
		outline: 0;
	}
	
	input.ValidateError, textarea.ValidateError, select.ValidateError {
		border: 1px solid red;
		background: #f8cfcf;
	}


/*===========================================
	ORGANISED LISTS
===========================================*/
ol.NumberListItem {
    padding-left: 10px;
    list-style-position: outside;
    padding-bottom: 20px;
}
	ol.NumberListItem li {
		margin-left: 20px;
		list-style: decimal;
		line-height: 1.4em;
		padding-bottom: 10px;
	}


/*===========================================
	CLEAR FIXES
===========================================*/
.ClearFix:before, .ClearFix:after {content: ""; display: table;}
.ClearFix:after {clear: both;}
.ClearFix {*zoom: 1;}


/*===========================================
	TEXT STYLES
===========================================*/
.TextLeft {text-align: left;}
.TextCenter {text-align: center;}
.TextRight {text-align: right;}
.TextJustify {text-align: justify;}
.Uppercase {text-transform: uppercase;}
.TextStrong {font-weight: bold;}


/*===========================================
	MARGINS
===========================================*/
.Padding_200 {padding: 200px 0;}
.PaddingTopBottom_10 {padding: 10px 0;}
.Padding_50 {padding: 50px;}
.PaddingTopBottom_20 {padding: 20px 0;}
.PaddingTopBottom_50 {padding: 50px 0;}
.PaddingTopBottom_100 {padding: 100px 0;}


/*===========================================
	DISPLAY CONATINERS
===========================================*/
.HideContainer {
	display: none;
}

/*===========================================
	FRAME HOLDER CONTAINERS
===========================================*/
.FullWidthContainer {
	position: relative;
	max-width: 100%;
}
.CenterMaxContainer {
	position: relative;
	margin: 0 auto;
	max-width: calc(100% - 40px);
	margin: 0 20px;
}
.CenterContainer {
	position: relative;
	margin: 0 auto;
	max-width: 1176px;
	padding: 0 10px;
}

.ContentContainer_VMiddle {
	margin: auto;
	display: flex;
	justify-content: center;
	flex-direction: column;			
	height: 100%;
	text-align: left;
	width: 100%;
}
	.ContentContainer_VMiddle.CenterContent {
		align-items: center;
	}
	

/*===========================================
	FLEX CONTAINERS
===========================================*/
.FlexContainer {
	display: flex;
	flex-wrap: wrap;
}	
	
	/*	HALFS 	*/
	.FlexContainer .OneHalf_FlexItem {
		width: 50%;
	}
	
	.FlexContainer .OneHalfMargin_FlexItem {
		width: 49%;
		margin-right: 2%;
	}
		.FlexContainer .OneHalfMargin_FlexItem:nth-child(2n), 
		.FlexContainer .OneHalfMargin_FlexItem:last-child {
			margin-right: 0%;
		}

	
	/*	THIRDS 	*/	
	.FlexContainer .OneThird_FlexItem {
		width: 33.33%;
	}
		.FlexContainer .OneThird_FlexItem:nth-child(3n),
		.FlexContainer .OneThird_FlexItem:last-child {
			width: 33.34%;
		}
	
	.FlexContainer .OneThirdMargin_FlexItem {
		width: 32.66%;
		margin: 0 1% 10px 0;
	}
		.FlexContainer .OneThirdMargin_FlexItem:nth-child(3n),
		.FlexContainer .OneThirdMargin_FlexItem:last-child {
			width: 32.68%;
			margin: 0 0 10px 0;
		}
		
	/*	QUARTERS 	*/
	.FlexContainer .OneQuarter_FlexItem {
		flex-basis: 25%;
	}
	
	.FlexContainer .OneQuarterMargin_FlexItem {
		flex-basis: 24.25%;
		margin: 0 1% 10px 0;
	}
		.FlexContainer .OneQuarterMargin_FlexItem:nth-child(4n),
		.FlexContainer .OneQuarterMargin_FlexItem:last-child {
			margin: 0 0 10px 0;
		}
		
		
	/*	FIFTHS 	*/
	.FlexContainer .OneFifthNoMargin_FlexItem {
		width: 20%;
		margin: 0;
	}
		.FlexContainer .OneFifthNoMargin_FlexItem:nth-child(5n),
		.FlexContainer .OneFifthNoMargin_FlexItem:last-child {
			margin: 0 0 10px 0;
		}
		
		
	/*	FIFTHS 	*/
	.FlexContainer .OneSixthMargin_FlexItem {
		width: 15.83%;
		margin: 0 1% 0 0;
	}
		.FlexContainer .OneSixthMargin_FlexItem:nth-child(6n),
		.FlexContainer .OneSixthMargin_FlexItem:last-child {
			margin: 0;
		}


/*===========================================
	LOGIN PAGE
===========================================*/
.LoginPage {
	width: 100%;
	height: 100%;
	background-color: #F1F1F1;
}
	.LoginPage .LoginContainer {
		width: 360px;
		border: 1px solid #DEDEDE;
		background: #FFF;
		padding: 20px;
	}
		.LoginPage .LoginContainer .FullLogo {
			display: block;
			text-align: center;
			padding-bottom: 20px
		}
			.LoginPage .LoginContainer .FullLogo img {
				max-width: 200px;
			}
			
		
		.LoginPage .LoginContainer h1 {
			font-family: MasterBoldFont;
			font-size: 1em;
			text-align: center;
			padding: 10px 0;
		}	
			
		.LoginPage .LoginContainer .LoginResponse {
			background: #a7cefd;
			padding: 10px;
			border-left: 5px solid #153357;
			margin-bottom: 10px;
			font-size: 0.8em;
			line-height: 1.4em;
		}
		
		.LoginPage .LoginContainer .LoginButtonControl {
			margin-top: 20px;
		}
			.LoginPage .LoginContainer .LoginButtonControl a {
				float: left;
				display: block;
				width: calc(75% - 10px);
				margin-right: 10px;
				padding: 6px 0;
				background: #153357;
				color: #FFF;
				text-align: center;
				font-size: 0.8em;
			}
				.LoginPage .LoginContainer .LoginButtonControl a:nth-child(2) {
					display: block;
					width: 25%;
					margin-right: 0;
					background: #666;
				}
				
			.LoginPage .LoginContainer .LoginButtonControl a:hover {
				background: #112945;
			}
			.LoginPage .LoginContainer .LoginButtonControl a:hover:nth-child(2) {
				background: #555;
			}


/*===========================================
	CAPTCHA
===========================================*/
.CaptchaContainer {
	margin-top: 10px;
	background: #FFF;
	border: 1px solid #DEDEDE;
	margin-bottom: 20px;
	padding: 10px;
}
	
	.CaptchaContainer .CaptchaError {
		text-align: center;
		color: #FF0000;
		font-size: 0.8em;
	}
	
	.CaptchaContainer .CaptchaFlexHolder {
		display: flex;
		flex-wrap: wrap;
	}	
		.CaptchaContainer .CaptchaContent {
			width: calc(100% - 130px);
			padding: 5px 10px;
			margin-right: 10px;
			background: #FFF;
			font-size: 0.8em;
			cursor: pointer;
		}
			.CaptchaContainer .CaptchaContent .CaptchaSquare {
				font-size: 1.5em;
				margin-right: 10px;
			}
			.CaptchaContainer .CaptchaContent .CaptchaText {
			}
		
		.CaptchaContainer .CaptchaLogo {
			width: 80px;
			padding: 5px 10px;
			background: #FFF;
		}
			.CaptchaContainer .CaptchaLogo img {
				width: 20px;
			}

.CaptchaContainer .CaptchaImageContainer {
	text-align: center;
}
	.CaptchaContainer .CaptchaImageContainer .CaptchaImage {
		padding: 10px 0;
	}
	.CaptchaContainer .CaptchaImageContainer .CaptchaImageRefresh {
		padding-top: 10px;
		text-align: center;
	}
		.CaptchaContainer .CaptchaImageContainer .CaptchaImageRefresh span {
			font-size: 0.7em;
			padding: 3px 8px;
			color: #FFFFFF;
			background: #139ad5;
			cursor: pointer;
		}
	.CaptchaContainer .CaptchaImageContainer .CaptchaImageInput label {
		color: #000;
		text-align: center;
	}
	.CaptchaContainer .CaptchaImageContainer .CaptchaImageInput input {
		text-align: center;
		padding: 0 10px;
	}

