/*********************************
 COMMON RULES
 ********************************/

.pc_login_form, .pc_login_form *,
.pc_registration_form, .pc_registration_form *,
.pc_custom_form, .pc_custom_form *, 
.pc_logout_btn, .pc_logout_btn * {
	box-sizing: border-box;	
	text-align: left;
}
.pc_field_container {
	position: relative;	
}
.pc_field_container input {
	min-width: 100%;
	width: 100%;	
}
.pc_registration_form .grecaptcha-badge {
	display: none !important;	
}


/* forms alignment */
.pc_aligned_form {
	display: block;
}
.pc_falign_left 	{text-align: left;}
.pc_falign_center 	{text-align: center;}
.pc_falign_right 	{text-align: right;}

/* containers style */
.pc_registration_form,
.pc_login_form,
.pc_custom_form {
	width: 100%;
	display: inline-block;
    margin: 0 0 20px;
    padding: 19px 24px;
}
.pc_login_form {
	padding: 15px 24px 23px;	
}
.pc_nolabel .pc_login_form {
	padding: 19px 24px 23px;		
}


/* fields style */
.pc_rf_field input, .pc_rf_field textarea,
.pc_login_row input, .pcma_psw_username,
.pc_rf_field .ms-choice {
	display: block !important;
	min-width: none;
	max-width: none;
	margin: 0 ;
	font-size: 14px !important;
	line-height: 20px !important;
	height: auto !important;
	
	-webkit-transition: all .15s ease-in-out; 
	transition: 		all .15s ease-in-out;
}


/* text blocks */
.pc_form_txt_block {
	min-width: 100%;	
}


/* field icons */
.pc_field_w_icon input,
.pc_field_w_icon .ms-choice {
	padding-left: 35px;	
}
.pc_field_icon {
	display: inline-block;
	position: absolute;
	left: 1px;
	top: 1px;
	bottom: 1px;
	background: #f2f2f2;
	width: 30px;
	z-index: 1;
	box-sizing: content-box;
	line-height: 0;
	
	-webkit-transition: all .15s ease-in-out; 
	transition: 		all .15s ease-in-out;
}
.pc_field_icon i {
    position: absolute;
    top: 50%;
	left: 50%;
	font-size: 16px;
	line-height: 0;
	
	-webkit-transform: 	translate(-50%, -50%);
	-ms-transform: 		translate(-50%, -50%);
    transform: 			translate(-50%, -50%);	
}


/* bottom border mode */
.pc_bottomborder .pc_login_row input, .pc_bottomborder .pc_login_row input:hover, .pc_bottomborder .pc_login_row input:focus, .pc_bottomborder .pc_login_row input:active,
.pc_bottomborder .pc_rf_field input:not([type=checkbox]), .pc_bottomborder .pc_rf_field input:not([type=checkbox]):hover, .pc_bottomborder .pc_rf_field input:not([type=checkbox]):focus, .pc_bottomborder .pc_rf_field input:not([type=checkbox]):active,
.pc_bottomborder .pc_rf_field textarea, .pc_bottomborder .pc_rf_field textarea:hover, .pc_bottomborder .pc_rf_field textarea:focus, .pc_bottomborder .pc_rf_field textarea:active,
.pc_bottomborder .pc_rf_field button.ms-choice, .pc_bottomborder .pc_rf_field button.ms-choice:hover, .pc_bottomborder .pc_rf_field button.ms-choice:focus, .pc_bottomborder .pc_rf_field button.ms-choice:active {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;	
}
.pc_bottomborder .pc_field_icon {
	left: 0 !important;	
	box-shadow: none !important;
}


/* no labels mode */
.pc_nolabel .pc_text_ftype > label,
.pc_nolabel .pc_password_ftype > label,
.pc_nolabel .pc_select_ftype > label,
.pc_nolabel .pc_assoc_select_ftype > label,
.pc_nolabel .pc_textarea_ftype > label,
.pc_nolabel .pc_login_row > label {
	display: none !important;	
}
.pc_nolabel .pc_text_ftype,
.pc_nolabel .pc_password_ftype,
.pc_nolabel .pc_select_ftype,
.pc_nolabel .pc_assoc_select_ftype,
.pc_nolabel .pc_textarea_ftype,
.pc_nolabel .pc_checkbox_ftype, 
.pc_nolabel .pc_single_checkbox_ftype {
	margin-top: 5px !important;	
	margin-bottom: 18px !important;	
}
.pc_nolabel .pc_login_row {
	margin-top: 5px !important;	
	margin-bottom: 18px !important;		
}



