{"id":758,"date":"2026-07-29T06:11:27","date_gmt":"2026-07-29T06:11:27","guid":{"rendered":"https:\/\/freightxo.com\/?page_id=758"},"modified":"2026-07-30T15:59:51","modified_gmt":"2026-07-30T15:59:51","slug":"request-a-quote","status":"publish","type":"page","link":"https:\/\/freightxo.com\/?page_id=758","title":{"rendered":"Request a quote"},"content":{"rendered":"<!-- wp:html -->\n<style>\n  @import url(\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&display=swap\");\n\n  body.page-id-758 #content > .ast-container,\n  body.page-id-758 #primary,\n  body.page-id-758 #main,\n  body.page-id-758 article#post-758,\n  body.page-id-758 article#post-758 > .entry-content {\n    width: 100% !important;\n    max-width: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  body.page-id-758 article#post-758 > .entry-content > .fxo-quote {\n    width: 100% !important;\n    max-width: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  .fxo-quote,\n  .fxo-quote * {\n    box-sizing: border-box;\n  }\n\n  .fxo-quote {\n    --fxo-navy: #020c1b;\n    --fxo-navy-soft: #07172d;\n    --fxo-blue: #046bd2;\n    --fxo-blue-dark: #045cb4;\n    --fxo-cyan: #62d6ff;\n    --fxo-ink: #111827;\n    --fxo-slate: #475569;\n    --fxo-line: #dbe4ee;\n    --fxo-soft: #f5f9fd;\n    width: 100%;\n    margin: 0;\n    overflow: hidden;\n    color: var(--fxo-ink);\n    font-family: Inter, Arial, Helvetica, sans-serif;\n    font-weight: 400;\n  }\n\n  .fxo-quote a {\n    text-decoration: none !important;\n  }\n\n  .fxo-quote a:focus-visible,\n  .fxo-quote button:focus-visible,\n  .fxo-quote input:focus-visible,\n  .fxo-quote select:focus-visible,\n  .fxo-quote textarea:focus-visible {\n    outline: 3px solid var(--fxo-cyan);\n    outline-offset: 3px;\n  }\n\n  .fxo-quote-shell {\n    width: min(1296px, calc(100% - 144px));\n    margin-inline: auto;\n  }\n\n  .fxo-quote-section {\n    padding: 96px 0;\n  }\n\n  .fxo-quote-eyebrow {\n    margin: 0 0 14px;\n    color: var(--fxo-blue);\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: 0.12em;\n    line-height: 1.4;\n    text-transform: uppercase;\n  }\n\n  .fxo-quote h1,\n  .fxo-quote h2,\n  .fxo-quote h3 {\n    font-weight: 700;\n  }\n\n  .fxo-quote h2 {\n    margin: 0;\n    color: var(--fxo-ink);\n    font-size: clamp(32px, 3.6vw, 48px);\n    letter-spacing: -0.04em;\n    line-height: 1.08;\n  }\n\n  .fxo-quote-hero {\n    position: relative;\n    isolation: isolate;\n    overflow: hidden;\n    background:\n      radial-gradient(circle at 86% 20%, rgba(98, 214, 255, 0.18), transparent 28%),\n      linear-gradient(135deg, var(--fxo-navy-soft), var(--fxo-navy) 70%);\n    color: #fff;\n  }\n\n  .fxo-quote-hero::before,\n  .fxo-quote-hero::after {\n    position: absolute;\n    z-index: -1;\n    border: 1px solid rgba(98, 214, 255, 0.14);\n    border-radius: 50%;\n    content: \"\";\n    pointer-events: none;\n  }\n\n  .fxo-quote-hero::before {\n    top: -260px;\n    right: -150px;\n    width: 680px;\n    height: 680px;\n  }\n\n  .fxo-quote-hero::after {\n    right: 160px;\n    bottom: -360px;\n    width: 560px;\n    height: 560px;\n  }\n\n  .fxo-quote-hero-inner {\n    padding: 92px 0 100px;\n  }\n\n  .fxo-quote-hero .fxo-quote-eyebrow {\n    color: var(--fxo-cyan);\n  }\n\n  .fxo-quote h1 {\n    max-width: 920px;\n    margin: 0;\n    color: #fff;\n    font-size: clamp(44px, 5vw, 68px);\n    letter-spacing: -0.055em;\n    line-height: 1.02;\n  }\n\n  .fxo-quote-hero-lead {\n    max-width: 780px;\n    margin: 26px 0 0;\n    color: #d8e5f2;\n    font-size: clamp(17px, 1.5vw, 20px);\n    line-height: 1.7;\n  }\n\n  .fxo-quote-mode-line {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    margin-top: 30px;\n  }\n\n  .fxo-quote-mode-line span {\n    padding: 8px 12px;\n    border: 1px solid rgba(98, 214, 255, 0.28);\n    border-radius: 999px;\n    background: rgba(4, 107, 210, 0.12);\n    color: #d9f5ff;\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.3;\n  }\n\n  .fxo-quote-main {\n    background: var(--fxo-soft);\n  }\n\n  .fxo-quote-layout {\n    display: grid;\n    grid-template-columns: minmax(280px, 360px) minmax(0, 760px);\n    gap: 32px;\n    align-items: start;\n    justify-content: space-between;\n  }\n\n  .fxo-quote-aside {\n    position: sticky;\n    top: 32px;\n    padding: 32px;\n    border-radius: 20px;\n    background:\n      radial-gradient(circle at 92% 12%, rgba(98, 214, 255, 0.18), transparent 28%),\n      var(--fxo-navy);\n    color: #fff;\n    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.13);\n  }\n\n  .fxo-quote-aside .fxo-quote-eyebrow {\n    color: var(--fxo-cyan);\n  }\n\n  .fxo-quote-aside h2 {\n    color: #fff;\n    font-size: 30px;\n  }\n\n  .fxo-quote-steps {\n    display: grid;\n    gap: 24px;\n    margin: 30px 0 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  .fxo-quote-step {\n    padding-left: 16px;\n    border-left: 2px solid rgba(98, 214, 255, 0.38);\n  }\n\n  .fxo-quote-step strong {\n    display: block;\n    color: #fff;\n    font-size: 16px;\n    line-height: 1.35;\n  }\n\n  .fxo-quote-step p {\n    margin: 6px 0 0;\n    color: #cbd9e7;\n    font-size: 14px;\n    line-height: 1.6;\n  }\n\n  .fxo-quote-contact {\n    margin-top: 32px;\n    padding-top: 24px;\n    border-top: 1px solid rgba(255, 255, 255, 0.14);\n    color: #cbd9e7;\n    font-size: 14px;\n    line-height: 1.7;\n  }\n\n  .fxo-quote-contact a {\n    color: #fff;\n    font-weight: 600;\n  }\n\n  .fxo-quote-form-card {\n    width: 100%;\n    max-width: 760px;\n    padding: 32px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 20px;\n    background: #fff;\n    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);\n  }\n\n  .fxo-quote-form-intro {\n    max-width: 700px;\n    margin: 16px 0 0;\n    color: var(--fxo-slate);\n    font-size: 16px;\n    line-height: 1.7;\n  }\n\n  .fxo-quote-required-note {\n    margin: 10px 0 0;\n    color: #64748b;\n    font-size: 13px;\n    line-height: 1.5;\n  }\n\n  .fxo-quote-form-section {\n    margin: 26px 0 0;\n    padding: 0;\n    border: 0;\n  }\n\n  .fxo-quote-form-section + .fxo-quote-form-section {\n    padding-top: 24px;\n    border-top: 1px solid var(--fxo-line);\n  }\n\n  .fxo-quote-legend {\n    display: block;\n    width: 100%;\n    margin: 0 0 14px;\n    padding: 0;\n    color: var(--fxo-ink);\n    font-size: 18px;\n    font-weight: 700;\n    line-height: 1.35;\n  }\n\n  .fxo-quote-mode-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 12px;\n  }\n\n  .fxo-quote-mode-option {\n    position: relative;\n    min-width: 0;\n  }\n\n  .fxo-quote-mode-option input {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0 0 0 0);\n    white-space: nowrap;\n  }\n\n  .fxo-quote-mode-option label {\n    min-height: 64px;\n    display: flex;\n    align-items: center;\n    gap: 13px;\n    padding: 13px 14px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 14px;\n    background: #fff;\n    color: var(--fxo-ink);\n    cursor: pointer;\n    font-size: 15px;\n    font-weight: 600;\n    line-height: 1.35;\n    transition:\n      border-color 180ms ease,\n      background-color 180ms ease,\n      box-shadow 180ms ease;\n  }\n\n  .fxo-quote-mode-option label::before {\n    width: 20px;\n    height: 20px;\n    flex: 0 0 20px;\n    border: 2px solid #aebdcd;\n    border-radius: 50%;\n    background: #fff;\n    box-shadow: inset 0 0 0 4px #fff;\n    content: \"\";\n  }\n\n  .fxo-quote-mode-option input:checked + label {\n    border-color: var(--fxo-blue);\n    background: #eef6ff;\n    box-shadow: 0 0 0 2px rgba(4, 107, 210, 0.1);\n  }\n\n  .fxo-quote-mode-option input:checked + label::before {\n    border-color: var(--fxo-blue);\n    background: var(--fxo-blue);\n  }\n\n  .fxo-quote-mode-option input:focus-visible + label {\n    outline: 3px solid var(--fxo-cyan);\n    outline-offset: 3px;\n  }\n\n  .fxo-quote-fields {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px 18px;\n    justify-content: start;\n  }\n\n  .fxo-quote-field {\n    min-width: 0;\n  }\n\n  .fxo-quote-field-full {\n    grid-column: 1 \/ -1;\n  }\n\n  .fxo-quote-field label {\n    display: block;\n    margin: 0 0 6px;\n    color: var(--fxo-ink);\n    font-size: 14px;\n    font-weight: 600;\n    line-height: 1.45;\n  }\n\n  .fxo-quote-field .fxo-quote-optional {\n    color: #64748b;\n    font-weight: 400;\n  }\n\n  .fxo-quote-field input,\n  .fxo-quote-field select,\n  .fxo-quote-field textarea {\n    width: 100%;\n    max-width: 35ch;\n    min-height: 44px;\n    margin: 0;\n    padding: 9px 11px;\n    border: 1px solid #b8c7d7;\n    border-radius: 10px;\n    background: #fff;\n    color: var(--fxo-ink);\n    font: inherit;\n    font-size: 16px;\n    line-height: 1.45;\n    transition:\n      border-color 180ms ease,\n      box-shadow 180ms ease;\n  }\n\n  .fxo-quote-field textarea {\n    min-height: 72px;\n    resize: vertical;\n  }\n\n  .fxo-quote-field-full textarea {\n    max-width: 48ch;\n  }\n\n  .fxo-quote-field textarea.fxo-quote-compact-textarea {\n    max-width: 35ch;\n    min-height: 68px;\n  }\n\n  .fxo-quote-field input:hover,\n  .fxo-quote-field select:hover,\n  .fxo-quote-field textarea:hover {\n    border-color: #7f95aa;\n  }\n\n  .fxo-quote-field input:focus,\n  .fxo-quote-field select:focus,\n  .fxo-quote-field textarea:focus {\n    border-color: var(--fxo-blue);\n    box-shadow: 0 0 0 3px rgba(4, 107, 210, 0.12);\n  }\n\n  .fxo-quote-field-group[hidden] {\n    display: none !important;\n  }\n\n  .fxo-quote-inline-fields {\n    display: grid;\n    grid-template-columns: minmax(0, 24ch) 92px;\n    gap: 10px;\n    max-width: 35ch;\n  }\n\n  .fxo-quote-consent {\n    display: grid;\n    grid-template-columns: 20px 1fr;\n    gap: 10px;\n    align-items: start;\n    margin-top: 24px;\n  }\n\n  .fxo-quote-consent input {\n    width: 18px;\n    height: 18px;\n    margin: 2px 0 0;\n    accent-color: var(--fxo-blue);\n  }\n\n  .fxo-quote-consent label {\n    color: var(--fxo-slate);\n    font-size: 13px;\n    line-height: 1.6;\n  }\n\n  .fxo-quote-submit-row {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 16px;\n    margin-top: 26px;\n  }\n\n  .fxo-quote-submit {\n    min-height: 52px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 14px 28px;\n    border: 1px solid transparent;\n    border-radius: 999px;\n    background: var(--fxo-blue);\n    color: #fff;\n    cursor: pointer;\n    font: inherit;\n    font-size: 16px;\n    font-weight: 600;\n    line-height: 1.2;\n    box-shadow: 0 12px 28px rgba(4, 107, 210, 0.22);\n    transition:\n      background-color 180ms ease,\n      transform 180ms ease;\n  }\n\n  .fxo-quote-submit:hover,\n  .fxo-quote-submit:focus-visible {\n    background: var(--fxo-blue-dark);\n    transform: translateY(-2px);\n  }\n\n  .fxo-quote-submit-note {\n    max-width: 360px;\n    margin: 0;\n    color: #64748b;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .fxo-quote-form-message {\n    display: none;\n    width: 100%;\n    margin: 4px 0 0;\n    padding: 14px 16px;\n    border: 1px solid #f1c66c;\n    border-radius: 10px;\n    background: #fff8e8;\n    color: #664b14;\n    font-size: 14px;\n    line-height: 1.55;\n  }\n\n  .fxo-quote-form-message.is-visible {\n    display: block;\n  }\n\n  .fxo-quote-honeypot {\n    position: absolute !important;\n    left: -10000px !important;\n    width: 1px !important;\n    height: 1px !important;\n    overflow: hidden !important;\n  }\n\n  .fxo-quote-form-details[hidden],\n  .fxo-quote-route-section[hidden],\n  .fxo-quote-accessorials[hidden],\n  .fxo-quote-accessorial-option[hidden],\n  .fxo-quote-other-field[hidden],\n  .fxo-quote-country-other-field[hidden] {\n    display: none !important;\n  }\n\n  .fxo-quote-selection-note {\n    margin: 16px 0 0;\n    color: var(--fxo-slate);\n    font-size: 14px;\n    line-height: 1.6;\n  }\n\n  .fxo-quote-route-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(280px, 1fr));\n    gap: 16px;\n    width: 100%;\n  }\n\n  .fxo-quote-location-card {\n    min-width: 0;\n    padding: 18px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 14px;\n    background: #f9fbfd;\n  }\n\n  .fxo-quote-location-card h3 {\n    margin: 0 0 18px;\n    color: var(--fxo-ink);\n    font-size: 18px;\n    letter-spacing: -0.02em;\n    line-height: 1.3;\n  }\n\n  .fxo-quote-location-fields {\n    display: grid;\n    gap: 12px;\n  }\n\n  .fxo-quote-country-pair {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n  }\n\n  .fxo-quote-country-pair > .fxo-quote-field:first-child {\n    grid-column: 1 \/ -1;\n  }\n\n  .fxo-quote-country-pair.is-specifying > .fxo-quote-field:first-child {\n    grid-column: auto;\n  }\n\n  .fxo-quote-lookup-status {\n    min-height: 20px;\n    margin: 7px 0 0;\n    color: #64748b;\n    font-size: 12px;\n    line-height: 1.5;\n  }\n\n  .fxo-quote-lookup-status.is-success {\n    color: #166534;\n  }\n\n  .fxo-quote-lookup-status.is-warning {\n    color: #92400e;\n  }\n\n  .fxo-quote-lookup-note {\n    margin: 18px 0 0;\n    color: #64748b;\n    font-size: 13px;\n    line-height: 1.6;\n  }\n\n  .fxo-quote-check-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 8px 14px;\n    margin-top: 12px;\n  }\n\n  .fxo-quote-check {\n    display: grid;\n    grid-template-columns: 18px 1fr;\n    gap: 9px;\n    align-items: start;\n  }\n\n  .fxo-quote-check input {\n    width: 17px;\n    height: 17px;\n    margin: 2px 0 0;\n    accent-color: var(--fxo-blue);\n  }\n\n  .fxo-quote-check label {\n    color: var(--fxo-slate);\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.5;\n  }\n\n  .fxo-quote-item-controls {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px 18px;\n    justify-content: start;\n    align-items: end;\n  }\n\n  .fxo-quote-copy-button {\n    min-height: 44px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 12px 18px;\n    border: 1px solid var(--fxo-blue);\n    border-radius: 10px;\n    background: #fff;\n    color: var(--fxo-blue);\n    cursor: pointer;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 600;\n    line-height: 1.3;\n    margin-top: 12px;\n  }\n\n  .fxo-quote-copy-button:hover,\n  .fxo-quote-copy-button:focus-visible {\n    background: #eef6ff;\n  }\n\n  .fxo-quote-copy-button:disabled {\n    border-color: #cbd5e1;\n    background: #f8fafc;\n    color: #94a3b8;\n    cursor: not-allowed;\n  }\n\n  .fxo-quote-item-list {\n    display: grid;\n    gap: 12px;\n    max-width: 720px;\n    margin-top: 16px;\n  }\n\n  .fxo-quote-item-card {\n    padding: 16px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 14px;\n    background: #f9fbfd;\n  }\n\n  .fxo-quote-item-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n    margin-bottom: 14px;\n  }\n\n  .fxo-quote-item-head strong {\n    color: var(--fxo-ink);\n    font-size: 15px;\n    line-height: 1.4;\n  }\n\n  .fxo-quote-item-class {\n    color: var(--fxo-blue);\n    font-size: 12px;\n    font-weight: 600;\n    line-height: 1.45;\n    text-align: right;\n  }\n\n  .fxo-quote-item-grid {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 12px;\n  }\n\n  .fxo-quote-item-grid label {\n    display: block;\n    margin: 0 0 7px;\n    color: var(--fxo-ink);\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.4;\n  }\n\n  .fxo-quote-item-grid input {\n    width: 100%;\n    min-height: 42px;\n    margin: 0;\n    padding: 8px 10px;\n    border: 1px solid #b8c7d7;\n    border-radius: 9px;\n    background: #fff;\n    color: var(--fxo-ink);\n    font: inherit;\n    font-size: 16px;\n  }\n\n  .fxo-quote-item-grid input:focus {\n    border-color: var(--fxo-blue);\n    box-shadow: 0 0 0 3px rgba(4, 107, 210, 0.12);\n  }\n\n  .fxo-quote-class-summary {\n    max-width: 720px;\n    margin-top: 14px;\n    padding: 14px;\n    border: 1px solid #c6def6;\n    border-radius: 12px;\n    background: #eef6ff;\n  }\n\n  .fxo-quote-class-summary strong {\n    display: block;\n    color: #123a66;\n    font-size: 16px;\n  }\n\n  .fxo-quote-class-summary span {\n    display: block;\n    margin-top: 6px;\n    color: #365774;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .fxo-quote-class-note {\n    margin: 12px 0 0;\n    color: #64748b;\n    font-size: 12px;\n    line-height: 1.6;\n  }\n\n  .fxo-quote-mode-options {\n    max-width: 48ch;\n    margin-top: 16px;\n    padding: 14px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 12px;\n    background: #f9fbfd;\n  }\n\n  .fxo-quote-mode-options > strong {\n    display: block;\n    margin-bottom: 12px;\n    color: var(--fxo-ink);\n    font-size: 14px;\n  }\n\n  .fxo-quote-field-note {\n    margin: 8px 0 0;\n    color: #64748b;\n    font-size: 12px;\n    line-height: 1.55;\n  }\n\n  .fxo-quote-marketplaces {\n    max-width: 54ch;\n    margin-top: 2px;\n    padding: 14px;\n    border: 1px solid var(--fxo-line);\n    border-radius: 12px;\n    background: #f9fbfd;\n  }\n\n  .fxo-quote-marketplaces > strong {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--fxo-ink);\n    font-size: 14px;\n  }\n\n  .fxo-quote-marketplaces .fxo-quote-check-grid {\n    grid-template-columns: repeat(3, minmax(120px, 1fr));\n    gap: 8px 14px;\n    margin-top: 10px;\n  }\n\n  .fxo-quote-marketplaces .fxo-quote-check {\n    align-items: center;\n  }\n\n  .fxo-quote-marketplaces .fxo-quote-check input {\n    min-height: 17px;\n    margin-top: 0;\n    padding: 0;\n  }\n\n  .fxo-quote-marketplaces .fxo-quote-check label {\n    margin: 0;\n    line-height: 1.3;\n  }\n\n  .fxo-quote-marketplaces .fxo-quote-other-field {\n    margin-top: 12px;\n  }\n\n  .fxo-quote-services {\n    background: #fff;\n  }\n\n  .fxo-quote-services-intro {\n    max-width: 820px;\n    margin: 20px 0 0;\n    color: var(--fxo-slate);\n    font-size: 18px;\n    line-height: 1.75;\n  }\n\n  .fxo-quote-service-grid {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 18px;\n    margin-top: 42px;\n  }\n\n  .fxo-quote-service-card {\n    position: relative;\n    min-height: 220px;\n    padding: 28px 24px;\n    overflow: hidden;\n    border: 1px solid var(--fxo-line);\n    border-radius: 16px;\n    background: #fff;\n    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);\n  }\n\n  .fxo-quote-service-card::before {\n    position: absolute;\n    inset: 0 auto 0 0;\n    width: 4px;\n    background: linear-gradient(180deg, var(--fxo-blue), var(--fxo-cyan));\n    content: \"\";\n  }\n\n  .fxo-quote-service-number {\n    color: var(--fxo-blue);\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: 0.1em;\n  }\n\n  .fxo-quote-service-card h3 {\n    margin: 0 0 10px;\n    color: var(--fxo-ink);\n    font-size: 21px;\n    letter-spacing: -0.025em;\n    line-height: 1.25;\n  }\n\n  .fxo-quote-service-card p {\n    margin: 0;\n    color: var(--fxo-slate);\n    font-size: 15px;\n    line-height: 1.7;\n  }\n\n  .fxo-quote-bottom {\n    padding: 82px 0;\n    background:\n      radial-gradient(circle at 90% 16%, rgba(98, 214, 255, 0.14), transparent 28%),\n      linear-gradient(135deg, var(--fxo-navy-soft), var(--fxo-navy));\n    color: #fff;\n  }\n\n  .fxo-quote-bottom-inner {\n    display: grid;\n    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);\n    align-items: center;\n    gap: 54px;\n  }\n\n  .fxo-quote-bottom .fxo-quote-eyebrow {\n    color: var(--fxo-cyan);\n  }\n\n  .fxo-quote-bottom h2 {\n    max-width: 720px;\n    margin: 0;\n    color: #fff;\n    font-size: clamp(34px, 4vw, 52px);\n    font-weight: 700;\n    letter-spacing: -0.04em;\n    line-height: 1.08;\n  }\n\n  .fxo-quote-bottom-copy {\n    max-width: 700px;\n    margin: 20px 0 0;\n    color: #cbd9e7;\n    font-size: 17px;\n    line-height: 1.72;\n  }\n\n  .fxo-quote-bottom-links {\n    display: grid;\n    gap: 12px;\n  }\n\n  .fxo-quote-bottom-link {\n    min-height: 58px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 18px;\n    padding: 15px 18px;\n    border: 1px solid rgba(98, 214, 255, 0.28);\n    border-radius: 12px;\n    background: rgba(255, 255, 255, 0.05);\n    color: #fff;\n    font-size: 15px;\n    font-weight: 600;\n    line-height: 1.35;\n    transition:\n      background-color 180ms ease,\n      border-color 180ms ease,\n      transform 180ms ease;\n  }\n\n  .fxo-quote-bottom-link span:last-child {\n    color: var(--fxo-cyan);\n    font-size: 20px;\n  }\n\n  .fxo-quote-bottom-link:hover,\n  .fxo-quote-bottom-link:focus-visible {\n    border-color: rgba(98, 214, 255, 0.58);\n    background: rgba(98, 214, 255, 0.09);\n    color: #fff;\n    transform: translateX(3px);\n  }\n\n  @media (max-width: 1100px) {\n    .fxo-quote-layout {\n      grid-template-columns: 1fr;\n    }\n\n    .fxo-quote-aside {\n      position: static;\n    }\n\n    .fxo-quote-steps {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .fxo-quote-service-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 960px) {\n    .fxo-quote-shell {\n      width: calc(100% - 48px);\n    }\n\n    .fxo-quote-section {\n      padding: 78px 0;\n    }\n\n    .fxo-quote-hero-inner {\n      padding: 82px 0 90px;\n    }\n\n    .fxo-quote-bottom-inner {\n      grid-template-columns: 1fr;\n      gap: 34px;\n    }\n  }\n\n  @media (max-width: 720px) {\n    .fxo-quote-steps,\n    .fxo-quote-fields,\n    .fxo-quote-item-controls {\n      grid-template-columns: 1fr;\n    }\n\n    .fxo-quote-route-grid,\n    .fxo-quote-country-pair {\n      grid-template-columns: 1fr;\n    }\n\n    .fxo-quote-item-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .fxo-quote-field-full {\n      grid-column: auto;\n    }\n  }\n\n  @media (max-width: 640px) {\n    .fxo-quote-shell {\n      width: calc(100% - 32px);\n    }\n\n    .fxo-quote-section {\n      padding: 64px 0;\n    }\n\n    .fxo-quote-hero-inner {\n      padding: 72px 0 78px;\n    }\n\n    .fxo-quote h1 {\n      font-size: clamp(40px, 12vw, 54px);\n    }\n\n    .fxo-quote-mode-grid,\n    .fxo-quote-service-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .fxo-quote-aside,\n    .fxo-quote-form-card {\n      padding: 26px 20px;\n      border-radius: 16px;\n    }\n\n    .fxo-quote-submit-row {\n      align-items: stretch;\n      flex-direction: column;\n    }\n\n    .fxo-quote-bottom {\n      padding: 64px 0;\n    }\n\n    .fxo-quote-submit {\n      width: 100%;\n    }\n\n    .fxo-quote-service-card {\n      min-height: auto;\n    }\n\n    .fxo-quote-check-grid,\n    .fxo-quote-item-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .fxo-quote-marketplaces .fxo-quote-check-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .fxo-quote-item-head {\n      align-items: flex-start;\n      flex-direction: column;\n    }\n\n    .fxo-quote-item-class {\n      text-align: left;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .fxo-quote *,\n    .fxo-quote *::before,\n    .fxo-quote *::after {\n      scroll-behavior: auto !important;\n      transition-duration: 0.01ms !important;\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n    }\n  }\n<\/style>\n\n<div class=\"fxo-quote\">\n  <section class=\"fxo-quote-hero\" aria-labelledby=\"fxo-quote-title\">\n    <div class=\"fxo-quote-shell fxo-quote-hero-inner\">\n      <p class=\"fxo-quote-eyebrow\">USA \u00b7 Canada \u00b7 Mexico<\/p>\n      <h1 id=\"fxo-quote-title\">Request a shipping quote.<\/h1>\n      <p class=\"fxo-quote-hero-lead\">\n        Tell FreightXO what you need to move. We will review your shipment or\n        fulfillment requirements and follow up with the right questions and next steps.\n      <\/p>\n      <div class=\"fxo-quote-mode-line\" aria-label=\"Available quote types\">\n        <span>Courier<\/span>\n        <span>LTL<\/span>\n        <span>FTL<\/span>\n        <span>Fulfillment &amp; Distribution<\/span>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"fxo-quote-section fxo-quote-main\" aria-labelledby=\"fxo-quote-form-title\">\n    <div class=\"fxo-quote-shell fxo-quote-layout\">\n      <aside class=\"fxo-quote-aside\" aria-labelledby=\"fxo-quote-next-title\">\n        <p class=\"fxo-quote-eyebrow\">What happens next<\/p>\n        <h2 id=\"fxo-quote-next-title\">A clear first step.<\/h2>\n        <ul class=\"fxo-quote-steps\">\n          <li class=\"fxo-quote-step\">\n            <div>\n              <strong>Share the basics<\/strong>\n              <p>Select a shipping mode or warehouse requirement and provide the details.<\/p>\n            <\/div>\n          <\/li>\n          <li class=\"fxo-quote-step\">\n            <div>\n              <strong>FreightXO reviews<\/strong>\n              <p>We will review the request and work on it.<\/p>\n            <\/div>\n          <\/li>\n          <li class=\"fxo-quote-step\">\n            <div>\n              <strong>We follow up<\/strong>\n              <p>\n                You will receive a quick response with pricing and the appropriate next\n                steps.\n              <\/p>\n            <\/div>\n          <\/li>\n        <\/ul>\n        <p class=\"fxo-quote-contact\">\n          Prefer to contact us directly?<br \/>\n          <a href=\"mailto:info@freightxo.com\">info@freightxo.com<\/a>\n        <\/p>\n      <\/aside>\n\n      <div class=\"fxo-quote-form-card\">\n        <h2 id=\"fxo-quote-form-title\">\n          Tell us about your shipment or warehouse requirement.\n        <\/h2>\n        <p class=\"fxo-quote-form-intro\">\n          The form will show only the details relevant to your request.\n        <\/p>\n        <p class=\"fxo-quote-required-note\">Fields marked with * are required.<\/p>\n\n        <form\n          class=\"fxo-quote-form fxo-forms-form\"\n          action=\"https:\/\/freightxo.com\/wp-admin\/admin-post.php\"\n          method=\"post\"\n          accept-charset=\"UTF-8\"\n          data-fxo-quote-form\n          data-fxo-reset-on-success=\"false\"\n        >\n          \t\t<input type=\"hidden\" name=\"action\" value=\"fxo_forms_submit\" \/>\n\t\t<input type=\"hidden\" name=\"fxo_form_key\" value=\"quote\" \/>\n\t\t<input type=\"hidden\" name=\"fxo_form_started_at\" value=\"1786024896\" \/>\n\t\t<input type=\"hidden\" id=\"fxo_forms_nonce\" name=\"fxo_forms_nonce\" value=\"97c27f88e5\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F758\" \/>\t\t\n          <div class=\"fxo-quote-honeypot fxo-forms-honeypot\" aria-hidden=\"true\">\n            <label for=\"fxo-quote-website\">Leave this field empty<\/label>\n            <input\n              id=\"fxo-quote-website\"\n              name=\"website\"\n              type=\"text\"\n              tabindex=\"-1\"\n              autocomplete=\"off\"\n            \/>\n          <\/div>\n\n          <fieldset class=\"fxo-quote-form-section\">\n            <legend class=\"fxo-quote-legend\">\n              Select a shipping mode or warehouse requirement *\n            <\/legend>\n            <div class=\"fxo-quote-mode-grid\">\n              <div class=\"fxo-quote-mode-option\">\n                <input\n                  id=\"fxo-mode-courier\"\n                  name=\"shipping_mode\"\n                  type=\"radio\"\n                  value=\"Courier\"\n                  data-fxo-mode=\"courier\"\n                  required\n                \/>\n                <label for=\"fxo-mode-courier\">Courier<\/label>\n              <\/div>\n              <div class=\"fxo-quote-mode-option\">\n                <input\n                  id=\"fxo-mode-ltl\"\n                  name=\"shipping_mode\"\n                  type=\"radio\"\n                  value=\"LTL\"\n                  data-fxo-mode=\"ltl\"\n                  required\n                \/>\n                <label for=\"fxo-mode-ltl\">LTL<\/label>\n              <\/div>\n              <div class=\"fxo-quote-mode-option\">\n                <input\n                  id=\"fxo-mode-ftl\"\n                  name=\"shipping_mode\"\n                  type=\"radio\"\n                  value=\"FTL\"\n                  data-fxo-mode=\"ftl\"\n                  required\n                \/>\n                <label for=\"fxo-mode-ftl\">FTL<\/label>\n              <\/div>\n              <div class=\"fxo-quote-mode-option\">\n                <input\n                  id=\"fxo-mode-fulfillment\"\n                  name=\"shipping_mode\"\n                  type=\"radio\"\n                  value=\"Fulfillment & Distribution\"\n                  data-fxo-mode=\"fulfillment\"\n                  required\n                \/>\n                <label for=\"fxo-mode-fulfillment\">Fulfillment &amp; Distribution<\/label>\n              <\/div>\n            <\/div>\n            <p class=\"fxo-quote-selection-note\">\n              Choose one option to continue with the relevant request fields.\n            <\/p>\n          <\/fieldset>\n\n          <div class=\"fxo-quote-form-details\" data-fxo-form-details hidden>\n          <fieldset class=\"fxo-quote-form-section\">\n            <legend class=\"fxo-quote-legend\">Your contact details<\/legend>\n            <div class=\"fxo-quote-fields\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-quote-name\">Full name *<\/label>\n                <input\n                  id=\"fxo-quote-name\"\n                  name=\"full_name\"\n                  type=\"text\"\n                  autocomplete=\"name\"\n                  required\n                \/>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-quote-company\">Company *<\/label>\n                <input\n                  id=\"fxo-quote-company\"\n                  name=\"company\"\n                  type=\"text\"\n                  autocomplete=\"organization\"\n                  required\n                \/>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-quote-email\">Work email *<\/label>\n                <input\n                  id=\"fxo-quote-email\"\n                  name=\"email\"\n                  type=\"email\"\n                  autocomplete=\"email\"\n                  required\n                \/>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-quote-phone\">\n                  Phone <span class=\"fxo-quote-optional\">(optional)<\/span>\n                <\/label>\n                <input\n                  id=\"fxo-quote-phone\"\n                  name=\"phone\"\n                  type=\"tel\"\n                  autocomplete=\"tel\"\n                \/>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset class=\"fxo-quote-form-section fxo-quote-route-section\" data-fxo-route>\n            <legend class=\"fxo-quote-legend\">Origin and destination<\/legend>\n            <div class=\"fxo-quote-route-grid\">\n              <section class=\"fxo-quote-location-card\" aria-labelledby=\"fxo-origin-heading\">\n                <h3 id=\"fxo-origin-heading\">Origin<\/h3>\n                <div class=\"fxo-quote-location-fields\">\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-origin-postal\">ZIP or postal code *<\/label>\n                    <input\n                      id=\"fxo-origin-postal\"\n                      name=\"origin_postal_code\"\n                      type=\"text\"\n                      autocomplete=\"postal-code\"\n                      placeholder=\"ZIP or postal code\"\n                      data-fxo-postal=\"origin\"\n                      required\n                    \/>\n                    <p\n                      class=\"fxo-quote-lookup-status\"\n                      data-fxo-lookup-status=\"origin\"\n                      role=\"status\"\n                    ><\/p>\n                  <\/div>\n                  <div class=\"fxo-quote-country-pair\">\n                    <div class=\"fxo-quote-field\">\n                      <label for=\"fxo-origin-country\">Country *<\/label>\n                      <select\n                        id=\"fxo-origin-country\"\n                        name=\"origin_country\"\n                        data-fxo-country=\"origin\"\n                        required\n                      >\n                        <option value=\"\">Select a country<\/option>\n                        <option value=\"United States\">United States<\/option>\n                        <option value=\"Canada\">Canada<\/option>\n                        <option value=\"Mexico\">Mexico<\/option>\n                        <option value=\"Other\" data-fxo-country-other-option>Other<\/option>\n                      <\/select>\n                    <\/div>\n                    <div\n                      class=\"fxo-quote-field fxo-quote-country-other-field\"\n                      data-fxo-country-other-field=\"origin\"\n                      hidden\n                    >\n                      <label for=\"fxo-origin-country-other\">Specify country: *<\/label>\n                      <input\n                        id=\"fxo-origin-country-other\"\n                        name=\"origin_country_other\"\n                        type=\"text\"\n                        data-fxo-country-other-input=\"origin\"\n                        disabled\n                      \/>\n                    <\/div>\n                  <\/div>\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-origin-city\">City *<\/label>\n                    <input\n                      id=\"fxo-origin-city\"\n                      name=\"origin_city\"\n                      type=\"text\"\n                      autocomplete=\"address-level2\"\n                      data-fxo-city=\"origin\"\n                      required\n                    \/>\n                  <\/div>\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-origin-region\">State or province *<\/label>\n                    <input\n                      id=\"fxo-origin-region\"\n                      name=\"origin_state_province\"\n                      type=\"text\"\n                      autocomplete=\"address-level1\"\n                      data-fxo-region=\"origin\"\n                      required\n                    \/>\n                  <\/div>\n                <\/div>\n                <div\n                  class=\"fxo-quote-accessorials\"\n                  data-fxo-accessorials=\"origin\"\n                  hidden\n                >\n                  <div class=\"fxo-quote-check-grid\">\n                    <div\n                      class=\"fxo-quote-check fxo-quote-accessorial-option\"\n                      data-fxo-accessorial-modes=\"ltl ftl\"\n                    >\n                      <input\n                        id=\"fxo-origin-tailgate\"\n                        name=\"origin_tailgate\"\n                        type=\"checkbox\"\n                        value=\"Yes\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-origin-tailgate\">Tailgate required<\/label>\n                    <\/div>\n                    <div\n                      class=\"fxo-quote-check fxo-quote-accessorial-option\"\n                      data-fxo-accessorial-modes=\"courier ltl\"\n                    >\n                      <input\n                        id=\"fxo-origin-residential\"\n                        name=\"origin_residential\"\n                        type=\"checkbox\"\n                        value=\"Yes\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-origin-residential\">Residential location<\/label>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/section>\n\n              <section\n                class=\"fxo-quote-location-card\"\n                aria-labelledby=\"fxo-destination-heading\"\n              >\n                <h3 id=\"fxo-destination-heading\">Destination<\/h3>\n                <div class=\"fxo-quote-location-fields\">\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-destination-postal\">ZIP or postal code *<\/label>\n                    <input\n                      id=\"fxo-destination-postal\"\n                      name=\"destination_postal_code\"\n                      type=\"text\"\n                      autocomplete=\"postal-code\"\n                      placeholder=\"ZIP or postal code\"\n                      data-fxo-postal=\"destination\"\n                      required\n                    \/>\n                    <p\n                      class=\"fxo-quote-lookup-status\"\n                      data-fxo-lookup-status=\"destination\"\n                      role=\"status\"\n                    ><\/p>\n                  <\/div>\n                  <div class=\"fxo-quote-country-pair\">\n                    <div class=\"fxo-quote-field\">\n                      <label for=\"fxo-destination-country\">Country *<\/label>\n                      <select\n                        id=\"fxo-destination-country\"\n                        name=\"destination_country\"\n                        data-fxo-country=\"destination\"\n                        required\n                      >\n                        <option value=\"\">Select a country<\/option>\n                        <option value=\"United States\">United States<\/option>\n                        <option value=\"Canada\">Canada<\/option>\n                        <option value=\"Mexico\">Mexico<\/option>\n                        <option value=\"Other\" data-fxo-country-other-option>Other<\/option>\n                      <\/select>\n                    <\/div>\n                    <div\n                      class=\"fxo-quote-field fxo-quote-country-other-field\"\n                      data-fxo-country-other-field=\"destination\"\n                      hidden\n                    >\n                      <label for=\"fxo-destination-country-other\">\n                        Specify country: *\n                      <\/label>\n                      <input\n                        id=\"fxo-destination-country-other\"\n                        name=\"destination_country_other\"\n                        type=\"text\"\n                        data-fxo-country-other-input=\"destination\"\n                        disabled\n                      \/>\n                    <\/div>\n                  <\/div>\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-destination-city\">City *<\/label>\n                    <input\n                      id=\"fxo-destination-city\"\n                      name=\"destination_city\"\n                      type=\"text\"\n                      autocomplete=\"address-level2\"\n                      data-fxo-city=\"destination\"\n                      required\n                    \/>\n                  <\/div>\n                  <div class=\"fxo-quote-field\">\n                    <label for=\"fxo-destination-region\">State or province *<\/label>\n                    <input\n                      id=\"fxo-destination-region\"\n                      name=\"destination_state_province\"\n                      type=\"text\"\n                      autocomplete=\"address-level1\"\n                      data-fxo-region=\"destination\"\n                      required\n                    \/>\n                  <\/div>\n                <\/div>\n                <div\n                  class=\"fxo-quote-accessorials\"\n                  data-fxo-accessorials=\"destination\"\n                  hidden\n                >\n                  <div class=\"fxo-quote-check-grid\">\n                    <div\n                      class=\"fxo-quote-check fxo-quote-accessorial-option\"\n                      data-fxo-accessorial-modes=\"ltl ftl\"\n                    >\n                      <input\n                        id=\"fxo-destination-tailgate\"\n                        name=\"destination_tailgate\"\n                        type=\"checkbox\"\n                        value=\"Yes\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-destination-tailgate\">Tailgate required<\/label>\n                    <\/div>\n                    <div\n                      class=\"fxo-quote-check fxo-quote-accessorial-option\"\n                      data-fxo-accessorial-modes=\"courier ltl\"\n                    >\n                      <input\n                        id=\"fxo-destination-residential\"\n                        name=\"destination_residential\"\n                        type=\"checkbox\"\n                        value=\"Yes\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-destination-residential\">Residential location<\/label>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/section>\n            <\/div>\n            <p class=\"fxo-quote-lookup-note\">\n              USA and Canadian postal codes can suggest the city and state or province.\n              Confirm the suggested location or enter it manually before submitting.\n            <\/p>\n          <\/fieldset>\n\n          <fieldset\n            class=\"fxo-quote-form-section fxo-quote-field-group\"\n            data-fxo-fields=\"courier\"\n            hidden\n          >\n            <legend class=\"fxo-quote-legend\">Courier details<\/legend>\n            <div class=\"fxo-quote-item-controls\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-courier-packages\">Number of packages *<\/label>\n                <select\n                  id=\"fxo-courier-packages\"\n                  name=\"courier_packages\"\n                  data-fxo-count=\"courier\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select package count<\/option>\n                  <option value=\"1\">1<\/option>\n                  <option value=\"2\">2<\/option>\n                  <option value=\"3\">3<\/option>\n                  <option value=\"4\">4<\/option>\n                  <option value=\"5\">5<\/option>\n                  <option value=\"6\">6<\/option>\n                  <option value=\"7\">7<\/option>\n                  <option value=\"8\">8<\/option>\n                  <option value=\"9\">9<\/option>\n                  <option value=\"10\">10<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-courier-units\">Measurement units *<\/label>\n                <select\n                  id=\"fxo-courier-units\"\n                  name=\"courier_measurement_units\"\n                  data-fxo-units=\"courier\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"imperial\">Inches and pounds<\/option>\n                  <option value=\"metric\">Centimetres and kilograms<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n            <button\n              class=\"fxo-quote-copy-button\"\n              type=\"button\"\n              data-fxo-copy=\"courier\"\n              disabled\n            >\n              All packages are the same\n            <\/button>\n            <div class=\"fxo-quote-item-list\" data-fxo-item-list=\"courier\"><\/div>\n            <div class=\"fxo-quote-fields\">\n              <div class=\"fxo-quote-field fxo-quote-field-full\">\n                <label for=\"fxo-courier-description\">What are you shipping? *<\/label>\n                <textarea\n                  id=\"fxo-courier-description\"\n                  name=\"courier_description\"\n                  rows=\"2\"\n                  placeholder=\"Commodity or product description\"\n                  data-required\n                  disabled\n                ><\/textarea>\n              <\/div>\n            <\/div>\n            <div class=\"fxo-quote-mode-options\">\n              <strong>Delivery requirements<\/strong>\n              <div class=\"fxo-quote-check-grid\">\n                <div class=\"fxo-quote-check\">\n                  <input\n                    id=\"fxo-courier-signature\"\n                    name=\"courier_signature_required\"\n                    type=\"checkbox\"\n                    value=\"Yes\"\n                    disabled\n                  \/>\n                  <label for=\"fxo-courier-signature\">Signature required<\/label>\n                <\/div>\n                <div class=\"fxo-quote-check\">\n                  <input\n                    id=\"fxo-courier-adult-signature\"\n                    name=\"courier_adult_signature_required\"\n                    type=\"checkbox\"\n                    value=\"Yes\"\n                    disabled\n                  \/>\n                  <label for=\"fxo-courier-adult-signature\">\n                    Adult signature required\n                  <\/label>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset\n            class=\"fxo-quote-form-section fxo-quote-field-group\"\n            data-fxo-fields=\"ltl\"\n            hidden\n          >\n            <legend class=\"fxo-quote-legend\">LTL details<\/legend>\n            <div class=\"fxo-quote-item-controls\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-ltl-pallets\">Number of pallets or skids *<\/label>\n                <select\n                  id=\"fxo-ltl-pallets\"\n                  name=\"ltl_pallets\"\n                  data-fxo-count=\"ltl\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select pallet count<\/option>\n                  <option value=\"1\">1<\/option>\n                  <option value=\"2\">2<\/option>\n                  <option value=\"3\">3<\/option>\n                  <option value=\"4\">4<\/option>\n                  <option value=\"5\">5<\/option>\n                  <option value=\"6\">6<\/option>\n                  <option value=\"7\">7<\/option>\n                  <option value=\"8\">8<\/option>\n                  <option value=\"9\">9<\/option>\n                  <option value=\"10\">10<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-ltl-units\">Measurement units *<\/label>\n                <select\n                  id=\"fxo-ltl-units\"\n                  name=\"ltl_measurement_units\"\n                  data-fxo-units=\"ltl\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"imperial\">Inches and pounds<\/option>\n                  <option value=\"metric\">Centimetres and kilograms<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n            <button\n              class=\"fxo-quote-copy-button\"\n              type=\"button\"\n              data-fxo-copy=\"ltl\"\n              disabled\n            >\n              All pallets are the same\n            <\/button>\n            <div class=\"fxo-quote-item-list\" data-fxo-item-list=\"ltl\"><\/div>\n            <input\n              type=\"hidden\"\n              name=\"ltl_suggested_freight_class\"\n              data-fxo-overall-class-input\n              disabled\n            \/>\n            <div class=\"fxo-quote-class-summary\" data-fxo-class-summary hidden>\n              <strong data-fxo-overall-class>Enter pallet details to calculate.<\/strong>\n              <span data-fxo-overall-density><\/span>\n            <\/div>\n            <p class=\"fxo-quote-class-note\">\n              Freight class is a density-based estimate using FreightXO\u2019s current\n              13-tier calculator. Commodity, handling, stowability, liability, NMFC item,\n              and carrier rules may change the final class.\n            <\/p>\n            <div class=\"fxo-quote-fields\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-ltl-stackable\">Stackable? *<\/label>\n                <select\n                  id=\"fxo-ltl-stackable\"\n                  name=\"ltl_stackable\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select yes or no<\/option>\n                  <option value=\"Yes\">Yes<\/option>\n                  <option value=\"No\">No<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field fxo-quote-field-full\">\n                <label for=\"fxo-ltl-commodity\">What are you shipping? *<\/label>\n                <textarea\n                  id=\"fxo-ltl-commodity\"\n                  name=\"ltl_commodity\"\n                  rows=\"2\"\n                  placeholder=\"Commodity or product description\"\n                  data-required\n                  disabled\n                ><\/textarea>\n              <\/div>\n            <\/div>\n            <div class=\"fxo-quote-mode-options\">\n              <strong>Requirements<\/strong>\n              <div class=\"fxo-quote-check-grid\">\n                <div class=\"fxo-quote-check\">\n                  <input\n                    id=\"fxo-ltl-appointment\"\n                    name=\"ltl_delivery_appointment\"\n                    type=\"checkbox\"\n                    value=\"Yes\"\n                    disabled\n                  \/>\n                  <label for=\"fxo-ltl-appointment\">Delivery appointment required<\/label>\n                <\/div>\n                <div class=\"fxo-quote-check\">\n                  <input\n                    id=\"fxo-ltl-temp-controlled\"\n                    name=\"ltl_temp_controlled\"\n                    type=\"checkbox\"\n                    value=\"Yes\"\n                    disabled\n                  \/>\n                  <label for=\"fxo-ltl-temp-controlled\">Temp controlled<\/label>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset\n            class=\"fxo-quote-form-section fxo-quote-field-group\"\n            data-fxo-fields=\"ftl\"\n            hidden\n          >\n            <legend class=\"fxo-quote-legend\">FTL details<\/legend>\n            <div class=\"fxo-quote-fields\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-ftl-equipment\">Equipment type *<\/label>\n                <select\n                  id=\"fxo-ftl-equipment\"\n                  name=\"ftl_equipment\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select equipment<\/option>\n                  <option value=\"Dry Van\">Dry van<\/option>\n                  <option value=\"Temp Controlled\">Temp controlled<\/option>\n                  <option value=\"Flatbed\">Flatbed<\/option>\n                  <option value=\"Drayage\">Drayage<\/option>\n                  <option value=\"Other\">Other<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-ftl-weight\">Total weight *<\/label>\n                <div class=\"fxo-quote-inline-fields\">\n                  <input\n                    id=\"fxo-ftl-weight\"\n                    name=\"ftl_total_weight\"\n                    type=\"number\"\n                    min=\"0.1\"\n                    step=\"0.1\"\n                    inputmode=\"decimal\"\n                    data-required\n                    disabled\n                  \/>\n                  <select\n                    aria-label=\"FTL weight unit\"\n                    name=\"ftl_weight_unit\"\n                    data-required\n                    disabled\n                  >\n                    <option value=\"lb\">lb<\/option>\n                    <option value=\"kg\">kg<\/option>\n                  <\/select>\n                <\/div>\n              <\/div>\n              <div class=\"fxo-quote-field fxo-quote-field-full\">\n                <label for=\"fxo-ftl-description\">What are you shipping? *<\/label>\n                <textarea\n                  id=\"fxo-ftl-description\"\n                  name=\"ftl_description\"\n                  rows=\"2\"\n                  placeholder=\"Commodity or product description\"\n                  data-required\n                  disabled\n                ><\/textarea>\n              <\/div>\n            <\/div>\n            <div class=\"fxo-quote-mode-options\">\n              <strong>Delivery requirements<\/strong>\n              <div class=\"fxo-quote-check\">\n                <input\n                  id=\"fxo-ftl-appointment\"\n                  name=\"ftl_delivery_appointment\"\n                  type=\"checkbox\"\n                  value=\"Yes\"\n                  disabled\n                \/>\n                <label for=\"fxo-ftl-appointment\">Delivery appointment required<\/label>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset\n            class=\"fxo-quote-form-section fxo-quote-field-group\"\n            data-fxo-fields=\"fulfillment\"\n            hidden\n          >\n            <legend class=\"fxo-quote-legend\">Fulfillment &amp; distribution details<\/legend>\n            <div class=\"fxo-quote-fields\">\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-orders\">Orders per month *<\/label>\n                <select\n                  id=\"fxo-fulfillment-orders\"\n                  name=\"fulfillment_monthly_orders\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select a range<\/option>\n                  <option value=\"500 to 1,000\">500 to 1,000<\/option>\n                  <option value=\"1,001 to 10,000\">1,001 to 10,000<\/option>\n                  <option value=\"10,001+\">10,001+<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-model\">Business model *<\/label>\n                <select\n                  id=\"fxo-fulfillment-model\"\n                  name=\"fulfillment_business_model\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select a model<\/option>\n                  <option value=\"Direct to consumer\">Direct to consumer<\/option>\n                  <option value=\"Direct to business\">Direct to business<\/option>\n                  <option value=\"Mixed\">Mixed<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-wholesale\">Wholesale retailers? *<\/label>\n                <select\n                  id=\"fxo-fulfillment-wholesale\"\n                  name=\"fulfillment_wholesale_retailers\"\n                  data-required\n                  disabled\n                >\n                  <option value=\"\">Select yes or no<\/option>\n                  <option value=\"Yes\">Yes<\/option>\n                  <option value=\"No\">No<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-pallets\">Pallets in storage *<\/label>\n                <input\n                  id=\"fxo-fulfillment-pallets\"\n                  name=\"fulfillment_pallets_in_storage\"\n                  type=\"number\"\n                  min=\"0\"\n                  step=\"1\"\n                  inputmode=\"numeric\"\n                  data-required\n                  disabled\n                \/>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-location\">\n                  Fulfillment location requirement *\n                <\/label>\n                <textarea\n                  class=\"fxo-quote-compact-textarea\"\n                  id=\"fxo-fulfillment-location\"\n                  name=\"fulfillment_location_requirement\"\n                  rows=\"2\"\n                  placeholder=\"Preferred city, region, country, or service area\"\n                  data-required\n                  disabled\n                ><\/textarea>\n                <p class=\"fxo-quote-field-note\">\n                  If the location is undetermined, FreightXO can work with you to\n                  determine the best location or locations.\n                <\/p>\n              <\/div>\n              <div class=\"fxo-quote-field\">\n                <label for=\"fxo-fulfillment-skus\">Number of SKUs *<\/label>\n                <input\n                  id=\"fxo-fulfillment-skus\"\n                  name=\"fulfillment_skus\"\n                  type=\"number\"\n                  min=\"1\"\n                  step=\"1\"\n                  inputmode=\"numeric\"\n                  data-required\n                  disabled\n                \/>\n              <\/div>\n              <div class=\"fxo-quote-field fxo-quote-field-full\">\n                <div class=\"fxo-quote-marketplaces\">\n                  <strong>Shopping carts or marketplaces<\/strong>\n                  <p class=\"fxo-quote-field-note\">Select all that apply.<\/p>\n                  <div class=\"fxo-quote-check-grid\">\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-shopify\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"Shopify\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-shopify\">Shopify<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-amazon\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"Amazon\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-amazon\">Amazon<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-tiktok\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"TikTok Shop\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-tiktok\">TikTok Shop<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-woocommerce\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"WooCommerce\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-woocommerce\">WooCommerce<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-bestbuy\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"Best Buy\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-bestbuy\">Best Buy<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-walmart\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"Walmart\"\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-walmart\">Walmart<\/label>\n                    <\/div>\n                    <div class=\"fxo-quote-check\">\n                      <input\n                        id=\"fxo-marketplace-other\"\n                        name=\"fulfillment_marketplaces[]\"\n                        type=\"checkbox\"\n                        value=\"Other\"\n                        data-fxo-other-toggle\n                        disabled\n                      \/>\n                      <label for=\"fxo-marketplace-other\">Other<\/label>\n                    <\/div>\n                  <\/div>\n                  <div\n                    class=\"fxo-quote-field fxo-quote-other-field\"\n                    data-fxo-other-field\n                    hidden\n                  >\n                    <label for=\"fxo-marketplace-other-text\">\n                      Other shopping cart or marketplace\n                    <\/label>\n                    <input\n                      id=\"fxo-marketplace-other-text\"\n                      name=\"fulfillment_marketplace_other\"\n                      type=\"text\"\n                      disabled\n                    \/>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <div class=\"fxo-quote-consent\">\n            <input id=\"fxo-quote-consent\" name=\"consent\" type=\"checkbox\" value=\"Yes\" required \/>\n            <label for=\"fxo-quote-consent\">\n              I agree that FreightXO may use the information provided to review and\n              respond to this quote request. *\n            <\/label>\n          <\/div>\n\n          <div class=\"fxo-quote-submit-row\">\n            <button class=\"fxo-quote-submit\" type=\"submit\">Request a Quote<\/button>\n            <p class=\"fxo-quote-submit-note\">\n              Submitting this form does not create a shipment or guarantee service\n              availability.\n            <\/p>\n            <p\n              class=\"fxo-quote-form-message fxo-forms-message\"\n              data-fxo-form-message\n              role=\"status\"\n              tabindex=\"-1\"\n            ><\/p>\n          <\/div>\n          <\/div>\n\n          <template data-fxo-item-template>\n            <article class=\"fxo-quote-item-card\" data-fxo-item-row>\n              <div class=\"fxo-quote-item-head\">\n                <strong>__ITEM_LABEL__ __INDEX__<\/strong>\n                <span class=\"fxo-quote-item-class\" data-fxo-item-class hidden><\/span>\n              <\/div>\n              <input type=\"hidden\" name=\"__TYPE___item___INDEX___estimated_class\" data-fxo-item-class-input \/>\n              <input type=\"hidden\" name=\"__TYPE___item___INDEX___density_pcf\" data-fxo-item-density-input \/>\n              <div class=\"fxo-quote-item-grid\">\n                <div>\n                  <label for=\"fxo-__TYPE__-__INDEX__-length\">\n                    Length (<span data-fxo-dimension-unit>in<\/span>) *\n                  <\/label>\n                  <input\n                    id=\"fxo-__TYPE__-__INDEX__-length\"\n                    name=\"__TYPE___item___INDEX___length\"\n                    type=\"number\"\n                    min=\"0.1\"\n                    step=\"0.1\"\n                    inputmode=\"decimal\"\n                    data-fxo-measure=\"length\"\n                    required\n                  \/>\n                <\/div>\n                <div>\n                  <label for=\"fxo-__TYPE__-__INDEX__-width\">\n                    Width (<span data-fxo-dimension-unit>in<\/span>) *\n                  <\/label>\n                  <input\n                    id=\"fxo-__TYPE__-__INDEX__-width\"\n                    name=\"__TYPE___item___INDEX___width\"\n                    type=\"number\"\n                    min=\"0.1\"\n                    step=\"0.1\"\n                    inputmode=\"decimal\"\n                    data-fxo-measure=\"width\"\n                    required\n                  \/>\n                <\/div>\n                <div>\n                  <label for=\"fxo-__TYPE__-__INDEX__-height\">\n                    Height (<span data-fxo-dimension-unit>in<\/span>) *\n                  <\/label>\n                  <input\n                    id=\"fxo-__TYPE__-__INDEX__-height\"\n                    name=\"__TYPE___item___INDEX___height\"\n                    type=\"number\"\n                    min=\"0.1\"\n                    step=\"0.1\"\n                    inputmode=\"decimal\"\n                    data-fxo-measure=\"height\"\n                    required\n                  \/>\n                <\/div>\n                <div>\n                  <label for=\"fxo-__TYPE__-__INDEX__-weight\">\n                    Weight (<span data-fxo-weight-unit>lb<\/span>) *\n                  <\/label>\n                  <input\n                    id=\"fxo-__TYPE__-__INDEX__-weight\"\n                    name=\"__TYPE___item___INDEX___weight\"\n                    type=\"number\"\n                    min=\"0.1\"\n                    step=\"0.1\"\n                    inputmode=\"decimal\"\n                    data-fxo-measure=\"weight\"\n                    required\n                  \/>\n                <\/div>\n              <\/div>\n            <\/article>\n          <\/template>\n        <\/form>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section\n    class=\"fxo-quote-section fxo-quote-services\"\n    aria-labelledby=\"fxo-quote-services-title\"\n  >\n    <div class=\"fxo-quote-shell\">\n      <p class=\"fxo-quote-eyebrow\">One form for four service types<\/p>\n      <h2 id=\"fxo-quote-services-title\">Quote requests built around the shipment.<\/h2>\n      <p class=\"fxo-quote-services-intro\">\n        FreightXO supports courier, LTL, FTL, fulfillment, and distribution requirements\n        across the United States, Canada, and Mexico, with additional support for\n        international shipments entering or leaving North America.\n      <\/p>\n\n      <div class=\"fxo-quote-service-grid\">\n        <article class=\"fxo-quote-service-card\">\n          <h3>Courier<\/h3>\n          <p>\n            Request parcel, postal, and last-mile options using package count, weight,\n            route, and delivery requirements.\n          <\/p>\n        <\/article>\n        <article class=\"fxo-quote-service-card\">\n          <h3>LTL<\/h3>\n          <p>\n            Share pallet or skid count, shipment weight, commodity, lane, and freight\n            class when available.\n          <\/p>\n        <\/article>\n        <article class=\"fxo-quote-service-card\">\n          <h3>FTL<\/h3>\n          <p>\n            Provide the route, equipment type, commodity, timing, and special handling\n            needs for a full truckload.\n          <\/p>\n        <\/article>\n        <article class=\"fxo-quote-service-card\">\n          <h3>Fulfillment &amp; Distribution<\/h3>\n          <p>\n            Outline order volume, pallet storage, SKU count, direct-to-consumer or\n            direct-to-business requirements, and connections such as Shopify, Amazon,\n            TikTok Shop, WooCommerce, Best Buy, or Walmart.\n          <\/p>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"fxo-quote-bottom\" aria-labelledby=\"fxo-quote-bottom-title\">\n    <div class=\"fxo-quote-shell fxo-quote-bottom-inner\">\n      <div>\n        <p class=\"fxo-quote-eyebrow\">Need help before submitting?<\/p>\n        <h2 id=\"fxo-quote-bottom-title\">Need help choosing the right quote type?<\/h2>\n        <p class=\"fxo-quote-bottom-copy\">\n          FreightXO can help identify whether Courier, LTL, FTL, or Fulfillment &amp;\n          Distribution fits your requirement. Contact us, use a shipping tool, or review\n          EDU resources before submitting.\n        <\/p>\n      <\/div>\n      <nav class=\"fxo-quote-bottom-links\" aria-label=\"FreightXO quote support\">\n        <a class=\"fxo-quote-bottom-link\" href=\"https:\/\/freightxo.com\/?page_id=45\">\n          <span>Contact FreightXO<\/span><span aria-hidden=\"true\">\u2192<\/span>\n        <\/a>\n        <a class=\"fxo-quote-bottom-link\" href=\"https:\/\/freightxo.com\/?page_id=321\">\n          <span>Use Shipping Tools<\/span><span aria-hidden=\"true\">\u2192<\/span>\n        <\/a>\n        <a class=\"fxo-quote-bottom-link\" href=\"https:\/\/freightxo.com\/?page_id=39\">\n          <span>Browse EDU<\/span><span aria-hidden=\"true\">\u2192<\/span>\n        <\/a>\n      <\/nav>\n    <\/div>\n  <\/section>\n<\/div>\n\n<script>\n  (function () {\n    \"use strict\";\n\n    var roots = document.querySelectorAll(\".fxo-quote:not([data-fxo-initialized])\");\n    var densityTiers = [\n      { freightClass: 400, minPcf: 0 },\n      { freightClass: 300, minPcf: 1 },\n      { freightClass: 250, minPcf: 2 },\n      { freightClass: 175, minPcf: 4 },\n      { freightClass: 125, minPcf: 6 },\n      { freightClass: 100, minPcf: 8 },\n      { freightClass: 92.5, minPcf: 10 },\n      { freightClass: 85, minPcf: 12 },\n      { freightClass: 70, minPcf: 15 },\n      { freightClass: 65, minPcf: 22.5 },\n      { freightClass: 60, minPcf: 30 },\n      { freightClass: 55, minPcf: 35 },\n      { freightClass: 50, minPcf: 50 }\n    ];\n\n    roots.forEach(function (root) {\n      root.setAttribute(\"data-fxo-initialized\", \"true\");\n\n      var form = root.querySelector(\"[data-fxo-quote-form]\");\n      var modeInputs = root.querySelectorAll(\"[data-fxo-mode]\");\n      var fieldGroups = root.querySelectorAll(\"[data-fxo-fields]\");\n      var formDetails = root.querySelector(\"[data-fxo-form-details]\");\n      var routeSection = root.querySelector(\"[data-fxo-route]\");\n      var accessorialGroups = root.querySelectorAll(\"[data-fxo-accessorials]\");\n      var countryOtherOptions = Array.prototype.map.call(\n        root.querySelectorAll(\"[data-fxo-country-other-option]\"),\n        function (option) {\n          return {\n            option: option,\n            select: option.parentElement\n          };\n        }\n      );\n      var otherMarketplaceToggle = root.querySelector(\"[data-fxo-other-toggle]\");\n      var otherMarketplaceField = root.querySelector(\"[data-fxo-other-field]\");\n      var itemTemplate = root.querySelector(\"[data-fxo-item-template]\");\n      var message = root.querySelector(\"[data-fxo-form-message]\");\n      var itemState = {\n        courier: [],\n        ltl: []\n      };\n\n      if (\n        !form ||\n        !modeInputs.length ||\n        !fieldGroups.length ||\n        !formDetails ||\n        !routeSection ||\n        !itemTemplate\n      ) {\n        return;\n      }\n\n      function setControlsEnabled(container, isEnabled) {\n        container.querySelectorAll(\"input, select, textarea\").forEach(function (field) {\n          field.disabled = !isEnabled;\n\n          if (field.hasAttribute(\"data-required\")) {\n            field.required = isEnabled;\n          }\n        });\n      }\n\n      function updateCourierCountryFields(mode) {\n        [\"origin\", \"destination\"].forEach(function (locationType) {\n          var countryField = root.querySelector(\n            '[data-fxo-country=\"' + locationType + '\"]'\n          );\n          var otherField = root.querySelector(\n            '[data-fxo-country-other-field=\"' + locationType + '\"]'\n          );\n          var otherInput = root.querySelector(\n            '[data-fxo-country-other-input=\"' + locationType + '\"]'\n          );\n          var countryPair = otherField ? otherField.parentElement : null;\n          var isVisible =\n            mode === \"courier\" &&\n            countryField &&\n            countryField.value === \"Other\";\n\n          if (otherField) {\n            otherField.hidden = !isVisible;\n          }\n\n          if (countryPair) {\n            countryPair.classList.toggle(\"is-specifying\", isVisible);\n          }\n\n          if (otherInput) {\n            otherInput.disabled = !isVisible;\n            otherInput.required = isVisible;\n          }\n        });\n      }\n\n      function updateCountryModeRules(mode) {\n        var showOther = mode === \"courier\";\n\n        countryOtherOptions.forEach(function (entry) {\n          var option = entry.option;\n          var select = entry.select;\n\n          if (showOther && !option.parentElement) {\n            select.appendChild(option);\n          }\n\n          if (!showOther && option.parentElement) {\n            if (option.selected) {\n              select.value = \"\";\n            }\n\n            option.remove();\n          }\n        });\n\n        updateCourierCountryFields(mode);\n      }\n\n      function updateOtherMarketplace(isFulfillment) {\n        if (!otherMarketplaceField) {\n          return;\n        }\n\n        var isVisible =\n          Boolean(isFulfillment) &&\n          Boolean(otherMarketplaceToggle) &&\n          otherMarketplaceToggle.checked;\n        var otherInput = otherMarketplaceField.querySelector(\"input\");\n\n        otherMarketplaceField.hidden = !isVisible;\n        setControlsEnabled(otherMarketplaceField, isVisible);\n\n        if (otherInput) {\n          otherInput.required = isVisible;\n        }\n      }\n\n      function setMode(mode) {\n        formDetails.hidden = false;\n\n        fieldGroups.forEach(function (group) {\n          var isActive = group.getAttribute(\"data-fxo-fields\") === mode;\n          group.hidden = !isActive;\n          setControlsEnabled(group, isActive);\n        });\n\n        var showRoute = mode !== \"fulfillment\";\n        routeSection.hidden = !showRoute;\n        setControlsEnabled(routeSection, showRoute);\n\n        accessorialGroups.forEach(function (group) {\n          var visibleOptions = 0;\n\n          group\n            .querySelectorAll(\"[data-fxo-accessorial-modes]\")\n            .forEach(function (option) {\n              var supportedModes = option\n                .getAttribute(\"data-fxo-accessorial-modes\")\n                .split(\/\\s+\/);\n              var isVisible = showRoute && supportedModes.indexOf(mode) !== -1;\n\n              option.hidden = !isVisible;\n              setControlsEnabled(option, isVisible);\n\n              if (isVisible) {\n                visibleOptions += 1;\n              }\n            });\n\n          group.hidden = visibleOptions === 0;\n        });\n\n        updateOtherMarketplace(mode === \"fulfillment\");\n        updateCountryModeRules(mode);\n        updateCopyButton(\"courier\");\n        updateCopyButton(\"ltl\");\n      }\n\n      modeInputs.forEach(function (input) {\n        input.addEventListener(\"change\", function () {\n          if (input.checked) {\n            setMode(input.getAttribute(\"data-fxo-mode\"));\n          }\n        });\n      });\n\n      fieldGroups.forEach(function (group) {\n        group.hidden = true;\n        setControlsEnabled(group, false);\n      });\n\n      accessorialGroups.forEach(function (group) {\n        group.hidden = true;\n        setControlsEnabled(group, false);\n      });\n\n      if (otherMarketplaceField) {\n        otherMarketplaceField.hidden = true;\n        setControlsEnabled(otherMarketplaceField, false);\n      }\n\n      if (otherMarketplaceToggle) {\n        otherMarketplaceToggle.addEventListener(\"change\", function () {\n          var activeMode = root.querySelector(\"[data-fxo-mode]:checked\");\n          var isFulfillment =\n            activeMode &&\n            activeMode.getAttribute(\"data-fxo-mode\") === \"fulfillment\";\n\n          updateOtherMarketplace(isFulfillment);\n        });\n      }\n\n      function itemLabel(type) {\n        return type === \"ltl\" ? \"Pallet\" : \"Package\";\n      }\n\n      function getUnits(type) {\n        var unitsField = root.querySelector('[data-fxo-units=\"' + type + '\"]');\n        return unitsField ? unitsField.value : \"imperial\";\n      }\n\n      function ensureStateLength(type, count) {\n        while (itemState[type].length < count) {\n          itemState[type].push({\n            length: \"\",\n            width: \"\",\n            height: \"\",\n            weight: \"\"\n          });\n        }\n      }\n\n      function updateCopyButton(type) {\n        var countField = root.querySelector('[data-fxo-count=\"' + type + '\"]');\n        var copyButton = root.querySelector('[data-fxo-copy=\"' + type + '\"]');\n        var group = root.querySelector('[data-fxo-fields=\"' + type + '\"]');\n        var count = countField ? Number(countField.value) : 0;\n        var groupActive = group ? !group.hidden : false;\n\n        if (copyButton) {\n          copyButton.disabled = !groupActive || count < 2;\n        }\n      }\n\n      function findFreightClass(pcf) {\n        for (var i = densityTiers.length - 1; i >= 0; i -= 1) {\n          if (pcf >= densityTiers[i].minPcf) {\n            return densityTiers[i].freightClass;\n          }\n        }\n\n        return 400;\n      }\n\n      function calculateItem(values, units) {\n        var length = Number(values.length);\n        var width = Number(values.width);\n        var height = Number(values.height);\n        var weight = Number(values.weight);\n\n        if (\n          !Number.isFinite(length) ||\n          !Number.isFinite(width) ||\n          !Number.isFinite(height) ||\n          !Number.isFinite(weight) ||\n          length <= 0 ||\n          width <= 0 ||\n          height <= 0 ||\n          weight <= 0\n        ) {\n          return null;\n        }\n\n        if (units === \"metric\") {\n          length = length \/ 2.54;\n          width = width \/ 2.54;\n          height = height \/ 2.54;\n          weight = weight * 2.20462;\n        }\n\n        var cubicFeet = (length * width * height) \/ 1728;\n        var pcf = weight \/ cubicFeet;\n\n        return {\n          cubicFeet: cubicFeet,\n          weightLb: weight,\n          pcf: pcf,\n          freightClass: findFreightClass(pcf)\n        };\n      }\n\n      function updateLtlClasses() {\n        var list = root.querySelector('[data-fxo-item-list=\"ltl\"]');\n        var summary = root.querySelector(\"[data-fxo-class-summary]\");\n        var overallClass = root.querySelector(\"[data-fxo-overall-class]\");\n        var overallDensity = root.querySelector(\"[data-fxo-overall-density]\");\n        var overallInput = root.querySelector(\"[data-fxo-overall-class-input]\");\n        var countField = root.querySelector('[data-fxo-count=\"ltl\"]');\n        var count = countField ? Number(countField.value) : 0;\n        var validCount = 0;\n        var totalCubicFeet = 0;\n        var totalWeightLb = 0;\n        var units = getUnits(\"ltl\");\n\n        if (!list || !summary || !overallClass || !overallDensity || !overallInput) {\n          return;\n        }\n\n        list.querySelectorAll(\"[data-fxo-item-row]\").forEach(function (row, index) {\n          var result = calculateItem(itemState.ltl[index] || {}, units);\n          var classText = row.querySelector(\"[data-fxo-item-class]\");\n          var classInput = row.querySelector(\"[data-fxo-item-class-input]\");\n          var densityInput = row.querySelector(\"[data-fxo-item-density-input]\");\n\n          if (!result) {\n            classText.hidden = true;\n            classText.textContent = \"\";\n            classInput.value = \"\";\n            densityInput.value = \"\";\n            return;\n          }\n\n          validCount += 1;\n          totalCubicFeet += result.cubicFeet;\n          totalWeightLb += result.weightLb;\n          classText.hidden = false;\n          classText.textContent =\n            \"Estimated class \" +\n            result.freightClass +\n            \" \u00b7 \" +\n            result.pcf.toFixed(2) +\n            \" lb\/ft\u00b3\";\n          classInput.value = result.freightClass;\n          densityInput.value = result.pcf.toFixed(2);\n        });\n\n        if (!count) {\n          summary.hidden = true;\n          overallInput.value = \"\";\n          return;\n        }\n\n        summary.hidden = false;\n\n        if (validCount !== count || totalCubicFeet <= 0) {\n          overallClass.textContent =\n            \"Complete every pallet\u2019s dimensions and weight to calculate the shipment.\";\n          overallDensity.textContent = \"\";\n          overallInput.value = \"\";\n          return;\n        }\n\n        var shipmentPcf = totalWeightLb \/ totalCubicFeet;\n        var shipmentClass = findFreightClass(shipmentPcf);\n        overallClass.textContent = \"Suggested overall class: \" + shipmentClass;\n        overallDensity.textContent =\n          \"Combined shipment density: \" + shipmentPcf.toFixed(2) + \" lb\/ft\u00b3.\";\n        overallInput.value = shipmentClass;\n      }\n\n      function updateUnitLabels(type) {\n        var list = root.querySelector('[data-fxo-item-list=\"' + type + '\"]');\n        var isMetric = getUnits(type) === \"metric\";\n\n        if (!list) {\n          return;\n        }\n\n        list.querySelectorAll(\"[data-fxo-dimension-unit]\").forEach(function (label) {\n          label.textContent = isMetric ? \"cm\" : \"in\";\n        });\n\n        list.querySelectorAll(\"[data-fxo-weight-unit]\").forEach(function (label) {\n          label.textContent = isMetric ? \"kg\" : \"lb\";\n        });\n      }\n\n      function renderItems(type) {\n        var countField = root.querySelector('[data-fxo-count=\"' + type + '\"]');\n        var list = root.querySelector('[data-fxo-item-list=\"' + type + '\"]');\n        var count = countField ? Number(countField.value) : 0;\n\n        if (!list) {\n          return;\n        }\n\n        ensureStateLength(type, count);\n        list.innerHTML = \"\";\n\n        for (var index = 1; index <= count; index += 1) {\n          var markup = itemTemplate.innerHTML\n            .replaceAll(\"__ITEM_LABEL__\", itemLabel(type))\n            .replaceAll(\"__TYPE__\", type)\n            .replaceAll(\"__INDEX__\", String(index));\n          var holder = document.createElement(\"div\");\n          holder.innerHTML = markup.trim();\n          var row = holder.firstElementChild;\n          var values = itemState[type][index - 1];\n\n          row.setAttribute(\"data-fxo-item-index\", String(index));\n\n          row.querySelectorAll(\"[data-fxo-measure]\").forEach(function (field) {\n            var measure = field.getAttribute(\"data-fxo-measure\");\n            field.value = values[measure] || \"\";\n          });\n\n          if (type !== \"ltl\") {\n            row.querySelector(\"[data-fxo-item-class]\").hidden = true;\n          }\n\n          list.appendChild(row);\n        }\n\n        updateUnitLabels(type);\n        updateCopyButton(type);\n\n        if (type === \"ltl\") {\n          updateLtlClasses();\n        }\n      }\n\n      [\"courier\", \"ltl\"].forEach(function (type) {\n        var countField = root.querySelector('[data-fxo-count=\"' + type + '\"]');\n        var unitsField = root.querySelector('[data-fxo-units=\"' + type + '\"]');\n        var copyButton = root.querySelector('[data-fxo-copy=\"' + type + '\"]');\n        var list = root.querySelector('[data-fxo-item-list=\"' + type + '\"]');\n\n        if (countField) {\n          countField.addEventListener(\"change\", function () {\n            renderItems(type);\n          });\n        }\n\n        if (unitsField) {\n          unitsField.addEventListener(\"change\", function () {\n            updateUnitLabels(type);\n\n            if (type === \"ltl\") {\n              updateLtlClasses();\n            }\n          });\n        }\n\n        if (list) {\n          list.addEventListener(\"input\", function (event) {\n            var field = event.target.closest(\"[data-fxo-measure]\");\n            var row = event.target.closest(\"[data-fxo-item-row]\");\n\n            if (!field || !row) {\n              return;\n            }\n\n            var itemIndex = Number(row.getAttribute(\"data-fxo-item-index\")) - 1;\n            var measure = field.getAttribute(\"data-fxo-measure\");\n            ensureStateLength(type, itemIndex + 1);\n            itemState[type][itemIndex][measure] = field.value;\n\n            if (type === \"ltl\") {\n              updateLtlClasses();\n            }\n          });\n        }\n\n        if (copyButton) {\n          copyButton.addEventListener(\"click\", function () {\n            var count = countField ? Number(countField.value) : 0;\n\n            if (count < 2) {\n              return;\n            }\n\n            ensureStateLength(type, count);\n            var firstItem = Object.assign({}, itemState[type][0]);\n\n            for (var index = 1; index < count; index += 1) {\n              itemState[type][index] = Object.assign({}, firstItem);\n            }\n\n            renderItems(type);\n          });\n        }\n      });\n\n      function normalizePostal(postalCode) {\n        return postalCode.trim().toUpperCase().replace(\/\\s+\/g, \"\");\n      }\n\n      function detectCountry(postalCode) {\n        if (\/^[A-Z]\\d[A-Z](?:\\d[A-Z]\\d)?$\/.test(postalCode)) {\n          return \"Canada\";\n        }\n\n        if (\/^\\d{5}(?:-\\d{4})?$\/.test(postalCode)) {\n          return \"United States\";\n        }\n\n        return \"\";\n      }\n\n      function setLookupStatus(locationType, text, statusClass) {\n        var status = root.querySelector(\n          '[data-fxo-lookup-status=\"' + locationType + '\"]'\n        );\n\n        if (!status) {\n          return;\n        }\n\n        status.textContent = text;\n        status.classList.remove(\"is-success\", \"is-warning\");\n\n        if (statusClass) {\n          status.classList.add(statusClass);\n        }\n      }\n\n      async function lookupPostalCode(locationType) {\n        var postalField = root.querySelector('[data-fxo-postal=\"' + locationType + '\"]');\n        var countryField = root.querySelector(\n          '[data-fxo-country=\"' + locationType + '\"]'\n        );\n        var cityField = root.querySelector('[data-fxo-city=\"' + locationType + '\"]');\n        var regionField = root.querySelector('[data-fxo-region=\"' + locationType + '\"]');\n\n        if (!postalField || !countryField || !cityField || !regionField) {\n          return;\n        }\n\n        var postalCode = normalizePostal(postalField.value);\n\n        if (!postalCode) {\n          setLookupStatus(locationType, \"\", \"\");\n          return;\n        }\n\n        if (!countryField.value) {\n          countryField.value = detectCountry(postalCode);\n        }\n\n        var countryCode = \"\";\n        var lookupPostal = postalCode;\n\n        if (countryField.value === \"United States\") {\n          countryCode = \"US\";\n\n          if (!\/^\\d{5}(?:-\\d{4})?$\/.test(postalCode)) {\n            setLookupStatus(\n              locationType,\n              \"Enter a valid 5-digit USA ZIP code or complete the location manually.\",\n              \"is-warning\"\n            );\n            return;\n          }\n\n          lookupPostal = postalCode.slice(0, 5);\n        } else if (countryField.value === \"Canada\") {\n          countryCode = \"CA\";\n\n          if (!\/^[A-Z]\\d[A-Z](?:\\d[A-Z]\\d)?$\/.test(postalCode)) {\n            setLookupStatus(\n              locationType,\n              \"Enter a valid Canadian postal code or complete the location manually.\",\n              \"is-warning\"\n            );\n            return;\n          }\n\n          lookupPostal = postalCode.slice(0, 3);\n        } else {\n          setLookupStatus(\n            locationType,\n            \"Automatic lookup is available for USA and Canada. Enter the city and region manually.\",\n            \"is-warning\"\n          );\n          return;\n        }\n\n        setLookupStatus(locationType, \"Looking up the postal code\u2026\", \"\");\n\n        try {\n          var response = await fetch(\n            \"https:\/\/api.zippopotam.us\/\" +\n              countryCode +\n              \"\/\" +\n              encodeURIComponent(lookupPostal)\n          );\n\n          if (!response.ok) {\n            throw new Error(\"Postal code not found\");\n          }\n\n          var data = await response.json();\n          var place = data.places && data.places.length ? data.places[0] : null;\n\n          if (!place) {\n            throw new Error(\"No place returned\");\n          }\n\n          cityField.value = place[\"place name\"] || \"\";\n          regionField.value = place[\"state abbreviation\"] || place.state || \"\";\n          setLookupStatus(\n            locationType,\n            \"Location suggested. Please confirm the city and state or province.\",\n            \"is-success\"\n          );\n        } catch (error) {\n          setLookupStatus(\n            locationType,\n            \"Lookup was unavailable. Enter the city and state or province manually.\",\n            \"is-warning\"\n          );\n        }\n      }\n\n      [\"origin\", \"destination\"].forEach(function (locationType) {\n        var postalField = root.querySelector('[data-fxo-postal=\"' + locationType + '\"]');\n        var countryField = root.querySelector(\n          '[data-fxo-country=\"' + locationType + '\"]'\n        );\n\n        if (postalField) {\n          postalField.addEventListener(\"blur\", function () {\n            lookupPostalCode(locationType);\n          });\n        }\n\n        if (countryField) {\n          countryField.addEventListener(\"change\", function () {\n            if (postalField && postalField.value.trim()) {\n              lookupPostalCode(locationType);\n            }\n\n            var activeMode = root.querySelector(\"[data-fxo-mode]:checked\");\n\n            updateCourierCountryFields(\n              activeMode ? activeMode.getAttribute(\"data-fxo-mode\") : \"\"\n            );\n          });\n        }\n      });\n\n      var selectedMode = root.querySelector(\"[data-fxo-mode]:checked\");\n\n      if (selectedMode) {\n        setMode(selectedMode.getAttribute(\"data-fxo-mode\"));\n      }\n\n    });\n  })();\n<\/script>\n<!-- \/wp:html -->\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-758","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/freightxo.com\/?author=1"},"uagb_comment_info":0,"uagb_excerpt":null,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/pages\/758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freightxo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=758"}],"version-history":[{"count":3,"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/pages\/758\/revisions"}],"predecessor-version":[{"id":775,"href":"https:\/\/freightxo.com\/index.php?rest_route=\/wp\/v2\/pages\/758\/revisions\/775"}],"wp:attachment":[{"href":"https:\/\/freightxo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}