.progress_bar_wrap:after,
.progress_bar_wrap:before {
   top: 35%;
   transform: translateY(-50%);
   left: 0;
   content: ''
}

.wpcf7-list-item {
   position: relative;
   display: block;
   width: 100%;
   cursor: pointer
}

.wpcf7-list-item input[type=radio] {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   opacity: 0;
   margin: 0;
   cursor: pointer
}

.wpcf7-list-item-label {
   display: block;
   padding: 15px;
   border: 1px solid #ccc;
   border-radius: 6px
}

.wpcf7-list-item input[type=radio]:checked+.wpcf7-list-item-label {
   border-color: #000;
   background: #ffc300
}

.stump-booking-section {
   margin-top: 8px
}

.stump-booking-trigger-wrap {
   display: flex;
   flex-direction: column;
   gap: 10px;
   max-width: 520px
}

.stump-booking-trigger-kicker {
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: #acacac
}

.stump-booking-open-modal {
   display: flex;
   align-items: center;
   gap: 16px;
   width: 100%;
   padding: 18px 20px;
   border-radius: 14px;
   border: 1px solid #454545;
   background: linear-gradient(145deg, #141414 0, #0a0a0a 100%);
   color: #fff;
   cursor: pointer;
   text-align: left;
   font-family: inherit;
   transition: border-color .2s, box-shadow .2s, transform .15s;
   box-shadow: 0 8px 32px rgba(0, 0, 0, .35)
}

.stump-booking-open-modal:hover {
   border-color: #ffc400;
   box-shadow: 0 12px 40px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 196, 0, .15)
}

.stump-booking-open-modal:focus {
   outline: 0;
   border-color: #ffc400;
   box-shadow: 0 0 0 3px rgba(255, 196, 0, .25)
}

.stump-booking-open-modal__icon {
   flex-shrink: 0;
   width: 48px;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 12px;
   background: rgba(255, 196, 0, .12);
   color: #ffc400
}

.stump-booking-open-modal__text {
   flex: 1;
   min-width: 0;
   display: flex;
   flex-direction: column;
   gap: 4px
}

.stump-booking-open-modal__label {
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #888
}

.stump-booking-open-modal__value {
   font-size: 16px;
   font-weight: 600;
   color: #fff;
   line-height: 1.35
}

.stump-booking-open-modal__chev {
   flex-shrink: 0;
   color: #ffc400;
   opacity: .9;
   display: flex;
   align-items: center
}

.stump-booking-modal {
   display: none;
   position: fixed;
   inset: 0;
   z-index: 100050;
   align-items: center;
   justify-content: center;
   padding: 20px;
   box-sizing: border-box
}

#hz_step3 .step_content_wrap3 .est_sizes_custom.est_sizes_custom--open,
.compare_modal_overlay.active,
.stump-booking-modal.stump-booking-modal--open {
   display: flex
}

.stump-booking-modal__backdrop {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .82);
   backdrop-filter: blur(6px)
}

.stump-booking-modal__panel {
   position: relative;
   z-index: 1;
   width: 100%;
   max-width: 440px;
   max-height: min(90vh, 640px);
   display: flex;
   flex-direction: column;
   background: #0f0f0f;
   border: 1px solid #3a3a3a;
   border-radius: 18px;
   box-shadow: 0 24px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 196, 0, .08);
   overflow: hidden
}

.stump-booking-modal__header {
   padding: 24px 48px 16px 24px;
   border-bottom: 1px solid #2a2a2a;
   position: relative
}

.stump-booking-modal__title {
   margin: 0 0 6px;
   font-family: Montserrat, sans-serif;
   font-size: 22px;
   font-weight: 800;
   color: #fff;
   line-height: 1.2
}

.stump-booking-modal__subtitle {
   margin: 0;
   font-size: 14px;
   color: #9a9a9a;
   line-height: 1.45
}

.stump-booking-modal__x {
   position: absolute;
   top: 12px;
   right: 12px;
   width: 44px;
   height: 44px;
   border: none;
   background: 0 0;
   color: #fff;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
   border-radius: 10px;
   transition: color .2s, background .2s;
   font-family: inherit
}

.stump-booking-modal__x:hover {
   color: #ffc400;
   background: rgba(255, 255, 255, .06)
}

.stump-booking-modal__body {
   padding: 20px 24px;
   overflow-y: auto;
   flex: 1
}

.stump-booking-modal__section {
   margin-bottom: 22px
}

#hz_step5 .step5_optional_card .step5_field,
.stump-booking-modal__section:last-child {
   margin-bottom: 0
}

.stump-booking-modal__field-label {
   display: block;
   margin-bottom: 10px;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #888
}

.stump-booking-modal__date-shell {
   border-radius: 12px;
   border: 1px solid #454545;
   background: #050505;
   padding: 4px 12px;
   transition: border-color .2s
}

.stump-booking-modal__date-shell:focus-within {
   border-color: #ffc400;
   box-shadow: 0 0 0 1px rgba(255, 196, 0, .2)
}

.stump-booking-modal__date-input,
.stump-quote-form-shell #booking_date.stump-booking-modal__date-input {
   width: 100%;
   padding: 12px 4px;
   border: none;
   border-radius: 0;
   background: 0 0;
   color: #fff;
   font-family: inherit;
   font-size: 16px;
   font-weight: 600;
   color-scheme: dark
}

.stump-booking-modal__date-input::-webkit-calendar-picker-indicator {
   filter: invert(.85) brightness(1.2);
   cursor: pointer;
   opacity: .85
}

.stump-booking-modal__time-grid,
.stump-quote-form-shell #time_slots.stump-booking-modal__time-grid {
   display: flex;
   flex-wrap: wrap;
   gap: 10px
}

.stump-booking-modal .time_slot,
.stump-quote-form-shell .stump-booking-modal .time_slot {
   display: inline-flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 2px;
   line-height: 1.2;
   padding: 12px 14px;
   min-width: 108px;
   border: 1px solid #454545;
   background: #141414;
   color: #e8e8e8;
   cursor: pointer;
   border-radius: 10px;
   font-family: inherit;
   font-size: 14px;
   font-weight: 600;
   transition: border-color .2s, background .2s, color .2s, transform .15s
}

.stump-booking-modal .time_slot:hover,
.stump-quote-form-shell .stump-booking-modal .time_slot:hover {
   border-color: #ffc400;
   background: rgba(255, 196, 0, .08);
   color: #fff
}

