{"id":15090,"date":"2026-08-06T23:15:08","date_gmt":"2026-08-06T23:15:08","guid":{"rendered":"https:\/\/vanbruntlogist.wpenginepowered.com\/?page_id=15090"},"modified":"2026-09-28T11:43:15","modified_gmt":"2026-09-28T11:43:15","slug":"port-hold-cost-estimator","status":"publish","type":"page","link":"https:\/\/www.vanbruntwarehouse.com\/bn\/resources\/3pl-tools\/port-hold-cost-estimator\/","title":{"rendered":"Port Hold Cost Estimator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"15090\" class=\"elementor elementor-15090\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53f161d banner-background e-flex e-con-boxed e-con e-parent\" data-id=\"53f161d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e3ab995 e-con-full e-flex e-con e-child\" data-id=\"e3ab995\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-807ce98 elementor-hidden-mobile elementor-widget elementor-widget-global elementor-global-10798 elementor-widget-breadcrumbs\" data-id=\"807ce98\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"breadcrumbs.default\">\n\t\t\t\t\t<p id=\"breadcrumbs\"><span><span><a href=\"https:\/\/www.vanbruntwarehouse.com\/\">Home<\/a><\/span><\/span><\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed5b912 e-con-full e-flex e-con e-child\" data-id=\"ed5b912\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d16462f elementor-widget elementor-widget-button\" data-id=\"d16462f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">FREE 3PL TOOL<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5096069 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget-tablet__width-inherit elementor-widget elementor-widget-heading\" data-id=\"5096069\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Port Hold Cost Estimator<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-02e2192 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"02e2192\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>A held container keeps charging you long after it lands. Demurrage, detention, exam fees, and tied-up duty add up fast, and Port NY\/NJ carries the highest late fees in the country.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2f46f0d e-flex e-con-boxed e-con e-parent\" data-id=\"2f46f0d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-706b88d e-con-full e-flex e-con e-child\" data-id=\"706b88d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7a3b6e5 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"7a3b6e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">See What Customs Holds Are Costing You, to the Dollar<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc58ce0 cta tags elementor-widget elementor-widget-text-editor\" data-id=\"cc58ce0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tEnter a few details about your freight and get your annual exposure across demurrage, exams, equipment, and tied-up duty, with every rate based on current Port NY\/NJ figures and yours to adjust.\n<div class=\"cta-tags\"><span class=\"cta-tag\">Built for Importers<\/span><span class=\"cta-tag\">Takes Under 2 Minutes<\/span>\n<span class=\"cta-tag\">Figures Current to Mid 2026<\/span><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-83a922a e-con-full e-flex e-con e-child\" data-id=\"83a922a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edb5886 elementor-widget elementor-widget-shortcode\" data-id=\"edb5886\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gform-theme gform-theme--foundation gform-theme--framework gform-theme--orbital' data-form-theme='orbital' data-form-index='0' id='gform_wrapper_18' ><style>#gform_wrapper_18[data-form-index=\"0\"].gform-theme{--gf-color-primary: #204ce5;--gf-color-primary-rgb: 32, 76, 229;--gf-color-primary-contrast: #fff;--gf-color-primary-contrast-rgb: 255, 255, 255;--gf-color-primary-darker: #001AB3;--gf-color-primary-lighter: #527EFF;--gf-color-secondary: #fff;--gf-color-secondary-rgb: 255, 255, 255;--gf-color-secondary-contrast: #112337;--gf-color-secondary-contrast-rgb: 17, 35, 55;--gf-color-secondary-darker: #F5F5F5;--gf-color-secondary-lighter: #FFFFFF;--gf-color-out-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-out-ctrl-light-rgb: 17, 35, 55;--gf-color-out-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-out-ctrl-light-lighter: #F5F5F5;--gf-color-out-ctrl-dark: #585e6a;--gf-color-out-ctrl-dark-rgb: 88, 94, 106;--gf-color-out-ctrl-dark-darker: #112337;--gf-color-out-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-color-in-ctrl: #fff;--gf-color-in-ctrl-rgb: 255, 255, 255;--gf-color-in-ctrl-contrast: #112337;--gf-color-in-ctrl-contrast-rgb: 17, 35, 55;--gf-color-in-ctrl-darker: #F5F5F5;--gf-color-in-ctrl-lighter: #FFFFFF;--gf-color-in-ctrl-primary: #204ce5;--gf-color-in-ctrl-primary-rgb: 32, 76, 229;--gf-color-in-ctrl-primary-contrast: #fff;--gf-color-in-ctrl-primary-contrast-rgb: 255, 255, 255;--gf-color-in-ctrl-primary-darker: #001AB3;--gf-color-in-ctrl-primary-lighter: #527EFF;--gf-color-in-ctrl-light: rgba(17, 35, 55, 0.1);--gf-color-in-ctrl-light-rgb: 17, 35, 55;--gf-color-in-ctrl-light-darker: rgba(104, 110, 119, 0.35);--gf-color-in-ctrl-light-lighter: #F5F5F5;--gf-color-in-ctrl-dark: #585e6a;--gf-color-in-ctrl-dark-rgb: 88, 94, 106;--gf-color-in-ctrl-dark-darker: #112337;--gf-color-in-ctrl-dark-lighter: rgba(17, 35, 55, 0.65);--gf-radius: 3px;--gf-font-size-secondary: 14px;--gf-font-size-tertiary: 13px;--gf-icon-ctrl-number: url(\"data:image\/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='rgba(17, 35, 55, 0.65)'\/%3E%3C\/svg%3E\");--gf-icon-ctrl-select: url(\"data:image\/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='rgba(17, 35, 55, 0.65)'\/%3E%3C\/svg%3E\");--gf-icon-ctrl-search: url(\"data:image\/svg+xml,%3Csvg width='640' height='640' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M256 128c-70.692 0-128 57.308-128 128 0 70.691 57.308 128 128 128 70.691 0 128-57.309 128-128 0-70.692-57.309-128-128-128zM64 256c0-106.039 85.961-192 192-192s192 85.961 192 192c0 41.466-13.146 79.863-35.498 111.248l154.125 154.125c12.496 12.496 12.496 32.758 0 45.254s-32.758 12.496-45.254 0L367.248 412.502C335.862 434.854 297.467 448 256 448c-106.039 0-192-85.962-192-192z' fill='rgba(17, 35, 55, 0.65)'\/%3E%3C\/svg%3E\");--gf-label-space-y-secondary: var(--gf-label-space-y-md-secondary);--gf-ctrl-border-color: #686e77;--gf-ctrl-size: var(--gf-ctrl-size-md);--gf-ctrl-label-color-primary: #112337;--gf-ctrl-label-color-secondary: #112337;--gf-ctrl-choice-size: var(--gf-ctrl-choice-size-md);--gf-ctrl-checkbox-check-size: var(--gf-ctrl-checkbox-check-size-md);--gf-ctrl-radio-check-size: var(--gf-ctrl-radio-check-size-md);--gf-ctrl-btn-font-size: var(--gf-ctrl-btn-font-size-md);--gf-ctrl-btn-padding-x: var(--gf-ctrl-btn-padding-x-md);--gf-ctrl-btn-size: var(--gf-ctrl-btn-size-md);--gf-ctrl-btn-border-color-secondary: #686e77;--gf-ctrl-btn-bg-color-hover-tertiary: #EBEBEB;--gf-field-img-choice-size: var(--gf-field-img-choice-size-md);--gf-field-img-choice-card-space: var(--gf-field-img-choice-card-space-md);--gf-field-img-choice-check-ind-size: var(--gf-field-img-choice-check-ind-size-md);--gf-field-img-choice-check-ind-icon-size: var(--gf-field-img-choice-check-ind-icon-size-md);--gf-field-pg-steps-number-color: rgba(17, 35, 55, 0.8);}<\/style><div id='gf_18' class='gform_anchor' tabindex='-1'><\/div>\n                        <div class='gform_heading'>\n\t\t\t\t\t\t\t<p class='gform_required_legend'>&quot;<span class=\"gfield_required gfield_required_asterisk\">*<\/span>&quot; indicates required fields<\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_18' id='gform_18'  action='\/bn\/wp-json\/wp\/v2\/pages\/15090#gf_18' data-formid='18' novalidate>\n        <div id='gf_progressbar_wrapper_18' class='gf_progressbar_wrapper' data-start-at-zero=''>\n        \t<p class=\"gf_progressbar_title\">Step <span class='gf_step_current_page'>1<\/span> of <span class='gf_step_page_count'>3<\/span><span class='gf_step_page_name'><\/span>\n        \t<\/p>\n            <div class='gf_progressbar gf_progressbar_blue' aria-hidden='true'>\n                <div class='gf_progressbar_percentage percentbar_blue percentbar_33' style='width:33%;'><span>33%<\/span><\/div>\n            <\/div><\/div>\n                        <div class='gform-body gform_body'><div id='gform_page_18_1' class='gform_page ' data-js='page-field-id-0' >\n\t\t\t\t\t<div class='gform_page_fields'><div id='gform_fields_18' class='gform_fields top_label form_sublabel_above description_above validation_above' data-column-layout='fill'><div id=\"field_18_3\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full gfield_contains_required field_sublabel_above gfield--has-description field_description_above field_validation_above gfield_visibility_visible\" data-group-id=\"1e288fc6\" data-field-span=\"12\"><label id='gfield_label_18_3' class='gfield_label gform-field-label' for='input_18_3'><span class='gform-field-label__text'>Containers Imported<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='gfield_description' id='gfield_description_18_3'># Per Month<\/div><div class='ginput_container ginput_container_number'><input name='input_3' id='input_18_3' type='number' step='any'   value='' class='large'     aria-required=\"true\" aria-invalid=\"false\" aria-describedby=\"gfield_description_18_3\" \/><\/div><\/div><div id=\"field_18_4\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full gfield_contains_required field_sublabel_above gfield--has-description field_description_above field_validation_above gfield_visibility_visible\" data-group-id=\"22f143a6\" data-field-span=\"12\" data-currency-format='1'><label id='gfield_label_18_4' class='gfield_label gform-field-label' for='input_18_4'><span class='gform-field-label__text'>Customs Value<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='gfield_description' id='gfield_description_18_4'>Average Value per Container in USD<\/div><div class='ginput_container ginput_container_number'><input name='input_4' id='input_18_4' type='text' step='any'   value='' class='large'     aria-required=\"true\" aria-invalid=\"false\" aria-describedby=\"gfield_description_18_4\" \/><\/div><\/div><fieldset id=\"field_18_5\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full port-options gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_visible gfield--choice-align-vertical\" data-group-id=\"3c8aed26\" data-field-span=\"12\"><legend id='gfield_label_18_5' class='gfield_label gform-field-label' ><span class='gform-field-label__text'>Container Type<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_18_5'>\n\t\t\t<div class='gchoice gchoice_18_5_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_5' type='radio' value='dry' checked='checked' id='choice_18_5_0' onchange='gformToggleRadioOther( this )'  aria-labelledby=\"label_18_5_0 gfield_label_18_5\"   \/>\n\t\t\t\t\t<label for='choice_18_5_0' id='label_18_5_0' class='gform-field-label gform-field-label--type-inline'>Dry<\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_5_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_5' type='radio' value='reefer'  id='choice_18_5_1' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_5_1' id='label_18_5_1' class='gform-field-label gform-field-label--type-inline'>Refrigerated<\/label>\n\t\t\t<\/div><\/div><\/div><\/fieldset><\/div>\n                    <\/div>\n                    <div class='gform-page-footer gform_page_footer top_label'>\n                         <button type='button' id='gform_next_button_18_23' class='gform_next_button gform-theme-button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='next' >Next<\/button> \n                    <\/div>\n                <\/div>\n                <div id='gform_page_18_2' class='gform_page' data-js='page-field-id-23' style='display:none;'>\n                    <div class='gform_page_fields'>\n                        <div id='gform_fields_18_2' class='gform_fields top_label form_sublabel_above description_above validation_above' data-column-layout='fill'><fieldset id=\"field_18_6\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full port-options gfield_contains_required field_sublabel_above gfield--has-description field_description_above field_validation_above gfield_visibility_visible gfield--choice-align-vertical\" data-group-id=\"2382f645\" data-field-span=\"12\"><legend id='gfield_label_18_6' class='gfield_label gform-field-label' ><span class='gform-field-label__text'>What % of Containers Get Held Up?<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='gfield_description' id='gfield_description_18_6'>Hold, Exam, or Delay<\/div><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_18_6'>\n\t\t\t<div class='gchoice gchoice_18_6_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_6' type='radio' value='.05'  id='choice_18_6_0' onchange='gformToggleRadioOther( this )'  aria-labelledby=\"label_18_6_0 gfield_label_18_6\"   \/>\n\t\t\t\t\t<label for='choice_18_6_0' id='label_18_6_0' class='gform-field-label gform-field-label--type-inline'><strong>Low<\/strong><span>~5%<\/span><\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_6_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_6' type='radio' value='.15' checked='checked' id='choice_18_6_1' onchange='gformToggleRadioOther( this )' aria-describedby=\"gfield_description_18_6\"    \/>\n\t\t\t\t\t<label for='choice_18_6_1' id='label_18_6_1' class='gform-field-label gform-field-label--type-inline'><strong>Moderate<\/strong><span>~15%<\/span><\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_6_2'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_6' type='radio' value='.25'  id='choice_18_6_2' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_6_2' id='label_18_6_2' class='gform-field-label gform-field-label--type-inline'><strong>High<\/strong><span>~25%<\/span><\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_6_3'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_6' type='radio' value='.40'  id='choice_18_6_3' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_6_3' id='label_18_6_3' class='gform-field-label gform-field-label--type-inline'><strong>Severe<\/strong><span>~40%<\/span><\/label>\n\t\t\t<\/div><\/div><\/div><\/fieldset><div id=\"field_18_7\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full gfield_contains_required field_sublabel_above gfield--has-description field_description_above field_validation_above gfield_visibility_visible\" data-group-id=\"271bcdff\" data-field-span=\"12\"><label id='gfield_label_18_7' class='gfield_label gform-field-label' for='input_18_7'><span class='gform-field-label__text'>Average Length of Delay<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='gfield_description' id='gfield_description_18_7'>How Many Days Past Free Time Once Delayed<\/div><div class='ginput_container ginput_container_number'><input name='input_7' id='input_18_7' type='number' step='any'   value='' class='large'     aria-required=\"true\" aria-invalid=\"false\" aria-describedby=\"gfield_description_18_7\" \/><\/div><\/div><fieldset id=\"field_18_8\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full port-options gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_visible gfield--choice-align-vertical\" data-group-id=\"4e552664\" data-field-span=\"12\"><legend id='gfield_label_18_8' class='gfield_label gform-field-label' ><span class='gform-field-label__text'>Average Duty Rate<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_18_8'>\n\t\t\t<div class='gchoice gchoice_18_8_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_8' type='radio' value='.025'  id='choice_18_8_0' onchange='gformToggleRadioOther( this )'  aria-labelledby=\"label_18_8_0 gfield_label_18_8\"   \/>\n\t\t\t\t\t<label for='choice_18_8_0' id='label_18_8_0' class='gform-field-label gform-field-label--type-inline'><strong>Low<\/strong><span>~2.5%<\/span><\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_8_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_8' type='radio' value='.045' checked='checked' id='choice_18_8_1' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_8_1' id='label_18_8_1' class='gform-field-label gform-field-label--type-inline'><strong>Typical<\/strong><span>~4.5%<\/span><\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_8_2'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_8' type='radio' value='.075'  id='choice_18_8_2' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_8_2' id='label_18_8_2' class='gform-field-label gform-field-label--type-inline'><strong>High<\/strong><span>~7.5%<\/span><\/label>\n\t\t\t<\/div><\/div><\/div><\/fieldset><fieldset id=\"field_18_9\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full port-options gfield_contains_required field_sublabel_above gfield--has-description field_description_above field_validation_above gfield_visibility_visible gfield--choice-align-vertical\" data-group-id=\"701d72cb\" data-field-span=\"12\"><legend id='gfield_label_18_9' class='gfield_label gform-field-label' ><span class='gform-field-label__text'>Are You Currently Using Bonded Storage?<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='gfield_description' id='gfield_description_18_9'>Bonded or Off-Dock<\/div><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_18_9'>\n\t\t\t<div class='gchoice gchoice_18_9_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_9' type='radio' value='no'  id='choice_18_9_0' onchange='gformToggleRadioOther( this )' aria-describedby=\"gfield_description_18_9\" aria-labelledby=\"label_18_9_0 gfield_label_18_9\"   \/>\n\t\t\t\t\t<label for='choice_18_9_0' id='label_18_9_0' class='gform-field-label gform-field-label--type-inline'>No<\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_18_9_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_9' type='radio' value='yes'  id='choice_18_9_1' onchange='gformToggleRadioOther( this )'     \/>\n\t\t\t\t\t<label for='choice_18_9_1' id='label_18_9_1' class='gform-field-label gform-field-label--type-inline'>Yes<\/label>\n\t\t\t<\/div><\/div><\/div><\/fieldset><\/div>\n                    <\/div>\n                    <div class='gform-page-footer gform_page_footer top_label'>\n                        <button type='button' id='gform_previous_button_18_10' class='gform_previous_button gform-theme-button gform-theme-button--secondary button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='previous' >Previous<\/button> <button type='button' id='gform_next_button_18_10' class='gform_next_button gform-theme-button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='next' >Next<\/button> \n                    <\/div>\n                <\/div>\n                <div id='gform_page_18_3' class='gform_page' data-js='page-field-id-10' style='display:none;'>\n                    <div class='gform_page_fields'>\n                        <div id='gform_fields_18_3' class='gform_fields top_label form_sublabel_above description_above validation_above' data-column-layout='fill'><div id=\"field_18_11\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_visible\" data-group-id=\"7bbe9c97\" data-field-span=\"12\"><div id=\"port-hold-results\">\n    <p>Your estimated results will appear here.<\/p>\n<\/div><\/div><div id=\"field_18_12\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"c5e0674e\" data-field-span=\"12\"><label id='gfield_label_18_12' class='gfield_label gform-field-label' for='input_18_12'><span class='gform-field-label__text'>Demurrage<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_12' id='input_18_12' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_13\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"971f654f\" data-field-span=\"12\"><label id='gfield_label_18_13' class='gfield_label gform-field-label' for='input_18_13'><span class='gform-field-label__text'>Detention \/ Per-Diem<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_13' id='input_18_13' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_14\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"b7368438\" data-field-span=\"12\"><label id='gfield_label_18_14' class='gfield_label gform-field-label' for='input_18_14'><span class='gform-field-label__text'>Equipment<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_14' id='input_18_14' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_15\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"ad41bc97\" data-field-span=\"12\"><label id='gfield_label_18_15' class='gfield_label gform-field-label' for='input_18_15'><span class='gform-field-label__text'>Customs Exam Exposure<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_15' id='input_18_15' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_16\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"fd51dcaf\" data-field-span=\"12\"><label id='gfield_label_18_16' class='gfield_label gform-field-label' for='input_18_16'><span class='gform-field-label__text'>ISF Penalty Risk<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_16' id='input_18_16' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_17\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"5bc8bce9\" data-field-span=\"12\"><label id='gfield_label_18_17' class='gfield_label gform-field-label' for='input_18_17'><span class='gform-field-label__text'>Wasted Drayage Trips<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_17' id='input_18_17' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_18\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"f19d28de\" data-field-span=\"12\"><label id='gfield_label_18_18' class='gfield_label gform-field-label' for='input_18_18'><span class='gform-field-label__text'>Duty Cash-Flow Drag<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_18' id='input_18_18' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_19\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"d9c7f2c7\" data-field-span=\"12\"><label id='gfield_label_18_19' class='gfield_label gform-field-label' for='input_18_19'><span class='gform-field-label__text'>Total Annual Exposure<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_19' id='input_18_19' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_20\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"7d1a7558\" data-field-span=\"12\"><label id='gfield_label_18_20' class='gfield_label gform-field-label' for='input_18_20'><span class='gform-field-label__text'>Avoidable Low Estimate<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_20' id='input_18_20' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_21\" class=\"gfield gfield--type-number gfield--input-type-number gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_hidden\" data-group-id=\"b887faef\" data-field-span=\"12\"><label id='gfield_label_18_21' class='gfield_label gform-field-label' for='input_18_21'><span class='gform-field-label__text'>Avoidable High Estimate<\/span><\/label><div class='ginput_container ginput_container_number'><input name='input_21' id='input_18_21' type='number' step='any'   value='' class='large'      aria-invalid=\"false\"  \/><\/div><\/div><div id=\"field_18_29\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full port-capture-intro gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_above gfield--no-description field_description_above field_validation_above gfield_visibility_visible\" data-group-id=\"9a595b64\" data-field-span=\"12\"><div class=\"cert-capture-intro\">\n    <strong>Get Your Results<\/strong>\n    <span>Enter your information below to receive a copy of your Port Hold Cost Estimate.<\/span>\n<\/div><\/div><fieldset id=\"field_18_25\" class=\"gfield gfield--type-name gfield--input-type-name gfield--width-full gfield_contains_required field_sublabel_hidden_label gfield--no-description field_description_above hidden_label field_validation_above gfield_visibility_visible\" data-group-id=\"3e0aec81\" data-field-span=\"12\"><legend id='gfield_label_18_25' class='gfield_label gform-field-label gfield_label_before_complex' ><span class='gform-field-label__text'>Name<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gform-grid-row' id='input_18_25'>\n                            \n                            <span id='input_18_25_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >\n                                                    <input type='text' name='input_25.3' id='input_18_25_3' value=''   aria-required='true'   placeholder='First Name*'  aria-labelledby=\"input_18_25_3_label gfield_label_18_25\"\/>\n                                                    <label for='input_18_25_3' id='input_18_25_3_label' class='gform-field-label gform-field-label--type-sub hidden_sub_label screen-reader-text'>First<\/label>\n                                                <\/span>\n                            \n                            <span id='input_18_25_6_container' class='name_last gform-grid-col gform-grid-col--size-auto' >\n                                                    <input type='text' name='input_25.6' id='input_18_25_6' value=''   aria-required='true'   placeholder='Last Name*'  \/>\n                                                    <label for='input_18_25_6' id='input_18_25_6_label' class='gform-field-label gform-field-label--type-sub hidden_sub_label screen-reader-text'>Last<\/label>\n                                                <\/span>\n                            \n                        <\/div><\/fieldset><div id=\"field_18_26\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_above gfield--no-description field_description_above hidden_label field_validation_above gfield_visibility_visible\" data-group-id=\"c1f7e529\" data-field-span=\"12\"><label id='gfield_label_18_26' class='gfield_label gform-field-label' for='input_18_26'><span class='gform-field-label__text'>Company<\/span><span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_26' id='input_18_26' type='text' value='' class='large'    placeholder='Company*' aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_18_28\" class=\"gfield gfield--type-email gfield--input-type-email gfield--width-full field_sublabel_above gfield--no-description field_description_above hidden_label field_validation_above gfield_visibility_visible\" data-group-id=\"fae6e0fd\" data-field-span=\"12\"><label id='gfield_label_18_28' class='gfield_label gform-field-label' for='input_18_28'><span class='gform-field-label__text'>Email<\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_28' id='input_18_28' type='email' value='' class='large'   placeholder='Email*'  aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_18_27\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--phone-format-standard gfield--width-full field_sublabel_above gfield--no-description field_description_above hidden_label field_validation_above gfield_visibility_visible\" data-group-id=\"c0dc3052\" data-field-span=\"12\"><label id='gfield_label_18_27' class='gfield_label gform-field-label' for='input_18_27'><span class='gform-field-label__text'>Phone<\/span><\/label><div class='ginput_container ginput_container_phone'><input name='input_27' id='input_18_27' type='tel' value='' class='large'  placeholder='Phone'  aria-invalid=\"false\"   data-mask=\"(999) 999-9999\" \/><\/div><\/div><\/div><\/div>\n        <div class='gform-page-footer gform_page_footer top_label'><button type='submit' id='gform_previous_button_18' class='gform_previous_button gform-theme-button gform-theme-button--secondary button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='previous' >Previous<\/button> <button type='submit' id='gform_submit_button_18' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Submit<\/button> <input type='hidden' name='gform_ajax' value='form_id=18&amp;title=&amp;description=&amp;tabindex=0&amp;theme=orbital&amp;styles=[]&amp;hash=d02535b00ce3108cd61624915c46cc1f' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_18' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_18' id='gform_theme_18' value='orbital' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_18' id='gform_style_settings_18' value='[]' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_18' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='18' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='KPLotA\/1dTV2MTdJKMq3JTSMLuYFIevAnKe5KZwlL06BcN3fZi2q\/6SmKwaoFY56X2EuwRbt6vQ2FhTvpPWajE2FTPJPqIBebckNSFPzpWkqnH8=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_18' value='WyJ7XCI1XCI6W1wiM2JiNDczZDhkMmYwZTNlMjI2NjAxZDIwNDJkOGViN2VcIixcIjRlNWQ5OWM2ZTc3ZGU4NTVmZjFlOWI0OTQ4ZTMzYWFlXCJdLFwiNlwiOltcIjg0MGQzOGRiMDk5YmRmNWE2OTk3Y2QzYWZlYTg5MzE1XCIsXCIxOGI0ZjliOTVkNDIxNzBlZDYzNWQ3MjU2Y2Y5OWE0ZlwiLFwiMjFjMTM3YmFhZjhjOTkyNzVlNGVjOThiN2U1OGEzMjNcIixcIjA2MjYxZGFkMTkzNmY3MjYzMWVlM2ExMTE0MTZmNzcwXCJdLFwiOFwiOltcIjU3ZjQ5OTc3MGY4Njc5Nzk5ZjgwZDY4ODExODUwMDMyXCIsXCJkMWEzNWFlYTc4YjY1ZTU5YWM2ZjU4MDNjYWFhZTFiZlwiLFwiNWZlM2Y3Zjk5NmY0ZjVmZTZhYjEyNGNmNmY1NGJjNmVcIl0sXCI5XCI6W1wiNGE1ODJmMDM2NjI5NjMxN2Y0NGExOTc0M2RjZWE3ZWRcIixcImM4OGRkOTQ3MTNiOGJlMzI0ZGNjNmUzZDNmZmY1MjVhXCJdLFwiZ2Zvcm1fc3VibWlzc2lvbl9tZXRob2RcIjpbXCJmMmFjZjdmMTQzMzA5YzFiZDRiZmFhYmU1ZmY1MTkxNFwiLFwiZDg3NDUzMDFiZTJkNWU4MjUxYzBjYjgxZDNiYTE0YmRcIixcIjIxOThiOGNlMzdmYWM2MTBhYzA4Mzc1NjQwNmM0MmZhXCJdLFwiZ2Zvcm1fdGhlbWVcIjpcImQzNDRlZDYwZDM3OTM4ZGM1NjA5NzA0ZTgyNWU2NTBmXCIsXCJnZm9ybV9zdHlsZV9zZXR0aW5nc1wiOlwiZjIwOTJhMDBhNjA3ZWY1NmVmYjkxYmRlMGEyOGUxZTRcIixcImZvcm1faWRcIjpcIjY2ZTYwM2VlOTRmMzI3NzgwNjk0ODA5ODYxY2MwMDBmXCIsXCJ1cmxcIjpcIjBmZTkwN2QyYTM4MjY1MjI0ZWU4MjJiZDVkYzI5MzFjXCIsXCJzdGF0ZV90aW1lc3RhbXBcIjpcIjI2YTM1MjVkNzVlOGEzZWQzNDUyZTc0MTllNWJhYjhjXCJ9IiwiOGY3NDU2ZWMzNzFkNTZlMGRlYjdmYzQ0ZWQ0ZmVhZWIiLDE3OTM4MjIzODNd' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_18' id='gform_target_page_number_18' value='2' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_18' id='gform_source_page_number_18' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n             <\/div><\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_18' id='gform_ajax_frame_18' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script>\ngform.initializeOnLoaded( function() {jQuery('#gform_ajax_frame_18').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_18');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_18').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_18').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_18').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_18').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/ jQuery(document).scrollTop(jQuery('#gform_wrapper_18').offset().top - mt); }, 50 );var current_page = jQuery('#gform_source_page_number_18').val();jQuery(document).trigger('gform_page_loaded', [18, current_page]);window['gf_submitting_18'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_18').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_18').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [18]);if(window.gform && gform.pagination && gform.pagination.removePageQueryArg){gform.pagination.removePageQueryArg(18);}window['gf_submitting_18'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_18').text());}else{jQuery('#gform_18').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"18\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_18\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_18\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_18\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 18, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f93872 elementor-widget elementor-widget-html\" data-id=\"9f93872\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\n\/* Hide Form 18 required field legend *\/\n\n#gform_wrapper_18 .gform_required_legend,\n#gform_wrapper_18 .gform_heading .gform_required_legend,\n#gform_wrapper_18 p.gform_required_legend {\n    display: none !important;\n}\n\n\n\/* =========================================================\n   VAN BRUNT \u2014 PORT HOLD COST ESTIMATOR\n   GRAVITY FORM 18\n   ========================================================= *\/\n\n\n\/* =========================================================\n   BASE FORM\n   ========================================================= *\/\n\n#gform_18 {\n    font-family: \"Manrope\", sans-serif !important;\n}\n\n#gform_18 .gfield_label {\n    margin: 0 0 8px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 16px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    color: #16181C !important;\n}\n\n#gform_18 .gform_fields {\n    row-gap: 26px !important;\n}\n\n#gform_18 .gfield_description {\n    margin-top: 2px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 13px !important;\n    line-height: 1.5 !important;\n    font-weight: 400 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* =========================================================\n   STANDARD NUMBER INPUTS\n   Fields 3, 4 and 7\n   ========================================================= *\/\n\n#gform_18 #field_18_3 input,\n#gform_18 #field_18_4 input,\n#gform_18 #field_18_7 input {\n    display: block !important;\n\n    width: 100% !important;\n    max-width: 100% !important;\n\n    height: 52px !important;\n    min-height: 52px !important;\n\n    margin: 0 !important;\n    padding: 10px 14px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 16px !important;\n    line-height: 1.4 !important;\n    font-weight: 400 !important;\n\n    color: #16181C !important;\n    background: #FFFFFF !important;\n\n    border: 1px solid #C9CDD2 !important;\n    border-radius: 2px !important;\n\n    box-shadow: none !important;\n}\n\n#gform_18 #field_18_3 input:focus,\n#gform_18 #field_18_4 input:focus,\n#gform_18 #field_18_7 input:focus {\n    outline: none !important;\n\n    border-color: #D82C42 !important;\n\n    box-shadow: 0 0 0 1px #D82C42 !important;\n}\n\n\n\/* =========================================================\n   RADIO CARD GRID\n   ========================================================= *\/\n\n#gform_18 .port-options .gfield_radio {\n    display: grid !important;\n\n    grid-template-columns:\n        repeat(4, minmax(0, 1fr)) !important;\n\n    gap: 12px !important;\n\n    width: 100% !important;\n\n    margin: 0 !important;\n    padding: 0 !important;\n}\n\n#gform_18 .port-options .gchoice {\n    position: relative !important;\n\n    display: flex !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n\n    margin: 0 !important;\n    padding: 0 !important;\n}\n\n\n\/* Hide native radio *\/\n\n#gform_18 .port-options .gchoice input[type=\"radio\"] {\n    position: absolute !important;\n\n    width: 1px !important;\n    height: 1px !important;\n\n    opacity: 0 !important;\n\n    pointer-events: none !important;\n}\n\n\n\/* =========================================================\n   RADIO CARDS\n   ========================================================= *\/\n\n#gform_18 .port-options .gchoice label {\n    position: relative !important;\n\n    display: flex !important;\n    flex-direction: column !important;\n\n    align-items: flex-start !important;\n    justify-content: center !important;\n\n    width: 100% !important;\n    min-width: 0 !important;\n    min-height: 58px !important;\n\n    margin: 0 !important;\n\n    padding:\n        8px\n        12px\n        8px\n        44px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.35 !important;\n    font-weight: 500 !important;\n\n    color: #202020 !important;\n    background: #FFFFFF !important;\n\n    border: 1px solid #D8DBE0 !important;\n    border-radius: 2px !important;\n\n    cursor: pointer !important;\n\n    transition:\n        border-color .2s ease,\n        background-color .2s ease,\n        color .2s ease !important;\n}\n\n\n\/* Primary option text *\/\n\n#gform_18 .port-options .gchoice label strong {\n    display: block !important;\n\n    margin: 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    color: #202020 !important;\n}\n\n\n\/* Secondary option text *\/\n\n#gform_18 .port-options .gchoice label span {\n    display: block !important;\n\n    margin: 2px 0 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 12px !important;\n    line-height: 1.3 !important;\n    font-weight: 400 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* Custom radio circle *\/\n\n#gform_18 .port-options .gchoice label::before {\n    content: \"\" !important;\n\n    position: absolute !important;\n\n    left: 13px !important;\n    top: 50% !important;\n\n    transform: translateY(-50%) !important;\n\n    width: 18px !important;\n    height: 18px !important;\n\n    box-sizing: border-box !important;\n\n    background: #FFFFFF !important;\n\n    border: 1.5px solid #C9CDD2 !important;\n    border-radius: 50% !important;\n}\n\n\n\/* Hover *\/\n\n#gform_18 .port-options .gchoice label:hover {\n    border-color: #D82C42 !important;\n\n    background:\n        rgba(216, 44, 66, 0.05) !important;\n}\n\n\n\/* Selected card *\/\n\n#gform_18\n.port-options\n.gchoice\ninput[type=\"radio\"]:checked + label {\n    border-color: #D82C42 !important;\n\n    background:\n        rgba(216, 44, 66, 0.08) !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Selected radio *\/\n\n#gform_18\n.port-options\n.gchoice\ninput[type=\"radio\"]:checked + label::before {\n    border-color: #D82C42 !important;\n\n    background: #D82C42 !important;\n\n    box-shadow:\n        inset 0 0 0 4px #FFFFFF !important;\n}\n\n\n\/* Keyboard focus *\/\n\n#gform_18\n.port-options\n.gchoice\ninput[type=\"radio\"]:focus-visible + label {\n    outline: 2px solid #D82C42 !important;\n    outline-offset: 2px !important;\n}\n\n\n\/* =========================================================\n   RADIO COLUMN COUNTS\n   ========================================================= *\/\n\n\/* Container Type + Bonded Storage \u2014 2 columns *\/\n\n#gform_18 #field_18_5 .gfield_radio,\n#gform_18 #field_18_9 .gfield_radio {\n    grid-template-columns:\n        repeat(2, minmax(0, 1fr)) !important;\n}\n\n\n\/* Hold \/ Exam \/ Delay \u2014 4 columns *\/\n\n#gform_18 #field_18_6 .gfield_radio {\n    grid-template-columns:\n        repeat(4, minmax(0, 1fr)) !important;\n}\n\n\n\/* Average Duty Rate \u2014 3 columns *\/\n\n#gform_18 #field_18_8 .gfield_radio {\n    grid-template-columns:\n        repeat(3, minmax(0, 1fr)) !important;\n}\n\n\n\/* =========================================================\n   FORM BUTTONS\n   ========================================================= *\/\n\n#gform_18 .gform_button,\n#gform_18 .gform_next_button,\n#gform_18 .gform_previous_button {\n    background: #D82C42 !important;\n    color: #FFFFFF !important;\n\n    border: 1px solid #D82C42 !important;\n    border-radius: 2px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    padding: 12px 24px !important;\n\n    box-shadow: none !important;\n\n    cursor: pointer !important;\n\n    transition:\n        background-color .2s ease,\n        border-color .2s ease,\n        color .2s ease !important;\n}\n\n\n\/* Button hover *\/\n\n#gform_18 .gform_button:hover,\n#gform_18 .gform_next_button:hover,\n#gform_18 .gform_previous_button:hover {\n    background: #16181C !important;\n    border-color: #16181C !important;\n    color: #FFFFFF !important;\n}\n\n\n\/* Button focus *\/\n\n#gform_18 .gform_button:focus,\n#gform_18 .gform_next_button:focus,\n#gform_18 .gform_previous_button:focus {\n    outline: 2px solid #D82C42 !important;\n    outline-offset: 2px !important;\n}\n\n\n\/* =========================================================\n   LABEL \/ DESCRIPTION SPACING\n   ========================================================= *\/\n\n\/* Fields WITHOUT a description *\/\n\n#gform_18\n.gfield:not(:has(.gfield_description))\n.gfield_label {\n    margin-bottom: 12px !important;\n}\n\n\n\/* Fields WITH a description *\/\n\n#gform_18\n.gfield:has(.gfield_description)\n.gfield_label {\n    margin-bottom: 2px !important;\n}\n\n\n\/* Description directly below label *\/\n\n#gform_18\n.gfield_description:not(.validation_message) {\n    margin: 0 0 8px 0 !important;\n\n    padding: 0 !important;\n\n    transform: none !important;\n}\n\n\n\/* Reduce Gravity Forms internal vertical gap *\/\n\n#gform_18 .gfield {\n    --gf-local-gap-y: 4px !important;\n}\n\n\n\/* =========================================================\n   RESULTS \u2014 GENERAL\n   ========================================================= *\/\n\n#port-hold-results {\n    width: 100%;\n\n    font-family: \"Manrope\", sans-serif !important;\n\n    color: #16181C !important;\n}\n\n\n\/* =========================================================\n   PRIMARY EXPOSURE RESULT\n   ========================================================= *\/\n\n\/* Your Annual Port-Delay Exposure *\/\n\n#port-hold-results .ph-eyebrow {\n    margin: 0 0 16px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 22px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Main exposure amount *\/\n\n#port-hold-results .ph-total-number {\n    display: block !important;\n\n    margin: 0 0 10px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 64px !important;\n    line-height: 1 !important;\n    font-weight: 700 !important;\n\n    color: #D82C42 !important;\n}\n\n\n\/* Supporting sentence *\/\n\n#port-hold-results .ph-total-description {\n    margin: 0 0 26px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 17px !important;\n    line-height: 1.5 !important;\n    font-weight: 400 !important;\n\n    color: #16181C !important;\n}\n\n#port-hold-results .ph-total-description strong {\n    font-weight: 700 !important;\n}\n\n\/* =========================================================\n   COST BREAKDOWN LIST\n   ========================================================= *\/\n\n#port-hold-results .ph-result-list {\n    overflow: hidden !important;\n\n    background: #FFFFFF !important;\n\n    border: 1px solid #E3E5E9 !important;\n    border-radius: 10px !important;\n}\n\n\n\/* Individual cost row *\/\n\n#port-hold-results .ph-result-row {\n    display: grid !important;\n\n    grid-template-columns:\n        minmax(0, 1fr) auto !important;\n\n    gap: 30px !important;\n\n    align-items: center !important;\n\n    padding: 16px 20px !important;\n\n    background: #FFFFFF !important;\n\n    border-bottom:\n        1px solid #E3E5E9 !important;\n}\n\n\n\/* Left side *\/\n\n#port-hold-results .ph-result-row > div {\n    min-width: 0 !important;\n}\n\n\n\/* Cost title *\/\n\n#port-hold-results\n.ph-result-row > div > strong {\n    display: block !important;\n\n    margin: 0 0 4px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Risk Weighted *\/\n\n#port-hold-results\n.ph-result-row > div > strong em {\n    margin-left: 4px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 12px !important;\n    line-height: 1.3 !important;\n    font-weight: 500 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* Cost description *\/\n\n#port-hold-results\n.ph-result-row > div > span {\n    display: block !important;\n\n    margin: 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 13px !important;\n    line-height: 1.45 !important;\n    font-weight: 400 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* Cost amount *\/\n\n#port-hold-results .ph-result-row > b {\n    text-align: right !important;\n    white-space: nowrap !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Last row border *\/\n\n#port-hold-results\n.ph-result-row:last-child {\n    border-bottom: 0 !important;\n}\n\n\n\/* =========================================================\n   TOTAL ANNUAL EXPOSURE ROW\n   ========================================================= *\/\n\n#port-hold-results .ph-grand-total {\n    background: #F3F4F5 !important;\n\n    padding-top: 18px !important;\n    padding-bottom: 18px !important;\n}\n\n\n\/* Total title *\/\n\n#port-hold-results\n.ph-grand-total > div > strong {\n    margin: 0 !important;\n\n    font-size: 16px !important;\n    font-weight: 700 !important;\n}\n\n\n\/* Total amount *\/\n\n#port-hold-results\n.ph-grand-total > b {\n    font-size: 17px !important;\n    font-weight: 700 !important;\n\n    color: #D82C42 !important;\n}\n\n\n\/* =========================================================\n   BONDED \/ OFF-DOCK SAVINGS CARD\n   ========================================================= *\/\n\n#port-hold-results .ph-avoidable {\n    margin: 26px 0 0 0 !important;\n\n    padding: 22px 24px !important;\n\n    box-sizing: border-box !important;\n\n    background: #F2F8F4 !important;\n\n    border: 1px solid #C8E0D0 !important;\n    border-radius: 10px !important;\n}\n\n\n\/* Savings heading *\/\n\n#port-hold-results .ph-avoidable h3 {\n    margin: 0 0 10px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 22px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Savings amount *\/\n\n#port-hold-results .ph-avoidable-number {\n    display: block !important;\n\n    margin: 0 0 8px 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 34px !important;\n    line-height: 1.15 !important;\n    font-weight: 600 !important;\n\n    color: #27824A !important;\n}\n\n\n\/* Savings description *\/\n\n#port-hold-results .ph-avoidable p {\n    margin: 0 !important;\n\n    max-width: 850px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 14px !important;\n    line-height: 1.55 !important;\n    font-weight: 400 !important;\n\n    color: #4F555D !important;\n}\n\n\n\/* =========================================================\n   ADJUST RATES PANEL\n   ========================================================= *\/\n\n#port-hold-results .ph-assumptions {\n    margin: 20px 0 0 0 !important;\n\n    background: #F5F6F7 !important;\n\n    border: 1px solid #DEE1E5 !important;\n    border-radius: 8px !important;\n\n    overflow: hidden !important;\n}\n\n\n\/* Summary *\/\n\n#port-hold-results\n.ph-assumptions > summary {\n    padding: 14px 18px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 14px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    color: #16181C !important;\n\n    cursor: pointer !important;\n}\n\n\n\/* Description when open *\/\n\n#port-hold-results\n.ph-assumptions[open] > p {\n    margin: 0 !important;\n\n    padding: 0 18px 14px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 13px !important;\n    line-height: 1.5 !important;\n    font-weight: 400 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* Assumption grid *\/\n\n#port-hold-results .ph-assumption-grid {\n    display: grid !important;\n\n    grid-template-columns:\n        repeat(2, minmax(0, 1fr)) !important;\n\n    gap: 14px !important;\n\n    padding: 0 18px 18px !important;\n}\n\n\n\/* Individual assumption *\/\n\n#port-hold-results .ph-assumption {\n    display: flex !important;\n\n    flex-direction: column !important;\n\n    gap: 6px !important;\n}\n\n\n\/* Assumption label *\/\n\n#port-hold-results .ph-assumption span {\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 13px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Assumption input *\/\n\n#port-hold-results .ph-assumption input {\n    width: 100% !important;\n\n    height: 44px !important;\n\n    padding: 8px 12px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 14px !important;\n\n    color: #16181C !important;\n    background: #FFFFFF !important;\n\n    border: 1px solid #C9CDD2 !important;\n    border-radius: 2px !important;\n\n    box-shadow: none !important;\n}\n\n#port-hold-results .ph-assumption input:focus {\n    outline: none !important;\n\n    border-color: #D82C42 !important;\n\n    box-shadow:\n        0 0 0 1px #D82C42 !important;\n}\n\n\n\/* Reset Rates button *\/\n\n#port-hold-results .ph-reset {\n    margin: 0 18px 18px !important;\n\n    padding: 10px 18px !important;\n\n    background: #D82C42 !important;\n\n    color: #FFFFFF !important;\n\n    border: 1px solid #D82C42 !important;\n    border-radius: 2px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 13px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    box-shadow: none !important;\n\n    cursor: pointer !important;\n}\n\n#port-hold-results .ph-reset:hover {\n    background: #16181C !important;\n\n    border-color: #16181C !important;\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media (max-width: 1024px) {\n\n    #gform_18 #field_18_6 .gfield_radio {\n        grid-template-columns:\n            repeat(2, minmax(0, 1fr)) !important;\n    }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 767px) {\n\n    \/* Form labels *\/\n\n    #gform_18 .gfield_label {\n        font-size: 16px !important;\n\n        margin-bottom: 10px !important;\n    }\n\n\n    #gform_18 .gform_fields {\n        row-gap: 22px !important;\n    }\n\n\n    \/* Stack all radio cards *\/\n\n    #gform_18 .port-options .gfield_radio,\n    #gform_18 #field_18_5 .gfield_radio,\n    #gform_18 #field_18_6 .gfield_radio,\n    #gform_18 #field_18_8 .gfield_radio,\n    #gform_18 #field_18_9 .gfield_radio {\n        grid-template-columns:\n            1fr !important;\n\n        gap: 10px !important;\n    }\n\n\n    \/* Results heading *\/\n\n    #port-hold-results .ph-eyebrow {\n        font-size: 20px !important;\n\n        margin-bottom: 14px !important;\n    }\n\n\n    \/* Main exposure *\/\n\n    #port-hold-results .ph-total-number {\n        font-size: 42px !important;\n\n        margin-bottom: 18px !important;\n    }\n\n\n    \/* Supporting sentence *\/\n\n    #port-hold-results .ph-total-description {\n        font-size: 16px !important;\n    }\n\n\n    \/* Where cost comes from *\/\n\n    #port-hold-results .ph-section-title {\n        font-size: 16px !important;\n\n        gap: 12px !important;\n\n        margin-top: 22px !important;\n    }\n\n\n    \/* Result rows *\/\n\n    #port-hold-results .ph-result-row {\n        grid-template-columns:\n            1fr !important;\n\n        gap: 8px !important;\n\n        padding: 15px 16px !important;\n    }\n\n\n    \/* Dollar amount below description *\/\n\n    #port-hold-results\n    .ph-result-row > b {\n        text-align: left !important;\n    }\n\n\n    \/* Total row *\/\n\n    #port-hold-results .ph-grand-total {\n        padding-top: 16px !important;\n        padding-bottom: 16px !important;\n    }\n\n\n    \/* Savings card *\/\n\n    #port-hold-results .ph-avoidable {\n        margin-top: 20px !important;\n\n        padding: 18px !important;\n    }\n\n\n    #port-hold-results .ph-avoidable h3 {\n        font-size: 19px !important;\n    }\n\n\n    #port-hold-results .ph-avoidable-number {\n        font-size: 28px !important;\n    }\n\n\n    #port-hold-results .ph-avoidable p {\n        font-size: 13px !important;\n    }\n\n\n    \/* Assumptions *\/\n\n    #port-hold-results .ph-assumption-grid {\n        grid-template-columns:\n            1fr !important;\n    }\n}\n    \/* =========================================================\n   CONTACT \/ EMAIL RESULTS FIELDS\n   ========================================================= *\/\n\n\/* Text, email, phone inputs *\/\n#gform_18 input[type=\"text\"],\n#gform_18 input[type=\"email\"],\n#gform_18 input[type=\"tel\"] {\n    display: block !important;\n\n    width: 100% !important;\n    max-width: 100% !important;\n\n    height: 52px !important;\n    min-height: 52px !important;\n\n    margin: 0 !important;\n    padding: 10px 14px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 16px !important;\n    line-height: 1.4 !important;\n    font-weight: 400 !important;\n\n    color: #16181C !important;\n    background: #FFFFFF !important;\n\n    border: 1px solid #C9CDD2 !important;\n    border-radius: 2px !important;\n\n    box-shadow: none !important;\n\n    transition:\n        border-color .2s ease,\n        box-shadow .2s ease !important;\n}\n\n\n\/* Focus state *\/\n#gform_18 input[type=\"text\"]:focus,\n#gform_18 input[type=\"email\"]:focus,\n#gform_18 input[type=\"tel\"]:focus {\n    outline: none !important;\n\n    border-color: #D82C42 !important;\n\n    box-shadow:\n        0 0 0 1px #D82C42 !important;\n}\n\n\n\/* Placeholder text *\/\n#gform_18 input[type=\"text\"]::placeholder,\n#gform_18 input[type=\"email\"]::placeholder,\n#gform_18 input[type=\"tel\"]::placeholder {\n    color: #92979E !important;\n    opacity: 1 !important;\n}\n\n\n\/* =========================================================\n   CONTACT FIELD LABELS\n   ========================================================= *\/\n\n#gform_18 .gfield_label {\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 15px !important;\n    line-height: 1.3 !important;\n    font-weight: 600 !important;\n\n    color: #16181C !important;\n}\n\n\n\/* Required asterisk *\/\n#gform_18 .gfield_required {\n    color: #D82C42 !important;\n}\n\n\n\/* =========================================================\n   NAME FIELD\n   ========================================================= *\/\n\n\/* First \/ Last name sub-labels *\/\n#gform_18 .ginput_complex label {\n    margin-top: 6px !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 12px !important;\n    line-height: 1.3 !important;\n    font-weight: 400 !important;\n\n    color: #737982 !important;\n}\n\n\n\/* =========================================================\n   TEXTAREA\n   If you add a message\/comments field later\n   ========================================================= *\/\n\n#gform_18 textarea {\n    width: 100% !important;\n    min-height: 120px !important;\n\n    padding: 12px 14px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 16px !important;\n    line-height: 1.5 !important;\n\n    color: #16181C !important;\n    background: #FFFFFF !important;\n\n    border: 1px solid #C9CDD2 !important;\n    border-radius: 2px !important;\n\n    box-shadow: none !important;\n\n    resize: vertical !important;\n}\n\n#gform_18 textarea:focus {\n    outline: none !important;\n\n    border-color: #D82C42 !important;\n\n    box-shadow:\n        0 0 0 1px #D82C42 !important;\n}\n\n\/* =========================================================\n   FORM 18 \u2014 CONFIRMATION\n   ========================================================= *\/\n\n\n\/* Remove Gravity Forms confirmation defaults *\/\n\n#gform_wrapper_18 .gform_confirmation_wrapper,\n#gform_confirmation_wrapper_18,\n#gform_confirmation_message_18,\n#gform_confirmation_message_18.gform_confirmation_message {\n    margin: 0 !important;\n    padding: 0 !important;\n\n    background: transparent !important;\n\n    border: none !important;\n    border-radius: 0 !important;\n\n    box-shadow: none !important;\n}\n\n\n\/* =========================================================\n   CONFIRMATION CONTENT\n   ========================================================= *\/\n\n#gform_confirmation_message_18 .port-confirmation {\n    display: block !important;\n\n    width: 100% !important;\n    max-width: none !important;\n\n    margin: 0 !important;\n    padding: 24px 32px !important;\n\n    box-sizing: border-box !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n\n    background: transparent !important;\n\n    border: none !important;\n    border-radius: 0 !important;\n\n    box-shadow: none !important;\n}\n\n\n\/* =========================================================\n   EYEBROW\n   ========================================================= *\/\n\n#gform_confirmation_message_18 .port-confirmation-eyebrow {\n    display: block !important;\n\n    margin: 0 0 8px 0 !important;\n    padding: 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 14px !important;\n    line-height: 1.3 !important;\n    font-weight: 700 !important;\n\n    letter-spacing: .07em !important;\n    text-transform: uppercase !important;\n\n    color: #D82C42 !important;\n}\n\n\n\/* =========================================================\n   HEADING\n   ========================================================= *\/\n\n#gform_confirmation_message_18 .port-confirmation h2 {\n    display: block !important;\n\n    margin: 0 0 16px 0 !important;\n    padding: 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 30px !important;\n    line-height: 1.25 !important;\n    font-weight: 700 !important;\n\n    text-transform: none !important;\n\n    color: #16181C !important;\n}\n\n\n\/* =========================================================\n   BODY COPY\n   ========================================================= *\/\n\n#gform_confirmation_message_18 .port-confirmation p,\n#gform_confirmation_message_18 .port-confirmation-lead,\n#gform_confirmation_message_18 .port-confirmation-note {\n    display: block !important;\n\n    max-width: 900px !important;\n\n    margin: 0 !important;\n    padding: 0 !important;\n\n    font-family: \"Manrope\", sans-serif !important;\n    font-size: 16px !important;\n    line-height: 1.6 !important;\n    font-weight: 400 !important;\n\n    color: #4F555D !important;\n}\n\n\n\/* Space between messages *\/\n\n#gform_confirmation_message_18 .port-confirmation p + p,\n#gform_confirmation_message_18 .port-confirmation-lead\n    + .port-confirmation-note {\n    margin-top: 12px !important;\n}\n\n\n\/* =========================================================\n   REMOVE DIVIDER\n   ========================================================= *\/\n\n#gform_confirmation_message_18 .port-confirmation-divider {\n    display: none !important;\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 767px) {\n\n    #gform_confirmation_message_18 .port-confirmation {\n        padding: 18px 0 !important;\n    }\n\n    #gform_confirmation_message_18\n    .port-confirmation-eyebrow {\n        font-size: 13px !important;\n        margin-bottom: 7px !important;\n    }\n\n    #gform_confirmation_message_18\n    .port-confirmation h2 {\n        font-size: 25px !important;\n        margin-bottom: 14px !important;\n    }\n\n    #gform_confirmation_message_18\n    .port-confirmation p,\n    #gform_confirmation_message_18\n    .port-confirmation-lead,\n    #gform_confirmation_message_18\n    .port-confirmation-note {\n        font-size: 15px !important;\n    }\n\n}\n\n\/* =========================================================\n   RESULTS CAPTURE INTRO\n   ========================================================= *\/\n\n#gform_wrapper_18 .port-capture-intro {\n    margin: 0 0 18px 0 !important;\n}\n\n#gform_wrapper_18 .port-capture-intro strong {\n    display: block;\n    margin: 0 0 4px 0;\n\n    font-family: \"Manrope\", sans-serif;\n    font-size: 20px;\n    line-height: 1.3;\n    font-weight: 700;\n\n    color: #16181C;\n}\n\n#gform_wrapper_18 .port-capture-intro span {\n    display: block;\n\n    font-family: \"Manrope\", sans-serif;\n    font-size: 16px;\n    line-height: 1.5;\n    font-weight: 400;\n\n    color: #6F757D;\n}\n\n\/* =========================================================\n   FORM 18 \u2014 PAGE TRANSITION\n   ========================================================= *\/\n\n#gform_18 .gform_page {\n    animation: portFormPageIn 0.15s ease-out;\n}\n\n@keyframes portFormPageIn {\n\n    from {\n        opacity: 0;\n    }\n\n    to {\n        opacity: 1;\n    }\n\n}\n\n\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e52f5e3 elementor-widget elementor-widget-html\" data-id=\"e52f5e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\n(function () {\n\n    \/* =========================================================\n       VAN BRUNT \u2014 PORT HOLD COST ESTIMATOR\n       GRAVITY FORM 18\n       ========================================================= *\/\n\n    const FORM_ID = 18;\n    const STORAGE_KEY = 'vanbrunt_port_hold_results';\n\n\n    \/* =========================================================\n       FIELD IDS\n       ========================================================= *\/\n\n    const FIELDS = {\n        containersPerMonth: 3,\n        customsValue: 4,\n        containerType: 5,\n        holdRate: 6,\n        delayedDays: 7,\n        dutyRate: 8,\n        bondedStorage: 9,\n\n        demurrage: 12,\n        detention: 13,\n        equipment: 14,\n        customsExam: 15,\n        isfRisk: 16,\n        wastedDrayage: 17,\n        dutyCashFlow: 18,\n        totalExposure: 19,\n        avoidableLow: 20,\n        avoidableHigh: 21\n    };\n\n\n    \/* =========================================================\n       DEFAULT COST ASSUMPTIONS\n       ========================================================= *\/\n\n    const DEFAULTS = {\n        demurragePerDay: 250,\n        detentionPerDay: 185,\n        equipmentPerContainer: 340,\n        customsExamPerContainer: 780,\n        isfRiskPerContainer: 250,\n        wastedDrayagePerContainer: 175,\n        dutyCarryRate: 0.01644,\n\n        avoidableLowNoBonded: 0.416,\n        avoidableHighNoBonded: 0.557,\n\n        avoidableLowBonded: 0.152,\n        avoidableHighBonded: 0.268\n    };\n\n\n    let rates = { ...DEFAULTS };\n\n\n    \/* =========================================================\n       HELPERS\n       ========================================================= *\/\n\n    function getInput(fieldId) {\n\n        return document.querySelector(\n            '#input_' + FORM_ID + '_' + fieldId\n        );\n\n    }\n\n\n    function getNumber(fieldId) {\n\n        const input = getInput(fieldId);\n\n        if (!input) {\n            return 0;\n        }\n\n        const value = String(input.value || '')\n            .replace(\/[$,%\\s,]\/g, '');\n\n        const parsed = parseFloat(value);\n\n        return Number.isFinite(parsed) ? parsed : 0;\n\n    }\n\n\n    function getRadio(fieldId) {\n\n        const selected = document.querySelector(\n            'input[name=\"input_' + fieldId + '\"]:checked'\n        );\n\n        return selected ? selected.value : '';\n\n    }\n\n\n    function money(value) {\n\n        return '$' +\n            Math.round(value).toLocaleString('en-US');\n\n    }\n\n\n    function number(value) {\n\n        return Math.round(value)\n            .toLocaleString('en-US');\n\n    }\n\n\n    function setCalculatedField(fieldId, value) {\n\n        const input = getInput(fieldId);\n\n        if (!input) {\n            return;\n        }\n\n        input.value = Math.round(value);\n\n        input.dispatchEvent(\n            new Event('input', {\n                bubbles: true\n            })\n        );\n\n        input.dispatchEvent(\n            new Event('change', {\n                bubbles: true\n            })\n        );\n\n    }\n\n\n    \/* =========================================================\n       STORE RESULTS\n       ========================================================= *\/\n\n    function storeResults(results) {\n\n        const stored = {\n            demurrage: results.demurrage,\n            detention: results.detention,\n            equipment: results.equipment,\n            customsExam: results.customsExam,\n            isfRisk: results.isfRisk,\n            wastedDrayage: results.wastedDrayage,\n            dutyCashFlow: results.dutyCashFlow,\n            totalExposure: results.totalExposure,\n            avoidableLow: results.avoidableLow,\n            avoidableHigh: results.avoidableHigh,\n\n            annualContainers: results.annualContainers,\n            heldContainers: results.heldContainers,\n            annualDuty: results.annualDuty,\n            bondedStorage: results.bondedStorage\n        };\n\n        try {\n\n            sessionStorage.setItem(\n                STORAGE_KEY,\n                JSON.stringify(stored)\n            );\n\n        } catch (error) {\n\n            console.warn(\n                'Port Hold Estimator: unable to store results.',\n                error\n            );\n\n        }\n\n    }\n\n\n    \/* =========================================================\n       GET STORED RESULTS\n       ========================================================= *\/\n\n    function getStoredResults() {\n\n        try {\n\n            const stored =\n                sessionStorage.getItem(STORAGE_KEY);\n\n            if (!stored) {\n                return null;\n            }\n\n            return JSON.parse(stored);\n\n        } catch (error) {\n\n            return null;\n\n        }\n\n    }\n\n\n    \/* =========================================================\n       WRITE STORED RESULTS TO FIELDS 12\u201321\n       ========================================================= *\/\n\n    function restoreCalculatedFields() {\n\n        const results =\n            getStoredResults();\n\n        if (!results) {\n            return false;\n        }\n\n\n        setCalculatedField(\n            FIELDS.demurrage,\n            results.demurrage\n        );\n\n        setCalculatedField(\n            FIELDS.detention,\n            results.detention\n        );\n\n        setCalculatedField(\n            FIELDS.equipment,\n            results.equipment\n        );\n\n        setCalculatedField(\n            FIELDS.customsExam,\n            results.customsExam\n        );\n\n        setCalculatedField(\n            FIELDS.isfRisk,\n            results.isfRisk\n        );\n\n        setCalculatedField(\n            FIELDS.wastedDrayage,\n            results.wastedDrayage\n        );\n\n        setCalculatedField(\n            FIELDS.dutyCashFlow,\n            results.dutyCashFlow\n        );\n\n        setCalculatedField(\n            FIELDS.totalExposure,\n            results.totalExposure\n        );\n\n        setCalculatedField(\n            FIELDS.avoidableLow,\n            results.avoidableLow\n        );\n\n        setCalculatedField(\n            FIELDS.avoidableHigh,\n            results.avoidableHigh\n        );\n\n\n        return true;\n\n    }\n\n\n    \/* =========================================================\n       CALCULATIONS\n       ========================================================= *\/\n\n    function calculate() {\n\n        const containersPerMonth =\n            getNumber(FIELDS.containersPerMonth);\n\n        const customsValue =\n            getNumber(FIELDS.customsValue);\n\n        const containerType =\n            getRadio(FIELDS.containerType);\n\n        const holdRate =\n            parseFloat(\n                getRadio(FIELDS.holdRate)\n            ) || 0;\n\n        const delayedDays =\n            getNumber(FIELDS.delayedDays);\n\n        const dutyRate =\n            parseFloat(\n                getRadio(FIELDS.dutyRate)\n            ) || 0;\n\n        const bondedStorage =\n            getRadio(FIELDS.bondedStorage);\n\n\n        const annualContainers =\n            containersPerMonth * 12;\n\n\n        const heldContainers =\n            annualContainers * holdRate;\n\n\n        \/* =====================================================\n           COST EXPOSURE\n           ===================================================== *\/\n\n        const demurrage =\n            heldContainers *\n            delayedDays *\n            rates.demurragePerDay;\n\n\n        const detention =\n            heldContainers *\n            delayedDays *\n            rates.detentionPerDay;\n\n\n        const equipmentMultiplier =\n            containerType === 'ref'\n                ? 1.35\n                : 1;\n\n\n        const equipment =\n            heldContainers *\n            rates.equipmentPerContainer *\n            equipmentMultiplier;\n\n\n        const customsExam =\n            heldContainers *\n            rates.customsExamPerContainer;\n\n\n        const isfRisk =\n            heldContainers *\n            rates.isfRiskPerContainer;\n\n\n        const wastedDrayage =\n            heldContainers *\n            rates.wastedDrayagePerContainer;\n\n\n        \/* =====================================================\n           DUTY CASH FLOW\n           ===================================================== *\/\n\n        const annualCustomsValue =\n            annualContainers *\n            customsValue;\n\n\n        const annualDuty =\n            annualCustomsValue *\n            dutyRate;\n\n\n        const dutyCashFlow =\n            annualDuty *\n            rates.dutyCarryRate;\n\n\n        \/* =====================================================\n           TOTAL EXPOSURE\n           ===================================================== *\/\n\n        const totalExposure =\n            demurrage +\n            detention +\n            equipment +\n            customsExam +\n            isfRisk +\n            wastedDrayage +\n            dutyCashFlow;\n\n\n        \/* =====================================================\n           AVOIDABLE RANGE\n           ===================================================== *\/\n\n        let avoidableLowRate;\n        let avoidableHighRate;\n\n\n        if (bondedStorage === 'yes') {\n\n            avoidableLowRate =\n                rates.avoidableLowBonded;\n\n            avoidableHighRate =\n                rates.avoidableHighBonded;\n\n        } else {\n\n            avoidableLowRate =\n                rates.avoidableLowNoBonded;\n\n            avoidableHighRate =\n                rates.avoidableHighNoBonded;\n\n        }\n\n\n        const avoidableLow =\n            totalExposure *\n            avoidableLowRate;\n\n\n        const avoidableHigh =\n            totalExposure *\n            avoidableHighRate;\n\n\n        const results = {\n\n            annualContainers,\n            heldContainers,\n            annualDuty,\n\n            demurrage,\n            detention,\n            equipment,\n            customsExam,\n            isfRisk,\n            wastedDrayage,\n            dutyCashFlow,\n\n            totalExposure,\n            avoidableLow,\n            avoidableHigh,\n\n            bondedStorage\n\n        };\n\n\n         \/* =====================================================\n           SAVE + WRITE CURRENT RESULTS TO GRAVITY FORMS\n           ===================================================== *\/\n\n        storeResults(results);\n\n        setCalculatedField(\n            FIELDS.demurrage,\n            results.demurrage\n        );\n\n        setCalculatedField(\n            FIELDS.detention,\n            results.detention\n        );\n\n        setCalculatedField(\n            FIELDS.equipment,\n            results.equipment\n        );\n\n        setCalculatedField(\n            FIELDS.customsExam,\n            results.customsExam\n        );\n\n        setCalculatedField(\n            FIELDS.isfRisk,\n            results.isfRisk\n        );\n\n        setCalculatedField(\n            FIELDS.wastedDrayage,\n            results.wastedDrayage\n        );\n\n        setCalculatedField(\n            FIELDS.dutyCashFlow,\n            results.dutyCashFlow\n        );\n\n        setCalculatedField(\n            FIELDS.totalExposure,\n            results.totalExposure\n        );\n\n        setCalculatedField(\n            FIELDS.avoidableLow,\n            results.avoidableLow\n        );\n\n        setCalculatedField(\n            FIELDS.avoidableHigh,\n            results.avoidableHigh\n        );\n\n\n        return results;\n\n    }\n\n\n    \/* =========================================================\n       RESULTS HTML\n       ========================================================= *\/\n\n    function buildResults() {\n\n        const target =\n            document.querySelector(\n                '#port-hold-results'\n            );\n\n        if (!target) {\n            return;\n        }\n\n\n        const results =\n            calculate();\n\n\n        let avoidableDescription;\n\n\n        if (results.bondedStorage === 'yes') {\n\n            avoidableDescription =\n                'Estimated, not guaranteed. You already use bonded or off-dock storage, so part of this exposure is already being addressed. Faster off-dock handling may still reduce demurrage, detention and wasted trips.';\n\n        } else {\n\n            avoidableDescription =\n                'Estimated, not guaranteed. Pulling containers off the terminal into bonded storage can reduce demurrage, detention and wasted drayage while allowing duty to be deferred until goods are withdrawn.';\n\n        }\n\n\n        target.innerHTML = `\n\n            <div class=\"ph-eyebrow\">\n                Your Annual Port-Delay Exposure\n            <\/div>\n\n\n            <div class=\"ph-total\">\n\n                <div class=\"ph-total-number\">\n                    ${money(results.totalExposure)}\n                <\/div>\n\n                <div class=\"ph-total-description\">\n\n                    per year across roughly\n\n                    <strong>\n                        ${number(results.heldContainers)}\n                        held or delayed containers\n                    <\/strong>\n\n                    at Port NY\/NJ.\n\n                <\/div>\n\n            <\/div>\n\n\n            <div class=\"ph-result-list\">\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Demurrage\n                        <\/strong>\n\n                        <span>\n                            Terminal charge while the container\n                            sits past the Last Free Day at\n                            ${money(rates.demurragePerDay)}\/day\n                            over\n                            ${number(\n                                getNumber(\n                                    FIELDS.delayedDays\n                                )\n                            )}\n                            days.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.demurrage)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Detention \/ Per-Diem\n                        <\/strong>\n\n                        <span>\n                            Equipment charge that stacks on\n                            demurrage at\n                            ${money(rates.detentionPerDay)}\/day.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.detention)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Equipment\n                        <\/strong>\n\n                        <span>\n                            Chassis rental and split fees on\n                            delayed containers.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.equipment)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Customs Exam Exposure\n                        <\/strong>\n\n                        <span>\n                            Blended exam fees, CES storage and\n                            exam drayage.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.customsExam)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            ISF Penalty Risk\n                            <em>\n                                Risk-Weighted\n                            <\/em>\n                        <\/strong>\n\n                        <span>\n                            Estimated risk-weighted exposure\n                            from late or inaccurate ISF filings.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.isfRisk)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Wasted Drayage Trips\n                        <\/strong>\n\n                        <span>\n                            Dry runs when a hold disrupts a\n                            terminal appointment.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.wastedDrayage)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row\">\n\n                    <div>\n\n                        <strong>\n                            Duty Cash-Flow Drag\n                        <\/strong>\n\n                        <span>\n                            Duty paid at arrival instead of\n                            deferred. Approximately\n                            ${money(results.annualDuty)}\n                            in annual duty.\n                        <\/span>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.dutyCashFlow)}\n                    <\/b>\n\n                <\/div>\n\n\n                <div class=\"ph-result-row ph-grand-total\">\n\n                    <div>\n\n                        <strong>\n                            Total Annual Exposure\n                        <\/strong>\n\n                    <\/div>\n\n                    <b>\n                        ${money(results.totalExposure)}\n                    <\/b>\n\n                <\/div>\n\n\n            <\/div>\n\n\n            <div class=\"ph-avoidable\">\n\n                <h3>\n                    What a bonded, off-dock warehouse\n                    takes off the table\n                <\/h3>\n\n                <div class=\"ph-avoidable-number\">\n\n                    ${money(results.avoidableLow)}\n\n                    \u2013\n\n                    ${money(results.avoidableHigh)}\n\n                <\/div>\n\n                <p>\n                    ${avoidableDescription}\n                <\/p>\n\n            <\/div>\n\n\n            <details class=\"ph-assumptions\">\n\n                <summary>\n                    Adjust the rates behind these numbers\n                <\/summary>\n\n                <p>\n                    Adjust these assumptions to reflect your\n                    actual terminal, carrier and operating costs.\n                <\/p>\n\n\n                <div class=\"ph-assumption-grid\">\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            Demurrage \/ Day\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"demurragePerDay\"\n                            value=\"${rates.demurragePerDay}\">\n\n                    <\/label>\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            Detention \/ Day\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"detentionPerDay\"\n                            value=\"${rates.detentionPerDay}\">\n\n                    <\/label>\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            Equipment \/ Container\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"equipmentPerContainer\"\n                            value=\"${rates.equipmentPerContainer}\">\n\n                    <\/label>\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            Exam Exposure \/ Container\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"customsExamPerContainer\"\n                            value=\"${rates.customsExamPerContainer}\">\n\n                    <\/label>\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            ISF Risk \/ Container\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"isfRiskPerContainer\"\n                            value=\"${rates.isfRiskPerContainer}\">\n\n                    <\/label>\n\n\n                    <label class=\"ph-assumption\">\n\n                        <span>\n                            Wasted Drayage \/ Container\n                        <\/span>\n\n                        <input\n                            type=\"number\"\n                            data-rate=\"wastedDrayagePerContainer\"\n                            value=\"${rates.wastedDrayagePerContainer}\">\n\n                    <\/label>\n\n\n                <\/div>\n\n\n                <button\n                    type=\"button\"\n                    class=\"ph-reset\">\n\n                    Reset Rates\n\n                <\/button>\n\n\n            <\/details>\n\n        `;\n\n\n        bindRateControls();\n\n    }\n\n\n    \/* =========================================================\n       ADJUSTABLE RATE CONTROLS\n       ========================================================= *\/\n\n    function bindRateControls() {\n\n        const target =\n            document.querySelector(\n                '#port-hold-results'\n            );\n\n        if (!target) {\n            return;\n        }\n\n\n        target\n            .querySelectorAll('[data-rate]')\n            .forEach(function (input) {\n\n                input.addEventListener(\n                    'change',\n                    function () {\n\n                        const key =\n                            this.dataset.rate;\n\n                        const value =\n                            parseFloat(\n                                this.value\n                            );\n\n                        if (\n                            key &&\n                            Number.isFinite(value)\n                        ) {\n\n                            rates[key] =\n                                value;\n\n                            buildResults();\n\n                        }\n\n                    }\n                );\n\n            });\n\n\n        const reset =\n            target.querySelector(\n                '.ph-reset'\n            );\n\n\n        if (reset) {\n\n            reset.addEventListener(\n                'click',\n                function () {\n\n                    rates = {\n                        ...DEFAULTS\n                    };\n\n                    buildResults();\n\n                }\n            );\n\n        }\n\n    }\n\n\n    \/* =========================================================\n       PAGE REFRESH\n       ========================================================= *\/\n\n    function refreshCalculator() {\n\n        setTimeout(function () {\n\n            \/*\n             * PAGE 3\n             * If results container exists, calculate and display.\n             *\/\n\n            if (\n                document.querySelector(\n                    '#port-hold-results'\n                )\n            ) {\n\n                buildResults();\n\n                return;\n\n            }\n\n\n            \/*\n             * PAGE 4\n             * If calculated Gravity Forms fields exist,\n             * restore Page 3 values into them.\n             *\/\n\n            if (\n                getInput(\n                    FIELDS.totalExposure\n                )\n            ) {\n\n                restoreCalculatedFields();\n\n            }\n\n        }, 100);\n\n    }\n\n\n    \/* =========================================================\n       GRAVITY FORMS PAGE CHANGES\n       ========================================================= *\/\n\n    if (window.jQuery) {\n\n        jQuery(document).on(\n            'gform_page_loaded',\n            function (event, formId) {\n\n                if (\n                    parseInt(\n                        formId,\n                        10\n                    ) !== FORM_ID\n                ) {\n                    return;\n                }\n\n\n                refreshCalculator();\n\n\n                \/* Move new page into position *\/\n\n                setTimeout(function () {\n\n                    const form =\n                        document.querySelector(\n                            '#gform_18'\n                        );\n\n                    if (!form) {\n                        return;\n                    }\n\n\n                    const positionFromTop =\n                        220;\n\n\n                    const currentFormPosition =\n                        form\n                            .getBoundingClientRect()\n                            .top;\n\n\n                    const targetScroll =\n                        window.scrollY +\n                        currentFormPosition -\n                        positionFromTop;\n\n\n                    window.scrollTo({\n\n                        top:\n                            Math.max(\n                                0,\n                                targetScroll\n                            ),\n\n                        behavior:\n                            'auto'\n\n                    });\n\n                }, 50);\n\n            }\n        );\n\n    }\n\n\n    \/* =========================================================\n       MODERN GRAVITY FORMS EVENT\n       ========================================================= *\/\n\n    document.addEventListener(\n        'gform\/postRender',\n        function () {\n\n            refreshCalculator();\n\n        }\n    );\n\n\n  \n\n\/* =========================================================\n   FORM 18 \u2014 CONFIRMATION SCROLL\n   ========================================================= *\/\n\nif (window.jQuery) {\n\n    jQuery(document).on(\n        'gform_confirmation_loaded',\n        function (event, formId) {\n\n            if (parseInt(formId, 10) !== FORM_ID) {\n                return;\n            }\n\n            setTimeout(function () {\n\n                const confirmation =\n                    document.querySelector(\n                        '#gform_confirmation_wrapper_18'\n                    );\n\n                if (!confirmation) {\n                    return;\n                }\n\n                const positionFromTop = 220;\n\n                const targetScroll =\n                    window.scrollY +\n                    confirmation.getBoundingClientRect().top -\n                    positionFromTop;\n\n                window.scrollTo({\n                    top: Math.max(0, targetScroll),\n                    behavior: 'auto'\n                });\n\n            }, 300);\n\n        }\n    );\n\n}\n\n\n\n    \/* =========================================================\n       INITIAL LOAD\n       ========================================================= *\/\n\n    document.addEventListener(\n        'DOMContentLoaded',\n        refreshCalculator\n    );\n\n\n    refreshCalculator();\n\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>FREE 3PL TOOL A held container keeps charging you long after it lands. Demurrage, detention, exam fees, and tied-up duty add up fast, and Port NY\/NJ carries the highest late fees in the country.\u00a0 See What Customs Holds Are Costing You, to the Dollar Enter a few details about your freight and get your annual [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":15079,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-15090","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vanbruntwarehouse.com\/bn\/resources\/3pl-tools\/port-hold-cost-estimator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics\" \/>\n<meta property=\"og:description\" content=\"FREE 3PL TOOL A held container keeps charging you long after it lands. Demurrage, detention, exam fees, and tied-up duty add up fast, and Port NY\/NJ carries the highest late fees in the country.\u00a0 See What Customs Holds Are Costing You, to the Dollar Enter a few details about your freight and get your annual [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vanbruntwarehouse.com\/bn\/resources\/3pl-tools\/port-hold-cost-estimator\/\" \/>\n<meta property=\"og:site_name\" content=\"Van Brunt Warehousing &amp; Logistics\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-28T11:43:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 \u09ae\u09bf\u09a8\u09bf\u099f\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/port-hold-cost-estimator\\\/\",\"url\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/port-hold-cost-estimator\\\/\",\"name\":\"Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#website\"},\"datePublished\":\"2026-08-06T23:15:08+00:00\",\"dateModified\":\"2026-09-28T11:43:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/port-hold-cost-estimator\\\/#breadcrumb\"},\"inLanguage\":\"bn-BD\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/port-hold-cost-estimator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/port-hold-cost-estimator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resources\",\"item\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"3PL Tools\",\"item\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/resources\\\/3pl-tools\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Port Hold Cost Estimator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#website\",\"url\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/\",\"name\":\"Van Brunt Warehousing & Logistics\",\"description\":\"3PL Warehousing &amp; Logistics Services\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#organization\"},\"alternateName\":\"Van Brunt Warehousing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"bn-BD\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#organization\",\"name\":\"Van Brunt Warehousing & Logistics\",\"alternateName\":\"Van Brunt Warehousing\",\"url\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"bn-BD\",\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Van-Brunt-Icon-Black.png\",\"contentUrl\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/Van-Brunt-Icon-Black.png\",\"width\":512,\"height\":512,\"caption\":\"Van Brunt Warehousing & Logistics\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vanbruntwarehouse.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vanbruntwarehouse.com\/bn\/resources\/3pl-tools\/port-hold-cost-estimator\/","og_locale":"en_US","og_type":"article","og_title":"Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics","og_description":"FREE 3PL TOOL A held container keeps charging you long after it lands. Demurrage, detention, exam fees, and tied-up duty add up fast, and Port NY\/NJ carries the highest late fees in the country.\u00a0 See What Customs Holds Are Costing You, to the Dollar Enter a few details about your freight and get your annual [&hellip;]","og_url":"https:\/\/www.vanbruntwarehouse.com\/bn\/resources\/3pl-tools\/port-hold-cost-estimator\/","og_site_name":"Van Brunt Warehousing &amp; Logistics","article_modified_time":"2026-09-28T11:43:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"17 \u09ae\u09bf\u09a8\u09bf\u099f"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/port-hold-cost-estimator\/","url":"https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/port-hold-cost-estimator\/","name":"Port Hold Cost Estimator | Van Brunt Warehousing &amp; Logistics","isPartOf":{"@id":"https:\/\/www.vanbruntwarehouse.com\/#website"},"datePublished":"2026-08-06T23:15:08+00:00","dateModified":"2026-09-28T11:43:15+00:00","breadcrumb":{"@id":"https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/port-hold-cost-estimator\/#breadcrumb"},"inLanguage":"bn-BD","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/port-hold-cost-estimator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/port-hold-cost-estimator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vanbruntwarehouse.com\/"},{"@type":"ListItem","position":2,"name":"Resources","item":"https:\/\/www.vanbruntwarehouse.com\/resources\/"},{"@type":"ListItem","position":3,"name":"3PL Tools","item":"https:\/\/www.vanbruntwarehouse.com\/resources\/3pl-tools\/"},{"@type":"ListItem","position":4,"name":"Port Hold Cost Estimator"}]},{"@type":"WebSite","@id":"https:\/\/www.vanbruntwarehouse.com\/#website","url":"https:\/\/www.vanbruntwarehouse.com\/","name":"Van Brunt Warehousing & Logistics","description":"3PL Warehousing &amp; Logistics Services","publisher":{"@id":"https:\/\/www.vanbruntwarehouse.com\/#organization"},"alternateName":"Van Brunt Warehousing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vanbruntwarehouse.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"bn-BD"},{"@type":"Organization","@id":"https:\/\/www.vanbruntwarehouse.com\/#organization","name":"Van Brunt Warehousing & Logistics","alternateName":"Van Brunt Warehousing","url":"https:\/\/www.vanbruntwarehouse.com\/","logo":{"@type":"ImageObject","inLanguage":"bn-BD","@id":"https:\/\/www.vanbruntwarehouse.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.vanbruntwarehouse.com\/wp-content\/uploads\/2026\/08\/Van-Brunt-Icon-Black.png","contentUrl":"https:\/\/www.vanbruntwarehouse.com\/wp-content\/uploads\/2026\/08\/Van-Brunt-Icon-Black.png","width":512,"height":512,"caption":"Van Brunt Warehousing & Logistics"},"image":{"@id":"https:\/\/www.vanbruntwarehouse.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/pages\/15090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/comments?post=15090"}],"version-history":[{"count":126,"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/pages\/15090\/revisions"}],"predecessor-version":[{"id":18920,"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/pages\/15090\/revisions\/18920"}],"up":[{"embeddable":true,"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/pages\/15079"}],"wp:attachment":[{"href":"https:\/\/www.vanbruntwarehouse.com\/bn\/wp-json\/wp\/v2\/media?parent=15090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}