/*** BODY MAIN ***/

html { height:100%; margin:0; }
body { height:100%; margin:0; line-height:1.25; font-size:16px; font-family:'Roboto', sans-serif, arial; color:#444444; background-color:#0171C1;-webkit-tap-highlight-color: rgba(0,0,0,0);}

.body_wrapper { min-height:100%; margin-bottom:-100px; background-color:#F8F8F8; }
.push_wrapper { height:5px; background-color:#F8F8F8; }
.foot_wrapper { height:90px; background-color:#111; opacity:1.0; margin:10px; border-radius:10px; }

.body_section_flex { display:flex; flex-direction:column; min-height:calc(100vh - 67px); }
.body_section { width:100%; max-width:1400px; margin:0 auto; padding:0; display:flex; flex-direction:column; }
.body_section_wrap { margin:5px 10px; background-color:#FFFFFF; border-radius:7px; }
.body_section_wrap { border:1px solid #EEE; padding:20px; min-height:100%; flex-grow:1; }
.body_section_wrap { padding:20px; }
.body_section_title_row { display:flex; color:#222222; text-transform:uppercase; height:20px; }
.body_section_title_main { flex-grow:1; font-size:18px; font-weight:400; }
.body_section_title_link { text-align:right; font-size:14px; font-weight:400; margin-top:3px; }
.body_section_title_link a:link    { color:#222222; text-decoration:none; }
.body_section_title_link a:visited { color:#222222; text-decoration:none; }
.body_section_title_link a:hover   { color:#444444; text-decoration:none; }
.body_section_title_link a:active  { color:#222222; text-decoration:none; }
hr { border:0; width:100%; height:1px; color:#DDDDDD; background-color:#DDDDDD; margin:10px 0; opacity:1.0; }
table        { border:0; margin:0; border-collapse:collapse; }
td    { padding:0; }
p     { margin:10px 0 10px 0; }
a:link    { color:#0171C1; text-decoration:underline; }
a:visited { color:#0171C1; text-decoration:underline; }
a:hover   { color:#0171C1; text-decoration:none; }
a:active  { color:#0171C1; text-decoration:underline; }

.error  { font-family:arial; color:#AA3333; }
.error a:link    { color:#AA3333; text-decoration:none; }
.error a:visited { color:#AA3333; text-decoration:none; }
.error a:hover   { color:#AA3333; text-decoration:underline; }
.error a:active  { color:#AA3333; text-decoration:none; }

.success { font-family:arial; color:#33AA33; }
.success a:link    { color:#33AA33; text-decoration:none; }
.success a:visited { color:#33AA33; text-decoration:none; }
.success a:hover   { color:#33AA33; text-decoration:underline; }
.success a:active  { color:#33AA33; text-decoration:none; }

.text_size1 { font-size:19px; }
.text_size2 { font-size:15px; }
.text_size3 { font-size:12px; }
.text_size4 { font-size:9px; }

.height20 { height:20px; }
.height30 { height:30px; }
.height40 { height:40px; }
.padding5px  { padding:5px; }
.padding10px { padding:10px; }
.padding20px { padding:20px; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.pointer { cursor:pointer; }

/*** PAGE HEADER ***/

.head_wrapper { position:absolute; top:0; left:0; z-index:2; width:100%; margin:0; background-color:#0171C1; position:fixed; }
.head_wrapper img { vertical-align:middle; }
.head_table    { height:50px; box-shadow:0px 8px 8px rgb(248,248,248,0.9); -webkit-box-shadow:0px 8px 8px rgb(248,248,248,0.9); }
.head_logo     { text-align:center; }
.head_logo img { height:60px; border:0; padding:0;  }
.head_filler   { height:67px; }
.head_icon        { color:#FFFFFF; line-height:1.5; }
.head_icon.back   { font-size:30px; width:60px}
.head_icon.menu   { font-size:25px; width:60px; }
#share_page { display:none; position:fixed; width:100%; margin:0; text-align:right; padding:20px; z-index:98; }
#share_page span { margin:40px; padding:10px 20px; background-color:#EEE; border-radius:5px; background-color:#0171C1; color:#FFFFFF; }

/*** HEADER MENU  ***/

.head_menu           { position:fixed; top:60px; right:0; z-index:99; margin:0; padding:0; float:right; background-color:#0171C1; }
.head_menu           { font-size:16px; color:#FFFFFF; text-decoration:none; }
.head_menu a         { cursor:pointer; }
.head_menu a:link    { color:#FFFFFF; text-decoration:none; }
.head_menu a:visited { color:#FFFFFF; text-decoration:none; }
.head_menu a:hover   { color:#FFFFFF; text-decoration:none; }
.head_menu p { padding:20px 30px; margin:0; }.head_menu hr { margin:0 15px 0 15px; width:auto; background-color:color:#FFFFFF; opacity:0.4; }

/*** PAGE FOOTER ***/

.footer_opts             { padding:20px 0 10px 0; font-family:arial; font-size:14px; color:#777; text-align:center; width:100%; }
.footer_opts a:visited   { color:#BBB; text-decoration:none; }
.footer_opts a:link      { color:#BBB; text-decoration:none; }
.footer_opts a:hover     { color:#EEE; text-decoration:none; }
.footer_opts a:active    { color:#BBB; text-decoration:none; }
.footer_logo             { padding:15px 0 15px 0; font-family:verdana; font-size:10px; color:#888; text-transform:uppercase; text-align:center; width:100%; margin:0 auto; border-radius:30px; background-color:#222; max-width:300px; }
.footer_logo a:visited   { color:#888; text-decoration:none; }
.footer_logo a:link      { color:#888; text-decoration:none; }
.footer_logo a:hover     { color:#999; text-decoration:none; }
.footer_logo a:active    { color:#888; text-decoration:none; }
.footer_logo td          { padding:5px 0 15px 0; }

.footer_logo img         { height:15px; border:0; margin:-5px 5px -5px 5px; }

.footer_icon a         { padding:10px 10px; color:#FFF; font-size:30px; opacity:0.4; }
.footer_icon a:hover   { opacity:0.8; }


/*** BUTTON OPTION ***/

.button_option         { font-weight:400; background-color:rgb(68,68,68,0.05); font-size:12px; padding:8px 16px; margin:10px 5px;  }
.button_option         { border:1px solid rgb(68,68,68,0.10); border-radius:20px; display:inline-block; line-height:1.5; }.button_option b       { color:#444444; font-weight:500; }
.button_option:visited { color:#444444; opacity:0.9; text-decoration:none; }
.button_option:link    { color:#444444; opacity:0.9; text-decoration:none; }
.button_option:hover   { color:#444444; opacity:1.0; text-decoration:none; }
.button_option:active  { color:#444444; opacity:0.9; text-decoration:none; }

.button_option_trans   { background-color:#FFFFFF; }

.button_option_icons   { font-size:15px; padding:10px 15px; }

.button_option_double  { border-radius:25px; }

.button_option_footer    { border-radius:40px; padding:15px 15px; margin:5px; }

.button_option_footer i  { font-size:25px; margin-bottom:7px; opacity:0.6; }

.button_action         { font-weight:400; background-color:#0171C1; font-size:14px; padding:8px 16px; margin:10px 5px; }
.button_action         { border-radius:20px; display:inline-block; line-height:1.5; color:#FFFFFF; text-decoration:none; }
.button_action b       { color:#FFFFFF; font-weight:500; }
.button_action:visited { color:#FFFFFF; opacity:0.9; text-decoration:none; }
.button_action:link    { color:#FFFFFF; opacity:0.9; text-decoration:none; }
.button_action:hover   { color:#FFFFFF; opacity:1.0; text-decoration:none; }
.button_action:active  { color:#FFFFFF; opacity:0.9; text-decoration:none; }

/*** MISC ***/

.shadow2px { box-shadow:0 0 2px 0px #999999; }
.shadow3px { box-shadow:0 0 3px 0px #999999; }
.float_left  { float:left; }
.float_right { float:right; }

/** FORMS **/

textarea { -webkit-appearance:none; box-sizing:border-box; outline:none; resize:none; }
select { -webkit-appearance: none; -moz-appearance:none; appearance:none; }
input { -webkit-appearance:none; }
input:focus, select:focus, textarea:focus, button:focus { outline: none; }
input[type='color'] { padding:5px; height:33px; }

.forms_wrapper { margin:10px auto; max-width:600px; }
.forms_label { margin:3px 0; color:#444444; font-size:15px; font-weight:500; opacity:0.8; }
.forms_desc  { padding:3px 0; color:#444444; font-size:13px; opacity:0.6; line-height:1.4; }
.forms_desc a:link    { color:#444444; }
.forms_desc a:visited { color:#444444; }
.forms_desc a:hover   { color:#444444; }
.forms_desc a:active  { color:#444444; }
.forms_error       { padding:3px 0; color:#AA3333; font-size:15px; }
.forms_error_box   { background-color:rgb(170,51,51,0.05); color:#AA3333; font-size:15px; opacity:0.8; padding:10px 20px; border:1px solid rgb(170,51,51,0.5); border-radius:5px; }
.forms_error_box   { margin-bottom:20px; max-width:100%; text-align:left; }
.forms_error_box i { cursor:pointer; float:right; font-size:19px; font-weight:500; }
.forms_error_box a:link    { color:#AA3333; }
.forms_error_box a:visited { color:#AA3333; }
.forms_error_box a:hover   { color:#AA3333; }
.forms_error_box a:active  { color:#AA3333; }
.forms_message       { color:#33AA33; font-size:15px; }
.forms_message_box   { background-color:rgb(51,170,51,0.05); color:#33AA33; font-size:15px; opacity:0.8; padding:10px 20px; border:1px solid rgb(51,170,51,0.5); border-radius:5px; }
.forms_message_box   { margin-bottom:20px; max-width:100%; text-align:left; }
.forms_message_box i { cursor:pointer; float:right; font-size:19px; font-weight:500; }
.forms_message_box a:link    { color:#33AA33; }
.forms_message_box a:visited { color:#33AA33; }
.forms_message_box a:hover   { color:#33AA33; }
.forms_message_box a:active  { color:#33AA33; }
.forms_row { margin:15px 5px 0 5px; }
.forms_textarea { margin:0; }
.forms_textarea textarea { width:100%; border:1px solid rgb(68,68,68,0.2); padding:10px; border-radius:5px; }
.forms_textarea textarea { color:#444444; font-size:16px; font-family:sans-serif; background-color:#FFFFFF; }
.forms_textarea textarea:focus { border:1px solid rgb(68,68,68,0.6); }
.forms_textbox       { overflow:hidden; position:relative; border:1px solid rgb(68,68,68,0.2); margin:0; color:#444444; font-family:sans-serif; background-color:#FFFFFF; width:100%; box-sizing:border-box; }
.forms_textbox       { font-size:14px; border-radius:3px; padding:7px; }
.forms_textbox:focus { border:1px solid rgb(68,68,68,0.6); }
.forms_dropdown { font-size:14px; margin:0; border:1px solid rgb(68,68,68,0.2); padding:3px; border-radius:3px; }
.forms_dropdown { background-color:#FFFFFF; position:relative; display:block; }
.forms_dropdown:after  { font-size:18px; width:30px; }
.forms_dropdown select { font-size:14px; }
.forms_dropdown:focus { border:1px solid rgb(68,68,68,0.6); }
.forms_dropdown:focus-within { border:1px solid rgb(68,68,68,0.6); }
.forms_dropdown select { width:100%; border:0; border-radius:5px; padding:4px; background-color:#FFFFFF; color:#444444; font-size:14px; font-family:sans-serif; }
.forms_dropdown option { font-size:14px; }
.forms_dropdown:after { content:"\f107"; font-family:"Font Awesome 7 Pro"; }
.forms_dropdown:after { color:color:#444444; font-size:18px; font-weight:500; opacity:0.5; }
.forms_dropdown:after { padding:5px 5px; position:absolute; right:0; top:0; border-radius:5px; }
.forms_dropdown:after { background:#FFFFFF; z-index:1; text-align:center; width:40px; height:100%; }
.forms_dropdown:after { pointer-events:none; box-sizing:border-box; }
.forms_button { color:#FFFFFF; background-color:#0171C1; width:100%; }
.forms_button { font-size:15px; margin:5px; font-weight:500; border:0; border-radius:20px; font-family: 'Roboto', sans-serif, arial; padding:12px 24px; margin:10px 0; text-decoration:none; cursor:pointer; }
.forms_button:hover { opacity:0.9; }
 input[type='checkbox'] { border:1px solid #999; padding:10px; border-radius:3px; }
 input[type=checkbox]:checked { background-color:#777; }
.forms_response_error   { margin:5px; height:20px; font-size:14px; color:#AA3333; }
.forms_response_success { margin:5px; height:20px; font-size:14px; color:#33AA33; }
.forms_response_warning { margin:5px; height:20px; font-size:14px; color:#AAAAAA; }

/** ADMIN - TITLE/SUBTITLE **/

.admin_title_row { display:flex; }
.admin_title_text { color:#222222; flex-grow:1; font-size:28px; font-weight:500; }
.admin_title_links { flex-grow:1; padding:10px 5px 0 5px; text-align:right; }
.admin_subtitle_row { display:flex; }
.admin_subtitle_text { color:#444444; font-size:21px; font-weight:500; }
.admin_subtitle_links { flex-grow:1; padding:10px 5px 0 5px; text-align:right; }

/** ADMIN - HOME BUTTONS **/

.admin_home_button         { background-color:#FCFCFC; margin:7px 7px; width:280px; }
.admin_home_button         { border:1px solid #DDD; border-radius:10px; display:inline-block; }.admin_home_button i       { color:#0171C1; font-size:35px; float:left; text-align:center; width:40px; margin:10px 10px; opacity:0.8; }
.admin_home_button p    	 { color:#888888; font-size:13px; padding:10px; margin:0; text-align:left; }
.admin_home_button b       { color:#444444; font-size:15px; font-weight:500; opacity:0.9; }
.admin_home_button:visited { text-decoration:none; }
.admin_home_button:link    { text-decoration:none; }
.admin_home_button:hover   { text-decoration:none; border:1px solid #BBB; }
.admin_home_button:active  { text-decoration:none; }


/** ADMIN - TABLE **/

.admin_table	  { border:1px solid #CCC; border-radius:0px; margin:10px 10px; padding:1px; }
.admin_table:hover  { border:1px solid #999; }
.admin_table table { width:100%; color:#555; font-size:14px; }
.admin_table th { padding:10px 10px; background-color:#EEEEEE; color:#555; font-weight:500; border:1px solid #FFF; }
.admin_table tr { border-top:1px solid #FFF; }
.admin_table tr:nth-child(odd)  { background-color:#F8F8F8; }
.admin_table tr:nth-child(even) { background-color:#FFFFFF; }
.admin_table tr:hover { background-color:rgb(1,113,193,0.07); }
.admin_table td { padding:10px 10px; border:1px solid #FFF; }
.admin_table img { height:50px; border-radius:3px; }
.admin_table i { opacity:0.5; font-style:normal; }
.admin_table_onclick:hover { cursor:pointer; }
.admin_table_error { background-color:rgb(1,113,193,0.07) !important; }
.admin_table_white tr:nth-child(odd) { background-color:#FFFFFF; }
.admin_table_white tr:nth-child(even) { background-color:#FFFFFF; }
.admin_table_white tr:hover { background-color:rgb(1,113,193,0.07); }
.admin_table_icons i { padding:5px 10px; width:18px; font-size:18px; cursor:pointer; }
.admin_table_icons i { color:#777; opacity:1.0; }
.admin_table_icons i:hover { color:#777; opacity:0.7; }
.admin_table_icons_red { color: !important; }
.admin_table_icons_green { color: !important; }
.admin_table_icons_done { opacity:0.3 !important; }
.admin_table_note { opacity:0.5; font-weight:normal; font-size:12px; }
.admin_table_input { box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.05); background: rgba(255, 255, 255, 0.00); }
.admin_table_input { border: 0; height: 20px; padding: 5px 10px; color: #555; font-size: 14px; text-align:center; }
.admin_cell_padding { padding:10px 15px !important; line-height:1.5; }
.admin_table a:link    { color:#555; text-decoration:none; border: 1px solid #EEE; border-radius:5px; padding:5px 10px; background-color:#fff; display:inline-block; margin:2px; }
.admin_table a:visited { color:#555; text-decoration:none; border: 1px solid #EEE; }
.admin_table a:active  { color:#555; text-decoration:none; border: 1px solid #EEE; }
.admin_table a:hover   { color:#555; text-decoration:none; border: 1px solid #999; }
.admin_red 			  	{ color:; }
.admin_red a:link     	{ color:; text-decoration:none; border: 1px solid #EEE;}
.admin_red a:visited  	{ color:; text-decoration:none; border: 1px solid #EEE;}
.admin_red a:active  	{ color:; text-decoration:none; border: 1px solid #EEE; }
.admin_red a:hover    	{ color:; text-decoration:none; border: 1px solid ;}
.admin_green 			  	 { color:; }
.admin_green a:link     { color:; text-decoration:none; border: 1px solid #EEE;}
.admin_green a:visited  { color:; text-decoration:none; border: 1px solid #EEE;}
.admin_green a:active 	 { color:; text-decoration:none; border: 1px solid #EEE; }
.admin_green a:hover    { color:; text-decoration:none; border: 1px solid ;}

/** ADMIN - PAGINATION **/

.admin_pagination { display:flex; font-weight:400; width:100%; }
.admin_pagination div { flex-grow:1; padding:5px 5px; }

/** ADMIN - MENU BUTTONS **/

.admin_menu p { margin:5px 5px; font-size:16px; }
.admin_menu i { margin-right:5px; }
.admin_menu a { border:1px solid #CCC; color:#555; border-radius:5px; padding:5px 10px; text-decoration:none; margin:5px; display:inline-block; }
.admin_menu a:hover { border:1px solid #999; background:#F8F8F8; }
.admin_menu_green { color: !important; }
.admin_menu_green:hover { border-color:#11BB11 !important; background:#F8FFF8 !important; }
.admin_menu_red { color: !important; }
.admin_menu_red:hover { border-color:#BB1111 !important; background:#FFF8F8 !important; }
.admin_menu input { border:1px solid #CCC; color:#555; border-radius:5px; padding:5px 10px 6px 10px; margin:4px 10px; font-size:16px; }
.admin_menu input:focus { border:1px solid #999; }
.admin_menu input:hover { border:1px solid #999; }
.admin_links         { color:#999; }
.admin_links a       { color:#555; text-decoration:none; }
.admin_links a:hover { color:#555; text-decoration:underline; }
.admin_form_group { background-color:#FDFDFD; padding:0px 20px 20px 20px; margin:10px 10px; border:1px solid #CCC; border-radius:5px; }
.admin_form_group:hover { border:1px solid #999; }
.admin_chart_wrap { border:1px solid #CCC; margin:10px 10px; padding:30px 20px 10px 20px; }
.admin_chart_wrap:hover  { border:1px solid #999; }

.grecaptcha-badge { visibility: hidden; }
.row { margin-left:0 !important; margin-right:0 !important; }