/* submit buttons */
.pc_login_form input[type="button"], .pc_login_form button, 
.pc_widget_login input[type="button"], .pc_widget_login button, 
.pc_registration_form input[type="button"], .pc_registration_form button:not(.ms-choice),
.pc_custom_form input[type="button"], .pc_custom_form button:not(.ms-choice),
.pc_logout_btn, .pc_logout_btn:active,
.pc_warn_box_btn {
	cursor: pointer;
	font-size: 14px;
    padding: 5px 15px;
	height: auto !important;
    line-height: normal !important;
	position: relative;	
	
	-webkit-transition: width .15s ease-in-out, background-color .15s ease-in-out, color .15s ease-in-out; 
	transition: 		width .15s ease-in-out, background-color .15s ease-in-out, color .15s ease-in-out;
}

.pc_login_form button i,
.pc_widget_login button i,
.pc_registration_form button i,
.pc_custom_form button i,
.pc_logout_btn i,
.pc_warn_box_btn i {
	font-size: 98%;
    padding-right: 8px;
}



/* v5.3 loader */
.pc_inner_btn {
	box-sizing: content-box;	
	padding-right: 0px;
	
	-webkit-transition: color .2s ease-in-out, padding .3s ease .1s; 
	transition: 		color .2s ease-in-out, padding .3s ease .1s; 
}
.pc_loading_btn .pc_inner_btn {
	padding-right: 18px;
}
.pc_inner_btn:after {
	content: "";
	display: inline-block;
	position: absolute;
	border-radius: 50%;
	background: #888;
	
	right: 6px;
	top: 50%;
	margin-top: -9px;

	width: 18px;
	height: 18px;
	visibility: hidden;
	
	-webkit-transition: visibility 0s ease 0s; 
	transition: 		visibility 0s ease 0s;  
}
.pc_loading_btn .pc_inner_btn:after {
	visibility: visible;
	
	-webkit-animation: pc_btn_loader .9s infinite .2s ease-in-out;
	animation: pc_btn_loader .9s infinite .2s ease-in-out;
	
	-webkit-transition: visibility 0s ease .2s; 
	transition: 		visibility 0s ease .2s; 
}

@-webkit-keyframes pc_btn_loader {
  0% { 
    -webkit-transform: scale(0);
  } 
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}
@keyframes pc_btn_loader {
  0% { 
    transform: scale(0);
  } 
  100% {
    transform: scale(1.0);
    opacity: 0;
  }
}



  
/*********************************
 STANDARD LOGIN FORM ELEMENTS
 ********************************/


/*** inline restriction message ***/
.pc_warn_box {
	border-color: #ffcc47;
    border-style: solid;
    border-width: 4px 4px 4px 54px;
	border-radius: 2px;
    line-height: normal;
    padding: 11px 14px;
    position: relative;
	margin: 20px auto;
	max-width: 620px;
	
	/* show with a little bounce */
	-webkit-animation: pc_show_mess .3s cubic-bezier(0.17, 0.3, 0.55, 1.8);
	animation: pc_show_mess .3s cubic-bezier(0.17, 0.3, 0.55, 1.8); 
}
.pc_warn_box:before {
	content: "\f06a";
	font-family: fontawesome;
	position: absolute;
	left: -52px;
	top: 50%;
	width: 50px;
	text-align: center;
	height: 30px;
	color: #fff;
	font-size: 30px;
	line-height: 26px;
	margin-top: -13px;
	text-shadow: 2px 2px 6px rgba(100, 100, 100, 0.05);
}
.pc_warn_box span.pc_warn_box_btn {
    margin: 12px 10px 1px 0 !important;
	position: static !important;
	float: none !important;
	display: inline-block !important;
}


