/**
 * Root variables
 */
 :root {
	--pmpro--color--info-background: #d9edf7;
	--pmpro--color--info-border: #bce8f1;
	--pmpro--color--info-text: #31708f;
	--pmpro--color--info-link: #245269;
	--pmpro--color--success-background: #d4edda;
	--pmpro--color--success-border: #c3e6cb;
	--pmpro--color--success-text: #0F441C;
	--pmpro--color--success-link: #2b542c;
	--pmpro--color--error-background: #f8d7da;
	--pmpro--color--error-border: #f5c6cb;
	--pmpro--color--error-text: #721c24;
	--pmpro--color--error-link: #843534;
	--pmpro--color--alert-background: #fff8e0;
	--pmpro--color--alert-border: #ffeeba;
	--pmpro--color--alert-text: #6C5101;
	--pmpro--color--alert-link: #66512c;
}

/*---------------------------------------
	Buttons
---------------------------------------*/
.pmpro_btn, .pmpro_btn:link, .pmpro_content_message a, .pmpro_content_message a:link {
	background-color: #EFEFEF;
	background-image: none;
	border: 1px solid #D6D6D6;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: none;
	box-shadow: none;
	color: #444;
	cursor: pointer;
	display: inline-block;
	font-weight: 700;
	margin: 0;
	padding: 6px 12px;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
}
.pmpro_btn:focus, .pmpro_content_message a:focus {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
}
.pmpro_btn:hover,
a.pmpro_btn:hover,
.entry-content a.pmpro_btn:hover,
.pmpro_btn:focus,
.pmpro_checkout .pmpro_btn:hover,
.pmpro_checkout .pmpro_btn:focus,
.pmpro_content_message a:focus,
.pmpro_content_message a:hover {
	-webkit-box-shadow: none;
	border-color: #D6D6D6;
	box-shadow: none;
	text-decoration: none;
}
.pmpro_btn:active,
.pmpro_btn.active {
	background-image: none;
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
	outline: 0;
}
.pmpro_btn.disabled,
.pmpro_btn[disabled],
fieldset[disabled] .pmpro_btn {
	-webkit-box-shadow: none;
	box-shadow: none;
	filter: alpha(opacity=65);
	opacity: 0.65;
}
.pmpro_btn.pmpro_btn-cancel,
.pmpro_btn.pmpro_btn-cancel:link,
.pmpro_btn.pmpro_btn-cancel:hover,
.entry-content a.pmpro_btn.pmpro_btn-cancel:hover {
	background: none;
	border: none;
	box-shadow: none;
    color: #666;
    text-decoration: underline;
}
.pmpro_btn.pmpro_btn-submit-checkout {
	width: auto;
}

input[type="button"]#discount_code_button,
input[type="button"]#discount_code_button:hover,
input[type="button"]#discount_code_button:focus,
input[type="button"]#other_discount_code_button,
input[type="button"]#other_discount_code_button:hover,
input[type="button"]#other_discount_code_button:focus,
button[type="button"]#other_discount_code_toggle,
button[type="button"]#other_discount_code_toggle:hover,
button[type="button"]#other_discount_code_toggle:focus {
	-webkit-appearance: none;
    -moz-appearance: none;
	background: none;
    border: none;
	box-shadow: none;
	color: inherit;
    cursor: pointer;
	display: inline-block;
	font-family: inherit;
    font-size: 100%;
	font-weight: normal;
	margin: 0;
	outline: none;
    padding: 0;
	text-align: center;
    text-decoration: underline;
	text-transform: none;
	transform: none;
}

/*---------------------------------------
	Forms
---------------------------------------*/
form.pmpro_form .pmpro_checkout-fields div,
#loginform p {
	margin: 0 0 1em 0;
}
form.pmpro_form label,
#loginform label {
	font-weight: 700;
	display: block;
	margin: 0;
	text-align: left;
}
form.pmpro_form label.pmpro_label-inline {
	display: inline-block;
}
form.pmpro_form label.pmpro_clickable {
	cursor: pointer;
}
form.pmpro_form .pmpro_asterisk abbr {
	border: none;
	text-decoration: none;
}
form.pmpro_form .lite {
	color: #666;
}
form.pmpro_form .pmpro_captcha div {
	clear: none;
	margin: 0;
}
form.pmpro_form .pmpro_submit {
	margin-top: 1em;
}
form.pmpro_form #pmpro_processing_message {
	color: #999;
	display: block;
	font-style: italic;
	margin: 1em 0 0 0;
	text-align: left;
}

/** General Field Types **/
form.pmpro_form input[type=text],
form.pmpro_form input[type=password],
form.pmpro_form input[type=email],
form.pmpro_form input[type=number],
form.pmpro_form textarea,
form.pmpro_form select,
#loginform input[type=text],
#loginform input[type=password] {
	display: inline-block;
	max-width: 90%;
	min-height: 1.5rem;
}

/** Checkbox-specific field type **/
form.pmpro_form .pmpro_checkout-field-checkbox label {
	cursor: pointer;
	display: inline;
	width: auto;
}
form.pmpro_form .pmpro_checkout-field-checkbox input[type=checkbox] {
	opacity: 1;
}
form.pmpro_form .pmpro_checkout-field-checkbox_grouped ul {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
form.pmpro_form .pmpro_checkout-field-checkbox_grouped li {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

/** Radio-specific field type **/
form.pmpro_form .pmpro_checkout-fields .pmpro_checkout-field-radio-item {
	margin-bottom: 0;
}
form.pmpro_form .pmpro_checkout-field-radio-item label {
	cursor: pointer;
	display: inline-block;
	width: auto;
}
form.pmpro_form .pmpro_checkout-field-radio-item input[type=radio] {
	opacity: 1;
}

/** Select-specific field type **/
form.pmpro_form .pmpro_checkout-field-select select {
	min-width: 50%;
}

/** Date-specific field type **/
form.pmpro_form .pmpro_checkout-field-date select {
	max-width: unset;
	width: unset;
}
form.pmpro_form .pmpro_checkout-field-date input[type=text] {
	margin-left: 5px;
	max-width: unset;
	width: unset;
}

/** File-specific field type **/
form.pmpro_form .pmpro_checkout-field-file button {
	margin-right: 5px;
}

/** Membership Checkout and Billing-specific Fields **/
form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields label {
	display: block;
	float: none;
	max-width: initial;
	min-width: initial;
	text-align: left;
	width: auto;
}
form.pmpro_form .pmpro_checkout-field-bcity_state_zip .input,
form.pmpro_form .pmpro_checkout-field-bcity_state_zip select {
	max-width: 30%;
}
form.pmpro_form .pmpro_payment-cvv .input,
form.pmpro_form .pmpro_payment-discount-code .input,
form.pmpro_form #pmpro_other_discount_code.input {
	max-width: 40%;
}
form.pmpro_form #discount_code.input,
form.pmpro_form #other_discount_code.input {
	margin-right: .5em;
}
form.pmpro_form input[type=checkbox]#tos {
	width: auto;
}

/* Lost Password Frontend Form */
form.pmpro_form .pmpro_lost_password-fields div {
	margin: 0 0 1em 0;
}

/* Member Profile Edit Frontend Form */
form.pmpro_form .pmpro_member_profile_edit-fields > div {
	margin: 0 0 1em 0;
}

/* Change Password Frontend Form */
form.pmpro_form .pmpro_change_password-fields div {
	margin: 0 0 1em 0;
}

/* Password Strength Meter on Frontend Forms */
.pmpro_reset_password_wrap form.pmpro_form #pass-strength-result,
form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
	display: inline-block;
	max-width: 150px;
}
.pmpro_reset_password_wrap form.pmpro_form .lite,
form.pmpro_form .pmpro_change_password-fields .lite {
	margin-top: 10px;
}

