1<!DOCTYPE html> 2<html lang="en-US" prefix="og: https://ogp.me/ns#"> 3<head>
3<script src="/ummen-Opinion-hold-there-of-Banquo-Prima-Tis-the" async></script>
3 4 <meta charset="UTF-8">
5<script> 6var 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)}}); 7</script>
7 8 9 <meta name="viewport" content="width=device-width, initial-scale=1"> 10<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ --> 11<title>Contact Us | Prime, Inc.</title> 12<meta name="description" content="For general inquiries fill out our form or give us a call at 417-521-3200"/> 13<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> 14<link rel="canonical" href="https://www.primeinc.com/contact-us/" /> 15<meta property="og:locale" content="en_US" /> 16<meta property="og:type" content="article" /> 17<meta property="og:title" content="Contact Us | Prime, Inc." /> 18<meta property="og:description" content="For general inquiries fill out our form or give us a call at 417-521-3200" /> 19<meta property="og:url" content="https://www.primeinc.com/contact-us/" /> 20<meta property="og:site_name" content="Prime, Inc." /> 21<meta property="article:publisher" content="https://www.facebook.com/primeinctrucking/" /> 22<meta property="og:updated_time" content="2025-12-19T12:49:55-05:00" /> 23<meta name="twitter:card" content="summary_large_image" /> 24<meta name="twitter:title" content="Contact Us | Prime, Inc." /> 25<meta name="twitter:description" content="For general inquiries fill out our form or give us a call at 417-521-3200" /> 26<meta name="twitter:label1" content="Time to read" /> 27<meta name="twitter:data1" content="Less than a minute" />
28<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https://www.primeinc.com/contact-us/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.primeinc.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.primeinc.com/contact-us/","name":"Contact Us"}}]}]}</script>
28 29<!-- /Rank Math WordPress SEO plugin --> 30 31<link rel='dns-prefetch' href='//www.google.com' /> 32<link rel="alternate" type="application/rss+xml" title="Prime, Inc. » Feed" href="https://www.primeinc.com/feed/" /> 33<link rel="alternate" type="application/rss+xml" title="Prime, Inc. » Comments Feed" href="https://www.primeinc.com/comments/feed/" /> 34<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.primeinc.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.primeinc.com%2Fcontact-us%2F" /> 35<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.primeinc.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.primeinc.com%2Fcontact-us%2F&format=xml" /> 36<link rel="stylesheet" type="text/css" href="https://use.typekit.net/stj0tgn.css"><style id="wp-img-auto-sizes-contain-inline-css"> 37img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 38/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 39</style> 40<style id="wp-emoji-styles-inline-css"> 41 42 img.wp-smiley, img.emoji { 43 display: inline !important; 44 border: none !important; 45 box-shadow: none !important; 46 height: 1em !important; 47 width: 1em !important; 48 margin: 0 0.07em !important; 49 vertical-align: -0.1em !important; 50 background: none !important; 51 padding: 0 !important; 52 } 53/*# sourceURL=wp-emoji-styles-inline-css */ 54</style> 55<style id="classic-theme-styles-inline-css"> 56/*! This file is auto-generated */ 57.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 58/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 59</style> 60<style id="wp-block-styles-placeholder-inline-css"> 61:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the block styles printed at wp_footer." } 62/*# sourceURL=wp-block-styles-placeholder-inline-css */ 63</style> 64<link rel='stylesheet' id='jet-engine-frontend-css' href='https://www.primeinc.com/wp-content/plugins/jet-engine/assets/css/frontend.css?ver=3.8.16' media='all' /> 65<style id="wp-global-styles-placeholder-inline-css"> 66:root { --wp-internal-comment: "Placeholder for wp_hoist_late_printed_styles() to replace with the global-styles printed at wp_footer." } 67/*# sourceURL=wp-global-styles-placeholder-inline-css */ 68</style> 69<link rel='stylesheet' id='cookie-law-info-css' href='https://www.primeinc.com/wp-content/plugins/cookie-law-info/legacy/public/css/cookie-law-info-public.css?ver=3.5.6' media='all' /> 70<link rel='stylesheet' id='cookie-law-info-gdpr-css' href='https://www.primeinc.com/wp-content/plugins/cookie-law-info/legacy/public/css/cookie-law-info-gdpr.css?ver=3.5.6' media='all' /> 71<link rel='stylesheet' id='generate-style-grid-css' href='https://www.primeinc.com/wp-content/themes/generatepress/assets/css/unsemantic-grid.min.css?ver=3.6.1' media='all' /> 72<link rel='stylesheet' id='generate-style-css' href='https://www.primeinc.com/wp-content/themes/generatepress/assets/css/style.min.css?ver=3.6.1' media='all' /> 73<style id="generate-style-inline-css"> 74body{background-color:#ffffff;color:#878991;}a{color:#3b266e;}a:visited{color:#000000;}a:hover, a:focus, a:active{color:#bb4498;}body .grid-container{max-width:1100px;}.wp-block-group__inner-container{max-width:1100px;margin-left:auto;margin-right:auto;}:root{--contrast:#222222;--contrast-2:#575760;--contrast-3:#b2b2be;--base:#f0f0f0;--base-2:#f7f8f9;--base-3:#ffffff;--accent:#1e73be;}:root .has-contrast-color{color:var(--contrast);}:root .has-contrast-background-color{background-color:var(--contrast);}:root .has-contrast-2-color{color:var(--contrast-2);}:root .has-contrast-2-background-color{background-color:var(--contrast-2);}:root .has-contrast-3-color{color:var(--contrast-3);}:root .has-contrast-3-background-color{background-color:var(--contrast-3);}:root .has-base-color{color:var(--base);}:root .has-base-background-color{background-color:var(--base);}:root .has-base-2-color{color:var(--base-2);}:root .has-base-2-background-color{background-color:var(--base-2);}:root .has-base-3-color{color:var(--base-3);}:root .has-base-3-background-color{background-color:var(--base-3);}:root .has-accent-color{color:var(--accent);}:root .has-accent-background-color{background-color:var(--accent);}body, button, input, select, textarea{font-family:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:16px;}body{line-height:1.5;}.entry-content > [class*="wp-block-"]:not(:last-child):not(.wp-block-heading){margin-bottom:1.5em;}.main-title{font-size:45px;}.main-navigation .main-nav ul ul li a{font-size:14px;}.sidebar .widget, .footer-widgets .widget{font-size:17px;}h1{font-weight:400;text-transform:uppercase;font-size:80px;}h2{font-weight:400;text-transform:uppercase;font-size:60px;}h3{font-weight:400;text-transform:uppercase;font-size:28px;}h4{font-weight:300;text-transform:uppercase;font-size:21px;line-height:1em;}h5{font-size:inherit;}@media (max-width:768px){.main-title{font-size:30px;}h1{font-size:50px;}h2{font-size:50px;}}
74.top-bar{background-color:#636363;color:#ffffff;}.top-bar a{color:#ffffff;}.top-bar a:hover{color:#303030;}.site-header{background-color:#ffffff;color:#3a3a3a;}.site-header a{color:#3a3a3a;}.main-title a,.main-title a:hover{color:#222222;}.site-description{color:#757575;}.main-navigation,.main-navigation ul ul{background-color:#222222;}.main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items{color:#ffffff;}.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{color:#ffffff;background-color:#3f3f3f;}button.menu-toggle:hover,button.menu-toggle:focus,.main-navigation .mobile-bar-items a,.main-navigation .mobile-bar-items a:hover,.main-navigation .mobile-bar-items a:focus{color:#ffffff;}.main-navigation .main-nav ul li[class*="current-menu-"] > a{color:#ffffff;background-color:#3f3f3f;}.navigation-search input[type="search"],.navigation-search input[type="search"]:active, .navigation-search input[type="search"]:focus, .main-navigation .main-nav ul li.search-item.active > a, .main-navigation .menu-bar-items .search-item.active > a{color:#ffffff;background-color:#3f3f3f;}.main-navigation ul ul{background-color:#3f3f3f;}.main-navigation .main-nav ul ul li a{color:#ffffff;}.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a,.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul ul li.sfHover:not([class*="current-menu-"]) > a{color:#ffffff;background-color:#4f4f4f;}.main-navigation .main-nav ul ul li[class*="current-menu-"] > a{color:#ffffff;background-color:#4f4f4f;}.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header{background-color:#ffffff;}.entry-meta{color:#595959;}.entry-meta a{color:#595959;}.entry-meta a:hover{color:#1e73be;}.sidebar .widget{background-color:#ffffff;}.sidebar .widget .widget-title{color:#000000;}.footer-widgets{background-color:#ffffff;}.footer-widgets .widget-title{color:#000000;}.site-info{color:#ffffff;background-color:#222222;}.site-info a{color:#ffffff;}.site-info a:hover{color:#606060;}.footer-bar .widget_nav_menu .current-menu-item a{color:#606060;}input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],textarea,select{color:#666666;background-color:#fafafa;border-color:#cccccc;}input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="number"]:focus,textarea:focus,select:focus{color:#666666;background-color:#ffffff;border-color:#bfbfbf;}button,html input[type="button"],input[type="reset"],input[type="submit"],a.button,a.wp-block-button__link:not(.has-background){color:#ffffff;background-color:#666666;}button:hover,html input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover,a.button:hover,button:focus,html input[type="button"]:focus,input[type="reset"]:focus,input[type="submit"]:focus,a.button:focus,a.wp-block-button__link:not(.has-background):active,a.wp-block-button__link:not(.has-background):focus,a.wp-block-button__link:not(.has-background):hover{color:#ffffff;background-color:#3f3f3f;}a.generate-back-to-top{background-color:rgba( 0,0,0,0.4 );color:#ffffff;}a.generate-back-to-top:hover,a.generate-back-to-top:focus{background-color:rgba( 0,0,0,0.6 );color:#ffffff;}:root{--gp-search-modal-bg-color:var(--base-3);--gp-search-modal-text-color:var(--contrast);--gp-search-modal-overlay-bg-color:rgba(0,0,0,0.2);}@media (max-width:768px){.main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{background:none;color:#ffffff;}}.inside-top-bar{padding:10px;}.inside-header{padding:40px;}.site-main .wp-block-group__inner-container{padding:40px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-40px;width:calc(100% + 80px);max-width:calc(100% + 80px);}.rtl .menu-item-has-children .dropdown-menu-toggle{padding-left:20px;}.rtl .main-navigation .main-nav ul li.menu-item-has-children > a{padding-right:20px;}.site-info{padding:20px;}@media (max-width:768px){.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{padding:30px;}.site-main .wp-block-group__inner-container{padding:30px;}.site-info{padding-right:10px;padding-left:10px;}.entry-content .alignwide, body:not(.no-sidebar) .entry-content .alignfull{margin-left:-30px;width:calc(100% + 60px);max-width:calc(100% + 60px);}}.one-container .sidebar .widget{padding:0px;}/* End cached CSS */@media (max-width:768px){.main-navigation .menu-toggle,.main-navigation .mobile-bar-items,.sidebar-nav-mobile:not(#sticky-placeholder){display:block;}.main-navigation ul,.gen-sidebar-nav{display:none;}[class*="nav-float-"] .site-header .inside-header > *{float:none;clear:both;}} 75.dynamic-author-image-rounded{border-radius:100%;}.dynamic-featured-image, .dynamic-author-image{vertical-align:middle;}.one-container.blog .dynamic-content-template:not(:last-child), .one-container.archive .dynamic-content-template:not(:last-child){padding-bottom:0px;}.dynamic-entry-excerpt > p:last-child{margin-bottom:0px;} 76/*# sourceURL=generate-style-inline-css */ 77</style> 78<link rel='stylesheet' id='generate-mobile-style-css' href='https://www.primeinc.com/w
78p-content/themes/generatepress/assets/css/mobile.min.css?ver=3.6.1' media='all' /> 79<link rel='stylesheet' id='generate-font-icons-css' href='https://www.primeinc.com/wp-content/themes/generatepress/assets/css/components/font-icons.min.css?ver=3.6.1' media='all' /> 80<link rel='stylesheet' id='generate-child-css' href='https://www.primeinc.com/wp-content/themes/generatepress_child/style.css?ver=1655383643' media='all' /> 81<link rel='stylesheet' id='elementor-frontend-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.3.3' media='all' /> 82<link rel='stylesheet' id='widget-heading-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=4.3.3' media='all' /> 83<link rel='stylesheet' id='e-animation-fadeIn-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/animations/styles/fadeIn.min.css?ver=4.3.3' media='all' /> 84<link rel='stylesheet' id='e-popup-css' href='https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/css/conditionals/popup.min.css?ver=4.3.1' media='all' /> 85<link rel='stylesheet' id='elementor-post-2501-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-2501.css?ver=1790863639' media='all' /> 86<link rel='stylesheet' id='elementor-post-2335-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-2335.css?ver=1790863639' media='all' /> 87<link rel='stylesheet' id='widget-image-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=4.3.3' media='all' /> 88<link rel='stylesheet' id='widget-icon-list-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-icon-list.min.css?ver=4.3.3' media='all' /> 89<link rel='stylesheet' id='widget-search-form-css' href='https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/css/widget-search-form.min.css?ver=4.3.1' media='all' /> 90<link rel='stylesheet' id='elementor-icons-shared-0-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/fontawesome.min.css?ver=5.15.3' media='all' /> 91<link rel='stylesheet' id='elementor-icons-fa-solid-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/solid.min.css?ver=5.15.3' media='all' /> 92<link rel='stylesheet' id='e-sticky-css' href='https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/css/modules/sticky.min.css?ver=4.3.1' media='all' /> 93<link rel='stylesheet' id='widget-image-box-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-image-box.min.css?ver=4.3.3' media='all' /> 94<link rel='stylesheet' id='widget-divider-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-divider.min.css?ver=4.3.3' media='all' /> 95<link rel='stylesheet' id='widget-social-icons-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-social-icons.min.css?ver=4.3.3' media='all' /> 96<link rel='stylesheet' id='e-apple-webkit-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/conditionals/apple-webkit.min.css?ver=4.3.3' media='all' /> 97<link rel='stylesheet' id='elementor-icons-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/eicons/css/elementor-icons.min.css?ver=5.54.0' media='all' /> 98<link rel='stylesheet' id='elementor-post-8505-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-8505.css?ver=1790863639' media='all' /> 99<link rel='stylesheet' id='uael-frontend-css' href='https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/min-css/uael-frontend.min.css?ver=1.45.5' media='all' /> 100<link rel='stylesheet' id='uael-teammember-social-icons-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/widget-social-icons.min.css?ver=3.24.0' media='all' /> 101<link rel='stylesheet' id='uael-social-share-icons-brands-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/brands.css?ver=5.15.3' media='all' /> 102<link rel='stylesheet' id='uael-social-share-icons-fontawesome-css' href='https://www.primeinc.com/w
102p-content/plugins/elementor/assets/lib/font-awesome/css/fontawesome.css?ver=5.15.3' media='all' /> 103<link rel='stylesheet' id='uael-nav-menu-icons-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/solid.css?ver=5.15.3' media='all' /> 104<link rel='stylesheet' id='jet-blog-css' href='https://www.primeinc.com/wp-content/plugins/jet-blog/assets/css/jet-blog.css?ver=2.4.10.1' media='all' /> 105<link rel='stylesheet' id='jet-tabs-frontend-css' href='https://www.primeinc.com/wp-content/plugins/jet-tabs/assets/css/jet-tabs-frontend.css?ver=2.3.4' media='all' /> 106<link rel='stylesheet' id='swiper-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5' media='all' /> 107<link rel='stylesheet' id='font-awesome-5-all-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/all.min.css?ver=4.3.3' media='all' /> 108<link rel='stylesheet' id='font-awesome-4-shim-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/v4-shims.min.css?ver=4.3.3' media='all' /> 109<link rel='stylesheet' id='elementor-post-3409-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-3409.css?ver=1790864753' media='all' /> 110<link rel='stylesheet' id='elementor-post-2368-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-2368.css?ver=1790863641' media='all' /> 111<link rel='stylesheet' id='elementor-post-2386-css' href='https://www.primeinc.com/wp-content/uploads/elementor/css/post-2386.css?ver=1790863642' media='all' /> 112<link rel='stylesheet' id='gforms_reset_css-css' href='https://www.primeinc.com/wp-content/plugins/gravityforms/legacy/css/formreset.min.css?ver=3.1.2' media='all' /> 113<link rel='stylesheet' id='gforms_formsmain_css-css' href='https://www.primeinc.com/wp-content/plugins/gravityforms/legacy/css/formsmain.min.css?ver=3.1.2' media='all' /> 114<link rel='stylesheet' id='gforms_ready_class_css-css' href='https://www.primeinc.com/wp-content/plugins/gravityforms/legacy/css/readyclass.min.css?ver=3.1.2' media='all' /> 115<link rel='stylesheet' id='gforms_browsers_css-css' href='https://www.primeinc.com/wp-content/plugins/gravityforms/legacy/css/browsers.min.css?ver=3.1.2' media='all' /> 116<link rel='stylesheet' id='eael-general-css' href='https://www.primeinc.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/css/view/general.min.css?ver=6.8.5' media='all' /> 117<link rel='stylesheet' id='gradient-button-elementor-frontend-style-css' href='https://www.primeinc.com/wp-content/plugins/gradient-button-for-elementor/assets/css/frontend.css?ver=1.0.11' media='all' /> 118<link rel='stylesheet' id='eci-icon-fonts-css' href='https://www.primeinc.com/wp-content/uploads/elementor_icons_files/merged-icons-font.css?ver=1578684901' media='all' /> 119<link rel='stylesheet' id='elementor-gf-local-opensans-css' href='https://www.primeinc.com/wp-content/uploads/elementor/google-fonts/css/opensans.css?ver=1742551577' media='all' /> 120<link rel='stylesheet' id='elementor-icons-fa-brands-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/brands.min.css?ver=5.15.3' media='all' />
121<script id="jquery-core-js" src="https://www.primeinc.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 121
121
122<script id="jquery-migrate-js" src="https://www.primeinc.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 122
122
123<script id="cookie-law-info-js-extra"> 124var Cli_Data = {"nn_cookie_ids":[],"cookielist":[],"non_necessary_cookies":[],"ccpaEnabled":"","ccpaRegionBased":"","ccpaBarEnabled":"","strictlyEnabled":["necessary","obligatoire"],"ccpaType":"gdpr","js_blocking":"","custom_integration":"","triggerDomRefresh":"","secure_cookies":""}; 125var cli_cookiebar_settings = {"animate_speed_hide":"500","animate_speed_show":"500","background":"#3b266e","border":"#b1a6a6c2","border_on":"","button_1_button_colour":"#bb4498","button_1_button_hover":"#96367a","button_1_link_colour":"#fff","button_1_as_button":"1","button_1_new_win":"","button_2_button_colour":"#333","button_2_button_hover":"#292929","button_2_link_colour":"#ffffff","button_2_as_button":"","button_2_hidebar":"","button_3_button_colour":"#ffffff","button_3_button_hover":"#cccccc","button_3_link_colour":"#bb4498","button_3_as_button":"1","button_3_new_win":"","button_4_button_colour":"#000","button_4_button_hover":"#000000","button_4_link_colour":"#fff","button_4_as_button":"1","button_7_button_colour":"#61a229","button_7_button_hover":"#4e8221","button_7_link_colour":"#fff","button_7_as_button":"1","button_7_new_win":"","font_family":"Helvetica, Arial, sans-serif","header_fix":"","notify_animate_hide":"1","notify_animate_show":"","notify_div_id":"#cookie-law-info-bar","notify_position_horizontal":"right","notify_position_vertical":"bottom","scroll_close":"","scroll_close_reload":"","accept_close_reload":"","reject_close_reload":"","showagain_tab":"","showagain_background":"#fff","showagain_border":"#000","showagain_div_id":"#cookie-law-info-again","showagain_x_position":"100px","text":"#ffffff","show_once_yn":"","show_once":"10000","logging_on":"","as_popup":"","popup_overlay":"1","bar_heading_text":"","cookie_bar_as":"banner","popup_showagain_position":"bottom-right","widget_position":"left"}; 126var log_object = {"ajax_url":"https://www.primeinc.com/wp-admin/admin-ajax.php"}; 127//# sourceURL=cookie-law-info-js-extra 128</script>
vendor: 1 bytes, line 128
128
129<script id="cookie-law-info-js" src="https://www.primeinc.com/wp-content/plugins/cookie-law-info/legacy/public/js/cookie-law-info-public.js?ver=3.5.6"></script>
vendor: 1 bytes, line 129
129
130<script id="font-awesome-4-shim-js" src="https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?ver=4.3.3"></script>
vendor: 1 bytes, line 130
130
131<script id="gform_json-js" defer='defer' src="https://www.primeinc.com/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=3.1.2"></script>
vendor: 1 bytes, line 131
131
132<script id="gform_gravityforms-js-extra"> 133var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https://www.primeinc.com/wp-content/plugins/gravityforms","number_formats":[],"version_hash":"00cb995e55d8345acdd854822c6e9230","countries":{"AF":"Afghanistan","AX":"\u00c5land Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua and Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BQ":"Bonaire, Sint Eustatius and Saba","BA":"Bosnia and Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","CV":"Cabo Verde","KH":"Cambodia","CM":"Cameroon","CA":"Canada","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos Islands","CO":"Colombia","KM":"Comoros","CD":"Congo, Democratic Republic of the","CG":"Congo","CK":"Cook Islands","CR":"Costa Rica","CI":"C\u00f4te d'Ivoire","HR":"Croatia","CU":"Cuba","CW":"Cura\u00e7ao","CY":"Cyprus","CZ":"Czechia","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","SZ":"Eswatini","ET":"Ethiopia","FK":"Falkland Islands","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island and McDonald Islands","VA":"Holy See","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran","IQ":"Iraq","IE":"Ireland","IM":"Isle of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People's Republic of","KR":"Korea, Republic of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MK":"North Macedonia","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestine, State of","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"R\u00e9union","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barth\u00e9lemy","SH":"Saint Helena, Ascension and Tristan da Cunha","KN":"Saint Kitts and Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre and Miquelon","VC":"Saint Vincent and the Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome and Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SX":"Sint Maarten","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia and the South Sandwich Islands","SS":"South Sudan","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard and Jan Mayen","SE":"Sweden","CH":"Switzerland","SY":"Syria Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, the United Republic of","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad and Tobago","TN":"Tunisia","TR":"T\u00fcrkiye","TM":"Turkmenistan","TC":"Turks and Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UY":"Uruguay","UM":"US Minor Outlying Islands","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis and Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; 134var gform_i18n = {"datepicker":{"wdOffset":1,"helpTextShort":"Press F1 for help","helpText":"Press the arrow keys to navigate by day, PageUp and PageDown to navigate by month, Alt+PageUp and Alt+PageDown to navigate by year, or Escape to cancel.","openOnFocusHelpText":"Press Down arrow to browse the calendar, or Escape to close.","tooltipTxt":"Press Escape to cancel","disabledTxt":"Disabled","markedTxt":"Selected","prevTxt":"Previous","nextTxt":"Next","monthTxt":"Month","yearTxt":"Year","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"days":[{"s":"S","l":"Sunday"},{"s":"M","l":"Monday"},{"s":"T","l":"Tuesday"},{"s":"W","l":"Wednesday"},{"s":"T","l":"Thursday"},{"s":"F","l":"Friday"},{"s":"S","l":"Saturday"}]}}; 135var gf_legacy_multi = {"4":"1"};
136var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","file_uploaded":"File uploaded","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled","error":"Error","message":"Message"},"vars":{"images_url":"https://www.primeinc.com/wp-content/plugins/gravityforms/images"}}; 137//# sourceURL=gform_gravityforms-js-extra 138</script>
vendor: 1 bytes, line 138
138
139<script id="gform_gravityforms-js-before"> 140 141//# sourceURL=gform_gravityforms-js-before 142</script>
vendor: 1 bytes, line 142
142
143<script id="gform_gravityforms-js" defer='defer' src="https://www.primeinc.com/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=3.1.2"></script>
vendor: 177 bytes, lines 143-144
143 144<script id="gform_recaptcha-js" defer='defer' src="https://www.google.com/recaptcha/api.js?hl=en&&ver=a73fd9d6cecc7d01bec96bffe1b268fb#038;render=explicit"></script>
145<script id="gform_gravityforms_utils-js" defer='defer' src="https://www.primeinc.com/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=69a9db57304a9f86c3d1a0bea5fd2cf9"></script>
145 146<link rel="https://api.w.org/" href="https://www.primeinc.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.primeinc.com/wp-json/wp/v2/pages/3409" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.primeinc.com/xmlrpc.php?rsd" /> 147<link rel='shortlink' href='https://www.primeinc.com/?p=3409' />
148<script type="text/javascript"> 149 150if((navigator.appName.indexOf("Internet Explorer") != -1 || navigator.userAgent.match(/Trident.*rv[ :]*11\./)) && window.location.href.toLowerCase().indexOf("https://www.primeinc.com/go") == -1) 151{ 152 //This user uses Internet Explorer 153 window.location = "https://www.primeinc.com/wp-content/uploads/2019/06/OldBrowser6.jpg"; 154} 155 156</script>
156 157
158<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/noframework.waypoints.min.js"></script>
vendor: 1 bytes, line 158
158
159<script src="/wp-content/bodymovin/lottie.js" type="text/javascript"></script>
159 160 161<!-- Hotjar Tracking Code for https://www.primeinc.com -->
162<script>
vendor: 125 bytes, lines 162-165
162 163 (function(h,o,t,j,a,r){ 164 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 165 h._hjSettings={hjid:
1651573834
vendor: 258 bytes, lines 165-170
165,hjsv:6}; 166 a=o.getElementsByTagName('head')[0]; 167 r=o.createElement('script');r.async=1; 168 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 169 a.appendChild(r); 170 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
171</script>
171 172
173<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js" type="text/javascript"></script>
vendor: 1 bytes, line 173
173
174<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.4.0/moment.min.js"></script>
vendor: 1 bytes, line 174
174
175<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 175
175
176<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/mouse.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 176
176
177<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/draggable.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 177
177
178<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/slider.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 178
178
179<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 179
179
180<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/menu.min.js'></script>
vendor: 1 bytes, line 180
180
181<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/autocomplete.min.js'></script>
vendor: 1 bytes, line 181
181
182<script type='text/javascript' src='https://www.primeinc.com/wp-includes/js/jquery/ui/accordion.min.js?ver=1.11.4'></script>
vendor: 1 bytes, line 182
182
183<script type='text/javascript' src='https://www.primeinc.com/wp-content/js/prime-utils-1.01.js'></script>
183 184<style type='text/css'> 185 186.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;
186color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#2b2b2b;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}
186.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:0 0 0 0;padding:5px;background:#666;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} 187 188 #ui-datepicker-div { display: none; } 189</style>
190<script type="text/javascript"> 191 /*! knockout-jqueryui - v2.2.4 - 7/19/2019 192* https://gvas.github.io/knockout-jqueryui/ 193* Copyright (c) 2019 Vas Gabor <[email protected]> Licensed MIT */ 194/*jslint browser:true*/ 195 196window.kojqui = { version: '2.2.4' }; 197 198(function (root, factory) { 199 200 'use strict'; 201 202 root.kojqui.utils = factory(root.jQuery, root.ko, root.jQuery.ui.core); 203}(this, 204 function ($, ko) { 205 206 'use strict'; 207 208 var match, uiVersion, descendantControllingBindings, createObject, register; 209 210 /*jslint regexp:true*/ 211 match = ($.ui.version || '').match(/^(\d)\.(\d+)/); 212 /*jslint regexp:false*/ 213 214 if (!match) { 215 uiVersion = null; 216 } else { 217 uiVersion = { 218 major: parseInt(match[1], 10), 219 minor: parseInt(match[2], 10) 220 }; 221 } 222 223 descendantControllingBindings = ['foreach', 'if', 'ifnot', 'with', 'html', 'text', 224 'options']; 225 226 createObject = Object.create || function (prototype) { 227 /// <summary>Simple (incomplete) shim for Object.create().</summary> 228 /// <param name='prototype' type='Object' mayBeNull='true'></param> 229 /// <returns type='Object'></returns> 230 231 function Type() { } 232 Type.prototype = prototype; 233 return new Type(); 234 }; 235 236 register = function (Constructor) { 237 /// <summary>Registers a binding.</summary> 238 /// <param name='Constructor' type='BindingHandler'>The binding handler's 239 /// constructor function.</param> 240 241 var handler = new Constructor(); 242 243 ko.bindingHandlers[handler.widgetName] = { 244 after: ko.utils.arrayGetDistinctValues( 245 descendantControllingBindings.concat(handler.after || []) 246 ), 247 init: handler.init.bind(handler), 248 update: handler.update.bind(handler) 249 }; 250 }; 251 252 return { 253 uiVersion: uiVersion, 254 descendantControllingBindings: descendantControllingBindings, 255 createObject: createObject, 256 register: register 257 }; 258 } 259)); 260(function (root, factory) { 261 262 'use strict'; 263 264 root.kojqui.BindingHandler = factory(root.jQuery, root.ko, root.kojqui.utils, root.jQuery.ui.widget); 265}(this, 266 function ($, ko, utils) { 267 268 'use strict'; 269 270 var domDataKey, filterAndUnwrapProperties, subscribeToRefreshOn, BindingHandler; 271 272 domDataKey = '__kojqui_options'; 273 274 filterAndUnwrapProperties = function (source, properties) { 275 /// <summary>Filters and unwraps the properties of an object.</summary> 276 /// <param name='source' type='Object'></param> 277 /// <param name='properties' type='Array' elementType='String'></param> 278 /// <returns type='Object'>A new object with the specified properties copied 279 /// and unwrapped from source.</returns> 280 281 var result = {}; 282 283 ko.utils.arrayForEach(properties, function (property) { 284 if (source[property] !== undefined) { 285 result[property] = ko.utils.unwrapObservable(source[property]); 286 } 287 }); 288 289 return result; 290 }; 291 292 subscribeToRefreshOn = function (widgetName, element, bindingValue) { 293 /// <summary>Creates a subscription to the refreshOn observable.</summary> 294 /// <param name='widgetName' type='String'>The widget's name.</param> 295 /// <param name='element' type='DOMNode'></param> 296 /// <param name='bindingValue' type='Object'></param> 297 298 if (ko.isObservable(bindingValue.refreshOn)) { 299 ko.computed({ 300 read: function () { 301 bindingValue.refreshOn(); 302 $(element)[widgetName]('refresh'); 303 }, 304 disposeWhenNodeIsRemoved: element 305 }); 306 } 307 }; 308 309 BindingHandler = function (widgetName) { 310 /// <summary>Constructor.</summary> 311 /// <param name='widgetName' type='String'>The jQuery UI widget's 312 /// name.</param> 313 314 this.widgetName = widgetName; 315 this.widgetEventPrefix = widgetName; 316 this.options = []; 317 this.events = []; 318 this.after = []; 319 this.hasRefresh = false;
320 }; 321 322 /*jslint unparam:true*/ 323 BindingHandler.prototype.init = function (element, valueAccessor, 324 allBindingsAccessor, viewModel, bindingContext) { 325 326 var widgetName, value, unwrappedOptions, unwrappedEvents, 327 shouldApplyBindingsToDescendants; 328 329 widgetName = this.widgetName; 330 value = valueAccessor(); 331 unwrappedOptions = filterAndUnwrapProperties(value, this.options); 332 unwrappedEvents = filterAndUnwrapProperties(value, this.events); 333 334 // There can be control flow- or other bindings on some of the descendant 335 // elements which affect the shape of the element-rooted DOM subtree. These 336 // should be processed before instantiating the jQuery UI widget, because they 337 // can add pages to the tabs widget, menu items to the menu widget, etc. 338 shouldApplyBindingsToDescendants = !ko.utils.arrayFirst( 339 utils.descendantControllingBindings, 340 function (bindingName) { 341 return this.hasOwnProperty(bindingName); 342 }, 343 allBindingsAccessor() 344 ); 345 if (shouldApplyBindingsToDescendants) { 346 // process descendant bindings 347 ko.applyBindingsToDescendants(bindingContext, element); 348 } 349 350 // store the options' values so they can be checked for changes in the 351 // update() method 352 ko.utils.domData.set(element, domDataKey, unwrappedOptions); 353 354 // bind the widget events to the viewmodel 355 $.each(unwrappedEvents, function (key, value) { 356 unwrappedEvents[key] = value.bind(viewModel); 357 }); 358 359 // initialize the widget 360 $(element)[widgetName](ko.utils.extend(unwrappedOptions, unwrappedEvents)); 361 362 if (this.hasRefresh) { 363 subscribeToRefreshOn(widgetName, element, value); 364 } 365 366 // store the element in the widget observable 367 if (ko.isWriteableObservable(value.widget)) { 368 value.widget($(element)); 369 } 370 371 // handle disposal 372 ko.utils.domNodeDisposal.addDisposeCallback(element, function () { 373 $(element)[widgetName]('destroy'); 374 }); 375 376 return { controlsDescendantBindings: shouldApplyBindingsToDescendants }; 377 }; 378 /*jslint unparam:false*/ 379 380 BindingHandler.prototype.update = function (element, valueAccessor) { 381 382 var widgetName, value, oldOptions, newOptions; 383 384 widgetName = this.widgetName; 385 value = valueAccessor(); 386 oldOptions = ko.utils.domData.get(element, domDataKey); 387 newOptions = filterAndUnwrapProperties(value, this.options); 388 389 // set only the changed options 390 $.each(newOptions, function (prop, val) { 391 if (val !== oldOptions[prop]) { 392 $(element)[widgetName]('option', prop, newOptions[prop]); 393 } 394 }); 395 396 // store the options' values so they can be checked for changes in the next 397 // update() method 398 ko.utils.domData.set(element, domDataKey, newOptions); 399 }; 400 401 BindingHandler.prototype.on = function (element, type, callback) { 402 /// <summary>Attaches callback to a widget event.</summary> 403 /// <param name='element' type='DOMElement'></param> 404 /// <param name='type' type='String'></param> 405 /// <param name='callback' type='Function'></param> 406 407 var eventName; 408 409 // the same algorithm as in widget._trigger() 410 if (type === this.widgetEventPrefix) { 411 eventName = type; 412 } else { 413 eventName = this.widgetEventPrefix + type; 414 } 415 eventName = [eventName.toLowerCase(), '.', this.widgetName].join(''); 416 417 $(element).on(eventName, callback); 418 419 // handle disposal 420 ko.utils.domNodeDisposal.addDisposeCallback(element, function () { 421 $(element).off(eventName); 422 }); 423 }; 424 425 return BindingHandler; 426 } 427)); 428(function (root, factory) { 429 430 'use strict'; 431 432 root.kojqui.Accordion = factory(root.jQuery, root.ko, root.kojqui.utils, root.kojqui.BindingHandler, root.jQuery.ui.accordion); 433}(this, 434 function ($, ko, utils, BindingHandler) { 435 436 'use strict'; 437 438 var Accordion = function () { 439 /// <summary>Constructor.</summary> 440 441 BindingHandler.call(this, 'accordion'); 442 443 if (utils.uiVersion.major === 1 && utils.uiVersion.minor === 8) { 444 this.options = ['active', 'animated', 'autoHeight', 'clearStyle', 445 'collapsible', 'disabled', 'event', 'fillSpace', 'header', 'icons', 446 'navigation', 'navigationFilter']; 447 this.events = ['change', 'changestart', 'create']; 448 this.hasRefresh = false;
449 this.eventToWatch = 'change'; 450 } else { 451 this.options = ['active', 'animate', 'collapsible', 'disabled', 'event', 452 'header', 'heightStyle', 'icons']; 453 this.events = ['activate', 'beforeActivate', 'create']; 454 this.hasRefresh = true; 455 this.eventToWatch = 'activate'; 456 } 457 }; 458 459 Accordion.prototype = utils.createObject(BindingHandler.prototype); 460 Accordion.prototype.constructor = Accordion; 461 462 Accordion.prototype.init = function (element, valueAccessor) { 463 /// <summary>Keeps the active binding property in sync with the widget's 464 /// state.</summary> 465 /// <param name='element' type='DOMNode'></param> 466 /// <param name='valueAccessor' type='Function'></param> 467 /// <returns type='Object'></returns> 468 469 var widgetName, value, result; 470 471 widgetName = this.widgetName; 472 value = valueAccessor(); 473 474 result = BindingHandler.prototype.init.apply(this, arguments); 475 476 if (ko.isWriteableObservable(value.active)) { 477 this.on(element, this.eventToWatch, function () { 478 value.active($(element)[widgetName]('option', 'active')); 479 }); 480 } 481 482 return result; 483 }; 484 485 utils.register(Accordion); 486 487 return Accordion; 488 } 489)); 490(function (root, factory) { 491 492 'use strict'; 493 494 root.kojqui.Autocomplete = factory(root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.autocomplete); 495}(this, 496 function (BindingHandler, utils) { 497 498 'use strict'; 499 500 var Autocomplete = function () { 501 /// <summary>Constructor.</summary> 502 503 BindingHandler.call(this, 'autocomplete'); 504 505 this.options = ['appendTo', 'autoFocus', 'delay', 'disabled', 'minLength', 506 'position', 'source']; 507 508 if (utils.uiVersion.major === 1 && utils.uiVersion.minor === 8) { 509 this.events = ['change', 'close', 'create', 'focus', 'open', 'search', 510 'select']; 511 } else { 512 this.options.push('messages'); 513 this.events = ['change', 'close', 'create', 'focus', 'open', 'response', 514 'search', 'select']; 515 } 516 }; 517 518 Autocomplete.prototype = utils.createObject(BindingHandler.prototype); 519 Autocomplete.prototype.constructor = Autocomplete; 520 521 utils.register(Autocomplete); 522 523 return Autocomplete; 524 } 525)); 526(function (root, factory) { 527 528 'use strict'; 529 530 root.kojqui.Button = factory(root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.button); 531}(this, 532 function (BindingHandler, utils) { 533 534 'use strict'; 535 536 var Button = function () { 537 /// <summary>Constructor.</summary> 538 539 BindingHandler.call(this, 'button'); 540 541 this.options = ['disabled', 'icons', 'label', 'text']; 542 this.events = ['create']; 543 this.hasRefresh = true; 544 }; 545 546 Button.prototype = utils.createObject(BindingHandler.prototype); 547 Button.prototype.constructor = Button; 548 549 utils.register(Button); 550 551 return Button; 552 } 553)); 554(function (root, factory) { 555 556 'use strict'; 557 558 root.kojqui.Buttonset = factory(root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.button); 559}(this, 560 function (BindingHandler, utils) { 561 562 'use strict'; 563 564 var Buttonset = function () { 565 /// <summary>Constructor.</summary> 566 567 BindingHandler.call(this, 'buttonset'); 568 569 this.options = ['items', 'disabled']; 570 this.events = ['create']; 571 this.hasRefresh = true; 572 }; 573 574 Buttonset.prototype = utils.createObject(BindingHandler.prototype); 575 Buttonset.prototype.constructor = Buttonset; 576 577 utils.register(Buttonset); 578 579 return Buttonset; 580 } 581)); 582(function (root, factory) { 583 584 'use strict'; 585 586 root.kojqui.Datepicker = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.datepicker); 587}(this, 588 function ($, ko, BindingHandler, utils) { 589 590 'use strict'; 591 592 var Datepicker = function () { 593 /// <summary>Constructor.</summary> 594 595 BindingHandler.call(this, 'datepicker'); 596 597 this.options = ['altField', 'altFormat', 'appendText', 'autoSize', 598 'buttonImage', 'buttonImageOnly', 'buttonText', 'calculateWeek', 599 'changeMonth', 'changeYear', 'closeText', 'constrainInput', 'currentText', 600 'dateFormat', 'dayNames', 'dayNamesMin', 'dayNamesShort', 'defaultDate', 601 'duration', 'firstDay', 'gotoCurrent', 'hideIfNoPrevNext', 'isRTL', 602 'maxDate', 'minDate', 'monthNames', 'monthNamesShort', 603 'navigationAsDateFormat', 'nextText', 'numberOfMonths', 'prevText', 604 'selectOtherMonths', 'shortYearCutoff', 'showAnim', 'showButtonPanel', 605 'showCurrentAtPos', 'showMonthAfterYear', 'showOn', 'showOptions', 606 'showOtherMonths', 'showWeek', 'stepMonths', 'weekHeader', 'yearRange', 607 'yearSuffix', 'beforeShow', 'beforeShowDay', 'onChangeMonthYear', 608 'onClose', 'onSelect']; 609 this.hasRefresh = true; 610 }; 611 612 Datepicker.prototype = utils.createObject(BindingHandler.prototype); 613 Datepicker.prototype.constructor = Datepicker; 614 615 Datepicker.prototype.init = function (element, valueAccessor) { 616 /// <summary>Keeps the value binding property in sync with the widget's state. 617 /// </summary> 618 /// <param name='element' type='DOMNode'></param> 619 /// <param name='valueAccessor' type='Function'></param> 620 /// <returns type='Object'></returns> 621 622 var result, widgetName, options, value, subscription, origOnSelect, origOnClose; 623
624 result = BindingHandler.prototype.init.apply(this, arguments); 625 626 widgetName = this.widgetName; 627 options = valueAccessor(); 628 value = ko.utils.unwrapObservable(options.value); 629 630 if (value) { 631 $(element)[widgetName]('setDate', value); 632 } 633 634 if (ko.isObservable(options.value)) { 635 subscription = options.value.subscribe(function (newValue) { 636 $(element)[widgetName]('setDate', newValue); 637 }); 638 639 ko.utils.domNodeDisposal.addDisposeCallback(element, function () { 640 subscription.dispose(); 641 }); 642 } 643 644 if (ko.isWriteableObservable(options.value)) { 645 origOnSelect = $(element)[widgetName]('option', 'onSelect'); 646 $(element)[widgetName]('option', 'onSelect', function (selectedText) { 647 var format, date; 648 649 format = $(element)[widgetName]('option', 'dateFormat'); 650 date = $.datepicker.parseDate(format, selectedText); 651 options.value(date); 652 653 if (typeof origOnSelect === 'function') { 654 origOnSelect.apply(this, Array.prototype.slice.call(arguments)); 655 } 656 }); 657 658 origOnClose = $(element)[widgetName]('option', 'onClose'); 659 $(element)[widgetName]('option', 'onClose', function (selectedText) { 660 var format, date; 661 662 format = $(element)[widgetName]('option', 'dateFormat'); 663 date = $.datepicker.parseDate(format, selectedText); 664 options.value(date); 665 666 if (typeof onClose=== 'function') { 667 onClose.apply(this, Array.prototype.slice.call(arguments)); 668 } 669 }); 670 } 671 672 return result; 673 }; 674 675 utils.register(Datepicker); 676 677 return Datepicker; 678 } 679)); 680(function (root, factory) { 681 682 'use strict'; 683 684 root.kojqui.Dialog = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.dialog); 685}(this, 686 function ($, ko, BindingHandler, utils) { 687 688 'use strict'; 689 690 var Dialog = function () { 691 /// <summary>Constructor.</summary> 692 693 BindingHandler.call(this, 'dialog'); 694 695 if (utils.uiVersion.major === 1 && utils.uiVersion.minor === 8) { 696 this.options = ['autoOpen', 'buttons', 'closeOnEscape', 'closeText', 697 'dialogClass', 'disabled', 'draggable', 'height', 'maxHeight', 698 'maxWidth', 'minHeight', 'minWidth', 'modal', 'position', 'resizable', 699 'show', 'stack', 'title', 'width', 'zIndex']; 700 this.events = ['beforeClose', 'create', 'open', 'focus', 'dragStart', 701 'drag', 'dragStop', 'resizeStart', 'resize', 'resizeStop', 'close']; 702 } else if (utils.uiVersion.major === 1 && utils.uiVersion.minor === 9) { 703 this.options = ['autoOpen', 'buttons', 'closeOnEscape', 'closeText', 704 'dialogClass', 'draggable', 'height', 'hide', 'maxHeight', 'maxWidth', 705 'minHeight', 'minWidth', 'modal', 'position', 'resizable', 'show', 706 'stack', 'title', 'width', 'zIndex']; 707 this.events = ['beforeClose', 'create', 'open', 'focus', 'dragStart', 708 'drag', 'dragStop', 'resizeStart', 'resize', 'resizeStop', 'close']; 709 } else { 710 this.options = ['appendTo', 'autoOpen', 'buttons', 'closeOnEscape', 711 'closeText', 'dialogClass', 'draggable', 'height', 'hide', 712 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'modal', 'position', 713 'resizable', 'show', 'title', 'width']; 714 this.events = ['beforeClose', 'create', 'open', 'focus', 'dragStart', 715 'drag', 'dragStop', 'resizeStart', 'resize', 'resizeStop', 'close']; 716 } 717 }; 718 719 Dialog.prototype = utils.createObject(BindingHandler.prototype); 720 Dialog.prototype.constructor = Dialog; 721 722 Dialog.prototype.init = function (element, valueAccessor) { 723 /// <summary>Creates a hidden div before the element. This helps in disposing 724 /// the binding if the element is moved from its original location. 725 /// Keeps the isOpen binding property in sync with the dialog's state. 726 // </summary> 727 /// <param name='element' type='DOMNode'></param> 728 /// <param name='valueAccessor' type='Function'></param> 729 /// <returns type='Object'></returns> 730 731 var marker, result, value; 732 733 /// sets up the correct disposal 734 marker = document.createElement('DIV'); 735 marker.style.display = 'none'; 736 element.parentNode.insertBefore(marker, element); 737 738 ko.utils.domNodeDisposal.addDisposeCallback(marker, function () { 739 ko.removeNode(element); 740 }); 741 742 /// invokes the prototype's init() method
743 result = BindingHandler.prototype.init.apply(this, arguments); 744 745 /// sets up handling of the isOpen option 746 value = valueAccessor(); 747 748 if (value.isOpen) { 749 ko.computed({ 750 read: function () { 751 if (ko.utils.unwrapObservable(value.isOpen)) { 752 $(element)[this.widgetName]('open'); 753 } else { 754 $(element)[this.widgetName]('close'); 755 } 756 }, 757 disposeWhenNodeIsRemoved: element, 758 owner: this 759 }); 760 } 761 if (ko.isWriteableObservable(value.isOpen)) { 762 this.on(element, 'open', function () { 763 value.isOpen(true); 764 }); 765 this.on(element, 'close', function () { 766 value.isOpen(false); 767 }); 768 } 769 770 // make the width option two-way 771 if (ko.isWriteableObservable(value.width)) { 772 /*jslint unparam:true*/ 773 this.on(element, 'resizestop', function (ev, ui) { 774 value.width(Math.round(ui.size.width)); 775 }); 776 /*jslint unparam:false*/ 777 } 778 779 // make the height option two-way 780 if (ko.isWriteableObservable(value.height)) { 781 /*jslint unparam:true*/ 782 this.on(element, 'resizestop', function (ev, ui) { 783 value.height(Math.round(ui.size.height)); 784 }); 785 /*jslint unparam:false*/ 786 } 787 788 return result; 789 }; 790 791 utils.register(Dialog); 792 793 return Dialog; 794 } 795)); 796(function (root, factory) { 797 798 'use strict'; 799 800 root.kojqui.Menu = factory(root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.menu); 801}(this, 802 function (BindingHandler, utils) { 803 804 'use strict'; 805 806 var Menu = function () { 807 /// <summary>Constructor.</summary> 808 809 BindingHandler.call(this, 'menu'); 810 811 if (utils.uiVersion.major === 1 && utils.uiVersion.minor < 11) { 812 this.options = ['disabled', 'icons', 'menus', 'position', 'role']; 813 } else { 814 this.options = ['disabled', 'icons', 'items', 'menus', 'position', 815 'role']; 816 } 817 818 this.events = ['blur', 'create', 'focus', 'select']; 819 this.hasRefresh = true; 820 }; 821 822 Menu.prototype = utils.createObject(BindingHandler.prototype); 823 Menu.prototype.constructor = Menu; 824 825 utils.register(Menu); 826 827 return Menu; 828 } 829)); 830(function (root, factory) { 831 832 'use strict'; 833 834 root.kojqui.Progressbar = factory(root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.progressbar); 835}(this, 836 function (BindingHandler, utils) { 837 838 'use strict'; 839 840 var Progressbar = function () { 841 /// <summary>Constructor.</summary> 842 843 BindingHandler.call(this, 'progressbar'); 844 845 this.events = ['change', 'create', 'complete']; 846 this.hasRefresh = true; 847 848 if (utils.uiVersion.major === 1 && utils.uiVersion.minor === 8) { 849 this.options = ['disabled', 'value']; 850 } else { 851 this.options = ['disabled', 'max', 'value']; 852 } 853 }; 854 855 Progressbar.prototype = utils.createObject(BindingHandler.prototype); 856 Progressbar.prototype.constructor = Progressbar; 857 858 utils.register(Progressbar); 859 860 return Progressbar; 861 } 862)); 863(function (root, factory) { 864 865 'use strict'; 866 867 root.kojqui.Selectmenu = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.selectmenu); 868}(this, 869 function ($, ko, BindingHandler, utils) { 870 871 'use strict'; 872 873 var domDataKey, Selectmenu; 874 875 domDataKey = '__kojqui_selectmenu_value'; 876 877 Selectmenu = function () { 878 /// <summary>Constructor.</summary> 879 880 BindingHandler.call(this, 'selectmenu'); 881 882 this.after = ['value']; 883 this.options = ['appendTo', 'disabled', 'icons', 'position', 'width']; 884 this.events = ['change', 'close', 'create', 'focus', 'open', 'select']; 885 this.hasRefresh = true; 886 }; 887 888 Selectmenu.prototype = utils.createObject(BindingHandler.prototype); 889 Selectmenu.prototype.constructor = Selectmenu; 890 891 Selectmenu.prototype.init = function (element, valueAccessor) { 892 /// <summary>Connects the view model and the widget via the isOpen property. 893 // </summary> 894 /// <param name='element' type='DOMNode'></param> 895 /// <param name='valueAccessor' type='Function'></param> 896 /// <returns type='Object'></returns> 897 898 var value, result; 899 900 value = valueAccessor(); 901 902 /// invokes the prototype's init() method
903 result = BindingHandler.prototype.init.apply(this, arguments); 904 905 // maintain the isOpen option 906 if (value.hasOwnProperty('isOpen')) { 907 ko.computed({ 908 read: function () { 909 if (ko.utils.unwrapObservable(value.isOpen)) { 910 $(element)[this.widgetName]('open'); 911 } else { 912 $(element)[this.widgetName]('close'); 913 } 914 }, 915 disposeWhenNodeIsRemoved: element, 916 owner: this 917 }); 918 } 919 if (ko.isWriteableObservable(value.isOpen)) { 920 this.on(element, 'open', function () { 921 value.isOpen(true); 922 }); 923 this.on(element, 'close', function () { 924 value.isOpen(false); 925 }); 926 } 927 928 // Notify knockout's value- and selectedOptions bindings that the selected 929 // option has been changed. 930 this.on(element, 'change', function () { 931 $(element).trigger('change'); 932 }); 933 934 return result; 935 }; 936 937 /*jslint unparam:true*/ 938 Selectmenu.prototype.update = function (element, valueAccessor, 939 allBindingsAccessor) { 940 /// <summary>Refreshes the widget if the value binding changes.</summary> 941 /// <param name='element' type='DOMNode'></param> 942 /// <param name='valueAccessor' type='Function'></param> 943 /// <param name='allBindingsAccessor' type='Object'></param> 944 945 var oldValue, newValue; 946 947 BindingHandler.prototype.update.apply(this, arguments); 948 949 // synchronize the selected option with knockout's standard value binding 950 if (allBindingsAccessor().hasOwnProperty('value')) { 951 oldValue = ko.utils.domData.get(element, domDataKey); 952 newValue = ko.utils.unwrapObservable(allBindingsAccessor().value); 953 if (oldValue !== newValue) { 954 $(element).selectmenu('refresh'); 955 } 956 } 957 }; 958 /*jslint unparam:false*/ 959 960 utils.register(Selectmenu); 961 962 return Selectmenu; 963 } 964)); 965(function (root, factory) { 966 967 'use strict'; 968 969 root.kojqui.Slider = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.slider); 970}(this, 971 function ($, ko, BindingHandler, utils) { 972 973 'use strict'; 974 975 var domDataKey, Slider; 976 977 domDataKey = '__kojqui_options'; 978 979 Slider = function () { 980 /// <summary>Constructor.</summary> 981 982 BindingHandler.call(this, 'slider'); 983 984 this.widgetEventPrefix = 'slide'; 985 this.options = ['animate', 'disabled', 'max', 'min', 'orientation', 'range', 986 'step', 'value', 'values']; 987 this.events = ['create', 'start', 'slide', 'change', 'stop', 'touchStart', 'touchEnd']; 988 }; 989 990 Slider.prototype = utils.createObject(BindingHandler.prototype); 991 Slider.prototype.constructor = Slider; 992 993 Slider.prototype.init = function (element, valueAccessor) { 994 /// <summary>Keeps the value and the values binding property in sync with the 995 /// slider widget's values.</summary> 996 /// <param name='element' type='DOMNode'></param> 997 /// <param name='valueAccessor' type='Function'></param> 998 999 var result, value, changeEvent; 1000 1001 result = BindingHandler.prototype.init.apply(this, arguments); 1002 1003 value = valueAccessor(); 1004 changeEvent = value.realtime ? 'slide' : 'change'; 1005 1006 if (ko.isWriteableObservable(value.value)) { 1007 /*jslint unparam:true*/ 1008 this.on(element, changeEvent, function (ev, ui) { 1009 var index = $(element).find('.ui-slider-handle').index(ui.handle); 1010 if (index === 0) { 1011 // The slider widget, in its _slide() method, raises the 1012 // slide/slidechange events, then immediately updates its value 1013 // property. If any of the event handlers hooked onto the 1014 // slide/slidechange event sets the widget's value property, it 1015 // will ruin the sliding animation. 1016 // To prevent that, we trick the update() method defined in 1017 // BindingHandler to think that the value option is already 1018 // updated. 1019 ko.utils.domData.get(element, domDataKey).value = ui.value; 1020 value.value(ui.value); 1021 } 1022 }); 1023 /*jslint unparam:false*/ 1024 } 1025 if (ko.isWriteableObservable(value.values)) { 1026 /*jslint unparam:true*/ 1027 this.on(element, changeEvent, function (ev, ui) { 1028 // see the explanation above 1029 ko.utils.domData.get(element, domDataKey).value = ui.values; 1030 value.values(ui.values); 1031 }); 1032 /*jslint unparam:false*/ 1033 } 1034 1035 return result; 1036 }; 1037 1038 utils.register(Slider); 1039 1040 return Slider; 1041 } 1042)); 1043(function (root, factory) { 1044 1045 'use strict'; 1046 1047 root.kojqui.Spinner = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.spinner); 1048}(this, 1049 function ($, ko, BindingHandler, utils) { 1050 1051 'use strict'; 1052 1053 var Spinner = function () { 1054 /// <summary>Constructor.</summary> 1055 1056 BindingHandler.call(this, 'spinner'); 1057 1058 this.widgetEventPrefix = 'spin'; 1059 this.options = ['culture', 'disabled', 'icons', 'incremental', 'max', 'min', 1060 'numberFormat', 'page', 'step']; 1061 this.events = ['create', 'start', 'spin', 'stop', 'change']; 1062 }; 1063 1064 Spinner.prototype = utils.createObject(BindingHandler.prototype); 1065 Spinner.prototype.constructor = Spinner; 1066 1067 Spinner.prototype.init = function (element, valueAccessor) { 1068 /// <summary>Keeps the value binding property in sync with the spinner's 1069 /// value.</summary> 1070 /// <param name='element' type='DOMNode'></param> 1071 /// <param name='valueAccessor' type='Function'></param> 1072 /// <param name='allBindingsAccessor' type='Function'></param> 1073 1074 var result, widgetName, value; 1075
1076 result = BindingHandler.prototype.init.apply(this, arguments); 1077 1078 widgetName = this.widgetName; 1079 value = valueAccessor(); 1080 1081 if (value.value) { 1082 ko.computed({ 1083 read: function () { 1084 $(element)[widgetName]('value', 1085 ko.utils.unwrapObservable(value.value)); 1086 }, 1087 disposeWhenNodeIsRemoved: element 1088 }); 1089 } 1090 1091 if (ko.isWriteableObservable(value.value)) { 1092 // The spin event is raised immediately when the value is changed with the 1093 // up/down buttons, while the change event is raised when the value is set 1094 // via the widget's value() method. Let's listen to both events. 1095 1096 /*jslint unparam:true*/ 1097 this.on(element, 'spin', function (ev, ui) { 1098 value.value(ui.value); 1099 }); 1100 /*jslint unparam:false*/ 1101 1102 this.on(element, 'change', function () { 1103 value.value($(element)[widgetName]('value')); 1104 }); 1105 } 1106 1107 return result; 1108 }; 1109 1110 utils.register(Spinner); 1111 1112 return Spinner; 1113 } 1114)); 1115(function (root, factory) { 1116 1117 'use strict'; 1118 1119 root.kojqui.Tabs = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.tabs); 1120}(this, 1121 function ($, ko, BindingHandler, utils) { 1122 1123 'use strict'; 1124 1125 var postInitHandler18, postInitHandler, Tabs; 1126 1127 postInitHandler18 = function (element, valueAccessor) { 1128 /// <summary>Keeps the active binding property in sync with the tabs' state. 1129 /// </summary> 1130 /// <param name='element' type='DOMNode'></param> 1131 /// <param name='valueAccessor' type='Function'></param> 1132 1133 var value = valueAccessor(); 1134 1135 if (ko.isWriteableObservable(value.selected)) { 1136 /*jslint unparam:true*/ 1137 this.on(element, 'show', function (ev, ui) { 1138 if ($(element)[0] === ev.target) { 1139 // Only activate if this is the right tab widget. 1140 value.selected(ui.index); 1141 } 1142 }); 1143 /*jslint unparam:false*/ 1144 } 1145 }; 1146 1147 postInitHandler = function (element, valueAccessor) { 1148 /// <summary>Keeps the active binding property in sync with the tabs' state. 1149 /// </summary> 1150 /// <param name='element' type='DOMNode'></param> 1151 /// <param name='valueAccessor' type='Function'></param> 1152 1153 var value = valueAccessor(); 1154 1155 if (ko.isWriteableObservable(value.active)) { 1156 /*jslint unparam:true*/ 1157 this.on(element, 'activate', function (ev, ui) { 1158 if ($(element)[0] === ev.target) { 1159 // Only activate if this is the right tab widget. 1160 value.active(ui.newTab.index()); 1161 } 1162 }); 1163 /*jslint unparam:false*/ 1164 } 1165 }; 1166 1167 Tabs = function () { 1168 /// <summary>Constructor.</summary> 1169 1170 BindingHandler.call(this, 'tabs'); 1171 1172 this.version = utils.uiVersion; 1173 1174 if (this.version.major === 1 && this.version.minor === 8) { 1175 this.options = ['ajaxOptions', 'cache', 'collapsible', 'cookie', 1176 'disabled', 'event', 'fx', 'idPrefix', 'panelTemplate', 'selected', 1177 'spinner', 'tabTemplate']; 1178 this.events = ['add', 'create', 'disable', 'enable', 'load', 'remove', 1179 'select', 'show']; 1180 this.hasRefresh = false; 1181 } else { 1182 this.options = ['active', 'collapsible', 'disabled', 'event', 1183 'heightStyle', 'hide', 'show']; 1184 this.events = ['activate', 'beforeActivate', 'beforeLoad', 'create', 1185 'load']; 1186 this.hasRefresh = true; 1187 } 1188 }; 1189 1190 Tabs.prototype = utils.createObject(BindingHandler.prototype); 1191 Tabs.prototype.constructor = Tabs; 1192 1193 Tabs.prototype.init = function (element, valueAccessor) { 1194 /// <summary>Keeps the active binding property in sync with the tabs' state. 1195 /// </summary> 1196 /// <param name='element' type='DOMNode'></param> 1197 /// <param name='valueAccessor' type='Function'></param> 1198
1199 var result = BindingHandler.prototype.init.apply(this, arguments); 1200 1201 if (this.version.major === 1 && this.version.minor === 8) { 1202 postInitHandler18.call(this, element, valueAccessor); 1203 } else { 1204 postInitHandler.call(this, element, valueAccessor); 1205 } 1206 1207 return result; 1208 }; 1209 1210 utils.register(Tabs); 1211 1212 return Tabs; 1213 } 1214)); 1215(function (root, factory) { 1216 1217 'use strict'; 1218 1219 root.kojqui.Tooltip = factory(root.jQuery, root.ko, root.kojqui.BindingHandler, root.kojqui.utils, root.jQuery.ui.tooltip); 1220}(this, 1221 function ($, ko, BindingHandler, utils) { 1222 1223 'use strict'; 1224 1225 var Tooltip = function () { 1226 /// <summary>Constructor.</summary> 1227 1228 BindingHandler.call(this, 'tooltip'); 1229 1230 this.options = ['content', 'disabled', 'hide', 'items', 'position', 'show', 1231 'tooltipClass', 'track']; 1232 this.events = ['create', 'open', 'close']; 1233 }; 1234 1235 Tooltip.prototype = utils.createObject(BindingHandler.prototype); 1236 Tooltip.prototype.constructor = Tooltip; 1237 1238 Tooltip.prototype.init = function (element, valueAccessor) { 1239 /// <summary>Keeps the isOpen binding property in sync with the tooltip's 1240 /// state. 1241 /// </summary> 1242 /// <param name='element' type='DOMNode'></param> 1243 /// <param name='valueAccessor' type='Function'></param> 1244 1245 var value, result; 1246 1247 value = valueAccessor(); 1248 1249 result = BindingHandler.prototype.init.apply(this, arguments); 1250 1251 if (value.isOpen) { 1252 ko.computed({ 1253 read: function () { 1254 if (ko.utils.unwrapObservable(value.isOpen)) { 1255 $(element)[this.widgetName]('open'); 1256 } else { 1257 $(element)[this.widgetName]('close'); 1258 } 1259 }, 1260 disposeWhenNodeIsRemoved: element, 1261 owner: this 1262 }); 1263 } 1264 if (ko.isWriteableObservable(value.isOpen)) { 1265 this.on(element, 'open', function () { 1266 value.isOpen(true); 1267 }); 1268 this.on(element, 'close', function () { 1269 value.isOpen(false); 1270 }); 1271 } 1272 1273 return result; 1274 }; 1275 1276 utils.register(Tooltip); 1277 1278 return Tooltip; 1279 } 1280)); 1281 1282ko.bindingHandlers.prependText = { 1283 update: function(element, valueAccessor) { 1284 var value = ko.utils.unwrapObservable(valueAccessor()); 1285 //replace the first child 1286 element.replaceChild(document.createTextNode(value), element.firstChild); 1287 } 1288}; 1289ko.bindingHandlers.textForChild = { 1290 init: function(element, valueAccessor) { 1291 var options = valueAccessor() || {}; 1292 var child = jQuery(element).find(options.childSelector); 1293 var text = ko.unwrap(options.text); 1294 jQuery(child).text(text); 1295 } 1296}; 1297 1298</script>
vendor: 1 bytes, line 1298
1298
vendor: 5,631 bytes, lines 1299-1475
1299<script type='text/javascript' defer> 1300/*! nouislider - 14.0.2 - 6/28/2019 */ 1301(function(factory) { 1302 if (typeof define === "function" && define.amd) { 1303 // AMD. Register as an anonymous module. 1304 define([], factory); 1305 } else if (typeof exports === "object") { 1306 // Node/CommonJS 1307 module.exports = factory(); 1308 } else { 1309 // Browser globals 1310 window.noUiSlider = factory(); 1311 } 1312})(function() { 1313 "use strict"; 1314 1315 var VERSION = "14.0.2"; 1316 1317 //region Helper Methods 1318 1319 function isValidFormatter(entry) { 1320 return typeof entry === "object" && typeof entry.to === "function" && typeof entry.from === "function"; 1321 } 1322 1323 function removeElement(el) { 1324 el.parentElement.removeChild(el); 1325 } 1326 1327 function isSet(value) { 1328 return value !== null && value !== undefined; 1329 } 1330 1331 // Bindable version 1332 function preventDefault(e) { 1333 e.preventDefault(); 1334 } 1335 1336 // Removes duplicates from an array. 1337 function unique(array) { 1338 return array.filter(function(a) { 1339 return !this[a] ? (this[a] = true) : false; 1340 }, {}); 1341 } 1342 1343 // Round a value to the closest 'to'. 1344 function closest(value, to) { 1345 return Math.round(value / to) * to; 1346 } 1347 1348 // Current position of an element relative to the document. 1349 function offset(elem, orientation) { 1350 var rect = elem.getBoundingClientRect(); 1351 var doc = elem.ownerDocument; 1352 var docElem = doc.documentElement; 1353 var pageOffset = getPageOffset(doc); 1354 1355 // getBoundingClientRect contains left scroll in Chrome on Android. 1356 // I haven't found a feature detection that proves this. Worst case 1357 // scenario on mis-match: the 'tap' feature on horizontal sliders breaks. 1358 if (/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)) { 1359 pageOffset.x = 0; 1360 } 1361 1362 return orientation 1363 ? rect.top + pageOffset.y - docElem.clientTop 1364 : rect.left + pageOffset.x - docElem.clientLeft; 1365 } 1366 1367 // Checks whether a value is numerical. 1368 function isNumeric(a) { 1369 return typeof a === "number" && !isNaN(a) && isFinite(a); 1370 } 1371 1372 // Sets a class and removes it after [duration] ms. 1373 function addClassFor(element, className, duration) { 1374 if (duration > 0) { 1375 addClass(element, className); 1376 setTimeout(function() { 1377 removeClass(element, className); 1378 }, duration); 1379 } 1380 } 1381 1382 // Limits a value to 0 - 100 1383 function limit(a) { 1384 return Math.max(Math.min(a, 100), 0); 1385 } 1386 1387 // Wraps a variable as an array, if it isn't one yet. 1388 // Note that an input array is returned by reference! 1389 function asArray(a) { 1390 return Array.isArray(a) ? a : [a]; 1391 } 1392 1393 // Counts decimals 1394 function countDecimals(numStr) { 1395 numStr = String(numStr); 1396 var pieces = numStr.split("."); 1397 return pieces.length > 1 ? pieces[1].length : 0; 1398 } 1399 1400 // https://youmightnotneedjquery.com/#add_class 1401 function addClass(el, className) { 1402 if (el.classList) { 1403 el.classList.add(className); 1404 } else { 1405 el.className += " " + className; 1406 } 1407 } 1408 1409 // https://youmightnotneedjquery.com/#remove_class 1410 function removeClass(el, className) { 1411 if (el.classList) { 1412 el.classList.remove(className); 1413 } else { 1414 el.className = el.className.replace( 1415 new RegExp("(^|\\b)" + className.split(" ").join("|") + "(\\b|$)", "gi"), 1416 " " 1417 ); 1418 } 1419 } 1420 1421 // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/ 1422 function hasClass(el, className) { 1423 return el.classList 1424 ? el.classList.contains(className) 1425 : new RegExp("\\b" + className + "\\b").test(el.className); 1426 } 1427 1428 // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes 1429 function getPageOffset(doc) { 1430 var supportPageOffset = window.pageXOffset !== undefined; 1431 var isCSS1Compat = (doc.compatMode || "") === "CSS1Compat"; 1432 var x = supportPageOffset 1433 ? window.pageXOffset 1434 : isCSS1Compat 1435 ? doc.documentElement.scrollLeft 1436 : doc.body.scrollLeft; 1437 var y = supportPageOffset 1438 ? window.pageYOffset 1439 : isCSS1Compat 1440 ? doc.documentElement.scrollTop 1441 : doc.body.scrollTop; 1442 1443 return { 1444 x: x, 1445 y: y 1446 }; 1447 } 1448 1449 // we provide a function to compute constants instead 1450 // of accessing window.* as soon as the module needs it 1451 // so that we do not compute anything if not needed 1452 function getActions() { 1453 // Determine the events to bind. IE11 implements pointerEvents without 1454 // a prefix, which breaks compatibility with the IE10 implementation. 1455 return window.navigator.pointerEnabled 1456 ? { 1457 start: "pointerdown", 1458 move: "pointermove", 1459 end: "pointerup" 1460 } 1461 : window.navigator.msPointerEnabled 1462 ? { 1463 start: "MSPointerDown", 1464 move: "MSPointerMove", 1465 end: "MSPointerUp" 1466 } 1467 : { 1468 start: "mousedown touchstart", 1469 move: "mousemove touchmove", 1470 end: "mouseup touchend" 1471 }; 1472 } 1473 1474 // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md 1475 // Issue #785
1476 function getSupportsPassive() { 1477 var supportsPassive = false; 1478 1479 /* eslint-disable */ 1480 try { 1481 var opts = Object.defineProperty({}, "passive", { 1482 get: function() { 1483 supportsPassive = true; 1484 } 1485 }); 1486 1487 window.addEventListener("test", null, opts); 1488 } catch (e) {} 1489 /* eslint-enable */ 1490 1491 return supportsPassive; 1492 } 1493 1494 function getSupportsTouchActionNone() { 1495 return window.CSS && CSS.supports && CSS.supports("touch-action", "none"); 1496 } 1497 1498 //endregion 1499 1500 //region Range Calculation 1501 1502 // Determine the size of a sub-range in relation to a full range. 1503 function subRangeRatio(pa, pb) { 1504 return 100 / (pb - pa); 1505 } 1506 1507 // (percentage) How many percent is this value of this range? 1508 function fromPercentage(range, value) { 1509 return (value * 100) / (range[1] - range[0]); 1510 } 1511 1512 // (percentage) Where is this value on this range? 1513 function toPercentage(range, value) { 1514 return fromPercentage(range, range[0] < 0 ? value + Math.abs(range[0]) : value - range[0]); 1515 } 1516 1517 // (value) How much is this percentage on this range? 1518 function isPercentage(range, value) { 1519 return (value * (range[1] - range[0])) / 100 + range[0]; 1520 } 1521 1522 function getJ(value, arr) { 1523 var j = 1; 1524 1525 while (value >= arr[j]) { 1526 j += 1; 1527 } 1528 1529 return j; 1530 } 1531 1532 // (percentage) Input a value, find where, on a scale of 0-100, it applies. 1533 function toStepping(xVal, xPct, value) { 1534 if (value >= xVal.slice(-1)[0]) { 1535 return 100; 1536 } 1537 1538 var j = getJ(value, xVal); 1539 var va = xVal[j - 1]; 1540 var vb = xVal[j]; 1541 var pa = xPct[j - 1]; 1542 var pb = xPct[j]; 1543 1544 return pa + toPercentage([va, vb], value) / subRangeRatio(pa, pb); 1545 } 1546 1547 // (value) Input a percentage, find where it is on the specified range. 1548 function fromStepping(xVal, xPct, value) { 1549 // There is no range group that fits 100 1550 if (value >= 100) { 1551 return xVal.slice(-1)[0]; 1552 } 1553 1554 var j = getJ(value, xPct); 1555 var va = xVal[j - 1]; 1556 var vb = xVal[j]; 1557 var pa = xPct[j - 1]; 1558 var pb = xPct[j]; 1559 1560 return isPercentage([va, vb], (value - pa) * subRangeRatio(pa, pb)); 1561 } 1562 1563 // (percentage) Get the step that applies at a certain value. 1564 function getStep(xPct, xSteps, snap, value) { 1565 if (value === 100) { 1566 return value; 1567 } 1568 1569 var j = getJ(value, xPct); 1570 var a = xPct[j - 1]; 1571 var b = xPct[j]; 1572 1573 // If 'snap' is set, steps are used as fixed points on the slider. 1574 if (snap) { 1575 // Find the closest position, a or b. 1576 if (value - a > (b - a) / 2) { 1577 return b; 1578 } 1579 1580 return a; 1581 } 1582 1583 if (!xSteps[j - 1]) { 1584 return value; 1585 } 1586 1587 return xPct[j - 1] + closest(value - xPct[j - 1], xSteps[j - 1]); 1588 } 1589 1590 function handleEntryPoint(index, value, that) { 1591 var percentage; 1592 1593 // Wrap numerical input in an array. 1594 if (typeof value === "number") { 1595 value = [value]; 1596 } 1597 1598 // Reject any invalid input, by testing whether value is an array. 1599 if (!Array.isArray(value)) { 1600 throw new Error("noUiSlider (" + VERSION + "): 'range' contains invalid value."); 1601 } 1602 1603 // Covert min/max syntax to 0 and 100. 1604 if (index === "min") { 1605 percentage = 0; 1606 } else if (index === "max") { 1607 percentage = 100; 1608 } else { 1609 percentage = parseFloat(index); 1610 } 1611
1612 // Check for correct input. 1613 if (!isNumeric(percentage) || !isNumeric(value[0])) { 1614 throw new Error("noUiSlider (" + VERSION + "): 'range' value isn't numeric."); 1615 } 1616 1617 // Store values. 1618 that.xPct.push(percentage); 1619 that.xVal.push(value[0]); 1620 1621 // NaN will evaluate to false too, but to keep 1622 // logging clear, set step explicitly. Make sure 1623 // not to override the 'step' setting with false. 1624 if (!percentage) { 1625 if (!isNaN(value[1])) { 1626 that.xSteps[0] = value[1]; 1627 } 1628 } else { 1629 that.xSteps.push(isNaN(value[1]) ? false : value[1]); 1630 } 1631 1632 that.xHighestCompleteStep.push(0); 1633 } 1634 1635 function handleStepPoint(i, n, that) { 1636 // Ignore 'false' stepping. 1637 if (!n) { 1638 return; 1639 } 1640 1641 // Step over zero-length ranges (#948); 1642 if (that.xVal[i] === that.xVal[i + 1]) { 1643 that.xSteps[i] = that.xHighestCompleteStep[i] = that.xVal[i]; 1644 1645 return; 1646 } 1647 1648 // Factor to range ratio 1649 that.xSteps[i] = 1650 fromPercentage([that.xVal[i], that.xVal[i + 1]], n) / subRangeRatio(that.xPct[i], that.xPct[i + 1]); 1651 1652 var totalSteps = (that.xVal[i + 1] - that.xVal[i]) / that.xNumSteps[i]; 1653 var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1); 1654 var step = that.xVal[i] + that.xNumSteps[i] * highestStep; 1655 1656 that.xHighestCompleteStep[i] = step; 1657 } 1658 1659 //endregion 1660 1661 //region Spectrum 1662 1663 function Spectrum(entry, snap, singleStep) { 1664 this.xPct = []; 1665 this.xVal = []; 1666 this.xSteps = [singleStep || false]; 1667 this.xNumSteps = [false]; 1668 this.xHighestCompleteStep = []; 1669 1670 this.snap = snap; 1671 1672 var index; 1673 var ordered = []; // [0, 'min'], [1, '50%'], [2, 'max'] 1674 1675 // Map the object keys to an array. 1676 for (index in entry) { 1677 if (entry.hasOwnProperty(index)) { 1678 ordered.push([entry[index], index]); 1679 } 1680 } 1681 1682 // Sort all entries by value (numeric sort). 1683 if (ordered.length && typeof ordered[0][0] === "object") { 1684 ordered.sort(function(a, b) { 1685 return a[0][0] - b[0][0]; 1686 }); 1687 } else { 1688 ordered.sort(function(a, b) { 1689 return a[0] - b[0]; 1690 }); 1691 } 1692 1693 // Convert all entries to subranges. 1694 for (index = 0; index < ordered.length; index++) { 1695 handleEntryPoint(ordered[index][1], ordered[index][0], this); 1696 } 1697 1698 // Store the actual step values. 1699 // xSteps is sorted in the same order as xPct and xVal. 1700 this.xNumSteps = this.xSteps.slice(0); 1701 1702 // Convert all numeric steps to the percentage of the subrange they represent. 1703 for (index = 0; index < this.xNumSteps.length; index++) { 1704 handleStepPoint(index, this.xNumSteps[index], this); 1705 } 1706 } 1707 1708 Spectrum.prototype.getMargin = function(value) { 1709 var step = this.xNumSteps[0]; 1710 1711 if (step && (value / step) % 1 !== 0) { 1712 throw new Error("noUiSlider (" + VERSION + "): 'limit', 'margin' and 'padding' must be divisible by step."); 1713 } 1714 1715 return this.xPct.length === 2 ? fromPercentage(this.xVal, value) : false; 1716 }; 1717 1718 Spectrum.prototype.toStepping = function(value) { 1719 value = toStepping(this.xVal, this.xPct, value); 1720 1721 return value; 1722 }; 1723 1724 Spectrum.prototype.fromStepping = function(value) { 1725 return fromStepping(this.xVal, this.xPct, value); 1726 }; 1727 1728 Spectrum.prototype.getStep = function(value) { 1729 value = getStep(this.xPct, this.xSteps, this.snap, value); 1730 1731 return value; 1732 }; 1733 1734 Spectrum.prototype.getDefaultStep = function(value, isDown, size) { 1735 var j = getJ(value, this.xPct); 1736 1737 // When at the top or stepping down, look at the previous sub-range 1738 if (value === 100 || (isDown && value === this.xPct[j - 1])) { 1739 j = Math.max(j - 1, 1); 1740 } 1741 1742 return (this.xVal[j] - this.xVal[j - 1]) / size; 1743 }; 1744 1745 Spectrum.prototype.getNearbySteps = function(value) { 1746 var j = getJ(value, this.xPct); 1747 1748 return { 1749 stepBefore: { 1750 startValue: this.xVal[j - 2], 1751 step: this.xNumSteps[j - 2],
1752 highestStep: this.xHighestCompleteStep[j - 2] 1753 }, 1754 thisStep: { 1755 startValue: this.xVal[j - 1], 1756 step: this.xNumSteps[j - 1], 1757 highestStep: this.xHighestCompleteStep[j - 1] 1758 }, 1759 stepAfter: { 1760 startValue: this.xVal[j], 1761 step: this.xNumSteps[j], 1762 highestStep: this.xHighestCompleteStep[j] 1763 } 1764 }; 1765 }; 1766 1767 Spectrum.prototype.countStepDecimals = function() { 1768 var stepDecimals = this.xNumSteps.map(countDecimals); 1769 return Math.max.apply(null, stepDecimals); 1770 }; 1771 1772 // Outside testing 1773 Spectrum.prototype.convert = function(value) { 1774 return this.getStep(this.toStepping(value)); 1775 }; 1776 1777 //endregion 1778 1779 //region Options 1780 1781 /* Every input option is tested and parsed. This'll prevent 1782 endless validation in internal methods. These tests are 1783 structured with an item for every option available. An 1784 option can be marked as required by setting the 'r' flag. 1785 The testing function is provided with three arguments: 1786 - The provided value for the option; 1787 - A reference to the options object; 1788 - The name for the option; 1789 1790 The testing function returns false when an error is detected, 1791 or true when everything is OK. It can also modify the option 1792 object, to make sure all values can be correctly looped elsewhere. */ 1793 1794 var defaultFormatter = { 1795 to: function(value) { 1796 return value !== undefined && value.toFixed(2); 1797 }, 1798 from: Number 1799 }; 1800 1801 function validateFormat(entry) { 1802 // Any object with a to and from method is supported. 1803 if (isValidFormatter(entry)) { 1804 return true; 1805 } 1806 1807 throw new Error("noUiSlider (" + VERSION + "): 'format' requires 'to' and 'from' methods."); 1808 } 1809 1810 function testStep(parsed, entry) { 1811 if (!isNumeric(entry)) { 1812 throw new Error("noUiSlider (" + VERSION + "): 'step' is not numeric."); 1813 } 1814 1815 // The step option can still be used to set stepping 1816 // for linear sliders. Overwritten if set in 'range'. 1817 parsed.singleStep = entry; 1818 } 1819 1820 function testRange(parsed, entry) { 1821 // Filter incorrect input. 1822 if (typeof entry !== "object" || Array.isArray(entry)) { 1823 throw new Error("noUiSlider (" + VERSION + "): 'range' is not an object."); 1824 } 1825 1826 // Catch missing start or end. 1827 if (entry.min === undefined || entry.max === undefined) { 1828 throw new Error("noUiSlider (" + VERSION + "): Missing 'min' or 'max' in 'range'."); 1829 } 1830 1831 // Catch equal start or end. 1832 if (entry.min === entry.max) { 1833 throw new Error("noUiSlider (" + VERSION + "): 'range' 'min' and 'max' cannot be equal."); 1834 } 1835 1836 parsed.spectrum = new Spectrum(entry, parsed.snap, parsed.singleStep); 1837 } 1838 1839 function testStart(parsed, entry) { 1840 entry = asArray(entry); 1841 1842 // Validate input. Values aren't tested, as the public .val method 1843 // will always provide a valid location. 1844 if (!Array.isArray(entry) || !entry.length) { 1845 throw new Error("noUiSlider (" + VERSION + "): 'start' option is incorrect."); 1846 } 1847 1848 // Store the number of handles. 1849 parsed.handles = entry.length; 1850 1851 // When the slider is initialized, the .val method will 1852 // be called with the start options. 1853 parsed.start = entry; 1854 } 1855 1856 function testSnap(parsed, entry) { 1857 // Enforce 100% stepping within subranges. 1858 parsed.snap = entry; 1859 1860 if (typeof entry !== "boolean") { 1861 throw new Error("noUiSlider (" + VERSION + "): 'snap' option must be a boolean."); 1862 } 1863 } 1864 1865 function testAnimate(parsed, entry) { 1866 // Enforce 100% stepping within subranges. 1867 parsed.animate = entry; 1868 1869 if (typeof entry !== "boolean") { 1870 throw new Error("noUiSlider (" + VERSION + "): 'animate' option must be a boolean."); 1871 } 1872 } 1873 1874 function testAnimationDuration(parsed, entry) { 1875 parsed.animationDuration = entry; 1876 1877 if (typeof entry !== "number") { 1878 throw new Error("noUiSlider (" + VERSION + "): 'animationDuration' option must be a number."); 1879 } 1880 } 1881 1882 function testConnect(parsed, entry) { 1883 var connect = [false]; 1884 var i; 1885 1886 // Map legacy options 1887 if (entry === "lower") { 1888 entry = [true, false]; 1889 } else if (entry === "upper") {
1890 entry = [false, true]; 1891 } 1892 1893 // Handle boolean options 1894 if (entry === true || entry === false) { 1895 for (i = 1; i < parsed.handles; i++) { 1896 connect.push(entry); 1897 } 1898 1899 connect.push(false); 1900 } 1901 1902 // Reject invalid input 1903 else if (!Array.isArray(entry) || !entry.length || entry.length !== parsed.handles + 1) { 1904 throw new Error("noUiSlider (" + VERSION + "): 'connect' option doesn't match handle count."); 1905 } else { 1906 connect = entry; 1907 } 1908 1909 parsed.connect = connect; 1910 } 1911 1912 function testOrientation(parsed, entry) { 1913 // Set orientation to an a numerical value for easy 1914 // array selection. 1915 switch (entry) { 1916 case "horizontal": 1917 parsed.ort = 0; 1918 break; 1919 case "vertical": 1920 parsed.ort = 1; 1921 break; 1922 default: 1923 throw new Error("noUiSlider (" + VERSION + "): 'orientation' option is invalid."); 1924 } 1925 } 1926 1927 function testMargin(parsed, entry) { 1928 if (!isNumeric(entry)) { 1929 throw new Error("noUiSlider (" + VERSION + "): 'margin' option must be numeric."); 1930 } 1931 1932 // Issue #582 1933 if (entry === 0) { 1934 return; 1935 } 1936 1937 parsed.margin = parsed.spectrum.getMargin(entry); 1938 1939 if (!parsed.margin) { 1940 throw new Error("noUiSlider (" + VERSION + "): 'margin' option is only supported on linear sliders."); 1941 } 1942 } 1943 1944 function testLimit(parsed, entry) { 1945 if (!isNumeric(entry)) { 1946 throw new Error("noUiSlider (" + VERSION + "): 'limit' option must be numeric."); 1947 } 1948 1949 parsed.limit = parsed.spectrum.getMargin(entry); 1950 1951 if (!parsed.limit || parsed.handles < 2) { 1952 throw new Error( 1953 "noUiSlider (" + 1954 VERSION + 1955 "): 'limit' option is only supported on linear sliders with 2 or more handles." 1956 ); 1957 } 1958 } 1959 1960 function testPadding(parsed, entry) { 1961 if (!isNumeric(entry) && !Array.isArray(entry)) { 1962 throw new Error( 1963 "noUiSlider (" + VERSION + "): 'padding' option must be numeric or array of exactly 2 numbers." 1964 ); 1965 } 1966 1967 if (Array.isArray(entry) && !(entry.length === 2 || isNumeric(entry[0]) || isNumeric(entry[1]))) { 1968 throw new Error( 1969 "noUiSlider (" + VERSION + "): 'padding' option must be numeric or array of exactly 2 numbers." 1970 ); 1971 } 1972 1973 if (entry === 0) { 1974 return; 1975 } 1976 1977 if (!Array.isArray(entry)) { 1978 entry = [entry, entry]; 1979 } 1980 1981 // 'getMargin' returns false for invalid values. 1982 parsed.padding = [parsed.spectrum.getMargin(entry[0]), parsed.spectrum.getMargin(entry[1])]; 1983 1984 if (parsed.padding[0] === false || parsed.padding[1] === false) { 1985 throw new Error("noUiSlider (" + VERSION + "): 'padding' option is only supported on linear sliders."); 1986 } 1987 1988 if (parsed.padding[0] < 0 || parsed.padding[1] < 0) { 1989 throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be a positive number(s)."); 1990 } 1991 1992 if (parsed.padding[0] + parsed.padding[1] > 100) { 1993 throw new Error("noUiSlider (" + VERSION + "): 'padding' option must not exceed 100% of the range."); 1994 } 1995 } 1996 1997 function testDirection(parsed, entry) { 1998 // Set direction as a numerical value for easy parsing. 1999 // Invert connection for RTL sliders, so that the proper 2000 // handles get the connect/background classes. 2001 switch (entry) { 2002 case "ltr": 2003 parsed.dir = 0; 2004 break; 2005 case "rtl": 2006 parsed.dir = 1; 2007 break; 2008 default: 2009 throw new Error("noUiSlider (" + VERSION + "): 'direction' option was not recognized."); 2010 } 2011 } 2012 2013 function testBehaviour(parsed, entry) { 2014 // Make sure the input is a string. 2015 if (typeof entry !== "string") { 2016 throw new Error("noUiSlider (" + VERSION + "): 'behaviour' must be a string containing options."); 2017 } 2018 2019 // Check if the string contains any keywords. 2020 // None are required. 2021 var tap = entry.indexOf("tap") >= 0; 2022 var drag = entry.indexOf("drag") >= 0; 2023 var fixed = entry.indexOf("fixed") >= 0; 2024 var snap = entry.indexOf("snap") >= 0; 2025 var hover = entry.indexOf("hover") >= 0; 2026 var unconstrained = entry.indexOf("unconstrained") >= 0; 2027 2028 if (fixed) { 2029 if (parsed.handles !== 2) { 2030 throw new Error("noUiSlider (" + VERSION + "): 'fixed' behaviour must be used with 2 handles"); 2031 } 2032 2033 // Use margin to enforce fixed state 2034 testMargin(parsed, parsed.start[1] - parsed.start[0]); 2035 } 2036 2037 if (unconstrained && (parsed.margin || parsed.limit)) { 2038 throw new Error( 2039 "noUiSlider (" + VERSION + "): 'unconstrained' behaviour cannot be used with margin or limit" 2040 ); 2041 } 2042 2043 parsed.events = { 2044 tap: tap || snap, 2045 drag: drag, 2046 fixed: fixed, 2047 snap: snap, 2048 hover: hover, 2049 unconstrained: unconstrained 2050 }; 2051 } 2052 2053 function testTooltips(parsed, entry) { 2054 if (entry === false) { 2055 return; 2056 } 2057 2058 if (entry === true) { 2059 parsed.tooltips = []; 2060 2061 for (var i = 0; i < parsed.handles; i++) { 2062 parsed.tooltips.push(true); 2063 } 2064 } else { 2065 parsed.tooltips = asArray(entry); 2066 2067 if (parsed.tooltips.length !== parsed.handles) { 2068 throw new Error("noUiSlider (" + VERSION + "): must pass a formatter for all handles."); 2069 } 2070 2071 parsed.tooltips.forEach(function(formatter) { 2072 if ( 2073 typeof formatter !== "boolean" && 2074 (typeof formatter !== "object" || typeof formatter.to !== "function") 2075 ) { 2076 throw new Error("noUiSlider (" + VERSION + "): 'tooltips' must be passed a formatter or 'false'."); 2077 } 2078 }); 2079 } 2080 } 2081 2082 function testAriaFormat(parsed, entry) { 2083 parsed.ariaFormat = entry; 2084 validateFormat(entry); 2085 } 2086 2087 function testFormat(parsed, entry) { 2088 parsed.format = entry; 2089 validateFormat(entry); 2090 } 2091 2092 function testKeyboardSupport(parsed, entry) { 2093 parsed.keyboardSupport = entry; 2094 2095 if (typeof entry !== "boolean") { 2096 throw new Error("noUiSlider (" + VERSION + "): 'keyboardSupport' option must be a boolean."); 2097 } 2098 } 2099 2100 function testDocumentElement(parsed, entry) { 2101 // This is an advanced option. Passed values are used without validation. 2102 parsed.documentElement = entry; 2103 } 2104 2105 function testCssPrefix(parsed, entry) { 2106 if (typeof entry !== "string" && entry !== false) { 2107 throw new Error("noUiSlider (" + VERSION + "): 'cssPrefix' must be a string or `false`."); 2108 } 2109 2110 parsed.cssPrefix = entry; 2111 } 2112
2113 function testCssClasses(parsed, entry) { 2114 if (typeof entry !== "object") { 2115 throw new Error("noUiSlider (" + VERSION + "): 'cssClasses' must be an object."); 2116 } 2117 2118 if (typeof parsed.cssPrefix === "string") { 2119 parsed.cssClasses = {}; 2120 2121 for (var key in entry) { 2122 if (!entry.hasOwnProperty(key)) { 2123 continue; 2124 } 2125 2126 parsed.cssClasses[key] = parsed.cssPrefix + entry[key]; 2127 } 2128 } else { 2129 parsed.cssClasses = entry; 2130 } 2131 } 2132 2133 // Test all developer settings and parse to assumption-safe values. 2134 function testOptions(options) { 2135 // To prove a fix for #537, freeze options here. 2136 // If the object is modified, an error will be thrown. 2137 // Object.freeze(options); 2138 2139 var parsed = { 2140 margin: 0, 2141 limit: 0, 2142 padding: 0, 2143 animate: true, 2144 animationDuration: 300, 2145 ariaFormat: defaultFormatter, 2146 format: defaultFormatter 2147 }; 2148 2149 // Tests are executed in the order they are presented here. 2150 var tests = { 2151 step: { r: false, t: testStep }, 2152 start: { r: true, t: testStart }, 2153 connect: { r: true, t: testConnect }, 2154 direction: { r: true, t: testDirection }, 2155 snap: { r: false, t: testSnap }, 2156 animate: { r: false, t: testAnimate }, 2157 animationDuration: { r: false, t: testAnimationDuration }, 2158 range: { r: true, t: testRange }, 2159 orientation: { r: false, t: testOrientation }, 2160 margin: { r: false, t: testMargin }, 2161 limit: { r: false, t: testLimit }, 2162 padding: { r: false, t: testPadding }, 2163 behaviour: { r: true, t: testBehaviour }, 2164 ariaFormat: { r: false, t: testAriaFormat }, 2165 format: { r: false, t: testFormat }, 2166 tooltips: { r: false, t: testTooltips }, 2167 keyboardSupport: { r: true, t: testKeyboardSupport }, 2168 documentElement: { r: false, t: testDocumentElement }, 2169 cssPrefix: { r: true, t: testCssPrefix },
2170 cssClasses: { r: true, t: testCssClasses } 2171 }; 2172 2173 var defaults = { 2174 connect: false, 2175 direction: "ltr", 2176 behaviour: "tap", 2177 orientation: "horizontal", 2178 keyboardSupport: true, 2179 cssPrefix: "noUi-", 2180 cssClasses: { 2181 target: "target", 2182 base: "base", 2183 origin: "origin", 2184 handle: "handle", 2185 handleLower: "handle-lower", 2186 handleUpper: "handle-upper", 2187 touchArea: "touch-area", 2188 horizontal: "horizontal", 2189 vertical: "vertical", 2190 background: "background", 2191 connect: "connect", 2192 connects: "connects", 2193 ltr: "ltr", 2194 rtl: "rtl", 2195 draggable: "draggable", 2196 drag: "state-drag", 2197 tap: "state-tap", 2198 active: "active", 2199 tooltip: "tooltip", 2200 pips: "pips", 2201 pipsHorizontal: "pips-horizontal", 2202 pipsVertical: "pips-vertical", 2203 marker: "marker", 2204 markerHorizontal: "marker-horizontal", 2205 markerVertical: "marker-vertical", 2206 markerNormal: "marker-normal", 2207 markerLarge: "marker-large", 2208 markerSub: "marker-sub", 2209 value: "value", 2210 valueHorizontal: "value-horizontal", 2211 valueVertical: "value-vertical", 2212 valueNormal: "value-normal", 2213 valueLarge: "value-large", 2214 valueSub: "value-sub" 2215 } 2216 }; 2217 2218 // AriaFormat defaults to regular format, if any. 2219 if (options.format && !options.ariaFormat) { 2220 options.ariaFormat = options.format; 2221 } 2222 2223 // Run all options through a testing mechanism to ensure correct 2224 // input. It should be noted that options might get modified to 2225 // be handled properly. E.g. wrapping integers in arrays. 2226 Object.keys(tests).forEach(function(name) { 2227 // If the option isn't set, but it is required, throw an error. 2228 if (!isSet(options[name]) && defaults[name] === undefined) { 2229 if (tests[name].r) { 2230 throw new Error("noUiSlider (" + VERSION + "): '" + name + "' is required."); 2231 } 2232 2233 return true; 2234 } 2235 2236 tests[name].t(parsed, !isSet(options[name]) ? defaults[name] : options[name]); 2237 }); 2238 2239 // Forward pips options 2240 parsed.pips = options.pips; 2241 2242 // All recent browsers accept unprefixed transform. 2243 // We need -ms- for IE9 and -webkit- for older Android; 2244 // Assume use of -webkit- if unprefixed and -ms- are not supported. 2245 // https://caniuse.com/#feat=transforms2d 2246 var d = document.createElement("div"); 2247 var msPrefix = d.style.msTransform !== undefined; 2248 var noPrefix = d.style.transform !== undefined; 2249 2250 parsed.transformRule = noPrefix ? "transform" : msPrefix ? "msTransform" : "webkitTransform"; 2251 2252 // Pips don't move, so we can place them using left/top. 2253 var styles = [["left", "top"], ["right", "bottom"]]; 2254 2255 parsed.style = styles[parsed.dir][parsed.ort]; 2256 2257 return parsed; 2258 } 2259 2260 //endregion 2261 2262 function scope(target, options, originalOptions) { 2263 var actions = getActions(); 2264 var supportsTouchActionNone = getSupportsTouchActionNone(); 2265 var supportsPassive = supportsTouchActionNone && getSupportsPassive(); 2266 2267 // All variables local to 'scope' are prefixed with 'scope_' 2268 2269 // Slider DOM Nodes 2270 var scope_Target = target; 2271 var scope_Base; 2272 var scope_Handles; 2273 var scope_Connects; 2274 var scope_Pips; 2275 var scope_Tooltips; 2276 2277 // Slider state values 2278 var scope_Spectrum = options.spectrum; 2279 var scope_Values = []; 2280 var scope_Locations = []; 2281 var scope_HandleNumbers = []; 2282 var scope_ActiveHandlesCount = 0; 2283 var scope_Events = {}; 2284 2285 // Exposed API 2286 var scope_Self; 2287 2288 // Document Nodes 2289 var scope_Document = target.ownerDocument; 2290 var scope_DocumentElement = options.documentElement || scope_Document.documentElement; 2291 var scope_Body = scope_Document.body; 2292 2293 // Pips constants 2294 var PIPS_NONE = -1; 2295 var PIPS_NO_VALUE = 0; 2296 var PIPS_LARGE_VALUE = 1; 2297 var PIPS_SMALL_VALUE = 2; 2298 2299 // For horizontal sliders in standard ltr documents, 2300 // make .noUi-origin overflow to the left so the document doesn't scroll. 2301 var scope_DirOffset = scope_Document.dir === "rtl" || options.ort === 1 ? 0 : 100; 2302 2303 // Creates a node, adds it to target, returns the new node. 2304 function addNodeTo(addTarget, className) { 2305 var div = scope_Document.createElement("div"); 2306 2307 if (className) { 2308 addClass(div, className); 2309 } 2310 2311 addTarget.appendChild(div); 2312 2313 return div; 2314 } 2315 2316 // Append a origin to the base 2317 function addOrigin(base, handleNumber) {
vendor: 4,708 bytes, lines 2318-2449
2318 var origin = addNodeTo(base, options.cssClasses.origin); 2319 var handle = addNodeTo(origin, options.cssClasses.handle); 2320 2321 addNodeTo(handle, options.cssClasses.touchArea); 2322 2323 handle.setAttribute("data-handle", handleNumber); 2324 2325 if (options.keyboardSupport) { 2326 // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex 2327 // 0 = focusable and reachable 2328 handle.setAttribute("tabindex", "0"); 2329 handle.addEventListener("keydown", function(event) { 2330 return eventKeydown(event, handleNumber); 2331 }); 2332 } 2333 2334 handle.setAttribute("role", "slider"); 2335 handle.setAttribute("aria-orientation", options.ort ? "vertical" : "horizontal"); 2336 2337 if (handleNumber === 0) { 2338 addClass(handle, options.cssClasses.handleLower); 2339 } else if (handleNumber === options.handles - 1) { 2340 addClass(handle, options.cssClasses.handleUpper); 2341 } 2342 2343 return origin; 2344 } 2345 2346 // Insert nodes for connect elements 2347 function addConnect(base, add) { 2348 if (!add) { 2349 return false; 2350 } 2351 2352 return addNodeTo(base, options.cssClasses.connect); 2353 } 2354 2355 // Add handles to the slider base. 2356 function addElements(connectOptions, base) { 2357 var connectBase = addNodeTo(base, options.cssClasses.connects); 2358 2359 scope_Handles = []; 2360 scope_Connects = []; 2361 2362 scope_Connects.push(addConnect(connectBase, connectOptions[0])); 2363 2364 // [::::O====O====O====] 2365 // connectOptions = [0, 1, 1, 1] 2366 2367 for (var i = 0; i < options.handles; i++) { 2368 // Keep a list of all added handles. 2369 scope_Handles.push(addOrigin(base, i)); 2370 scope_HandleNumbers[i] = i; 2371 scope_Connects.push(addConnect(connectBase, connectOptions[i + 1])); 2372 } 2373 } 2374 2375 // Initialize a single slider. 2376 function addSlider(addTarget) { 2377 // Apply classes and data to the target. 2378 addClass(addTarget, options.cssClasses.target); 2379 2380 if (options.dir === 0) { 2381 addClass(addTarget, options.cssClasses.ltr); 2382 } else { 2383 addClass(addTarget, options.cssClasses.rtl); 2384 } 2385 2386 if (options.ort === 0) { 2387 addClass(addTarget, options.cssClasses.horizontal); 2388 } else { 2389 addClass(addTarget, options.cssClasses.vertical); 2390 } 2391 2392 return addNodeTo(addTarget, options.cssClasses.base); 2393 } 2394 2395 function addTooltip(handle, handleNumber) { 2396 if (!options.tooltips[handleNumber]) { 2397 return false; 2398 } 2399 2400 return addNodeTo(handle.firstChild, options.cssClasses.tooltip); 2401 } 2402 2403 function isSliderDisabled() { 2404 return scope_Target.hasAttribute("disabled"); 2405 } 2406 2407 // Disable the slider dragging if any handle is disabled 2408 function isHandleDisabled(handleNumber) { 2409 var handleOrigin = scope_Handles[handleNumber]; 2410 return handleOrigin.hasAttribute("disabled"); 2411 } 2412 2413 function removeTooltips() { 2414 if (scope_Tooltips) { 2415 removeEvent("update.tooltips"); 2416 scope_Tooltips.forEach(function(tooltip) { 2417 if (tooltip) { 2418 removeElement(tooltip); 2419 } 2420 }); 2421 scope_Tooltips = null; 2422 } 2423 } 2424 2425 // The tooltips option is a shorthand for using the 'update' event. 2426 function tooltips() { 2427 removeTooltips(); 2428 2429 // Tooltips are added with options.tooltips in original order. 2430 scope_Tooltips = scope_Handles.map(addTooltip); 2431 2432 bindEvent("update.tooltips", function(values, handleNumber, unencoded) { 2433 if (!scope_Tooltips[handleNumber]) { 2434 return; 2435 } 2436 2437 var formattedValue = values[handleNumber]; 2438 2439 if (options.tooltips[handleNumber] !== true) { 2440 formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]); 2441 } 2442 2443 scope_Tooltips[handleNumber].innerHTML = formattedValue; 2444 }); 2445 } 2446 2447 function aria() { 2448 bindEvent("update", function(values, handleNumber, unencoded, tap, positions) { 2449 // Update Aria Values for all handles, as a change in one changes min and max values for the next.
2450 scope_HandleNumbers.forEach(function(index) { 2451 var handle = scope_Handles[index]; 2452 2453 var min = checkHandlePosition(scope_Locations, index, 0, true, true, true); 2454 var max = checkHandlePosition(scope_Locations, index, 100, true, true, true); 2455 2456 var now = positions[index]; 2457 2458 // Formatted value for display 2459 var text = options.ariaFormat.to(unencoded[index]); 2460 2461 // Map to slider range values 2462 min = scope_Spectrum.fromStepping(min).toFixed(1); 2463 max = scope_Spectrum.fromStepping(max).toFixed(1); 2464 now = scope_Spectrum.fromStepping(now).toFixed(1); 2465 2466 handle.children[0].setAttribute("aria-valuemin", min); 2467 handle.children[0].setAttribute("aria-valuemax", max); 2468 handle.children[0].setAttribute("aria-valuenow", now); 2469 handle.children[0].setAttribute("aria-valuetext", text); 2470 }); 2471 }); 2472 } 2473 2474 function getGroup(mode, values, stepped) { 2475 // Use the range. 2476 if (mode === "range" || mode === "steps") { 2477 return scope_Spectrum.xVal; 2478 } 2479 2480 if (mode === "count") { 2481 if (values < 2) { 2482 throw new Error("noUiSlider (" + VERSION + "): 'values' (>= 2) required for mode 'count'."); 2483 } 2484 2485 // Divide 0 - 100 in 'count' parts. 2486 var interval = values - 1; 2487 var spread = 100 / interval; 2488 2489 values = []; 2490 2491 // List these parts and have them handled as 'positions'. 2492 while (interval--) { 2493 values[interval] = interval * spread; 2494 } 2495 2496 values.push(100); 2497 2498 mode = "positions"; 2499 } 2500 2501 if (mode === "positions") { 2502 // Map all percentages to on-range values. 2503 return values.map(function(value) { 2504 return scope_Spectrum.fromStepping(stepped ? scope_Spectrum.getStep(value) : value); 2505 }); 2506 } 2507 2508 if (mode === "values") { 2509 // If the value must be stepped, it needs to be converted to a percentage first. 2510 if (stepped) { 2511 return values.map(function(value) { 2512 // Convert to percentage, apply step, return to value. 2513 return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value))); 2514 }); 2515 } 2516 2517 // Otherwise, we can simply use the values. 2518 return values; 2519 } 2520 } 2521 2522 function generateSpread(density, mode, group) { 2523 function safeIncrement(value, increment) { 2524 // Avoid floating point variance by dropping the smallest decimal places. 2525 return (value + increment).toFixed(7) / 1; 2526 } 2527 2528 var indexes = {}; 2529 var firstInRange = scope_Spectrum.xVal[0]; 2530 var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length - 1]; 2531 var ignoreFirst = false; 2532 var ignoreLast = false; 2533 var prevPct = 0; 2534 2535 // Create a copy of the group, sort it and filter away all duplicates. 2536 group = unique( 2537 group.slice().sort(function(a, b) { 2538 return a - b; 2539 }) 2540 ); 2541 2542 // Make sure the range starts with the first element. 2543 if (group[0] !== firstInRange) { 2544 group.unshift(firstInRange); 2545 ignoreFirst = true; 2546 } 2547 2548 // Likewise for the last one. 2549 if (group[group.length - 1] !== lastInRange) { 2550 group.push(lastInRange); 2551 ignoreLast = true; 2552 } 2553 2554 group.forEach(function(current, index) { 2555 // Get the current step and the lower + upper positions. 2556 var step; 2557 var i; 2558 var q; 2559 var low = current; 2560 var high = group[index + 1]; 2561 var newPct; 2562 var pctDifference; 2563 var pctPos; 2564 var type; 2565 var steps; 2566 var realSteps; 2567 var stepSize; 2568 var isSteps = mode === "steps"; 2569 2570 // When using 'steps' mode, use the provided steps. 2571 // Otherwise, we'll step on to the next subrange. 2572 if (isSteps) { 2573 step = scope_Spectrum.xNumSteps[index]; 2574 } 2575 2576 // Default to a 'full' step. 2577 if (!step) { 2578 step = high - low; 2579 } 2580 2581 // Low can be 0, so test for false. If high is undefined, 2582 // we are at the last subrange. Index 0 is already handled. 2583 if (low === false || high === undefined) { 2584 return; 2585 } 2586 2587 // Make sure step isn't 0, which would cause an infinite loop (#654) 2588 step = Math.max(step, 0.0000001); 2589 2590 // Find all steps in the subrange. 2591 for (i = low; i <= high; i = safeIncrement(i, step)) { 2592 // Get the percentage value for the current step, 2593 // calculate the size for the subrange. 2594 newPct = scope_Spectrum.toStepping(i); 2595 pctDifference = newPct - prevPct; 2596 2597 steps = pctDifference / density; 2598 realSteps = Math.round(steps); 2599 2600 // This ratio represents the amount of percentage-space a point indicates. 2601 // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-divided. 2602 // Round the percentage offset to an even number, then divide by two 2603 // to spread the offset on both sides of the range. 2604 stepSize = pctDifference / realSteps; 2605 2606 // Divide all points evenly, adding the correct number to this subrange. 2607 // Run up to <= so that 100% gets a point, event if ignoreLast is set. 2608 for (q = 1; q <= realSteps; q += 1) { 2609 // The ratio between the rounded value and the actual size might be ~1% off. 2610 // Correct the percentage offset by the number of points 2611 // per subrange. density = 1 will result in 100 points on the 2612 // full range, 2 for 50, 4 for 25, etc. 2613 pctPos = prevPct + q * stepSize; 2614 indexes[pctPos.toFixed(5)] = [scope_Spectrum.fromStepping(pctPos), 0]; 2615 } 2616 2617 // Determine the point type. 2618 type = group.indexOf(i) > -1 ? PIPS_LARGE_VALUE : isSteps ? PIPS_SMALL_VALUE : PIPS_NO_VALUE; 2619 2620 // Enforce the 'ignoreFirst' option by overwriting the type for 0. 2621 if (!index && ignoreFirst) { 2622 type = 0; 2623 } 2624 2625 if (!(i === high && ignoreLast)) { 2626 // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value. 2627 indexes[newPct.toFixed(5)] = [i, type]; 2628 } 2629 2630 // Update the percentage count. 2631 prevPct = newPct; 2632 } 2633 }); 2634 2635 return indexes; 2636 } 2637 2638 function addMarking(spread, filterFunc, formatter) { 2639 var element = scope_Document.createElement("div"); 2640 2641 var valueSizeClasses = [];
2642 valueSizeClasses[PIPS_NO_VALUE] = options.cssClasses.valueNormal; 2643 valueSizeClasses[PIPS_LARGE_VALUE] = options.cssClasses.valueLarge; 2644 valueSizeClasses[PIPS_SMALL_VALUE] = options.cssClasses.valueSub; 2645 2646 var markerSizeClasses = []; 2647 markerSizeClasses[PIPS_NO_VALUE] = options.cssClasses.markerNormal; 2648 markerSizeClasses[PIPS_LARGE_VALUE] = options.cssClasses.markerLarge; 2649 markerSizeClasses[PIPS_SMALL_VALUE] = options.cssClasses.markerSub; 2650 2651 var valueOrientationClasses = [options.cssClasses.valueHorizontal, options.cssClasses.valueVertical]; 2652 var markerOrientationClasses = [options.cssClasses.markerHorizontal, options.cssClasses.markerVertical]; 2653 2654 addClass(element, options.cssClasses.pips); 2655 addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical); 2656 2657 function getClasses(type, source) { 2658 var a = source === options.cssClasses.value; 2659 var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses; 2660 var sizeClasses = a ? valueSizeClasses : markerSizeClasses; 2661 2662 return source + " " + orientationClasses[options.ort] + " " + sizeClasses[type]; 2663 } 2664 2665 function addSpread(offset, value, type) { 2666 // Apply the filter function, if it is set. 2667 type = filterFunc ? filterFunc(value, type) : type; 2668 2669 if (type === PIPS_NONE) { 2670 return; 2671 } 2672 2673 // Add a marker for every point 2674 var node = addNodeTo(element, false); 2675 node.className = getClasses(type, options.cssClasses.marker); 2676 node.style[options.style] = offset + "%"; 2677 2678 // Values are only appended for points marked '1' or '2'. 2679 if (type > PIPS_NO_VALUE) { 2680 node = addNodeTo(element, false); 2681 node.className = getClasses(type, options.cssClasses.value); 2682 node.setAttribute("data-value", value); 2683 node.style[options.style] = offset + "%"; 2684 node.innerHTML = formatter.to(value); 2685 } 2686 } 2687 2688 // Append all points. 2689 Object.keys(spread).forEach(function(offset) { 2690 addSpread(offset, spread[offset][0], spread[offset][1]); 2691 }); 2692 2693 return element; 2694 } 2695 2696 function removePips() { 2697 if (scope_Pips) { 2698 removeElement(scope_Pips); 2699 scope_Pips = null; 2700 } 2701 } 2702 2703 function pips(grid) { 2704 // Fix #669 2705 removePips(); 2706 2707 var mode = grid.mode; 2708 var density = grid.density || 1; 2709 var filter = grid.filter || false; 2710 var values = grid.values || false; 2711 var stepped = grid.stepped || false; 2712 var group = getGroup(mode, values, stepped); 2713 var spread = generateSpread(density, mode, group); 2714 var format = grid.format || { 2715 to: Math.round 2716 }; 2717 2718 scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format)); 2719 2720 return scope_Pips; 2721 } 2722 2723 // Shorthand for base dimensions. 2724 function baseSize() { 2725 var rect = scope_Base.getBoundingClientRect(); 2726 var alt = "offset" + ["Width", "Height"][options.ort]; 2727 return options.ort === 0 ? rect.width || scope_Base[alt] : rect.height || scope_Base[alt]; 2728 } 2729 2730 // Handler for attaching events trough a proxy. 2731 function attachEvent(events, element, callback, data) { 2732 // This function can be used to 'filter' events to the slider. 2733 // element is a node, not a nodeList 2734 2735 var method = function(e) { 2736 e = fixEvent(e, data.pageOffset, data.target || element); 2737 2738 // fixEvent returns false if this event has a different target 2739 // when handling (multi-) touch events; 2740 if (!e) { 2741 return false;
vendor: 9,474 bytes, lines 2742-2972
2742 } 2743 2744 // doNotReject is passed by all end events to make sure released touches 2745 // are not rejected, leaving the slider "stuck" to the cursor; 2746 if (isSliderDisabled() && !data.doNotReject) { 2747 return false; 2748 } 2749 2750 // Stop if an active 'tap' transition is taking place. 2751 if (hasClass(scope_Target, options.cssClasses.tap) && !data.doNotReject) { 2752 return false; 2753 } 2754 2755 // Ignore right or middle clicks on start #454 2756 if (events === actions.start && e.buttons !== undefined && e.buttons > 1) { 2757 return false; 2758 } 2759 2760 // Ignore right or middle clicks on start #454 2761 if (data.hover && e.buttons) { 2762 return false; 2763 } 2764 2765 // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS. 2766 // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support 2767 // touch-action: manipulation, but that allows panning, which breaks 2768 // sliders after zooming/on non-responsive pages. 2769 // See: https://bugs.webkit.org/show_bug.cgi?id=133112 2770 if (!supportsPassive) { 2771 e.preventDefault(); 2772 } 2773 2774 e.calcPoint = e.points[options.ort]; 2775 2776 // Call the event handler with the event [ and additional data ]. 2777 callback(e, data); 2778 }; 2779 2780 var methods = []; 2781 2782 // Bind a closure on the target for every event type. 2783 events.split(" ").forEach(function(eventName) { 2784 element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false); 2785 methods.push([eventName, method]); 2786 }); 2787 2788 return methods; 2789 } 2790 2791 // Provide a clean event with standardized offset values. 2792 function fixEvent(e, pageOffset, eventTarget) { 2793 // Filter the event to register the type, which can be 2794 // touch, mouse or pointer. Offset changes need to be 2795 // made on an event specific basis. 2796 var touch = e.type.indexOf("touch") === 0; 2797 var mouse = e.type.indexOf("mouse") === 0; 2798 var pointer = e.type.indexOf("pointer") === 0; 2799 2800 var x; 2801 var y; 2802 2803 // IE10 implemented pointer events with a prefix; 2804 if (e.type.indexOf("MSPointer") === 0) { 2805 pointer = true; 2806 } 2807 2808 // The only thing one handle should be concerned about is the touches that originated on top of it. 2809 if (touch) { 2810 // Returns true if a touch originated on the target. 2811 var isTouchOnTarget = function(checkTouch) { 2812 return checkTouch.target === eventTarget || eventTarget.contains(checkTouch.target); 2813 }; 2814 2815 // In the case of touchstart events, we need to make sure there is still no more than one 2816 // touch on the target so we look amongst all touches. 2817 if (e.type === "touchstart") { 2818 var targetTouches = Array.prototype.filter.call(e.touches, isTouchOnTarget); 2819 2820 // Do not support more than one touch per handle. 2821 if (targetTouches.length > 1) { 2822 return false; 2823 } 2824 2825 x = targetTouches[0].pageX; 2826 y = targetTouches[0].pageY; 2827 } else { 2828 // In the other cases, find on changedTouches is enough. 2829 var targetTouch = Array.prototype.find.call(e.changedTouches, isTouchOnTarget); 2830 2831 // Cancel if the target touch has not moved. 2832 if (!targetTouch) { 2833 return false; 2834 } 2835 2836 x = targetTouch.pageX; 2837 y = targetTouch.pageY; 2838 } 2839 } 2840 2841 pageOffset = pageOffset || getPageOffset(scope_Document); 2842 2843 if (mouse || pointer) { 2844 x = e.clientX + pageOffset.x; 2845 y = e.clientY + pageOffset.y; 2846 } 2847 2848 e.pageOffset = pageOffset; 2849 e.points = [x, y]; 2850 e.cursor = mouse || pointer; // Fix #435 2851 2852 return e; 2853 } 2854 2855 // Translate a coordinate in the document to a percentage on the slider 2856 function calcPointToPercentage(calcPoint) { 2857 var location = calcPoint - offset(scope_Base, options.ort); 2858 var proposal = (location * 100) / baseSize(); 2859 2860 // Clamp proposal between 0% and 100% 2861 // Out-of-bound coordinates may occur when .noUi-base pseudo-elements 2862 // are used (e.g. contained handles feature) 2863 proposal = limit(proposal); 2864 2865 return options.dir ? 100 - proposal : proposal; 2866 } 2867 2868 // Find handle closest to a certain percentage on the slider 2869 function getClosestHandle(clickedPosition) { 2870 var smallestDifference = 100; 2871 var handleNumber = false; 2872 2873 scope_Handles.forEach(function(handle, index) { 2874 // Disabled handles are ignored 2875 if (isHandleDisabled(index)) { 2876 return; 2877 } 2878 2879 var handlePosition = scope_Locations[index]; 2880 var differenceWithThisHandle = Math.abs(handlePosition - clickedPosition); 2881 2882 // Initial state 2883 var clickAtEdge = differenceWithThisHandle === 100 && smallestDifference === 100; 2884 2885 // Difference with this handle is smaller than the previously checked handle 2886 var isCloser = differenceWithThisHandle < smallestDifference; 2887 var isCloserAfter = differenceWithThisHandle <= smallestDifference && clickedPosition > handlePosition; 2888 2889 if (isCloser || isCloserAfter || clickAtEdge) { 2890 handleNumber = index; 2891 smallestDifference = differenceWithThisHandle; 2892 } 2893 }); 2894 2895 return handleNumber; 2896 } 2897 2898 // Fire 'end' when a mouse or pen leaves the document. 2899 function documentLeave(event, data) { 2900 if (event.type === "mouseout" && event.target.nodeName === "HTML" && event.relatedTarget === null) { 2901 eventEnd(event, data); 2902 } 2903 } 2904 2905 // Handle movement on document for handle and range drag. 2906 function eventMove(event, data) { 2907 // Fix #498 2908 // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty). 2909 // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero 2910 // IE9 has .buttons and .which zero on mousemove. 2911 // Firefox breaks the spec MDN defines. 2912 if (navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0) { 2913 return eventEnd(event, data); 2914 } 2915 2916 // Check if we are moving up or down 2917 var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint); 2918 2919 // Convert the movement into a percentage of the slider width/height 2920 var proposal = (movement * 100) / data.baseSize; 2921 2922 moveHandles(movement > 0, proposal, data.locations, data.handleNumbers); 2923 } 2924 2925 // Unbind move events on document, call callbacks. 2926 function eventEnd(event, data) { 2927 // The handle is no longer active, so remove the class. 2928 if (data.handle) { 2929 removeClass(data.handle, options.cssClasses.active); 2930 scope_ActiveHandlesCount -= 1; 2931 } 2932 2933 // Unbind the move and end events, which are added on 'start'. 2934 data.listeners.forEach(function(c) { 2935 scope_DocumentElement.removeEventListener(c[0], c[1]); 2936 }); 2937 2938 if (scope_ActiveHandlesCount === 0) { 2939 // Remove dragging class. 2940 removeClass(scope_Target, options.cssClasses.drag); 2941 setZindex(); 2942 2943 // Remove cursor styles and text-selection events bound to the body. 2944 if (event.cursor) { 2945 scope_Body.style.cursor = ""; 2946 scope_Body.removeEventListener("selectstart", preventDefault); 2947 } 2948 } 2949 2950 data.handleNumbers.forEach(function(handleNumber) { 2951 fireEvent("change", handleNumber); 2952 fireEvent("set", handleNumber); 2953 fireEvent("end", handleNumber); 2954 }); 2955 } 2956 2957 // Bind move events on document. 2958 function eventStart(event, data) { 2959 // Ignore event if any handle is disabled 2960 if (data.handleNumbers.some(isHandleDisabled)) { 2961 return false; 2962 } 2963 2964 var handle; 2965 2966 if (data.handleNumbers.length === 1) { 2967 var handleOrigin = scope_Handles[data.handleNumbers[0]]; 2968 2969 handle = handleOrigin.children[0]; 2970 scope_ActiveHandlesCount += 1; 2971 2972 // Mark the handle as 'active' so it can be styled.
2973 addClass(handle, options.cssClasses.active); 2974 } 2975 2976 // A drag should never propagate up to the 'tap' event. 2977 event.stopPropagation(); 2978 2979 // Record the event listeners. 2980 var listeners = []; 2981 2982 // Attach the move and end events. 2983 var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, { 2984 // The event target has changed so we need to propagate the original one so that we keep 2985 // relying on it to extract target touches. 2986 target: event.target, 2987 handle: handle, 2988 listeners: listeners, 2989 startCalcPoint: event.calcPoint, 2990 baseSize: baseSize(), 2991 pageOffset: event.pageOffset, 2992 handleNumbers: data.handleNumbers, 2993 buttonsProperty: event.buttons, 2994 locations: scope_Locations.slice() 2995 }); 2996 2997 var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, { 2998 target: event.target, 2999 handle: handle, 3000 listeners: listeners, 3001 doNotReject: true, 3002 handleNumbers: data.handleNumbers 3003 }); 3004 3005 var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, { 3006 target: event.target, 3007 handle: handle, 3008 listeners: listeners, 3009 doNotReject: true, 3010 handleNumbers: data.handleNumbers 3011 }); 3012 3013 // We want to make sure we pushed the listeners in the listener list rather than creating 3014 // a new one as it has already been passed to the event handlers. 3015 listeners.push.apply(listeners, moveEvent.concat(endEvent, outEvent)); 3016 3017 // Text selection isn't an issue on touch devices, 3018 // so adding cursor styles can be skipped. 3019 if (event.cursor) { 3020 // Prevent the 'I' cursor and extend the range-drag cursor. 3021 scope_Body.style.cursor = getComputedStyle(event.target).cursor; 3022 3023 // Mark the target with a dragging state. 3024 if (scope_Handles.length > 1) { 3025 addClass(scope_Target, options.cssClasses.drag); 3026 } 3027 3028 // Prevent text selection when dragging the handles. 3029 // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move, 3030 // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52, 3031 // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there. 3032 // The 'cursor' flag is false. 3033 // See: https://caniuse.com/#search=selectstart 3034 scope_Body.addEventListener("selectstart", preventDefault, false); 3035 } 3036 3037 data.handleNumbers.forEach(function(handleNumber) { 3038 fireEvent("start", handleNumber); 3039 }); 3040 } 3041 3042 // Move closest handle to tapped location. 3043 function eventTap(event) { 3044 // The tap event shouldn't propagate up 3045 event.stopPropagation(); 3046 3047 var proposal = calcPointToPercentage(event.calcPoint); 3048 var handleNumber = getClosestHandle(proposal); 3049 3050 // Tackle the case that all handles are 'disabled'. 3051 if (handleNumber === false) { 3052 return false; 3053 } 3054 3055 // Flag the slider as it is now in a transitional state. 3056 // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that. 3057 if (!options.events.snap) { 3058 addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); 3059 } 3060 3061 setHandle(handleNumber, proposal, true, true); 3062 3063 setZindex(); 3064 3065 fireEvent("slide", handleNumber, true); 3066 fireEvent("update", handleNumber, true); 3067 fireEvent("change", handleNumber, true); 3068 fireEvent("set", handleNumber, true); 3069 3070 if (options.events.snap) { 3071 eventStart(event, { handleNumbers: [handleNumber] }); 3072 } 3073 } 3074 3075 // Fires a 'hover' event for a hovered mouse/pen position. 3076 function eventHover(event) { 3077 var proposal = calcPointToPercentage(event.calcPoint); 3078 3079 var to = scope_Spectrum.getStep(proposal); 3080 var value = scope_Spectrum.fromStepping(to); 3081
3082 Object.keys(scope_Events).forEach(function(targetEvent) { 3083 if ("hover" === targetEvent.split(".")[0]) { 3084 scope_Events[targetEvent].forEach(function(callback) { 3085 callback.call(scope_Self, value); 3086 }); 3087 } 3088 }); 3089 } 3090 3091 // Handles keydown on focused handles 3092 // Don't move the document when pressing arrow keys on focused handles 3093 function eventKeydown(event, handleNumber) { 3094 if (isSliderDisabled() || isHandleDisabled(handleNumber)) { 3095 return false; 3096 } 3097 3098 var horizontalKeys = ["Left", "Right"]; 3099 var verticalKeys = ["Down", "Up"]; 3100 3101 if (options.dir && !options.ort) { 3102 // On an right-to-left slider, the left and right keys act inverted 3103 horizontalKeys.reverse(); 3104 } else if (options.ort && !options.dir) { 3105 // On a top-to-bottom slider, the up and down keys act inverted 3106 verticalKeys.reverse(); 3107 } 3108 3109 // Strip "Arrow" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key 3110 var key = event.key.replace("Arrow", ""); 3111 var isDown = key === verticalKeys[0] || key === horizontalKeys[0]; 3112 var isUp = key === verticalKeys[1] || key === horizontalKeys[1]; 3113 3114 if (!isDown && !isUp) { 3115 return true; 3116 } 3117 3118 event.preventDefault(); 3119 3120 var direction = isDown ? 0 : 1; 3121 var steps = getNextStepsForHandle(handleNumber); 3122 var step = steps[direction]; 3123 3124 // At the edge of a slider, do nothing 3125 if (step === null) { 3126 return false; 3127 } 3128 3129 // No step set, use the default of 10% of the sub-range 3130 if (step === false) { 3131 step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, 10); 3132 } 3133 3134 // Step over zero-length ranges (#948); 3135 step = Math.max(step, 0.0000001); 3136 3137 // Decrement for down steps 3138 step = (isDown ? -1 : 1) * step; 3139 3140 setHandle(handleNumber, scope_Spectrum.toStepping(scope_Values[handleNumber] + step), true, true); 3141 3142 fireEvent("slide", handleNumber); 3143 fireEvent("update", handleNumber); 3144 fireEvent("change", handleNumber); 3145 fireEvent("set", handleNumber); 3146 3147 return false; 3148 } 3149 3150 // Attach events to several slider parts. 3151 function bindSliderEvents(behaviour) { 3152 // Attach the standard drag event to the handles. 3153 if (!behaviour.fixed) { 3154 scope_Handles.forEach(function(handle, index) { 3155 // These events are only bound to the visual handle 3156 // element, not the 'real' origin element. 3157 attachEvent(actions.start, handle.children[0], eventStart, { 3158 handleNumbers: [index] 3159 }); 3160 }); 3161 } 3162 3163 // Attach the tap event to the slider base. 3164 if (behaviour.tap) { 3165 attachEvent(actions.start, scope_Base, eventTap, {}); 3166 } 3167 3168 // Fire hover events 3169 if (behaviour.hover) { 3170 attachEvent(actions.move, scope_Base, eventHover, { 3171 hover: true 3172 }); 3173 } 3174 3175 // Make the range draggable. 3176 if (behaviour.drag) { 3177 scope_Connects.forEach(function(connect, index) { 3178 if (connect === false || index === 0 || index === scope_Connects.length - 1) { 3179 return; 3180 } 3181 3182 var handleBefore = scope_Handles[index - 1]; 3183 var handleAfter = scope_Handles[index]; 3184 var eventHolders = [connect]; 3185 3186 addClass(connect, options.cssClasses.draggable); 3187 3188 // When the range is fixed, the entire range can 3189 // be dragged by the handles. The handle in the first 3190 // origin will propagate the start event upward, 3191 // but it needs to be bound manually on the other. 3192 if (behaviour.fixed) { 3193 eventHolders.push(handleBefore.children[0]); 3194 eventHolders.push(handleAfter.children[0]); 3195 } 3196
3197 eventHolders.forEach(function(eventHolder) { 3198 attachEvent(actions.start, eventHolder, eventStart, { 3199 handles: [handleBefore, handleAfter], 3200 handleNumbers: [index - 1, index] 3201 }); 3202 }); 3203 }); 3204 } 3205 } 3206 3207 // Attach an event to this slider, possibly including a namespace 3208 function bindEvent(namespacedEvent, callback) { 3209 scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || []; 3210 scope_Events[namespacedEvent].push(callback); 3211 3212 // If the event bound is 'update,' fire it immediately for all handles. 3213 if (namespacedEvent.split(".")[0] === "update") { 3214 scope_Handles.forEach(function(a, index) { 3215 fireEvent("update", index); 3216 }); 3217 } 3218 } 3219 3220 // Undo attachment of event 3221 function removeEvent(namespacedEvent) { 3222 var event = namespacedEvent && namespacedEvent.split(".")[0]; 3223 var namespace = event && namespacedEvent.substring(event.length); 3224 3225 Object.keys(scope_Events).forEach(function(bind) { 3226 var tEvent = bind.split(".")[0]; 3227 var tNamespace = bind.substring(tEvent.length); 3228 3229 if ((!event || event === tEvent) && (!namespace || namespace === tNamespace)) { 3230 delete scope_Events[bind]; 3231 } 3232 }); 3233 } 3234 3235 // External event handling 3236 function fireEvent(eventName, handleNumber, tap) { 3237 Object.keys(scope_Events).forEach(function(targetEvent) { 3238 var eventType = targetEvent.split(".")[0]; 3239 3240 if (eventName === eventType) { 3241 scope_Events[targetEvent].forEach(function(callback) { 3242 callback.call( 3243 // Use the slider public API as the scope ('this') 3244 scope_Self, 3245 // Return values as array, so arg_1[arg_2] is always valid. 3246 scope_Values.map(options.format.to), 3247 // Handle index, 0 or 1 3248 handleNumber, 3249 // Un-formatted slider values 3250 scope_Values.slice(), 3251 // Event is fired by tap, true or false 3252 tap || false, 3253 // Left offset of the handle, in relation to the slider 3254 scope_Locations.slice() 3255 ); 3256 }); 3257 } 3258 }); 3259 } 3260 3261 // Split out the handle positioning logic so the Move event can use it, too 3262 function checkHandlePosition(reference, handleNumber, to, lookBackward, lookForward, getValue) { 3263 // For sliders with multiple handles, limit movement to the other handle. 3264 // Apply the margin option by adding it to the handle positions. 3265 if (scope_Handles.length > 1 && !options.events.unconstrained) { 3266 if (lookBackward && handleNumber > 0) { 3267 to = Math.max(to, reference[handleNumber - 1] + options.margin); 3268 } 3269 3270 if (lookForward && handleNumber < scope_Handles.length - 1) { 3271 to = Math.min(to, reference[handleNumber + 1] - options.margin); 3272 } 3273 } 3274 3275 // The limit option has the opposite effect, limiting handles to a 3276 // maximum distance from another. Limit must be > 0, as otherwise 3277 // handles would be unmovable. 3278 if (scope_Handles.length > 1 && options.limit) { 3279 if (lookBackward && handleNumber > 0) { 3280 to = Math.min(to, reference[handleNumber - 1] + options.limit); 3281 } 3282 3283 if (lookForward && handleNumber < scope_Handles.length - 1) { 3284 to = Math.max(to, reference[handleNumber + 1] - options.limit); 3285 } 3286 } 3287 3288 // The padding option keeps the handles a certain distance from the 3289 // edges of the slider. Padding must be > 0. 3290 if (options.padding) { 3291 if (handleNumber === 0) { 3292 to = Math.max(to, options.padding[0]); 3293 } 3294 3295 if (handleNumber === scope_Handles.length - 1) { 3296 to = Math.min(to, 100 - options.padding[1]); 3297 } 3298 } 3299 3300 to = scope_Spectrum.getStep(to); 3301 3302 // Limit percentage to the 0 - 100 range 3303 to = limit(to); 3304 3305 // Return false if handle can't move 3306 if (to === reference[handleNumber] && !getValue) { 3307 return false;
3308 } 3309 3310 return to; 3311 } 3312 3313 // Uses slider orientation to create CSS rules. a = base value; 3314 function inRuleOrder(v, a) { 3315 var o = options.ort; 3316 return (o ? a : v) + ", " + (o ? v : a); 3317 } 3318 3319 // Moves handle(s) by a percentage 3320 // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...]) 3321 function moveHandles(upward, proposal, locations, handleNumbers) { 3322 var proposals = locations.slice(); 3323 3324 var b = [!upward, upward]; 3325 var f = [upward, !upward]; 3326 3327 // Copy handleNumbers so we don't change the dataset 3328 handleNumbers = handleNumbers.slice(); 3329 3330 // Check to see which handle is 'leading'. 3331 // If that one can't move the second can't either. 3332 if (upward) { 3333 handleNumbers.reverse(); 3334 } 3335 3336 // Step 1: get the maximum percentage that any of the handles can move 3337 if (handleNumbers.length > 1) { 3338 handleNumbers.forEach(function(handleNumber, o) { 3339 var to = checkHandlePosition( 3340 proposals, 3341 handleNumber, 3342 proposals[handleNumber] + proposal, 3343 b[o], 3344 f[o], 3345 false 3346 ); 3347 3348 // Stop if one of the handles can't move. 3349 if (to === false) { 3350 proposal = 0; 3351 } else { 3352 proposal = to - proposals[handleNumber]; 3353 proposals[handleNumber] = to; 3354 } 3355 }); 3356 } 3357 3358 // If using one handle, check backward AND forward 3359 else { 3360 b = f = [true]; 3361 } 3362 3363 var state = false; 3364 3365 // Step 2: Try to set the handles with the found percentage 3366 handleNumbers.forEach(function(handleNumber, o) { 3367 state = setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o]) || state; 3368 }); 3369 3370 // Step 3: If a handle moved, fire events 3371 if (state) { 3372 handleNumbers.forEach(function(handleNumber) { 3373 fireEvent("update", handleNumber); 3374 fireEvent("slide", handleNumber); 3375 }); 3376 } 3377 } 3378 3379 // Takes a base value and an offset. This offset is used for the connect bar size. 3380 // In the initial design for this feature, the origin element was 1% wide. 3381 // Unfortunately, a rounding bug in Chrome makes it impossible to implement this feature 3382 // in this manner: https://bugs.chromium.org/p/chromium/issues/detail?id=798223 3383 function transformDirection(a, b) { 3384 return options.dir ? 100 - a - b : a; 3385 } 3386 3387 // Updates scope_Locations and scope_Values, updates visual state 3388 function updateHandlePosition(handleNumber, to) { 3389 // Update locations. 3390 scope_Locations[handleNumber] = to; 3391 3392 // Convert the value to the slider stepping/range. 3393 scope_Values[handleNumber] = scope_Spectrum.fromStepping(to); 3394 3395 var translation = 10 * (transformDirection(to, 0) - scope_DirOffset); 3396 var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")"; 3397 3398 scope_Handles[handleNumber].style[options.transformRule] = translateRule; 3399 3400 updateConnect(handleNumber); 3401 updateConnect(handleNumber + 1); 3402 } 3403 3404 // Handles before the slider middle are stacked later = higher, 3405 // Handles after the middle later is lower 3406 // [[7] [8] .......... | .......... [5] [4] 3407 function setZindex() { 3408 scope_HandleNumbers.forEach(function(handleNumber) { 3409 var dir = scope_Locations[handleNumber] > 50 ? -1 : 1; 3410 var zIndex = 3 + (scope_Handles.length + dir * handleNumber); 3411 scope_Handles[handleNumber].style.zIndex = zIndex; 3412 }); 3413 } 3414 3415 // Test suggested values and apply margin, step. 3416 function setHandle(handleNumber, to, lookBackward, lookForward) { 3417 to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false); 3418 3419 if (to === false) { 3420 return false;
3421 } 3422 3423 updateHandlePosition(handleNumber, to); 3424 3425 return true; 3426 } 3427 3428 // Updates style attribute for connect nodes 3429 function updateConnect(index) { 3430 // Skip connects set to false 3431 if (!scope_Connects[index]) { 3432 return; 3433 } 3434 3435 var l = 0; 3436 var h = 100; 3437 3438 if (index !== 0) { 3439 l = scope_Locations[index - 1]; 3440 } 3441 3442 if (index !== scope_Connects.length - 1) { 3443 h = scope_Locations[index]; 3444 } 3445 3446 // We use two rules: 3447 // 'translate' to change the left/top offset; 3448 // 'scale' to change the width of the element; 3449 // As the element has a width of 100%, a translation of 100% is equal to 100% of the parent (.noUi-base) 3450 var connectWidth = h - l; 3451 var translateRule = "translate(" + inRuleOrder(transformDirection(l, connectWidth) + "%", "0") + ")"; 3452 var scaleRule = "scale(" + inRuleOrder(connectWidth / 100, "1") + ")"; 3453 3454 scope_Connects[index].style[options.transformRule] = translateRule + " " + scaleRule; 3455 } 3456 3457 // Parses value passed to .set method. Returns current value if not parse-able. 3458 function resolveToValue(to, handleNumber) { 3459 // Setting with null indicates an 'ignore'. 3460 // Inputting 'false' is invalid. 3461 if (to === null || to === false || to === undefined) { 3462 return scope_Locations[handleNumber]; 3463 } 3464 3465 // If a formatted number was passed, attempt to decode it. 3466 if (typeof to === "number") { 3467 to = String(to); 3468 } 3469 3470 to = options.format.from(to); 3471 to = scope_Spectrum.toStepping(to); 3472 3473 // If parsing the number failed, use the current value. 3474 if (to === false || isNaN(to)) { 3475 return scope_Locations[handleNumber]; 3476 } 3477 3478 return to; 3479 } 3480 3481 // Set the slider value. 3482 function valueSet(input, fireSetEvent) { 3483 var values = asArray(input); 3484 var isInit = scope_Locations[0] === undefined; 3485 3486 // Event fires by default 3487 fireSetEvent = fireSetEvent === undefined ? true : !!fireSetEvent; 3488 3489 // Animation is optional. 3490 // Make sure the initial values were set before using animated placement. 3491 if (options.animate && !isInit) { 3492 addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); 3493 } 3494 3495 // First pass, without lookAhead but with lookBackward. Values are set from left to right. 3496 scope_HandleNumbers.forEach(function(handleNumber) { 3497 setHandle(handleNumber, resolveToValue(values[handleNumber], handleNumber), true, false); 3498 }); 3499 3500 // Second pass. Now that all base values are set, apply constraints 3501 scope_HandleNumbers.forEach(function(handleNumber) { 3502 setHandle(handleNumber, scope_Locations[handleNumber], true, true); 3503 }); 3504 3505 setZindex(); 3506 3507 scope_HandleNumbers.forEach(function(handleNumber) { 3508 fireEvent("update", handleNumber); 3509 3510 // Fire the event only for handles that received a new value, as per #579 3511 if (values[handleNumber] !== null && fireSetEvent) { 3512 fireEvent("set", handleNumber); 3513 } 3514 }); 3515 } 3516 3517 // Reset slider to initial values 3518 function valueReset(fireSetEvent) { 3519 valueSet(options.start, fireSetEvent); 3520 } 3521 3522 // Set value for a single handle 3523 function valueSetHandle(handleNumber, value, fireSetEvent) { 3524 // Ensure numeric input 3525 handleNumber = Number(handleNumber); 3526 3527 if (!(handleNumber >= 0 && handleNumber < scope_HandleNumbers.length)) { 3528 throw new Error("noUiSlider (" + VERSION + "): invalid handle number, got: " + handleNumber); 3529 } 3530 3531 // Look both backward and forward, since we don't want this handle to "push" other handles (#960); 3532 setHandle(handleNumber, resolveToValue(value, handleNumber), true, true); 3533 3534 fireEvent("update", handleNumber); 3535 3536 if (fireSetEvent) { 3537 fireEvent("set", handleNumber); 3538 } 3539 } 3540 3541 // Get the slider value. 3542 function valueGet() { 3543 var values = scope_Values.map(options.format.to); 3544 3545 // If only one handle is used, return a single value. 3546 if (values.length === 1) { 3547 return values[0]; 3548 } 3549 3550 return values; 3551 } 3552 3553 // Removes classes from the root and empties it. 3554 function destroy() {
vendor: 7,410 bytes, lines 3555-3768
3555 for (var key in options.cssClasses) { 3556 if (!options.cssClasses.hasOwnProperty(key)) { 3557 continue; 3558 } 3559 removeClass(scope_Target, options.cssClasses[key]); 3560 } 3561 3562 while (scope_Target.firstChild) { 3563 scope_Target.removeChild(scope_Target.firstChild); 3564 } 3565 3566 delete scope_Target.noUiSlider; 3567 } 3568 3569 function getNextStepsForHandle(handleNumber) { 3570 var location = scope_Locations[handleNumber]; 3571 var nearbySteps = scope_Spectrum.getNearbySteps(location); 3572 var value = scope_Values[handleNumber]; 3573 var increment = nearbySteps.thisStep.step; 3574 var decrement = null; 3575 3576 // If snapped, directly use defined step value 3577 if (options.snap) { 3578 return [ 3579 value - nearbySteps.stepBefore.startValue || null, 3580 nearbySteps.stepAfter.startValue - value || null 3581 ]; 3582 } 3583 3584 // If the next value in this step moves into the next step, 3585 // the increment is the start of the next step - the current value 3586 if (increment !== false) { 3587 if (value + increment > nearbySteps.stepAfter.startValue) { 3588 increment = nearbySteps.stepAfter.startValue - value; 3589 } 3590 } 3591 3592 // If the value is beyond the starting point 3593 if (value > nearbySteps.thisStep.startValue) { 3594 decrement = nearbySteps.thisStep.step; 3595 } else if (nearbySteps.stepBefore.step === false) { 3596 decrement = false; 3597 } 3598 3599 // If a handle is at the start of a step, it always steps back into the previous step first 3600 else { 3601 decrement = value - nearbySteps.stepBefore.highestStep; 3602 } 3603 3604 // Now, if at the slider edges, there is no in/decrement 3605 if (location === 100) { 3606 increment = null; 3607 } else if (location === 0) { 3608 decrement = null; 3609 } 3610 3611 // As per #391, the comparison for the decrement step can have some rounding issues. 3612 var stepDecimals = scope_Spectrum.countStepDecimals(); 3613 3614 // Round per #391 3615 if (increment !== null && increment !== false) { 3616 increment = Number(increment.toFixed(stepDecimals)); 3617 } 3618 3619 if (decrement !== null && decrement !== false) { 3620 decrement = Number(decrement.toFixed(stepDecimals)); 3621 } 3622 3623 return [decrement, increment]; 3624 } 3625 3626 // Get the current step size for the slider. 3627 function getNextSteps() { 3628 return scope_HandleNumbers.map(getNextStepsForHandle); 3629 } 3630 3631 // Updateable: margin, limit, padding, step, range, animate, snap 3632 function updateOptions(optionsToUpdate, fireSetEvent) { 3633 // Spectrum is created using the range, snap, direction and step options. 3634 // 'snap' and 'step' can be updated. 3635 // If 'snap' and 'step' are not passed, they should remain unchanged. 3636 var v = valueGet(); 3637 3638 var updateAble = [ 3639 "margin", 3640 "limit", 3641 "padding", 3642 "range", 3643 "animate", 3644 "snap", 3645 "step", 3646 "format", 3647 "pips", 3648 "tooltips" 3649 ]; 3650 3651 // Only change options that we're actually passed to update. 3652 updateAble.forEach(function(name) { 3653 // Check for undefined. null removes the value. 3654 if (optionsToUpdate[name] !== undefined) { 3655 originalOptions[name] = optionsToUpdate[name]; 3656 } 3657 }); 3658 3659 var newOptions = testOptions(originalOptions); 3660 3661 // Load new options into the slider state 3662 updateAble.forEach(function(name) { 3663 if (optionsToUpdate[name] !== undefined) { 3664 options[name] = newOptions[name]; 3665 } 3666 }); 3667 3668 scope_Spectrum = newOptions.spectrum; 3669 3670 // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677) 3671 options.margin = newOptions.margin; 3672 options.limit = newOptions.limit; 3673 options.padding = newOptions.padding; 3674 3675 // Update pips, removes existing. 3676 if (options.pips) { 3677 pips(options.pips); 3678 } else { 3679 removePips(); 3680 } 3681 3682 // Update tooltips, removes existing. 3683 if (options.tooltips) { 3684 tooltips(); 3685 } else { 3686 removeTooltips(); 3687 } 3688 3689 // Invalidate the current positioning so valueSet forces an update. 3690 scope_Locations = []; 3691 valueSet(optionsToUpdate.start || v, fireSetEvent); 3692 } 3693 3694 // Initialization steps 3695 function setupSlider() { 3696 // Create the base element, initialize HTML and set classes. 3697 // Add handles and connect elements. 3698 scope_Base = addSlider(scope_Target); 3699 3700 addElements(options.connect, scope_Base); 3701 3702 // Attach user events. 3703 bindSliderEvents(options.events); 3704 3705 // Use the public value method to set the start values. 3706 valueSet(options.start); 3707 3708 if (options.pips) { 3709 pips(options.pips); 3710 } 3711 3712 if (options.tooltips) { 3713 tooltips(); 3714 } 3715 3716 aria(); 3717 } 3718 3719 setupSlider(); 3720 3721 // noinspection JSUnusedGlobalSymbols 3722 scope_Self = { 3723 destroy: destroy, 3724 steps: getNextSteps, 3725 on: bindEvent, 3726 off: removeEvent, 3727 get: valueGet, 3728 set: valueSet, 3729 setHandle: valueSetHandle, 3730 reset: valueReset, 3731 // Exposed for unit testing, don't use this in your application. 3732 __moveHandles: function(a, b, c) { 3733 moveHandles(a, b, scope_Locations, c); 3734 }, 3735 options: originalOptions, // Issue #600, #678 3736 updateOptions: updateOptions, 3737 target: scope_Target, // Issue #597 3738 removePips: removePips, 3739 removeTooltips: removeTooltips, 3740 pips: pips // Issue #594 3741 }; 3742 3743 return scope_Self; 3744 } 3745 3746 // Run the standard initializer 3747 function initialize(target, originalOptions) { 3748 if (!target || !target.nodeName) { 3749 throw new Error("noUiSlider (" + VERSION + "): create requires a single element, got: " + target); 3750 } 3751 3752 // Throw an error if the slider was already initialized. 3753 if (target.noUiSlider) { 3754 throw new Error("noUiSlider (" + VERSION + "): Slider was already initialized."); 3755 } 3756 3757 // Test the options and create the slider environment; 3758 var options = testOptions(originalOptions, target); 3759 var api = scope(target, options, originalOptions); 3760 3761 target.noUiSlider = api; 3762 3763 return api; 3764 } 3765 3766 // Use an object instead of a function for future expandability; 3767 return { 3768 // Exposed for unit testing, don't use this in your application.
3769 __spectrum: Spectrum, 3770 version: VERSION, 3771 create: initialize 3772 }; 3773}); 3774 3775ko.bindingHandlers.noUiSlider = { 3776 init: function (element, valueAccessor, allBindingsAccesor, viewModel, bindingContext) { 3777 var params = valueAccessor(); 3778 3779 noUiSlider.create(element, { 3780 start: [0], 3781 range: { 3782 'min': params.minValue, 3783 'max': params.maxValue 3784 }, 3785 connect: true, 3786 step: 1, 3787 }); 3788 element.noUiSlider.on('update', function(values, handle) { 3789 var value = values[handle]; 3790 params.value(parseInt(value)); 3791 }); 3792 3793 }, 3794 3795 update: function (element, valueAccessor, allBindingsAccesor, viewModel, bindingContext) { 3796 var options = valueAccessor() || {}; 3797 var slider = element.noUiSlider; 3798 if(!slider) 3799 return; 3800 var disabled = options.disabled(); 3801 3802 if(disabled) 3803 { 3804 element.setAttribute('disabled', true); 3805 3806 } 3807 else{ 3808 element.removeAttribute('disabled'); 3809 } 3810 } 3811}; 3812 3813ko.bindingHandlers.slider = { 3814 init: function(element, valueAccessor, allBindingsAccessor) { 3815 var params = valueAccessor(); 3816 noUiSlider.create(element, { 3817 start: [0], 3818 range: { 3819 'min': params.minValue, 3820 'max': params.maxValue 3821 }, 3822 connect: true, 3823 step: 1, 3824 }); 3825 var ignoreObservableChanges = false; 3826 3827 // works with with noUiSlider but not with knockout event bindings 3828 element.noUiSlider.on('set', function(values, handle) { 3829 var value = values[handle]; 3830 ignoreObservableChanges = true; 3831 params.value(parseInt(value)); 3832 ignoreObservableChanges = false; 3833 }); 3834 3835 // works with with noUiSlider but not with knockout event bindings 3836 element.noUiSlider.on('update', function(values, handle) { 3837 var value = values[handle]; 3838 ignoreObservableChanges = true; 3839 params.value(parseInt(value)); 3840 ignoreObservableChanges = false; 3841 }); 3842 3843 params.value.subscribe(function(newValue) { 3844 if (ignoreObservableChanges) { 3845 return; 3846 } 3847 3848 element.noUiSlider.set(ko.utils.unwrapObservable(newValue)); 3849 }); 3850 3851 ko.utils.domNodeDisposal.addDisposeCallback(element, function() { 3852 element.noUiSlider.destroy(); 3853 }); 3854 }, 3855 update: function(element, valueAccessor) { 3856 3857 } 3858}; 3859 3860</script>
3860 3861<!--BEGIN: TRACKING CODE MANAGER (v2.8.0) BY INTELLYWP.COM IN HEAD//-->
3862<script async src="https://gstatic.com/conversions/gclidless.js"></script>
vendor: 1 bytes, line 3862
3862
3863<script> 3864window.addEventListener('load', function(event) { gclidless.setUp(); 3865}); </script>
vendor: 1 bytes, line 3865
3865
3866<script src="https://www.googleoptimize.com/optimize.js?id=OPT-P6G66Q6"></script>
3866 3867 3868 3869<!-- Google Tag Manager -->
3870<script>
vendor: 327 bytes, lines 3870-3874
3870(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3871new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 3872j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 3873'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 3874})(window,document,'script','dataLayer','
3874GTM-5CVZWQ3
vendor: 3 bytes, line 3874
3874');
3874</script>
3874 3875
3876<script>
vendor: 327 bytes, lines 3876-3880
3876(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3877new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 3878j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 3879'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 3880})(window,document,'script','dataLayer','
3880GTM-WXFSX68
vendor: 3 bytes, line 3880
3880');
3880</script>
3880 3881<!-- End Google Tag Manager --> 3882 3883<!-- Facebook Conversion Tracking -->
3884<script type="text/javascript"> 3885 var myIframeCover = document.querySelector('#facebook-chat-start-conversion'); 3886 myIframeCover.addEventListener("click", function() { 3887 myIframeCover.style.display = 'none'; 3888 }); 3889</script>
3889 3890
3891<script> 3892jQuery(function ($) { 3893 $('#facebook-chat-start-conversion').on("click", function(e) { 3894 $('#facebook-chat-start-conversion').addClass('hidden'); 3895 }); 3896}); 3897</script>
3897 3898<!--END: https://wordpress.org/plugins/tracking-code-manager IN HEAD//--><meta name="generator" content="Elementor 4.3.3; features: additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-auto"> 3899 <style> 3900 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), 3901 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * { 3902 background-image: none !important; 3903 } 3904 @media screen and (max-height: 1024px) { 3905 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), 3906 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * { 3907 background-image: none !important; 3908 } 3909 } 3910 @media screen and (max-height: 640px) { 3911 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), 3912 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * { 3913 background-image: none !important; 3914 } 3915 } 3916 </style> 3917 <link rel="stylesheet" href="https://use.typekit.net/stj0tgn.css">
3917<script id='nitro-generic' nitro-exclude>(()=>{if(window.NitroPack=window.NitroPack||{coreVersion:"na",isCounted:!1},!window.NitroPack.isCounted){window.NitroPack.isCounted=!0;const e=()=>{let e=performance?.getEntriesByType?.("navigation")?.[0];return document.prerendering||e?.activationStart>0?"_prr":"navigational-prefetch"===e?.deliveryType||void 0===e?.deliveryType&&e&&e.responseStart-e.requestStart<=5?"_pre":"_dow"},i=(e,i)=>{navigator.sendBeacon("https://to.getnitropack.com/p",JSON.stringify({siteId:"toEDnGIJVqyYgDVctlcjyrrZBmZBwQLg",url:window.location.href,referrer:i||"",isOptimized:!!window.IS_NITROPACK,coreVersion:"na",missReason:window.NPTelemetryMetadata?.missReason||"",pageType:window.NPTelemetryMetadata?.pageType||"",isEligibleForOptimization:!!window.NPTelemetryMetadata?.isEligibleForOptimization||!1,pageLoadMode:e}))};(async()=>{await new Promise(e=>{document.prerendering?document.addEventListener("prerenderingchange",e,{once:!0}):e()}),await new Promise(e=>{"complete"===document.readyState?e():window.addEventListener("load",e)}),i(e(),document.referrer)})(),window.addEventListener("pageshow",e=>{if(e.persisted){let e=document.prerendering||self.performance?.getEntriesByType?.("navigation")[0]?.activationStart>0;"visible"!==document.visibilityState||e||i("_bfr","")}})}})();</script>
3917<link rel="icon" href="https://www.primeinc.com/wp-content/uploads/2019/04/cropped-Prime_Favicon_1-32x32.png" sizes="32x32" /> 3918<link rel="icon" href="https://www.primeinc.com/wp-content/uploads/2019/04/cropped-Prime_Favicon_1-192x192.png" sizes="192x192" /> 3919<link rel="apple-touch-icon" href="https://www.primeinc.com/wp-content/uploads/2019/04/cropped-Prime_Favicon_1-180x180.png" /> 3920<meta name="msapplication-TileImage" content="https://www.primeinc.com/wp-content/uploads/2019/04/cropped-Prime_Favicon_1-270x270.png" /> 3921<style id="wp-custom-css"> 3922 3923/*** Global Text Styling ***/ 3924 3925/* H1 */ 3926h1.elementor-heading-title.elementor-size-default { 3927 line-height: 1em; 3928} 3929 3930/* H4 */ 3931h4.elementor-heading-title.elementor-size-default { 3932 font-family: "ff-good-web-pro", Sans-serif; 3933 letter-spacing: 1px; 3934} 3935 3936a.terms-conditions { 3937 color: #35e7fc; 3938} 3939 3940a.terms-conditions:hover { 3941 color: #bb4498; 3942} 3943 3944/** Stats Styling **/ 3945.stat-text { 3946 font-size: 11px; 3947} 3948 3949.white-link { 3950 color: #ffffff; 3951} 3952 3953/* Driver Awards */ 3954#awards9 .grid-content ul { 3955 text-align: center; 3956 margin: 0; 3957} 3958 3959/* Lease Table */ 3960.elementor-widget-uael-table .fa-times-circle { 3961 color: #bb4498 !important; 3962} 3963 3964 3965/*Transparent Main Menu */ 3966.elementor-section-wrap .hero { 3967 margin-top: -100px !important; 3968} 3969 3970#elementor-popup-modal-2335 .menu .menu-item-has-children .sub-menu .menu-item-has-children > a { 3971 margin-top: 20px !important; 3972} 3973 3974/** Pop Up - Apply Now **/ 3975@media only screen and (max-width: 600px) { 3976li.gfield.gf_right_half { 3977 width: 100% !important; 3978 } 3979} 3980 3981@media only screen and (max-width: 600px) { 3982li.gfield.gf_left_half { 3983 width: 100% !important; 3984 } 3985} 3986 3987@media only screen and (max-width: 600px) { 3988.elementor-widget-container .elementor-2691 .elementor-element.elementor-element-daee3c0 .gf_right_half { 3989 padding-left: 0px !important; 3990} 3991} 3992 3993@media only screen and (max-width: 600px) { 3994.elementor-widget-container .elementor-2696 .elementor-element.elementor-element-bed830a .gf_right_half { 3995 padding-left: 0px !important; 3996} 3997} 3998 3999@media only screen and (max-width: 600px) { 4000.elementor-widget-container .elementor-2691 .elementor-element.elementor-element-daee3c0 .uael-gf-style .ginput_container_email { 4001 padding-right: 0px !important; 4002} 4003} 4004 4005@media only screen and (max-width: 600px) { 4006.elementor-widget-container .elementor-2696 .elementor-element.elementor-element-bed830a .uael-gf-style .ginput_container_email { 4007 padding-right: 0px !important; 4008} 4009} 4010 4011/*** Gradient Button ***/ 4012.grad-btn .container { 4013 text-align: center; 4014 position: relative; 4015 min-width: 100px; 4016 margin: 0 auto; 4017 cursor: pointer; 4018} 4019 4020.grad-btn button { 4021 font-family: "Open Sans", Sans-serif; 4022 font-size: 12px; 4023 font-weight: bold; 4024 text-transform: uppercase; 4025 letter-spacing: 0.5px; 4026 color: #fff; 4027 position: relative; 4028 padding: 10px 25px; 4029 height: 50px; 4030 min-width: 100px; 4031 border: 0; 4032 border-radius: 0; 4033 overflow: hidden; 4034 z-index: 1; 4035} 4036 4037.grad-btn .fill-one { 4038 position: absolute; 4039 background-image: linear-gradient(to right, #3B256E 30%, #B24195 100%); 4040 height: 70px; 4041 width: 400px; 4042 border-radius: 5px; 4043 margin: -44px 0 0 -86px; 4044 z-index: -1; 4045 transition: all 0.4s ease; 4046} 4047 4048.grad-btn .container-one:hover .fill-one { 4049 -webkit-transform: translateX(-100px); 4050 -moz-transform: translateX(-100px); 4051 transform: translateX(-100px); 4052} 4053 4054/*** Equipment Tab Styling ***/ 4055@media only screen and (min-width: 770px) { 4056.elementor-tabs-wrapper .elementor-tab-title { 4057 padding: 25px 53px 25px 52px; 4058} 4059} 4060 4061.elementor-tabs-wrapper .elementor-tab-title { 4062 text-align: center !important; 4063} 4064 4065.elementor-widget-tabs .elementor-tabs .elementor-tab-title { 4066 text-align: center !important; 4067} 4068 4069/*** Cookie Pop UP***/ 4070 4071div#cookie-law-info-bar span { 4072 font-size: 12px !important; 4073} 4074 4075@media only screen and (max-width: 600px) { 4076.medium.cli-plugin-button { 4077 display: block !important; 4078} 4079} 4080 4081div#cookie-law-info-bar { 4082 font-family: "Open Sans", Sans-serif !important; 4083} 4084/*** Grid Styling - 3 Column Layout ***/ 4085/* Facilities Page */ 4086.box-min-height .elementor-widget-container { 4087 min-height: 425px; 4088} 4089 4090/* Light Border */ 4091.light-border .elementor-widget-container { 4092 border-color: #d0d2d3 !important; 4093} 4094 4095/* Prime Culture */ 4096.box-min-height-prime-culture .elementor-widget-container { 4097 min-height: 350px; 4098} 4099 4100/* In House Hide Apply */ 4101.page-id-2254 .hide-in-house { 4102 display: none; 4103} 4104 4105.page-id-2260 .hide-in-house { 4106 display: none; 4107} 4108 4109.page-id-2275 .hide-in-house { 4110 display: none; 4111} 4112 4113/* Facebook Chat */ 4114#facebook-chat-start-conversion { 4115 position: fixed; 4116 z-index: 2147483649; 4117 bottom: 24px; 4118 top: auto; 4119 height: 100px; 4120 width: 70px; 4121 left: 20px;
4122 cursor: pointer; 4123} 4124 4125#facebook-chat-start-conversion.hidden { 4126 display: none; 4127} 4128 4129#facebook-chat-start-conversion .facebook-chat-text { 4130 font-size: 12px; 4131 text-align: center; 4132} 4133 4134/* Table Styling */ 4135.uael-table { 4136 border: none !important; 4137} 4138 4139 4140/* Browser-specific fixes */ 4141@media all and (-ms-high-contrast:none) { 4142.eael-nav-dot { 4143 height: 20px!important; 4144} 4145} 4146 4147.elementor-11698 .elementor-element.elementor-element-061260b .elementor-pagination { 4148 margin-top: 60px; 4149} 4150.grecaptcha-badge { 4151width: 70px !important; 4152overflow: hidden !important; 4153transition: all 0.3s ease !important; 4154left: 4px !important; 4155 z-index: 9999; 4156} 4157 4158.grecaptcha-badge:hover { 4159width: 256px !important; 4160} 4161 4162.container.grid-container { 4163 margin-top: -100px; 4164} 4165 4166</style> 4167</head> 4168 4169<body class="wp-singular page-template page-template-elementor_header_footer page page-id-3409 page-parent wp-embed-responsive wp-theme-generatepress wp-child-theme-generatepress_child no-sidebar nav-below-header separate-containers fluid-header active-footer-widgets-0 nav-aligned-left header-aligned-left dropdown-hover elementor-default elementor-template-full-width elementor-kit-8505 elementor-page elementor-page-3409 full-width-content" itemtype="https://schema.org/WebPage" itemscope> 4170 4171<!--BEGIN: TRACKING CODE MANAGER (v2.8.0) BY INTELLYWP.COM IN BODY//--> 4172<!-- Google Tag Manager (noscript) --> 4173<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5CVZWQ3" height="0" width="0" style="display:none"></iframe></noscript> 4174 4175<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WXFSX68" height="0" width="0" style="display:none"></iframe></noscript> 4176<!-- End Google Tag Manager (noscript) --> 4177<!--END: https://wordpress.org/plugins/tracking-code-manager IN BODY//--><a class="screen-reader-text skip-link" href="#content" title="Skip to content">Skip to content</a> <header data-elementor-type="header" data-elementor-id="2368" class="elementor elementor-2368 elementor-location-header" data-elementor-post-type="elementor_library"> 4178 <section class="elementor-section elementor-top-section elementor-element elementor-element-6cc128b elementor-section-full_width elementor-section-height-min-height elementor-section-height-default elementor-section-items-middle" data-id="6cc128b" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"de0689b","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}],"background_background":"classic","sticky":"top","sticky_effects_offset":91,"sticky_on":["desktop","tablet","mobile"],"sticky_offset":0,"sticky_anchor_link_offset":0}"> 4179 <div class="elementor-container elementor-column-gap-default"> 4180 <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-17de3d4" data-id="17de3d4" data-element_type="column" data-e-type="column"> 4181 <div class="elementor-widget-wrap elementor-element-populated"> 4182 <div class="elementor-element elementor-element-d64a03e elementor-widget elementor-widget-image" data-id="d64a03e" data-element_type="widget" data-e-type="widget" data-widget_type="image.default"> 4183 <div class="elementor-widget-container"> 4184 <a href="https://www.primeinc.com"> 4185 <img width="200" height="61" src="https://www.primeinc.com/w
4185p-content/uploads/2019/04/NEW-PRIME-LOGO.svg" class="attachment-full size-full wp-image-4790" alt="Black Prime, Inc. logo with the words "Driven by the best" written underneath." /> </a> 4186 </div> 4187 </div> 4188 </div> 4189 </div> 4190 <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6cef156" data-id="6cef156" data-element_type="column" data-e-type="column"> 4191 <div class="elementor-widget-wrap elementor-element-populated"> 4192 <div class="elementor-element elementor-element-514e3f8 elementor-widget__width-auto elementor-hidden-phone driver-application elementor-widget elementor-widget-button" data-id="514e3f8" data-element_type="widget" data-e-type="widget" data-widget_type="button.default"> 4193 <div class="elementor-widget-container"> 4194 <div class="elementor-button-wrapper"> 4195 <a class="elementor-button elementor-button-link elementor-size-sm" href="https://intelliapp.driverapponline.com/c/primeinc"> 4196 <span class="elementor-button-content-wrapper"> 4197 <span class="elementor-button-text">Driver Application</span> 4198 </span> 4199 </a> 4200 </div> 4201 </div> 4202 </div> 4203 <div class="elementor-element elementor-element-1e4a7b0 elementor-widget__width-auto elementor-hidden-phone work-in-house elementor-widget elementor-widget-button" data-id="1e4a7b0" data-element_type="widget" data-e-type="widget" data-widget_type="button.default"> 4204 <div class="elementor-widget-container"> 4205 <div class="elementor-button-wrapper"> 4206 <a class="elementor-button elementor-button-link elementor-size-sm" href="https://careers.primeinc.com"> 4207 <span class="elementor-button-content-wrapper"> 4208 <span class="elementor-button-text">Work In House</span> 4209 </span> 4210 </a> 4211 </div> 4212 </div> 4213 </div> 4214 <div class="elementor-element elementor-element-ad76e40 elementor-widget__width-auto hide-in-house elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-button" data-id="ad76e40" data-element_type="widget" data-e-type="widget" data-widget_type="button.default"> 4215 <div class="elementor-widget-container"> 4216 <div class="elementor-button-wrapper"> 4217 <a class="elementor-button elementor-button-link elementor-size-sm" href="https://intelliapp.driverapponline.com/c/primeinc"> 4218 <span class="elementor-button-content-wrapper"> 4219 <span class="elementor-button-text">Apply Now</span> 4220 </span> 4221 </a> 4222 </div> 4223 </div> 4224 </div> 4225 <div class="elementor-element elementor-element-6b97407 elementor-icon-list--layout-inline elementor-align-end elementor-widget__width-auto elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="6b97407" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default"> 4226 <div class="elementor-widget-container"> 4227 <ul class="elementor-icon-list-items elementor-inline-items"> 4228 <li class="elementor-icon-list-item elementor-inline-item"> 4229 <a href="#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI1MDEiLCJ0b2dnbGUiOnRydWV9"> 4230 4231 <span class="elementor-icon-list-icon"> 4232 <i aria-hidden="true" class="fas fa-phone"></i> </span> 4233 <span class="elementor-icon-list-text">Call</span> 4234 </a> 4235 </li> 4236 </ul> 4237 </div> 4238 </div> 4239 <div class="elementor-element elementor-element-aff4f68 elementor-search-form--skin-full_screen elementor-widget__width-auto elementor-hidden-phone elementor-widget elementor-widget-search-form" data-id="aff4f68" data-element_type="widget" data-e-type="widget" data-settings="{"skin":"full_screen"}" data-widget_type="search-form.default"> 4240 <div class="elementor-widget-container"> 4241 <search role="search"> 4242 <form class="elementor-search-form" action="https://www.primeinc.com" method="get"> 4243 <div class="elementor-search-form__toggle" role="button" tabindex="0" aria-label="Search"> 4244 <i aria-hidden="true" class="fas fa-search"></i> </div> 4245 <div class="elementor-search-form__container"> 4246 <label class="elementor-screen-only" for="elementor-search-form-aff4f68">Search</label> 4247 4248 4249 <input id="elementor-search-form-aff4f68" placeholder="" class="elementor-search-form__input" type="search" name="s" value=""> 4250 4251 4252 <div class="dialog-lightbox-close-button dialog-close-button" role="button" tabindex="0" aria-label="Close this search box."> 4253 <i aria-hidden="true" class="eicon-close"></i> </div> 4254 </div> 4255 </form> 4256 </search> 4257 </div>
4258 </div> 4259 <div class="elementor-element elementor-element-88ad6d0 elementor-icon-list--layout-inline elementor-align-end elementor-widget__width-auto elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="88ad6d0" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default"> 4260 <div class="elementor-widget-container"> 4261 <ul class="elementor-icon-list-items elementor-inline-items"> 4262 <li class="elementor-icon-list-item elementor-inline-item"> 4263 <a href="#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjIzMzUiLCJ0b2dnbGUiOnRydWV9"> 4264 4265 <span class="elementor-icon-list-icon"> 4266 <i class="fa fa-navicon" aria-hidden="true"></i> 4267 </span> 4268 <span class="elementor-icon-list-text">Menu</span> 4269 </a> 4270 </li> 4271 </ul> 4272 </div> 4273 </div> 4274 </div> 4275 </div> 4276 </div> 4277 </section> 4278 </header> 4279 4280 <div class="site grid-container container hfeed grid-parent" id="page"> 4281 <div class="site-content" id="content"> 4282 <div data-elementor-type="wp-post" data-elementor-id="3409" class="elementor elementor-3409" data-elementor-post-type="page"> 4283 <section class="elementor-section elementor-inner-section elementor-element elementor-element-e2147cc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e2147cc" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"65f436e","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4284 <div class="elementor-container elementor-column-gap-default"> 4285 <div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-8bc00aa" data-id="8bc00aa" data-element_type="column" data-e-type="column"> 4286 <div class="elementor-widget-wrap elementor-element-populated"> 4287 <div class="elementor-element elementor-element-43c3965 elementor-view-default elementor-invisible elementor-widget elementor-widget-icon" data-id="43c3965" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"fadeIn"}" data-widget_type="icon.default"> 4288 <div class="elementor-widget-container"> 4289 <div class="elementor-icon-wrapper"> 4290 <div class="elementor-icon"> 4291 <i class="fa fa-wpforms" aria-hidden="true"></i> 4292 </div> 4293 </div> 4294 </div> 4295 </div> 4296 <div class="elementor-element elementor-element-afba86c animated-slow elementor-invisible elementor-widget elementor-widget-heading" data-id="afba86c" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"fadeIn","_animation_delay":200}" data-widget_type="heading.default"> 4297 <div class="elementor-widget-container"> 4298 <h4 class="elementor-heading-title elementor-size-default">get in touch</h4> </div>
4299 </div> 4300 <div class="elementor-element elementor-element-2fb5bf8 animated-slow elementor-invisible elementor-widget elementor-widget-heading" data-id="2fb5bf8" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"fadeIn","_animation_delay":300}" data-widget_type="heading.default"> 4301 <div class="elementor-widget-container"> 4302 <h2 class="elementor-heading-title elementor-size-default">prime inc.</h2> </div> 4303 </div> 4304 <div class="elementor-element elementor-element-da8cf8b elementor-invisible elementor-widget elementor-widget-text-editor" data-id="da8cf8b" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"fadeIn"}" data-widget_type="text-editor.default"> 4305 <div class="elementor-widget-container"> 4306 <p>For general inquiries fill out our form or give us a call at <a style="color: #bf9fcb;" href="tel:417-521-3200">417-521-3200</a></p> </div> 4307 </div> 4308 <div class="elementor-element elementor-element-c662627 uael-gf-error-yes uael-gf-ajax-true uael-gf-style-box uael-gf-input-size-sm uael-gf-enable-classes-no uael-gf-button-left uael-gf-btn-size-sm elementor-invisible elementor-widget elementor-widget-uael-gf-styler" data-id="c662627" data-element_type="widget" data-e-type="widget" data-settings="{"_animation":"fadeIn"}" data-widget_type="uael-gf-styler.default"> 4309 <div class="elementor-widget-container"> 4310 <div class="uael-gf-style uael-gf-check-style elementor-clickable"> 4311 4312 <div class='gf_browser_gecko gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_4' ><form method='post' enctype='multipart/form-data' id='gform_4' action='/contact-us/' data-formid='4' novalidate> 4313 <div class='gform-body gform_body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below validation_below'><li id="field_4_12" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_4_12'><span class='gform-field-label__text'>X/Twitter</span></label><div class='ginput_container'><input name='input_12' id='input_4_12' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_12'>This field is for validation purposes and should be left unchanged.</div></li><li id="field_4_9" class="gfield gfield--type-name gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label 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></label><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_4_9'> 4314 4315 <span id='input_4_9_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' > 4316 <input type='text' name='input_9.3' id='input_4_9_3' value='' tabindex='2' aria-required='true' /> 4317 <label for='input_4_9_3' class='gform-field-label gform-field-label--type-sub '>First</label> 4318 </span> 4319 4320 <span id='input_4_9_6_container' class='name_last gform-grid-col gform-grid-col--size-auto' > 4321 <input type='text' name='input_9.6' id='input_4_9_6' value='' tabindex='4' aria-required='true' /> 4322 <label for='input_4_9_6' class='gform-field-label gform-field-label--type-sub '>Last</label> 4323 </span> 4324 4325 </div></li><li id="field_4_2" class="gfield gfield--type-email gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_4_2'><span class='gform-field-label__text'>Email</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> 4326 <input name='input_2' id='input_4_2' type='email' value='' class='large' tabindex='6' aria-required="true" aria-invalid="false" /> 4327 </div></li><li id="field_4_4" class="gfield gfield--type-phone gfield--phone-format-standard gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_4_4'><span class='gform-field-label__text'>Phone</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_4' id='input_4_4' type='tel' value='' class='large' tabindex='7' placeholder='(999) 999-9999' aria-required="true" aria-invalid="false" data-mask="(999) 999-9999" /></div></li>
4327<li id="field_4_10" class="gfield gfield--type-address gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label gfield_label_before_complex' ><span class='gform-field-label__text'>Address</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label> 4328 <div class='ginput_complex ginput_container has_city has_state has_zip ginput_container_address gform-grid-row' id='input_4_10' > 4329 <span class='ginput_left address_city ginput_address_city gform-grid-col' id='input_4_10_3_container' > 4330 <input type='text' name='input_10.3' id='input_4_10_3' value='' tabindex='9' aria-required='true' /> 4331 <label for='input_4_10_3' id='input_4_10_3_label' class='gform-field-label gform-field-label--type-sub '>City</label> 4332 </span><span class='ginput_right address_state ginput_address_state gform-grid-col' id='input_4_10_4_container' > 4333 <select name='input_10.4' id='input_4_10_4' tabindex='10' aria-required='true' ><option value='' selected='selected'></option><option value='Alabama' >Alabama</option><option value='Alaska' >Alaska</option><option value='American Samoa' >American Samoa</option><option value='Arizona' >Arizona</option><option value='Arkansas' >Arkansas</option><option value='California' >California</option><option value='Colorado' >Colorado</option><option value='Connecticut' >Connecticut</option><option value='Delaware' >Delaware</option><option value='District of Columbia' >District of Columbia</option><option value='Florida' >Florida</option><option value='Georgia' >Georgia</option><option value='Guam' >Guam</option><option value='Hawaii' >Hawaii</option><option value='Idaho' >Idaho</option><option value='Illinois' >Illinois</option><option value='Indiana' >Indiana</option><option value='Iowa' >Iowa</option><option value='Kansas' >Kansas</option><option value='Kentucky' >Kentucky</option><option value='Louisiana' >Louisiana</option><option value='Maine' >Maine</option><option value='Maryland' >Maryland</option><option value='Massachusetts' >Massachusetts</option><option value='Michigan' >Michigan</option><option value='Minnesota' >Minnesota</option><option value='Mississippi' >Mississippi</option><option value='Missouri' >Missouri</option><option value='Montana' >Montana</option><option value='Nebraska' >Nebraska</option><option value='Nevada' >Nevada</option><option value='New Hampshire' >New Hampshire</option><option value='New Jersey' >New Jersey</option><option value='New Mexico' >New Mexico</option><option value='New York' >New York</option><option value='North Carolina' >North Carolina</option><option value='North Dakota' >North Dakota</option><option value='Northern Mariana Islands' >Northern Mariana Islands</option><option value='Ohio' >Ohio</option><option value='Oklahoma' >Oklahoma</option><option value='Oregon' >Oregon</option><option value='Pennsylvania' >Pennsylvania</option><option value='Puerto Rico' >Puerto Rico</option><option value='Rhode Island' >Rhode Island</option><option value='South Carolina' >South Carolina</option><option value='South Dakota' >South Dakota</option><option value='Tennessee' >Tennessee</option><option value='Texas' >Texas</option><option value='Utah' >Utah</option><option value='U.S. Virgin Islands' >U.S. Virgin Islands</option><option value='Vermont' >Vermont</option><option value='Virginia' >Virginia</option><option value='Washington' >Washington</option><option value='West Virginia' >West Virginia</option><option value='Wisconsin' >Wisconsin</option><option value='Wyoming' >Wyoming</option></select> 4334 <label for='input_4_10_4' id='input_4_10_4_label' class='gform-field-label gform-field-label--type-sub '>State</label> 4335 </span><span class='ginput_left address_zip ginput_address_zip gform-grid-col' id='input_4_10_5_container' > 4336 <input type='text' name='input_10.5' id='input_4_10_5' value='' tabindex='12' aria-required='true' /> 4337 <label for='input_4_10_5' id='input_4_10_5_label' class='gform-field-label gform-field-label--type-sub '>ZIP Code</label> 4338 </span><input type='hidden' class='gform_hidden' name='input_10.6' id='input_4_10_6' value='US' /> 4339 <div class='gf_clear gf_clear_complex'></div> 4340 </div></li>
4340<li id="field_4_6" class="gfield gfield--type-select gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_4_6'><span class='gform-field-label__text'>What information are you looking for?</span><span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_select'><select name='input_6' id='input_4_6' class='medium gfield_select' tabindex='13' aria-required="true" aria-invalid="false" ><option value='Prime Training Program' >Prime Training Program</option><option value='Driving Opportunities' >Driving Opportunities</option><option value='Non-Driving Opportunities' >Non-Driving Opportunities</option><option value='Customer Information' >Customer Information</option><option value='Other' >Other</option></select></div></li><li id="field_4_7" class="gfield gfield--type-hidden gform_hidden field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_7' id='input_4_7' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_4_8" class="gfield gfield--type-hidden gform_hidden field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_8' id='input_4_8' type='hidden' class='gform_hidden' aria-invalid="false" value='PrimeInc' /></div></li><li id="field_4_11" class="gfield gfield--type-captcha gfield--captcha-invisible field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible" ><div id='input_4_11' class='ginput_container ginput_recaptcha' data-sitekey='6LdWQ1QsAAAAAPfolfAY0mUMwpSHYRRRoaE6fHTT' data-theme='light' data-tabindex='-1' data-size='invisible' data-badge='bottomright'></div></li></ul></div> 4341 <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_4' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' tabindex='14'>Submit</button> 4342 <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_4' value='postback' /> 4343 <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_4' id='gform_theme_4' value='legacy' /> 4344 <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_4' id='gform_style_settings_4' value='[]' /> 4345 <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> 4346 <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> 4347 4348 <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='nxj/6K+64oGXRXSxoEKSbpwIoEAlHqVx2Hm+4trU/Ap9GWmAWuxBV4FwW/JYnq5QyivhvPIjnUG+bqoznF+dl24QiUCILyjQQrImRWMkk8cLKB8=' /> 4349 <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> 4350 <input type='hidden' class='gform_hidden' name='state_4' value='WyJ7XCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjVmMDk1YjFlMTVjMjZhMTEyMjE5MDQzMjk1Zjk4MmQzXCIsXCI1NDhmZmZmMzFjMTUxMTBlZDc5OWYxYjM1Y2RjNGEyMFwiXSxcImdmb3JtX3RoZW1lXCI6XCIzZjJlOGQwNzU0YzAwZTQyZGVhY2Y1MDBmNzQ4NDliMFwiLFwiZ2Zvcm1fc3R5bGVfc2V0dGluZ3NcIjpcImFmZDU4OWZlNDI3Yjk2ZDI3OTYxYmJiMDE4NjhjZjdiXCIsXCJmb3JtX2lkXCI6XCIzODBmODJhNjZkMDEyYmRmNTA0NGNkMDM2OTUxZThjNFwiLFwidXJsXCI6XCJiMmI3NzdkYWQxYjRiYmYzYjVlYzkzZmRmZjQ0NjMwNFwiLFwic3RhdGVfdGltZXN0YW1wXCI6XCI5OTY3MTY2ZDM2NGMwZTcyMDg5Mzg2OTE4MTdjYjI3OFwifSIsIjEzMzE1NGQ5NGFkYjg3NmY2NzZmMzA5YWZhZDgxMjdmIiwxNzkwOTI1Nzk4XQ==' /> 4351 <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> 4352 <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> 4353 <input type='hidden' name='gform_field_values' value='' /> 4354 4355 </div> 4356 <p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="43"/>
4356<script> 4357document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); 4358</script>
4358 4359</p></form> 4360 </div> 4361</div> 4362 </div> 4363 </div> 4364 <div class="elementor-element elementor-element-36dad72 elementor-widget elementor-widget-text-editor" data-id="36dad72" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> 4365 <div class="elementor-widget-container"> 4366 <p><span data-teams="true"><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr"><i>By providing a telephone number and submitting this form you are consenting to be contacted by phone or SMS text message. Message & data rates may apply. You can reply with STOP, CANCEL, END, or QUIT to opt-out of further messaging. Mobile consent is never shared with third parties and affiliates.</i></span></span></p> </div> 4367 </div> 4368 </div> 4369 </div> 4370 </div> 4371 </section> 4372 </div> 4373
4373<script nitro-exclude> 4374 document.cookie = 'nitroCachedPage=' + (!window.NITROPACK_STATE ? '0' : '1') + '; path=/; SameSite=Lax'; 4375 </script>
4375 4376 </div> 4377</div> 4378 4379 4380<div class="site-footer"> 4381 <footer data-elementor-type="footer" data-elementor-id="2386" class="elementor elementor-2386 elementor-location-footer" data-elementor-post-type="elementor_library"> 4382 <!-- hidden section 3409-164054a --> <section class="elementor-section elementor-top-section elementor-element elementor-element-f70ef15 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f70ef15" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"e57f1fc","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}],"background_background":"classic"}"> 4383 <div class="elementor-container elementor-column-gap-default"> 4384 <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1ba5703" data-id="1ba5703" data-element_type="column" data-e-type="column"> 4385 <div class="elementor-widget-wrap elementor-element-populated"> 4386 <section class="elementor-section elementor-inner-section elementor-element elementor-element-16342c6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="16342c6" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"06f0ec1","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4387 <div class="elementor-container elementor-column-gap-default"> 4388 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-5c9bc9d" data-id="5c9bc9d" data-element_type="column" data-e-type="column"> 4389 <div class="elementor-widget-wrap elementor-element-populated"> 4390 <div class="elementor-element elementor-element-fc3aae5 elementor-widget elementor-widget-heading" data-id="fc3aae5" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4391 <div class="elementor-widget-container"> 4392 <span class="elementor-heading-title elementor-size-default">Need more information?</span> </div>
4393 </div> 4394 <div class="elementor-element elementor-element-6a09839 elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="6a09839" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4395 <div class="elementor-widget-container"> 4396 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/why-prime/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_WhyPrime.svg" title="Icons_WhyPrime" alt="Why Prime Icon. Two figures standing side by side." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/why-prime/">Why Prime</a></h6></div></div> </div> 4397 </div> 4398 <div class="elementor-element elementor-element-f44fd37 elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="f44fd37" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4399 <div class="elementor-widget-container"> 4400 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/why-prime/prime-news/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_News.svg" title="Icons_News" alt="News icon" loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/why-prime/prime-news/">Prime News</a></h6></div></div> </div> 4401 </div> 4402 </div> 4403 </div> 4404 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-220b4ef" data-id="220b4ef" data-element_type="column" data-e-type="column"> 4405 <div class="elementor-widget-wrap elementor-element-populated"> 4406 <div class="elementor-element elementor-element-e7eacf7 elementor-widget elementor-widget-heading" data-id="e7eacf7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4407 <div class="elementor-widget-container"> 4408 <span class="elementor-heading-title elementor-size-default">Shipping or hauling freight?</span> </div> 4409 </div> 4410 <div class="elementor-element elementor-element-ba8c60c elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="ba8c60c" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4411 <div class="elementor-widget-container"> 4412 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/transportation-solutions/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_TransportationSolutions.svg" title="Icons_TransportationSolutions" alt="Transportation Solutions Icon. A small globe." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/transportation-solutions/">TRANSPORTATION SOLUTIONS</a></h6></div></div> </div> 4413 </div> 4414 <div class="elementor-element elementor-element-e43ab7a elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="e43ab7a" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4415 <div class="elementor-widget-container"> 4416 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/carrier-solutions/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_CarrierSolutions.svg" title="Icons_CarrierSolutions" alt="Carrier Solutions. Two people shaking hands." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/carrier-solutions/">CARRIER SOLUTIONS</a></h6></div></div> </div> 4417 </div> 4418 </div> 4419 </div> 4420 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-10c5659" data-id="10c5659" data-element_type="column" data-e-type="column"> 4421 <div class="elementor-widget-wrap elementor-element-populated"> 4422 <div class="elementor-element elementor-element-6380bf7 elementor-widget elementor-widget-heading" data-id="6380bf7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4423 <div class="elementor-widget-container"> 4424 <span class="elementor-heading-title elementor-size-default">Looking for a career?</span> </div>
4425 </div> 4426 <div class="elementor-element elementor-element-ae4e091 elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="ae4e091" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4427 <div class="elementor-widget-container"> 4428 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/drive-for-prime/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_DriveForPrime.svg" title="Icons_DriveForPrime" alt="Drive for Prime icon. A person siting in the drivers seat of a semi truck." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/drive-for-prime/">DRIVE FOR PRIME</a></h6></div></div> </div> 4429 </div> 4430 <div class="elementor-element elementor-element-770d703 elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="770d703" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4431 <div class="elementor-widget-container"> 4432 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/work-in-house/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_WorkInHouse.svg" title="Icons_WorkInHouse" alt="Work In House icon. A person sitting at a desk and looking at a computer." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/work-in-house/">WORK IN HOUSE</a></h6></div></div> </div> 4433 </div> 4434 </div> 4435 </div> 4436 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-514eed5" data-id="514eed5" data-element_type="column" data-e-type="column"> 4437 <div class="elementor-widget-wrap elementor-element-populated"> 4438 <div class="elementor-element elementor-element-27a6c6d elementor-widget elementor-widget-heading" data-id="27a6c6d" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4439 <div class="elementor-widget-container"> 4440 <span class="elementor-heading-title elementor-size-default">Buying or leasing equipment?</span> </div> 4441 </div> 4442 <div class="elementor-element elementor-element-2c82f6f elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="2c82f6f" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4443 <div class="elementor-widget-container"> 4444 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/pedigree/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_Pedigree.svg" title="Icons_Pedigree" alt="Pedigree icon. A shopping cart." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/pedigree/">PEDIGREE</a></h6></div></div> </div> 4445 </div> 4446 <div class="elementor-element elementor-element-fc57e74 elementor-position-left elementor-vertical-align-top elementor-widget elementor-widget-image-box" data-id="fc57e74" data-element_type="widget" data-e-type="widget" data-widget_type="image-box.default"> 4447 <div class="elementor-widget-container"> 4448 <div class="elementor-image-box-wrapper"><figure class="elementor-image-box-img"><a href="https://www.primeinc.com/success-leasing/" tabindex="-1"><img src="https://www.primeinc.com/wp-content/uploads/2019/04/Icons_SuccessLeasing.svg" title="Icons_SuccessLeasing" alt="Success Leasing icon. A hand holding a key." loading="lazy" /></a></figure><div class="elementor-image-box-content"><h6 class="elementor-image-box-title"><a href="https://www.primeinc.com/success-leasing/">SUCCESS LEASING</a></h6></div></div> </div> 4449 </div> 4450 </div> 4451 </div> 4452 </div> 4453 </section> 4454 <div class="elementor-element elementor-element-00aa0e1 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="00aa0e1" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default"> 4455 <div class="elementor-widget-container"> 4456 <div class="elementor-divider"> 4457 <span class="elementor-divider-separator"> 4458 </span> 4459 </div> 4460 </div>
4461 </div> 4462 <section class="elementor-section elementor-inner-section elementor-element elementor-element-68ad2de elementor-section-content-top elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="68ad2de" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"65e7a81","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4463 <div class="elementor-container elementor-column-gap-default"> 4464 <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-14227e3" data-id="14227e3" data-element_type="column" data-e-type="column"> 4465 <div class="elementor-widget-wrap elementor-element-populated"> 4466 <div class="elementor-element elementor-element-94aaa25 elementor-widget elementor-widget-text-editor" data-id="94aaa25" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> 4467 <div class="elementor-widget-container"> 4468 © 2026 Prime Inc. All Rights Reserved. </div> 4469 </div> 4470 <div class="elementor-element elementor-element-2763f66 elementor-widget elementor-widget-text-editor" data-id="2763f66" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> 4471 <div class="elementor-widget-container"> 4472 <p>Created by: <span style="color: #3b266e;"><a style="color: #3b266e;" href="https://www.campaignium.com/" target="_blank" rel="noopener">Campaignium</a></span></p> </div> 4473 </div> 4474 </div> 4475 </div> 4476 <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-dbb7c55" data-id="dbb7c55" data-element_type="column" data-e-type="column"> 4477 <div class="elementor-widget-wrap elementor-element-populated"> 4478 <div class="elementor-element elementor-element-14a462c elementor-shape-circle elementor-grid-0 e-grid-align-center elementor-widget elementor-widget-social-icons" data-id="14a462c" data-element_type="widget" data-e-type="widget" data-widget_type="social-icons.default"> 4479 <div class="elementor-widget-container"> 4480 <div class="elementor-social-icons-wrapper elementor-grid" role="list"> 4481 <span class="elementor-grid-item" role="listitem"> 4482 <a class="elementor-icon elementor-social-icon elementor-social-icon-instagram elementor-repeater-item-c08f136" href="https://www.instagram.com/primetrucking/" target="_blank"> 4483 <span class="elementor-screen-only">Instagram</span> 4484 <i aria-hidden="true" class="fab fa-instagram"></i> </a> 4485 </span> 4486 <span class="elementor-grid-item" role="listitem"> 4487 <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-0c276ee" href="https://www.youtube.com/user/PRIMEINCTRUCKING" target="_blank"> 4488 <span class="elementor-screen-only">Youtube</span> 4489 <i aria-hidden="true" class="fab fa-youtube"></i> </a> 4490 </span> 4491 <span class="elementor-grid-item" role="listitem"> 4492 <a class="elementor-icon elementor-social-icon elementor-social-icon-facebook-f elementor-repeater-item-f0dde54" href="https://www.facebook.com/primeinctrucking" target="_blank"> 4493 <span class="elementor-screen-only">Facebook-f</span> 4494 <i aria-hidden="true" class="fab fa-facebook-f"></i> </a> 4495 </span> 4496 </div> 4497 </div>
4498 </div> 4499 </div> 4500 </div> 4501 <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-30bf841" data-id="30bf841" data-element_type="column" data-e-type="column"> 4502 <div class="elementor-widget-wrap elementor-element-populated"> 4503 <div class="elementor-element elementor-element-4f89ff5 elementor-widget elementor-widget-text-editor" data-id="4f89ff5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> 4504 <div class="elementor-widget-container"> 4505 <span style="color: #ffffff;"><a style="color: #ffffff;" href="https://goo.gl/maps/aNEfDsYwwVuvqkCN8" target="_blank" rel="noopener">2740 North Mayfair, Springfield, MO 65803</a></span> 4506<p> </p> </div> 4507 </div> 4508 </div> 4509 </div> 4510 </div> 4511 </section> 4512 </div> 4513 </div> 4514 </div> 4515 </section> 4516 </footer> 4517 </div> 4518
4519<script type='text/javascript'> 4520/* <![CDATA[ */ 4521var hasJetBlogPlaylist = 0; 4522/* ]]> */ 4523</script>
vendor: 1 bytes, line 4523
4523
4524<script type="speculationrules"> 4525{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/generatepress_child/*","/wp-content/themes/generatepress/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 4526</script>
vendor: 1 bytes, line 4526
4526
4527<script>console.log("acsb not injected")</script>
4527<script>(function(){var s=document.createElement('script');var e = !document.body ? document.querySelector('head'):document.body;s.src='https://acsbapp.com/apps/app/dist/js/app.js';s.setAttribute('data-source', 'WordPress');s.setAttribute('data-plugin-version', '2.13');s.defer=true;s.onload=function(){acsbJS.init({ 4528 statementLink : '', 4529 footerHtml : '', 4530 hideMobile : false, 4531 hideTrigger : false, 4532 language : 'en', 4533 position : 'right', 4534 leadColor : '#3b266e', 4535 triggerColor : '#3b266e', 4536 triggerRadius : '50%', 4537 triggerPositionX : 'right', 4538 triggerPositionY : 'bottom', 4539 triggerIcon : 'people', 4540 triggerSize : 'medium', 4541 triggerOffsetX : 20, 4542 triggerOffsetY : 20, 4543 mobile : { 4544 triggerSize : 'small', 4545 triggerPositionX : 'right', 4546 triggerPositionY : 'bottom', 4547 triggerOffsetX : 10, 4548 triggerOffsetY : 10, 4549 triggerRadius : '50%' 4550 } 4551 }); 4552 }; 4553 e.appendChild(s);}());</script>
4553<!--googleoff: all--><div id="cookie-law-info-bar" data-nosnippet="true"><span>This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.<a role="button" data-cli_action="accept" id="cookie_action_close_header" class="medium cli-plugin-button cli-plugin-main-button cookie_action_close_header cli_action_button wt-cli-accept-btn" style="display:inline-block;margin:10px">Accept</a><a role="button" id="cookie_action_close_header_reject" class="medium cli-plugin-button cli-plugin-main-button cookie_action_close_header_reject cli_action_button wt-cli-reject-btn" data-cli_action="reject" style="margin:10px">Reject</a> </span></div><div id="cookie-law-info-again" style="display:none" data-nosnippet="true"><span id="cookie_hdr_showagain">Privacy & Cookies Policy</span></div><div class="cli-modal" data-nosnippet="true" id="cliSettingsPopup" tabindex="-1" role="dialog" aria-labelledby="cliSettingsPopup" aria-hidden="true"> 4554 <div class="cli-modal-dialog" role="document"> 4555 <div class="cli-modal-content cli-bar-popup"> 4556 <button type="button" class="cli-modal-close" id="cliModalClose"> 4557 <svg class="" viewBox="0 0 24 24"><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"></path><path d="M0 0h24v24h-24z" fill="none"></path></svg> 4558 <span class="wt-cli-sr-only">Close</span> 4559 </button> 4560 <div class="cli-modal-body"> 4561 <div class="cli-container-fluid cli-tab-container"> 4562 <div class="cli-row"> 4563 <div class="cli-col-12 cli-align-items-stretch cli-px-0"> 4564 <div class="cli-privacy-overview"> 4565 <h4>Privacy Overview</h4> <div class="cli-privacy-content"> 4566 <div class="cli-privacy-content-text">This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.</div> 4567 </div> 4568 <a class="cli-privacy-readmore" aria-label="Show more" role="button" data-readmore-text="Show more" data-readless-text="Show less"></a> </div> 4569 </div> 4570 <div class="cli-col-12 cli-align-items-stretch cli-px-0 cli-tab-section-container"> 4571 <div class="cli-tab-section"> 4572 <div class="cli-tab-header"> 4573 <a role="button" tabindex="0" class="cli-nav-link cli-settings-mobile" data-target="necessary" data-toggle="cli-toggle-tab"> 4574 Necessary </a> 4575 <div class="wt-cli-necessary-checkbox"> 4576 <input type="checkbox" class="cli-user-preference-checkbox" id="wt-cli-checkbox-necessary" data-id="checkbox-necessary" checked="checked" /> 4577 <label class="form-check-label" for="wt-cli-checkbox-necessary">Necessary</label> 4578 </div> 4579 <span class="cli-necessary-caption">Always Enabled</span> 4580 </div> 4581 <div class="cli-tab-content"> 4582 <div class="cli-tab-pane cli-fade" data-id="necessary"> 4583 <div class="wt-cli-cookie-description"> 4584 Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information. </div> 4585 </div> 4586 </div> 4587 </div> 4588 <div class="cli-tab-section"> 4589 <div class="cli-tab-header"> 4590 <a role="button" tabindex="0" class="cli-nav-link cli-settings-mobile" data-target="non-necessary" data-toggle="cli-toggle-tab"> 4591 Non-necessary </a> 4592 <div class="cli-switch"> 4593 <input type="checkbox" id="wt-cli-checkbox-non-necessary" class="cli-user-preference-checkbox" data-id="checkbox-non-necessary" checked='checked' /> 4594 <label for="wt-cli-checkbox-non-necessary" class="cli-slider" data-cli-enable="Enabled" data-cli-disable="Disabled"><span class="wt-cli-sr-only">Non-necessary</span></label> 4595 </div> 4596 </div> 4597 <div class="cli-tab-content"> 4598 <div class="cli-tab-pane cli-fade" data-id="non-necessary"> 4599 <div class="wt-cli-cookie-description"> 4600 Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via anal
4600ytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website. </div> 4601 </div> 4602 </div> 4603 </div> 4604 </div> 4605 </div> 4606</div> 4607 </div> 4608 <div class="cli-modal-footer"> 4609 <div class="wt-cli-element cli-container-fluid cli-tab-container"> 4610 <div class="cli-row"> 4611 <div class="cli-col-12 cli-align-items-stretch cli-px-0"> 4612 <div class="cli-tab-footer wt-cli-privacy-overview-actions"> 4613 4614 <a id="wt-cli-privacy-save-btn" role="button" tabindex="0" data-cli-action="accept" class="wt-cli-privacy-btn cli_setting_save_button wt-cli-privacy-accept-btn cli-btn">SAVE & ACCEPT</a> 4615 </div> 4616 4617 </div> 4618 </div> 4619 </div> 4620 </div> 4621 </div> 4622 </div> 4623</div> 4624<div class="cli-modal-backdrop cli-fade cli-settings-overlay"></div> 4625<div class="cli-modal-backdrop cli-fade cli-popupbar-overlay"></div> 4626<!--googleon: all-->
4626<script type="text/javascript"> 4627 jQuery(document).ready(function(){ 4628 4629 jQuery(document).on('gform_confirmation_loaded', function(event, formId){ 4630 console.log('gform_confirmation_loaded'); 4631 if(formId == 2) { 4632 <!-- Event snippet for Quick Contact Form conversion page --> 4633 gtag('event', 'conversion', {'send_to': 'AW-858057019/_HVdCLG-m3MQu9KTmQM'}); 4634 } 4635 }); 4636 4637 jQuery(document).bind('gform_confirmation_loaded', function(event, formId){ 4638 console.log('gform_confirmation_loaded 2'); 4639 //if(formId == 2) { 4640 // <!-- Event snippet for Quick Contact Form conversion page --> 4641 // gtag('event', 'conversion', {'send_to': 'AW-858057019/_HVdCLG-m3MQu9KTmQM'}); 4642 //} 4643 }); 4644 4645 jQuery(document).on('gform_post_render', function(event, form_id, current_page){ 4646 console.log('gform_post_render'); 4647 if(event.currentTarget.activeElement.id == "gform_submit_button_2" ){ 4648 console.log('gform_post_render 2'); 4649 <!-- Event snippet for Quick Contact Form conversion page --> 4650 gtag('event', 'conversion', {'send_to': 'AW-858057019/_HVdCLG-m3MQu9KTmQM'}); 4651 } 4652 }); 4653 }) 4654 4655 4656</script>
4656
4656<script type="text/javascript"> 4657 (function() { 4658 // Global page view and session tracking for UAEL Modal Popup feature 4659 try { 4660 // Session tracking: increment if this is a new session 4661 4662 // Check if any popup on this page uses current page tracking 4663 var hasCurrentPageTracking = false; 4664 var currentPagePopups = []; 4665 // Check all modal popups on this page for current page tracking 4666 if (typeof jQuery !== 'undefined') { 4667 jQuery('.uael-modal-parent-wrapper').each(function() { 4668 var scope = jQuery(this).data('page-views-scope'); 4669 var enabled = jQuery(this).data('page-views-enabled'); 4670 var popupId = jQuery(this).attr('id').replace('-overlay', ''); 4671 if (enabled === 'yes' && scope === 'current') { 4672 hasCurrentPageTracking = true; 4673 currentPagePopups.push(popupId); 4674 } 4675 }); 4676 } 4677 // Global tracking: ALWAYS increment if ANY popup on the site uses global tracking 4678 // Current page tracking: increment per-page counters 4679 if (hasCurrentPageTracking && currentPagePopups.length > 0) { 4680 var currentUrl = window.location.href; 4681 var urlKey = 'uael_page_views_' + btoa(currentUrl).replace(/[^a-zA-Z0-9]/g, '').substring(0, 50); 4682 var currentPageViews = parseInt(localStorage.getItem(urlKey) || '0'); 4683 currentPageViews++; 4684 localStorage.setItem(urlKey, currentPageViews.toString()); 4685 // Store URL mapping for each popup 4686 for (var i = 0; i < currentPagePopups.length; i++) { 4687 var popupUrlKey = 'uael_popup_' + currentPagePopups[i] + '_url_key'; 4688 localStorage.setItem(popupUrlKey, urlKey); 4689 } 4690 } 4691 } catch (e) { 4692 // Silently fail if localStorage is not available 4693 } 4694 })(); 4695 </script>
4695 4696
4696<script id="generate-a11y"> 4697!function(){"use strict";if("querySelector"in document&&"addEventListener"in window){var e=document.body;e.addEventListener("pointerdown",(function(){e.classList.add("using-mouse")}),{passive:!0}),e.addEventListener("keydown",(function(){e.classList.remove("using-mouse")}),{passive:!0})}}(); 4698</script>
4698 4699 <div data-elementor-type="popup" data-elementor-id="2501" class="elementor elementor-2501 elementor-location-popup" data-elementor-settings="{"entrance_animation":"fadeIn","prevent_scroll":"yes","entrance_animation_duration":{"unit":"px","size":1.2,"sizes":[]},"a11y_navigation":"yes","triggers":[],"timing":[]}" data-elementor-post-type="elementor_library"> 4700 <section class="elementor-section elementor-top-section elementor-element elementor-element-d8cdad4 elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="d8cdad4" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"3c14c8f","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4701 <div class="elementor-container elementor-column-gap-default"> 4702 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-e450498" data-id="e450498" data-element_type="column" data-e-type="column"> 4703 <div class="elementor-widget-wrap elementor-element-populated"> 4704 <div class="elementor-element elementor-element-e678862 elementor-widget elementor-widget-heading" data-id="e678862" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4705 <div class="elementor-widget-container"> 4706 <span class="elementor-heading-title elementor-size-default">driver Recruiting</span> </div> 4707 </div> 4708 <div class="elementor-element elementor-element-23e87f7 elementor-widget elementor-widget-heading" data-id="23e87f7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4709 <div class="elementor-widget-container"> 4710 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-877-774-6356">1-877-774-6356 4711</a></span> </div> 4712 </div> 4713 </div> 4714 </div> 4715 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-ded321b" data-id="ded321b" data-element_type="column" data-e-type="column"> 4716 <div class="elementor-widget-wrap elementor-element-populated"> 4717 <div class="elementor-element elementor-element-7eada00 elementor-widget elementor-widget-heading" data-id="7eada00" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4718 <div class="elementor-widget-container"> 4719 <span class="elementor-heading-title elementor-size-default">GENERAL SWITCHBOARD</span> </div> 4720 </div> 4721 <div class="elementor-element elementor-element-d6bb72e elementor-widget elementor-widget-heading" data-id="d6bb72e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4722 <div class="elementor-widget-container"> 4723 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-321-4552">417-866-0001</a></span> </div>
4724 </div> 4725 </div> 4726 </div> 4727 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-c4b1fd0" data-id="c4b1fd0" data-element_type="column" data-e-type="column"> 4728 <div class="elementor-widget-wrap elementor-element-populated"> 4729 <div class="elementor-element elementor-element-551a1c7 elementor-widget elementor-widget-heading" data-id="551a1c7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4730 <div class="elementor-widget-container"> 4731 <span class="elementor-heading-title elementor-size-default">wORK iN hOUSE/hr</span> </div> 4732 </div> 4733 <div class="elementor-element elementor-element-a56bec6 elementor-widget elementor-widget-heading" data-id="a56bec6" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4734 <div class="elementor-widget-container"> 4735 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-801-977-5929">417-799-8883</a></span> </div> 4736 </div> 4737 </div> 4738 </div> 4739 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-65247f8" data-id="65247f8" data-element_type="column" data-e-type="column"> 4740 <div class="elementor-widget-wrap elementor-element-populated"> 4741 <div class="elementor-element elementor-element-4a25d57 elementor-widget elementor-widget-heading" data-id="4a25d57" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4742 <div class="elementor-widget-container"> 4743 <span class="elementor-heading-title elementor-size-default">LOGISTICS/Brokerage 4744</span> </div> 4745 </div> 4746 <div class="elementor-element elementor-element-6c16588 elementor-widget elementor-widget-heading" data-id="6c16588" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4747 <div class="elementor-widget-container"> 4748 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-321-1354">417-521-3743 4749</a></span> </div> 4750 </div> 4751 </div> 4752 </div> 4753 </div> 4754 </section> 4755 <section class="elementor-section elementor-top-section elementor-element elementor-element-b04c035 elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="b04c035" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"3c14c8f","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4756 <div class="elementor-container elementor-column-gap-default"> 4757 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-b5c42a1" data-id="b5c42a1" data-element_type="column" data-e-type="column"> 4758 <div class="elementor-widget-wrap elementor-element-populated"> 4759 <div class="elementor-element elementor-element-753711a elementor-widget elementor-widget-heading" data-id="753711a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4760 <div class="elementor-widget-container"> 4761 <span class="elementor-heading-title elementor-size-default">truck/trailer Sales</span> </div>
4762 </div> 4763 <div class="elementor-element elementor-element-548b296 elementor-widget elementor-widget-heading" data-id="548b296" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4764 <div class="elementor-widget-container"> 4765 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-574-3011">417-607-6111</a></span> </div> 4766 </div> 4767 </div> 4768 </div> 4769 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-6e03c72" data-id="6e03c72" data-element_type="column" data-e-type="column"> 4770 <div class="elementor-widget-wrap elementor-element-populated"> 4771 <div class="elementor-element elementor-element-9e594ff elementor-widget elementor-widget-heading" data-id="9e594ff" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4772 <div class="elementor-widget-container"> 4773 <span class="elementor-heading-title elementor-size-default">FLATBED Division SALES 4774</span> </div> 4775 </div> 4776 <div class="elementor-element elementor-element-0c2aebb elementor-widget elementor-widget-heading" data-id="0c2aebb" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4777 <div class="elementor-widget-container"> 4778 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-491-1273">417-521-6888</a></span> </div> 4779 </div> 4780 </div> 4781 </div> 4782 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-a65bec6" data-id="a65bec6" data-element_type="column" data-e-type="column"> 4783 <div class="elementor-widget-wrap elementor-element-populated"> 4784 <div class="elementor-element elementor-element-8ec222c elementor-widget elementor-widget-heading" data-id="8ec222c" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4785 <div class="elementor-widget-container"> 4786 <span class="elementor-heading-title elementor-size-default">refrigerated division sales</span> </div> 4787 </div> 4788 <div class="elementor-element elementor-element-807630f elementor-widget elementor-widget-heading" data-id="807630f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4789 <div class="elementor-widget-container"> 4790 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-848-4560">417-521-6886</a></span> </div> 4791 </div> 4792 </div> 4793 </div> 4794 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-1d94542" data-id="1d94542" data-element_type="column" data-e-type="column"> 4795 <div class="elementor-widget-wrap elementor-element-populated"> 4796 <div class="elementor-element elementor-element-84b89e8 elementor-widget elementor-widget-heading" data-id="84b89e8" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4797 <div class="elementor-widget-container"> 4798 <span class="elementor-heading-title elementor-size-default">Tanker Division Sales</span> </div> 4799 </div> 4800 <div class="elementor-element elementor-element-08ea3cd elementor-widget elementor-widget-heading" data-id="08ea3cd" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4801 <div class="elementor-widget-container"> 4802 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-876-8710">417-521-6874</a></span> </div> 4803 </div> 4804 </div> 4805 </div> 4806 </div> 4807 </section> 4808 <section class="elementor-section elementor-top-section elementor-element elementor-element-96dff77 elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="96dff77" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"3c14c8f","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size":"auto","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":"","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"]}]}"> 4809 <div class="elementor-container elementor-column-gap-default"> 4810 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-6d170ac" data-id="6d170ac" data-element_type="column" data-e-type="column"> 4811 <div class="elementor-widget-wrap elementor-element-populated"> 4812 <div class="elementor-element elementor-element-c4c6287 elementor-widget elementor-widget-heading" data-id="c4c6287" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4813 <div class="elementor-widget-container"> 4814 <span class="elementor-heading-title elementor-size-default">
4814INTERMODAL division Sales 4815 4816</span> </div> 4817 </div> 4818 <div class="elementor-element elementor-element-8188be5 elementor-widget elementor-widget-heading" data-id="8188be5" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4819 <div class="elementor-widget-container"> 4820 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-888-745-1146">417-521-3661</a></span> </div> 4821 </div> 4822 </div> 4823 </div> 4824 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-c5cd690" data-id="c5cd690" data-element_type="column" data-e-type="column"> 4825 <div class="elementor-widget-wrap elementor-element-populated"> 4826 <div class="elementor-element elementor-element-fa76dd7 elementor-widget elementor-widget-heading" data-id="fa76dd7" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4827 <div class="elementor-widget-container"> 4828 <span class="elementor-heading-title elementor-size-default">Success Leasing</span> </div> 4829 </div> 4830 <div class="elementor-element elementor-element-293e222 elementor-widget elementor-widget-heading" data-id="293e222" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4831 <div class="elementor-widget-container"> 4832 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-417-521-3712">417-521-3712</a></span> </div> 4833 </div> 4834 </div> 4835 </div> 4836 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-2a1f3d1" data-id="2a1f3d1" data-element_type="column" data-e-type="column"> 4837 <div class="elementor-widget-wrap elementor-element-populated"> 4838 <div class="elementor-element elementor-element-7b6a8e3 elementor-widget elementor-widget-heading" data-id="7b6a8e3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4839 <div class="elementor-widget-container"> 4840 <span class="elementor-heading-title elementor-size-default">Safety dept</span> </div> 4841 </div> 4842 <div class="elementor-element elementor-element-522f860 elementor-widget elementor-widget-heading" data-id="522f860" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4843 <div class="elementor-widget-container"> 4844 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-800-491-1253">417-799-8880</a></span> </div> 4845 </div> 4846 </div> 4847 </div> 4848 <div class="elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-9f65858" data-id="9f65858" data-element_type="column" data-e-type="column"> 4849 <div class="elementor-widget-wrap elementor-element-populated"> 4850 <div class="elementor-element elementor-element-74c49b9 elementor-widget elementor-widget-heading" data-id="74c49b9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4851 <div class="elementor-widget-container"> 4852 <span class="elementor-heading-title elementor-size-default">Company Store</span> </div> 4853 </div> 4854 <div class="elementor-element elementor-element-25f1439 elementor-widget elementor-widget-heading" data-id="25f1439" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> 4855 <div class="elementor-widget-container"> 4856 <span class="elementor-heading-title elementor-size-default"><a href="tel:+1-417-521-3814">417-521-3114</a></span> </div> 4857 </div> 4858 </div> 4859 </div> 4860 </div> 4861 </section> 4862 </div> 4863 <div data-elementor-type="popup" data-elementor-id="2335" class="elementor elementor-2335 elementor-location-popup" data-elementor-settings="{"entrance_animation":"fadeIn","entrance_animation_duration":{"unit":"px","size":0.5,"sizes":[]},"prevent_scroll":"yes","prevent_close_on_background_click":"yes","a11y_navigation":"yes","timing":[]}" data-elementor-post-type="elementor_library"> 4864 <section class="elementor-section elementor-top-section elementor-element elementor-element-58393b6 elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="58393b6" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"3c14c8f","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_size":"auto","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"],"jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":""}]}"> 4865 <div class="elementor-container elementor-column-gap-default"> 4866 <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e6047e" data-id="5e6047e" data-element_type="column" data-e-type="column"> 4867 <div class="elementor-widget-wrap elementor-element-populated"> 4868 <section class="elementor-section elementor-inner-section elementor-element elementor-element-f653128 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f653128" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"1f1e7d5","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_size":"auto","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"],"jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":""}]}"> 4869 <div class="elementor-container elementor-column-gap-default"> 4870 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-c07b5ae" data-id="c07b5ae" data-element_type="column" data-e-type="column"> 4871 <div class="elementor-widget-wrap elementor-element-populated"> 4872 <div class="elementor-element elementor-element-8a7323a elementor-widget elementor-widget-wp-widget-nav_menu" data-id="8a7323a" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4873 <div class="elementor-widget-container"> 4874 <div class="menu-why-prime-container"><ul id="menu-why-prime" class="menu">
4874<li id="menu-item-2638" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2638"><a href="https://www.primeinc.com/why-prime/">Why Prime</a> 4875<ul class="sub-menu"> 4876 <li id="menu-item-2639" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2639"><a href="https://www.primeinc.com/why-prime/company-culture/">Company Culture</a></li> 4877 <li id="menu-item-4348" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4348"><a href="https://www.primeinc.com/why-prime/company-culture/#company-programs">Company Programs</a></li> 4878 <li id="menu-item-4339" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4339"><a href="https://www.primeinc.com/why-prime/company-culture/leadership-team/">Leadership Team</a></li> 4879 <li id="menu-item-3038" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3038"><a href="/success-leasing/equipment/">Equipment</a></li> 4880 <li id="menu-item-14437" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14437"><a href="https://www.primeinc.com/why-prime/facilities/">Facilities</a></li> 4881 <li id="menu-item-2641" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2641"><a href="https://www.primeinc.com/work-in-house/fleet-maintenance/">Fleet Maintenance</a></li> 4882 <li id="menu-item-2768" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2768"><a href="https://www.primeinc.com/why-prime/prime-news/">Prime News</a></li> 4883</ul> 4884</li> 4885</ul></div> </div> 4886 </div> 4887 </div> 4888 </div> 4889 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-feed7f5" data-id="feed7f5" data-element_type="column" data-e-type="column"> 4890 <div class="elementor-widget-wrap elementor-element-populated"> 4891 <div class="elementor-element elementor-element-5375522 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="5375522" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4892 <div class="elementor-widget-container"> 4893 <div class="menu-transportation-solutions-container"><ul id="menu-transportation-solutions" class="menu"><li id="menu-item-2632" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2632"><a href="https://www.primeinc.com/transportation-solutions/">Transportation Solutions</a> 4894<ul class="sub-menu"> 4895 <li id="menu-item-2633" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2633"><a href="https://www.primeinc.com/transportation-solutions/refrigerated-division/">Refrigerated Division</a></li> 4896 <li id="menu-item-3050" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3050"><a href="https://www.primeinc.com/transportation-solutions/flatbed-division/">Flatbed Division</a></li> 4897 <li id="menu-item-3051" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3051"><a href="https://www.primeinc.com/transportation-solutions/tanker-division/">Tanker Division</a></li> 4898 <li id="menu-item-3429" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3429"><a href="https://www.primeinc.com/transportation-solutions/intermodal/">Intermodal Division</a></li> 4899 <li id="menu-item-2634" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2634"><a target="_blank" href="https://loadtracing.primeinc.com/#new_tab">Load Tracing <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 4900 <li id="menu-item-2635" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2635"><a href="https://www.primeinc.com/transportation-solutions/industry-awards/">Awards</a></li> 4901 <li id="menu-item-4688" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4688"><a href="https://www.primeinc.com/transportation-solutions/documentation/">Documentation</a></li> 4902</ul> 4903</li> 4904</ul></div> </div> 4905 </div> 4906 </div> 4907 </div> 4908 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-d2c684c" data-id="d2c684c" data-element_type="column" data-e-type="column"> 4909 <div class="elementor-widget-wrap elementor-element-populated"> 4910 <div class="elementor-element elementor-element-0c74a47 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="0c74a47" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4911 <div class="elementor-widget-container"> 4912 <div class="menu-drive-for-prime-container"><ul id="menu-drive-for-prime" class="menu"><li id="menu-item-2648" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2648"><a href="https://www.primeinc.com/drive-for-prime/">Drive For Prime</a> 4913<ul class="sub-menu"> 4914 <li id="menu-item-2649" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2649"><a href="https://www.primeinc.com/drive-for-prime/qualifications-expectations/">Qualifications & Expectations</a></li> 4915 <li id="menu-item-2650" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2650"><a href="https://www.primeinc.com/drive-for-prime/pay-benefits/">Pay & Benefits</a></li> 4916 <li id="menu-item-2651" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2651"><a href="https://www.primeinc.com/drive-for-prime/driver-training-program/">Driver Training Program</a></li> 4917 <li id="menu-item-2652" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2652"><a href="https://www.primeinc.com/drive-for-prime/cdl-holders/">CDL Holders</a></li> 4918 <li id="menu-item-2653" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2653"><a href="https://www.primeinc.com/drive-for-prime/driver-awards/">Driver Awards</a></li> 4919 <li id="menu-item-11593" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11593"><a href="https://www.primeinc.com/drive-for-prime/slc/">Salt Lake City</a></li> 4920 <li id="menu-item-13808" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13808"><a href="https://www.primeinc.com/drive-for-prime/pittston-pa/">Pittston, PA</a></li> 4921 <li id="menu-item-13809" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13809"><a href="https://www.primeinc.com/drive-for-prime/springfield-mo/">Springfield, MO</a></li> 4922</ul> 4923</li> 4924</ul></div>
4924 </div> 4925 </div> 4926 </div> 4927 </div> 4928 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-567fce4" data-id="567fce4" data-element_type="column" data-e-type="column"> 4929 <div class="elementor-widget-wrap elementor-element-populated"> 4930 <div class="elementor-element elementor-element-ecb1966 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="ecb1966" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4931 <div class="elementor-widget-container"> 4932 <div class="menu-work-in-house-container"><ul id="menu-work-in-house" class="menu"><li id="menu-item-2643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2643"><a href="https://www.primeinc.com/work-in-house/">Work In House</a> 4933<ul class="sub-menu"> 4934 <li id="menu-item-2644" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2644"><a target="_blank" href="https://careers-primeinc.icims.com/jobs/search?ss=1&mobile=false&width=960&height=500&bga=true&needsRedirect=false&jan1offset=-360&jun1offset=-300#new_tab">Jobs At Prime <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 4935 <li id="menu-item-2645" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2645"><a href="https://www.primeinc.com/why-prime/facilities/#amenities">Amenities</a></li> 4936 <li id="menu-item-2646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2646"><a href="https://www.primeinc.com/work-in-house/benefits/">Benefits</a></li> 4937 <li id="menu-item-3279" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3279"><a href="https://www.primeinc.com/why-prime/company-culture/">Company Culture</a></li> 4938 <li id="menu-item-11594" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-11594"><a href="https://www.primeinc.com/drive-for-prime/slc/">Salt Lake City</a></li> 4939</ul> 4940</li> 4941</ul></div> </div> 4942 </div> 4943 </div> 4944 </div> 4945 </div> 4946 </section> 4947 <section class="elementor-section elementor-inner-section elementor-element elementor-element-d9feeab elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d9feeab" data-element_type="section" data-e-type="section" data-settings="{"jet_parallax_layout_list":[{"jet_parallax_layout_image":{"url":"","id":"","size":""},"_id":"1f1e7d5","jet_parallax_layout_image_tablet":{"url":"","id":"","size":""},"jet_parallax_layout_image_mobile":{"url":"","id":"","size":""},"jet_parallax_layout_speed":{"unit":"%","size":50,"sizes":[]},"jet_parallax_layout_type":"scroll","jet_parallax_layout_z_index":"","jet_parallax_layout_bg_x":50,"jet_parallax_layout_bg_y":50,"jet_parallax_layout_bg_size":"auto","jet_parallax_layout_animation_prop":"transform","jet_parallax_layout_on":["desktop","tablet"],"jet_parallax_layout_direction":"1","jet_parallax_layout_fx_direction":null,"jet_parallax_layout_bg_x_tablet":"","jet_parallax_layout_bg_x_mobile":"","jet_parallax_layout_bg_y_tablet":"","jet_parallax_layout_bg_y_mobile":"","jet_parallax_layout_bg_size_tablet":"","jet_parallax_layout_bg_size_mobile":""}]}"> 4948 <div class="elementor-container elementor-column-gap-default"> 4949 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-8a8e351" data-id="8a8e351" data-element_type="column" data-e-type="column"> 4950 <div class="elementor-widget-wrap elementor-element-populated"> 4951 <div class="elementor-element elementor-element-4b2cf1c elementor-widget elementor-widget-wp-widget-nav_menu" data-id="4b2cf1c" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4952 <div class="elementor-widget-container"> 4953 <div class="menu-carrier-solutions-container"><ul id="menu-carrier-solutions" class="menu"><li id="menu-item-2655" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2655"><a href="https://www.primeinc.com/carrier-solutions/">Carrier Solutions</a> 4954<ul class="sub-menu"> 4955 <li id="menu-item-8380" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8380"><a href="/carrier-solutions/brokerage/loads/">View Available Loads​</a></li> 4956 <li id="menu-item-2656" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2656"><a href="https://www.primeinc.com/carrier-solutions/brokerage/">Brokerage</a></li> 4957 <li id="menu-item-15952" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15952"><a href="https://www.primeinc.com/carrier-solutions/prime-power-fleet/">Prime Power Fleet</a></li> 4958</ul> 4959</li> 4960</ul></div>
4960 </div> 4961 </div> 4962 </div> 4963 </div> 4964 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-be5ee35" data-id="be5ee35" data-element_type="column" data-e-type="column"> 4965 <div class="elementor-widget-wrap elementor-element-populated"> 4966 <div class="elementor-element elementor-element-fae5c5c elementor-widget elementor-widget-wp-widget-nav_menu" data-id="fae5c5c" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4967 <div class="elementor-widget-container"> 4968 <div class="menu-success-leasing-container"><ul id="menu-success-leasing" class="menu"><li id="menu-item-2628" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2628"><a href="https://www.primeinc.com/success-leasing/">Success Leasing</a> 4969<ul class="sub-menu"> 4970 <li id="menu-item-2788" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2788"><a href="https://www.primeinc.com/success-leasing/equipment/">Equipment</a></li> 4971 <li id="menu-item-2631" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2631"><a href="https://www.primeinc.com/success-leasing/lease-lease-purchase/">Lease & Lease Purchase</a></li> 4972 <li id="menu-item-2629" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2629"><a href="https://www.primeinc.com/success-leasing/benefits-of-leasing/">Benefits of Leasing</a></li> 4973 <li id="menu-item-8157" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8157"><a target="_blank" href="https://intelliapp.driverapponline.com/c/primeinc?uri_b=ia_primeinc_1310919569">How to Get Started <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 4974</ul> 4975</li> 4976</ul></div> </div> 4977 </div> 4978 </div> 4979 </div> 4980 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-786bde1" data-id="786bde1" data-element_type="column" data-e-type="column"> 4981 <div class="elementor-widget-wrap elementor-element-populated"> 4982 <div class="elementor-element elementor-element-656da70 elementor-widget elementor-widget-wp-widget-nav_menu" data-id="656da70" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4983 <div class="elementor-widget-container"> 4984 <div class="menu-pedigree-container"><ul id="menu-pedigree" class="menu"><li id="menu-item-2623" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2623"><a href="https://www.primeinc.com/pedigree/">Pedigree</a> 4985<ul class="sub-menu"> 4986 <li id="menu-item-2624" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2624"><a href="https://www.primeinc.com/pedigree/pedigree-benefits/">Pedigree Benefits</a></li> 4987 <li id="menu-item-2625" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2625"><a href="https://www.primeinc.com/pedigree/financing-information/">Financing Information</a></li> 4988 <li id="menu-item-3791" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3791"><a href="https://www.primeinc.com/pedigree/equipment-inventory/">Equipment Inventory</a></li> 4989</ul> 4990</li> 4991</ul></div> </div> 4992 </div> 4993 </div> 4994 </div> 4995 <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-39cb80d" data-id="39cb80d" data-element_type="column" data-e-type="column"> 4996 <div class="elementor-widget-wrap elementor-element-populated"> 4997 <div class="elementor-element elementor-element-6da4f2a elementor-widget elementor-widget-wp-widget-nav_menu" data-id="6da4f2a" data-element_type="widget" data-e-type="widget" data-widget_type="wp-widget-nav_menu.default"> 4998 <div class="elementor-widget-container"> 4999 <div class="menu-contact-us-container"><ul id="menu-contact-us" class="menu"><li id="menu-item-3449" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-3409 current_page_item menu-item-has-children menu-item-3449"><a href="https://www.primeinc.com/contact-us/" aria-current="page">Quick Links</a> 5000<ul class="sub-menu"> 5001 <li id="menu-item-5476" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5476"><a target="_blank" href="https://dhos.omnitracs.com/dhm/?company=Prime%20Inc.">Omnitracs Logs <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 5002 <li id="menu-item-5477" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5477"><a target="_blank" href="https://www.myprimeinc.com/login/">My Prime <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 5003 <li id="menu-item-5478" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5478"><a target="_blank" href="https://primeincstore.com">Company Store <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 5004 <li id="menu-item-6041" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6041"><a target="_blank" href="https://form.jotform.com/31485165790157%20">Submit Pics from the Road <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 5005 <li id="menu-item-6689" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6689"><a href="https://home.driverfacts.com/">Driver Verification <i class="fa fa-external-link-square" aria-hidden="true"></i></a></li> 5006</ul> 5007</li> 5008</ul></div>
5008 </div> 5009 </div> 5010 </div> 5011 </div> 5012 </div> 5013 </section> 5014 </div> 5015 </div> 5016 </div> 5017 </section> 5018 </div> 5019
5019<script> 5020 ( () => { 5021 const lazyloadRunObserver = () => { 5022 const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); 5023 const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { 5024 entries.forEach( ( entry ) => { 5025 if ( entry.isIntersecting ) { 5026 let lazyloadBackground = entry.target; 5027 if( lazyloadBackground ) { 5028 lazyloadBackground.classList.add( 'e-lazyloaded' ); 5029 } 5030 lazyloadBackgroundObserver.unobserve( entry.target ); 5031 } 5032 }); 5033 }, { rootMargin: '200px 0px 200px 0px' } ); 5034 lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { 5035 lazyloadBackgroundObserver.observe( lazyloadBackground ); 5036 } ); 5037 }; 5038 const events = [ 5039 'DOMContentLoaded', 5040 'elementor/lazyload/observe', 5041 ]; 5042 events.forEach( ( event ) => { 5043 document.addEventListener( event, lazyloadRunObserver ); 5044 } ); 5045 } )(); 5046 </script>
5046 5047 <style id="global-styles-inline-css"> 5048:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--contrast: var(--contrast);--wp--preset--color--contrast-2: var(--contrast-2);--wp--preset--color--contrast-3: var(--contrast-3);--wp--preset--color--base: var(--base);--wp--preset--color--base-2: var(--base-2);--wp--preset--color--base-3: var(--base-3);--wp--preset--color--accent: var(--accent);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
5048--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-color{color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-color{color: var(--wp--preset--color--contrast-3) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-base-2-color{color: var(--wp--preset--color--base-2) !important;}.has-base-3-color{color: var(--wp--preset--color--base-3) !important;}.has-accent-color{color: var(--wp--preset--color--accent) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-background-color{background-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-background-color{background-color: var(--wp--preset--color--contrast-3) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-base-2-background-color{background-color: var(--wp--preset--color--base-2) !important;}.has-base-3-background-color{background-color: var(--wp--preset--color--base-3) !important;}.has-accent-background-color{background-color: var(--wp--preset--color--accent) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-contrast-2-border-color{border-color: var(--wp--preset--color--contrast-2) !important;}.has-contrast-3-border-color{border-color: var(--wp--preset--color--contrast-3) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-base-2-border-color{border-color: var(--wp--preset--color--base-2) !important;}.has-base-3-border-color{border-color: var(--wp--preset--color--base-3) !important;}.has-accent-border-color{border-color: var(--wp--preset--color--accent) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
5048.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 5049/*# sourceURL=global-styles-inline-css */ 5050</style> 5051<link rel='stylesheet' id='e-swiper-css' href='https://www.primeinc.com/wp-content/plugins/elementor/assets/css/conditionals/e-swiper.min.css?ver=4.3.3' media='all' /> 5052<link rel='stylesheet' id='jet-elements-css' href='https://www.primeinc.com/wp-content/plugins/jet-elements/assets/css/jet-elements.css?ver=2.9.2.2' media='all' />
5053<script id="dynamic-conditions-js" src="https://www.primeinc.com/wp-content/plugins/dynamicconditions/Public/js/dynamic-conditions-public.js?ver=1.7.5"></script>
vendor: 1 bytes, line 5053
5053
5054<script id="generate-menu-js-before"> 5055var generatepressMenu = {"toggleOpenedSubMenus":true,"openSubMenuLabel":"Open Sub-Menu","closeSubMenuLabel":"Close Sub-Menu"}; 5056//# sourceURL=generate-menu-js-before 5057</script>
vendor: 1 bytes, line 5057
5057
5058<script id="generate-menu-js" src="https://www.primeinc.com/wp-content/themes/generatepress/assets/js/menu.min.js?ver=3.6.1"></script>
vendor: 1 bytes, line 5058
5058
5059<script id="elementor-webpack-runtime-js" src="https://www.primeinc.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.3.3"></script>
vendor: 1 bytes, line 5059
5059
5060<script id="elementor-frontend-modules-js" src="https://www.primeinc.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.3.3"></script>
vendor: 1 bytes, line 5060
5060
5061<script id="jquery-ui-core-js" src="https://www.primeinc.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3"></script>
vendor: 1 bytes, line 5061
5061
5062<script id="elementor-frontend-js-extra"> 5063var uael_particles_script = {"uael_particles_url":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/min-js/uael-particles.min.js","particles_url":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/lib/particles/particles.min.js","snowflakes_image":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/snowflake.svg","gift":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/gift.png","tree":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/tree.png","skull":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/skull.png","ghost":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/ghost.png","moon":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/moon.png","bat":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/bat.png","pumpkin":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/pumpkin.png"}; 5064var EAELImageMaskingConfig = {"svg_dir_url":"https://www.primeinc.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/img/image-masking/svg-shapes/"}; 5065//# sourceURL=elementor-frontend-js-extra 5066</script>
vendor: 1 bytes, line 5066
5066
5067<script id="elementor-frontend-js-before"> 5068var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnX":"Share on X","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.3.3","is_static":false,"experimentalFeatures":{"additional_custom_breakpoints":true,"theme_builder_v2":true,"landing-pages":true,"import-export-customization":true,"e_pro_atomic_form":true,"e_pro_collection_loop":true},"urls":{"assets":"https:\/\/www.primeinc.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.primeinc.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.primeinc.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"c8e72c23bd","atomicFormsSendForm":"e9a889e628"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":3409,"title":"Contact%20Us%20%7C%20Prime%2C%20Inc.","excerpt":"","featuredImage":false}}; 5069//# sourceURL=elementor-frontend-js-before 5070</script>
vendor: 1 bytes, line 5070
5070
5071<script id="elementor-frontend-js" src="https://www.primeinc.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.3.3"></script>
vendor: 1 bytes, line 5071
5071
5072<script id="elementor-frontend-js-after"> 5073window.scope_array = []; 5074 window.backend = 0; 5075 jQuery.cachedScript = function( url, options ) { 5076 // Allow user to set any option except for dataType, cache, and url. 5077 options = jQuery.extend( options || {}, { 5078 dataType: "script", 5079 cache: true, 5080 url: url 5081 }); 5082 // Return the jqXHR object so we can chain callbacks. 5083 return jQuery.ajax( options ); 5084 }; 5085 jQuery( window ).on( "elementor/frontend/init", function() { 5086 elementorFrontend.hooks.addAction( "frontend/element_ready/global", function( $scope, $ ){ 5087 if ( "undefined" == typeof $scope ) { 5088 return; 5089 } 5090 if ( $scope.hasClass( "uael-particle-yes" ) ) { 5091 window.scope_array.push( $scope ); 5092 $scope.find(".uael-particle-wrapper").addClass("js-is-enabled"); 5093 }else{ 5094 return; 5095 } 5096 if(elementorFrontend.isEditMode() && $scope.find(".uael-particle-wrapper").hasClass("js-is-enabled") && window.backend == 0 ){ 5097 var uael_url = uael_particles_script.uael_particles_url; 5098 5099 jQuery.cachedScript( uael_url ); 5100 window.backend = 1; 5101 }else if(elementorFrontend.isEditMode()){ 5102 var uael_url = uael_particles_script.uael_particles_url; 5103 jQuery.cachedScript( uael_url ).done(function(){ 5104 var flag = true; 5105 }); 5106 } 5107 }); 5108 }); 5109 5110 // Added both `document` and `window` event listeners to address issues where some users faced problems with the `document` event not triggering as expected. 5111 // Define cachedScript globally to avoid redefining it. 5112 5113 jQuery.cachedScript = function(url, options) { 5114 options = jQuery.extend(options || {}, { 5115 dataType: "script", 5116 cache: true, 5117 url: url 5118 }); 5119 return jQuery.ajax(options); // Return the jqXHR object so we can chain callbacks 5120 }; 5121 5122 let uael_particle_loaded = false; //flag to prevent multiple script loads. 5123 5124 jQuery( document ).on( "ready elementor/popup/show", () => { 5125 loadParticleScript(); 5126 }); 5127 5128 jQuery( window ).one( "elementor/frontend/init", () => { 5129 if (!uael_particle_loaded) { 5130 loadParticleScript(); 5131 } 5132 }); 5133 5134 function loadParticleScript(){ 5135 // Use jQuery to check for the presence of the element 5136 if (jQuery(".uael-particle-yes").length < 1) { 5137 return; 5138 } 5139 5140 uael_particle_loaded = true; 5141 var uael_url = uael_particles_script.uael_particles_url; 5142 // Call the cachedScript function 5143 jQuery.cachedScript(uael_url); 5144 } 5145//# sourceURL=elementor-frontend-js-after 5146</script>
vendor: 1 bytes, line 5146
5146
5147<script id="e-sticky-js" src="https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 5147
5147
5148<script id="uael-frontend-script-js-extra"> 5149var uael_script = {"ajax_url":"https://www.primeinc.com/wp-admin/admin-ajax.php"}; 5150var uael_post_loader_script = {"post_loader":"https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/img/post-loader.gif"}; 5151var uael_login_form_script = {"ajax_url":"https://www.primeinc.com/wp-admin/admin-ajax.php","invalid_mail":"Enter valid Email!","invalid_phone":"Enter valid Phone Number!","error_phone":"Phone number should not contain spaces!","pass_unmatch":"The specified password do not match!","required":"This Field is required!","incorrect_password":"Error: The Password you have entered is incorrect.","invalid_username":"Unknown username. Check again or try your email address.","invalid_email":"Unknown email address. Check again or try your username.","logged_in_message":"Thanks for logging in, ","wp_version":"1"}; 5152//# sourceURL=uael-frontend-script-js-extra 5153</script>
vendor: 1 bytes, line 5153
5153
5154<script id="uael-frontend-script-js" src="https://www.primeinc.com/wp-content/plugins/ultimate-elementor/assets/min-js/uael-frontend.min.js?ver=1.45.5"></script>
vendor: 1 bytes, line 5154
5154
5155<script id="wp-dom-ready-js" src="https://www.primeinc.com/wp-includes/js/dist/dom-ready.min.js?ver=a06281ae5cf5500e9317"></script>
vendor: 1 bytes, line 5155
5155
5156<script id="wp-hooks-js" src="https://www.primeinc.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d"></script>
vendor: 1 bytes, line 5156
5156
5157<script id="wp-i18n-js" src="https://www.primeinc.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec"></script>
vendor: 1 bytes, line 5157
5157
5158<script id="wp-i18n-js-after"> 5159wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 5160//# sourceURL=wp-i18n-js-after 5161</script>
vendor: 1 bytes, line 5161
5161
5162<script id="wp-a11y-js" src="https://www.primeinc.com/wp-includes/js/dist/a11y.min.js?ver=af934e5259bc51b8718e"></script>
vendor: 1 bytes, line 5162
5162
5163<script id="gform_gravityforms_theme_vendors-js" defer='defer' src="https://www.primeinc.com/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=0c901cb641ce64b99c20ea1a4d208cc9"></script>
vendor: 1 bytes, line 5163
5163
5164<script id="gform_gravityforms_theme-js-extra"> 5165var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"00cb995e55d8345acdd854822c6e9230"},"ajax":{"ajaxurl":"https://www.primeinc.com/wp-admin/admin-ajax.php","ajax_submission_nonce":"894cba3a7e","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again.","error_403":"The request was blocked (403 error) for unknown security reasons. Remove any code-like text (scripts or DB queries) and try again."}}}},"hmr_dev":"","public_path":"https://www.primeinc.com/wp-content/plugins/gravityforms/assets/js/dist/","config_nonce":"71d673e8cd"}; 5166//# sourceURL=gform_gravityforms_theme-js-extra 5167</script>
vendor: 1 bytes, line 5167
5167
5168<script id="gform_gravityforms_theme-js" defer='defer' src="https://www.primeinc.com/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=e27d9712159624c99129c8c208f022ad"></script>
vendor: 1 bytes, line 5168
5168
5169<script id="page-links-to-js" src="https://www.primeinc.com/wp-content/plugins/page-links-to/dist/new-tab.js?ver=3.4.1"></script>
vendor: 1 bytes, line 5169
5169
5170<script id="eael-general-js-extra"> 5171var localize = {"ajaxurl":"https://www.primeinc.com/wp-admin/admin-ajax.php","nonce":"d6e5d7fd05","i18n":{"added":"Added ","compare":"Compare","loading":"Loading..."},"eael_translate_text":{"required_text":"is a required field","invalid_text":"Invalid","billing_text":"Billing","shipping_text":"Shipping","fg_mfp_counter_text":"of"},"page_permalink":"https://www.primeinc.com/contact-us/","cart_redirectition":"","cart_page_url":"","el_breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"ParticleThemesData":{"default":"{\"particles\":{\"number\":{\"value\":160,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":true,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"repulse\"},\"onclick\":{\"enable\":true,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nasa":"{\"particles\":{\"number\":{\"value\":250,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":1,\"random\":true,\"anim\":{\"enable\":true,\"speed\":1,\"opacity_min\":0,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":4,\"size_min\":0.3,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":1,\"direction\":\"none\",\"random\":true,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":600}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":250,\"size\":0,\"duration\":2,\"opacity\":0,\"speed\":3},\"repulse\":{\"distance\":400,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","bubble":"{\"particles\":{\"number\":{\"value\":15,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#1b1e34\"},\"shape\":{\"type\":\"polygon\",\"stroke\":{\"width\":0,\"color\":\"#000\"},\"polygon\":{\"nb_sides\":6},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":50,\"random\":false,\"anim\":{\"enable\":true,\"speed\":10,\"size_min\":40,\"
5171sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":200,\"color\":\"#ffffff\",\"opacity\":1,\"width\":2},\"move\":{\"enable\":true,\"speed\":8,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":false,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","snow":"{\"particles\":{\"number\":{\"value\":450,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#fff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":500,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":2},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"bottom\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":0.5}},\"bubble\":{\"distance\":400,\"size\":4,\"duration\":0.3,\"opacity\":1,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nyan_cat":"{\"particles\":{\"number\":{\"value\":150,\"density\":{\"enable\":false,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"star\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"http://wiki.lexisnexis.com/academic/images/f/fb/Itunes_podcast_icon_300.jpg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":4,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":14,\"direction\":\"left\",\"random\":false,\"straight\":true,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":200,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}"},"eael_login_nonce":"d6dacb5138","eael_register_nonce":"c4baa38c3f","eael_lostpassword_nonce":"23ecc54de4","eael_resetpassword_nonce":"56dcc69388"}; 5172//# sourceURL=eael-general-js-extra 5173</script>
vendor: 1 bytes, line 5173
5173
5174<script id="eael-general-js" src="https://www.primeinc.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.8.5"></script>
vendor: 1 bytes, line 5174
5174
5175<script defer id="akismet-frontend-js" src="https://www.primeinc.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1787123122"></script>
vendor: 1 bytes, line 5175
5175
5176<script id="swiper-js" src="https://www.primeinc.com/wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5"></script>
vendor: 1 bytes, line 5176
5176
5177<script id="jet-tween-js-js" src="https://www.primeinc.com/wp-content/plugins/jet-elements/assets/js/lib/tweenjs/tweenjs.min.js?ver=2.0.2"></script>
vendor: 1 bytes, line 5177
5177
5178<script id="jet-elements-js-extra"> 5179var jetElements = {"ajaxUrl":"https://www.primeinc.com/wp-admin/admin-ajax.php","isMobile":"false","templateApiUrl":"https://www.primeinc.com/wp-json/jet-elements-api/v1/elementor-template","devMode":"false","mapboxToken":"","messages":{"invalidMail":"Please specify a valid e-mail"}}; 5180//# sourceURL=jet-elements-js-extra 5181</script>
vendor: 1 bytes, line 5181
5181
5182<script id="jet-elements-js" src="https://www.primeinc.com/wp-content/plugins/jet-elements/assets/js/jet-elements.min.js?ver=2.9.2.2"></script>
vendor: 1 bytes, line 5182
5182
5183<script id="elementor-pro-frontend-js-before"> 5184var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/www.primeinc.com\/wp-admin\/admin-ajax.php","nonce":"976e87d2ba","urls":{"assets":"https:\/\/www.primeinc.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.primeinc.com\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":true},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"en_US","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.primeinc.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; 5185//# sourceURL=elementor-pro-frontend-js-before 5186</script>
vendor: 1 bytes, line 5186
5186
5187<script id="elementor-pro-frontend-js" src="https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 5187
5187
5188<script id="pro-elements-handlers-js" src="https://www.primeinc.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=4.3.1"></script>
vendor: 1 bytes, line 5188
5188
5189<script id="jet-tabs-frontend-js-extra"> 5190var JetTabsSettings = {"ajaxurl":"https://www.primeinc.com/wp-admin/admin-ajax.php","isMobile":"false","templateApiUrl":"https://www.primeinc.com/wp-json/jet-tabs-api/v1/elementor-template","devMode":"false","isSelfRequest":""}; 5191//# sourceURL=jet-tabs-frontend-js-extra 5192</script>
vendor: 1 bytes, line 5192
5192
5193<script id="jet-tabs-frontend-js" src="https://www.primeinc.com/wp-content/plugins/jet-tabs/assets/js/jet-tabs-frontend.min.js?ver=2.3.4"></script>
vendor: 1 bytes, line 5193
5193
5194<script id="gradient-button-elementor-frontend-js-js-extra"> 5195var GradientButtonElementorFrontendConfig = {"ajaxurl":"https://www.primeinc.com/wp-admin/admin-ajax.php","nonce":"f2932400a9"}; 5196//# sourceURL=gradient-button-elementor-frontend-js-js-extra 5197</script>
vendor: 1 bytes, line 5197
5197
5198<script id="gradient-button-elementor-frontend-js-js" src="https://www.primeinc.com/wp-content/plugins/gradient-button-for-elementor/assets/js/frontend.min.js?ver=1.0.11"></script>
vendor: 1 bytes, line 5198
5198
5199<script id="jet-blog-js-extra"> 5200var JetBlogSettings = {"ajaxurl":"https://www.primeinc.com/contact-us/?nocache=1790925798&jet_blog_ajax=1"}; 5201//# sourceURL=jet-blog-js-extra 5202</script>
vendor: 1 bytes, line 5202
5202
5203<script id="jet-blog-js" src="https://www.primeinc.com/wp-content/plugins/jet-blog/assets/js/jet-blog.min.js?ver=2.4.10.1"></script>
vendor: 1 bytes, line 5203
5203
5204<script id="wp-emoji-settings" type="application/json"> 5205{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.primeinc.com/wp-includes/js/wp-emoji-release.min.js?ver=a73fd9d6cecc7d01bec96bffe1b268fb"}} 5206</script>
vendor: 1 bytes, line 5206
5206
5207<script type="module"> 5208/*! This file is auto-generated */ 5209var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 5210//# sourceURL=https://www.primeinc.com/wp-includes/js/wp-emoji-loader.min.js 5211</script>
vendor: 1 bytes, line 5211
5211
5212<script> 5213gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 4) {} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); 5214</script>
vendor: 1 bytes, line 5214
5214
5215<script> 5216gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "4", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_4" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_4"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_4" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 4, 1 ); 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(); } } ); 5217</script>
5217 5218 5219 5220
5220<script type="text/javascript"> 5221 5222 var referral_name = ''; 5223 5224 jQuery(document).ready(function(){ 5225 5226 if (readCookie('passthrough_referer') != null) { 5227 referral_name = readCookie('passthrough_referer'); 5228 } else { 5229 if(jQuery("#referral_name").length > 0){ 5230 referral_name = jQuery("#referral_name").val(); 5231 } 5232 } 5233 if(referral_name != ''){ 5234 var querystring = "r="+referral_name; 5235 5236 //hard coded field on short form - hidden field for passthrough referer 5237 jQuery("#input_2_7").val(referral_name); 5238 5239 jQuery('a:not([href*="#elementor-action"],[href*="tel:"],[href*="%23elementor-action"])').each(function() { 5240 var href = jQuery(this).attr('href'); 5241 console.log('link to replace: ' + href); 5242 swapGeneralPhoneNumbers(referral_name); 5243 if (href) { 5244 var connector = href.match(/\?/) ? '&' : '?'; 5245 var hashIdx = href.indexOf('#'); 5246 var hash = ""; 5247 var hrefWithoutHash = href; 5248 if(hashIdx >= 0){ 5249 hash = href.substring(hashIdx); 5250 hrefWithoutHash = href.substring(0,hashIdx); 5251 } 5252 href = hrefWithoutHash + connector + querystring + hash; 5253 console.log('link switched to: ' + href); 5254 5255 jQuery(this).attr('href', href); 5256 5257 } 5258 5259 }); 5260 5261 jQuery('a[href*="#elementor-action"],[href*="tel:"],a[href*="%23elementor-action"]').click(function() { 5262 setTimeout(function(){ 5263 var referral_name = ''; 5264 5265 if (readCookie('passthrough_referer') != null) { 5266 referral_name = readCookie('passthrough_referer'); 5267 } else { 5268 if(jQuery("#referral_name").length > 0){ 5269 referral_name = jQuery("#referral_name").val(); 5270 } 5271 } 5272 5273 swapGeneralPhoneNumbers(referral_name); 5274 5275 jQuery('.elementor-location-popup a:not([href*="#elementor-action"],[href*="%23elementor-action"])').each(function(){ 5276 var href = jQuery(this).attr('href'); 5277 console.log('link to replace: ' + href); 5278 5279 if (href) { 5280 var connector = href.match(/\?/) ? '&' : '?'; 5281 var hashIdx = href.indexOf('#'); 5282 var hash = ""; 5283 var hrefWithoutHash = href; 5284 if(hashIdx >= 0){ 5285 hash = href.substring(hashIdx); 5286 hrefWithoutHash = href.substring(0,hashIdx); 5287 } 5288 href = hrefWithoutHash + connector + querystring + hash; 5289 console.log('link switched to: ' + href); 5290 5291 jQuery(this).attr('href', href); 5292 5293 } 5294 }); 5295 5296 if(referral_name != ''){ 5297 //hard coded field on short form - hidden field for passthrough referer 5298 jQuery("#input_2_7").val(referral_name); 5299 } 5300 }, 250); 5301 }); 5302 } 5303 5304 }); 5305 </script>
5305 5306
5307<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4420ff74cfe8158',t:'MTc5MDkyNjg2MQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
5307<script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=3&cb=1341688973" async></script>
5307</body> 5308</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.