/**********/


  
.pc_login_form:not(.pc_widget_login) {
    max-width: 335px;   
}
@media screen and (min-width:441px) { 
	.pc_login_form:not(.pc_widget_login) {
		min-width: 335px;   
	}
}
.pc_login_row {
	vertical-align: middle;
	margin-bottom: 11px;
	position: relative;	
	display: table;	
	width: 100%;
}
.pc_login_row label {
    display: table-cell;
	vertical-align: middle;
	padding: 0 3% 0 0;
	margin: 0 !important;
	width: 38.2%;
	
	font-size: 15px;
	line-height: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-webkit-hyphens: 	auto;
	-ms-hyphens: 		auto;
	-moz-hyphens: 		auto;
	hyphens: 			auto;
}
.pc_login_row input {
	display: table-cell;
	vertical-align: middle;
    margin: 0 !important;
    width: 100% !important;
	min-width: 100%;
	vertical-align: top;
}
.pc_login_smalls {
	height: 15px;
    text-align: right;
	line-height: 0;
	margin-bottom: -7px; /* value equal to button's top padding */
}
.pc_login_form .pc_auth_btn {
	float: left;
    margin-top: -18px;	
}
#pc_auth_message {
	min-height: 6px;	
	margin-bottom: 18px;
}




/* button */
.pc_login_form .pc_auth_btn,
.pc_login_form .pcma_do_recovery {
	display: inline-block;	
}

/* remember me check */
.pc_login_remember_me {
	display: inline-block;	
}
.pc_login_remember_me input {
	display: inline !important;
	position: relative;
	bottom: -2px;
	margin: 0;
}
.pc_login_remember_me small {
	position: relative;
	font-size: 11px;
	line-height: 15px;
	top: -4px;	
	padding-left: 5px;
	cursor: pointer;
}

/* trick for long labels and widget version fields */
.pc_lf_long_labels .pc_login_row label,
.pc_widget_login .pc_login_row label,
.pc_lf_long_labels .pc_login_row input,
.pc_widget_login .pc_login_row input {
	display: inline-block;
	width: 100%;	
}
.pc_lf_long_labels .pc_login_row label,
.pc_widget_login .pc_login_row label {
	padding:  0 0 2px;	
}


/* widget login form */
form.pc_widget_login {
	padding: 0;
	margin: 0;
	background: none !important;
	border: none !important;
	box-shadow: none !important;	
}


/* if smalls are too large and for widget */
.pc_widget_login #pc_auth_message,
.pc_mobile_login #pc_auth_message {
	margin-bottom: 10px !important;	
}
.pc_widget_login .pc_error_mess, 
.pc_widget_login .pc_success_mess,
.pc_mobile_login .pc_error_mess,
.pc_mobile_login .pc_success_mess {
	margin-bottom: 15px !important;	
}
.pc_widget_login .pc_login_smalls,
.pc_mobile_login .pc_login_smalls {
	padding-top: 0;
	text-align: left;
	height: auto;
	margin: 0;
}
.pc_widget_login .pc_auth_btn,
.pc_mobile_login .pc_auth_btn {
	float: none;
	margin-top: 10px;	
}