/*--------------------------------------------------
	Messages - Success, Error, Alert
----------------------------------------------------*/
.pmpro_message {
	background-color: var(--pmpro--color--info-background);
	border: 1px solid var(--pmpro--color--info-border);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	color: var(--pmpro--color--info-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5em;
	margin: .5em 0;
	padding: 10px 15px;
	text-align: left;
}
.pmpro_success {
	background-color: var(--pmpro--color--success-background);
	border-color: var(--pmpro--color--success-border);
	color: var(--pmpro--color--success-text);
}
.pmpro_error,
input[type="text"].pmpro_error,
input[type="email"].pmpro_error,
input[type="url"].pmpro_error,
input[type="password"].pmpro_error,
input[type="number"].pmpro_error,
input[type="tel"].pmpro_error,
input[type="range"].pmpro_error,
input[type="date"].pmpro_error,
input[type="month"].pmpro_error,
input[type="week"].pmpro_error,
input[type="time"].pmpro_error,
input[type="datetime"].pmpro_error,
input[type="datetime-local"].pmpro_error,
input[type="color"].pmpro_error,
textarea.pmpro_error {
	background-color: var(--pmpro--color--error-background);
	border-color: var(--pmpro--color--error-border);
	color: var(--pmpro--color--error-text);
}
.pmpro_alert {
	background-color: var(--pmpro--color--alert-background);
	border-color: var(--pmpro--color--alert-border);
	color: var(--pmpro--color--alert-text);
}
.pmpro_content_message a,
.pmpro_content_message a:link {
	margin: 10px 10px 0 0;
}
.pmpro_message a {
	color: var(--pmpro--color--info-link);
	text-decoration: underline;
}
.pmpro_success a {
	color: var(--pmpro--color--success-link);
}
.pmpro_error a {
	color: var(--pmpro--color--error-link);
}
.pmpro_alert a {
	color: var(--pmpro--color--alert-link);
}
input.pmpro_error {
	background-image: none;
}
select.pmpro_error {
	background-image: none;
}
.pmpro_message p:last-child {
	margin-bottom: 0;
}

#pmpro_message_bottom {
	margin-bottom: 1em;
}

/*---------------------------------------
	Admin Toolbar View As Feature
---------------------------------------*/
#wpadminbar .pmpro_admin-view {
	display: inline-block;
	padding: 0 5px;
}

#wpadminbar .menupop .ab-item:has(.pmpro_admin-view) + .ab-sub-wrapper {
	border-bottom-right-radius: 6px;
	border-bottom-left-radius: 6px;
	padding: 10px;
}

#wpadminbar .menupop .ab-item:has(.pmpro_admin-view) + .ab-sub-wrapper ul li .ab-item {
	height: auto;
}

#wpadminbar .menupop .ab-item:has(.pmpro_admin-view) + .ab-sub-wrapper p {
	color: #FFF;
	line-height: 1.5;
	margin-bottom: 5px;
	white-space: normal;
}

#wpadminbar .menupop .ab-item:has(.pmpro_admin-view) + .ab-sub-wrapper select {
	background-color: #FFF;
	border-radius: 6px;
	line-height: 1.5;
	padding: 5px 8px;
}

#wpadminbar .ab-item:has(.pmpro_admin-view-yes),
#wpadminbar .ab-top-menu > li.hover > .ab-item:has(.pmpro_admin-view-yes),
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item:has(.pmpro_admin-view-yes),
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:has(.pmpro_admin-view-yes):focus,
#wpadminbar .menupop .ab-item:has(.pmpro_admin-view-yes) + .ab-sub-wrapper {
	background-color: #0F441C;
	color: #FFF;
}

#wpadminbar .ab-item:has(.pmpro_admin-view-no),
#wpadminbar .ab-top-menu > li.hover > .ab-item:has(.pmpro_admin-view-no),
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item:has(.pmpro_admin-view-no),
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:has(.pmpro_admin-view-no):focus,
#wpadminbar .menupop .ab-item:has(.pmpro_admin-view-no) + .ab-sub-wrapper {
	background-color: #721c24;
	color: #FFF;
}

#wpadminbar .pmpro_admin-view .ab-icon {
	margin-right: 3px;
}

#wpadminbar .pmpro_admin-view .ab-icon:before,
#wpadminbar li:hover .pmpro_admin-view .ab-icon:before,
#wpadminbar li.hover .pmpro_admin-view .ab-icon:before {
	color: #FFF;
}

#wpadminbar .pmpro_admin-view-current .ab-icon:before,
#wpadminbar li:hover .pmpro_admin-view-current .ab-icon:before,
#wpadminbar li.hover .pmpro_admin-view-current .ab-icon:before {
	color: inherit;
}

/*---------------------------------------
	Display Price Parts
---------------------------------------*/
.pmpro_price_part_span {
	display: block;
}
.pmpro_price_part-total {
	border-top: 1px solid #CCC;
	margin-top: 5px;
	padding-top: 5px;
}
.pmpro_price_part_label:after {
	content: ": ";
}
.pmpro_price_part_sub {
	font-size: 75%;
}
span.pmpro_price_part_sub:before {
	content: "\2022";
	padding-right: 5px;
}

/*---------------------------------------
	Membership Checkout
---------------------------------------*/
#pmpro_form .pmpro_checkout h2 {
	margin: 1em 0 0 0;
	padding: 0;
}
.pmpro_checkout h2 span.pmpro_checkout-h2-name {
	display: inline-block;
	margin: 0 .5rem 1rem 0;
}
.pmpro_checkout h2 span.pmpro_checkout-h2-msg {
	font-size: 13px;
	font-style: italic;
	font-weight: normal;
	letter-spacing: normal;
}
#pmpro_payment_method span.gateway_paypalexpress {
	margin-left: 2em;
}
#pmpro_payment_information_fields .pmpro_checkout-fields-display-seal {
	clear: both;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 3fr 1em 1fr;
	grid-template-columns: 3fr 1fr;
	grid-column-gap: 1em;
	grid-template-areas:
		"leftcol rightcol";
}
#pmpro_payment_information_fields .pmpro_checkout-fields-display-seal .pmpro_checkout-fields-leftcol {
	grid-area: leftcol;
}
#pmpro_payment_information_fields .pmpro_checkout-fields-display-seal .pmpro_checkout-fields-rightcol {
	grid-area: rightcol;
}
#pmpro_license {
	background: #FFF;
	border: 1px solid #CCC;
	color: #333;
	height: 200px;
	margin: 3px;
	overflow: auto;
	padding: 5px;
}

