/*--------------------------------------------------------------------------------------

General Pages

--------------------------------------------------------------------------------------*/

form.pmpro_form {
width: 100%;
max-width: 100%;
}
.pmpro_form hr {
display: none;
}
.pmpro_hidden {
display: none;
}
.pmpro_btn, 
.pmpro_btn:link, 
.pmpro_content_message a, 
.pmpro_content_message a:link {
border: 0;
background: var(--gp-button-bg-color, var(--gp-primary-color));
color: var(--gp-button-text-color);
font-weight: var(--gp-strong-font-weight);
}

/* Messages - Success, Error, Alert ************************************/

.pmpro_message {
background-color: #d9edf7;
border: 1px solid #bce8f1;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
color: #31708f;
font-size: 14px;
font-weight: 400;
line-height: 1.5em;
margin: 0 0 20px 0;
padding: 10px 15px;
text-align: left;
}
.pmpro_success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
.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: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.pmpro_alert {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
.pmpro_content_message a,
.pmpro_content_message a:link {
margin: 0 10px 0 10px;
}
.gp-theme .pmpro_message a {
color: #245269;
text-decoration: underline;
}
.gp-theme .pmpro_message a:hover {
color: inherit;
text-decoration: none;
}
.gp-theme .pmpro_success a {
color: #2b542c;
}
.gp-theme .pmpro_error a {
color: #843534;
}
.gp-theme .pmpro_alert a {
color: #66512c;
}
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;
}

/* Membership Levels Page ************************************/

.pmpro_levels_table th {
border-top: 0;
}
.pmpro_levels_table th,
.pmpro_levels_table td {
	
	border-left: 0;
	border-right: 0;
}

/* Membership Account Page ************************************/

#pmpro_account .pmpro_box h2 {
margin: 0 0 15px 0;
}
#pmpro_account .pmpro_box h3 {
margin: 0 0 15px 0;
font-size: 20px;
line-height: 26px;
font-weight: var(--gp-strong-font-weight);
}
#pmpro_account .pmpro_box {
border: 0;
margin: 0 0 20px 0;
padding: 0;
}
#pmpro_account .pmpro_table th,
#pmpro_account .pmpro_table td {
padding: 5px 0;
border: 0;
}
#pmpro_account .pmpro_table th {
display: none;
line-height: 1;
font-weight: var(--gp-strong-font-weight);
text-align: left;
border-bottom: 1px solid var(--gp-misc-border-color);
}
#pmpro_account .pmpro_table td {
display: block;
width: 100%;
}
#pmpro_account .pmpro_table tr td:first-child {
padding-top: 15px;
}
#pmpro_account .pmpro_table tr:last-child td:last-child {
padding-bottom: 15px;
}
#pmpro_account .pmpro_table strong {
font-weight: var(--gp-strong-font-weight);
}
.pmpro_actionlinks  {
font-size: small;
}
.gp-theme #pmpro_account #pmpro_account-profile .pmpro_actionlinks {
margin-top: 15px;
line-height: 1;
}
#pmpro_account .pmpro_box p {
margin-top: 0;
}
#pmpro_account-profile.pmpro_box {

}
#pmpro_account .pmpro_box p {
margin-bottom: 0;
font-weight: var(--gp-strong-font-weight);
}
#pmpro_account .pmpro_box ul {
margin: 0;
list-style: none;
}
#pmpro_account .pmpro_box ul strong {
font-weight: var(--gp-strong-font-weight);
}

/* Membership Billing Page ************************************/

.pmpro_billing_wrap strong {
font-weight: var(--gp-strong-font-weight);
}
.pmpro_billing_wrap small {
font-size: 14px;
}
.pmpro_billing_wrap ul {
margin: 0;
list-style: none;
}

/* Membership Cancel Page ************************************/

.pmpro_cancel_wrap h2 {
margin: 0 0 20px 0;
font-size: 20px;
line-height: 26px;
font-weight: var(--gp-strong-font-weight);
}

/* Membership Your Profile Page ************************************/

