@font-face {
	font-family: 'Open Sans';
	src: url('../fonts/opensans-regular-webfont.eot');
	src: url('../fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/opensans-regular-webfont.woff2') format('woff2'), url('../fonts/opensans-regular-webfont.woff') format('woff'), url('../fonts/opensans-regular-webfont.ttf') format('truetype'), url('../fonts/opensans-regular-webfont.svg#open_sansregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Open Sans Extrabold';
	src: url('../fonts/opensans-extrabold-webfont.eot');
	src: url('../fonts/opensans-extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/opensans-extrabold-webfont.woff2') format('woff2'), url('../fonts/opensans-extrabold-webfont.woff') format('woff'), url('../fonts/opensans-extrabold-webfont.ttf') format('truetype'), url('../fonts/opensans-extrabold-webfont.svg#open_sansextrabold') format('svg');
	font-weight: normal;
	font-style: normal;
}

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

@font-face {
	font-family: 'GentiumBasic Bold';
	src: url('../fonts/genbasb-webfont.eot');
	src: url('../fonts/genbasb-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/genbasb-webfont.woff2') format('woff2'), url('../fonts/genbasb-webfont.woff') format('woff'), url('../fonts/genbasb-webfont.ttf') format('truetype'), url('../fonts/genbasb-webfont.svg#gentium_basicbold') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'GentiumBasic Italic';
	src: url('../fonts/genbasi-webfont.eot');
	src: url('../fonts/genbasi-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/genbasi-webfont.woff2') format('woff2'), url('../fonts/genbasi-webfont.woff') format('woff'), url('../fonts/genbasi-webfont.ttf') format('truetype'), url('../fonts/genbasi-webfont.svg#gentium_basicitalic') format('svg');
	font-weight: normal;
	font-style: normal;
}

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

body,
html {
	height: 100%;
}

body { /*background: #f7f4f4;*/
	font: normal 16px/1.5em 'GentiumBasic', 'Arial', sans-serif;
	color: #40444a;
}

pre {
	font-size: 0.75em;
}

h1,
h2,
h3,
h4,
h5 {
	line-height: 1em;
	color: #104c8c;
}

h1,
.h1 {
	font-size: 1.667em;
}

h2,
.h2 {
	font-size: 1.444em;
}

h3,
.h3 {
	font-size: 1.333em;
}

h4,
.h4 {
	font-size: 1.222em;
}

h5,
.h5 {
	font-size: 1.111em;
}

h6,
.h6 {
	font-size: 1em;
}

em {
	font-style: normal;
	font-family: 'GentiumBasic Italic', 'Arial', sans-serif;
}

strong {
	font-weight: normal;
	font-family: 'GentiumBasic Bold', 'Arial', sans-serif;
}

a {
	color: #104c8c;
	text-decoration: none;
	-webkit-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
}

a:hover,
a:focus {
	color: #2f3030;
}

p {
	margin-bottom: 1.5em;
}

.hidden,
.mega-hidden {
	display: none !important;
}

.nowrap {
	white-space: nowrap;
}

.cleaner {
	width: 100%;
	clear: both;
	float: none;
	height: 0;
	line-height: 0;
}

.clearer:after {
	display: block;
	content: ".";
	clear: both;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}

#page_content {
	min-height: 100%;
	padding-bottom: 125px;
}

.button {
	display: inline-block;
	background: #0db101;
	font: normal 0.834em/1em 'Open Sans Bold', 'Arial', sans-serif;
	color: #fff;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	margin: 0; /*padding: 16px 20px;*/
	padding: 0.95em 20px;
	min-width: 220px;
	border-radius: 5px;
}

.button:hover,
.button:focus { /*
    background: #78aefa;
    color: #fff;
    */
	color: #0db101;
	background: #fff;
	box-shadow: 0 2px 8px 2px #0db101;
}

#breadcrumbs-wrapper {
	color: #fff;
	font-style: normal;
	font-family: 'GentiumBasic Italic', 'Arial', sans-serif;
}

#breadcrumbs-wrapper a {
	color: #fff;
}