.stump-booking-modal .time_slot.active,
.stump-quote-form-shell .stump-booking-modal .time_slot.active {
   background: linear-gradient(145deg, #ffc400 0, #e6b008 100%);
   color: #0a0a0a;
   border-color: #ffc400;
   box-shadow: 0 4px 16px rgba(255, 196, 0, .25)
}

.stump-booking-modal .time_slot__booked-label,
.stump-quote-form-shell .stump-booking-modal .time_slot__booked-label {
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .04em;
   text-transform: uppercase;
   color: #888
}

.stump-booking-modal .time_slot--booked,
.stump-quote-form-shell .stump-booking-modal .time_slot--booked {
   cursor: not-allowed;
   opacity: .72;
   border-color: #3a3a3a;
   background: #101010;
   color: #9a9a9a
}

.stump-booking-modal .time_slot--booked:hover,
.stump-quote-form-shell .stump-booking-modal .time_slot--booked:hover {
   border-color: #3a3a3a;
   background: #101010;
   color: #9a9a9a;
   transform: none
}

.stump-booking-modal .time_slot--booked.active,
.stump-quote-form-shell .stump-booking-modal .time_slot--booked.active {
   background: #101010;
   color: #9a9a9a;
   border-color: #3a3a3a;
   box-shadow: none
}

.stump-booking-modal__footer {
   display: flex;
   gap: 12px;
   justify-content: flex-end;
   padding: 16px 24px 20px;
   border-top: 1px solid #2a2a2a;
   background: #0a0a0a
}

.stump-booking-modal__btn {
   padding: 12px 22px;
   border-radius: 10px;
   font-family: inherit;
   font-size: 15px;
   font-weight: 700;
   cursor: pointer;
   border: 1px solid transparent;
   transition: background .2s, border-color .2s, color .2s
}

.stump-booking-modal__btn--ghost {
   background: 0 0;
   border-color: #454545;
   color: #ccc
}

.stump-booking-modal__btn--ghost:hover {
   border-color: #666;
   color: #fff
}

.stump-booking-modal__btn--primary {
   background: linear-gradient(145deg, #ffc400 0, #e6b008 100%);
   color: #0a0a0a;
   border-color: #ffc400
}

.stump-booking-modal__btn--primary:hover {
   filter: brightness(1.06);
   box-shadow: 0 4px 20px rgba(255, 196, 0, .3)
}

@media (max-width:480px) {
   .stump-booking-open-modal {
      padding: 16px 14px;
      gap: 12px
   }

   .stump-booking-open-modal__icon {
      width: 44px;
      height: 44px
   }

   .stump-booking-modal__panel {
      max-height: 92vh;
      border-radius: 16px 16px 0 0;
      align-self: flex-end;
      max-width: 100%
   }

   .stump-booking-modal.stump-booking-modal--open {
      align-items: flex-end;
      padding: 0
   }

   .stump-booking-modal__footer {
      flex-direction: column-reverse
   }

   .stump-booking-modal__btn {
      width: 100%
   }
}

.hz_form_wrap {
   display: flex;
   flex-direction: column;
   gap: 100px
}

.progress_bar_wrap {
   display: flex;
   justify-content: space-between;
   text-align: center;
   position: relative;
   z-index: 1;
   --progress-width: 0%
}

.wpcf7 form .wpcf7-response-output {
   border: 0;
   margin: 0;
   padding: 0
}

.progress_bar_wrap .progress_number {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 80px;
   height: 80px;
   border-radius: 100px;
   background: #0f0f0f;
   border: 1px solid;
   color: #4c4c4c;
   font-size: 48px;
   font-weight: 900;
   transition: .3s
}

.progress_bar_wrap .progress_name>p,
.progress_bar_wrap .progress_number>p {
   margin: 0;
   line-height: inherit
}

.progress_bar_wrap .progress_point {
   gap: 10px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background: #000;
   padding: 0 30px
}

.progress_bar_wrap .progress_name {
   font-size: 20px;
   color: #acacac;
   transition: .3s
}

.progress_bar_wrap:before {
   background: #454545;
   position: absolute;
   width: 100%;
   height: 1px;
   z-index: -2
}

.progress_bar_wrap .progress_point:first-child {
   padding-left: 0
}

.progress_bar_wrap .progress_point:last-child {
   padding-right: 0
}

.hz_step {
   background-color: #0f0f0f;
   border-radius: 12px
}

.step_content_wrap {
   max-width: 880px;
   margin: 0 auto;
   padding: 80px 0;
   display: flex;
   flex-direction: column;
   gap: 60px
}

.step_head,
.step_head>* {
   font-family: Montserrat;
   text-align: center;
   color: #ffff;
   font-size: 48px;
   line-height: 1em;
   margin-bottom: 10px
}

.step_p,
.step_p>* {
   text-align: center;
   color: #acacac;
   font-size: 20px
}

.contractor_pricing_2 .cp2_card_list,
.jj-card-grid,
.step3_cards_wrap,
.time_block_cards_wrap {
   display: flex;
   flex-direction: column;
   gap: 20px
}

.jj-card-grid .jj-select-card {
   background-color: #000;
   border-radius: 12px;
   padding: 30px;
   transition: .3s;
   display: flex;
   flex-direction: column;
   gap: 30px
}

.hz_row,
.wide_access_to_stump_wrap {
   position: relative
}

.jj-card-head-wrap {
   display: flex;
   align-items: center;
   gap: 20px
}

.jj-card-head-wrap .jj-card-icon {
   width: 80px;
   height: 80px;
   border-radius: 100px;
   background-color: #ffc300;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: .3s
}

#hz_step5 .step5_field p,
#hz_step5 .step5_grid>p,
.hz_form_wrap p {
   margin: 0
}

.jj-card-grid .jj-select-card>p {
   color: #acacac;
   font-size: 20px;
   transition: .3s
}

#hz_step1 .hz_row.hz_row2 [data-name=like_to_be_quoted] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item span.wpcf7-list-item-label,
#hz_step3 .hz_row.hz_row2 [data-name=provide_stump_details] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item span.wpcf7-list-item-label,
#hz_step4 .package_card[data-value=Grind] .package_card_meta .package_card_badge,
#hz_step4 .package_card_meta>p br,
.contractor_pricing_2 .cp2_card_list>p br,
.contractor_pricing_2 .cp2_surface_grid>p>br,
.jj-card-grid .jj-select-card .jj-tags>br,
.jj-stepper-wrap>p br,
.next_prev_submit_wrap>p>br {
   display: none
}

.jj-card-head-wrap>h3 {
   margin: 0;
   color: #fff;
   font-size: 30px;
   line-height: 1em;
   transition: .3s
}

#hz_step1 .hz_row.hz_row2 [data-name=like_to_be_quoted],
#hz_step3 .hz_row.hz_row2 [data-name=provide_stump_details] {
   position: absolute;
   width: 100%;
   height: 100%;
   opacity: 0
}

#hz_step1 .hz_row.hz_row2 [data-name=like_to_be_quoted] span.wpcf7-form-control.wpcf7-radio,
#hz_step3 .hz_row.hz_row2 [data-name=provide_stump_details] span.wpcf7-form-control.wpcf7-radio {
   display: flex;
   flex-direction: column;
   height: 100%;
   width: 100%;
   gap: 20px
}

#hz_step1 .hz_row.hz_row2 [data-name=like_to_be_quoted] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
   margin: 0;
   flex-grow: 1;
   cursor: pointer
}

#hz_step1 .hz_row.hz_row2 [data-name=like_to_be_quoted] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item input[type=radio],
#hz_step3 .hz_row.hz_row2 [data-name=provide_stump_details] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item input[type=radio] {
   width: 100%;
   height: 100%;
   cursor: pointer
}

.jj-card-grid .jj-select-card.jj-selected {
   background-color: #ffc300
}

.jj-card-grid .jj-select-card.jj-selected .jj-card-icon {
   background-color: #000
}

.jj-card-grid .jj-select-card.jj-selected .jj-card-icon svg,
.jj-card-grid .jj-select-card.jj-selected .jj-card-icon svg path,
.jj-card-grid .jj-select-card.jj-selected .jj-card-icon svg rect {
   transition: .3s;
   fill: #ffc300
}

#hz_step4 .package_card.selected .package_card_name,
#hz_step4 .package_card.selected .package_feat_svg,
#hz_step4 .package_card.selected .package_features li,
#hz_step4 .package_card.selected .package_price_amount,
.jj-card-grid .jj-select-card.jj-selected .jj-card-head-wrap>h3,
.jj-card-grid .jj-select-card.jj-selected>p {
   color: #000
}