/* responsive behavior */
@media screen and (max-width:440px) { 
	.pc_login_row label,
	.pc_login_row input {
		display: inline-block;
		width: 100%;	
	}
	.pc_login_row label {
		padding:  0 0 3px;	
	}
}

 
/* fields error tooltip */
.pc_field_error {
	backfround: #fff;
	background: linear-gradient(to bottom, #fafafa 0%, #fff 30%, #fff 70%, #f9f9f9 100%);
    border: 2px solid #de0000;
    border-radius: 2px;
    bottom: 100%;
    box-shadow: 0 0 2px rgba(50, 50, 50, 0.3), 25px 0 0 #de0000 inset;
    cursor: pointer;
    font-size: 14px;
    left: -11px;
    padding: 3px 10px 3px 32px;
    position: absolute;
    z-index: 1000;
	opacity: 0;
	
	-webkit-animation: pc_tooltip .25s forwards 0s ease;
	animation: pc_tooltip .25s forwards 0s ease;
}
@-webkit-keyframes pc_tooltip {
  0% { 
  	opacity: 0;
	margin-bottom: 5px;
  } 
  100% {
    opacity: 1;
	margin-bottom: 0px;
  }
}
@keyframes pc_tooltip {
  0% { 
  	opacity: 0;
	margin-bottom: 5px;
  } 
  100% {
    opacity: 1;
	margin-bottom: 0px;
  }
}

.pc_field_error.pc_fe_closing {
	-webkit-animation: pc_tooltip_close .3s forwards 0s ease;
	animation: pc_tooltip_close .3s forwards 0s ease;	
}
@-webkit-keyframes pc_tooltip_close {
  0% { 
  	opacity: 1;
	margin-bottom: 0px;
  } 
  100% {
	opacity: 0;
	margin-bottom: 5px;
  }
}
@keyframes pc_tooltip_close {
  0% { 
  	opacity: 1;
	margin-bottom: 0px;
  } 
  100% {
	opacity: 0;
	margin-bottom: 5px;
  }
}

.pc_field_error:after {
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #de0000;
    content: "";
    display: inline-block;
    height: 0;
    left: 6px;
    position: absolute;
    top: 100%;
    width: 0;
}
.pc_field_error::before {
    content: "!";
	border-radius: 50%;
    color: #fff;
    display: inline-block;
    font-family: Verdana;
    font-size: 15px;
    font-weight: 600;
    height: 15px;
    left: 4px;
    line-height: 13px;
    opacity: 1;
    position: absolute;
    text-align: center;
    top: 6px;
    width: 15px;
}
 
 
 
/*********************************
 USER DELETION BOX
 ********************************/ 
 
.pc_del_user_wrap {
	display: inline-block;
	width: 100%;
	max-width: 530px;		
}
.pc_del_user_wrap .pc_warn_box {
	text-align: left;
}
.pc_login_form.pc_del_user_form {
	max-width: 100%;	
	padding: 24px;
}
.pc_del_user_form .pc_login_row input {
	min-width: 100%;	
}
 
 
 
/*********************************
 LOGOUT BOX
 ********************************/

.pc_logout_btn .pc_loading {
	position: relative;
	margin-bottom: -5px;
    margin-left: 3px;
}


/************************************************
 REGISTRATION AND CUSTOM FORM ELEMENTS
 ***********************************************/

.pc_req_field {
	color: #ee3333;
    font-family: Lucida Console;
    font-size: 14px;
    opacity: 0.7;
    position: relative;
    top: -2px;
}
.pc_form_flist {
	margin: 0 0 10px;
	padding: 0;	
	clear: both;
	border: none;
	width: auto;
	min-width: 0;
}
.pc_form_flist > section {
	margin: 0 0 15px 0 !important;
	background: none !important;
	vertical-align: top;
}
.pc_form_flist > section.pc_rf_disclaimer:not(:last-child) {
	margin-bottom: 3px !important;		
}
	
.pc_form_flist > section:before, 
.pc_form_flist > section:after {
	display: none !important;	
}
.pc_form_flist > section > label {
	font-size: 15px;
	line-height: 20px;
	
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-webkit-hyphens: 	auto;
	-ms-hyphens: 		auto;
	-moz-hyphens: 		auto;
	hyphens: 			auto;
}
.pc_check_wrap .pc_check_label {
	display: table-cell !important;
	width: 100% !important;	
	margin: 0 !important;
	padding: 0 0 0 5px !important;
}
.pc_check_wrap input,
.pc_check_wrap .pc_checkbox {
	display: table-cell !important;
	vertical-align: top;
	margin: 6px 4px 0 0 !important;	
	float: left !important;
}
.pc_form_flist textarea {
	min-height: 65px;
	width: 100%;
}
.pc_form_response {
	margin-bottom: 15px;	
}


/*** MULTI-SELECT - customize JS plugin aspect ***/
.pc_rf_field select {
	display: none !important;	
}
.pc_rf_field .ms-parent {
	min-width: 100%;	
}
.pc_rf_field .ms-choice {
	background: #fff;	
}
.pc_rf_field .ms-choice > span.placeholder {
	opacity: 0.45;	
}
.pc_rf_field .ms-choice span {
	position: relative;
	height: 100%;
	line-height: 20px;
	min-height: 20px;
	padding: 0 24px 0 0;
}
.pc_rf_field .ms-choice > div {
	float: right;
	position: relative;
	height: 100%;	
	width: 13px;
	background: none !important;
}
.pc_rf_field .ms-choice > div:before {
	position: absolute;
	top: 50%;
	margin-top: -12px;
	content: "";	
	width: 0; 
	height: 0; 
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #888;
}
.pc_rf_field .ms-choice > div.open:before {
	border-bottom: 4px solid #888;
	border-top: none;
}
.pc_rf_field .ms-drop {
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1) !important;
}
.pc_rf_field .ms-choice,
.pc_rf_field .ms-drop {
	border-radius: 0;
}
.pc_rf_field .ms-drop,
.pc_rf_field .ms-drop ul {
	padding: 0 !important; 	
}
.pc_rf_field .ms-drop input {
	display: none !important;	
}
.pc_rf_field .ms-drop ul li:first-child {
	margin-top: 2px;	
}
.pc_rf_field .ms-drop li label {
	border-bottom: 1px solid #aaa;	
	cursor: pointer;
}
.pc_rf_field .ms-drop li:nth-last-child(2) label {
	border-bottom: none !important;
}
.pc_rf_field .ms-drop label {
	font-size: 14px;
    padding: 5px 7px;
	cursor: pointer;
}
.pc_rf_field .ms-drop li.selected label {
	opacity: 0.55;	
}
.pc_rf_field .ms-search {
	padding: 0 0 1px !important; 	
	border-bottom: 1px solid #eee;
	position: relative;
	margin-bottom: -7px;
}
.pc_rf_field .ms-search input,
.pc_rf_field .ms-search input:hover {
	border-radius: 0 !important;
	border: none !important;
	display: block !important;	
	font-size: 12px !important;
    margin: 0 0 -1px !important;
	padding: 5px 30px 3px 7px !important
}
.pc_rf_field .ms-no-results {
	font-size: 14px !important;
	padding: 3px 7px !important;	
}
.pc_rf_field .ms-search:before,
.pc_rf_field .ms-search:after {
	-webkit-transition: border-color .15s ease; 
	-ms-transition: 	border-color .15s ease;  
	transition: 		border-color .15s ease; 
}
.pc_rf_field .ms-search:before {
    content: ""; 
	background: transparent;
    border: 3px solid #cfcfcf;
    border-radius: 50%;
    display: inline-block;
    height: 7px;
    position: absolute;
    right: 10px;
    top: 5px;
    width: 7px;
	
	-webkit-transform: 	scale(0.8);
	-ms-transform: 		scale(0.8);
	transform: 			scale(0.8);
}
.pc_rf_field .ms-search:after {
	content: ""; 
    border: 2px solid #cfcfcf;
    border-radius: 20%;
    display: inline-block;
    height: 0;
    position: absolute;
    right: 7px;
    top: 16px;
    width: 5px;
	
	-webkit-transform: 	rotate(51deg) scale(0.7);
	-ms-transform: 		rotate(51deg) scale(0.7);
	transform: 			rotate(51deg) scale(0.7);
}




