{"hostName":"https://www.leviballard.com","company":{"name":"InspireHUB Inc.","shortName":"InspireHUB","address":"3963 Maple Ave., Suite 190","city":"Dallas","stateProv":"Texas","postalCode":"","phone":"1-855-355-IHUB (4482)","supportEmail":"support@inspirehub.com"},"instance":"US","campaignId":"33638","environment":{"environment":"Production","urlPrefix":"","region":"East-Linux","instance":"US","branch":null,"product":"App","version":"5.8.0.1366","buildDate":"3/23/2026 4:51:45\u202FPM"},"affiliateCode":"joel","plan":{"productId":"prod_IQTMCvQzj0RAQx","name":"Standard","limits":{"messageCenterNotices":5000,"bandwidthLimitGB":45,"storageLimitGB":10,"smsLimit":0,"adminLimit":2,"transactionFeePercent":0,"dailyNewsletter":true,"postModules":true,"eCommerce":true,"customDomains":true,"supportType":"Email"},"fees":{"paidChannelsPercent":10,"eventPercent":2.9,"donationPercent":2.9,"storePercent":2.9},"trialExpires":"0001-01-01T00:00:00Z"},"businessName":"Levi Ballard Racing","title":"Levi Ballard Racing","isPrivate":false,"userLoggedIn":false,"menuJson":"{\u0022version\u0022:\u00221.0.0\u0022,\u0022showInstall\u0022:true,\u0022sideNav\u0022:{\u0022my_starred_channels\u0022:{\u0022title\u0022:\u0022My starred channels\u0022,\u0022url\u0022:\u0022\u0022,\u0022scopeFlags\u0022:\u0022campaign.merchantAccounts.*\u0022,\u0022svg\u0022:\u0022\u003Csvg id=\\\u0022mdi-heart-outline\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M12.1,18.55L12,18.65L11.89,18.55C7.14,14.24 4,11.39 4,8.5C4,6.5 5.5,5 7.5,5C9.04,5 10.54,6 11.07,7.36H12.93C13.46,6 14.96,5 16.5,5C18.5,5 20,6.5 20,8.5C20,11.39 16.86,14.24 12.1,18.55M16.5,3C14.76,3 13.09,3.81 12,5.08C10.91,3.81 9.24,3 7.5,3C4.42,3 2,5.41 2,8.5C2,12.27 5.4,15.36 10.55,20.03L12,21.35L13.45,20.03C18.6,15.36 22,12.27 22,8.5C22,5.41 19.58,3 16.5,3Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022myChannels\u0022,\u0022requireAuth\u0022:true,\u0022key\u0022:\u0022my_starred_channels\u0022,\u0022index\u0022:8,\u0022target\u0022:\u0022_self\u0022},\u0022home1\u0022:{\u0022key\u0022:\u0022home1\u0022,\u0022type\u0022:\u0022link\u0022,\u0022title\u0022:\u0022Home\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022url\u0022:\u0022/home\u0022,\u0022svg\u0022:\u0022\u003Csvg id=\\\u0022mdi-home\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022index\u0022:0},\u0022about_us1\u0022:{\u0022key\u0022:\u0022about_us1\u0022,\u0022title\u0022:\u0022About Us\u0022,\u0022url\u0022:\u0022/posts/243752/about-us\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022svg\u0022:\u0022\u003Csvg id=\\\u0022mdi-account-group\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022index\u0022:2},\u0022contact1\u0022:{\u0022key\u0022:\u0022contact1\u0022,\u0022title\u0022:\u0022Contact\u0022,\u0022url\u0022:\u0022/contact\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022svg\u0022:\u0022\u003Csvg id=\\\u0022mdi-contact-mail\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M21,8V7L18,9L15,7V8L18,10M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17M22,12H14V6H22\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022index\u0022:4},\u0022explore_channels1\u0022:{\u0022key\u0022:\u0022explore_channels1\u0022,\u0022title\u0022:\u0022Explore Channels\u0022,\u0022url\u0022:\u0022/channels\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022svg\u0022:\u0022\u003Csvg id=\\\u0022mdi-pound\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M5.41,21L6.12,17H2.12L2.47,15H6.47L7.53,9H3.53L3.88,7H7.88L8.59,3H10.59L9.88,7H15.88L16.59,3H18.59L17.88,7H21.88L21.53,9H17.53L16.47,15H20.47L20.12,17H16.12L15.41,21H13.41L14.12,17H8.12L7.41,21H5.41M9.53,9L8.47,15H14.47L15.53,9H9.53Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022requireAuth\u0022:false,\u0022index\u0022:7},\u0022calendar_and_events\u0022:{\u0022key\u0022:\u0022calendar_and_events\u0022,\u0022title\u0022:\u0022Calendar and Events\u0022,\u0022url\u0022:\u0022/events\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022svg\u0022:\u0022\u003Csvg xmlns=\\\u0022http://www.w3.org/2000/svg\\\u0022 id=\\\u0022mdi-calendar-month\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022index\u0022:3},\u0022message_center1\u0022:{\u0022key\u0022:\u0022message_center1\u0022,\u0022title\u0022:\u0022Message Center\u0022,\u0022url\u0022:\u0022/messages\u0022,\u0022target\u0022:\u0022_self\u0022,\u0022svg\u0022:\u0022\u003Csvg xmlns=\\\u0022http://www.w3.org/2000/svg\\\u0022 id=\\\u0022mdi-email\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022requireAuth\u0022:true,\u0022index\u0022:1},\u0022facebook\u0022:{\u0022key\u0022:\u0022facebook\u0022,\u0022title\u0022:\u0022Facebook\u0022,\u0022url\u0022:\u0022https://www.facebook.com/people/Team-Levi-Racing/61555826913071/\u0022,\u0022target\u0022:\u0022_blank\u0022,\u0022svg\u0022:\u0022\u003Csvg xmlns=\\\u0022http://www.w3.org/2000/svg\\\u0022 id=\\\u0022mdi-facebook\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022index\u0022:5},\u0022instagram\u0022:{\u0022key\u0022:\u0022instagram\u0022,\u0022title\u0022:\u0022Instagram\u0022,\u0022url\u0022:\u0022https://www.instagram.com/teamleviracing/?hl=en\u0022,\u0022target\u0022:\u0022_blank\u0022,\u0022svg\u0022:\u0022\u003Csvg xmlns=\\\u0022http://www.w3.org/2000/svg\\\u0022 id=\\\u0022mdi-instagram\\\u0022 viewBox=\\\u00220 0 24 24\\\u0022\u003E\u003Cpath d=\\\u0022M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\\\u0022 /\u003E\u003C/svg\u003E\u0022,\u0022type\u0022:\u0022link\u0022,\u0022index\u0022:6}}}","piwikId":17424,"contactEmail":"jmongeau@inspirehub.com","style":{"maxMasonryColumns":4,"primaryColor":"rgba(0, 0, 0, 1)","accentColor":"rgba(234, 231, 30, 1)","navTextColor":"rgba(1, 187, 217, 1)","lockSideNav":false,"logoImage":{"mediaId":391166,"mediaCropId":414058,"url":"https://us-app-content.ihub.app/app-content/posts/33638/2025/08/01/leviballardracing-blob_03_29_04_2393.dat","blurHash":"LNBONmRUD5xZIotPtQRQZ3axb_kC","color":"#3F6B57","cropData":{"x":0,"x2":null,"y":0,"y2":null,"w":746,"h":138,"ow":4096,"oh":758,"scale":0.18229792,"angle":0,"isOriginalSize":false}},"logoUrls":[{"url":"https://us-app-content.ihub.app/app-content/posts/33638/2025/08/01/leviballardracing-blob_03_29_04_2393.dat","width":746,"height":138}],"iconImage":{"mediaId":391169,"mediaCropId":414061,"url":"https://us-app-content.ihub.app/app-content/posts/33638/2025/08/01/leviballardracing-blob_03_34_15_2087.dat","blurHash":"LWLN_ED$M~%e4W?cR$?bRixuxbR%","color":"#7F816D","cropData":{"x":5,"x2":null,"y":0,"y2":null,"w":58,"h":58,"ow":999,"oh":818,"scale":0.071126916,"angle":0,"isOriginalSize":false}},"icons":[{"campaign_icon_type_id":1,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_192,h_192\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":192,"width":192,"platform_id":1},{"campaign_icon_type_id":2,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_128,h_128\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":128,"width":128,"platform_id":1},{"campaign_icon_type_id":3,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_114,h_114\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":114,"width":114,"platform_id":2},{"campaign_icon_type_id":4,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_72,h_72\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":72,"width":72,"platform_id":2},{"campaign_icon_type_id":5,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_57,h_57\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":57,"width":57,"platform_id":2},{"campaign_icon_type_id":6,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_256,h_256\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":256,"width":256,"platform_id":2},{"campaign_icon_type_id":7,"cdnUrl":"https:\/\/ih-cdn.ihub.app\/media\/v1\/crop\/x_5,w_58,h_58,ow_999,oh_818,s_0.071126916\/render\/w_512,h_512\/instance\/us\/posts\/33638\/2025\/08\/01\/leviballardracing-blob_03_34_15_2087.dat","height":512,"width":512,"platform_id":2}],"sliderSpeed":5000,"fullWidthSlider":false,"tagGroupIcons":[]},"sideNavType":"simplified","allowUgc":true,"allowCommentWithoutModeration":false,"homeChannel":{"channelId":135737,"channelCategoryId":null,"name":"Home","handle":"home","isMember":true,"recommended":false,"everyone":true,"showOnHome":false,"starred":false,"showSliders":true,"upperHtml":"\u003Cdiv style=\u0022position: relative; width: 100%;\u0022\u003E\n\t\u003Cimg src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/08/02/leviballardracing-Levi-Main-Header-gif_10_44_38_3959.gif\u0022 style=\u0022display: block; vertical-align: top; margin: -2px auto; text-align: center; width: 100%;\u0022 description=\u0022\u0022 alt=\u0022\u0022 caption=\u0022\u0022\u003E\n\n\t\u003Ca class=\u0022guide-button home-menu-button quick-start-desktop\u0022 href=\u0022/posts/246699/quick-start-guide\u0022 title=\u0022New Here? Start Here!\u0022 style=\u0022position: absolute; top: 20px; left: 15px;\u0022\u003E\n    Quick-Start Guide\n  \u003C/a\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022menu-bar\u0022\u003E\n\t\u003Ca href=\u0022/posts/243752/about-us\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tBIO\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022#newsUpdate\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tNEWS\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022/c/schedule/\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tSCHEDULE\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022/c/media-library/\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tMEDIA\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022/c/forum/\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tFORUM\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022/posts/246564/partners\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tPARTNERS\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\n\t\u003Ca href=\u0022https://levi-ballard.myshopify.com/\u0022 rel=\u0022noopener noreferrer\u0022 target=\u0022_blank\u0022\u003E\n\t\t\u003Cbutton class=\u0022menu-button ihubapp-button\u0022\u003E\n\t\t\tSHOP\n\t\t\u003C/button\u003E\n\t\u003C/a\u003E\n\u003C/div\u003E\n","lowerHtml":"\u003Cdiv style=\u0022font-size: 16px;\u0022\u003E\u003Cdiv class=\u0022partner-home-container\u0022 style=\u0022text-align: center;\u0022\u003E\n\u003Ca href=\u0022/posts/246564/partners\u0022 class=\u0022partner-home-link\u0022\u003E\n\n\u003Cp class=\u0022partner-home-wrapper\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/30031/2024/12/11/kbr-blob_01_33_47_6784.dat\u0022 alt=\u0022Partner 1\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/09/05/leviballardracing-blob_01_05_46_8115.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/09/05/leviballardracing-blob_01_09_59_2170.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/09/04/leviballardracing-blob_09_16_37_6685.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/09/05/leviballardracing-blob_01_08_09_7852.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/08/29/leviballardracing-blob_04_14_50_8909.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003Cimg class=\u0022partner-home-image\u0022 src=\u0022https://us-app-content.ihub.app/app-content/posts/33638/2025/08/29/leviballardracing-blob_03_28_41_0970.dat\u0022 alt=\u0022\u0022 description=\u0022\u0022 caption=\u0022\u0022\u003E\n\u003C/p\u003E\n\u003C/a\u003E\u003C/div\u003E\n\u003Ca href=\u0022https://kbr.ihub.app/posts/200536/partners\u0022 class=\u0022partner-home-link\u0022\u003E\n\u003C/a\u003E\n\u003Cdiv id=\u0022contentNews\u0022 class=\u0022contentNews\u0022\u003E\n\u003Cstrong\u003E\u003Ch2\u003EStay in the Driver\u0027s Seat\u003C/h2\u003E\u003C/strong\u003E\n\u003Ca href=\u0022https://www.facebook.com/people/Team-Levi-Racing/61555826913071/\u0022 target=\u0022\u201D_blank\u201D\u0022 style=\u0022display: inline-flex; align-items: center; margin: auto; color: #EAE71E;\u0022\u003E\n\u003Csvg fill=\u0022#EAE71E\u0022 width=\u002224\u0022 height=\u002224\u0022\u003E\n\t\t\t\u003Cpath d=\u0022M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\u0022\u003E\u003C/path\u003E\n\t\t\u003C/svg\u003E\n\u003C/a\u003E\u0026nbsp;\n\u003Ca href=\u0022https://www.instagram.com/teamleviracing/?hl=en\u0022 target=\u0022\u201D_blank\u201D\u0022 style=\u0022display: inline-flex; align-items: center; margin: auto; color: #EAE71E;\u0022\u003E\n\u003Csvg fill=\u0022#EAE71E\u0022 width=\u002224\u0022 height=\u002224\u0022\u003E\n\t\t\t\u003Cpath d=\u0022M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\u0022\u003E\u003C/path\u003E\n\t\t\u003C/svg\u003E\n\u003C/a\u003E\n\n\u003Cp style=\u0022text-align: center; color: #01BBD9;\u0022 id=\u0022newsUpdate\u0022\u003E\nThe following content is curated for you based on your \u003Ca href=\u0022/channels\u0022\u003E\u003Cspan style=\u0022color: var(--color-accent);\u0022\u003Echannel subscriptions\u003C/span\u003E\u003C/a\u003E!\u003C/p\u003E\n\u003C/div\u003E\n\n\n\n\u003Cscript type=\u0022text/javascript\u0022\u003E\n\t/**\n\t * Scroll to Hash Element Script\n\t * \n\t * Checks the browser URL for a hash fragment and scrolls to the corresponding element.\n\t * Useful for implementing smooth scrolling to anchor links and ensuring proper navigation\n\t * when pages load with hash fragments in the URL.\n\t * \n\t * Usage:\n\t * - Include this script in your HTML or import it in your JavaScript\n\t * - Call scrollToHashElement() when the page loads or when the hash changes\n\t * - For automatic behavior, the script runs on DOMContentLoaded and hashchange events\n\t */\n\n\t/**\n\t * Scrolls to the element specified by the current URL hash\n\t * @param {Object} options - Configuration options\n\t * @param {string} options.behavior - Scroll behavior (\u0027smooth\u0027, \u0027instant\u0027, \u0027auto\u0027)\n\t * @param {string} options.block - Vertical alignment (\u0027start\u0027, \u0027center\u0027, \u0027end\u0027, \u0027nearest\u0027)\n\t * @param {string} options.inline - Horizontal alignment (\u0027start\u0027, \u0027center\u0027, \u0027end\u0027, \u0027nearest\u0027)\n\t * @param {number} options.offset - Additional offset from top in pixels\n\t * @param {boolean} options.updateHistory - Whether to update browser history\n\t */\n\tfunction scrollToHashElement(options = {})\n\t{\n\t\t// Default options\n\t\tconst config = {\n\t\t\tbehavior: \u0027smooth\u0027,\n\t\t\tblock: \u0027start\u0027,\n\t\t\tinline: \u0027nearest\u0027,\n\t\t\toffset: 0,\n\t\t\tupdateHistory: false,\n\t\t\t...options\n\t\t};\n\n\t\t// Get the hash from the current URL\n\t\tconst hash = window.location.hash;\n\n\t\t// Exit early if no hash is present\n\t\tif (!hash)\n\t\t{\n\t\t\tconsole.debug(\u0027No hash fragment found in URL\u0027);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Remove the # symbol to get the element ID\n\t\tconst elementId = hash.substring(1);\n\n\t\tif (!elementId)\n\t\t{\n\t\t\tconsole.debug(\u0027Hash fragment is empty\u0027);\n\t\t\treturn false;\n\t\t}\n\n\t\ttry\n\t\t{\n\t\t\t// Try to find the element by ID first\n\t\t\tlet targetElement = document.getElementById(elementId);\n\n\t\t\t// If not found by ID, try to find by name attribute (for older anchor tags)\n\t\t\tif (!targetElement)\n\t\t\t{\n\t\t\t\ttargetElement = document.querySelector(\u0060[name=\u0022${elementId}\u0022]\u0060);\n\t\t\t}\n\n\t\t\t// If still not found, try CSS selector format (in case the hash contains special characters)\n\t\t\tif (!targetElement)\n\t\t\t{\n\t\t\t\ttargetElement = document.querySelector(\u0060#${CSS.escape(elementId)}\u0060);\n\t\t\t}\n\n\t\t\tif (!targetElement)\n\t\t\t{\n\t\t\t\tconsole.warn(\u0060Element with ID or name \u0022${elementId}\u0022 not found\u0060);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Check if element is visible\n\t\t\tif (targetElement.offsetParent === null \u0026\u0026 targetElement.style.display !== \u0027none\u0027)\n\t\t\t{\n\t\t\t\tconsole.warn(\u0060Element \u0022${elementId}\u0022 exists but is not visible\u0060);\n\t\t\t}\n\n\t\t\t// Calculate scroll position with offset\n\t\t\tif (config.offset !== 0)\n\t\t\t{\n\t\t\t\tconst elementRect = targetElement.getBoundingClientRect();\n\t\t\t\tconst absoluteElementTop = elementRect.top \u002B window.pageYOffset;\n\t\t\t\tconst scrollToPosition = absoluteElementTop - config.offset;\n\n\t\t\t\twindow.scrollTo(\n\t\t\t\t{\n\t\t\t\t\ttop: Math.max(0, scrollToPosition),\n\t\t\t\t\tbehavior: config.behavior\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Use scrollIntoView for standard behavior\n\t\t\t\ttargetElement.scrollIntoView(\n\t\t\t\t{\n\t\t\t\t\tbehavior: config.behavior,\n\t\t\t\t\tblock: config.block,\n\t\t\t\t\tinline: config.inline\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Update browser history if requested\n\t\t\tif (config.updateHistory \u0026\u0026 window.history \u0026\u0026 window.history.pushState)\n\t\t\t{\n\t\t\t\twindow.history.pushState(null, null, hash);\n\t\t\t}\n\n\t\t\t// Focus the element for accessibility (if it\u0027s focusable)\n\t\t\tif (targetElement.tabIndex \u003E= 0 || targetElement.tagName.match(/^(A|BUTTON|INPUT|TEXTAREA|SELECT)$/))\n\t\t\t{\n\t\t\t\ttargetElement.focus();\n\t\t\t}\n\n\t\t\tconsole.debug(\u0060Successfully scrolled to element: ${elementId}\u0060);\n\t\t\treturn true;\n\n\t\t}\n\t\tcatch (error)\n\t\t{\n\t\t\tconsole.error(\u0060Error scrolling to element \u0022${elementId}\u0022:\u0060, error);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t * Enhanced version with retry mechanism for dynamically loaded content\n\t * @param {Object} options - Configuration options (same as scrollToHashElement)\n\t * @param {number} maxRetries - Maximum number of retry attempts\n\t * @param {number} retryDelay - Delay between retry attempts in milliseconds\n\t */\n\tfunction scrollToHashElementWithRetry(options = {}, maxRetries = 5, retryDelay = 100)\n\t{\n\t\tlet attempts = 0;\n\n\t\tfunction attemptScroll()\n\t\t{\n\t\t\tattempts\u002B\u002B;\n\n\t\t\tif (scrollToHashElement(options))\n\t\t\t{\n\t\t\t\treturn; // Success, exit\n\t\t\t}\n\n\t\t\t// If element not found and we have retries left, try again\n\t\t\tif (attempts \u003C maxRetries)\n\t\t\t{\n\t\t\t\tconsole.debug(\u0060Retry attempt ${attempts} of ${maxRetries} for hash scroll\u0060);\n\t\t\t\tsetTimeout(attemptScroll, retryDelay);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconsole.warn(\u0060Failed to scroll to hash element after ${maxRetries} attempts\u0060);\n\t\t\t}\n\t\t}\n\n\t\tattemptScroll();\n\t}\n\n\t/**\n\t * Initialize hash scrolling with event listeners\n\t * @param {Object} options - Configuration options for scrolling\n\t */\n\tfunction initializeHashScrolling(options = {})\n\t{\n\t\t// Scroll to hash on page load\n\t\tif (document.readyState === \u0027loading\u0027)\n\t\t{\n\t\t\tdocument.addEventListener(\u0027DOMContentLoaded\u0027, () =\u003E\n\t\t\t{\n\t\t\t\t// Use retry mechanism for initial load in case content is still loading\n\t\t\t\tsetTimeout(() =\u003E scrollToHashElementWithRetry(options), 100);\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Document already loaded\n\t\t\tscrollToHashElementWithRetry(options);\n\t\t}\n\n\t\t// Scroll to hash when hash changes (back/forward navigation or programmatic changes)\n\t\twindow.addEventListener(\u0027hashchange\u0027, () =\u003E\n\t\t{\n\t\t\tscrollToHashElement(options);\n\t\t});\n\n\t\t// Handle cases where content is loaded dynamically after initial page load\n\t\tif (window.MutationObserver)\n\t\t{\n\t\t\tconst observer = new MutationObserver(() =\u003E\n\t\t\t{\n\t\t\t\t// Only attempt scroll if there\u0027s a hash and we haven\u0027t scrolled yet\n\t\t\t\tif (window.location.hash \u0026\u0026 window.scrollY === 0)\n\t\t\t\t{\n\t\t\t\t\tscrollToHashElement(options);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(document.body,\n\t\t\t{\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true\n\t\t\t});\n\n\t\t\t// Stop observing after a reasonable amount of time\n\t\t\tsetTimeout(() =\u003E observer.disconnect(), 10000);\n\t\t}\n\t}\n\n\t// Auto-initialize with default options when script loads\n\t// Comment out this line if you want manual control\n\tinitializeHashScrolling(\n\t{\n\t\tbehavior: \u0027smooth\u0027,\n\t\tblock: \u0027start\u0027,\n\t\toffset: 80 // Common offset for fixed headers\n\t});\n\n\t// Export functions for use in modules\n\tif (typeof module !== \u0027undefined\u0027 \u0026\u0026 module.exports)\n\t{\n\t\tmodule.exports = {\n\t\t\tscrollToHashElement,\n\t\t\tscrollToHashElementWithRetry,\n\t\t\tinitializeHashScrolling\n\t\t};\n\t}\n\n\t// Make functions available globally\n\twindow.scrollToHashElement = scrollToHashElement;\n\twindow.scrollToHashElementWithRetry = scrollToHashElementWithRetry;\n\twindow.initializeHashScrolling = initializeHashScrolling;\n\n\u003C/script\u003E\u003C/div\u003E","createdAt":"2025-07-08T15:02:11.79","hasEvents":true,"hasSurveys":false,"hasPosts":true,"ownerId":373428,"postTypes":[0,184860],"userRole":null,"visibleForGuests":true,"contentVisibleForGuests":true,"joinType":"open"},"redirects":[],"smsEnabled":false,"trackingCode":"\n","froalaOptions":"","login":{"google":true,"facebook":true,"linkedIn":true},"fileUploadLimit":10,"videoUploadLimit":100,"enableMatomo":false,"registration":{"disabled":false,"showPopularChannels":true,"showProfileTags":false},"enableCommentsOnNewPosts":true,"allowAuthorChanges":true,"autoIncludeContentInDigest":true,"timeZone":{"tzDbId":136,"standardName":"America\/Toronto","shortName":"EST","displayName":"(GMT -05:00) America\/Toronto"},"debug":false,"demo":false,"isTemplate":false,"categoryCollapsed":false,"canonicalUrl":"https://www.leviballard.com/","slug":"leviballardracing","datacenter":"East-Linux","cdnUrl":"https://ih-cdn.ihub.app","domains":{"app":"ihub.app","build":"ihub.app"},"vanityUrl":"www.leviballard.com","deployment":"prod","deploymentUrl":"","cacheVersion":"2.11","cacheVersionSuffix":".01","keys":{"fbAppId":"272697972910488","fbVersion":"v24.0","aiKey":"02373536-6f77-4f84-a641-8827983d41be","froalaKey":"sZH1rB1B6B6C5D5H5H3jC1QUd1Xd1OZJ1ABVJRDRNGGUE1ITrE1D4A3B9B1B6D5B1F4I3==","recaptchaKey":"6Lclc9AnAAAAAAhZKXIo_qmb-EzZaqjhhjXzS0Mx","postHogApiKey":"phc_eNe5jLVIPiywL16zwJaxVnH1HaYP3FRA4YES1v2ixS6","postHogHost":"https://p.ihub.app","sentryDsn":"https://66ca31a51be2f0c4dbddabeb432077d1@o4509830155993088.ingest.us.sentry.io/4509831755005952","amplitudeApiKey":"f696afb1ad08151a52150044e6120bdf","amplitudeApiEndpoint":"https://a.ihub.app/2/httpapi"},"stripe":{"publishableKey":"pk_live_pBNpph1pla00AEpfT5eZg6j3","accountId":null,"chargesEnabled":false,"taxesEnabled":false,"accountComplete":false},"postModules":{"location":true,"events":true,"giving":false,"photos":true,"surveys":true,"tasks":true,"callToAction":true},"menuOptions":{"advancedOptionsEnabled":true,"channelsEnabled":true,"homeCustomizationEnabled":true,"lookAndFeelEnabled":true,"membersEnabled":true,"pagesEnabled":true,"pinnedContentEnabled":false,"slidersEnabled":true,"customCodeEnabled":true,"welcomeMessageEnabled":true,"menuEditEnabled":true,"urlRedirectsEnabled":false,"postTypesEnabled":true},"features":{"customDomains":true,"paidChannels":false,"stripeBillingPortal":false},"channelListSettings":{"showChannelDescriptionOnList":true,"showChannelRoleOnList":true,"showJoinLeaveOnList":true,"showMemberCountOnList":true},"currency":{"id":1,"name":"US Dollar","code":"USD","symbol":"$"},"onboarding":{"completed":true,"homeCustomizationCompleted":true,"lookAndFeelCompleted":true,"createFirstPostCompleted":true,"sharingCompleted":true,"hiding":false},"checklistProgress":{"steps":[{"taskId":"branding","completed":true,"completedAt":"2026-01-09T04:00:13.2819243Z"}],"goLive":false,"goLiveAt":null,"showGettingStarted":false,"welcomeCardDismissed":false}}