/* -----  X: FORM FIELDS ---------- */

textarea, input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]), select {
	box-sizing: border-box;
	padding: 3px 10px;
	font-size: 15px;
	line-height: 22px;
	color: #444;
	border: 1px solid #ccc;
	border-radius: 3px;
}

input:not([type="radio"]):not([type="checkbox"]), select {
	height: 32px;
}

/* Large input styles */
input:not([type="radio"]):not([type="checkbox"]).large_text_input {
	height: 35px; 
}

input:not([type="radio"]):not([type="checkbox"]).sm_text_input {
	height: 30px; 
	font-size: 13px !important;
}

select {
	color: #444;
	min-width: 160px;
	border: 1px solid #bebebe;
	-webkit-appearance: none;
	border-radius: 3px;
	color: #333;
	font-size: 14px;
	display: inline-block;
	user-select: none;
	text-align: left;
	position: relative;
	background-color: #f1f1f1;
	cursor: auto;
	padding-right: 35px !important;

	background-image: url('pulldown.svg');
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
}
select option {padding: 3px 0 3px 7px;}
select:disabled { color: #bbb; }

.regForm a {
  color: #0084e6;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
	text-decoration: underline;
}


input[type=file] {
	padding-top: 8px !important;
	font-size: 13px !important;
}

.formInputHelpText {
	display: block;
	padding-top: 8px;
}



input.small_text_input {
height: 14px; 
color: #666; 
font-size: 12px; 
padding: 0;
}


.inputWButton {
	padding-right: 5px;
}
@media only screen and (max-width: 767px) {
	.inputWButton {
		margin-bottom: 10px;
	}
}

.formField.-full {
	width: 100%;
}

.formFieldHelpText {
	display: block;
	margin-top: 3px;
	color: #999;
	font-size: 12px;
	line-height: 1.3;
}

@media only screen and (min-width: 768px) {
	.Desc {
		margin-left: 7px;
	}
}
.formFieldDesc.-inlineBlock img, .formFieldDescText img {
	position: relative;
	top: 3px;
}
.formFieldDesc.-inlineBlock {
	display: inline-block;
	line-height: 30px;
}
.formFieldDesc.-inlineBlock a, .formFieldDescText a {
	vertical-align: middle;
	font-size: 15px;
}
.formFieldHelpText.-desc {
	font-style: italic;
	font-size: 12px;
	color: #707070;
}
.formFieldDescText {
	display: inline-block;
	line-height: 30px;
}
@media only screen and (min-width: 768px) {
	.formFieldDescText {
		margin-left: 10px;
	}
}

textarea.large_text_input {
	color: #666; 
	line-height: 20px; 
	font-size: 18px; 
	padding-top: 5px; 
	padding-left: 5px;
}



/* table header style */

.form_content h1 {
	border-bottom: 1px solid #cacaca;
	padding-bottom: 5px;
}
.form_content h1 + table, 
.formSection { 
	margin: 20px 0;
}
.formSection.-top {
	margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
	.form_content h1 + table, 
	.formSection { 
		margin-top: 35px;
		margin-bottom: 65px;
	}
	.formSection.-top {
		margin-top: 65px;
	}
}
.formSection.-sm {
	margin-bottom: 25px;
}
.form-tight {
	margin-bottom: 0 !important;
}

.form_content table {
	width: 100%;
}
.form_content tr {
	background-color: transparent;
}
.form_content tr.no_highlight {
	background-color: transparent;
}

form td {
	position: relative;
}
.form_content td,
.regForm td {
	padding: 8px 0;
	vertical-align: top;
	line-height: 22px;
}

.form_content h2,
.form_content .labels h3,
.formrow-label,
.regForm b,
.regForm td,
.form_content input,
.form_content select,
.regForm input,
.regForm select {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	color: #444 !important; /* override inline colors */
	font-weight: normal !important; /* override inline style */
	position: relative;
}
select:disabled, .regForm select:disabled {
	opacity: 0.4;
    background-color: #e4e4e4;
    border-color: #999;
    cursor: not-allowed;
}
input:disabled, .regForm input:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
@media only screen and (min-width: 768px) {
	.form_content h2,
	.form_content .labels h3,
	.formrow-label,
	.regForm b {
		font-size: 14px;
	}
}
.formrow-label {
	padding-bottom: 3px;
}

.form_content .inputs ul {
	margin-left: 20px;
}

/* --- Form Labels -----------------*/

.form_content .labels,
.regForm td.registration_cell1 {
	width: 175px;
	padding: 18px 26px 12px 0;
	text-align: right;
	vertical-align: top;
	font-size: 14px;
	color: #444; 
	line-height: 17px;
}
.form_content.-lrgLabels .labels,
.regForm.-lrgLabels td.registration_cell1 {
	width: 235px;
	padding: 18px 12px 12px 0;
}
.form_content .labels h2,
.form_content .labels h3,
.form_content .labels b {
	position: relative;
	line-height: inherit;
	font-weight: normal;
}
.form_content .labels > h2 + small {
	display: block;
	line-height: 1;
}



.form_content.-readOnly .labels {
	padding: 6px 12px 6px 30px;
}
.form_content.-readOnly .labels h2,
.form_content.-readOnly .labels h3 {
	font-size: 13px;
	color: #999 !important;
}
.form_content.-readOnly .inputs:not(.formButtons) {
  padding: 1px 0;
}



.asterisk,
.registration_asterisk {
	position: absolute;
	font-size: 20px;
	color: #d03f2c !important;
	top: -2px;
	right: -11px;
	font-weight: bold;
}
.formrow-label.-required, .requiredIcon {
	position: relative;
}
.formrow-label.-required:before, .requiredIcon:before {
	content: "\0002A";
	position: absolute;
	color: #d03f2c !important;
	font-weight: bold;
	font-size: 20px;
	width: 12px;
	top: -1px;
	right: -11px;
}
.registration_cell1.required .registration_asterisk,
.registration_cell1 > .registration_asterisk {
	top: 20px;
	right: 16px;
}
.footnote, .validation-advice {
	display: block;
	color: #d03f2c;
	font-size: 13px;
	text-align: left;
}


/* --- Form row content blocks ---------------*/

.form_content .inputs,
.regForm td.registration_cell2 {
	font-size: 15px;
	color: #444;
	padding: 10px 0;
}
.form_content .inputs.-blockLabel {
	padding-top: 8px;
	vertical-align: middle;
}
@media only screen and (min-width: 768px) {
	.form_content .inputs.-blockLabel {
		padding-top: 22px;
		vertical-align: middle;
	}
}
.form_content .inputs input {
	line-height: 18px;
	padding-top: 5px;
	width: 300px;
}
.inputs-container {
	max-width: 300px;
}
.form_content .inputs p {
	margin: 0;
	padding: 1px;
}
.form_content .inputs strong {
	font-size: 15px;
}
.form_content .inputs a:not(.btn) {
	font-size: 14px;
}
@media only screen and (min-width: 768px) {
	.inputLeadingHeight {
		line-height: 38px;
	}
}

.form_content .inputs .checkbox:first-child + .checkbox-label,
.form_content .inputs .radio:first-child + .radio-label {
	margin-top: 6px;
}
.form_content .inputs input,
.form_content .inputs select {
	vertical-align: top;
}
@media (min-width: 768px) {
	.radioHelpTip {
		position: relative;
		top: 6px;
	}
}


.form_content .labels.-vertical {
	text-align: left;
	width: auto;
	display: inline-block;
	padding-bottom: 10px;
}




.form_content .inputs .formField.-phone,
.form_content .inputs .formField.-sm {
	width: 150px;
}
#postal_code, .regForm #PostalCode, #PostalCode, #personal_postal_code {
	width: 120px !important;
}
#cc_code {
	width: 70px !important;
}
#cc_m,
#cc_y {
	width: 116px !important;
	min-width: auto;
	margin-right: 6px;
}

