/*!
Styles for full screen background video demo
*/
.preload_img {
	position: absolute;
	visibility: hidden;
}

/* =============================================================================
  RESETS
============================================================================= */
html,
body,
div,
h1,
p,
a,
video {
  margin: 0;
  padding: 0;
}

/* =============================================================================
  HTML, BODY
============================================================================= */
html,
body {
  height: 100%;
}

body {
  font-size: 16px;
  font-family: "Oxygen", sans-serif;
  line-height: 1.5;
}

/* =============================================================================
 MENU CONTENT
============================================================================= */

.menu_content {
  position: absolute;
  top: 125px;
  z-index: 9999;
  right: -15px;
  max-width: 350px;
  width: 150px;
}

.menu_content_alt {
  position: absolute;
  top: 45px;
  right: 200px;
  z-index: 99;
}

.menu_content_alt .menu_link_inner {
	display: inline-block !important;
}

.menu_content a, .menu_content_alt a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
}
	
.menu_link_inner {
	border: 1px solid #fff;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
	display: block;
	padding: 10px;
	width: 120px;
	background-color: rgba(61, 24, 92, 0.6);
	margin-bottom: 5px;
}

.menu_link_inner:hover { 
	background-color: rgba(22, 2, 39, 1);
}

.menu_link_inner_highlight {
	background-color: rgba(22, 2, 39, 1);
}

.header_mobile_menu_link_container {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 9999;	
}

.header_mobile_menu_container {
	display: none;	    
    position: absolute;
    top: 75px;
    z-index: 9999;
    width: 100%;	
}

.header_mobile_menu_container div {
	color: #fff;
	height: 30px;
    /*width: 100%;*/
    /*text-align: center;*/
    padding-left: 40%;
    background-color: rgba(70, 70, 70, 0.85);
    border: 1px solid rgba(0, 0, 0, 0.70);	
}

.header_mobile_menu_container div:hover { 
	color: #000;
	background-color: rgba(255, 255, 255, 0.95);
}

.header_mobile_menu_link {
	cursor: pointer;
	display: none;
}

.header_mobile_menu {
	max-width: 32px;	
}

/* =============================================================================
  VIDEO
============================================================================= */
/*.video {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
*/
/* Footer ----------------------------------------------------------------------- */
.footer {
	/*margin-bottom: 40px;*/
	margin-top: -18px;
	background: #212121;
	padding-bottom: 20px;
	display: none;
}

.footer_text {
	text-align: left;
	display: inline-block;
	margin-left: 300px;
	width: 15%;
	color: #fff;
}

.footer_text h3 {
	font-size: 20px;
	font-weight: 400;	
}

.footer_text span {
	font-size: 14px;
	font-weight: 400;
}

.footer_social_container {
	margin-top: 20px;
}

.footer_social_link_container {
	display: inline-block;
	height: 80px;
	width: 80px;
	vertical-align: middle;
}

.footer_social_image {
	max-width: 60px;
}

.footer_social_image:hover {
	max-width: 80px;	
}

.footer_logo {
	text-align: right;
	display: inline-block;
	float: right;
	margin-right: 300px;
	width: 14%;
}

.footer_email_text:before {
	content: url("/images/email_16.png");
	margin-right: 10px;
	filter: alpha(opacity = 60);
	-moz-opacity: 0.6;
	-khtml-opacity: 0.6;
	opacity: 0.6;
}

.footer_phone_text:before {
	content: url("/images/phone_16.png");
	margin-right: 10px;
	filter: alpha(opacity = 60);
	-moz-opacity: 0.6;
	-khtml-opacity: 0.6;
	opacity: 0.6;
}

.footer_middle {
	display: inline-block;
	width: 30%;
}

.footer_copy {
	font-size: 14px;
	margin-right: 18px;
	color: #fff;
}

.footer_link {
	color: rgb(122, 122, 122);	
}

.footer_link:hover {
	color: #5d8721;
}

.footer_subscribe_button {
	font-size: 14px !important;
	padding-top: 8px !important;
	padding-bottom: 4px !important;
	margin-left: 10px;
}

#footer_logo img {
	max-width: 200px;
}
/* ----------------------------------------------------------------------------------------- */