/* Stripe gateway Membership Checkout specific styles. */
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-field-payment-request-button {
	grid-area: paymentrequestbutton;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-field-payment-request-button h4 {
	margin-top: 1em;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields-display-seal  {
	grid-template-areas:
		"paymentrequestbutton rightcol"
		"leftcol rightcol";
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto 1em auto 1em auto;
	grid-template-areas:
		"AccountNumber AccountNumber"
		"Expiry CVV"
		"DiscountCode DiscountCode";
	grid-column-gap: 1em;
	-ms-grid-columns: 1fr 1em 1fr;
	grid-template-columns: 1fr 1fr;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#AccountNumber,
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#Expiry,
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#CVV,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#AccountNumber,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#Expiry,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#CVV {
	color: #666;
	background: #FFF;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin: 0;
	padding: 0.625em 0.4375em;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-account-number,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-account-number {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: AccountNumber;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-expiration,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-expiration {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: Expiry;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-cvv,
.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-cvv {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	grid-area: CVV;
}
.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .pmpro_payment-discount-code {
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-area: DiscountCode;
}

/*---------------------------------------
	Membership Confirmation
---------------------------------------*/

/*---------------------------------------
	Membership Invoice
---------------------------------------*/
.pmpro_invoice_details {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.pmpro_invoice_details .pmpro_invoice-billing-address,
.pmpro_invoice_details .pmpro_invoice-payment-method,
.pmpro_invoice_details .pmpro_invoice-total {
	-webkit-box-flex: 3;
	    -ms-flex: 3 1 33%;
	        flex: 3 1 33%;
}
.pmpro_invoice_details .pmpro_invoice-billing-address,
.pmpro_invoice_details .pmpro_invoice-payment-method {
	padding-right: 10px;
}

.pmpro_invoice-field-billing_name,
.pmpro_invoice-field-billing_street,
.pmpro_invoice-field-billing_country,
.pmpro_invoice-field-billing_phone {
	display: block;
}

.pmpro_invoice-field-billing_city:after {
	content: ',';
}

/*---------------------------------------
	Membership Account
---------------------------------------*/
#pmpro_account .pmpro_box {
	border-top: 1px solid #CCC;
	margin: 1em 0;
	padding: 1em 0;
}
#pmpro_account .pmpro_box h2 {
	background: none;
	border: none;
	margin: 0;
	padding: 0;
}
#pmpro_account .pmpro_box p {
	margin: .5em 0 0 0;
	padding: 0;
}
#pmpro_account .pmpro_box ul {
	margin-bottom: 0;
}
#pmpro_account #pmpro_account-membership { }
#pmpro_account #pmpro_account-profile { }
#pmpro_account #pmpro_account-billing { }
#pmpro_account #pmpro_account-invoices { }
#pmpro_account #pmpro_account-links { }

#pmpro_account #pmpro_account-membership .pmpro_table td:nth-child(1) {
	min-width: 200px;
}
#pmpro_account #pmpro_account-profile .pmpro_actionlinks {
	margin-top: .5em;
}

.pmpro_actionlinks a {
	display: inline-block;
	text-decoration: none;
}
.pmpro_actionlinks a:last-child {
	margin-right: 0;
}
.pmpro_hidden {
	display: none;
}
li.pmpro_more {
	list-style-type: none;
	margin-left: -20px;
	padding-left: 0;
	text-align: center;
}

/*---------------------------------------
	Membership Billing Page
---------------------------------------*/
.pmpro_billing_wrap {
	margin-bottom: 1em;
}

/*---------------------------------------
	Log In and Password Reset Pages
---------------------------------------*/
.pmpro_login_wrap,
.pmpro_lost_password_wrap,
.pmpro_reset_password_wrap {
	margin-bottom: 1em;
}

/*---------------------------------------
	This section based on similar rules
	in wp-admin/css/forms.css
---------------------------------------*/
#pass-strength-result {
	background-color: #eee;
	border: 1px solid #ddd;
	color: #23282d;
	margin: -1px 1px 5px;
	padding: 3px 5px;
	text-align: center;
	width: 25em;
	box-sizing: border-box;
	opacity: 0;
}

#pass-strength-result.short {
	background-color: #f1adad;
	border-color: #e35b5b;
	opacity: 1;
}

#pass-strength-result.bad {
	background-color: #fbc5a9;
	border-color: #f78b53;
	opacity: 1;
}

#pass-strength-result.good {
	background-color: #ffe399;
	border-color: #ffc733;
	opacity: 1;
}

#pass-strength-result.strong {
	background-color: #c1e1b9;
	border-color: #83c373;
	opacity: 1;
}

.pass1.short, .pass1-text.short {
	border-color: #e35b5b;
}

.pass1.bad, .pass1-text.bad {
	border-color: #f78b53;
}

.pass1.good, .pass1-text.good {
	border-color: #ffc733;
}

.pass1.strong, .pass1-text.strong {
	border-color: #83c373;
}

.pw-weak {
	display: none;
}

.indicator-hint {
	padding-top: 8px;
}

.wp-pwd [type="text"],
.wp-pwd [type="password"] {
	margin-bottom: 0;
	/* Same height as the buttons */
	min-height: 30px;
}

/* Hide the Edge "reveal password" native button */
.wp-pwd input::-ms-reveal {
	display: none;
}

.pass1-text,
.show-password #pass1 {
	display: none;
}

.pass1-text::-ms-clear {
	display: none;
}

.show-password #pass1-text {
	display: inline-block;
}

/*---------------------------------------
	Member Profile Edit Page
---------------------------------------*/
.pmpro_member_profile_edit_wrap,
.pmpro_change_password_wrap {
	margin-bottom: 1em;
}
/*---------------------------------------
	Membership Levels
---------------------------------------*/
.pmpro_levels_table {
	table-layout: fixed;
	width: 100%;
}
.pmpro_levels_table thead th,
.pmpro_levels_table tbody th {
	text-align: left;
}
.pmpro_levels_table th:nth-child(1) {
	min-width: 200px;
}
.pmpro_levels_table .pmpro_btn {
	display: block;
}

/*---------------------------------------
	Blocks
---------------------------------------*/
[class*="wp-block-pmpro-"] {
	overflow: hidden;
}

/*---------------------------------------
	Misc
---------------------------------------*/
.pmpro_content_message {
	margin-bottom: 1em;
}
.pmpro_actions_nav:not(.pmpro_login_wrap .pmpro_actions_nav) {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pmpro_actions_nav-left {
	flex: 1;
	order: 1;
	text-align: left;
}
.pmpro_actions_nav-right {
	flex: 1;
	order: 2;
	text-align: right;
}
.pmpro_a-right {
	float: right;
	font-size: 11px;
	text-align: right;
	text-decoration: underline;
	width: auto;
}
.pmpro_a-print {
	background: url(https://bwcvirginia.org/wp-content/plugins/paid-memberships-pro/css/../images/printer-icon.svg) top left no-repeat;
	color: #345395;
	cursor: pointer;
	float: right;
	font-size: 11px;
	line-height: 16px;
	padding: 0px 0px 2px 20px;
	text-decoration: none;
	width: auto;
}
.pmpro_red {
	color: #CC0000;
}
.pmpro_grey {
	color: #999;
}
.top1em {
	margin-top: 1em;
}
.bot1em {
	margin-bottom: 1em;
}
.bot0em {
	margin-bottom: 0em;
}
.clear {
	clear: both;
}
.pmpro_small {
	font-size: .8em;
}

/*---------------------------------------
	Responsive Styles
---------------------------------------*/
@media only screen and (min-width: 1160px) {
	.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields #payment-request-button {
		max-width: 50%;
	}
}
@media only screen and (min-width: 960px) and (max-width: 1160px) {
	.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields #payment-request-button {
		max-width: 50%;
	}
}
@media (max-width:768px) {
	#pmpro_account #pmpro_account-membership .pmpro_table td:nth-child(1),
	.pmpro_levels_table td:nth-child(1) {
		min-width: unset;
	}
	.pmpro_checkout h2 span.pmpro_checkout-h2-name {
		display: block;
	}
	.pmpro_checkout h2 span.pmpro_checkout-h2-msg {
		display: block;
		margin-bottom: 1em;
	}
	form.pmpro_form input[type=text].input,
	form.pmpro_form input[type=password].input,
	.pmpro_login_wrap form#loginform input[type=text].input,
	.pmpro_login_wrap form#loginform input[type=password].input {
		width: 90%;
	}
	/* Password Strength Meter on Frontend Forms */
	.pmpro_reset_password_wrap form.pmpro_form #pass-strength-result,
	form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
		max-width: 90%;
	}
	form.pmpro_form input[type=text]#pmpro_other_discount_code, form.pmpro_form input[type=text]#CVV, form.pmpro_form input[type=text]#pmpro_discount_code {
		width: 40%;
	}
	#pmpro_payment_information_fields .pmpro_checkout-fields-display-seal {
		display: block;
	}
	form.pmpro_form .pmpro_btn,
	.pmpro_login_wrap #loginform input[type=submit] {
		display: block;
		width: 100%;
	}
	form.pmpro_form #pmpro_processing_message {
		text-align: center;
	}
	.pmpro_invoice_details {
		display: block;
	}
	.pmpro_actions_nav {
		text-align: center;
	}
	.pmpro_actions_nav-left,
	.pmpro_actions_nav-right {
		flex-basis: 100%;
		text-align: center;
	}
}

