@charset "utf-8";




/* INIT */
html {
	background: white;
}
body {
	color: #282828;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1em;
}
p { display: block; line-height: 1.8em; margin: 15px 0px 0px 0px; }
p:first-child { margin: 0px 0px 0px 0px; }
div { position: relative; zoom: 1; }
*, *:link, *:visited, *:hover, *:active, *:focus { outline: 0 !important; }




/* BASIC CLASSES */
.leftAlign { text-align: left; }
.rightAlign { text-align: right; }
.centerAlign { text-align: center; }
.leftFloat { float: left; }
.rightFloat { float: right; }
.hidden { display: none; }
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; font-size: 0px; line-height: 0px; }
.clearLeft { clear: left; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; font-size: 0px; line-height: 0px; }
.clearRight { clear: right; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; font-size: 0px; line-height: 0px; }
.division {
	display: block;
	height: 1px;
	background: black;
	margin: 30px 0px;
}




/* CLEARFIX */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
 }
.clearfix { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */




/* COLUMN SYSTEM */
.row {
	position: relative;
	display: block;
	box-sizing: border-box;
	clear: both;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.row:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.row .divisionMiddle {
	position: absolute;
	left: 50%;
	top: 0;
	width: 1px;
	height: 100%;
	font-size: 0;
	line-height: 0;
	background-color: #d0d0d0;
}

.col10  { position: relative; display: block; width: 10%; }
.col15  { position: relative; display: block; width: 15%; }
.col16  { position: relative; display: block; width: 16.6666%; }
.col20  { position: relative; display: block; width: 20%; }
.col25  { position: relative; display: block; width: 25%; }
.col30  { position: relative; display: block; width: 30%; }
.col33  { position: relative; display: block; width: 33.3333%; }
.col35  { position: relative; display: block; width: 35%; }
.col40  { position: relative; display: block; width: 40%; }
.col45  { position: relative; display: block; width: 45%; }
.col49  { position: relative; display: block; width: 49%; }
.col50  { position: relative; display: block; width: 50%; }
.col55  { position: relative; display: block; width: 55%; }
.col60  { position: relative; display: block; width: 60%; }
.col65  { position: relative; display: block; width: 65%; }
.col66  { position: relative; display: block; width: 66.6666%; }
.col70  { position: relative; display: block; width: 70%; }
.col75  { position: relative; display: block; width: 75%; }
.col80  { position: relative; display: block; width: 80%; }
.col85  { position: relative; display: block; width: 85%; }
.col90  { position: relative; display: block; width: 90%; }
.col95  { position: relative; display: block; width: 95%; }
.col100 { position: relative; display: block; width: 100%; }

.colCenter { margin-left: auto; margin-right: auto; }
.colLeft { float: left; box-sizing: border-box }
.colRight { float: right; box-sizing: border-box }




/* TEXT */
.size10	{ font-size: 10px; }
.size11	{ font-size: 11px; }
.size12	{ font-size: 12px; }
.size14 { font-size: 14px; }
.size16 { font-size: 16px; }
.size18 { font-size: 18px; }
.size20 { font-size: 20px; }
.size24 { font-size: 24px; }
.size28 { font-size: 28px; }
.size07rem { font-size: 0.7rem !important; line-height: 1.4em; }
.size08rem { font-size: 0.8rem !important; line-height: 1.4em; }
.size09rem { font-size: 0.9rem !important; line-height: 1.4em; }
.size1rem  { font-size: 1rem !important; line-height: 1.4em; }
.size12rem { font-size: 1.2rem !important; line-height: 1.4em; }
.size14rem { font-size: 1.4rem !important; line-height: 1.4em; }
.size16rem { font-size: 1.6rem !important; line-height: 1.4em; }
.size18rem { font-size: 1.8rem !important; line-height: 1.4em; }
.size20rem { font-size: 2rem !important; line-height: 1.4em; }
.size22rem { font-size: 2.2rem !important; line-height: 1.4em; }
.size24rem { font-size: 2.4rem !important; line-height: 1.4em; }
.size26rem { font-size: 2.6rem !important; line-height: 1.4em; }
.size28rem { font-size: 2.8rem !important; line-height: 1.4em; }
.size30rem { font-size: 3rem !important; line-height: 1.4em; }

h1, .titleLevel1 {
	display: block;
	margin: 0 0 20px 0;
	padding: 0;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 26px;
	line-height: 1.6em;
	color: #163b4e;
}

.titleLevel1 + .titleLevel2 {
	margin-top: -20px;
}

.titleLevel2 {
	display: block;
	margin: 0 0 20px 0;
	padding: 0;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	color: #487995;
}

.titleLevel3 {
	display: block;
	margin: 0 0 20px 0;
	padding: 0;
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: 20px;
	line-height: 1.4em;
	color: #163b4e;
}




/* PADDINGS */
.tp0 { padding-top: 0px !important; }
.rp0 { padding-right: 0px !important; }
.bp0 { padding-bottom: 0px !important; }
.lp0 { padding-left: 0px !important; }
.ap5 { padding: 5px !important; }
.tp5 { padding-top: 5px !important; }
.rp5 { padding-right: 5px !important; }
.bp5 { padding-bottom: 5px !important; }
.lp5 { padding-left: 5px !important; }
.ap10 { padding: 10px !important; }
.tp10 { padding-top: 10px !important; }
.rp10 { padding-right: 10px !important; }
.bp10 { padding-bottom: 10px !important; }
.lp10 { padding-left: 10px !important; }
.ap15 { padding: 15px !important; }
.tp15 { padding-top: 15px !important; }
.rp15 { padding-right: 15px !important; }
.bp15 { padding-bottom: 15px !important; }
.lp15 { padding-left: 15px !important; }
.ap20 { padding: 20px !important; }
.tp20 { padding-top: 20px !important; }
.rp20 { padding-right: 20px !important; }
.bp20 { padding-bottom: 20px !important; }
.lp20 { padding-left: 20px !important; }




/* MARGINS */
.am0 { margin: 0px !important; }
.tm0 { margin-top: 0px !important; }
.rm0 { margin-right: 0px !important; }
.bm0 { margin-bottom: 0px !important; }
.lm0 { margin-left: 0px !important; }
.am5 { margin: 5px !important; }
.tm5 { margin-top: 5px !important; }
.rm5 { margin-right: 5px !important; }
.bm5 { margin-bottom: 5px !important; }
.lm5 { margin-left: 5px !important; }
.am10 { margin: 10px !important; }
.tm10 { margin-top: 10px !important; }
.rm10 { margin-right: 10px !important; }
.bm10 { margin-bottom: 10px !important; }
.lm10 { margin-left: 10px !important; }
.am15 { margin: 15px !important; }
.tm15 { margin-top: 15px !important; }
.rm15 { margin-right: 15px !important; }
.bm15 { margin-bottom: 15px !important; }
.lm15 { margin-left: 15px !important; }
.am20 { margin: 20px !important; }
.tm20 { margin-top: 20px !important; }
.rm20 { margin-right: 20px !important; }
.bm20 { margin-bottom: 20px !important; }
.lm20 { margin-left: 20px !important; }
.tm40 { margin-top: 40px !important; }
.rm40 { margin-right: 40px !important; }
.bm40 { margin-bottom: 40px !important; }
.lm40 { margin-left: 40px !important; }




/* FORMS */
form {
	display: block;
}

form ul {
	display: block;
	margin: 0;
	padding: 0;
}

form ul li {
	display: block;
	margin: 0 0 5px 0;
	padding: 0;
}

input[type=text], input[type=password], input[type=email], textarea, select {
	box-sizing: border-box;
	display: block;
	margin: 0 0 8px 0;
	padding: 10px;
	width: 100%;
	font-size: 16px;
	color: #163b4e;
	border: 1px solid transparent;
	background: #8b98a1;
	font-family: Arial, Helvetica, sans-serif;
	outline: none;
}

input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, textarea:focus, select:focus {
	outline: none;
	border: 1px dotted #08428c;
}

.formInputError {
	border-left: 1px solid #b30808;
}

input[type=submit], input[type=button], button {
	border: none;
}

input[type=submit]:hover, input[type=button]:hover, button:hover {
	cursor: hand;
	cursor: pointer;
}

::-webkit-input-placeholder { /* WebKit browsers */
	color: #d8d8d8;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: #d8d8d8;
	opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: #d8d8d8;
	opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: #d8d8d8;
}




/* CUSTOM CHECKLIST */
.customChecklist {
	display: block;
	margin: 0 -30px 0 0;
	padding: 0;
	list-style: none;
}

.customChecklist li {
	position: relative;
	display: inline-block;
	margin: 0 25px 20px 0;
	vertical-align: top;
}

.customChecklist li span {
	display: inline-block;
  margin: 0 0 0 25px;
  font-size: 0.95rem;
  line-height: 1em;
  color: #626262;
}




/* CUSTOM CHECKLIST - INPUT CHECKBOX */
.customChecklist li input[type=checkbox] + label {
	margin: 0 0 0 23px !important;
	font-size: 16px !important;
	line-height: 1em !important;
	font-weight: 600 !important;
	cursor: pointer;
  vertical-align: middle;
}

.customChecklist li input[type=checkbox] + label::before {
	content: '';
	position: absolute;
	top: 2px;
  left: 0;
  width: 17px;
  height: 17px;
  cursor: pointer;
  background: #8b98a1;
  border-radius: 2px;
}

.customChecklist li input[type=checkbox] + label::after {
	content: '';
  width: 6px;
  height: 3px;
  position: absolute;
  top: 6px;
  left: 4px;
  border: 3px solid #163b4e;
  border-top: none;
  border-right: none;
  background: transparent;
  opacity: 0;
  transform: rotate(-45deg);
}

.customChecklist li input[type=checkbox] {
	display: none !important;
	visibility: hidden;
}

.customChecklist li input[type=checkbox]:checked + label::after {
	opacity: 1;
}




/* CUSTOM CHECKLIST - INPUT RADIO */
.customChecklist li input[type=radio] + label {
	cursor: pointer;
	vertical-align: top;
}

.customChecklist li input[type=radio] + label::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 0;
	width: 12px;
	height: 12px;
	cursor: pointer;
	border: 1px solid #4d4d4e;
	background: #f5f5f5;
}

.customChecklist li input[type=radio] + label::after {
	content: '';
  width: 12px;
  height: 12px;
  position: absolute;
  top: 4px;
  left: 1px;
  background: #4d4d4e;
  opacity: 0;
}

.customChecklist li input[type=radio] {
	visibility: hidden;
}

.customChecklist li input[type=radio]:checked + label::after {
	opacity: 1;
}