#breadcrumbs-wrapper br {
	display: none;
}

#breadcrumbs-wrapper em.sep {
	width: 5px;
	display: inline-block;
	background: url('../images/backgrounds/breadcrumb_dot.png') no-repeat center calc(50% + 2px);
	margin: 0 5px;
}

#page_content {
	position: relative;
}

#page_content > header {
	background: #f7f4f4;
	z-index: 99;
	position: relative;
	padding: 0 0 29px;
}

#page_content > header a { /*
      color: #666;
      background: none;
      */
}

#page_content > header.front_page_header {
	width: 100%;
	background: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}

#page_content > header.front_page_header .menu_btn a {
	color: #fff;
}

#logo {
	float: none;
	margin: 0 auto;
}

#logo .logo_container {
	margin-bottom: 24px;
	padding: 15px 0;
}

#logo img {
	width: auto;
	max-width: 100%;
}

#preheader {
	padding: 1px 0;
}

#preheader nav {
	float: left;
}

#social_top_right {
	float: right;
}

#social_top_right ul {
	margin: 0;
	padding: 0;
}

#social_top_right ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	float: left;
}

#social_top_right ul li.widget_search {
	font-size: 0.792em;
	line-height: 1.5em;
	padding: 3px 0;
}

#social_top_right ul li.widget_search label {
	margin: 0;
	vertical-align: middle;
}

#social_top_right ul li.widget_search input[type=submit] {
	width: 24px;
	height: 24px;
	background: url('../images/backgrounds/search_button.png') no-repeat center;
	border: none;
	margin: 0;
	padding: 0;
	text-indent: -9999px;
	vertical-align: middle; /*
          &:focus {
            background: #f00;
          }
          &:active {
            background: #0f0;
          }
          */
}

#social_top_right ul li.widget_search input[type=search] {
	border: none;
	margin: 0 -36px 0 0;
	padding: 0 10px;
	border-radius: 18px;
	vertical-align: middle;
	font-weight: normal;
	opacity: 1;
	-webkit-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
}

#social_top_right ul li .search-form.hover input[type=search] {
	opacity: 1;
}

#social_top_right ul li a {
	color: #666;
}

#social_top_right ul.socials {
	font-size: 0.833em;
	margin-left: 25px;
}

#social_top_right ul.socials li {
	margin-left: 23px;
}

#social_top_right ul.socials li:first-child {
	margin-left: 0;
}

.front_page_header #social_top_right ul li a {
	color: #fff;
}

#menu-main {
	display: none;
	font-size: 0.833em;
	font-family: 'Open Sans', 'Arial', sans-serif;
	float: none;
	letter-spacing: 1px;
}

#menu-main li a {
	background: none;
	text-align: left;
}

#menu-main li {
	background: transparent;
	display: inline-block;
	float: none;
	position: relative;
	margin-right: 0.9%;
	box-shadow: inset 0 0 1px 1px transparent;
	border-radius: 3px;
	-webkit-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
}

#menu-main li > a {
	padding: 15px 20px;
}

#menu-main li ul { /*background: rgba(255, 255, 255, 0.9);*/
	background: #fff;
	font: normal 1em/1em 'GentiumBasic', 'Arial', sans-serif;
	letter-spacing: -1px; /*padding: 0;*/
	white-space: nowrap;
	position: absolute;
	text-align: left;
	top: calc(100% + 14px);
	left: 0;
	opacity: 0;
	visibility: hidden;
	padding: 6px 0 7px;
	border-radius: 3px;
	box-shadow: inset 0 0 1px 1px #d8d8d8;
	-webkit-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
}

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

#menu-main li ul li a {
	display: block;
	color: #818181;
	padding: 6px 20px 7px;
}

#menu-main li ul li a:hover {
	background: #fff;
}

#menu-main li ul ul {
	top: 0;
	left: calc(100% + 14px);
}

#menu-main li li.menu-item-has-children::after {
	display: block;
	content: '\25B8';
	font-size: 1.5em;
	position: absolute;
	right: 2px;
	top: 8px;
}