.helpTip img {
	padding: 3px 0 7px 11px;
}
@media (min-width: 768px) {
	.helpTip img {
		padding: 7px 0 7px 11px;
	}
}



/* --- Credit Card table -------------------*/

table.CreditCardType {
	border: 0px;
	margin-top: 0;
	width: auto !important;
	position: absolute;
	right: 0px;
	top: 3px;
}
table.CreditCardType td {
	vertical-align: middle;
	padding: 0;
	display: inline-block;
}
@media only screen and (max-width: 767px) {
	table.CreditCardType {
		right: 5px;
		top: -5px;
	}
}
@media only screen and (max-width: 499px) {
	table.CreditCardType td {
		width: 44px !important;
	}
}
.CreditCardType .radio-label {
	margin-right: 4px;
	padding-left: 24px;
}
.CreditCardType .radio-label:before {
	top: 6px;
}
.CreditCardType input[type=radio]:checked + .radio-label:after {
	top: 11px;
} 

p.required_note {
	font-size: 13px !important;
}
.checkRoutingNote {
	display: block;
	padding: 2px 0 12px;
	color: #999;
	font-size: 13px;
	line-height: 1.3;
}

.inputs table.CreditCardType td {
	width: 47px !important;
}
.inputs .paymentCards.paymentCards {
	height: 24px;
	width: 40px;
	background-size: 40px;
}
.inputs .paymentCards.-mastercard {
	background-position: 0 -26px;
}
.inputs .paymentCards.-amex {
	background-position: 0 -52px;
}
.inputs .paymentCards.-discover {
	background-position: 0 -79px;
}
.inputs .paymentCards.-jcb {
    background-position: 0 -158px;
}
.inputs .paymentCards.-diners {
    background-position: 0 -185px;
}






