
/* STEP 1 */

.membership_form_group_wrapper,
.membership_form_field_wrapper { margin:0 0 25px 0; }
.membership_form_field_wrapper > h2,
.membership_form_field_wrapper > h3,
.membership_form_field_wrapper > p { margin:0; }

.membership_form_group_wrapper:last-child,
.membership_form_field_wrapper:last-child { margin:0; }

.membership_form_field_wrapper fieldset { margin:0; }

.membership-form-im-fieldswrapper { margin-bottom:30px; }
.membership-form-im-fieldswrapper .row { display:flex; flex-wrap:wrap; }
.membership-form-im-fieldswrapper .has-error .form-control { border:solid 2px #bb0000 !important; background:rgba(180,0,0,0.03) !important; }

.membership_form_repeater_wrapper { margin:0 0 25px 0; }
.membership_form_repeater_wrapper .membership_form_group_wrapper { margin:0; }

.membership_form_accordion_wrapper { margin:-1px 0 0 0; }
.membership_form_accordion_wrapper + .membership_form_group_wrapper,
.membership_form_accordion_wrapper + .membership_form_field_wrapper { margin-top:25px; }
.membership_form_accordion_wrapper .panel-body > .membership_form_field_wrapper { padding:0; }

.membership_form_field_wrapper.field_hbscheckbox { margin:0; }
.membership_form_field_wrapper.field_hbscheckbox .control-label { display:none; }
.membership_form_field_wrapper.field_hbscheckbox input[type="checkbox"] { min-width:20px; min-height:20px; margin:2px 0 0 -30px; }
.membership_form_field_wrapper.field_hbscheckbox label { padding-left:30px; }

.membership-builder-totals { font-size: 125%; line-height: 220%; }
.membership-builder-totals.well { padding:3px; background:#fff; max-width:555px; }
#membership-builder-totals-grid { background:#fff; width:100%; }
#membership-builder-totals-grid tr.row-subtotal td { border-top:solid 2px #e5e5e5; }
#membership-builder-totals-grid tbody tr:nth-child(2n+1) td { background-color:#f9f9f9; }



/* VCID 155 workarounds */
.membership-form-category-21 #step-member-marketing,
.membership-form-category-25 #step-member-marketing { display:none; }



/* STEP 2 */

.membership-form-payment-terms-wrapper { margin-bottom:45px; }
.membership-form-payment-terms-wrapper .checkbox { margin-top:20px; }
.membership-form-payment-terms-wrapper .checkbox input { transform: scale(1.5); transform-origin: left; margin-left:0; left:0; }
.membership-form-payment-terms-wrapper .checkbox label { padding-left:36px; }
.membership-form-payment-terms { padding:15px 25px; width:100%; max-height:300px; overflow:auto; background:#fafafa; border: 1px solid #e3e3e3; box-shadow: inset 0 1px 1px rgba(0,0,0,.05); }

.membership-form-paymenttotals { margin-bottom:45px; }

.membership-form-paymentchoices-options { margin-bottom:45px; padding:12px; background:#fff; max-width:555px; border: 1px solid #e3e3e3; }
.membership-form-paymentchoices-options .control-radio { text-align:right; max-width:50px; }
.membership-form-paymentchoices-options label { cursor:pointer; }

#submit-loading-message { font-size:22px; position:fixed; z-index:99999; left:0; right:0; text-align:center; top:50%; margin-top:-100px; padding:100px 20px; background:rgba(0,0,0,0.8); color:#fff; }
.loading-blur-prevent-click { opacity:0.3; pointer-events:none; }



/* DASHBOARD */

.membership-dashboard-primary { max-width:600px; margin-bottom:50px; }
.membership-dashboard-primary h2 small { letter-spacing:0.5px; }
.membership-dashboard-additional { max-width:600px; margin-bottom:50px; }
.membership-dashboard-row-label { font-weight:600; }
.membership-dashboard-button { margin-bottom:50px; }



/* BROCHURE RACKING SPECIAL FIELD */

.brochure-racking-heading { background:rgb(240, 78, 35); text-align:center; padding:20px; margin-bottom:2px; }
.brochure-racking-heading h3 { margin:0; color:#fff; }
.brochure-racking-rows   { background:#f9f9f9; padding:0 15px; font-size:16px; line-height:18px; }
.brochure-racking-rows .row { display:flex; flex-wrap:wrap; }
.brochure-racking-orange strong { font-size:18px; }
.brochure-racking-orange { padding:10px 15px; background:#ff9900; border-left:solid 2px #fff; color:#fff; text-align:center; display: flex; align-items: center; justify-content: center; }
.brochure-racking-yellow { padding:15px 15px; background:rgba(255, 224, 179, 0.5); border-left:solid 2px #fff; border-bottom:solid 2px #fff; text-align:center; }
.brochure-racking-grey   { padding:15px 15px; background:#f9f9f9; font-size:14px; }
.brochure-racking-small  { padding:0 15px; font-size:14px; line-height:17px; }
.brochure-racking-footer { padding:12px; background:#888; color:#fff; text-align:center; }
.brochure-racking-footer h3 { margin:0; color:#fff; font-weight:700; }