.pmpro_checkout_box-user {
margin: 0 0 30px 0;
}
.pmpro_checkout_box-profile_details {
margin: 0 0 30px 0;
}
.pmpro_checkout_box-profile_details h3 {
margin: 0 0 20px 0;
font-size: 20px;
line-height: 26px;
font-weight: var(--gp-strong-font-weight);
}
form.pmpro_form label {
display: block;
margin-bottom: 10px;
font-size: 16px;
line-height: 22px;
font-weight: var(--gp-strong-font-weight);
}
form.pmpro_form label.pmpro_label-inline {
display: inline-block;
}
form.pmpro_form label.pmpro_clickable {
cursor: pointer;
}
form.pmpro_form .pmpro_checkout-field {
margin-bottom: 20px;
}
form.pmpro_form .pmpro_checkout-field p {
margin-bottom: 0;
}
form.pmpro_form .pmpro_member_profile_edit-fields div {
margin: 0 0 30px 0;
}
form.pmpro_form .pmpro_member_profile_edit-fields div:last-child {
margin-bottom: 0;
}
form.pmpro_form .lite {
margin: 10px 0 0 0;
font-size: 14px;
line-height: 20px;
opacity: 0.8;
color: var(--gp-tertiary-color);
}
.gp-theme .pmpro_btn.pmpro_btn-cancel, 
.gp-theme .pmpro_btn.pmpro_btn-cancel:link, 
.gp-theme .pmpro_btn.pmpro_btn-cancel:focus, 
.gp-theme .pmpro_btn.pmpro_btn-cancel:hover {
background: none;
border: none;
box-shadow: none;
color: inherit;
text-decoration: underline;
} 
.gp-theme .pmpro_btn.pmpro_btn-cancel:hover {
text-decoration: none;
}

/* Change Password Page ************************************/

form.pmpro_form .pmpro_change_password-fields #pass-strength-result.empty {
display: none;
}
form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
margin-top: 20px;
}

/* Membership Confirmation Page ************************************/

.pmpro_confirmation_wrap ul {
margin: 0;
list-style: none;
}
.pmpro_confirmation_wrap ul strong {
font-weight: var(--gp-strong-font-weight);
}
.pmpro_confirmation_wrap .pmpro_invoice_details {
font-size: 14px;
line-height: 24px;
}
.gp-theme .pmpro_confirmation_wrap hr {
margin: 20px 0;
}
.pmpro_invoice_details .pmpro_invoice-billing-address,
.pmpro_invoice_details .pmpro_invoice-payment-method {
margin: 0 0 20px 0;
}
.gp-theme .pmpro_actions_nav,
.gp-theme .pmpro_actions_nav:last-child {
margin-top: 20px;	
}

/* Membership Invoices Page ************************************/



/* Restricted Content Message ************************************/

.pmpro_content_message {
padding: 20px;
background: var(--gp-misc-bg-color);
border-radius: var(--gp-section-border-radius);
text-align: center;
}

/*--------------------------------------------------------------------------------------

Element - PMPro Levels

--------------------------------------------------------------------------------------*/

/* Columns ************************************/

.gp-element-pmpro-levels{
display: flex;
flex-wrap: wrap;
column-gap: 30px;
row-gap: 30px;
}
.gp-level {
display: flex;
flex-direction: column;
flex: 1 0 auto;
padding: 30px;
border: 1px solid var(--gp-misc-border-color);
border-radius: var(--gp-section-border-radius);
}
.gp-level > .gp-level-inner:nth-last-child(2) {
flex-grow: 1;
}

/* Level Name ************************************/

.gp-level .gp-level-name {
margin-bottom: 10px;
}
.gp-level .gp-level-name-text {
font-size: 20px;
line-height: 26px;
font-weight: var(--gp-strong-font-weight);
}

/* Level Price ************************************/