/**** ONE COLUMN LAYOUT ****/
/* form wrapper style */
.pc_one_col_form.pc_registration_form,
.pc_one_col_form.pc_custom_form {
    max-width: 460px;
}
@media screen and (min-width:441px) { 
	.pc_one_col_form.pc_registration_form,
	.pc_one_col_form.pc_custom_form {
		min-width: 412px;   
	}
}
.pc_one_col_form .pc_form_flist > section {
	padding: 0 !important;
	width: 100% !important;
	position: relative;
}
.pc_one_col_form .pc_form_flist > section.pc_rf_field {
	height: auto;
}
.pc_one_col_form .pc_form_flist > section.pc_rf_field:not(.pc_textarea_ftype) {
	display: table;	
}
.pc_one_col_form .pc_form_flist > section:not(.pc_textarea_ftype):not(.pc_single_checkbox_ftype) > label {
	display: table-cell;
	vertical-align: middle;
	padding: 0 3% 0 0;
	margin: 0 !important;
	width: 48%;
	
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-webkit-hyphens: 	auto;
	-ms-hyphens: 		auto;
	-moz-hyphens: 		auto;
	hyphens: 			auto;
}
.pc_checkbox_ftype label {
	vertical-align: top !important;	
}
.pc_one_col_form .pc_textarea_label {
	width: 100%;	
	min-width: 100%;
}
.pc_one_col_form .pc_form_flist .pc_field_container,
.pc_one_col_form .pc_form_flist > section > .pc_check_wrap {
    display: table-cell;
    margin: 0 !important;
    width: 100% !important;
	min-width: 100%;
	vertical-align: top;
}
.pc_one_col_form .pc_single_check input,
.pc_one_col_form .pc_single_check .pc_checkbox {
	position: absolute;
	top: 3px;
	right: 0px;
}
.pc_one_col_form .pc_single_check input {
	max-width: 17px;
    min-width: 17px !important;
	background: none;
	min-height: 20px;
}
.pc_one_col_form .pc_single_check label {
	display: block;
	margin-right: 20px;
	float: none;
	min-width: 90%;
	max-width: 90%;
}

.pc_one_col_form .pc_rf_recaptcha {
	margin-top: 7px;	
}
.pc_one_col_form .pc_disclaimer_check {
	top: 3px
}

