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

General Pages

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

.pmpro_form {
  width: 100%;
  max-width: 100%;
}
.pmpro_form hr {
  display: none;
}
.pmpro_hidden {
  display: none;
}
.gp-theme .pmpro_btn,
.gp-theme .pmpro_btn:link {
  cursor: pointer;
  font-weight: inherit;
  border: 0;
}
.gp-theme #member-profile-edit .pmpro_card,
.gp-theme #change-password .pmpro_card {
  margin-top: 0;
}

/* Action Links */
.gp-theme .pmpro_card_content + .pmpro_card_actions {
  background: none;
}

/* 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;
}

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

.pmpro_form .pmpro_change_password-fields #pass-strength-result.empty {
  display: none;
}
.pmpro_form .pmpro_change_password-fields #pass-strength-result {
  margin-top: 20px;
}
.pmpro_form_field-password-toggle button,
.pmpro_form_field-password-toggle button:hover,
.pmpro_form_field-password-toggle button:focus,
.pmpro_form_field-password-toggle button:active {
  padding: 0 4px;
  font-size: 14px;
  font-weight: normal;
}
.pmpro_form_field-password-toggle button svg {
  width: 14px;
}
.pmpro_form_field-password-toggle button:hover svg,
.pmpro_form_field-password-toggle button:focus svg,
.pmpro_form_field-password-toggle button:focus:hover svg,
.pmpro_form_field-password-toggle button:active svg,
.pmpro_form_field-password-toggle button:active:hover svg {
  stroke: var(--e-global-color-b3c880b);
}

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

.pmpro_content_message {
  margin: 80px 0 120px 0;
  text-align: center;
}
.pmpro_content_message .gp-element-icon {
  display: block;
  margin-bottom: 30px;
  font-size: 50px;
  line-height: 1;
}
.gp-pmpro-restricted > p {
  -webkit-mask-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  -webkit-mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: top bottom;
}

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

Element - PMPro Levels

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

.gp-level .gp-level-name-text {
  font-size: 30px;
  line-height: 36px;
  font-weight: 600;
}

.gp-level .gp-level-price {
  font-size: 20px;
  line-height: 26px;
  font-weight: 600;
}

.gp-level .gp-payment-cycle {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.gp-level .gp-trial-amount {
  display: block;
}

.gp-level .gp-level-description {
  color: #777;
  font-size: 16px;
  line-height: 26px;
}

.gp-level-comparison-item .gp-element-icon {
  margin-right: 10px;
}

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

.gp-element-pmpro-levels.gp-format-columns {
  display: flex;
  flex-wrap: wrap;
}

.gp-format-columns .gp-level {
  padding: 30px;
}

.gp-format-columns .gp-level-name,
.gp-format-columns .gp-level-price,
.gp-format-columns .gp-level-description,
.gp-format-columns .gp-level-expiration,
.gp-format-columns .gp-level-comparison-item {
  margin-bottom: 30px;
}

/* Horizontal Table ************************************/

.gp-element-pmpro-levels.gp-format-table {
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}

.gp-element-pmpro-levels.gp-format-table .gp-table-header {
  display: none;
}

.gp-format-table .gp-level {
  display: table;
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  padding: 30px;
  margin-bottom: 30px;
  border: 1px solid #000;
  border-radius: 10px;
}

.gp-format-table .gp-level-th,
.gp-format-table .gp-level-td {
  display: table-cell;
}

.gp-format-table .gp-level-th {
  padding: 30px;
  color: #fff;
  background-color: #000;
}

.gp-format-table .gp-level-td {
  padding: 30px;
}

.gp-format-table .gp-level-inner {
  display: table-row;
  vertical-align: middle;
  border-color: #000;
  border-style: solid;
  border-bottom-width: 1px;
  border-top-width: 1px;
}

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

Element - PMPro Checkout/Register Form

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

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

.pmpro_form .pmpro_form_fields > .pmpro_form_field {
  line-height: 1;
}

/* Select field ************************************/

.pmpro_form .pmpro_form_fields > .pmpro_form_field .pmpro_form_input-select {
  width: 100%;
}

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

.pmpro_form .pmpro_form_field-date select,
.pmpro_form .pmpro_form_field-date input {
  display: inline-block;
}

.pmpro_form .pmpro_form_field-date select,
.pmpro_form .pmpro_form_field-date input {
  margin-right: 5px;
}

.pmpro_form .pmpro_form_field-date input:last-child {
  margin-right: 0;
}

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

.pmpro_form .pmpro_form_field-checkbox-grouped ul {
  margin: 0;
}

.pmpro_form .pmpro_form_field-checkbox-grouped input[type="checkbox"] {
  min-height: 0;
}
.pmpro_form .pmpro_form_field-checkbox-grouped li {
  margin-bottom: 10px;
  line-height: 20px;
}

.pmpro_form .pmpro_form_field-checkbox-grouped li:last-child {
  margin-bottom: 0;
}

.pmpro_form .pmpro_form_field-checkbox-grouped li label {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
}

.pmpro_form_field-checkbox-grouped {
  display: flex;
  align-items: baseline;
}

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

.pmpro_form input[type="text"].pac-target-input {
  width: calc(100% - 35px);
}

.pmpro_form .gp-map-icon {
  margin: 10px 0 0 10px;
  cursor: pointer;
  width: 18px;
}

.pmpro_form .lite.gp-bds-location-error {
  display: none;
  color: #ff0000;
}

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

.pmpro_form .pmpro_checkout-fields .pmpro_form_field-radio-item {
  display: block;
  margin-bottom: 10px;
  line-height: 1;
}

.pmpro_form .pmpro_checkout-fields .pmpro_form_field-radio-item:last-child {
  margin-bottom: 0;
}

.pmpro_form .pmpro_form_field-radio-item label,
.pmpro_form
  .pmpro_member_profile_edit-fields
  .pmpro_form_field-radio-item
  label {
  display: inline-block;
  margin: 0;
  font-size: 14px;
  line-height: 1;
}

.pmpro_form .pmpro_form_field-radio-item input[type="radio"] {
  min-height: 0;
}

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

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

.pmpro_form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  padding: 0 !important;
}

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

.pmpro-checkout .pmpro_captcha {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

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

.pmpro_form input[type="image"] {
  width: auto;
  border: 0;
  padding: 0;
  margin: 0;
}

/* Submit Button ************************************/

.gp-button-full-width .pmpro_btn-submit-checkout[type="submit"] {
  width: 100%;
}
.gp-theme .pmpro_btn-submit-checkout[disabled],
.gp-theme .pmpro_btn-submit-checkout[disabled]:hover {
  opacity: 0.5;
  pointer-events: none;
}

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

Media queries

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

/* Tablet (768px and above) */
@media only screen and (min-width: 768px) {
  .gp-element-pmpro-levels.gp-format-table .gp-table-header {
    display: table-row;
  }
  .gp-element-pmpro-levels.gp-format-table .gp-level {
    display: table-row;
    width: auto;
    margin: 0;
  }
  .gp-element-pmpro-levels.gp-format-table .gp-level-inner {
    display: table-cell;
  }
  .gp-element-pmpro-levels .gp-level .gp-level-th {
    display: none;
  }

  /* Select field ************************************/

  .pmpro_form .pmpro_form_fields > .pmpro_form_field .pmpro_form_input-select {
    width: auto;
  }
}