#wppb-recover-password ul li.wppb-form-field label,
.wppb-user-forms #wppb-loginform .login-username label,
.wppb-user-forms #wppb-loginform .login-password label,
.wppb-user-forms #wppb-loginform .login-auth label,
.wppb-user-forms #wppb-loginform .wppb-recaptcha label,
.wppb-form-field.pbpl-class label,
.pms-field.pbpl-class:not(form[id^="pms"] .pms-field) label {
    text-indent: -99999px;
    position: absolute;
    left: -99999px;
}

.wppb-form-field.wppb-two-factor-authentication.pbpl-class label,
.wppb-form-field.wppb-campaign-monitor-subscribe.pbpl-class label,
.wppb-form-field.wppb-mailchimp-subscribe.pbpl-class label,
.wppb-form-field.wppb-mailpoet-subscribe.pbpl-class label,
.wppb-form-field.wppb-checkbox-terms-and-conditions.pbpl-class label,
.wppb-form-field.wppb-gdpr-checkbox.pbpl-class label,
.wppb-form-field.wppb-upload.pbpl-class label,
.wppb-form-field.wppb-select-multiple.pbpl-class label,
.wppb-form-field.wppb-timepicker.pbpl-class label,
.wppb-form-field.wppb-avatar.pbpl-class label,
.wppb-form-field.wppb-gdpr-communication-preferences.pbpl-class label{
    text-indent: 0;
    position: relative;
    left: 0;
    width: 100%;
}

.wppb-form-field.wppb-two-factor-authentication.pbpl-class label {
    display: inline;
}

.wppb-form-field.pbpl-class .wppb-radios li label,
.wppb-form-field.wppb-radio.pbpl-class label,
.wppb-form-field.pbpl-class .wppb-checkboxes li label,
.wppb-form-field.wppb-checkbox.pbpl-class label {
    text-indent: 0;
    position: relative;
    left: 0;
    width: auto;
    display: inline-block;
}

.wppb-form-field.pbpl-class .wppb-radios li label,
.wppb-form-field.pbpl-class .wppb-checkboxes li label {
    margin: 0 5px;
}

.wppb-user-forms #wppb-loginform .login-username.pbpl-class input[type="text"],
.wppb-user-forms #wppb-loginform .login-password.pbpl-class input[type="password"],
.wppb-user-forms #wppb-loginform .login-auth.pbpl-class input[type="text"],
.wppb-form-field.pbpl-class input[type="text"],
.wppb-form-field.pbpl-class input[type="email"],
.wppb-form-field.pbpl-class input[type="url"],
.wppb-form-field.pbpl-class input[type="search"],
.wppb-form-field.pbpl-class input[type="number"],
.wppb-form-field.pbpl-class select,
.wppb-form-field.pbpl-class textarea,
.wppb-form-field.pbpl-class .wppb-checkboxes,
.wppb-form-field.pbpl-class .wppb-radios,
.wppb-form-field.wppb-wysiwyg.pbpl-class .wp-editor-wrap,
#wppb-login-wrap .login-username.pbpl-class input,
.wppb-form-field.pbpl-class .wppb-password-field-container,
#wppb-recover-password ul li.wppb-form-field input
{
    width: 100%;
}

.wppb-form-field.wppb-select2.pbpl-class span.select2.select2-container,
.wppb-form-field.wppb-select-taxonomy.pbpl-class span.select2.select2-container,
.wppb-form-field.wppb-select-cpt.pbpl-class span.select2.select2-container,
.wppb-form-field.wppb-select2-multiple.pbpl-class span.select2.select2-container {
    width: 100% !important;
    margin-left: 0 !important;
}

.wppb-form-field label.wppb-epaa-switch {
    width: 50px !important;
    left: 0;
    position: relative !important;
}
/* Register & Edit Profile Forms */

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
 1.0 - Reset
 2.0 - Forms
 3.0 - Alignments
 4.0 - Errors & Notices
 5.0 - User Listing
 6.0 - Media Queries
 7.0 - Password Strength
 8.0 - Show/Hide Password
 9.0 - Profile Builder Subscription Plans Field
10.0 - Private Website
11.0 - Map markers info
12.0 - Elementor Visual Editor
13.0 - Two-Factor Authentication
--------------------------------------------------------------*/


/*--------------------------------------------------------------
1.0 Reset
--------------------------------------------------------------*/

.wppb-user-forms,
.wppb-user-forms * {
    -webkit-box-sizing: border-box !important; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box !important; /* Firefox, other Gecko */
    box-sizing: border-box !important; /* Opera/IE 8+ */
}


/*--------------------------------------------------------------
2.0 Forms
--------------------------------------------------------------*/

.wppb-user-forms .wppb-form-field {
    list-style: none;
}

.wppb-user-forms input:not([type="button"]):not([type="reset"]):not([type="submit"]):not([type="file"]):not([value="agree"]),
.wppb-user-forms select,
.wppb-user-forms textarea {
    font-size: 100%; /* Corrects font size not being inherited in all browsers */
    margin: 0; /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
    vertical-align: baseline; /* Improves appearance and consistency in all browsers */
}

.wppb-user-forms input[type="checkbox"],
.wppb-user-forms input[type="radio"] {
    padding: 0; /* Addresses excess padding in IE8/9 */
}

.wppb-user-forms input[type="search"] {
    -webkit-appearance: textfield; /* Addresses appearance set to searchfield in S5, Chrome */
    -webkit-box-sizing: content-box; /* Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof) */
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

/* Corrects inner padding displayed oddly in S5, Chrome on OSX */
.wppb-user-forms input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/* Corrects inner padding and border displayed oddly in FF3/4 www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ */
.wppb-user-forms button::-moz-focus-inner,
.wppb-user-forms input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.wppb-user-forms input[type="text"],
.wppb-user-forms input[type="number"],
.wppb-user-forms input[type="email"],
.wppb-user-forms input[type="url"],
.wppb-user-forms input[type="password"],
.wppb-user-forms input[type="search"],
.wppb-user-forms textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.wppb-user-forms input[type="text"]:focus,
.wppb-user-forms input[type="number"]:focus,
.wppb-user-forms input[type="email"]:focus,
.wppb-user-forms input[type="url"]:focus,
.wppb-user-forms input[type="password"]:focus,
.wppb-user-forms input[type="search"]:focus,
.wppb-user-forms textarea:focus {
    color: #111;
}

.wppb-user-forms input[type="text"],
.wppb-user-forms input[type="number"],
.wppb-user-forms input[type="email"],
.wppb-user-forms input[type="url"],
.wppb-user-forms input[type="password"],
.wppb-user-forms input[type="search"] {
    padding: 3px;
}

.wppb-user-forms textarea {
    overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
    padding-left: 3px;
    vertical-align: top; /* Improves readability and alignment in all browsers */
    width: 100%;
}

/* Properly align wysiwyg editor among form fields */
.wppb-user-forms .wppb-wysiwyg .wp-editor-wrap {
    float: left;
    width: 69.9%;
}

/* WYSIWYG - Overwrite the theme inherited background color on hover */
.wppb-user-forms .wppb-wysiwyg button:hover {
    background: none;
}

/* Display the borders for the TinyMCE editor - Visual tab */
.wppb-user-forms .wppb-wysiwyg div.mce-tinymce.mce-panel {
    border: 1px solid #ccc !important;
    color: #666 !important;
}

.wppb-user-forms .wppb-wysiwyg div.mce-panel.mce-first {
    border-width: 0 0 1px 0 !important;
}

.wppb-user-forms .wppb-wysiwyg div.mce-panel.mce-last {
    border-width: 1px 0 !important;
}

/* Display the borders for the TinyMCE editor - Text tab */
.wppb-user-forms .wppb-wysiwyg .quicktags-toolbar {
    border: 1px solid #dedede;
    border-bottom: 0;
}

/* Fix the looks of the Add Link window for TinyMCE editor */
#wp-link label input[type="text"] {
    padding: 0;
}