.gp-level .gp-level-price {
margin-bottom: 20px;
font-size: 32px;
line-height: 38px;
font-weight: var(--gp-strong-font-weight);
color: var(--gp-primary-color);
}
.gp-level .gp-payment-cycle {
display: block;
font-size: 14px;
line-height: 20px;
font-weight: var(--gp-strong-font-weight);
}
.gp-level .gp-trial-amount {
display: block;
}
.gp-level-expiration {
margin-bottom: 20px;
}

/* Level Badge ************************************/

.gp-level-badge .gp-level-td {
align-self: flex-start;
margin-bottom: 20px;
padding: 8px 10px;
color: var(--gp-button-text-color);
background: var(--gp-secondary-color);
font-size: 16px;
line-height: 1;
border-radius: 10px;
}
.gp-level-badge.gp-full-width .gp-level-td {
width: 100%;
}

/* Level Descripton ************************************/

.gp-level .gp-level-description {
margin-bottom: 20px;
font-size: 14px;
line-height: 24px;
}

/* Level Comparison Items ************************************/

.gp-level-comparison-lists {
display: inline-block;
position: relative;
margin-bottom: 40px;
}
.gp-level-comparison-list .gp-level-td {
display: flex;
margin-bottom: 10px;
position: relative;
padding-left: 25px;
font-size: 16px;
line-height: 26px;
text-align: left;
}
.gp-level-comparison-list .gp-element-icon {
position: absolute;
top: 3px;
left: 0;
color: var(--gp-primary-color);
}
.gp-level-comparison-list .gp-element-icon svg:not([fill=none]),
.gp-level-comparison-list  .gp-element-icon path:not([stroke]) {
fill: var(--gp-primary-color);
}
.gp-level-comparison-list .gp-element-icon svg[stroke], 
.gp-level-comparison-list  .gp-element-icon path[stroke] {
stroke: var(--gp-primary-color);
}

/* Level Button ************************************/

.gp-level-checkout-button .gp-button {
text-align: center;
}
.gp-level-checkout-button.gp-button-full-width {
width: 100%;
}
.gp-level-checkout-button.gp-button-full-width .gp-button {
display: block;
}

/*--------------------------------------------------------------------------------------

Checkout/Register Form

--------------------------------------------------------------------------------------*/

/* General ************************************/

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] {
max-width: 100%;
font-size: inherit;
}
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,
.pmpro_form .input[type="email"],
.pmpro_form .input[type="search"],
.pmpro_form .input[type="url"],
.pmpro_form #pmpro_billing_address_fields .input,
.pmpro_form #pmpro_payment_information_fields .input {
width: 100%;
}
form.pmpro_form .pmpro_asterisk {
display: none;
}
.pmpro_checkout {
margin-bottom: 30px;
}
.pmpro_checkout-fields {
overflow: hidden;
}

/* Levels box ************************************/

form.pmpro_form #pmpro_pricing_fields .pmpro_checkout-fields {
margin-top: 0 !important;
padding-top: 0 !important;
}

/* Section header ************************************/

#pmpro_form .pmpro_checkout h2,
#pmpro_form .pmpro_checkout h3 {
margin: 0 0 20px 0;
}
form.pmpro_form .pmpro_checkout h2 span.pmpro_checkout-h2-name,
form.pmpro_form .pmpro_checkout h3 span.pmpro_checkout-h3-name {
margin: 0;
}
form.pmpro_form .pmpro_checkout h2 span.pmpro_checkout-h2-msg,
form.pmpro_form .pmpro_checkout h3 span.pmpro_checkout-h3-msg {
display: block;
font-size: 11px;
line-height: 17px;
font-weight: normal;
font-style: normal;
}
form.pmpro_form .pmpro_checkout_decription {
margin: 0 0 20px 0;
}
.pmpro_level_description_text {
color: var(--gp-tertiary-color);
}

/* Field box ************************************/

form.pmpro_form .pmpro_checkout-fields div {
margin: 0 0 20px 0;
}
form.pmpro_form .pmpro_checkout-fields div:last-child {
margin: 0;
}

/* Field Labels ************************************/

form.pmpro_form .pmpro_checkout-field-checkbox label:not(.pmprorh_checkbox_label) {
display: block;
}

