
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }

:invalid { box-shadow: none; }
:disabled { outline:none; }
:focus:disabled { outline:none; }

input::-webkit-input-placeholder { opacity:.7; color:#000000; }
input::-moz-placeholder { opacity:.7; color:#000000; }
input:-ms-input-placeholder { opacity:.7; color:#000000; }

input:focus::-webkit-input-placeholder { opacity:0; }
input:focus::-moz-placeholder { opacity:0; }
input:focus:-ms-input-placeholder { opacity:0; }

select::-ms-expand { display: none; }

input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
button::-moz-focus-inner{
	border: 0;
	outline:none;
}

input.f_text, select.f_select, textarea.f_textarea, input.f_file
{
	position:relative;
	background-color:#fbfbfb;
	border:1px solid #999;
	border-radius:3px;
	width:auto;
	padding:10px;
	vertical-align:middle;
	color:#222;
	font-size:1rem;
	font-family: sans-serif;
	display:inline-block;
	text-align: inherit;
	resize:none;
	min-width:70px;	
}

label:hover input.f_text, label:hover select.f_select, label:hover textarea.f_textarea, label:hover .f_button,
input.f_text:hover, select.f_select:hover, textarea.f_textarea:hover, .f_button:hover
{
	border:1px solid rgba(11,72,109,.5);
}

label:hover input.f_text:invalid, label:hover select.f_select:invalid, label:hover textarea.f_textarea:invalid, label:hover .f_button:invalid,
input.f_text:hover:invalid, select.f_select:hover:invalid, textarea.f_textarea:hover:invalid, .f_button:hover:invalid
{	
	border:1px solid #990000 !important;
}

input.f_text:focus, select.f_select:focus, textarea.f_textarea:focus
{
	border:1px solid rgba(11,72,109,.5);
	color:#111;
	outline: none;
}

input.f_text:focus:invalid, select.f_select:focus:invalid, textarea.f_textarea:focus:invalid { border:1px solid #990000 !important; }

input.f_text:active, select.f_select:active, textarea.f_textarea:active
{
	color:#000; 
}

select.f_select, select.f_select:active, select.f_select:focus
{
	padding:8px 25px 8px 8px;
	-moz-appearance:none;
	-webkit-appearance:none;
	background-repeat: no-repeat;
	background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAARUlEQVQokd2LsQ3AIBDEGIPB7D1+DwZkHbpIQR+gSIXLO7uUSwAaEIs/gPYMalV7FgGhdrW+jiz6lLNoK8/RkTxFZ/LvDOSOKAX7MiCcAAAAAElFTkSuQmCC'), linear-gradient(to right, #ccc, #ccc);
	background-position: calc(100% - 4px) 50%, calc(100% - 20px) 50%;
	background-size: auto, 1px 25px;
}


input.f_text.f_readonly, select.f_select.f_readonly, textarea.f_textarea.f_readonly, .f_button.f_readonly,
label:hover input.f_text.f_readonly, label:hover select.f_select.f_readonly, label:hover textarea.f_textarea.f_readonly, label:hover .f_button.f_readonly
{
	border:1px solid #eee !important;
	cursor: default;
	background-color:#fefefe !important;
}


option { text-indent:5px; border:0; padding:0; }

textarea.f_textarea 
{ 
	min-height:100px;
	overflow:auto; 
	resize:vertical; 
}

input.f_checkbox, 
input[type="checkbox"], 
input.f_radio,
input[type="radio"]
{
	min-height:auto;
	min-width:auto;	
	margin:0 2px;
	padding:0;
	width:auto;
	box-shadow: none;
}

input.f_checkbox:hover,
input[type="checkbox"]:hover,
input.f_radio:hover,
input[type="radio"]:hover
{
	outline:1px dotted rgba(11,72,109,.5);
}

input.f_checkbox:focus,
input[type="checkbox"]:focus,
input.f_radio:focus,
input[type="radio"]:focus
{
	outline:1px dotted rgba(11,72,109,.5);
}

input[type="button"], input[type="submit"], input[type="reset"], .f_button
{
	-webkit-appearance:none;
	max-width:200px;
	min-width:100px;
	cursor:pointer;
	display:inline-block;
	width:auto;
	background-color:#0B486D;
	padding:10px;
	vertical-align:middle;
	color:#fff;
	border-radius:5px;
	border:1px solid #0B486D;
	font-family: "Avenir", Arial, sans-serif;
	font-size:1rem;
	text-transform: uppercase;
	outline:none;
	margin-right:10px;
}


input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, .f_button:hover
{ 
	background-color:#0058ba;
}

input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus, .f_button:focus { }

input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, .f_button:active
{
	background-color:#0058ba;
}


input.f_text.f_disabled, select.f_select.f_disabled, textarea.f_textarea.f_disabled, .f_button.f_disabled,
input.f_text:disabled, select.f_select:disabled, textarea.f_textarea:disabled, .f_button:disabled,
label:hover input.f_text.f_disabled, label:hover select.f_select.f_disabled, label:hover textarea.f_textarea.f_disabled, label:hover .f_button.f_disabled
{	
	cursor: default;
	background-color:#eee;
	border:1px solid #aaa;
	color:#777;
}

input[type="range"], 
input[type="range"]:hover,
input[type="range"]:disabled
{
	border:none !important;
	box-shadow: none !important;
	padding:0 !important;
	background-color: rgba(255,255,255,0) !important;
}

input[type="range"]:disabled,
input[type="range"].f_disabled { opacity: .5; }


input.f_submit.f_submitting,
input.f_submit.f_submitting:hover
{
	background-color:#0B486D;
	border:1px solid #0B486D;
	background-image: url('/images/site/spinner.gif');
	background-repeat: no-repeat;
	background-position: center;
	color:transparent;
	cursor: default;
}

.invalid_msg 
{ 
	position:absolute;
	line-height: 1.5;
	display: block;
	background-color:rgba(255,255,255,.99);
	box-shadow: #dedede 0 0 10px;
	z-index: 998;
	font-size: .9rem;
	font-weight:700;
	font-family: sans-serif;
	border:1px solid #aaa;
	border-radius: 5px;
	padding:7px 10px;
} 

.invalid_msg::before 
{
	content :'';
	display: block;
	width:10px;
	height:10px;
	position:absolute;
	top:-6px;
	border-right:1px solid #aaa;
	border-top:1px solid #aaa;
	transform:rotate(-45deg);
	background-color: #fff;
}

.form_wrapper 
{	
	margin-top:20px;
	margin-bottom:30px;
	position:relative;
}

form.form
{
	/*transition:opacity 500ms linear;*/
	color:#111;

}


div.f_section
{
	margin-top:5px;
	margin-bottom:5px;
}

div.f_submit_section
{
	padding-top:20px;
	border-top:1px solid #bbb;
}

div.f_section h4
{
	margin-top:0;
	margin-bottom:0;
	padding:0;
}

.f_field {  }
.f_field.f_required {  }

div.f_field { margin-top:20px; margin-bottom:25px; }

.f_label { margin-right:10px; }

.f_input { position: relative; }
span.f_input { margin-right:10px; display:inline-block; }
/*div.f_input { display:inline-block; }*/

.f_toggle .f_label
{
	margin-left:5px;
}

span.f_input input, 
span.f_input select, 
span.f_input textarea
{ 
	max-width:150px;	 
}

div.f_input input.f_text, 
div.f_input select.f_select, 
div.f_input textarea.f_textarea, 
div.f_input input.f_file 
{ 
	width:300px;
}

label { display:inline-block; }

/* L33t ninja selector: */
.f_required .f_label:not(span):before
{
	content : '\25cf';
	color:#990000;
	font-size:17px;
	position: absolute;
	display: block;
	/*left:-13px;*/
	margin-left:-13px;
	font-family: sans-serif;
}

.f_required .f_label { margin-left:14px; }

.f_submit_section .f_notice
{
	font-style: italic; 
}

.f_submit_section .f_result_msg
{
	font-weight: bold;
}

.f_submit_section .f_result_msg .f_required
{
	color:#990000;
	font-size:18px;
}


/* info */

.f_info_toggle
{
	content: '?';
	position: absolute;
	display: block;
	width: 20px;
	height: 100%;
	top:0;
	left:100%;
	margin-left: -20px;
	background-color: #eee;
	line-height: 2.4;
	text-align: center;
	border:1px solid #999;
	border-bottom-right-radius:3px;
	border-top-right-radius:3px;
	cursor: default;
	color:#999;
}

label:hover .f_info_toggle,
.f_info_toggle:hover { border:1px solid rgba(11,72,109,.5); color:#000; }

.f_field.f_required label:hover .f_info_toggle { border:1px solid #990000; }

.f_info
{	
	position: absolute;
	z-index: 9999;
	top:0;
	left:100%;
	margin-left:10px;
	height: inherit;
	visibility:hidden;
}

	.f_info p 
	{ 
		padding: 4px 10px;
		white-space: nowrap;
		background-color: #fbfbfb;
		border:1px solid #999;
		border-radius: 3px;
		margin: 0;
		
	}

	.card_info 
	{ 
		top:-200px !important; 
		background-color: transparent;
		border: none;
	}
	
		.card_info .card
		{
			width:325px;
			height:200px;
			background-color:#fff;
			color:#444;
			border:1px solid #aaa;
			border-radius:10px;
			position:relative;
			margin: 10px;
		}
		
			.card_info .card .barcode 
			{
				height:30px;
				width:100%;
				background-color:#444;
				margin:20px 0 10px 0;
			}
			
			.card_info .card .signiture
			{
				padding:10px;
				margin-bottom:10px;
				background-color:#CCC;
				position:relative;
			}
			
			.card_info .card .cardcode
			{
				color:#000;
				border:1px solid #900;
				padding:5px;
				border-radius:20px;
				font-style:italic;
				display:inline-block;
				position:absolute;
				top:0;
				right:20px;
				font-size:.9rem;
			}
			
			.card_info .card .details
			{
				padding:0 20px;
				line-height:1.5rem;
			}
		
			.card_info .card_amx
			{
				margin-top:10px;
			}
			
			.card_info .card_amx .cardnumber
			{
				margin-top:30px;
				margin-bottom:6px;
				padding:8px 10px;
				margin-left:5px;
				font-size:1.4rem;		
			}
			
			.card_info .card_amx .cardcode
			{
				border:1px solid #900;
				padding:5px;
				border-radius:20px;
				font-style:italic;
				display:inline-block;
				font-size:.9rem;
				position:absolute;
				top:20px;
				right:20px;
				/*font-size:smaller;*/
				color:#222;
			}
	
	
/* payment fields */
div.f_cc_icons
{ 
	font-size:60px;
	color:rgba(11,72,109,1);
	line-height:1;
}

	div.f_cc_icons * { margin-right:2%; }
	
.f_cc_number .f_text 
{ 
	width:70px;
	text-align: center;
}