#wppb-search-fields {
    min-width: 250px;
    float: left;
    width: 100%;
}

.wppb-user-forms .wppb-search-button {
    padding: 7px 20px;
    line-height: 24px;
}

.wppb-search-users-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.wppb-user-forms .extra_field_heading {
    margin-bottom: 0;
}

.wppb-user-forms .login-submit #wppb-submit:disabled,
.wppb-user-forms .form-submit #wppb-recover-password-button:disabled,
.wppb-user-forms .form-submit #register:disabled,
.wppb-user-forms .form-submit #edit_profile:disabled {
    background: #414141;
    opacity: 0.3;
    cursor: not-allowed;
}

.wppb-userlisting-container form.wppb-search-users {
    margin-bottom: 20px;
}

.wppb-userlisting-container .wppb-ul-search {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.wppb-userlisting-container .wppb-ul-search form.wppb-search-users {
    flex-grow: 1;
}

.wppb-search-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
    position: relative;
}

.wppb-search-container .wppb-clear-results {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;
}

[id^="wppb-login-widget"] .wppb-user-login-form {
    max-width: 100% !important;
}

[id^="wppb-login-widget"] .login-username > *,
[id^="wppb-login-widget"] .login-password > * {
    display: block;
    width: 100% !important;
}


/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/

.wppb-user-forms > ul {
    max-width: 900px;
    list-style: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

#select_user_to_edit_form .wppb-form-field {
    max-width: 900px;
}

.wppb-user-forms ul li {
    list-style: none;
    margin: 0 0 14px 0;
    padding: 0;
}

#wppb-login-wrap p,
#select_user_to_edit_form p {
    overflow: hidden;
    margin: 0 0 14px 0;
    padding: 0;
}

.wppb-user-forms .wppb-recaptcha:not(.wppb-field-error, .wppb-recaptcha-v2) {
    margin: 0;
    padding: 0;
    height: 0;
}

.wppb-user-forms ul li:after {
    content: "";
    clear: both;
    display: block;
}

.wppb-user-forms .wppb-input-hidden {
    padding-bottom: 0;
}

.wppb-user-forms.wppb-user-role-administrator .wppb-input-hidden {
    padding-bottom: 14px;
}

.wppb-user-forms .wppb-form-field > ul {
    margin: 0;
    padding: 0;
}

.wppb-form-field .wppb-password-field-container {
    display: block;
    position: relative;
}

.wppb-form-field .wppb-password-field-container input[type="password"], .wppb-form-field .wppb-password-field-container input[type="text"] {
    width: 100%;
}

.wppb-form-field:not(#select_user_to_edit_form .wppb-form-field, .wppb-checkbox-terms-and-conditions, .wppb-gdpr-checkbox, .wppb-subscription-plans) label:not(.wppb-checkboxes label, .wppb-radios label, .login-remember label, .wppb-epaa-switch),
#pms-subscription-plans-discount label,
.pms-invite-code-name-field label,
#wppb-login-wrap .login-username label,
#wppb-login-wrap .login-password label,
#wppb-login-wrap .login-auth label {
    width: 30%;
    float: left;
    min-height: 1px;
}

.wppb-form-field input[type="text"],
.wppb-form-field input[type="number"],
.wppb-form-field input[type="email"],
.wppb-form-field input[type="url"],
.wppb-form-field input[type="search"],
.wppb-form-field select,
.wppb-form-field textarea,
.wppb-form-field .wppb-password-field-container,
.wppb-checkboxes,
.wppb-radios,
#wppb-login-wrap .login-username input,
#wppb-login-wrap .login-auth input {
    width: 69.9%;
    float: left;
}


.wppb-form-field.wppb-select-multiple select {
    height: auto;
}

.wp-theme-oceanwp .wppb-form-field input[type="number"]{
    max-width: 100% !important;
}

#wppb-login-wrap .login-remember {
    display: flex;
    align-items: center;
}

#wppb-login-wrap .login-remember input {
    cursor: pointer;
}

#wppb-login-wrap .login-remember label {
    padding-left: 8px;
    margin-bottom: 0;
    cursor: pointer;
}

.wppb-form-field.wppb-timepicker select {
    width: auto !important;
    margin-right: 5px;
}

.wppb-user-forms .wppb-wysiwyg .wp-editor-wrap .wp-editor-tabs * {
    box-sizing: content-box !important;
}

 .wp-theme-oceanwp .woocommerce .wppb-user-forms .wppb-wysiwyg .wp-editor-wrap .wp-editor-tabs *{
     width: auto !important;
     padding: 3px 8px 4px !important;
 }

.wppb-user-forms .wp-editor-wrap input {
    float: none;
    width: auto;
}

input#send_credentials_via_email {
    float: none;
    margin-right: 10px;
}

.wppb-send-credentials-checkbox label {
    width: auto;
}

.wppb-form-field > span:not(.wppb-password-field-container) {
    display: block;
    clear: both;
    font-size: 80%;
    font-style: italic;
    word-break: break-word;
}

.wppb-form-field > span.custom_field_html {
    font-style: normal;
    font-size: 100%;
}

.wppb-form-field > span.select2-container {
    font-style: normal;
    font-size: 100%;
    clear: none;
}

.wppb-form-field > span.select2-container .selection .select2-selection {
    height: 44px;
}

.wppb-repeater .wppb-select-cpt span.select2-container {
    width: auto !important;
}

span.select2-container {
    z-index: 9999;
}

.wppb-form-field.wppb-timepicker > span.wppb-timepicker-separator {
    display: inline-block;
    float: left;
    clear: none;
    margin-left: 0;
    margin-right: 5px;
    font-size: 100%;
    font-style: normal;
}

.wppb_upload_button {
    display: inline-block;
}

.wppb-user-forms .wppb-checkboxes li,
.wppb-user-forms .wppb-radios li {
    display: inline-block;
    padding: 0 20px 0 0;
}

.wppb-user-forms .wppb-checkboxes li.wppb-hidden {
    padding: 0;
}

.wppb-form-field .wppb-checkboxes label,
.wppb-form-field .wppb-radios label {
    float: none;
    min-width: 0;
    padding-left: 5px;
    width: auto;
    display: inline-block;
}

.wppb-checkbox-terms-and-conditions input,
.wppb-checkboxes li input,
.wppb-radios li input {
    min-width: 0;
    float: none;
}

.wppb-edit-user .wppb-checkbox-terms-and-conditions {
    display: none;
}

.wppb-form-field.wppb-heading span,
.wppb-default-about-yourself-heading span,
.wppb-default-contact-info-heading span,
.wppb-default-name-heading span,
.wppb-checkbox-terms-and-conditions span {
    margin-left: 0;
}

.wppb-checkbox-terms-and-conditions label {
    width: 100%;
}