/* responsive behavior */
@media screen and (max-width:450px) { 
	body:not(.pc_nolabel) .pc_one_col_form .pc_form_flist > section > label,
	.pc_one_col_form .pc_form_flist .pc_field_container,
	.pc_one_col_form .pc_form_flist > section > .pc_check_wrap {
   		display: inline-block !important;
		width: 100% !important;
	}
	body:not(.pc_nolabel) .pc_one_col_form .pc_form_flist > section:not(.pc_single_check) > label {
		padding: 0 0 3px !important;
	}
	.pc_one_col_form .pc_single_check input, 
	.pc_one_col_form .pc_single_check .pc_checkbox {
		top: 5px;	
	}
}


/**** FLUID LAYOUT ****/
.pc_fluid_form.pc_registration_form,
.pc_fluid_form.pc_custom_form {
	padding-right: 0 !important;
}
.pc_fluid_form .pc_form_flist > section {
	padding: 0 24px 0 0 !important;
	display: inline-block;
	position: relative;
}
.pc_fluid_form .pc_form_flist > section.pc_rf_field {
	width: 100%;
	max-width: 33.3%;
}
.pc_fluid_form .pc_form_flist > section > label {
	padding: 0 !important;	
}
.pc_fluid_form .pc_form_flist > section > label,
.pc_fluid_form .pc_form_flist > section > input,
.pc_fluid_form .pc_form_flist > section > .pc_check_wrap {
	width: 100% !important;
	margin: 0 !important;
}
.pc_fluid_form section.pc_single_check {
	position: relative;	
}
.pc_fluid_form .pc_form_flist > section.pc_single_check label {
	display: inline-block;
	min-width: 90%;
	max-width: 90%;
}
.pc_fluid_form .pc_form_flist > section.pc_single_check input,
.pc_fluid_form .pc_form_flist > section.pc_single_check .pc_checkbox {
	position: absolute;
	top: 5px;
	right: 30px;
}
.pc_fluid_form .pc_form_flist > section.pc_single_check input {	
	max-width: 17px;
    min-width: 17px !important;
}
.pc_fluid_form .pc_rf_disclaimer_sep {
	margin-right: 24px !important;	/* use same form padding val */ 
}
.pc_fluid_form .pc_disclaimer_txt {
    position: relative;
    top: -2px;
	padding-left: 24px;
}
.pc_fluid_form .pc_form_response {
	margin-right: 24px; /* use same form padding val */ 
}

/* hide until sizing isn't done */
.pc_fluid_form > * {
	-webkit-transition: opacity .15s ease; 
	transition: 		opacity .15s ease; 	
}
.pc_fluid_form:not(.pc_form_1col):not(.pc_form_2col):not(.pc_form_3col):not(.pc_form_4col):not(.pc_form_5col) > * {
	opacity: 0 !important;
}

/* sizing */
.pc_fluid_form.pc_form_5col .pc_form_flist > section {width: 20%; max-width: none;}
.pc_fluid_form.pc_form_4col .pc_form_flist > section {width: 25%; max-width: none;}
.pc_fluid_form.pc_form_3col .pc_form_flist > section {width: 33.3%; max-width: none;}
.pc_fluid_form.pc_form_2col .pc_form_flist > section {width: 50%; max-width: none;}
.pc_fluid_form.pc_form_1col .pc_form_flist > section {width: 100%; max-width: none;}



/* disclaimer */
.pc_rf_disclaimer {
	position: relative;	
	width: 100% !important;
	max-width: none !important;
}
.pc_rf_disclaimer_sep {
	display: block !important;
	width: auto !important;
    height: 7px;
	max-width: none !important;
}
.pc_disclaimer_check {
	position: absolute;
	top: 0;
	left: 0;
    z-index: 100;
}
.pc_disclaimer_txt {
	display: inline-block;
	padding-left: 25px;	
}
.pc_disclaimer_txt {
	font-size: 13px;
	line-height: 17px;
}