.jj-card-grid .jj-select-card.jj-selected span.jj-tag {
   border-color: #000;
   color: #000
}

#hz_step1 .hz_row.hz_row3 p {
   border: 1px solid #acacac;
   color: #acacac;
   border-radius: 12px;
   text-align: center;
   padding: 27px 55px
}

.next_prev_submit_wrap button.hz_form_btn {
   width: 100%;
   min-height: 60px;
   border: 1px solid #ffc300;
   color: #000;
   background: #ffc300;
   border-radius: 12px;
   font-size: 16px;
   font-weight: 600;
   line-height: 1em;
   padding: 10px;
   transition: .3s
}

.next_prev_submit_wrap>p {
   display: flex;
   gap: 20px
}

.next_prev_submit_wrap {
   flex-direction: row !important
}

.next_prev_submit_wrap button.hz_form_btn:hover {
   color: #fff;
   border-color: #fff;
   background: 0 0
}

.progress_bar_wrap .progress_point.active_step_number .progress_number {
   background: #ffc300;
   color: #000
}

.image_info,
.progress_bar_wrap .progress_point.active_step_number .progress_name {
   color: #ffc300
}

.progress_bar_wrap:after {
   background: #ffc300;
   position: absolute;
   width: var(--progress-width);
   height: 2px;
   z-index: -1;
   transition: width .3s
}

#hz_step2 .hz_row.hz_row3>p {
   font-size: 20px;
   text-align: center;
   color: #acacac;
   line-height: 1em
}

.jj-stepper-wrap>p {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 28px
}

.jj-stepper-wrap>p button.jj-stepper-btn {
   width: 80px;
   height: 80px;
   border-radius: 100px;
   font-size: 50px;
   line-height: 1em;
   border: 1px solid;
   font-weight: 500
}

.jj-stepper-wrap>p button.jj-stump-dec {
   background-color: #000;
   color: #fff;
   border-color: #000
}

.jj-stepper-wrap>p button.jj-stump-inc {
   background-color: #ffc300;
   border-color: #ffc300;
   color: #000
}

.jj-stepper-wrap>p .jj-stump-count-display {
   font-size: 96px;
   color: #fff;
   margin: 0;
   line-height: 1em;
   font-weight: 600
}

#hz_step3 .hz_row.hz_row2 [data-name=provide_stump_details] span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
   margin: 0;
   flex-grow: 1
}

#hz_step3 .step_content_wrap .hz_row.hz_row1:not(#hz_step3 .step_content_wrap1 .hz_row.hz_row1) {
   display: flex;
   justify-content: space-between;
   align-items: center
}

#hz_step3 .step_content_wrap {
   max-width: 1360px
}

#hz_step3 .step_content_wrap .hz_row.hz_row1 .change_method {
   color: #acacac;
   font-size: 20px;
   cursor: pointer
}

#hz_step3 .step_content_wrap .hz_row.hz_row1 .step_head,
#hz_step3 .step_content_wrap .hz_row.hz_row1 .step_head *,
#hz_step3 .step_content_wrap .hz_row.hz_row1 .step_p,
#hz_step3 .step_content_wrap .hz_row.hz_row1 .step_p *,
.contractor_pricing_2 .cp2_section,
.contractor_pricing_2 .step_head,
.contractor_pricing_2 .step_head *,
.contractor_pricing_2 .step_p,
.contractor_pricing_2 .step_p * {
   text-align: left
}

#hz_step3 .step_content_wrap2 .upload_stump_photo_box {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 10px;
   background-color: #000;
   border: 3px dashed #ffc30096;
   border-radius: 12px;
   min-height: 280px;
   cursor: pointer
}

#hz_step3 .step_content_wrap2 .upload_stump_photo_box .tap_to {
   font-size: 30px;
   color: #fff;
   font-weight: 600
}

#hz_step3 .hz_row3>p,
#hz_step3 .step_content_wrap2 .upload_stump_photo_box .upload_from,
.step3_cards_wrap .step3_card .step3_card_content .step3_card_p p {
   color: #acacac;
   font-size: 20px
}

#hz_step3 .hz_row3>p {
   border: 1px solid #acacac;
   border-radius: 20px;
   padding: 30px
}

.quick_details_wrap .hz_row.hz_row2.quick_details_photo_row {
   flex-direction: column;
   align-items: stretch
}

.uploaded_image_view {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
   gap: 16px;
   width: 100%;
   margin-bottom: 30px
}

.uploaded_image_view img {
   width: 100%;
   height: auto;
   aspect-ratio: 4/3;
   object-fit: cover;
   border-radius: 12px;
   border: 3px solid #ffc300;
   display: block
}

.image_info {
   font-size: 20px;
   border: 1px solid #ffc300;
   border-radius: 12px;
   display: flex;
   align-items: center;
   gap: 20px;
   line-height: 1em;
   padding: 25px 30px
}

.hz_step hr {
   border-color: rgb(255 255 255 / 10%)
}

.step_head2>p {
   font-size: 32px;
   color: #fff;
   font-weight: 400;
   margin-bottom: 30px !important
}

.quick_details_wrap p.wide_access_to_stump {
   width: 0;
   height: 0;
   opacity: 0;
   overflow: hidden
}

.step3_cards_wrap .step3_card,
.time_block_card {
   display: flex;
   align-items: center;
   gap: 20px;
   transition: .3s;
   border: 1px solid #fff;
   border-radius: 16px;
   padding: 25px;
   cursor: pointer
}

.step3_cards_wrap .step3_card .step3_card_content {
   flex-grow: 1
}

.step3_cards_wrap .step3_card .step3_card_ico {
   font-size: 24px
}

.step3_cards_wrap .step3_card .step3_card_content .step3_card_head p {
   font-size: 24px;
   color: #fff
}

.step3_cards_wrap .step3_card .check_icon {
   transition: .3s;
   opacity: 0
}

.contractor_pricing_2 .cp2_access_btn.cp2_selected,
.contractor_pricing_2 .cp2_access_btn:hover,
.step3_cards_wrap .step3_card.selected,
.step3_cards_wrap .step3_card:hover,
.time_block_card.selected,
.time_block_card:hover {
   border-color: #ffc300
}

#hz_step3 .step_content_wrap3 .est_size_card--selected .est_size_ico:before,
.step3_cards_wrap .step3_card.selected .check_icon,
.time_block_card.selected .time_block_check {
   opacity: 1
}

.contractor_pricing_2 .cp2_inner {
   display: flex;
   flex-direction: column;
   gap: 48px;
   max-width: 100%;
   padding: 0 16px
}

.contractor_pricing_2 .cp2_h3 {
   font-family: Montserrat, sans-serif;
   font-size: 20px;
   font-weight: 700;
   color: #fff;
   margin: 0 0 8px;
   line-height: 1.2
}

.contractor_pricing_2 .cp2_lead {
   font-size: 14px;
   color: #acacac;
   margin: 0 0 16px;
   line-height: 1.45
}

.contractor_pricing_2 .cp2_surface_grid {
   display: flex;
   gap: 10px;
   flex-wrap: wrap
}

.step3_cards_wrap .step3_card.selected .step3_card_content>div {
   color: #fff !important
}

.step3_cards_wrap .step3_card .step3_card_content>div {
   transition: .3s
}

.contractor_pricing_2 .cp2_card_list>p {
   display: flex;
   flex-direction: column;
   gap: 12px
}

