`,t.innerHTML="TAKE ADVANTAGE TODAY. JOIN AT THE GYM."))):(t=document.querySelector("div.form-body h3"),e=document.querySelector("div[data-join-online-promo-plan-url], li.active[data-join-online-promo-plan-url]"),e&&(o=e.getAttribute("data-join-online-promo-plan-url"),e&&!document.querySelector(".join-online-container")&&(document.querySelector(".step3-content").innerHTML+=`\n
\n
\n
Join Online to Get Started Today
\n
Complete your membership signup in minutes—right now.
`,t.innerHTML="TAKE ADVANTAGE TODAY. JOIN AT THE GYM."))),console.log("you are in the test")})),clearInterval(window.vwoInterval1734538474))}),300);}catch(e) {console.error(e)}
return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("head")}}, R_736710_453_1_2_0:{ fn:function(log,nonce=''){return (function(x) {
try{
var ctx=vwo_$(x),el;
/*vwo_debug log("Revert","content",""); vwo_debug*/;
el=vwo_$('[vwo-element-id="1736202446197"]');
el.revertContentOp().remove();
} catch(e) {console.error(e)}
try{
var el,ctx=vwo_$(x);
/*vwo_debug log("Revert","addElement","body"); vwo_debug*/(el=vwo_$('[vwo-element-id="1736202446198"]')).remove();
} catch(e) {console.error(e)}
return vwo_$('head')[0] && vwo_$('head')[0].lastChild;})("head")}}, GL_736710_453_pre:{ fn:function(VWO_CURRENT_CAMPAIGN, VWO_CURRENT_VARIATION,nonce = ""){try{!function(){try{var e=function(e){return Object.keys(e).find((function(e){return e.startsWith("__reactInternalInstance$")||e.startsWith("__reactFiber$")}))},n=function(e,n){if(e&&n)return e[n]},t=function(e,n,t){var i=(i=e.nodeName)&&i.toLowerCase();n.stateNode=e,n.child=null,n.tag=e.nodeType===Node.ELEMENT_NODE?5:6,n.type&&(n.type=n.elementType="vwo-"+i),n.alternate&&(n.alternate.stateNode=e),e[t]=n},i=function(e,n){var t=Date.now();!function i(){var l=Object.keys(n).find((function(e){return e.startsWith("__reactProps$")}))||"",r=Date.now();if(l&&n[l])switch(e.name){case"href":n[l].href=e.value;break;case"onClick":n[l].onClick&&delete n[l].onClick;break;case"onChange":n[l].onChange&&n[l].onChange({target:n})}l||3e3 if (window.vwoInterval1733956191) {\n clearInterval(window.vwoInterval1733956191);\n}\nwindow.vwoInterval1733956191 = setInterval(function () {\n if (vwo_$('footer').length) { // ## Or whatever element you want to check for the presence.\n /* CUSTOM CODE */\n vwo_$(document).ready(function ($) {\n vwo_$(\"main\").vwoCss({\"visibility\":\"hidden !important\"});\n // Global Step Actions\n let form = document.querySelector('section.form');\n if (form) form.style.background = \"white\";\n let firstBridge = document.querySelector('.bridge');\n if (firstBridge) firstBridge.style.background = \"#6E38D5\";\n let oldAccountSpan = document.querySelector('.step-header .text-large span');\n let cityDifferentiator = document.querySelector('.nav li:first-child a');\n if (oldAccountSpan) oldAccountSpan = oldAccountSpan.textContent;\n const oldAccountHeading = document.querySelector('.step-header');\n if (oldAccountHeading) oldAccountHeading.innerHTML = `${cityDifferentiator.textContent}
Join Now
`;\n const iconCheckElements = document.querySelectorAll(\".step-label .icon-check\");\n iconCheckElements.forEach((icon, index) => {\n icon.textContent = `${index + 1}`;\n icon.classList.remove('icon-check');\n });\n let bridgeSpans = document.querySelectorAll(\".bridge\");\n let newBridgeCheck = document.querySelector(\".new-bridge\");\n !newBridgeCheck && bridgeSpans.forEach((bridgeSpan) => {\n let newBridgeSpan = document.createElement(\"span\");\n newBridgeSpan.classList.add('bridge', 'new-bridge');\n bridgeSpan.parentNode.insertBefore(newBridgeSpan, bridgeSpan.nextSibling);\n });\n\n let currentUrl = window.location.href;\n // Disclosure\n if (currentUrl.toLowerCase().includes(\"plans\")) {\n let labelElement = document.querySelector('label[for=\"phoneNumber\"]');\n if (labelElement) labelElement.innerHTML = 'Mobile Phone Number*';\n if (vwo_$('footer.signup .disclosure').length <= 0) {\n vwo_$('footer').prepend(\n `
\n
Terms & Conditions
\n
By providing your contact information, you consent to be contacted by Anytime Fitness, LLC, its affiliates, master franchisees and/or its franchisees and their authorized designees, through email, telephone, text message, or by other means, some of which may be from an automated service, as well as any other communication described in our Privacy Policy. For mobile messaging, message and data rates apply and consent is not required to become a member. Data collected will be sent outside your jurisdiction and to the United States and will be governed by our Privacy Policy, as it may be updated or amended. Full terms and conditions can be found at: www.anytimefitness.com or your local Anytime Fitness club.\n
\n
For California Residents
\n
Please review if you are a California resident, and to comply with Section 1798.100(b) of the California Consumer Privacy Act. For information regarding the categories of personal information collected about you, and the purposes for which your information will be used, please visit Anytime Fitness, LLC’s Privacy Notice for California Residents.
`\n );\n }\n\n vwo_$('footer.signup.forms').css('padding', '0 0 4rem');\n }\n\n\n // Account\n if (currentUrl.toLowerCase().includes(\"account\")) {\n /* EDITELEMENT */\n vwo_$(\".form-headline\").html(\"Create Your Account\");\n /* REMOVE */\n vwo_$(\".btn-clear\").vwoCss({ \"display\": \"none !important\" });\n }\n\n // Address\n if (currentUrl.toLowerCase().includes(\"address\")) {\n /* EDITELEMENT */\n vwo_$(\".form-headline\").html(\"Enter Address\");\n const bridgeSpans = document.querySelectorAll('.bridge');\n // Loop through the first 3 bridge spans and change their background color\n for (let i = 0; i < 3 && i < bridgeSpans.length; i++) {\n bridgeSpans[i].style.backgroundColor = '#6E38D5';\n }\n if (vwo_$('.margin-bottom').length <= 0) {\n vwo_$('.form-header').append('
* Indicates a required field
');\n }\n }\n\n // Review\n if (currentUrl.toLowerCase().includes(\"review\")) {\n vwo_$(\".form-headline\").html(\"Review Your Plan\");\n let elements = document.querySelectorAll('.display-plans .item');\n vwo_$(\".display-plans .item\").vwoCss({ \"box-shadow\": \"none\", \"border\": \"1px solid #707070\", \"border-radius\": \"8px\" });\n const bridgeSpans = document.querySelectorAll('.bridge');\n // Loop through the first 5 bridge spans and change their background color\n for (let i = 0; i < 5 && i < bridgeSpans.length; i++) {\n bridgeSpans[i].style.backgroundColor = '#6E38D5';\n }\n document.querySelectorAll('h4 br').forEach(function (brElement) {\n brElement.remove();\n });\n document.querySelectorAll('p.disclosure').forEach(function (paragraph) {\n if (paragraph.innerHTML.trim() === 'You will have access to over 4,000 Anytime Fitness clubs worldwide! How cool is that?') {\n paragraph.textContent = paragraph.textContent.replace('4,000', '5,000');\n }\n });\n /* EDITELEMENT */\n vwo_$(\".bod > ul:nth-of-type(1) > li:nth-of-type(4)\").vwoCss({ \"border-bottom-style\": \"none !important\" });\n }\n\n // Terms\n if (currentUrl.toLowerCase().includes(\"terms\")) {\n vwo_$(\".form-headline\").html(\"Terms & Conditions\");\n const bridgeSpans = document.querySelectorAll('.bridge');\n // Loop through the first 7 bridge spans and change their background color\n for (let i = 0; i < 7 && i < bridgeSpans.length; i++) {\n bridgeSpans[i].style.backgroundColor = '#6E38D5';\n }\n // Select the first paragraph element\n const firstParagraph = document.querySelector('.terms-segment p');\n\n // Select the first child paragraph within the first paragraph element\n const firstChildParagraph = firstParagraph.querySelector('p');\n\n // Remove the tags from the first child paragraph\n const strongTags = firstChildParagraph.querySelectorAll('strong');\n strongTags.forEach(tag => tag.outerHTML = tag.innerHTML);\n\n // Check if you need to replace the content without the tags inside the first paragraph child\n const searchText = \"MEMBERS’ RIGHT TO CANCEL:\";\n const textContent = firstChildParagraph.textContent;\n const index = textContent.indexOf(searchText);\n\n if (index !== -1) {\n const strongText = textContent.substring(index, index + searchText.length);\n const newHTML = textContent.replace(strongText, `${strongText}`);\n\n firstChildParagraph.innerHTML = newHTML;\n }\n }\n\n // Agreement Actions on Terms and Success pages\n const download = document.querySelectorAll('span.icon.icon-cloud-download');\n if (download) download.forEach(spanElement => {\n // Create a new SVG element\n const svgElement = document.createElement('svg');\n svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgElement.setAttribute('class', 'h-5 w-5');\n svgElement.setAttribute('viewBox', '0 0 20 20');\n svgElement.setAttribute('fill', 'currentColor');\n svgElement.setAttribute('height', '20px'); // Set height to 20px\n svgElement.setAttribute('width', '20px'); // Set width to 20px\n spanElement.parentNode.innerHTML = ``;\n });\n const printer = document.querySelectorAll('span.icon.icon-print2');\n if (printer) printer.forEach(spanElement => {\n // Create a new SVG element\n const svgElement = document.createElement('svg');\n svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgElement.setAttribute('class', 'h-5 w-5');\n svgElement.setAttribute('viewBox', '0 0 20 20');\n svgElement.setAttribute('fill', 'currentColor');\n svgElement.setAttribute('height', '20px'); // Set height to 20px\n svgElement.setAttribute('width', '20px'); // Set width to 20px\n svgElement.innerHTML = `\n \n `;\n spanElement.parentNode.innerHTML = ``;\n });\n let anchorElements = document.querySelectorAll('.agreement-actions a');\n if (anchorElements) anchorElements.forEach(anchorElement => {\n anchorElement.setAttribute('href', 'javascript:;');\n });\n\n // Billing\n if (currentUrl.toLowerCase().includes(\"billing\")) {\n const bridgeSpans = document.querySelectorAll('.bridge');\n // Loop through the first 9 bridge spans and change their background color\n for (let i = 0; i < 9 && i < bridgeSpans.length; i++) {\n bridgeSpans[i].style.backgroundColor = '#6E38D5';\n }\n vwo_$(\".form-headline\").html(\"Payment\");\n vwo_$('.form-headline').css('text-align', 'left');\n if (vwo_$(\"#billing .secure-payment\").length <= 0) {\n vwo_$(\"#billing .icon-lock.pull-left\").append(`
Secure Payment
`);\n }\n vwo_$(\"#billing .icon-lock.pull-left\").each(function () {\n var destP = vwo_$(\"#main\"),\n dest = vwo_$(\"#abcPayPage\");\n if (dest.length)\n dest.before(this);\n else\n destP.append(this);\n });\n vwo_$(\"#billing p.text-left:not(.disclosure)\").each(function () {\n var dest = vwo_$(\"#abcPayPage\");\n if (dest.length)\n vwo_$(\"#abcPayPage\").before(this);\n this.classList.add(\"mb-0\", \"mb-lg-3\", \"pb-4\");\n });\n // Select the first element to be wrapped\n var firstElement = document.querySelector('#billing .icon-lock.pull-left');\n\n // Select the second element to be wrapped\n var secondElement = document.querySelector('#billing p.text-left:not(.disclosure)');\n\n // Create a new div element with the class \"bg-light-gray\"\n var divElement = document.createElement('div');\n divElement.className = 'bg-dark-purple mx-auto';\n if (!vwo_$('.bg-dark-purple.mx-auto').length) {\n // Insert the created div element before the first element\n firstElement.parentNode.insertBefore(divElement, firstElement);\n\n // Move the first to the newly created div\n divElement.appendChild(firstElement);\n\n // Move the second element inside the newly created div\n divElement.appendChild(secondElement);\n }\n let container = document.querySelector('.form-container.form-width-sml:nth-of-type(1)');\n\n // Select all the ` ` elements inside the container\n let brElements = container.querySelectorAll('br');\n\n // Determine the number of ` ` elements to remove\n let elementsToRemove = 3;\n\n // Remove the last three ` ` elements\n for (let i = brElements.length - 1; i >= 0 && elementsToRemove > 0; i--) {\n container.removeChild(brElements[i]);\n elementsToRemove--;\n }\n let element = document.querySelector('#billing .form-footer .btn-rounded');\n\n // Change the text content to \"Submit\"\n if (element) {\n element.textContent = \"Submit\";\n }\n }\n\n // Success\n if (currentUrl.toLowerCase().includes(\"success\")) {\n // Add font awesome links\n const linkElement = document.createElement('link');\n\n // Set attributes for the link element\n linkElement.rel = 'stylesheet';\n linkElement.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css';\n\n // Append the link element to the head of the HTML document\n document.head.appendChild(linkElement);\n const heroGymElement = document.querySelector('section.hero.hero-gym');\n if (heroGymElement) heroGymElement.classList.add('bg-line-blend-aqua-5');\n const successMsg = document.querySelector('.success-msg');\n if (vwo_$('.container.bg-white.text.center').length <= 0) {\n successMsg.style.marginTop = 0;\n successMsg.innerHTML = `
\n
\n
\n
Success! Congrats on becoming a member.
\n
We sent a confirmation email which includes your membership confirmation and receipt.
\n
\n
\n
`;\n }\n vwo_$(\".whats-next > h2:nth-of-type(1) > strong:nth-of-type(1) > span:nth-of-type(1)\").html(\"Next Steps\");\n vwo_$(\"h2 strong span\").vwoCss({ \"font-size\": \"1.25rem\" });\n vwo_$(\"#success figcaption.hero-content.slim\").each(function () {\n if (vwo_$(\".success-msg .col\").length) vwo_$(\".success-msg .col\").append(this);\n });\n const whatsNextParent = document.querySelector('.whats-next');\n\n if (whatsNextParent) {\n // Create a new section element with the class 'bg-gray' and a div with the class 'container'\n const containerDiv = document.createElement('div');\n containerDiv.classList.add('container', 'my-4');\n\n const sectionElement = document.createElement('section');\n sectionElement.classList.add('bg-gray', 'py-5');\n\n // Move all children of .whats-next into the new section.bg-gray element\n Array.from(whatsNextParent.children).forEach(childElement => {\n\n // Check if the child element has the classes 'd-block', 'd-sm-flex', and 'py-4'\n if (!childElement.classList.contains('d-block') && !childElement.classList.contains('d-sm-flex') && !childElement.classList.contains('py-4')) {\n containerDiv.appendChild(childElement.cloneNode(true));\n whatsNextParent.removeChild(childElement);\n }\n });\n\n // Append the section.bg-gray element into the div.container\n sectionElement.appendChild(containerDiv);\n\n const heroElement = document.querySelector('.hero.hero-gym');\n // Append the new container with filtered elements to the body of the document\n if (heroElement) heroElement.insertAdjacentElement('afterend', sectionElement);\n }\n const leadParagraph = document.querySelector('.bg-gray p.lead');\n const phoneNumber = document.querySelector('.bg-gray a.phone').innerHTML;\n if (leadParagraph) {\n leadParagraph.classList.add('px-0', 'px-lg-5', 'px-xl-0');\n // Update the content of the paragraph with the dynamically fetched phone number\n leadParagraph.innerHTML = `Our gym staff will reach out to you to schedule a time to pick up your access passes.\n Or if you’re excited to get in here, just call us at ${phoneNumber}.`;\n }\n /* EDITELEMENT */\n vwo_$(\".mr-4 > h2:nth-of-type(1) > strong:nth-of-type(1) > span:nth-of-type(1)\").html(\"Download the AF app\");\n /* EDITELEMENT */\n vwo_$(\".my-4 > div:nth-of-type(1) > p:nth-of-type(1) > span:nth-of-type(1)\").html(\"Using the AF App, you can access the club 24/7 as well as any Anytime Fitness worldwide.\");\n if (vwo_$('.next-step-1').length <= 0) {\n const iconGpsMarkers = document.querySelector('.icon-gps-markers');\n const iconGroupEx = document.querySelector('.icon-groupex-fill');\n const iconMobilePhone = document.querySelector('.icon-mobile-phone');\n if (iconGpsMarkers) {\n // HTML content to be inserted\n const htmlContent = '
1. Get Your Access Pass
';\n // Insert the HTML content adjacent after the .icon-gps-markers element\n iconGpsMarkers.insertAdjacentHTML('afterend', htmlContent);\n }\n if (iconGroupEx) {\n // HTML content to be inserted\n const htmlContent = '
2. Get FREE Consultation
';\n // Insert the HTML content adjacent after the .icon-gps-markers element\n iconGroupEx.insertAdjacentHTML('afterend', htmlContent);\n }\n if (iconMobilePhone) {\n // HTML content to be inserted\n const htmlContent = '
3. Download the AF App
';\n // Insert the HTML content adjacent after the .icon-gps-markers element\n iconMobilePhone.insertAdjacentHTML('afterend', htmlContent);\n }\n }\n const elements = document.querySelectorAll('.bg-gray .container .d-flex.align-items-start');\n\n if (elements.length > 0) {\n // Create a new div element with the class 'd-flex'\n const divWrapper = document.createElement('div');\n divWrapper.classList.add('d-flex', 'next-steps', 'flex-column', 'flex-md-row', 'mt-4', 'pt-2');\n\n // Move each selected element into the new div container\n elements.forEach(element => {\n // Create a copy of the element without the 'd-flex' and 'align-items-start' classes\n const elementCopy = element.cloneNode(true);\n elementCopy.classList.remove('d-flex', 'align-items-start');\n\n // Append the updated element to the new div container\n divWrapper.appendChild(elementCopy);\n\n // Remove the element with classes 'd-flex align-items-start' from its original parent\n element.parentNode.removeChild(element);\n });\n\n const lead = document.querySelector('.bg-gray .lead');\n // Append the new container with filtered elements to the body of the document\n if (lead) lead.insertAdjacentElement('afterend', divWrapper);\n }\n const removeFlex = document.querySelectorAll('.bg-white .d-block.d-sm-flex.py-4');\n\n removeFlex.forEach(element => {\n // Check if the element has the class 'd-sm-flex'\n if (element.classList.contains('d-sm-flex')) {\n element.classList.remove('d-sm-flex'); // Remove the class 'd-sm-flex'\n }\n });\n vwo_$(\"#success .staffed-hours\").each(function () {\n if (vwo_$(\".cta\").length) {\n const cta = document.querySelector('.cta');\n if (cta) cta.insertAdjacentElement('afterend', this);\n }\n });\n // Move Facebook Inside the column\n vwo_$(\"#success section.bg-white p.text-center a\").vwoCss({ \"display\": \"none\" });\n const newAElement = document.createElement('a');\n const facebookLink = document.querySelector(\"#success section.bg-white p.text-center a\").href;\n newAElement.classList.add('cta-item');\n newAElement.href = facebookLink;\n newAElement.setAttribute('data-toggle', 'lightbox');\n newAElement.setAttribute('data-gallery', 'gym-photos');\n\n // Add the inner HTML content to the anchor element\n newAElement.innerHTML = '' +\n '
Join Facebook Page
';\n\n // Select the parent element with the class .cta and the second col-sm-4 element\n const ctaParent = document.querySelector('.cta');\n const secondCol = ctaParent.querySelector('.col-sm-4:nth-of-type(2)');\n\n if (ctaParent && secondCol) {\n // Append the new anchor element to the second col-sm-4 element\n secondCol.appendChild(newAElement);\n }\n const container = document.querySelector('.cta .row');\n\n if (container) {\n // Get the col-sm-4 elements\n const colElements = container.querySelectorAll('.col-sm-4');\n\n if (colElements.length >= 2) {\n // Swap the position of the first two col-sm-4 elements in the container\n const firstElement = colElements[0];\n const secondElement = colElements[1];\n\n // Insert the second element before the first element to switch positions\n container.insertBefore(secondElement, firstElement);\n }\n }\n const iconBinoculars = document.querySelector('.cta span.icon.icon-binoculars');\n if (iconBinoculars) {\n const newIcon = document.createElement('i');\n newIcon.classList.add('icon-binoculars2');\n iconBinoculars.parentNode.replaceChild(newIcon, iconBinoculars);\n }\n const iconPin = document.querySelector('.cta span.icon.icon-pin');\n if (iconPin) {\n const newIcon = document.createElement('i');\n newIcon.classList.add('icon-geo');\n iconPin.parentNode.replaceChild(newIcon, iconPin);\n }\n const staffedHoursHeader = document.querySelector('.staffed-hours h2');\n if (staffedHoursHeader) {\n // Capitalize only the first letter of the text content\n let textContent = staffedHoursHeader.textContent;\n staffedHoursHeader.textContent = textContent.charAt(0).toUpperCase() + textContent.slice(1).toLowerCase();\n }\n vwo_$(\".mr-4\").vwoAttr({ \"class\": { \"removedClasses\": [\"mr-4\"] } });\n vwo_$(\".d-block > div:nth-of-type(2)\").vwoAttr({ \"class\": { \"addedClasses\": [\"d-flex\", \"flex-column\", \"flex-sm-row\", \"app-links\", \"justify-content-center\", \"mt-4\", \"pt-2\"] } });\n }\n\n // Contact Us\n if (currentUrl.toLowerCase().includes(\"contactus\")) {\n let aside = document.querySelector('aside');\n if (aside) aside.style.display = 'none';\n const diffText = document.querySelector('.navbar li:nth-of-type(1) a').innerHTML;\n const formHeader = document.querySelector('.form-header');\n\n if (diffText && formHeader) {\n // Create a new h1 element with class 'step-header' containing the diffText\n const newH1 = document.createElement('h1');\n newH1.classList.add('step-header', 'text-center');\n newH1.innerHTML = diffText;\n\n // Create another h1 element with text 'Join Now'\n const joinNowH1 = document.createElement('h1');\n joinNowH1.innerHTML = 'Join Now';\n\n // Append the joinNowH1 element before the new h1 element and diffText\n newH1.append(joinNowH1);\n\n // Prepend the new h1 element with class 'step-header' to the form header\n formHeader.prepend(newH1);\n\n }\n }\n\n if (currentUrl.toLowerCase().includes(\"plans\")) {\n let modalElement = document.createElement(\"div\");\n modalElement.className = \"modal\";\n modalElement.id = \"afpModal\";\n modalElement.setAttribute(\"tabindex\", \"-1\");\n modalElement.setAttribute(\"role\", \"dialog\");\n modalElement.setAttribute(\"aria-labelledby\", \"afpModal\");\n modalElement.setAttribute(\"aria-hidden\", \"true\");\n\n let modalDialog = document.createElement(\"div\");\n modalDialog.className = \"modal-dialog\";\n modalDialog.setAttribute(\"role\", \"document\");\n\n let modalContent = document.createElement(\"div\");\n modalContent.className = \"modal-content\";\n\n let modalHeader = document.createElement(\"div\");\n modalHeader.className = \"modal-header\";\n let h5Title = document.createElement(\"h5\");\n h5Title.className = \"modal-title\";\n h5Title.id = \"afpModal\";\n h5Title.innerText = \"*APPLE FITNESS+ TERMS & CONDITIONS\";\n let closeButton = document.createElement(\"button\");\n closeButton.type = \"button\";\n closeButton.className = \"close\";\n closeButton.id = \"closeModalBtn\";\n closeButton.setAttribute(\"data-dismiss\", \"modal\");\n closeButton.setAttribute(\"aria-label\", \"Close\");\n closeButton.innerHTML = `×`;\n\n modalHeader.appendChild(h5Title);\n modalHeader.appendChild(closeButton);\n\n let modalBody = document.createElement(\"div\");\n modalBody.className = \"modal-body\";\n modalBody.innerHTML = `\n
Fitness+ Trial Offer: Offer open to new Anytime Fitness®️ customers, local residents to participating locations in the United States & Canada, only. Photo ID required. Offer valid for 1 or 7 days’ (as applicable) access to participating Anytime Fitness location plus up to 3 months access to Apple Fitness+℠ beginning on eligible device activation. Prior Fitness+ subscribers will qualify for 2 months. Fitness+ requires a subscription & Apple ID with payment card on file. After trial ends, payment card on file will be charged $9.99/month & subscription automatically renews until cancelled. Apple may change the subscription price at its discretion, other terms & Apple Privacy Policy apply; see the applicable terms. Offer requires use of the Anytime Fitness mobile. Offer limited to 1 subscription per Family Sharing group, Apple IDs already associated with a trial or subscription for Fitness+ are not eligible. Valid only for Fitness+ in the United States & Canada. Fitness+ requires iPhone 8 or later with iOS 16.1 or later, or Apple Watch Series 3 or later with watchOS 7.2 or later paired with iPhone 6s or later with iOS 14.3 or later. Fitness+ is a registered trademark of Apple Inc. Apple is not a sponsor of this promotion. No cash value, not valid with any other offer, no refunds or credits. Each Anytime Fitness location is independently owned & operated. Void where prohibited.
\n
Existing Anytime Members: Offer open to existing Anytime Fitness®️ members of participating locations in the United States & Canada, only. Offer valid for access to Apple Fitness+℠ access begins on eligible device activation & continues for 3 months. Fitness+ requires a subscription & Apple ID with payment card on file. Reactivation of the offer is required every 3 months to maintain access. If free access ends payment card on file will be charged $9.99/month & subscription automatically renews until cancelled. Apple may change the subscription price at its discretion, other terms & Apple Privacy Policy apply; see the applicable terms. Offer requires use of the Anytime Fitness mobile application. Offer limited to 1 subscription per Family Sharing group, Apple IDs already associated with a trial or subscription for Fitness+ are not eligible. Valid only for Fitness+ in the United States & Canada. Fitness+ requires iPhone 8 or later with iOS 16.1 or later, or Apple Watch Series 3 or later with watchOS 7.2 or later paired with iPhone 6s or later with iOS 14.3 or later. Fitness+ is a registered trademark of Apple Inc. Apple is not a sponsor of this promotion. No cash value, not valid with any other offer, no refunds or credits. Each Anytime Fitness location is independently owned & operated. Void where prohibited.
\n `;\n\n modalContent.appendChild(modalHeader);\n modalContent.appendChild(modalBody);\n\n modalDialog.appendChild(modalContent);\n\n modalElement.appendChild(modalDialog);\n\n document.body.appendChild(modalElement);\n\n const modal = document.getElementById('afpModal');\n const openModalBtn = document.getElementById('openModalBtn');\n // const openModalBtn = document.querySelector('.btn-modal');\n const closeModalBtn = document.getElementById('closeModalBtn');\n const modalWindow = document.querySelector('.modal-dialog');\n // const cancelBtn = document.getElementById('cancelBtn');\n // const confirmBtn = document.getElementById('confirmBtn');\n\n // Open modal function\n function openModal() {\n modal.style.display = 'block';\n }\n\n // Close modal function\n function closeModal() {\n modal.style.display = 'none';\n }\n\n // Event listeners for opening and closing the modal\n openModalBtn && openModalBtn.addEventListener('click', openModal);\n closeModalBtn && closeModalBtn.addEventListener('click', closeModal);\n // cancelBtn.addEventListener('click', closeModal);\n\n // Close modal if user clicks outside of it\n window.addEventListener('click', function (event) {\n if (event.target === modalWindow) {\n closeModal();\n }\n });\n\n // Optional: Close modal with Escape key\n document.addEventListener('keydown', function (event) {\n if (event.key === 'Escape' && modal.style.display === 'block') {\n closeModal();\n }\n });\n\n\n let elements = document.querySelectorAll('.display-plans .item');\n elements.forEach(element => {\n element.style.boxShadow = '0 0 10px 0 rgba(0, 0, 0, 0.2)';\n });\n }\n\n // Miscellaneous Global Styling\n /* EDITELEMENT */\n vwo_$(\".p-2 > p:nth-of-type(2)\").vwoAttr({ \"class\": { \"removedClasses\": [\"mb-0\"] } });\n /* EDITELEMENT */\n vwo_$(\".step-header\").vwoAttr({ \"class\": { \"addedClasses\": [\"mt-md-4\"] } });\n /* EDITELEMENT */\n vwo_$(\".form-footer\").vwoAttr({ \"class\": { \"addedClasses\": [\"mt-4\", \"pt-2\"] } });\n\n /* CONTENT */\n vwo_$(\"#plans > div:nth-of-type(1) > div:nth-of-type(1) > h1:nth-of-type(1) > strong:nth-of-type(1)\").replaceWith(\"Select the plan that works for you.\");\n /* EDITELEMENT */\n vwo_$(\"#plans > div:nth-of-type(1) > p:nth-of-type(1)\").vwoAttr({ \"class\": { \"addedClasses\": [\"text-gray\"], \"removedClasses\": [\"text-white\"] } });\n /* EDITELEMENT */\n vwo_$(\".col-md-4 > a:nth-of-type(1)\").vwoAttr({ \"class\": { \"addedClasses\": [\"btn-outline-primary\", \"fw-800\"], \"removedClasses\": [\"btn-white\"] } });\n /* CONTENT */\n vwo_$(\".disclosure .mt-0\").replaceWith(\"
By providing your contact information, you consent to be contacted by Anytime Fitness, LLC, its affiliates, master franchisees and/or its franchisees and their authorized designees, through email, telephone, text message, or by other means, some of which may be from an automated service, as well as any other communication described in our Privacy Policy, which can be found at: https://www.anytimefitness.com/privacy/. For mobile messaging, message and data rates apply and consent is not required to become a member. Data collected will be sent outside your jurisdiction and to the United States and will be governed by our Privacy Policy, as it may be updated or amended. Full terms and conditions can be found at: www.anytimefitness.com or your local Anytime Fitness club.
Battle rope workouts are more popular than ever, and a staple for personal trainers and coaches—and for good reason, too. These low impact, but high intensity training ropes are simple but useful tools that can be found in the gym, or even in a home gym! In fact, they’re often one of the most underrated pieces of equipment for a home gym. You don’t need a ton of space to use them, and they roll-up just like a jump rope for easy storage. (If you’re thinking about adding battle ropes to your home gym and need more information, check out this helpful how-to for beginners first!) Besides that, they are extremely versatile and are one of the few pieces of gym equipment that allow you to strengthen muscles, improve cardiovascular endurance (goodbye treadmill) and burn a ton of fat and calories all at the same time. Not to mention you look like a total badass when they’re flying.
Okay, here are six great battle rope training exercises to get you started, people!
Tips Before You Get Slamming
Battle ropes come in various lengths and thicknesses. The correct ropes for you depend on the type of workout you’re after and how much room you have to work with. For a rule of thumb, the thicker the diameter of the rope, the heavier the weight and the more power you need to use to move them. (Makes sense, right?) Beginners or rope-slamming newbies should aim to use a 1-1 ½ inch rope and work their way up to a 2-2 ½ inch rope once they feel confident in their ability and form.
Twenty good “slams” is an awesome finisher and icing-on-the-cake way to wrap up any workout and push your gains to the next level.
Here, we show you a handful of options that you can use for a complete workout, because while battle rope exercises are great for your upper body, they can be used for a lower body and full body workout too, strengthening your abs, glutes, core and arms!
There isn’t a “wrong” way to use battle ropes. People say they can feel awkward at first, but a few tweaks in form can maximize each movement in different ways. Plus, trying variations of waves and slams will help you get the most out of your workout. Your body and muscles won’t know what’s coming next!
Just in case you had a bad day, take it out on the ropes! Getting some slams in is a great way for people to relieve stress. Plus, it’s fun. Win/win.
Your starting position can make—or break—your ability to move the ropes effectively. Before you start any battle-rope workout, it’s important to maintain an athletic stance with your knees slightly bent, pelvis tucked, core tight, and chest upright. Also, take note of where you position yourself. The closer you stand to the “anchor point” of the rope, the more challenging it will be to slam or wave the rope to the end (because of the slack). The further away you stand, the tighter the rope. Typically, you should aim to find “middle ground,” so that the rope doesn’t totally touch the floor, but it’s not in the air. If the entire rope is off the ground, step forward, or vice-versa.
Double Waves
The first. The classic. And the most popular rope exercise (for beginners to pros) in high intensity interval training (or HIIT) workouts. To perform the double wave, start with your feet hip-width apart, knees slightly bent, and your arms in a position that looks like you are driving a horse and buggy. Naturally. Keep your arms out at shoulder height with your hands holding each of the grips at the end of the rope (just like a jump rope), then flick the ropes up and down to create waves. We are after speed here, people, so keep those ropes moving as fast as you can for the duration. Perform 30 seconds on, 10 seconds off, for 5 rounds. Heads up, it’s a serious challenge—but you got this!
Rope Slams
Time to make some noise, people! Whereas the last rope exercise was all about speed, this one is all about power and strength. Grab those grips and use your posterior chain (backside), shoulders, and arms to get the ropes above your head before slamming them to the ground as hard as possible. So throw your hands in the air, then slam those ropes down like you just don’t care. Come into a semi-squat position at the bottom of the move. This one really services your lower body, too. Instead of going for time, treat this like a strength training exercise with weights and perform 3-4 sets of 10-15 reps with 30 seconds rest between sets. Grunting is encouraged. People say it helps!
Alternating Waves
Starting with the same general technique as double waves, move your arms in the opposite direction (right hand up, left hand down, and reverse) as fast as you can to create alternating waves. Don’t be afraid to play around with wave size. Smaller waves will get your heart rate up faster, while larger waves may work your arms and shoulders a bit more. 30 seconds on, 10 seconds off, is a great work-to-rest ratio, but you can always decrease the working time depending on your fitness level and range-of-motion. At this point, you should be feeling the fire. You are entering beast mode. Keep it up!
If you’re ready to turn this one up a notch, give “Rope Waves to Reverse Lunge” a try! Not only will you be working your arms and core, but you’ll be giving you lower body a workout, too! To do this move, pump your arms just as you were for normal alternating waves, but simultaneously (and with control) step back and lower down into a lunge position, and back to standing. You can get more information and see a video demonstration of this move here. Don’t forget to alternate sides! Aim for 5 lunges each leg if you can.
Snakes
The name says it all here. We want the ropes to look like two snakes hovering above the floor. To achieve this, you’ll move both your right arm and left arm out horizontally and keep them parallel (to each other and the floor). This one makes many people say, “Man, these are heavy ropes,” but it’s a great workout. It helps with form to think about clapping your hands with straight arms. Keep that core tight to prevent your back from arching, your knees bent, and your legs shoulder-width apart. Perform 30 seconds on, 10 seconds off, for 5 rounds. And slither on blast!
Push-Up Planks - Single Arm Waves
Some people call this impossible, we call it “Push-Up Plank – Single Arm Waves.” And you’ll feel it in your entire body. While holding a push-up plank with your feet hip-width apart, balance yourself on one arm, grasp the end of the rope with the other, and use it to create small waves. One of the key things to remember in this exercise is that your shoulders should stay squared and your pelvis should face the floor—no twisting. (So, if you’re holding the rope in your left hand, try not to lean into your right arm.) Yes, it’s one of the trickier battle rope exercises, but they call it a workout for a reason. You’ve got this. Perform 15 seconds per arm for a total of 30 seconds, with 10 seconds rest between 3 rounds.
Side Plank Waves
To form a proper side plank, start in traditional plank then rotate to one side of your body on a bent elbow and stack your legs and feet. Be mindful to keep your hips elevated, then grasp the end of the rope and pull it taught from the anchor point with your free hand. Keep the movement of your working arm between the shoulder and waist to create small waves parallel to the floor. These should look similar to the snake waves. Increase the challenge a bit here by performing 40 seconds on, 20 seconds off, for 3 rounds, with no rest between rounds. Way to battle!
You Did It!
These moves may have seemed like tall orders, but that didn’t stop you! We hope you loved this workout as much as we loved putting it together. Battle rope training should be fun, and, as you can see, ropes can be used in a variety of ways to achieve a wide range of benefits. The intensity is real… but the results are, too. So now that you know how to use battle ropes, find your favorite exercises out of these, or others you learn about in your travels, and get after it next time you’re in the gym! We love incorporating battle ropes into our workouts at least one to two times per week, but people will have different preferences! And remember, you can always take advantage of our incredible personal training and coaching services and get your battle on with some extra love and encouragement.
Free 7-Day Passes are only available for new customers who live or work nearby. Most Anytime Fitness locations have a drop-in charge for non-residents who want to use the gym for a short period of time. If you cannot provide proof of local residency, you may be charged a fee to use this club.
Free {{nday}}-Day Passes are only available for new customers who live or work nearby. Most Anytime Fitness locations have a drop-in charge for non-residents who want to use the gym for a short period of time. If you cannot provide proof of local residency, you may be charged a fee to use this club.