#menu-main li:hover {
	background: rgba(255, 255, 255, 0.33);
	box-shadow: inset 0 0 1px 1px #d8d8d8;
}

#menu-main li:hover > ul {
	opacity: 1;
	visibility: visible;
}

#menu-main li:hover > a {
	color: #2f3030;
}

#menu-main li:first-child {
	margin-left: 0;
}

#menu-main li:last-child ul ul {
	right: calc(100% + 14px);
	left: auto;
}

#menu-main li:last-child li.menu-item-has-children::after {
	content: '\25C2';
	right: auto;
	left: 2px;
}

.front_page_header #menu-main > li > a {
	color: #fff;
}

.front_page_header #menu-main > li ul a:hover {
	background: #fff;
}

.front_page_header #menu-main > li:hover ul {
	background: rgba(255, 255, 255, 0.9);
}

#menu-preheader {
	display: none;
	font-size: 0.792em;
	padding-right: 20px;
}

#menu-preheader li {
	margin-left: 42px;
}

#menu-preheader li:first-child {
	margin-left: 0;
}

#menu-preheader a {
	display: inline;
	padding: 0;
	color: #666;
	position: relative;
}

#menu-preheader a:hover,
#menu-preheader a:focus {
	background: none;
}

#menu-preheader a::before,
#menu-preheader a::after {
	width: 0;
	height: 1px;
	display: block;
	background: #666;
	content: '';
	position: absolute;
	-webkit-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;
}

#menu-preheader a::after {
	left: -8px;
	top: 0;
}

#menu-preheader a::before {
	right: -8px;
	bottom: -3px;
}

#menu-preheader a:hover::before,
#menu-preheader a:hover::after {
	width: calc(100% + 16px);
}

.front_page_header #menu-preheader a {
	color: #fff;
}

.front_page_header #menu-preheader a::before,
.front_page_header #menu-preheader a::after {
	background: #fff;
}

.menu_btn {
	text-align: center;
	z-index: 2; /*padding: 0;*/
	padding: 15px 0;
}

#menu-main.sidr,
#menu-preheader.sidr {
	background: #fff;
	margin: 0;
	padding: 16px 0;
}

#menu-main.sidr li,
#menu-preheader.sidr li {
	border: none;
	display: block;
	margin: 0;
}

#menu-main.sidr li a,
#menu-preheader.sidr li a {
	color: #0f4c8b;
	display: block;
	font-size: 1em;
	font-family: 'Open Sans', 'Arial', sans-serif;
	padding: 5px 15px;
}

#menu-main.sidr li a::before,
#menu-main.sidr li a::after,
#menu-preheader.sidr li a::before,
#menu-preheader.sidr li a::after {
	display: none;
}

#menu-main.sidr li ul,
#menu-preheader.sidr li ul {
	border: none;
	position: static;
	visibility: visible;
	opacity: 1;
	background: none;
	padding: 0 15px;
	box-shadow: none;
}

#menu-main.sidr li ul a,
#menu-preheader.sidr li ul a {
	line-height: 20px;
}

#menu-main.sidr li:hover,
#menu-preheader.sidr li:hover {
	background: none;
	box-shadow: none;
}

#menu-main.sidr li:hover ul,
#menu-preheader.sidr li:hover ul {
	background: none;
}

.admin-bar #menu-main.sidr,
.admin-bar #menu-preheader.sidr { /*padding-top: 64px;*/
}

.menus_container { /*display: none;*/
	width: 0;
	height: 0;
	overflow: hidden;
}

.sidr-open #wpadminbar,
.sidr-animating #wpadminbar {
	top: -46px;
}

#colophon {
	height: 125px;
	background: #0f4c8b;
	font-size: 0.75em;
	line-height: 1.5em;
	color: #fff;
	position: relative;
	margin-top: -125px;
	padding: 15px 0 10px;
}

#colophon a {
	color: #fff;
}

#colophon .container {
	height: 100%;
}

#colophon .phone {
	padding: 0 5%;
	text-align: center;
}