.contractor_pricing_2 .cp2_access_btn {
   width: 100%;
   border: 2px solid #454545;
   border-radius: 12px;
   padding: 20px;
   text-align: left;
   background: 0 0;
   cursor: pointer;
   transition: .3s;
   color: inherit;
   font: inherit
}

.contractor_pricing_2 .cp2_access_inner {
   display: flex;
   align-items: flex-start;
   gap: 12px
}

.contractor_pricing_2 .cp2_access_text {
   display: flex;
   flex-direction: column;
   gap: 4px;
   min-width: 0
}

.contractor_pricing_2 .cp2_icon_box {
   width: 40px;
   height: 40px;
   border-radius: 8px;
   background: #0f0f0f;
   border: 1px solid #454545;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   color: #ffc300;
   transition: .3s
}

.contractor_pricing_2 .cp2_access_btn.cp2_selected .cp2_icon_box,
.time_block_card.selected .time_block_icon {
   background: #ffc300;
   border-color: #ffc300;
   color: #000
}

.contractor_pricing_2 .cp2_access_btn svg {
   width: 20px;
   height: 20px;
   stroke: currentColor;
   fill: none
}

.contractor_pricing_2 .cp2_card_title {
   font-size: 18px;
   font-weight: 700;
   color: #fff;
   margin: 0 0 4px;
   line-height: 1.2
}

.contractor_pricing_2 .cp2_card_desc {
   font-size: 14px;
   color: #acacac;
   margin: 0;
   line-height: 1.35
}

.contractor_pricing_2 .cp2_surface_grid>p {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px
}

.contractor_pricing_2 .cp2_surface_btn {
   border: 2px solid #454545;
   border-radius: 12px;
   padding: 14px 12px;
   font-size: 14px;
   font-weight: 600;
   color: #acacac;
   background: 0 0;
   cursor: pointer;
   transition: .3s;
   text-align: center;
   font-family: inherit
}

.contractor_pricing_2 .cp2_surface_btn.cp2_selected,
.contractor_pricing_2 .cp2_surface_btn:hover {
   border-color: #ffc300;
   color: #fff
}

.contractor_pricing_2 .cp2_textarea_wrap textarea,
.contractor_pricing_2 textarea.wpcf7-textarea {
   width: 100%;
   min-height: 120px;
   box-sizing: border-box;
   border: 1px solid #454545;
   border-radius: 12px;
   padding: 16px;
   font-size: 14px;
   line-height: 1.45;
   color: #fff;
   background: #000;
   resize: vertical;
   font-family: inherit;
   transition: border-color .3s, box-shadow .3s
}

.contractor_pricing_2 .cp2_textarea_wrap textarea::placeholder,
.contractor_pricing_2 textarea.wpcf7-textarea::placeholder {
   color: #6b6b6b
}

.contractor_pricing_2 .cp2_textarea_wrap textarea:focus,
.contractor_pricing_2 textarea.wpcf7-textarea:focus {
   outline: 0;
   border-color: #ffc300;
   box-shadow: 0 0 0 3px rgba(255, 195, 0, .15)
}

.contractor_pricing_2 .cp2_notice {
   background: rgba(255, 195, 0, .08);
   border: 1px solid rgba(255, 195, 0, .35);
   border-radius: 12px;
   padding: 20px;
   display: flex;
   gap: 14px;
   align-items: flex-start
}

.contractor_pricing_2 .cp2_notice svg {
   width: 22px;
   height: 22px;
   stroke: #FFC300;
   fill: none;
   flex-shrink: 0;
   margin-top: 2px
}

.contractor_pricing_2 .cp2_notice p {
   font-size: 14px;
   color: #acacac;
   margin: 0;
   line-height: 1.5
}

.contractor_pricing_2 .cp2_notice strong {
   color: #ffc300;
   font-weight: 700
}

.time_block_icon {
   width: 56px;
   height: 56px;
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   font-size: 28px;
   font-weight: 900;
   background: #0f0f0f;
   border: 1px solid #454545;
   color: #ffc300;
   font-family: Montserrat
}

.time_block_mid {
   flex-grow: 1;
   min-width: 0
}

.time_block_top {
   display: flex;
   align-items: baseline;
   gap: 10px;
   flex-wrap: wrap;
   margin-bottom: 4px
}

.time_block_title {
   font-size: 24px;
   font-weight: 800;
   color: #fff;
   font-family: Montserrat;
   line-height: 1.1em
}

.time_block_duration {
   font-size: 16px;
   color: #acacac;
   line-height: 1.1em
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(3),
.time_block_desc {
   font-size: 20px;
   color: #acacac;
   line-height: 1.2em
}

.time_block_right {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   justify-content: center;
   gap: 8px;
   flex-shrink: 0
}

.time_block_price {
   font-size: 28px;
   font-weight: 900;
   color: #ffc300;
   line-height: 1em;
   font-family: Montserrat
}

.time_block_check {
   width: 22px;
   height: 22px;
   border-radius: 999px;
   background: #ffc300;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   transition: .3s
}

.time_block_check svg {
   width: 14px;
   height: 14px;
   stroke: #000
}

#hz_step4 {
   --step4-accent: var(--brand-green-primary, #FFC300)
}

#hz_step4 .step_content_wrap.step4_wrap {
   padding-bottom: 140px;
   max-width: 1360px
}

#hz_step4 .package_stack {
   display: flex;
   flex-direction: column;
   gap: 20px;
   margin: 0 auto
}

#hz_step4 .package_card {
   position: relative;
   border: 1px solid #454545;
   border-radius: 16px;
   padding: 24px 26px 22px;
   cursor: pointer;
   transition: background .25s, border-color .25s, color .25s;
   display: flex;
   flex-direction: column;
   gap: 18px;
   background: #0a0a0a;
   text-align: left
}

#hz_step4 .package_card:hover:not(.selected) {
   border-color: rgb(255 255 255 / 25%)
}

#hz_step4 .package_card.selected {
   background: var(--step4-accent);
   border-color: var(--step4-accent)
}

#hz_step4 .package_card_top {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 16px
}

#hz_step4 .package_card_name {
   font-family: Montserrat, sans-serif;
   font-size: 24px;
   font-weight: 800;
   color: #fff;
   margin: 0;
   line-height: 1.15
}

#hz_step4 .package_card_meta>p {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 8px;
   flex-shrink: 0
}

#hz_step4 .package_card_badge {
   font-size: 10px;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: .08em;
   padding: 6px 12px;
   border-radius: 100px;
   white-space: nowrap
}

#hz_step4 .package_card_badge--best,
#hz_step4 .package_card_badge--popular {
   background: #000;
   border: 1px solid #fff;
   color: #fff
}

#hz_step4 .package_card_badge--best {
   display: none
}

#hz_step4 .package_card[data-value=Restore].selected .package_card_badge--best {
   display: inline-block
}

#hz_step4 .package_price_amount {
   font-family: Montserrat, sans-serif;
   font-size: 26px;
   font-weight: 900;
   color: var(--step4-accent);
   line-height: 1
}

#hz_step4 .package_features {
   list-style: none;
   margin: 0;
   padding: 0
}

#hz_step4 .package_features li>p {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   font-size: 15px;
   color: #fff;
   padding: 8px 0;
   line-height: 1.45
}

#hz_step4 .package_feat_svg {
   flex-shrink: 0;
   width: 15px;
   height: 15px;
   margin-top: 3px;
   color: var(--step4-accent)
}

#hz_step4 .package_feat_svg path,
.compare_yes_icon .compare_yes_svg path {
   fill: none
}