/* ----------- NEW FORM LAYOUT ------------*/

.form_content .required_note {
	position: relative;
	display: inline-block;
	text-align: left;
	padding: 0;
}
.formrow-tight {
	padding: 0 !important;
}
@media only screen and (min-width: 500px) {
	.form_content .required_note {
		display: inline-block;
		text-align: right;
		float: right;
		padding-top: 7px;
	}
}

#anonymous_note {
	max-width: 350px;
	clear: left; 
	font-size: 12px !important; 
	color: #777;
}
#anonymous_note a, #anonymous_note small {
	font-size: 12px !important; 
}




/* --- Input Bookends -------------------*/

.inputBookend-container {
	display: inline-block;
	vertical-align: top;
}

.inputBookend {
	background: #f5f5f5;
	padding: 0 8px 0 8px;
	border: 1px solid #ccc;
	border-right-width: 0;
	border-radius: 3px;
	line-height: 29px;
	height: 30px;
	display: inline-block;
	vertical-align: top;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
input + .inputBookend {
	padding: 0 8px;
	border-left: 0;
	border-right-width: 1px;
	border-radius: 0 3px 3px 0 !important;
}
.inputBookend + input {
	display: inline-block;
	width: auto !important;
	border-radius: 0 3px 3px 0 !important;
	position: relative;
	z-index: 1;
	min-width: 100px;
}
.inputBookend.-both + input {
	border-radius: 0 !important;
}
@media only screen and (max-width: 767px) {
	.inputBookend {
		height: 34px;
		line-height: 34px;
	}
}

.inputBookend.-lrg {
	height: 40px;
	line-height: 42px;
	font-size: 20px;	
}
.inputBookend.-lrg + input {
	font-size: 20px !important;
	line-height: 42px !important;
	height: 42px !important;
}

.formContentBlock.-inline {
	display: flex;
	align-items: center;
}
.formContentBlock.-inline input + input {
	margin-left: 10px;
}
.formContentBlock.-inline input {
	flex: 1;
	width: 100%;
}

@media only screen and (min-width: 768px) {
	.formContentBlock.-inline {
		max-width: 360px;
	}
}





@media only screen and (max-width: 767px) {
	
	.form_content tr, .form_content .formrow {
		display: block;
		padding-top: 4px;
		padding-left: 0 !important; /* override desktop styles */
		padding-bottom: 8px;
		clear: left;
	}

	.form_content .formrow-group {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.form_content .labels, .formrow-label {
		display: block;
		width: auto;
		text-align: left !important;
		padding: 0 0 2px 0 !important;
		border: none;
		font-size: 13px;
		line-height: 22px;
	}
	.formrow-inlineLabels .labels {
		padding: 0 !important;
	}

	.form_content .labels h2,
	.form_content .labels h3,
	.form_content .labels b {
		display: inline-block;
		font-size: 13px;
	}
	.form_content .labels > h2 + small {
		display: block;
		line-height: 1;
		padding-bottom: 5px;
	}
	.form_content .inputs {
		display: block;
		width: auto;
		padding: 0;
	}
	.form_content .inputs.-flex {
		display: flex;
		align-items: center;
	}
	.form_content .inputs.-flex span:first-child {
		flex: 1;
		margin-right: 10px;
	}
	.formrow-input, 
	.form_content .inputs input,
	.form_content input {
		width: 100%;
	}
	.form_content input:not([type="radio"]):not([type="checkbox"]),
	.form_content select {
		height: 36px;
		padding-left: 7px;
	}
	.form_content textarea {
		padding: 8px;
		width: 100%;
	}
	.form_content select, #country {
		width: 100% !important;
	}
	.form_content .-smMobile {
		width: 150px !important;
	}
	.form_content input[type=radio], 
	.form_content input[type=checkbox] {
	  display: inline-block;
	  width: auto;
	}
/*	#postal_code, .regForm #PostalCode {
		width: 120px !important;
	}
	.regForm #HomePhone {
		width: 140px !important;
	}
*/	
	.asterisk, .required_note span, .registration_asterisk {
		float: right;	
		padding-left: 5px;
		color: #C51D1D !important; /* overrides inline styles in reg form */
		font-size: 20px;
		font-weight: bold;
	 }
	 .em_1 {
	 	margin-left: 0 !important;
	 }

	#donation_amount {
		width: 150px !important;
	}
	#new_donors td {
		display: block;
	}

} /* end media query */