#colophon .phone br,
#colophon .copy br {
	display: none;
}

#colophon .footer_menu { /*float: right;*/
}

#colophon .footer_menu > div {
	display: block;
}

#colophon ul,
#colophon ul li {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
}

#colophon ul {
	display: inline-block;
	padding: 5px 0;
}

#colophon ul li {
	margin-right: 10px;
}

#colophon ul li a {
	white-space: nowrap;
}

@media screen and (min-width: 768px) {

body {
	font-size: 16px;
}

#page_content {
	padding-bottom: 118px;
}

.button {
	min-width: 140px;
}

#logo {
	float: left;
	margin: 0;
}

#logo .logo_container {
	padding: 0;
}

#preheader nav {
	float: right;
}

#menu-main {
	font-size: 0.75em;
	display: block;
}

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

#menu-main li ul li a {
	padding: 6px 10px 7px;
}

#menu-preheader {
	display: block;
	margin-left: 5px;
	padding-right: 5px;
}

.menu_btn {
	display: none;
}

.menus_container {
	width: auto;
	height: auto;
	overflow: visible;
}

#colophon {
	padding: 0;
}

#colophon .site_info_outer {
	width: 100%;
	height: 100%;
	display: table;
}

#colophon .site_info_outer > div {
	display: table-cell;
	vertical-align: middle;
}

#colophon .phone br,
#colophon .copy br {
	display: inline;
}

#colophon .footer_menu {
	text-align: right;
}

#colophon ul li {
	margin-right: 0;
	margin-left: 24px;
}

}

@media screen and (min-width: 992px) {

body {
	font-size: 16px;
}

#page_content {
	padding-bottom: 78px;
}

.button {
	min-width: 200px;
}

#logo .logo_container {
	margin-bottom: 0;
	padding: 6px 15% 0 0;
}

#logo img {
	width: 100%;
}

#menu-main {
	font-size: 0.667em;
	text-align: right;
}

#menu-main li {
	margin-right: 0;
	margin-left: 0.9%;
}

#menu-preheader {
	margin-left: 32px;
}

#menu-preheader li {
	margin-left: 22px;
}

.menus_container {
	width: 75%;
}

#colophon {
	height: 78px;
	margin-top: -78px;
}

#colophon .phone {
	padding: 0 3%;
}

}

@media screen and (min-width: 1200px) {

body {
	font-size: 18px;
}

.button {
	min-width: 260px;
}

#preheader {
	margin-bottom: 8px;
}

#social_top_right ul li.widget_search input[type=search] {
	opacity: 0;
}

#social_top_right ul.socials {
	margin-left: 25px;
}

#menu-main {
	font-size: 0.75em;
	padding: 0 10px;
}

#menu-main li > a {
	padding: 15px 8px;
}

#menu-main li ul li a {
	padding: 6px 20px 7px;
}

#menu-preheader {
	padding-right: 15px;
}

#menu-preheader li {
	margin-left: 42px;
}

#colophon {
	height: 78px;
	margin-top: -78px;
}

#colophon .phone {
	padding: 0 5%;
}

#colophon ul {
	padding: 0;
}

}

@media screen and (min-width: 1920px) {

body {
	font-size: 24px;
}

#page_content {
	padding-bottom: 118px;
}

#menu-main {
	font-size: 0.833em;
	padding: 15px 10px;
}

#colophon {
	height: 118px;
	margin-top: -118px;
}

#colophon .footer_menu > div {
	display: inline;
}

}



/*Special Contact form styles*/

/* =Custom Contact Form with jQuery
----------------------------------------------- */

/* Add curved borders to various elements */
#contactForm, .statusMessage, input[type="submit"], input[type="button"] {
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;  
  border-radius: 10px;
}