#hz_step4 .package_card_summary {
   font-size: 14px;
   font-style: italic;
   color: #8a8a8a;
   margin: 0;
   line-height: 1.5;
   padding-top: 4px
}

#hz_step4 .package_card.selected .package_card_summary {
   color: #1a1a1a
}

#hz_step4 .step4_compare_row {
   max-width: 640px;
   margin: 28px auto 0
}

#hz_step4 .step4_compare_btn {
   width: 100%;
   box-sizing: border-box;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   border: 2px dashed var(--step4-accent);
   background: 0 0;
   color: #fff;
   font-size: 16px;
   font-weight: 600;
   padding: 18px 22px;
   border-radius: 14px;
   cursor: pointer;
   transition: .25s;
   font-family: inherit
}

#hz_step4 .step4_compare_btn svg {
   width: 22px;
   height: 22px;
   stroke: var(--step4-accent);
   fill: none;
   flex-shrink: 0
}

#hz_step4 .step4_compare_btn:hover {
   background: rgb(255 255 255 / 5%);
   color: var(--step4-accent)
}

#hz_step4 .step4_estimate_bar {
   width: 100%;
   margin: 40px auto 0;
   padding: 22px 28px;
   box-sizing: border-box;
   border: 2px dashed var(--step4-accent);
   border-radius: 16px;
   background: #0f0f0f;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px
}

#hz_step4 .step4_estimate_kicker {
   display: block;
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #8a8a8a;
   margin-bottom: 6px
}

#hz_step4 .step4_estimate_value {
   font-family: Montserrat, sans-serif;
   font-size: 32px;
   font-weight: 900;
   color: var(--step4-accent);
   line-height: 1
}

#hz_step4 .step4_estimate_check {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   border: 3px solid var(--step4-accent);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

#hz_step4 .step4_estimate_check svg {
   width: 28px;
   height: 28px;
   stroke: var(--step4-accent);
   stroke-width: 3;
   fill: none
}

#hz_step3 .step_content_wrap3.est_sizes_panel {
   --est-accent: #FFC300;
   display: flex;
   flex-direction: column;
   gap: 0;
   font-family: Montserrat, sans-serif;
   padding-bottom: 24px
}

#hz_step3 .step_content_wrap3 .est_sizes_inner {
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 24px;
   padding-bottom: 120px
}

#hz_step3 .step_content_wrap3 .est_sizes_header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 16px;
   flex-wrap: wrap
}

#hz_step3 .step_content_wrap3 .est_sizes_header .step_head {
   font-size: clamp(22px, 4vw, 30px);
   font-weight: 800;
   color: #fff;
   margin: 0 0 8px
}

#hz_step3 .est_sizes_progress_sync {
   font-size: 16px;
   color: #acacac;
   margin: 0
}

#hz_step3 .quick_details_wrap .est_sizes_selected,
#hz_step3 .step_content_wrap3 .est_sizes_selected {
   border: 1px solid;
   background: rgb(255 195 0 / 6%);
   border-radius: 14px;
   padding: 16px 18px
}

#hz_step3 .quick_details_wrap .hz_row.hz_row2.quick_details_combo_row {
   flex-direction: column;
   align-items: stretch;
   gap: 20px
}

#hz_step3 .quick_details_wrap .est_sizes_pills,
#hz_step3 .step_content_wrap3 .est_sizes_pills {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-bottom: 14px;
   min-height: 8px
}

#hz_step3 .quick_details_wrap .est_pill,
#hz_step3 .step_content_wrap3 .est_pill {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 14px;
   border-radius: 999px;
   border: 1px solid;
   background: #0f0f0f;
   color: #fff;
   font-size: 14px;
   font-weight: 600
}

#hz_step3 .quick_details_wrap .est_pill_remove,
#hz_step3 .step_content_wrap3 .est_pill_remove {
   border: none;
   background: 0 0;
   color: #ff6b6b;
   font-size: 20px;
   line-height: 1;
   cursor: pointer;
   padding: 0 0 0 4px
}

#hz_step3 .quick_details_wrap .est_sizes_pick_hint,
#hz_step3 .step_content_wrap3 .est_sizes_pick_hint {
   margin: 0;
   font-size: 15px;
   color: #fff;
   font-weight: 600
}

#hz_step3 .quick_details_wrap .est_sizes_pick_hint.est-muted,
#hz_step3 .step_content_wrap3 .est_sizes_pick_hint.est-muted {
   color: #acacac;
   font-weight: 500
}

#hz_step3 .step_content_wrap3 .est_sizes_grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px
}

@media (min-width:720px) {
   #hz_step3 .step_content_wrap3 .est_sizes_grid {
      grid-template-columns: repeat(4, minmax(0, 1fr))
   }
}

#hz_step3 .step_content_wrap3 .est_size_card {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 8px;
   padding: 18px 12px;
   border-radius: 14px;
   border: 2px solid #454545;
   background: #0f0f0f;
   cursor: pointer;
   color: #fff;
   font-family: Montserrat, sans-serif;
   transition: border-color .2s, background .2s
}

#hz_step3 .step_content_wrap3 .est_size_card:hover {
   border-color: rgb(255 195 0 / 50%)
}

#hz_step3 .step_content_wrap3 .est_size_card.est_size_card--selected {
   border-color: var(--est-accent);
   background: rgb(255 195 0 / 8%);
   box-shadow: 0 0 0 1px var(--est-accent)
}

#hz_step3 .step_content_wrap3 .est_size_card:disabled {
   opacity: .45;
   cursor: not-allowed
}

#hz_step3 .step_content_wrap3 .est_size_ico {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: #2a2a2a;
   border: 2px solid #454545;
   position: relative
}

#hz_step3 .step_content_wrap3 .est_size_ico:before {
   content: '';
   background: #ffc300;
   position: absolute;
   width: 70%;
   height: 70%;
   border-radius: 100px;
   top: 51.5%;
   left: 50.5%;
   transform: translate(-50%, -50%);
   transition: .3s;
   opacity: 0
}

#hz_step3 .step_content_wrap3 .est_size_range {
   font-size: 15px;
   font-weight: 800
}

#hz_step3 .step_content_wrap3 .est_size_price {
   font-size: 17px;
   font-weight: 800;
   color: var(--est-accent)
}

#hz_step3 .step_content_wrap3 .est_size_compare {
   font-size: 12px;
   color: #8a8a8a;
   line-height: 1.3
}

#hz_step3 .step_content_wrap3 .est_sizes_custom {
   display: none;
   flex-direction: column;
   gap: 12px;
   padding: 18px;
   border: 1px dashed #454545;
   border-radius: 14px;
   background: #000
}

#hz_step3 .step_content_wrap3 .est_sizes_custom label {
   font-size: 15px;
   font-weight: 600;
   color: #fff
}

#hz_step3 .step_content_wrap3 .est_sizes_custom_row {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   align-items: center
}

#hz_step3 .step_content_wrap3 .est_sizes_custom_row input {
   flex: 1;
   min-width: 120px;
   padding: 14px 16px;
   border-radius: 10px;
   border: 1px solid #454545;
   background: #0f0f0f;
   color: #fff;
   font-size: 18px;
   font-family: Montserrat, sans-serif
}

#hz_step3 .step_content_wrap3 .est_add_btn {
   padding: 14px 24px;
   border-radius: 10px;
   border: none;
   background: var(--est-accent);
   color: #000;
   font-size: 15px;
   font-weight: 800;
   cursor: pointer;
   font-family: Montserrat, sans-serif
}

