
@font-face {
  font-family: 'OpenSans';
  font-weight: 300;
  font-style: normal;
  src: url('opensans/OpenSans-Light.eot'); /* IE9 Compat Modes */
  src: url('opensans/OpenSans-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('opensans/OpenSans-Light.woff') format('woff'), /* Modern Browsers */
       url('opensans/OpenSans-Light.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 300;
  font-style: italic;
  src: url('opensans/OpenSans-LightItalic.eot'); /* IE9 Compat Modes */
  src: url('opensans/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('opensans/OpenSans-LightItalic.woff') format('woff'), /* Modern Browsers */
       url('opensans/OpenSans-LightItalic.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
  font-family: 'OpenSans';
  font-weight: normal;
  font-style: normal;
  src: url('opensans/OpenSans-Regular.eot'); /* IE9 Compat Modes */
  src: url('opensans/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('opensans/OpenSans-Regular.woff') format('woff'), /* Modern Browsers */
       url('opensans/OpenSans-Regular.ttf')  format('truetype'); /* Safari, Android, iOS */
}

@font-face {
  font-family: 'OpenSans';
  font-weight: normal;
  font-style: italic;
  src: url('opensans/OpenSans-Italic.eot');
  src: url('opensans/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-Italic.woff') format('woff'),
       url('opensans/OpenSans-Italic.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 600;
  font-style: normal;
  src: url('opensans/OpenSans-Semibold.eot');
  src: url('opensans/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-Semibold.woff') format('woff'),
       url('opensans/OpenSans-Semibold.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 600;
  font-style: italic;
  src: url('opensans/OpenSans-SemiboldItalic.eot');
  src: url('opensans/OpenSans-SemiboldItalic.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-SemiboldItalic.woff') format('woff'),
       url('opensans/OpenSans-SemiboldItalic.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: bold;
  font-style: normal;
  src: url('opensans/OpenSans-Bold.eot');
  src: url('opensans/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-Bold.woff') format('woff'),
       url('opensans/OpenSans-Bold.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: bold;
  font-style: italic;
  src: url('opensans/OpenSans-BoldItalic.eot');
  src: url('opensans/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-BoldItalic.woff') format('woff'),
       url('opensans/OpenSans-BoldItalic.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 900;
  font-style: normal;
  src: url('opensans/OpenSans-ExtraBold.eot');
  src: url('opensans/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-ExtraBold.woff') format('woff'),
       url('opensans/OpenSans-ExtraBold.ttf')  format('truetype');
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 900;
  font-style: italic;
  src: url('opensans/OpenSans-ExtraBoldItalic.eot');
  src: url('opensans/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
       url('opensans/OpenSans-ExtraBoldItalic.woff') format('woff'),
       url('opensans/OpenSans-ExtraBoldItalic.ttf')  format('truetype');
}

@font-face {
  font-family: 'FontAwesome';
  font-weight: normal;
  font-style: normal;
  src: url('awesome/fontawesome-webfont.eot');
  src: url('awesome/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
       url('awesome/fontawesome-webfont.woff2') format('woff2'),
       url('awesome/fontawesome-webfont.woff') format('woff'),
       url('awesome/fontawesome-webfont.ttf')  format('truetype');
}


/* begin styles */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	height: 100%;
	background-color: #fff;
}

body {
	height: 100%;
	font-family: 'OpenSans', Arial, Tahoma, Verdana, sans;
	font-size: 16px;
	color: #444;
}

h1 {
	margin: 1.125rem 0;
}

h2, h3, h4, h5, h6 {
	margin: 0.875rem 0;
}

h1:first-child {
	margin-top: 0;
}

img {
	border: 0;
}

p {
	margin-top: 1rem;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

p:first-child, h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p {
	margin-top: 0;
}

input, select, textarea {
	border: 1px solid #e3e3e3;
	background-color: #fafafa;
	border-radius: 5px;
	padding: 3px 10px;
}

span.input-label.show-label {
	position: relative;
}

span.input-label > label {
	display: none;
}

span.input-label > input[type="text"], span.input-label > input[type="email"], span.input-label > input[type="date"], span.input-label > input[type="phone"], span.input-label > input[type="password"] {
	padding-top: 7.5px;
	padding-bottom: 7.5px;
	line-height: 1.5;
}

span.input-label.show-label > label {
	display: block;
	position: absolute;
	left: 5px;
	top: -10px;
	opacity: 0.6;
	font-size: 0.75rem;
}

span.input-label.show-label > input[type="text"], span.input-label.show-label > input[type="email"], span.input-label.show-label > input[type="date"], span.input-label.show-label > input[type="phone"], span.input-label.show-label > input[type="password"] {
	padding-top: 10px;
	padding-bottom: 5px;
}

.col-group input:first-child, .col-group select:first-child, .col-group textarea:first-child, .col-group > div.col-12 > button:first-child,
.col-group > div.col-f > input, .col-group > div.col-f > select, .col-group > div.col-f > textarea, .col-group > div.col-f > button,
.col-group.full-input input, .col-group.full-input textarea, .col-group.full-input select {
	width: 100%;
}

.col-group input[type="checkbox"]:first-child, .col-group input[type="radio"]:first-child {
	width: auto;
}

.clear-before {
	clear: both;
}

.col-group:after, .clear-after:after {
	display: table;
	clear: left;
	content: '';
}

.col-a, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
	float: left;
}

.col-a.centered, .col-1.centered, .col-2.centered, .col-3.centered,
.col-4.centered, .col-5.centered, .col-6.centered, .col-7.centered,
.col-8.centered, .col-9.centered, .col-10.centered, .col-11.centered,
.col-12.centered {
	float: none;
	margin-left: auto;
	margin-right: auto;
}

.col-group.with-margin {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.col-group.with-padding > div {
	padding-left: 0.875rem;
	padding-right: 0.875rem;
}

.col-group.with-padding > div.col-12 {
	padding-left: 0;
	padding-right: 0;
}

.col-group.with-margin > div {
	margin-bottom: 1.75rem;
}

.col-group.with-padding > div:first-child {
	padding-left: 0;
}
.col-group.with-padding > div:last-child {
	padding-right: 0;
}

.col-1 { width: 8.3333%; }
.col-2 { width: 16.6667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.3333%; }
.col-5 { width: 41.6667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.3333%; }
.col-8 { width: 66.6667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.3333%; }
.col-11 { width: 91.6667%; }
.col-12 { width: 100%; }
.col-a { width: auto; }

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.nowrap {
	white-space: nowrap;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table td, table th {
	vertical-align: middle;
	text-align: left;
	padding: 2px 10px;
}

table tr:nth-child(odd) {
	background-color: #efefef;
}


table td.center, table th.center {
	text-align: center;
}

table td.right, table th.right {
	text-align: right;
}

table.vtop td, table.vtop th {
	vertical-align: top;
}

td.vtop, th.vtop {
	vertical-align: top;
}

td.vmiddle, th.vmiddle {
	vertical-align: middle;
}

ul.error_list, ul.info_list {
	display: block;
	padding: 10px;
	list-style: none;
	border-radius: 10px;
	margin-bottom: 40px;
}

ul.info_list {
	background: #e6ecf0;
}

ul.info_list li {
	padding-left: 15px;
}

ul.error_list {
	background: #ffd2d2;
}

ul.error_list li {
	padding-left: 15px;
	color: #bf0029;
}

/* specific element styles */

#page {
	width: 100%;
	max-width: 990px;
	margin: 0 auto;
	padding: 0 15px 25px;
}

#page-header {

}

#mobile-menu {
	display: none;
	width: 32px;
	height: 32px;
	background-image: linear-gradient(to bottom, #666, #333);
	border-radius: 5px;
}

#mobile-menu:before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRF////////VXz1bAAAAAF0Uk5TAEDm2GYAAAAWSURBVAjXY2AgDNj//3+ARNBOCRYAAFrXGg4yv169AAAAAElFTkSuQmCC");
	background-size: contain;
}

#main-navigation, #main-menu {
	display: block;
}

#main-menu {
	display: block;
	border: solid 1px;
	font-size: 1rem;
	background: linear-gradient(to bottom, #efefef, #bebebe);
}

#main-menu:after {
	clear: both;
	content: '';
	display: table;
}

#main-menu, #main-menu li ul {
	list-style: none;
	list-style-position: outside;
}

#main-menu > li, #main-menu > li > a, #main-menu > li > ul,
#main-menu > li ul > li, #main-menu > li ul > li > a {
	display: block;
}

#main-menu > li {
	position: relative;
	float: left;
	line-height: 2;
	border-left: solid 1px;
}

#main-menu > li:first-child {
	border-left: none;
}

#main-menu > li:hover {
	background: linear-gradient(to bottom, #dfdfdf, #aeaeae);
}

#main-menu > li.menu-item-active {
	background: linear-gradient(to bottom, #9f9f9f, #6e6e6e);
	color: #fff;
}

#main-menu > li > a {
	padding: 0 10px;
}

#main-menu > li a {
	color: inherit;
	text-decoration: none;
}

#main-menu > li > ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
}

#main-menu > li ul {
	background: #fff;
	background: rgba(255, 255, 255, 0.95);
	border: solid 1px;
}