@media only screen and (max-width: 767px) {
	.form_content h1 + .btn {
		width: 100%;
		margin-bottom: 20px !important;
		margin-top: 5px;
	}
}
@media only screen and (min-width: 600px) {
	.form_content .form-header {
		float: left;
		margin-top: 7px;
	}
}

.form_content .formButtons,
.formButtons,
.regForm .formButtons {
	text-align: right;
	padding-left: 0;
	padding-top: 15px;
	border-top: 1px solid #cacaca;
}



/* ----- X: REGISTRATION FORM ---------- */

.regForm {
margin-bottom: 20px;
}
.regForm td {
padding: 0;
}

.regForm tr {
background-color: #fff;
}
.regForm td.registration_cell1 b {
	position: relative;
}
.regForm td.registration_cell2 tr {
	background-color: transparent;
}
#tab_window_content .note {
font-style: italic;
font-size: 12px;
}

.registration_row.country .registration_cell3 {
	display: none;
}




@media only screen and (max-width: 767px) {
	.regForm table {
	  width: 100%;
	}
	.regForm tbody > tr {
		display: block;
	}
	.regForm #Address2#Row {
		padding-top: 0;
	}
	.regForm td {
		display: block;
		vertical-align: top;
		line-height: 22px;
	}
	.regForm b {
		display: inline-block;
	}
	.registration_row {
		height: auto !important; /* override inline styles */
	}
	.registration_row:before, .registration_row:after {
		content: "";
		display: table;
	}
	.registration_row:after {
		clear: both;
	}
	/* form labels */
	.regForm td.registration_cell1 {
	  display: inline-block;
	  width: auto;
	  text-align: left;
	  padding: 9px 0 3px 0 !important;
	  border: none;
	  font-size: 13px;
	  text-align: left !important;
	}
	.regForm td.registration_cell2 {
	  display: block;
	  width: auto;
	  padding: 0 !important; /* to override inline styles */
	}
	.regForm .registration_row .registration_cell2 > table > tbody > tr {
		padding: 0;
	}
	.registration_cell3,
	.registration_cell4,
	.registration_cell5 {
		display: block;
	}
	.regForm textarea, 
	.regForm input:not([type="radio"]):not([type="checkbox"]),
	.regForm select {
		height: 32px;
		padding: 4px 8px;
		width: 100% !important;
	}
	.regForm .inputBookend + input:not([type="radio"]):not([type="checkbox"]) {
		width: auto !important;
	}
	.regForm select {
		width: 100% !important;
	}
	.regForm input[type=radio], 
	.regForm input[type=checkbox] {
	  display: inline-block;
	  width: auto;
	}
	#fe_manager_form td.registration_cell1 {
		padding-bottom: 6px !important;
	}
	.TitleBox table td {
		display: block;
		width: 100%;
	}
	.TitleBox h2 {
		padding-bottom: 15px;
	}
	.address2 .registration_cell1,
	.isspouse .registration_cell1,
	.churchaddress2 .registration_cell1,
	.church_show_fields,
	.registration_cell1.-checkboxNoLabel {
		display: none !important;
	}
	.registration_cell4.-checkboxNoLabel {
		margin-top: 8px;
	}
	.address2 td.registration_cell2,
	.churchaddress2 td.registration_cell2 {
		padding-top: 5px !important;
	}
	#AdditionalPersonTable .asterisk, 
	#AdditionalPersonTable .registration_asterisk {
		position: static;
	}
    #RegistrationForm.regForm td {
		padding-top: 0;
	}
    #RegistrationForm td + td .note {
		margin-top: -20px !important;
    }
}