/* recaptcha */
.pc_rf_recaptcha * {
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.pc_rf_recaptcha #recaptcha_table {
	position: relative;
	max-width: 100%;
}
.pc_rf_recaptcha #recaptcha_table tr:last-child td {
	padding-bottom: 2px;	
}
.pc_rf_recaptcha #recaptcha_image {
	width: 100% !important;	
}
.pc_rf_recaptcha #recaptcha_image img {
	width: 100% !important;
}
.pc_rf_recaptcha input#recaptcha_response_field {
	width: 60% !important;
	font-size: 13px !important;	
	padding: 0 5px !important;
}
#recaptcha_response_field {
	height: 22px;	
	min-width: 0px !important;
	max-width: none !important;
	border-color: #ccc !important;
}
.pc_form_flist #recaptcha_table .recaptcha_image_cell {
	width: 100%;	
	background: none !important
}
.pc_form_flist .recaptchatable #recaptcha_image {
	border: none !important	
}
.pc_form_flist #recaptcha_table tr:first-child td:nth-of-type(2),
.pc_form_flist #recaptcha_table tr:first-child td:last-child {
	padding: 0px !important;
	width: 0px !important
}
.pc_rf_recaptcha #recaptcha_reload_btn,
.pc_rf_recaptcha #recaptcha_switch_audio_btn,
.pc_rf_recaptcha #recaptcha_switch_img_btn,
.pc_rf_recaptcha #recaptcha_whatsthis_btn {
	position: absolute;
	bottom: 13px;	
	width: 16px !important;
	height: 16px !important;
	cursor: pointer;
	z-index: 20;
	opacity: 0.4;
	filter: alpha(opacity=40);
}
.pc_rf_recaptcha #recaptcha_reload_btn *,
.pc_rf_recaptcha #recaptcha_switch_audio_btn *,
.pc_rf_recaptcha #recaptcha_switch_img_btn *,
.pc_rf_recaptcha #recaptcha_whatsthis_btn *,
.pc_form_flist  #recaptcha_logo {
	display: none !important;
}
.pc_rf_recaptcha #recaptcha_reload_btn {
	right: 65px;	
}
.pc_rf_recaptcha #recaptcha_switch_audio_btn,
.pc_rf_recaptcha #recaptcha_switch_img_btn {
	right: 40px;	
}
.pc_rf_recaptcha #recaptcha_whatsthis_btn {
	right: 15px;	
}


/* multi-page forms */
.pc_pag_submit {
	margin-right: 24px;	/* use same form padding val */ 
}
.pc_pag_next {
	float: right;
}
.pc_fluid_form .pc_pag_next {
	margin-right: 24px;	/* use same form padding val */ 
}
.pc_hidden_fieldset {
	position: fixed !important;
	top: -999999px !important;
	left: -999999px !important;
	visibility: hidden !important;	
}



/* custom checkbox */
input.pc_checkboxed {
	display: none !important;	
	visibility: hidden !important; 
}
.pc_checkbox,
.pc_checkbox:before,
.pc_checkbox > span {
	-webkit-transition: all .2s ease;  
	transition: 		all .2s ease;
	
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.pc_checkbox:not(.pc_checked):before {
	-webkit-transition-delay: 	.05s;	
	transition-delay: 			.05s;	
}
.pc_checkbox:not(.pc_checked):before,
.pc_checkbox > span {
	top: 100%;
}
.pc_checkbox {
    background: #fff;

    border: 1px solid #bbb;
    border-radius: 2px;
    cursor: pointer;
    display: inline-block;
    height: 15px;
    width: 15px;
	position: relative;
	overflow: hidden;
}
.pc_checkbox:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #f3f3f3;	
}
.pc_checkbox > span {
    color: #333;
    font-family: sans-serif !important;
    font-size: 11px;
	line-height: 18px;
    font-weight: bold;
    left: 2px;
    position: absolute;
}
.pc_checkbox.pc_checked {
	border-color: #f4f4f4;	
}
.pc_checkbox.pc_checked > span {
	top: -2px;
	
	-webkit-transition-delay: 	.05s;	
	transition-delay: 			.05s;	
}



/*****************************
 SUCCESS AND ERROR MESSAGES
 *****************************/
  