/* Style for the contact form and status messages */
#contactForm, .statusMessage {
  color: #666;
  background-color: #ebedf2;
  background: -webkit-gradient( linear, left bottom, left top, color-stop(0,#dfe1e5), color-stop(1, #ebedf2) );
  background: -moz-linear-gradient( center bottom, #dfe1e5 0%, #ebedf2 100% );  
  border: 1px solid #aaa;
  -moz-box-shadow: 0 0 1em rgba(0, 0, 0, .5);
  -webkit-box-shadow: 0 0 1em rgba(0, 0, 0, .5);
  box-shadow: 0 0 1em rgba(0, 0, 0, .5);
  opacity: .95;
}

/* The form dimensions */
#contactForm {
  width: 40em;
  height: 41em;
  padding: 0 1.5em 1.5em 1.5em;
  margin: 0 auto;
}

/* Position the form in the middle of the window (if JavaScript is enabled) */
#contactForm.positioned {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin-top: auto;
  margin-bottom: auto;
}


/* The header at the top of the form */
#contactForm h2 {
  font-size: 2em;
  font-style: italic;
  letter-spacing: .05em;
  margin: 0 0 1em -.75em;
  padding: 1em;
  width: 19.5em;  
  color: #aeb6aa;
  background: #dfe0e5 url('images/stamp.jpg') no-repeat 15em -3em; /* http://morguefile.com/archive/display/606433 */
  border-bottom: 1px solid #aaa;
  -moz-border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0;  
  border-radius: 10px 10px 0 0;
}

/* Give form elements consistent margin, padding and line height */
#contactForm ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#contactForm ul li {
  margin: .9em 0 0 0;
  padding: 0;
}

#contactForm input, #contactForm label {
  line-height: 1em;
}

/* The field labels */
#contactForm label {
  display: block;
  float: left;
  clear: left;
  text-align: right;
  width: 28%;
  padding: .4em 0 .0 0;
  margin: .15em .5em 0 0;
  font-weight: bold;
}

/* The fields */
#contactForm input, textarea , select {
  display: block;
  margin: 0;
  padding: .4em;
  width: 67%;
  font-family: "Georgia", serif;
  font-size: 1em;
  border: 1px solid #aaa;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;    
  border-radius: 5px;
  -moz-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  -webkit-box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  box-shadow: rgba(0,0,0,.2) 0 1px 4px inset;
  background: #fff;
}

#contactForm textarea {
  height: 13em;
  line-height: 1.5em;
  resize: none;
}


/* Place a border around focused fields, and hide the inner shadow */
#contactForm *:focus {
  border: 1px solid #66f;
  outline: none;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

/* The Send and Cancel buttons */
#contactForm input[type="submit"], #contactForm input[type="button"] {
  float: right;
  margin: 2em 1em 0 1em;
  width: 10em;
  padding: .5em;
  border: 1px solid #666;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;  
  border-radius: 10px;
  -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  box-shadow: 0 0 .5em rgba(0, 0, 0, .8);
  color: #fff;
  background: #0a0;
  font-size: 1em;
  line-height: 1em;
  font-weight: bold;
  opacity: .7;
  -webkit-appearance: none;
  -moz-transition: opacity .5s;
  -webkit-transition: opacity .5s;
  -o-transition: opacity .5s;
  transition: opacity .5s;
}

#contactForm input[type="submit"]:hover,
#contactForm input[type="submit"]:active,
#contactForm input[type="button"]:hover,
#contactForm input[type="button"]:active {
  cursor: pointer;
  opacity: 1;
}

#contactForm input[type="submit"]:active, input[type="button"]:active {
  color: #333;
  background: #eee;
  -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
  -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
  box-shadow: 0 0 .5em rgba(0, 0, 0, .8) inset;
}

#contactForm input[type="button"] {
  background: #f33;
}


/* Some IE7 hacks and workarounds */

<!--[if lt IE 8]>
/* IE7 needs the fields to be floated as well as the labels */
#contactForm input, textarea {
  float: right;
}

#formButtons {
  clear: both;
}

/*
  IE7 needs an ickier approach to vertical/horizontal centring with fixed positioning.
  The negative margins are half the element's width/height.
*/
#contactForm.positioned, .statusMessage {
  left: 50%;
  top: 50%;
}

#contactForm.positioned {
  margin-left: -20em;
  margin-top: -16.5em;
}
<![endif]-->