@media only screen and (min-width: 768px) {
	#RegistrationForm .form_content .labels, 
	#RegistrationForm.regForm td.registration_cell1 {
		width: 30%;
	}
	#AdditionalPersonTable {
		margin-left: -80px;
		width: 102%;
	}
}

#RegistrationForm .note {
	margin-top: -5px !important;
	font-size: 12px;
	line-height: 1.4;
}
#RegistrationForm td + td .note {
	margin-top: -10px !important;
}
#RegistrationForm .registration_cell1:only-child {
  display: none !important;
}
#RegistrationForm .TitleBox .note {
	display: none;
}



#fe_manager_form {
	margin-bottom: 0;
	width: 100%;
}
@media only screen and (min-width: 768px) {
	.t-ml-15 {
		margin-left: 15px;
	}
}

/* regForm cells clearfixed for checkboxes/radios floated */
.regForm td:before,
.regForm td:after {
    content: " ";
    display: table;
}

.regForm td:after {
    clear: both;
}

.regForm td {
    *zoom: 1;
}





/* --- Checkboxes & Radios ------------- */

input[type=checkbox] {
	margin: 6px 8px 0 0;
	float: left;
	width: auto !important; /* override the default width */
}
input[type=radio] {
	position: relative;
	top: -1px;
	margin-top: 7px;
	margin-right: 3px;
	width: auto !important; /* override the default width */
}