/* standard form messages */
.pc_error_mess,
.pc_success_mess {
    display: block;
	display: flex;
    color: #404040;
	background: #fefefe;
    padding: 8px;
    margin: 0;
    font-size: 14px;
	position: relative;
	min-height: 40px;
	align-items: center;
	border-style: solid;
	border-color: #999;
	border-width: 2px 2px 2px 43px;
	border-radius: 2px;

	-webkit-animation: pc_show_mess .3s cubic-bezier(0.17, 0.3, 0.55, 1.8);
	animation: pc_show_mess .3s cubic-bezier(0.17, 0.3, 0.55, 1.8); 
}
.pc_error_mess *,
.pc_success_mess * {
	overflow-wrap: break-word;
	word-wrap: break-word;
	
	-webkit-hyphens: 	auto;
	-ms-hyphens: 		auto;
	-moz-hyphens: 		auto;
	hyphens: 			auto;
}
@-webkit-keyframes pc_show_mess {
  0% { 
    opacity: 0;
    -webkit-transform: translateY(10px);
  } 
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
  }
}
@keyframes pc_show_mess {
  0% { 
    opacity: 0;
    transform: translateY(10px);
  } 
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

.pc_login_form .pc_error_mess,
.pc_login_form .pc_success_mess {
	margin-bottom: 24px;
    margin-top: 17px;	
}
.pc_error_mess:before,
.pc_success_mess:before {
    color: #fff;
    font-family: fontawesome;
    font-size: 24px;
    left: 0;
    line-height: 26px;
    margin-top: -13px;
    position: absolute;
    text-align: center;
    top: 50%;
	width: 43px;
	left: -42px;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
}
.pc_error_mess ul,
.pc_success_mess ul {
	margin: 0 !important;
    padding: 0 0 0 17px !important;	
}
.pc_error_mess li,
.pc_success_mess li {
    list-style: outside disc !important;
    padding: 4px 0 !important;
	border: none !important
}
.pc_error_mess > span,
.pc_success_mess > span {
	padding-left: 3px;	
}

/* message types */
.pc_error_mess {
	border-color: #cc3333;
}
.pc_success_mess {
    border-color: #4d9629;
}
.pc_error_mess:before {
    content: "\f057";	
}
.pc_success_mess:before {
	content: "\f058";	
}



/************************************************
 LIGHTBOX
 ***********************************************/

.pc_lightbox.mfp-wrap {
	z-index: 999999999;		
}
.pc_lightbox.mfp-bg {
	z-index: 999999998;		
}
.pc_lightbox > .mfp-container {
	padding: 0;	
}
.pc_lightbox .mfp-content {
	text-align: center;
	padding: 70px;
	width: auto;
}
@media screen and (max-width:1100px) { 
	.pc_lightbox .mfp-content {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}

.pc_lightbox_contents {
	display: inline-block;
	position: relative;	
	text-align: left;
	padding: 25px;
}
.pc_lightbox_contents > *:first-child {
	margin-top: 0;	
}
.pc_lightbox_contents > *:nth-last-child(2) {
	margin-bottom: 0;	
}
.pc_only_form_lb p:empty {
	display: none;	
}
.pc_lightbox_contents .mfp-close,
.pc_lightbox_contents .mfp-close:active {
	color: #444;
	background: #fff;
	border-radius: 0;
    font-size: 28px;
	height: 30px;
	width: 30px;
	line-height: 30px;
    position: absolute;
    right: 0;
	text-indent: 1px;
    top: -40px;
	opacity: 0.8;
	backface-visibility: visible;
	
	-webkit-transition: all .15s ease; 
	-ms-transition: 	all .15s ease;  
	transition: 		all .15s ease;	
}
.pc_lightbox_contents .mfp-close:hover {
	opacity: 1;	
	
	-webkit-transform: 	rotate(-90deg);
	-ms-transform: 		rotate(-90deg);
	transform: 			rotate(-90deg);
}
.pc_lightbox_contents.pc_only_form_lb {
	padding: 0 !important;	
	background: transparent;
}
.pc_lightbox_contents.pc_only_form_lb form {
	border: none !important;
	box-shadow: none !important;
	margin: 0 !important;
}
.pc_lightbox_contents:not(.pc_only_form_lb) {
	background: #fff;
	padding: 25px;	
}

/* effects  */
.pc_lightbox.mfp-bg,
.pc_lightbox.mfp-wrap .mfp-content {
	opacity: 0;
	
	-webkit-transition: opacity .2s ease-out, -webkit-transform .2s ease-out;  
	transition: 		opacity .2s ease-out, transform .2s ease-out;
}
.pc_lightbox.mfp-wrap .mfp-content {
	-webkit-transform: translateY(10px);	
	transform: translateY(10px);	
}

/* show / hide lightbox overlay */
.pc_lightbox.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.pc_lightbox.mfp-bg.mfp-removing {
	opacity: 0 !important;
}

/* show / hide lightbox */
.pc_lightbox.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
	
	-webkit-transform: none;	
	transform: none;	
}
.pc_lightbox.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
	
	-webkit-transform: translateY(-10px);	
	transform: translateY(-10px);
}