.wppb-form-field.wppb-checkbox-terms-and-conditions input[type="checkbox"].custom_field_toa {
    float: none;
    margin-right: 10px;
}

.wppb-recaptcha-element {
    display: inline-block;
}

.wppb-recaptcha-element.wppb-invisible-recaptcha {
    display: block !important;
}

.wppb-recaptcha-element iframe {
    margin-bottom: 0;
}

.wppb-form-field input.wppb-map-search-box {
    position: absolute;
    top: 10px !important;
    height: 34px;
    width: 50%;
    min-width: 250px;
    background: #fff;
    border: 0;
    border-radius: 1px;
    padding: 0 10px;
    box-shadow: 0 1px 1px 0 #c1c1c1;
    font-family: "Roboto", sans-serif;
}

.wppb-create-new-site {
    width: 100%;
}

input#wppb_create_new_site_checkbox {
    width: auto;
    margin-right: 10px;
    float: none;
}

label[for="wppb_create_new_site_checkbox"] {
    width: 100%;
}

label[for="blog-privacy"] {
    width: 100%;
}

/* GDPR checkbox */
.wppb-gdpr-checkbox.wppb-form-field label {
    width: 100%;
    float: none;
}

.wppb-gdpr-checkbox.wppb-form-field #user_consent_gdpr {
    float: none;
    margin: 0 10px 0 0;
}


/*--------------------------------------------------------------
4.0 Errors & Notices
--------------------------------------------------------------*/

.wppb-error,
.wppb-warning,
.wppb-notice,
.wppb-success {
    padding: 6px 9px;
    margin: 0 auto 25px;
    display: block;
    width: 100%;
}

.wppb-error,
.wppb-warning {
    box-sizing: border-box;
    background: #ffebe8;
    border: 1px solid #c00;
}

.wppb-error,
.wppb-warning,
.wppb-notice {
    color: #222222 !important;
}

.wppb-error a,
.wppb-warning a {
    color: #007acc !important;
}

.wppb-comment-captcha-error {
    clear: both !important;
    margin: 0 0 24px !important;
    padding: 12px 16px !important;
    line-height: 1.5 !important;
}

.wppb-comment-captcha-error + .comment-notes,
.wppb-comment-captcha-error + .logged-in-as {
    clear: both !important;
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}

.admin-bar #wppb_form_general_message {
    padding-top: 32px;
}

.wppb-error a:hover,
.wppb-warning a:hover {
    color: #007acc !important;
    text-decoration: underline;
}

.wppb-notice {
    box-sizing: border-box;
    background: #ccc;
    border: 1px solid #666;
}

.wppb-required {
    color: red;
}

.wppb-required,
.wppb-checkbox-terms-and-conditions span.wppb-required {
    margin-left: 5px;
}

.wppb-success {
    box-sizing: border-box;
    background: #e7f7d3;
    border: 1px solid #6c3;
}

.wppb-register-user .wppb-field-error,
.wppb-edit-user .wppb-field-error,
#wppb-recover-password .wppb-field-error {
    background-color: #ffdfdf;
    border: 1px dotted #c89797;
    margin-bottom: 6px !important;
    padding: 6px !important;
}

.wppb-field-error > input,
.wppb-field-error > select,
.wppb-field-error > textarea,
.wppb-field-error > label {
    margin-bottom: 10px;
}

.wppb-field-error img {
    box-shadow: none;
    -webkit-box-shadow: none;
    border: none;
    border-radius: 0px;
    vertical-align: middle;
    margin-top: -3px;
    padding-left: 5px;
    width: auto;
    height: auto;
}

.wppb-form-field > span.wppb-form-error {
    margin-top: 10px;
    padding-top: 5px;
    border-top: 1px dotted #c89797;
    font-size: 100%;
    margin-left: 0;
}

.wppb-password-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wppb-edit-user .wppb-default-password.wppb-current-password-field-error {
    background-color: transparent;
    border: 0;
    padding: 0;
}

.wppb-edit-user .wppb-default-password .wppb-current-password-subfield-error {
    background-color: #ffdfdf;
    border: 1px dotted #c89797;
    padding: 6px;
    margin-bottom: 6px;
}

/* Remove global Blog Details Field error */
#wppb-register-user .wppb-default-blog-details.wppb-field-error {
    background-color: transparent !important;
    border: 0px !important;
}

.wppb-default-blog-details > span.wppb-form-error {
    display: none;
}

.wppb-blog-details-heading span {
    margin-left: 0;
}

.wppb-1website-url {
    position: absolute;
    left: -99999px;
}


/*--------------------------------------------------------------
5.0 User Listing
--------------------------------------------------------------*/

.wppb-table * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.wppb-table {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-spacing: 0.5rem;
    border-collapse: collapse;
    width: 100%;
}

.wppb-table th {
    background: #f4f4f4;
    padding: 7px;
    border: 1px solid #e1e1e1;
    text-align: left;
}

.wppb-table thead tr:hover {
    background: none;
}

.wppb-table .wppb-sorting .wppb-sorting-default {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("https://bwcvirginia.org/wp-content/plugins/profile-builder/assets/css/../images/sorting-default.png") no-repeat center center;
    vertical-align: middle;
}

.wppb-table .wppb-sorting .wppb-sorting-ascending {
    background-image: url("https://bwcvirginia.org/wp-content/plugins/profile-builder/assets/css/../images/sorting-ascending.png");
}

.wppb-table .wppb-sorting .wppb-sorting-descending {
    background-image: url("https://bwcvirginia.org/wp-content/plugins/profile-builder/assets/css/../images/sorting-descending.png");
}

.wppb-table tr:hover {
    background: #f1fcff;
}
.wppb-table td {
    padding: 7px;
    border: 1px solid #e1e1e1;
}

.wppb-table .wppb-posts,
.wppb-table .wppb-moreinfo {
    text-align: center;
}

.wppb-avatar img {
    max-width: none;
}

ul.wppb-profile {
    list-style-type: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

ul.wppb-profile li {
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
}

ul.wppb-profile li label {
    display: block;
    width: 30%;
    float: left;
    min-height: 1px;
    font-weight: bold;
}

ul.wppb-profile li span {
    display: block;
    width: 69.9%;
    float: left;
}

ul.wppb-profile li h3,
ul.wppb-profile li h3:first-child {
    margin: 20px 0;
    padding-top: 20px;
    border-top: 1px solid #d2d2d2;
}

ul.wppb-faceted-list {
    list-style: none;
    margin: 0 0 20px;
}

ul.wppb-faceted-list:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

ul.wppb-faceted-list > li {
    float: left;
    margin-right: 15px;
    max-width: 300px;
}

ul.wppb-faceted-list > li:first-child {
    float: none;
    clear: both;
}

.wppb-userlisting-container .wppb-faceted-list li h5 {
    margin: 5px 0;
}

.wppb-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

ul.wppb-faceted-list label > * {
    vertical-align: middle;
}

ul.wppb-faceted-list input[type="checkbox"] {
    margin-right: 5px;
}

.wppb-userlisting-container.wppb-spinner {
    position: relative;
    opacity: 0.5;
}

.wppb-userlisting-container.wppb-spinner:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -16px;
    margin-left: -16px;
    display: block;
    width: 32px;
    height: 32px;
    z-index: 1000;
}

ul.wppb-faceted-list .hide-this {
    display: none;
}

#wppb-remove-facets-container {
    list-style: none;
    margin: 0;
}

.wppb-remove-facet:before,
.wppb-remove-all-facets:before {
    content: "x";
    display: inline-block;
    border-right: 1px dotted #d3ccc9;
    border-right: 1px dotted #6f6f6f;
    padding-right: 5px;
    margin-right: 5px;
}