.checkbox, .radio {
	/*visibility: hidden;*/
	position: absolute;
	left: -9999px;
	margin-left: -20px !important;
	margin-top: -15px !important;
}
.radio {
	margin-left: -15px !important;
}
.checkbox-label, .radio-label {
	display: inline-block;
	float: left;
	clear: left;
	position: relative;
	padding-bottom: 5px;
	text-align: left;

	padding-left: 26px;
	padding-top: 2px;
	line-height: 22px;
	font-size: 14px;
	min-height: 29px;
	color: #333;
}
.checkbox-label.-s, .checkbox-label.-s {
	font-size: 12px;
	line-height: 18px;
}
.checkbox-label.-horizontal, 
.radio-label.-horizontal {
	float: none;
}
.checkbox-label.-inline, .radio-label.-inline {
	display: inline-block;
}
.radio-label {
	margin-right: 12px;
}
.checkbox-label:before, .radio-label:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 3px;
	background-color: #fff;
	border: 1px solid #bebebe;
	border-radius: 3px;
	
	width: 17px;
	height: 17px;
}

.radio-label:before {
	border-radius: 100%;
	width: 18px;
	height: 18px;
}
input[type=radio]:checked + .radio-label:before,
input[type=checkbox]:checked + .checkbox-label:before {
	background-color: #f5f5f5;
}
input[type=radio]:focus + .radio-label:before,
input[type=checkbox]:focus + .checkbox-label:before {
	border-color: #74B8FF;
	box-shadow: 0 0 1px 1px #74B8FF;
}
input[type=radio]:checked + .radio-label:after,
input[type=checkbox]:checked + .checkbox-label:after {
	content: "";
	background: url('checkbox-checkmark.svg') no-repeat;
	position: absolute;
	left: 4px;
	top: 9px;
	width: 18px;
	height: 18px;
}
input[type=radio]:checked + .radio-label:after {
	background-image: url('radio-circle.svg');
	left: 5px;
	top: 8px;
}

.checkbox-link {
	display: block;
	clear: both;
}

@media only screen and (min-width: 768px) {
	.checkbox-label, .radio-label {
		position: relative;
		top: 4px;
	}
}




/* Address Block */

.address {
	margin-left: 20px;
	margin-top: 8px;
}
.address strong {
	font-weight: normal;
}




#country {
	width: 170px;
}
#FE_Photo_Uploader {
	float: left;
	clear: left;
}


.modalForm {
	padding: 20px;
}
.modalForm table {
	margin-right: 50px;
}




/* --- Responsive Vertical Form Layout ------------------- */

.responsiveVerticalForm.form_content tr,
.responsiveVerticalForm.form_content .formrow {
	display: block;
	padding-top: 4px;
	padding-left: 0 !important; /* override desktop styles */
	padding-bottom: 8px;
	clear: left;
}

.responsiveVerticalForm.form_content .formrow-group {
	padding-top: 15px;
	padding-bottom: 15px;
}

.responsiveVerticalForm.form_content .labels,
.responsiveVerticalForm .formrow-label {
	display: block;
	width: auto;
	text-align: left;
	padding: 0 0 2px 0 !important;
	border: none;
	font-size: 13px;
	line-height: 22px;
}
.responsiveVerticalForm	.formrow-inlineLabels .labels {
	padding: 0 !important;
}