/* Global Main ----------------------------------------------------------------------------- */
a {
	color: #fff;
}

.main_logo {
	position: absolute;
	top: 20px;
    left: 25px;
	z-index: 9999;
}
.main_logo img {
	max-width: 400px;
}

.main_pretitle {
	font-size: 3vw;
	color: #fff;
}

.main_title {
	font-size: 5vw;
	letter-spacing: 5px;
  	text-shadow: 3px 0px 7px rgba(255,255,255,0.8), -3px 0px 7px rgba(255,255,255,0.8), 0px 4px 7px rgba(255,255,255,0.8);
}

.main_subtitle {
	font-size: 3vw;
	color: #fff;
}

.main_posttitle {
	font-size: 2vw;
	color: #fff;	
}

.main_cont {
	font-size: 1.5vw;
   	letter-spacing: .12em;
	color: #fff;
}
/* ----------------------------------------------------------------------------------------- */

/* BUTTONS --------------------------------------------------------------------------------- */
a.wire.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "Roboto Slab", serif; /*"museo-sans-rounded", sans-serif;*/
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	color: white;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #FFFFFF;
	padding: 15px 20px;
}
a.wire.button:active {
	top: 2px;
}
a.wire.button:hover {
	background: #5c1130;
}

a.wire_full.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "Roboto Slab", serif;
	font-style: normal;
	font-weight: 500;
	font-size: 1.0em;
	color: #fff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #000;
	padding: 8px 15px;
	background: #5c1130;
}
a.wire_full.button:active {
	top: 2px;
}
a.wire_full.button:hover {
	background: #fff;
	color: #000;
}

a.wire_dark.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "Roboto Slab", serif; /*"museo-sans-rounded", sans-serif;*/
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	color: #000000;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #000000;
    padding: 8px 10px;
}
a.wire_dark.button:active {
	top: 2px;
}
a.wire_dark.button:hover {
	background: #5c1130; /* THEME COLOR */
	color: #ffffff;
}

a.wire_dark_large.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "Roboto Slab", serif; /*"museo-sans-rounded", sans-serif;*/
	font-style: normal;
	font-weight: 500;
	font-size: 34px;
	color: #000000;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #000000;
	padding: 15px 20px;
}
a.wire_dark_large.button:active {
	top: 2px;
}
a.wire_dark_large.button:hover {
	background: #5c1130; /* THEME COLOR */
	color: #ffffff;
}

a.wire_light.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "museo-sans-rounded", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	color: #fff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #fff;
	padding: 10px 15px;
	border-radius: 10px;
}
a.wire_light.button:active {
	top: 2px;
}
a.wire_light.button:hover {
	background: #5c1130; /* THEME COLOR */
	color: #fff;
	border: 2px solid #fff;
}

a.wire_rev.button {
	cursor: pointer;
	position: relative;
	overflow: visible;
	font-family: "Roboto Slab", serif; /*"museo-sans-rounded", sans-serif;*/
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	color: #fff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	text-decoration: none;
	border: 2px solid #fff;
	background: #3d185c;
	padding: 8px 10px;
	border-radius: 5px;
}
a.wire_rev.button:active {
	top: 2px;
}
a.wire_rev.button:hover {
	color: #000;
	background: #fff;
	border-color: #3d185c;
}

/* ----------------------------------------------------------------------------------------- */

/* DIV buttons  ---------------------------------------------------------------------------- */
div.button_wire {
	cursor: pointer;
	font-family: "museo-sans-rounded", sans-serif;
	font-size: 21px;
	color: #6e162c;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
	background-color: #fff;
	border: 2px solid #6e162c;
	padding: 4px 15px;
	width: fit-content;
	display: inline-block;
}

div.button_wire:hover {
	background: #6e162c;
	color: #fff;
}
/* -------------------------------------------------------------------------------------------- */
/* -- Flex Containers ---------------------------------------------------------------------- */
.flex_container {
	display: flex;
	align-items: inherit;
	justify-content: center;
	flex-flow: row;
	min-height: 0;
	min-width: 0;
}

.flex_sub_container {
	flex: 1 1 auto;
}

.flex_sub_container_alt {
	flex: 0 1 auto;
}

.flex_sub_container_sub_alt {
	flex: 1 0 auto;
}