/* Field Description ************************************/

small.lite {
display: block;
font-size: small;
}

/* Date field ************************************/

.pmpro_form .pmpro_checkout-field-date select,
.pmpro_form .pmpro_checkout-field-date input {
display: inline-block;
}
.pmpro_form .pmpro_checkout-field-date select,
.pmpro_form .pmpro_checkout-field-date input {
margin-right: 5px;
}
.pmpro_form .pmpro_checkout-field-date input:last-child {
margin-right: 0;
}

/* Checkbox field ************************************/

.pmpro_form .pmpro_checkout-fields .pmprorh_grouped_checkboxes ul {
margin: 0;
}
.pmpro_form .pmpro_checkout-fields input[type="checkbox"] {
min-height: 0;
}

/* Checkbox group field ************************************/

.pmpro_form .pmprorh_grouped_checkboxes li {
margin-bottom: 10px;
line-height: 20px;
}
.pmpro_form .pmprorh_grouped_checkboxes li:last-child {
margin-bottom: 0;
}
.pmpro_form .pmprorh_grouped_checkboxes li label {
margin: 0;
font-size: 14px;
line-height: 20px;
}

/* Location field ************************************/

.pmpro_form .pmpro_checkout-fields input[type="text"].pac-target-input {
width: calc(100% - 35px);
}
.pmpro_form .pmpro_checkout-fields .dashicons-location {
margin: 10px 0 0 10px;
cursor: pointer;
}

/* Radio field ************************************/

form.pmpro_form .pmpro_checkout-fields div.pmpro_checkout-field-radio-item {
display: block;
margin-bottom: 10px;
line-height: 1;
}
form.pmpro_form .pmpro_checkout-fields div.pmpro_checkout-field-radio-item:last-child {
margin-bottom: 0;
}
form.pmpro_form .pmpro_checkout-field-radio-item label, 
form.pmpro_form .pmpro_member_profile_edit-fields .pmpro_checkout-field-radio-item label {
display: inline-block;
margin: 0;
font-size: 14px;
line-height: 1;
}
form.pmpro_form .pmpro_checkout-field-radio-item input[type="radio"] {
min-height: 0;
}

/* Select2 field ************************************/

form.pmpro_form .select2-container--default .select2-search--inline .select2-search__field,
form.pmpro_form .select2-container--default .select2-search--inline .select2-search__field:focus {
background: none !important;
border: 0 !important;
padding: 0 !important;
margin: 0 !important;
}
form.pmpro_form .select2-container--default .select2-selection--multiple .select2-selection__rendered {
padding: 0 !important;
}

/* Terms of service ************************************/

#pmpro_form #pmpro_tos_fields h2 {
margin: 0 0 10px 0;
}
#pmpro_license {
padding: 20px;
border-color: var(--gp-misc-border-color);
border-radius: var(--gp-section-border-radius);
}
form.pmpro_form .pmpro_label-inline {
font-weight: 400;
font-size: 14px;
line-height: 20px;
}

/* Captcha ************************************/

.pmpro_checkout-field.pmpro_captcha {
padding: 0 !important;
background: none !important;
border: 0 !important;
}

/* Payment fields ************************************/

form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields label {
text-align: left;
}
form.pmpro_form #ExpirationMonth {
margin-right: 5px;
}
form.pmpro_form #ExpirationYear {
margin-left: 5px;
}
form.pmpro_form input[type="image"] {
width: auto;
border: 0;
padding: 0;
margin: 0;
}

/* Button ************************************/

form.pmpro_form .pmpro_submit {
margin-top: 0;
}
.pmpro_btn, 
.pmpro_btn:link {
font-weight: inherit;
border: 0;
}
.pmpro_btn:focus {
outline: none;
}


/*--------------------------------------------------------------------------------------

Login/Lost Password Forms

--------------------------------------------------------------------------------------*/