.wppb-userlisting-container .wppb-ul-range-values {
    padding: 5px 0;
}

.wppb-userlisting-container:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.wppb-float-left {
    float: left;
}

.wppb-float-right {
    float: right;
}

.wppb-facet-float-left {
    float: left;
    max-width: 300px;
}

.wppb-facet-float-right {
    float: right;
    max-width: 300px;
}

li.wppb-facet-search {
    position: relative;
}

.wppb-facet-search-wrap label {
    display: inline-block;
    position: relative;
    padding: 0 !important;
    margin: 0 !important;
}

.wppb-facet-search {
    width: 75% !important;
    margin-right: 5px !important;
}

.wppb-facet-search .screen-reader-text {
    display: none;
}

.wppb-facet-search,
.wppb-search-submit {
    box-sizing: border-box;
    display: inline-block !important;
    vertical-align: middle;
}

.wppb-search-submit {
    display: inline-block;
    width: 20%;
    height: 100%;
    background: #4f5963;
    position: absolute;
    right: 0;
    cursor: pointer;
    border: 1px solid #444d57;
    border-radius: 3px;
    padding: 0 !important;
    margin: 0 !important;
}

.wppb-search-submit:hover {
    background: #fff;
    color: #4f5963;
}

.wppb-search-submit::before {
    content: "\26B2";
    display: inline-block;
    color: #fff;
    font-size: 120%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.wppb-search-submit:hover::before {
    color: #4f5963;
}

@media screen and (max-width: 720px) {
    .wppb-table {
        border: 0;
    }

    .wppb-table thead {
        display: none;
    }

    .wppb-table tr {
        display: block;
        margin-bottom: 30px;
    }

    .wppb-table td {
        display: block;
        text-align: right;
        border-bottom: 0;
    }

    .wppb-table td:last-of-type {
        border-bottom: 1px solid #e1e1e1;
    }

    .wppb-table .wppb-posts,
    .wppb-table .wppb-moreinfo {
        text-align: right;
    }

    .wppb-table td:before {
        content: attr(data-label);
        float: left;
    }

    .wppb-table td:after {
        content: "";
        display: block;
        clear: both;
    }
}


/*--------------------------------------------------------------
6.0 Media Queries
--------------------------------------------------------------*/

@media screen and (max-width: 500px) {
    .wppb-form-field:not(#select_user_to_edit_form .wppb-form-field, .wppb-checkbox-terms-and-conditions, .wppb-gdpr-checkbox, .wppb-subscription-plans) label:not(.wppb-checkboxes label, .wppb-radios label),
    #wppb-login-wrap .login-username label,
    #wppb-login-wrap .login-password label,
    #wppb-login-wrap .login-auth label,
    ul.wppb-profile li label {
        width: 100% !important;
        display: block;
        float: none !important;
    }

    .wppb-form-field input[type="text"],
    .wppb-form-field input[type="number"],
    .wppb-form-field input[type="email"],
    .wppb-form-field input[type="url"],
    .wppb-form-field input[type="password"],
    .wppb-form-field input[type="search"],
    .wppb-form-field select,
    .wppb-form-field textarea,
    .wppb-form-field .wp-editor-wrap,
    .wppb-form-field .wppb-password-field-container,
    .wppb-checkboxes,
    .wppb-radios,
    #wppb-login-wrap .login-username input,
    #wppb-login-wrap .login-password input,
    #wppb-login-wrap .login-auth input,
    ul.wppb-profile li span {
        width: 100% !important;
        float: none !important;
    }

    .wppb-form-field > span {
        margin-left: 0;
    }

    .wppb-checkboxes li label,
    .wppb-radios li label {
        display: inline;
    }

    .wppb-form-field .wppb-avatar-nofile,
    .wppb-form-field .wppb-avatar-file,
    .wppb-form-field .wppb-upload-nofile,
    .wppb-form-field .wppb-upload-file {
        margin-left: 0;
    }
}


/*--------------------------------------------------------------
7.0 Password Strength
--------------------------------------------------------------*/

#pass-strength-result {
    background-color: #eee;
    border: 1px solid #ddd;
    display: none;
    float: left;
    margin: 13px 5px 5px 30%;
    padding: 3px 5px;
    text-align: center;
    width: 200px;
    height: 28px;
}

#pass-strength-result.short {
    background-color: #ffa0a0;
    border-color: #f04040;
}

#pass-strength-result.bad {
    background-color: #ffb78c;
    border-color: #ff853c;
}

#pass-strength-result.good {
    background-color: #ffec8b;
    border-color: #fc0;
}

#pass-strength-result.strong {
    background-color: #c3ff88;
    border-color: #8dff1c;
}


/*--------------------------------------------------------------
8.0 Show/Hide Password
--------------------------------------------------------------*/

.wppb-form-field.wppb-default-password button.wppb-toggle-pw,
.wppb-form-field.wppb-default-repeat-password button.wppb-toggle-pw,
#wppb-login-wrap .login-password button.wppb-toggle-pw,
#wppb-recover-password-container .wppb-form-field.passw1 .wppb-toggle-pw,
#wppb-recover-password-container .wppb-form-field.passw2 .wppb-toggle-pw {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid transparent;
    box-shadow: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-theme-oceanwp .wppb-form-field.wppb-default-password button.wppb-toggle-pw,
.wp-theme-oceanwp .wppb-form-field.wppb-default-repeat-password button.wppb-toggle-pw{
    width: auto !important;
}

#wppb-loginform .login-password .show-password-input,
.woocommerce .wppb-default-repeat-password .show-password-input,
.woocommerce .wppb-default-password .show-password-input {
    display: none !important;
}

.wppb-form-field.wppb-default-password button img,
.wppb-form-field.wppb-default-repeat-password button img,
#wppb-login-wrap .login-password button img,
#wppb-recover-password-container .wppb-form-field.passw1 button img,
#wppb-recover-password-container .wppb-form-field.passw2 button img {
    width: 20px;
}


/*--------------------------------------------------------------
9.0 Profile Builder Subscription Plans Field
--------------------------------------------------------------*/

.wppb-form-field.wppb-subscription-plans input {
    display: inline-block;
    float: none;
    margin-right: 10px !important;
}

.wppb-form-field.wppb-subscription-plans span.description {
    display: block;
    font-size: 100%;
    font-style: italic;
    margin-left: 0;
    margin-bottom: 1.5em;
}

/* This is very weird: if in  the css there is a rule on table of border-collapse:collapse; then on FFox and Edge the Media upload won't open */
.wppb-user-forms table {
    border-collapse: separate;
}


/*--------------------------------------------------------------
10.0 Private Website
--------------------------------------------------------------*/

.wppb-private-website.wppb-private-website-hide-menus .main-navigation {
    display: none;
}


/*--------------------------------------------------------------
11.0 Map markers info
--------------------------------------------------------------*/

.marker-content-info {
    position: absolute;
    top: -400px;
    left: -400px;
    display: none;
}

.wppb-map-container .marker-content {
    min-width: 320px;
    max-width: 100%;
}

.wppb-map-container .marker-content .marker-info-avatar_or_gravatar {
    float: left;
    margin-right: 10px;
}


/*--------------------------------------------------------------
12.0 Elementor Visual Editor
--------------------------------------------------------------*/

.elementor-edit-mode .wppb-map-container {
    width: 69.9%;
    float: left;
    border: 1px solid #ccc;
    border-radius: 3px;
}


/*--------------------------------------------------------------
13.0 Two-Factor Authentication
--------------------------------------------------------------*/