#main-menu > li > ul li {
	position: relative;
	border-top: solid 1px #efefef;
}

#main-menu > li > ul li:first-child {
	border-top: none;
}

#main-menu > li > ul li:hover {
	background: #efefef;
	background: rgba(223, 223, 223, 0.90);
}

#main-menu > li > ul li > a {
	padding: 5px 15px;
	line-height: 1.1;
	white-space: nowrap;
}

#main-menu > li:hover > ul, #main-menu > li.menu-item-active > ul {
	display: block;
}

#main-menu > li > ul li > ul {
	display: none;
}

#main-menu > li > ul li:hover > ul, #main-menu > li ul > li.menu-item-active > ul {
	display: block;
}

#main-menu > li > ul li > ul{
	position: absolute;
	left: 100%;
	top: 0;
}

@media screen and (max-width: 524px) {
	.col-a, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
	.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
		float: none;
		width: auto;
	}
	
	.col-group.with-padding > div {
		padding-left: 0;
		padding-right: 0;
	}
	
	#page {
		border-top: solid 42px #444;
		padding-top: 15px;
	}
	
	#mobile-menu {
		display: block;
		position: absolute;
		top: 5px;
		left: 5px;
		z-index: 2;
	}
	
	#main-menu {
		display: none;
		position: absolute;
		top: 42px;
		left: 0;
		width: 100%;
	}
	
	#main-menu > li {
		position: static;
		display: block;
		float: none;
		border: none;
	}
	
	#main-menu > li > ul {
		position: static;
		display: none;
		float: none;
	}
	
	#main-menu > li:hover > ul, #main-menu > li.menu-item-active > ul,
	#main-menu > li > ul li:hover > ul, #main-menu > li ul > li.menu-item-active > ul {
		display: none;
	}
	
	#main-menu > li > ul li > ul {
		position: static;
	}
	
	table.responsive, table.responsive tbody, table.responsive tr,
	table.responsive th, table.responsive td {
		display: block;
	}
	
	table.responsive thead {
		display: none;
	}
	
	table.responsive td[data-label]:before {
		content: attr(data-label) ': ';
		margin-right: 10px;
		display: inline-block;
	}
}

@media screen and (min-width: 425px) and (max-width: 524px) {
	table.responsive.two-col tr:after {
		clear: both;
		content: '';
		display: table;
	}
	
	table.responsive.two-col th, table.responsive.two-col td {
		display: block;
		float: left;
		width: 50%;
	}
	
	table.responsive.two-col th:nth-child(even):after, table.responsive.two-col td:nth-child(even):after {
		display: table;
		content: '';
		clear: both;
	}
	
	table.responsive.two-col th:nth-child(odd):last-child,
	table.responsive.two-col td:nth-child(odd):last-child {
		width: 100%;
	}
}