.pmpro-login.gp-show-only-content {
height: 100%;
}
.pmpro-login.gp-show-only-content .gp-page-wrapper {
align-items: center;
height: 100%;
}
.pmpro-login.gp-show-only-content .gp-section {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.pmpro-login.gp-show-only-content .gp-section-style {
width: 520px;
max-width: 100%;
padding: 30px;
}
.pmpro_login_wrap, 
.pmpro_lost_password_wrap, 
.pmpro_reset_password_wrap {
margin: 0;
}

#loginform label {
display: block;
margin-bottom: 10px;
font-size: 16px;
line-height: 22px;
font-weight: var(--gp-strong-font-weight);
}
#loginform input[type=text], 
#loginform input[type=password] {
max-width: 100%;
width: 100%;
font-size: inherit;
}
#loginform .login-remember label {
font-weight: normal;
color: var(--gp-tertiary-color);
font-size: 14px;
}
.pmpro_login_wrap .login-submit input,
.pmpro_lost_password_wrap .pmpro_submit input,
.pmpro_reset_password_wrap  .pmpro_submit input {
width: 100%;
}

.pmpro_lost_password-instructions {
color: var(--gp-tertiary-color);
font-size: 14px;
line-height: 20px;
}

.pmpro-login .pmpro_actions_nav,
.pmpro-login .pmpro_actions_nav:last-child {
display: flex;
margin-top: 30px;
justify-content: space-around;
padding: 0;
color: var(--gp-tertiary-color);
font-size: 13px;
}
.pmpro-login .pmpro_actions_nav a {
color: var(--gp-body-text-color);
}
.pmpro-login .pmpro_actions_nav a:hover {
color: var(--gp-primary-color);
}

.pmpro_login_wrap hr,
.pmpro_lost_password_wrap hr, 
.pmpro_reset_password_wrap hr {
display: none;
}

/*--------------------------------------------------------------------------------------

Media queries

--------------------------------------------------------------------------------------*/

/* Tablet (768px and above) */
@media only screen and (min-width: 768px) {

	.pmpro_table th,
	.pmpro_table td {
	display: table-cell;
	width: auto;
	padding: 15px 0;
	}
	.pmpro_checkout-field-password,
	.pmpro_checkout-field-password2,
	.pmpro_checkout-field-bemail,
	.pmpro_checkout-field-bconfirmemail,
	.pmpro_checkout-field-bfirstname,
	.pmpro_checkout-field-blastname {
	float: left;
	width: 50%;
	}
	form.pmpro_form .pmpro_checkout-field.pmpro_checkout-field-password {
	padding-right: 10px;
	}
	form.pmpro_form .pmpro_checkout-field.pmpro_checkout-field-password2 {
	padding-left: 10px;
	}
	form.pmpro_form .pmpro_checkout-field.pmpro_checkout-field-bemail {
	padding-right: 10px;
	}
	form.pmpro_form .pmpro_checkout-field.pmpro_checkout-field-bconfirmemail {
	padding-left: 10px;
	}	
	form.pmpro_form .pmpro_checkout-field-bfirstname {
	padding-right: 10px;
	}
	form.pmpro_form .pmpro_checkout-field-blastname {
	padding-left: 10px;
	}
	.pmpro_form .pmpro_checkout-field-bzipcode #bzipcode,
	.pmpro_form .pmpro_payment-cvv #CVV {
	width: auto;
	}
	.pmpro_form #pmpro_billing_address_fields #bfirstname,
	.pmpro_form #pmpro_billing_address_fields #blastname,
	.pmpro_form #pmpro_billing_address_fields #bemail,
	.pmpro_form #pmpro_billing_address_fields #bconfirmemail {
	width: 100%;
	}
	.pmpro_checkout-field-baddress1 {
	clear: left;
	}
	.pmpro_invoice_details .pmpro_invoice-billing-address,
	.pmpro_invoice_details .pmpro_invoice-payment-method {
	margin: 0 20px 0 0;
	}	
	.pmpro_form .pmpro_payment-discount-code #discount_code,
	.pmpro_form #other_discount_code {
	max-width: 40%;
	}
	
}