#hz_step3 .step_content_wrap3 .est_add_btn:disabled {
   opacity: .4;
   cursor: not-allowed
}

#hz_step3 .step_content_wrap3 .est_sizes_notice {
   font-size: 14px;
   line-height: 1.5;
   color: #acacac;
   padding: 16px 18px;
   border-radius: 12px;
   border: 1px solid #454545;
   background: rgb(255 195 0 / 5%)
}

#hz_step3 .step_content_wrap3 .est_sizes_sticky_bar {
   width: 100%;
   z-index: 20;
   margin-top: auto;
   padding: 18px 22px;
   box-sizing: border-box;
   border: 2px dashed var(--est-accent);
   border-radius: 16px;
   background: #0a0a0a;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   box-shadow: 0 -8px 32px rgb(0 0 0 / 40%)
}

#hz_step3 .step_content_wrap3 .est_sticky_kicker {
   display: block;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #8a8a8a;
   margin-bottom: 4px
}

#hz_step3 .step_content_wrap3 .est_sizes_sticky_mid {
   flex: 1;
   font-family: Montserrat, sans-serif;
   font-size: clamp(14px, 3vw, 18px);
   font-weight: 700;
   color: #fff;
   line-height: 1.35;
   text-align: center
}

#hz_step3 .step_content_wrap3 .est_sizes_sticky_mid .est_sticky_total {
   color: var(--est-accent)
}

#hz_step3 .step_content_wrap3 .est_sizes_sticky_check {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   border: 3px solid var(--est-accent);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

#hz_step3 .step_content_wrap3 .est_sizes_sticky_check svg {
   width: 22px;
   height: 22px;
   stroke: var(--est-accent);
   stroke-width: 3;
   fill: none
}

#hz_step3 .step_content_wrap3 .est_complete_banner {
   display: none;
   padding: 16px;
   text-align: center;
   font-weight: 700;
   color: var(--est-accent);
   border: 1px solid;
   border-radius: 12px
}

#hz_step3 .step_content_wrap3 .est_complete_banner.est-show {
   display: block
}

.compare_modal_overlay {
   display: none;
   position: fixed;
   inset: 0;
   background: rgb(0 0 0 / 78%);
   z-index: 9999;
   align-items: center;
   justify-content: center;
   padding: 24px;
   box-sizing: border-box
}

.compare_modal_dialog {
   --modal-accent: var(--brand-green-primary, #FFC400);
   background: #0f0f0f;
   border: 1px solid #454545;
   border-radius: 16px;
   max-width: 960px;
   width: 100%;
   max-height: 92vh;
   overflow: auto;
   padding: 36px 32px 28px;
   position: relative;
   box-shadow: 0 24px 80px rgb(0 0 0 / 45%)
}

.compare_modal_close {
   position: absolute;
   top: 14px;
   right: 16px;
   width: 44px;
   height: 44px;
   border: none;
   background: 0 0;
   color: #fff;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
   transition: color .2s, background .2s;
   border-radius: 10px;
   font-family: inherit
}

.compare_modal_cta button,
.compare_modal_head,
.compare_price_value,
.compare_table thead th {
   font-family: Montserrat, sans-serif
}

.compare_modal_close:hover {
   color: var(--modal-accent);
   background: rgb(255 255 255 / 6%)
}

.compare_modal_header {
   text-align: center;
   max-width: 560px;
   margin: 0 auto 28px;
   padding: 0 44px
}

.compare_modal_head {
   font-size: 26px;
   font-weight: 800;
   color: #fff;
   margin: 0 0 10px;
   line-height: 1.25
}

.compare_modal_sub {
   font-size: 16px;
   color: #acacac;
   margin: 0;
   line-height: 1.5
}

.compare_table_wrap {
   overflow-x: auto;
   margin-bottom: 20px
}

.compare_table {
   width: 100%;
   border-collapse: separate;
   border-spacing: 0;
   font-size: 15px;
   color: #fff
}

.compare_table td,
.compare_table th {
   border-bottom: 1px solid #454545;
   padding: 16px 14px;
   text-align: center;
   vertical-align: middle
}

.compare_table td:first-child,
.compare_table th:first-child {
   text-align: left;
   padding-left: 4px
}

.compare_table thead th {
   font-weight: 700;
   color: #fff;
   background: #000;
   font-size: 15px
}

.compare_th_title {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   flex-wrap: wrap
}

.compare_feat_label {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   text-align: left;
   line-height: 1.45;
   color: #fff
}

#hz_step5 .step5_drive_hint_ico,
.compare_feat_ico {
   flex-shrink: 0;
   font-size: 18px;
   line-height: 1.2
}

.compare_cell_no,
.compare_cell_yes {
   text-align: center !important
}

.compare_yes_icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   vertical-align: middle;
   color: var(--modal-accent)
}

.compare_yes_icon .compare_yes_svg {
   flex-shrink: 0;
   width: 15px;
   height: 15px;
   display: block
}

.compare_dash {
   color: #acacac;
   font-size: 18px;
   font-weight: 400
}

.compare_table tbody tr.compare_price_row td {
   background: #1a1a1a;
   border-bottom: none;
   padding-top: 20px;
   padding-bottom: 20px;
   vertical-align: middle
}

.compare_table tbody tr.compare_price_row td:first-child {
   font-weight: 700;
   color: #fff;
   text-align: left
}

.compare_price_value {
   font-size: 22px;
   font-weight: 800;
   line-height: 1.2;
   color: #fff
}

.compare_modal_protip {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   background: 0 0;
   border: 1px solid #454545;
   border-radius: 12px;
   padding: 16px 18px;
   margin-bottom: 20px;
   font-size: 15px;
   line-height: 1.5;
   color: #acacac
}

#hz_step5 .step5_intro .step_head strong,
.compare_modal_protip strong {
   color: #fff;
   font-weight: 700
}

.compare_modal_protip_ico {
   flex-shrink: 0;
   font-size: 20px;
   line-height: 1
}

.compare_modal_cta {
   margin-top: 4px
}

.compare_modal_cta button {
   width: 100%;
   box-sizing: border-box;
   border: none;
   background: var(--modal-accent);
   color: #000;
   font-size: 16px;
   font-weight: 800;
   padding: 16px 24px;
   border-radius: 12px;
   cursor: pointer;
   transition: filter .2s, opacity .2s
}

.compare_modal_cta button:hover {
   filter: brightness(1.05)
}

#hz_step5 .step_content_wrap5 {
   max-width: 1320px;
   margin: 0 auto;
   padding: 64px 24px 80px;
   display: flex;
   flex-direction: column;
   gap: 0
}

#hz_step5 .step5_intro {
   text-align: center;
   margin-bottom: 40px
}

#hz_step5 .step5_intro .step_head,
#hz_step5 .step5_intro .step_head * {
   text-align: center;
   font-size: clamp(28px, 4vw, 40px);
   line-height: 1.2
}

#hz_step5 .step5_intro .step_p {
   max-width: 560px;
   margin: 16px auto 0;
   font-size: 18px;
   line-height: 1.5
}

#hz_step5 .step5_block_title,
#hz_step5 .step5_optional_card .step5_optional_h {
   font-family: Montserrat, sans-serif;
   font-size: 20px;
   font-weight: 700;
   line-height: 1.2
}

#hz_step5 .step5_grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px 24px;
   width: 100%
}

#hz_step5 .step5_grid .wpcf7-form-control-wrap {
   display: block;
   width: 100%
}