.flex_flow_column {
	flex-flow: column !important;
}

.flex_flow_row {
	flex-flow: row !important;
}

.flex_flow_wrap {
	flex-flow: wrap !important;
}

.flex_align_center {
	align-items: center !important;
}

.flex_align_baseline {
	align-items: baseline !important;
}

.flex_justify_start {
	justify-content: flex-start !important;
}

.flex_justify_end {
	justify-content: flex-end !important;
}

.flex_basis_100 {
	flex-basis: 100% !important;
}
/* ------------------------------------------------------------------------------------- */

/* -- Forms ---------------------------------------------------------------------------- */

/* -- Get Started -- */
input.form_input::-webkit-input-placeholder {
   color: #000;
}

input.form_input:-moz-placeholder { /* Firefox 18- */
   color: #000;  
}

input.form_input::-moz-placeholder {  /* Firefox 19+ */
   color: #000; 
}

input.form_input:-ms-input-placeholder {  
   color: #000;  
}

textarea.form_text_area::-webkit-input-placeholder {
   color: #000;
}

textarea.form_text_area:-moz-placeholder { /* Firefox 18- */
   color: #000;  
}

textarea.form_text_area::-moz-placeholder {  /* Firefox 19+ */
   color: #000;  
}

textarea.form_text_area:-ms-input-placeholder {  
   color: #000;  
}

textarea {
	resize: none;	
}

.form_input {
	width: 95%;
	height: 40px !important;
	font-size: 18px !important;
	padding: 0px 0px 0px 10px;
	margin-bottom: 10px;
	background: rgba(255, 255, 255, .5);
	color: #000;
	border: 2px solid #000;
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

.form_input_file {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.form_input_file+label {
	font-size: 1.0em;
	font-weight: 500;
	display: inline-block;
	color: #fff;
	border: solid 2px black;
	background-color: #5c1130;
	padding: 6px 15px;
	cursor: pointer;
}

.form_input_file:focus+label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}

.form_input_file:focus+label, .form_input_file+label:hover {
	color: #000;
	background-color: #fff;
}
/* ----------------------------------------------------------------------------------------- */

/* --- Custom Dialog ----------------------------------------------------------------------------- */
.custom_dialog {
	display: none;	
}

.custom_dialg_zindex {
	z-index: 9999;
}

.custom_dialog_response_text {
	margin-top: 20px;	
}

.processing_overlay {
	height: 100%;
    width: 100%;
    background-color: rgba(39,18,23,0.7);
    position: fixed;
    top: 0;
    z-index: 9999;
    display: none;
}

.process_loading {
	text-align: center;
	position: absolute;
    top: 40%;
    left: 45%;
}

.process_loading img {
	max-width: 100px;
}

.process_loading_text {
	color: #fff;
	margin-top: 10px;
}
    
.ui-dialog .ui-dialog-buttonpane button {
	padding: 4px 10px 4px 10px;
}

/* ----------------------------------------------------------------------------------------------- */

/* -- Global Members ----------------------------------------------------------------------- */
.member_display_container {	
	position: absolute;
    top: 10px;
    right: 10px;
    background: #fff;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.member_display_container img {	
    max-height: 80px;	
}

.mobile_member_display_container {	
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
}

.mobile_member_display_container img {	
    max-height: 80px;	
}
/* ----------------------------------------------------------------------------------------- */

/* -- Misc --------------------------------------------------------------------------------- */
.default_label {
	font-weight: 600;
}

.element_text_shadow {
    -webkit-text-shadow: 1px 2px 3px #dcdcdc;
    -moz-text-shadow: 1px 2px 3px #dcdcdc;
    text-shadow: 1px 2px 3px #dcdcdc;
}

.section {
	width: 80vw;
	margin: 0px auto;	
}

.top_spacer {
	margin-top: 200px;
}

.align_center {
	text-align: center;
}

.align_left {
	text-align: left;
}

.width_50 {
	width: 50%;
}

.margin_auto_fit_content {
    width: fit-content;
    margin: 0px auto;
}

.margin_bottom_40 {
	margin-bottom: 40px;
}

.anchor {
	display: block;
	position: relative;
	width: 0;
	top: -130px;
	visibility: hidden;
}
/* ----------------------------------------------------------------------------------------- */