.responsiveVerticalForm.form_content .labels h2,
.responsiveVerticalForm.form_content .labels h3 {
	display: inline-block;
	font-size: 13px;
}
.responsiveVerticalForm.form_content .labels > h2 + small {
	display: block;
	line-height: 1;
	padding-bottom: 5px;
}
.responsiveVerticalForm.form_content .inputs {
	display: block;
	width: auto;
	padding: 0;
}
.responsiveVerticalForm.form_content .inputs.-flex {
	display: flex;
	align-items: center;
}
.responsiveVerticalForm.form_content .inputs.-flex span:first-child {
	flex: 1;
	margin-right: 3px;
}
.responsiveVerticalForm	.formrow-input, 
.responsiveVerticalForm.form_content .inputs input,
.responsiveVerticalForm.form_content input {
	width: 100%;
}
.responsiveVerticalForm.form_content input:not([type="radio"]):not([type="checkbox"]),
.responsiveVerticalForm.form_content select {
	height: 36px;
}
.responsiveVerticalForm.form_content textarea {
	padding: 8px;
	width: 100%;
}
.responsiveVerticalForm.form_content select, 
.responsiveVerticalForm.form_content #country {
	width: 100%;
}
.responsiveVerticalForm.form_content input[type=radio], 
.responsiveVerticalForm.form_content input[type=checkbox] {
  display: inline-block;
  width: auto;
}
.responsiveVerticalForm	.asterisk,
.responsiveVerticalForm	.required_note span,
.responsiveVerticalForm	.registration_asterisk {
	float: right;	
	padding-left: 5px;
	color: #C51D1D !important; /* overrides inline styles in reg form */
	font-size: 20px;
	font-weight: bold;
 }
.responsiveVerticalForm	 h1 + .btn {
 	width: 100%;
 	margin-bottom: 20px !important;
 	margin-top: 5px;
 }
.responsiveVerticalForm	 .em_1 {
	margin-left: 0 !important;
}





/* --- AE Template Layout -----------*/

/*#wrapper, td.page_container {
	max-width: 849px;
	width: 100%;
}
#wrapper table {
	width: 100%;
}
#header, #header img {
	max-width: 800px;
	width: 100%;
}
#body {
  max-width: 750px;
  width: 100%;
}
#footer p {
	max-width: 600px;
	width: 100%;
}*/

input[type=button]:not(.btn),
input[type=submit]:not(.btn) {
  margin: 10px;
  display: inline-block;
  box-sizing: border-box;
  font-family: 'Proxima Nova', 'Helvetica', Arial, sans-serif;
  text-align: center;
  border-radius: 3px;
  color: #333;
  padding: 6px 15px;
  line-height: 24px;
  text-decoration: none;
  font-size: 13px;
  border: 1px solid #cacaca;
  cursor: pointer;
  font-size: 15px;
  background-color: #F0F0F0;
}
input[type=button]:not(.btn):hover,
input[type=submit]:not(.btn):hover {
	background: #dcdcdc;
}

.text-smX { font-size: 14px !important; }

@-webkit-keyframes spin {
	0% {
	    -webkit-transform: rotate(0deg);
	}

	100% {
	    -webkit-transform: rotate(360deg);
	}
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

.loader {
	-webkit-animation: spin .75s infinite linear;
	        animation: spin .75s infinite linear;
}

.processing-title {
	display: inline-block;
}
.text-danger {color: #d03f2c;}

/* BUBBLE ALERTS */
.bubble_alert_info {
  background-color: #e7f5ff;
  border: 2px solid #a4cdec;
  border-radius: 8px;
  padding-right: 10px;
  max-width: 670px;
}

.bubble_alert_warning {
  background-color: #fff7e7;
  border: 2px solid #ebd2aa;
  border-radius: 8px;
  padding-right: 10px;
  max-width: 670px;
}

.bubble_alert_success {
  background-color: #eafade;
  border: 2px solid #b4d798;
  border-radius: 8px;
  padding-right: 10px;
  max-width: 670px;
}

.bubble_alert_error {
  background-color: #ffecea;
  border: 2px solid #f2afa6;
  border-radius: 8px;
  padding-right: 10px;
  max-width: 670px;
}

.mt-2 { margin-top: 20px; }
.p-0 { padding: 0 !important; }


#RegistrationFullName {
	display: none;
}


.inlineblock {
	display: inline-block !important;
}
.va-top {
	vertical-align: top !important;
}
.relative {
	position: relative;
}
@media only screen and (max-width: 767px) {
	.m-block {
		display: block !important;
	}
	.g-recaptcha, .g-recaptcha iframe {
		margin-left: -10px;
		position: relative;
		left: 8px;
	}
}

.pt-0 { padding-top: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }