.elementor-23403 .elementor-element.elementor-element-9604f56{--display:flex;--min-height:466px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:52px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23403 .elementor-element.elementor-element-9604f56:not(.elementor-motion-effects-element-type-background), .elementor-23403 .elementor-element.elementor-element-9604f56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00222A00;background-image:url("https://transportvibe.com/wp-content/uploads/2025/10/Container-scaled.png");background-position:center center;background-size:cover;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-23403 .elementor-element.elementor-element-236c07b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-23403 .elementor-element.elementor-element-236c07b{text-align:center;}.elementor-23403 .elementor-element.elementor-element-236c07b .elementor-heading-title{font-family:"Red Hat Display", Sans-serif;font-size:48px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23403 .elementor-element.elementor-element-7e3eb61{width:var( --container-widget-width, 74% );max-width:74%;--container-widget-width:74%;--container-widget-flex-grow:0;text-align:center;font-family:"Red Hat Display", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-23403 .elementor-element.elementor-element-7e3eb61.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-23403 .elementor-element.elementor-element-8919fe0{width:var( --container-widget-width, 99% );max-width:99%;--container-widget-width:99%;--container-widget-flex-grow:0;}.elementor-23403 .elementor-element.elementor-element-8919fe0.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-23403 .elementor-element.elementor-element-2c5e9d0.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-23403 .elementor-element.elementor-element-a2615e0{--display:flex;--min-height:466px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:52px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23403 .elementor-element.elementor-element-a2615e0:not(.elementor-motion-effects-element-type-background), .elementor-23403 .elementor-element.elementor-element-a2615e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}@media(min-width:768px){.elementor-23403 .elementor-element.elementor-element-9604f56{--content-width:91%;}.elementor-23403 .elementor-element.elementor-element-a2615e0{--content-width:90%;}}@media(max-width:1024px){.elementor-23403 .elementor-element.elementor-element-9604f56:not(.elementor-motion-effects-element-type-background), .elementor-23403 .elementor-element.elementor-element-9604f56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://transportvibe.com/wp-content/uploads/2025/10/Container-2.png");background-position:0px -639px;}.elementor-23403 .elementor-element.elementor-element-9604f56{--min-height:593px;}.elementor-23403 .elementor-element.elementor-element-2c5e9d0{width:initial;max-width:initial;}}@media(max-width:767px){.elementor-23403 .elementor-element.elementor-element-9604f56:not(.elementor-motion-effects-element-type-background), .elementor-23403 .elementor-element.elementor-element-9604f56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://transportvibe.com/wp-content/uploads/2025/10/Container-2.png");background-position:0px 0px;}.elementor-23403 .elementor-element.elementor-element-9604f56{--content-width:91%;--min-height:153px;}.elementor-23403 .elementor-element.elementor-element-236c07b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-23403 .elementor-element.elementor-element-236c07b .elementor-heading-title{font-size:30px;}.elementor-23403 .elementor-element.elementor-element-7e3eb61{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-size:12px;}.elementor-23403 .elementor-element.elementor-element-8919fe0{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-23403 .elementor-element.elementor-element-8919fe0 > .elementor-widget-container{border-radius:9px 9px 9px 9px;}.elementor-23403 .elementor-element.elementor-element-2c5e9d0 > .elementor-widget-container{margin:21px 0px 30px 0px;}.elementor-23403 .elementor-element.elementor-element-a2615e0{--content-width:85%;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:21px;--padding-bottom:21px;--padding-left:21px;--padding-right:21px;}}/* Start custom CSS for html, class: .elementor-element-8919fe0 */.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback)
 {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    height: 49px;
}
button, input, optgroup, select, textarea {
    margin: 1px;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: 7px;
}
    input#popup-pickup {
        font-size: 15px;
        padding: 6px;
    }
    
    

    input#popup-delivery {
            font-size: 15px;
        padding: 6px;
    }


    .form-container {
      background: white;
      border-radius: 20px;
      padding: 25px;

    }

    .headerr {
        display: flex;
        align-items: center;
        padding-top: 18px;
        margin-top: -47px;
    }
    body.no-scroll {
      height: 100vh !important;
      overflow: hidden !important;
      position: fixed !important;
      width: 100%;
    }


    .custom-dropdown .selected
     {
        padding: 7px;
        cursor: pointer;
        user-select: none;
        font-family: 'Red Hat Display';
        font-size: 18px;
    }
    
    label {
        font-size: 18px;
        font-weight: 400 !important;
        margin-right: 10px;
        color: #333;
        font-family: 'Red Hat Display';
    }

    img.hlo{
        width: 203px;
    }
    .steps {
      display: flex;
      justify-content: space-around;
      margin: 20px 0;
      font-size: 14px;
    }

    .step {
      text-align: center;
      color: #00B86B;
      font-weight: 600;
    }

    .step:not(.active) {
      color: #888;
    }

    .form-step {
      display: none;
    }

    .form-step.active {
      display: block;
    }

    label {
        font-size: 16px;
        font-weight: 400 !important;
        margin-right: 14px;
        color: #00404F;
    }

    input[type="text"],
    input[type="email"],
    input[type="date"],
    input[type="tel"] {
      width: 100%;
      
      border: 1px solid #ccc;
      border-radius: 10px;
    }

    .radio-group {
        display: flex;
        margin: 15px 0;
        justify-content: space-around;
    }
    .radio-group label {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: 14px;
    }

    .btn {
        width: 100%;
        background: #30cb65 !important;
        color: white !important;
      border: none;
      padding: 14px;
      border-radius: 10px;
      font-weight: bold;
      font-size: 16px;
      cursor: pointer;
      margin-left: 17px;
    }

    .call {
      text-align: center;
      margin-top: 15px;
      color: #333;
      font-weight: 600;
    }

    .call span {
      color: #00B86B;
    }

    .navigation {
      display: flex;
      justify-content: space-between;
      margin-top: 10px;
    }

    .back-btn {
      background: transparent;
      color: #00B86B;
      border: none;
      font-weight: bold;
      cursor: pointer;
    }
    
    

    /*** popup */
    
    /* Make overlay cover full screen and center content */
    #tvQuotePopup {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 9999;
      background: rgba(0, 0, 0, 0.6);
      display: none; /* Will be set to flex when opened */
      justify-content: center;
      align-items: center;
      overflow-y: auto;
    }
    
    .navigation {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 30px;
      
    }
    
    /* Button Base */
    .navigation button {
      padding: 12px 24px;
      font-size: 16px;
      font-weight: 600;
      border: none;
      border-radius: 12px;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
    
    /* Back Button */
    .navigation .back-btn {
        background-color: #30cb65;
        color: #ffffff;
    }
    
    
    /* Next Button */
    .navigation .btn.next {
      background-color: #30cb65;
      color: white;
      margin-left: 17px;
    }
    
    .popup-content {
      background: #fff;
      border-radius: 20px;
      max-width: 500px;
      width: 100%;
      padding: 30px;
      position: relative;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
      max-height: 90vh;
      overflow-y: auto;
    }
    
    button#tvOpenQuotePopup:hover {
        color: white;
    }
    
    }
    input[type="text"], input[type="email"], input[type="date"], input[type="tel"]
     {
        width: 100%;
        border: 1px solid #ccc;
        border-radius: 4px;
        font-family: 'Red Hat Display';
        font-size: 17px;
        padding: 11px;
    }
    /* Close button */
.tv-close-btn {
    position: absolute;
    top: -20px;
    right: 20px;
    font-size: 73px;
    font-weight: bold;
    color: #637d82;
    cursor: pointer;
    font-weight: 100;
}
    
b.advnn{
    margin-left: 59px;
    font-size: 11px;
    margin-right: 7px;
    font-weight: 500;
}    
    
    .headerr {
      display: flex;
      align-items: center;
    }
    
.vertical-line {
    width: 3px;
    height: 32px;
    background-color: #637d82;
}






/* Prevent background scroll when popup is open */
body.modal-open, html.modal-open {
  overflow: hidden !important;
  height: 100%;
  touch-action: none;
}


/***form ste*/

.steps {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 22px;
  font-family: Arial, sans-serif;
}

.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #18897f;
  position: relative;
}

.icon-circle {
    width: 40px;
    height: 40px;
    border: 2px solid #a5c5cc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background-color: white;
    color: #a5c5cc;
}

.step.active .icon-circle {
  border-color: #23c261;
  color: #23c261;
}

.step .label {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 500;
}

.line {
    width: 60px;
    height: 2px;
    background-color: #a5c5cc;
    margin: 0px 15px;
    margin-top: -24px;
}

.custom-dropdown {
  position: relative;
  width: 100%;
  margin-bottom: 0em;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
}



.custom-dropdown .options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 9999;
  max-height: 200px;
  overflow-y: auto;
  overflow-x: hidden;
  display: none;
  scroll-behavior: smooth;
}

.custom-dropdown .option {
  padding: 10px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  font-size: 15px;
}

.custom-dropdown .option:hover {
  background-color: #f0f0f0;
}


@media screen and (max-width: 600px) {
     .tv-close-btn {
        top: -20px !important;
        font-size: 73px !important;
    }
}

@media (max-width: 768px) {
    .flatpickr-calendar.animate.arrowTop.arrowLeft.open {
        margin-top: 160px !important;
        margin-left: -3px !important;
    }
        .quote-button {
    width: 100% !important;
}
}



















input#tv-popup-pickup , input#tv-popup-delivery , input.form-control.input , input[type="email"] , input[type="tel"]
 {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 10px;
    font-size: 15px;
    font-family: 'Red Hat Display';
    padding: 15px;
}

.flatpickr-calendar.animate.arrowTop.arrowLeft.open {
    width: 389px;
}
.custom-dropdown .selected {
    border-radius: 10px;
    font-size: 15px;
    font-family: 'Red Hat Display';
    padding: 15px;    cursor: pointer;
    user-select: none;
}


.tv-close-btn {
    right: 16px !important;
}





.pac-container {
  z-index: 10000 !important;
  border-radius: 8px;
  font-family: 'Red Hat Display', sans-serif;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: absolute !important;
}

@media screen and (max-width: 600px) {
  .pac-container {
    max-width: 83% !important;
    left: 18% !important;
    right: auto !important;
    box-sizing: border-box;
  }
  
  .vertical-line {
    margin-right: 11px;
}
    .tv-close-btn {
        top: -33px;
        right: 17px;
        font-size: 82px;
        color: #637d82;
        cursor: pointer;
        font-weight: 100;
    }

.line
 {
    width: 85px;
    height: 2px;
    background-color: #a5c5cc;
    margin: 0px 15px;
    margin-top: -29px;
    margin-left: -2px;
}
}



/* Ensure the pac-container dropdown matches the input field */
.pac-container {
  z-index: 10000 !important; /* Ensure it shows above all elements */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  font-family: 'Red Hat Display', sans-serif;
  font-size: 16px;
  
  margin-left: -42px !important;
  margin-top: 10px !important;
}


.pac-container {
    margin-top: 1px !important;
    width: 475px !important;
}

/* Make sure the dropdown aligns with input inside .input-icon */


/* Reposition the pac-container under the input field */
.pac-container:has(input#pickup-location),
.pac-container:has(input#delivery-location) {
  left: 0 !important;
}

/* Optional: input field style to ensure consistent sizing */
.input-icon input {
  width: 100%;
  height: 48px;
  border-radius: 8px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}



body.no-scroll {
  overflow: hidden !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8e85e11 *//* =======================
   MOBILE + TABLET ONLY
   ======================= */

@media (max-width: 1024px) {

  /* Grid layout: one column per row on tablet */
  .company-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 0 15px;
  }

  /* Card adjustments */
  .company-card {
    width: 100%;
    padding: 16px;
    border-radius: 12px;
  }

  /* Header layout */
  .company-header {
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
  }

  .left {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .company-logo {
    width: 60px;
    height: 45px;
  }

  .company-name {
    font-size: 16px;
  }

  .rating-row {
    margin-top: 6px;
  }

  .share-icon {
    width: 40px;
    height: 40px;
    margin-top: 0;
    align-self: flex-end;
  }

  /* Description */
  .description-section {
    margin-top: 10px;
  }

  .description-section h4 {
    font-size: 13px;
  }

  .description-section p {
    font-size: 13px !important;
    -webkit-line-clamp: 4;
  }

  /* Office Info (stacked on mobile) */
  .office-info {
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
  }

  .office-block {
    width: 100%;
    gap: 6px;
  }

  .office-text {
    font-size: 12px !important;
  }

  /* Buttons stack */
  .button-row {
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
  }

  .btn-light,
  .btn-green {
    width: 100%;
    justify-content: center;
    padding: 10px 14px;
    font-size: 14px;
  }

  /* Pagination */
  .company-pagination {
    flex-wrap: wrap;
    gap: 6px;
    margin: 20px 0;
  }

  .company-pagination a {
    padding: 6px 10px;
    font-size: 13px;
  }
}

/* Small mobile (extra compact) */
@media (max-width: 480px) {

  .company-card {
    padding: 14px;
  }

  .company-logo {
    width: 50px;
    height: 38px;
  }

  .company-name {
    font-size: 15px;
  }

  .rating-box {
    font-size: 12px;
    padding: 2px 6px;
  }

  .btn-light,
  .btn-green {
    font-size: 13px;
    padding: 8px 12px;
  }

  .description-section p {
    font-size: 12.5px !important;
    line-height: 1.4;
  }

  .office-text {
    font-size: 11.5px !important;
  }

}

@media (max-width: 768px) {
    .btn-light, .btn-green {
        width: 100%;
        text-align: center;
    }
}/* End custom CSS */