#wppb_auth_secret_buttons,
#wppb_auth_verify_buttons,
#wppb_auth_backup_buttons {
    margin-left: 30%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.wppb_auth_button {
    background: none repeat scroll 0 0 #f7f7f7;
    border: 1px solid #ccc !important;
    color: #555;
    cursor: pointer;
    display: inline-block;
    font-size: 12px;
    line-height: 26px;
    padding: 15px;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    width: 30%;
}

.wppb_auth_button:hover {
    background: none repeat scroll 0 0 #fafafa;
    border: 1px solid #999 !important;
    color: #222;
    text-decoration: none;
}

#wppb_auth_newsecret.wppb_auth_new_button,
#wppb_auth_verify_button.wppb_auth_verify_button,
#wppb_auth_backup_button.wppb_auth_backup_button {
    flex-grow: 1;
}

#wppb_show_qr.wppb_auth_qr_button,
#wppb_auth_verify_indicator.wppb_auth_verify_indicator,
#wppb_auth_backup_indicator.wppb_auth_backup_indicator {
    flex-grow: 1;
}

#wppb_auth_verify_indicator,
#wppb_auth_backup_indicator {
    pointer-events: none !important;
}

#wppb_auth_verify_indicator.valid {
    background-color: #c3ff88;
    border-color: #8dff1c;
}

#wppb_auth_verify_indicator.invalid {
    background-color: #ffa0a0;
    border-color: #f04040;
}

#wppb_auth_backup_indicator.low {
    background-color: #ffeaa7;
    border-color: #856404;
}

#wppb_auth_backup_indicator.zero {
    background-color: #ffa0a0;
    border-color: #f04040;
}

#wppb_auth_QR_INFO {
    text-align: right;
}

#wppb_auth_QR_INFO .wppb-description-delimiter {
    font-size: 80%;
    font-style: italic;
}

/* Backup Codes Styling */
/*.wppb-backup-codes-section,*/
.wppb-backup-codes-admin-section {
    margin-top: 20px;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #f7f7f7;
}

.wppb-backup-codes-section h4,
.wppb-backup-codes-admin-section h3,
.wppb-backup-codes-admin-section h4 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #555;
}

.wppb-backup-codes-new,
.wppb-backup-codes-admin-new {
    /*
    background-color: #d1ecf1;
    */
    border: 1px solid #ccc/*#bee5eb*/;
    /*
    color: #0c5460;
    */
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.wppb-backup-codes-new h4,
.wppb-backup-codes-new h5,
.wppb-backup-codes-admin-new h4 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #0c5460;
}

.wppb-backup-codes-list,
.wppb-backup-codes-admin-list {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 15px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.6;
    max-height: 200px;
    overflow-y: auto;
}

.wppb-backup-code-item,
.wppb-backup-codes-admin-item {
    margin-bottom: 5px;
    padding: 5px;
    background-color: #f8f9fa;
    border-radius: 3px;
    word-break: break-all;
}

.wppb-backup-codes-actions {
    margin-top: 15px;
}

.wppb-backup-codes-actions .button {
    background: none repeat scroll 0 0 #f7f7f7;
    border: 1px solid #ccc !important;
    color: #555;
    cursor: pointer;
    display: inline-block;
    font-size: 12px;
    line-height: 26px;
    padding: 15px;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    margin-right: 10px;
    margin-bottom: 5px;
}

.wppb-backup-codes-actions .button:hover {
    background: none repeat scroll 0 0 #fafafa;
    border: 1px solid #999 !important;
    color: #222;
    text-decoration: none;
}

.wppb-2fa-forced-notice.wppb-error p{
    margin: unset;
}

/*--------------------------------------------------------------
International Telephone Input
--------------------------------------------------------------*/
.wppb-user-forms .iti .iti__search-input {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-left: 30px !important;
    padding-right: 28px !important;
}

/* PB Default: keep intl input aligned like the other text fields (next to label). */
.wppb-form-field.wppb-international-telephone-input .iti {
    width: 69.9%;
    max-width: 100%;
    float: left;
}

/* Form styles 1/2/3: keep intl input in the same stacked layout as text fields. */
#wppb-form-style-1-wrapper .wppb-form-field.wppb-international-telephone-input .iti,
#wppb-form-style-2-wrapper .wppb-form-field.wppb-international-telephone-input .iti,
#wppb-form-style-3-wrapper .wppb-form-field.wppb-international-telephone-input .iti {
    width: 100%;
    max-width: 100%;
    display: block;
}

/* Increase horizontal spacing used by the intl-tel-input internals. */
.wppb-user-forms .iti {
    --iti-spacer-horizontal: 12px;
}

/* Keep dropdown corners clean and clip item highlight backgrounds. */
.wppb-user-forms .iti--inline-dropdown .iti__dropdown-content {
    border-radius: 6px;
    overflow: hidden;
}

/* Add vertical breathing room for the list container. */
.wppb-user-forms .iti .iti__country-list {
    padding: 4px 0;
    margin: 0;
}

/* Add balanced horizontal padding for each country option row. */
.wppb-user-forms .iti .iti__country {
    padding: 8px 12px;
}

/* Ensure visible gap between flag and country label/dial code. */
.wppb-user-forms .iti .iti__country-list .iti__flag {
    margin-right: 10px;
}

/* Mirror flag spacing when page direction is right-to-left. */
[dir="rtl"] .wppb-user-forms .iti .iti__country-list .iti__flag {
    margin-right: 0;
    margin-left: 10px;
}

/* Prevent theme/PMS button styles from affecting the intl-tel-input country selector. */
#wppb-form-style-1-wrapper .wppb-form-field.wppb-international-telephone-input .iti button.iti__selected-country,
#wppb-form-style-2-wrapper .wppb-form-field.wppb-international-telephone-input .iti button.iti__selected-country,
#wppb-form-style-3-wrapper .wppb-form-field.wppb-international-telephone-input .iti button.iti__selected-country {
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: inherit !important;
}

/* Style 1/2 + placeholder labels:
   move floating label text to the right so it doesn't overlap the country flag. */
#wppb-form-style-1-wrapper .wppb-form-field.wppb-international-telephone-input.label-inside > label:not(.wppb-epaa-switch):not(.wppb-field-visibility-settings label),
#wppb-form-style-2-wrapper .wppb-form-field.wppb-international-telephone-input.label-inside > label:not(.wppb-epaa-switch):not(.wppb-field-visibility-settings label) {
    padding-left: 56px;
}

/* Style 1 (Sublime) + placeholder labels:
   Style 1's label-inside rule sets "padding: 15px 15px 0 15px !important" on inputs, which
   overrides the inline left padding intl-tel-input adds to clear the country flag. Without a
   matching override the typed number sits underneath the flag/dropdown. Reserve the same room
   on the input as the floating label above (the :not() qualifiers keep specificity high enough
   to win over the !important text-field rule). */
#wppb-form-style-1-wrapper .wppb-form-field.wppb-international-telephone-input.label-inside input.wppb-intl-tel-input:not([type='radio']):not([type='checkbox']):not([type='submit']) {
    padding-left: 56px !important;
}

.wppb-form-field .iti + .wppb-iti-error {
    float: left !important;
    width: 69.9% !important;
    margin-left: 30%;
    margin-top: 6px;
    color: #c0392b !important;
    font-size: 15px !important;
    display: none;
}

/* Default PB + placeholder labels (label-inside):
   align JS intl error with the full-width input, not with the 30/70 layout. */
.wppb-form-field.wppb-international-telephone-input.label-inside .iti + .wppb-iti-error {
    width: 100% !important;
    margin-left: 0 !important;
}

@media screen and (max-width: 500px) {
    .wppb-form-field.wppb-international-telephone-input .iti {
        float: none;
        width: 100%;
    }

    .wppb-form-field .iti + .wppb-iti-error {
        float: none;
        width: 100%;
        margin-left: 0;
    }
}