#hz_step5 .step5_block_title {
   color: #fff;
   margin: 48px 0 20px
}

#hz_step5 .step_content_wrap5>.step5_block_title:first-of-type {
   margin-top: 36px
}

#hz_step5 .step5_field input.wpcf7-form-control,
#hz_step5 .step5_field input[type=email],
#hz_step5 .step5_field input[type=password],
#hz_step5 .step5_field input[type=tel],
#hz_step5 .step5_field input[type=text],
#hz_step5 .step5_field select.wpcf7-form-control {
   width: 100%;
   box-sizing: border-box;
   min-height: 52px;
   padding: 14px 18px;
   border-radius: 10px;
   border: 1px solid #454545;
   background: #000;
   color: #fff;
   font-family: Montserrat, sans-serif;
   font-size: 16px;
   transition: border-color .2s
}

#hz_step5 .step5_field input::placeholder,
#hz_step5 .step5_field select {
   color: #6b6b6b
}

#hz_step5 .step5_field input:focus,
#hz_step5 .step5_field select:focus {
   outline: 0;
   border-color: #ffc300
}

#hz_step5 .step5_field_full {
   grid-column: 1/-1
}

#hz_step5 .step5_drive_hint {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-top: 14px;
   font-size: 15px;
   color: #acacac;
   line-height: 1.45
}

#hz_step5 .step5_optional_card {
   position: relative;
   margin-top: 40px;
   padding: 28px 24px 24px;
   border: 1px solid #454545;
   border-radius: 12px;
   background: #0a0a0a
}

#hz_step5 .step5_optional_badge {
   position: absolute;
   top: 16px;
   right: 16px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: .04em;
   text-transform: uppercase;
   color: #acacac;
   border: 1px solid rgba(255, 255, 255, .35);
   border-radius: 100px;
   padding: 6px 12px
}

#hz_step5 .step5_optional_card .step5_optional_h {
   color: #fff;
   margin: 0 0 10px;
   padding-right: 88px
}

#hz_step5 .step5_optional_card .step5_optional_desc {
   font-size: 15px;
   color: #acacac;
   line-height: 1.5;
   margin: 0 0 20px
}

#hz_step5 .step5_optional_foot {
   margin: 14px 0 0;
   font-size: 14px;
   color: #acacac;
   line-height: 1.45
}

#hz_step5 .step5_privacy {
   text-align: center;
   margin: 40px 0 0;
   font-size: 14px;
   color: #acacac;
   line-height: 1.5
}

#hz_step5 .step5_privacy a {
   color: #ffc300;
   text-decoration: underline;
   text-underline-offset: 3px
}

#hz_step5 .step5_privacy a:hover {
   color: #fff
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.step_head {
   text-align: left;
   margin-bottom: 60px
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice {
   display: flex;
   align-items: center;
   justify-content: space-between
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div {
   width: calc(33.333% - 20px);
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:first-child {
   width: 10px;
   height: 10px;
   border-radius: 100px
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>.wrong_dot {
   background: #ff4646
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>.correct_dot {
   background: #46ff62
}

.est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(2) {
   color: #fff;
   font-size: 30px
}

.est_sizes_inner .hz_row.hz_row1a {
   background: #000;
   border-radius: 12px;
   padding: 35px;
   margin-bottom: 50px
}

@media(max-width:1280px) {
   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(2) {
      font-size: 23px
   }
}

@media(max-width:981px) {
   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(2) {
      font-size: 17px
   }

   .est_sizes_inner .hz_row.hz_row1a>.head_content>.step_head {
      font-size: 35px
   }

   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(3) {
      font-size: 14px
   }
}

@media (max-width:640px) {
   #hz_step5 .step_content_wrap5 {
      padding: 48px 16px 64px
   }

   #hz_step5 .step5_grid {
      grid-template-columns: 1fr
   }

   #hz_step5 .step5_optional_badge {
      position: static;
      display: inline-block;
      margin-bottom: 12px
   }

   #hz_step5 .step5_optional_card .step5_optional_h {
      padding-right: 0
   }
}

.stump-quote-stripe-wrap {
   margin: 28px 0 20px;
   padding: 20px 20px 16px;
   border-radius: 12px;
   border: 1px solid rgba(255, 195, 0, .35);
   background: rgba(255, 195, 0, .06)
}

.stump-quote-stripe-desc {
   margin: 0 0 12px;
   font-size: 15px;
   line-height: 1.45;
   color: #c9c9c9
}

.stump-quote-stripe-total-line {
   margin: 0 0 16px;
   font-size: 17px;
   color: #fff
}

.stump-quote-stripe-amount {
   color: #ffc300;
   font-size: 1.15em
}

.stump-quote-stripe-pay-btn {
   width: 100%;
   max-width: 320px;
   background: #635bff !important;
   color: #fff !important;
   border: none !important;
   font-weight: 600
}

.stump-quote-stripe-pay-btn:hover {
   filter: brightness(1.08)
}

@media(max-width:767px) {
   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(2) {
      font-size: 17px
   }

   .est_sizes_inner .hz_row.hz_row1a>.head_content>.step_head {
      font-size: 35px;
      margin-bottom: 15px !important
   }

   #hz_step3 .step_content_wrap3 .est_size_range,
   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div:not(:nth-child(2))>div:nth-child(3),
   .step3_cards_wrap .step3_card .step3_card_content,
   .step_p,
   .step_p>*,
   .time_block_desc {
      font-size: 14px
   }

   .progress_bar_wrap {
      flex-wrap: wrap;
      gap: 5px !important
   }

   .progress_bar_wrap:after,
   .progress_bar_wrap:before {
      opacity: 0
   }

   .progress_bar_wrap .progress_number {
      width: 30px;
      height: 30px;
      font-size: 14px
   }

   .progress_bar_wrap .progress_name {
      font-size: 11px
   }

   #hz_step5 .step5_grid,
   .contractor_pricing_2 .cp2_inner,
   .progress_bar_wrap .progress_point {
      padding: 0 !important
   }

   .hz_form_wrap {
      gap: 30px
   }

   .step_content_wrap {
      padding: 30px 10px !important;
      gap: 20px
   }

   .step_head,
   .step_head>* {
      font-size: 25px !important
   }

   .jj-card-grid .jj-select-card {
      padding: 15px !important;
      gap: 10px !important
   }

   .jj-card-grid .jj-select-card .jj-tags,
   .jj-card-head-wrap {
      gap: 10px !important
   }

   .jj-card-head-wrap .jj-card-icon {
      width: 40px !important;
      height: 40px !important
   }

   .jj-card-head-wrap .jj-card-icon svg {
      width: 20px !important
   }

   .jj-card-head-wrap>h3 {
      font-size: 20px !important;
      width: calc(100% - 50px)
   }

   #hz_step5 .step5_intro .step_p,
   .jj-card-grid .jj-select-card>p {
      font-size: 14px !important
   }

   .jj-card-grid .jj-select-card .jj-tags span.jj-tag {
      font-size: 14px !important;
      padding: 5px 10px !important
   }

   .hz_row.hz_row3 {
      padding: 20px 10px !important;
      font-size: 14px !important
   }

   .time_block_card {
      flex-wrap: wrap;
      gap: 15px !important;
      padding: 20px 10px !important;
      flex-direction: column;
      align-items: start
   }

   .time_block_icon {
      width: 40px;
      height: 40px;
      font-size: 20px
   }

   #hz_step3 .step_content_wrap .hz_row.hz_row3:not(#hz_step3 .step_content_wrap1 .hz_row.hz_row1)>.head_content>.step_head,
   .time_block_title {
      font-size: 20px !important
   }

   #hz_step3 .step_content_wrap3 .est_sizes_sticky_bar .est_sizes_sticky_left,
   .time_block_title {
      width: 100%
   }

   #hz_step3 .quick_details_wrap .est_sizes_pick_hint,
   #hz_step3 .step_content_wrap3 .est_sizes_pick_hint,
   .time_block_duration {
      font-size: 12px !important
   }

   .time_block_top {
      margin-bottom: 10px
   }

   .time_block_right {
      width: 100%;
      flex-direction: row;
      justify-content: space-between
   }

   .time_block_price {
      font-size: 20px
   }

   .cp2_card_list {
      gap: 10px !important;
      display: flex;
      flex-direction: column
   }

   .contractor_pricing_2 .cp2_access_btn {
      padding: 10px !important;
      position: relative
   }

   .contractor_pricing_2 .cp2_card_desc {
      width: auto;
      word-break: break-all;
      display: flex;
      flex-wrap: wrap
   }

   .contractor_pricing_2 .cp2_card_title {
      display: block
   }

   .contractor_pricing_2 .cp2_access_inner {
      gap: 10px;
      width: 100%;
      flex-direction: column;
      align-items: start;
      position: relative
   }

   .contractor_pricing_2 .cp2_access_text {
      display: inline-flex;
      width: 100% !important
   }

   .next_prev_submit_wrap button.hz_form_btn {
      font-size: 14px !important;
      min-height: auto !important;
      padding: 10px;
      border-radius: 5px
   }

   .cp2_surface_grid {
      display: flex;
      flex-wrap: wrap;
      gap: 10px
   }

   .contractor_pricing_2 .cp2_surface_btn {
      font-size: 14px !important;
      padding: 10px !important;
      border-radius: 5px
   }

   #hz_step4 .package_card {
      padding: 50px 15px 20px;
      gap: 10px
   }

   #hz_step4 .package_features {
      font-size: 14px;
      display: flex;
      flex-direction: column;
      gap: 10px
   }

   #hz_step4 .package_features>li {
      display: flex;
      align-items: center;
      gap: 10px
   }

   #hz_step4 .package_card_badge {
      top: 10px;
      position: absolute;
      right: 10px
   }

   #hz_step4 .step4_compare_row,
   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice>div {
      width: 100% !important
   }

   #hz_step4 .step4_compare_row span {
      width: calc(100% - 30px);
      font-size: 10px
   }

   #hz_step4 .step4_compare_btn {
      gap: 10px;
      padding: 15px 10px
   }

   #hz_step3 .quick_details_wrap .est_sizes_selected,
   #hz_step3 .step_content_wrap3 .est_sizes_selected,
   .stump-booking-open-modal {
      padding: 15px 10px !important
   }

   .stump-booking-open-modal__value {
      font-size: 12px
   }

   .stump-booking-modal__panel {
      align-self: center !important;
      width: 95% !important;
      border-radius: 10px
   }

   .stump-booking-modal__header {
      padding: 14px 20px 14px 14px
   }

   .stump-booking-modal__body {
      padding: 20px 14px
   }

   .stump-booking-modal__footer {
      padding: 16px 14px 15px
   }

   .stump-booking-modal__date-input,
   .stump-quote-form-shell #booking_date.stump-booking-modal__date-input {
      font-size: 14px;
      padding: 10px 0
   }

   .stump-booking-modal .time_slot,
   .stump-quote-form-shell .stump-booking-modal .time_slot {
      font-size: 12px;
      padding: 10px !important
   }

   .stump-booking-modal__btn {
      padding: 10px !important;
      line-height: 1em
   }

   #hz_step4 .step4_estimate_bar {
      padding: 15px 10px !important;
      gap: 15px !important
   }

   #hz_step4 .step4_estimate_value {
      font-size: 25px !important;
      width: 100%;
      display: block
   }

   .step4_estimate_left>span:last-child {
      margin-left: 0 !important;
      margin-top: 10px !important;
      display: block
   }

   #hz_step3 .step_content_wrap3 .est_sizes_sticky_check,
   #hz_step4 .step4_estimate_check {
      width: 40px;
      height: 40px;
      border-width: 2px
   }

   #hz_step5 .step5_field input.wpcf7-form-control,
   #hz_step5 .step5_field input[type=email],
   #hz_step5 .step5_field input[type=password],
   #hz_step5 .step5_field input[type=tel],
   #hz_step5 .step5_field input[type=text],
   #hz_step5 .step5_field select.wpcf7-form-control {
      min-height: auto !important;
      padding: 10px !important;
      font-size: 14px !important
   }

   .next_prev_submit_wrap {
      gap: 10px;
      position: fixed;
      bottom: 0;
      z-index: 99999;
      width: 90%;
      left: 50%;
      transform: translateX(-50%)
   }

   .jj-stepper-wrap button {
      padding: 0 !important;
      width: 30px
   }

   span.jj-stepper-value.jj-stump-count-display {
      line-height: 1em;
      transform: translateY(4px)
   }

   .est_sizes_inner .hz_row.hz_row1a {
      padding: 20px 10px !important;
      margin-bottom: 0
   }

   .est_sizes_inner .hz_row.hz_row1a>.head_content>.meeasure_advice {
      flex-direction: column;
      gap: 20px
   }

   #hz_step3 .step_content_wrap .hz_row.hz_row1 .change_method {
      font-size: 18px
   }

   #hz_step3 .quick_details_wrap .est_pill,
   #hz_step3 .step_content_wrap3 .est_pill {
      font-size: 12px !important;
      padding: 5px 8px !important
   }

   #hz_step3 .step_content_wrap3 .est_sizes_grid {
      gap: 8px !important
   }

   #hz_step3 .step_content_wrap3 .est_size_card {
      padding: 10px !important;
      gap: 5px
   }

   #hz_step3 .step_content_wrap3 .est_size_ico {
      width: 30px !important;
      height: 30px !important
   }

   #hz_step3 .step_content_wrap3 .est_sizes_custom {
      margin-top: 10px
   }

   #hz_step3 .step_content_wrap3 .est_add_btn {
      padding: 8px 10px !important;
      font-size: 14px !important;
      border-radius: 5px;
      position: fixed;
      width: 90% !important;
      bottom: 45px;
      z-index: 99999999;
      left: 50%;
      transform: translateX(-50%)
   }

   #hz_step3 .step_content_wrap3 .est_sizes_inner {
      padding-bottom: 20px !important
   }

   #hz_step3 .step_content_wrap3 .est_sizes_sticky_bar {
      padding: 10px !important;
      flex-wrap: wrap;
      text-align: left;
      justify-content: start
   }

   #hz_step3 .step_content_wrap3 .est_sizes_sticky_mid {
      display: flex;
      flex-direction: column;
      justify-content: start;
      align-items: start
   }

   #hz_step3 .step_content_wrap3 .est_sizes_sticky_mid span.est_sticky_total {
      font-size: 150%
   }

   #hz_step3 .step_content_wrap .hz_row.hz_row1:not(#hz_step3 .step_content_wrap1 .hz_row.hz_row1) {
      flex-direction: column;
      align-items: start;
      gap: 10px
   }

   .step_head2 {
      font-size: 30px !important
   }

   .step3_cards_wrap .step3_card {
      padding: 15px !important
   }

   .step3_cards_wrap .step3_card .check_icon svg {
      width: 25px
   }
}