How to make a DIY obstacle course outside

I love our child-friendly neighbourhood. In the spring, the streets are usually filled with kids playing street hockey, playgrounds ring with the squeals and calls of children, and fields fill with throngs of kids enjoying orange slices after evening soccer games.

This spring is different. Physical distancing during COVID-19, and current guidelines to slow the spread of the virus, are restricting how far outdoors we can venture. A strange quiet has settled in as parents and kids stay inside, leaving home only for short walks around the block.

Despite everyone’s wonky schedules, and limited public play spaces, getting the kids outside for free play and fresh air is well worth the effort, even if it’s for ten minutes at a time between conference calls.

Active play helps uncertain and lonely kids recover a sense of normalcy and ease anxiety, helps them meet Canada’s 24-hour movement guidelines, and develops their movement skills, which is one of the key components of physical literacy.

Even knowing how great it is for their mental and physical health, it’s not always easy to motivate my kids. In fact, sometimes it’s next to impossible just to get them to put on shoes and get out the door, and my optimistic suggestions for activities are often met with groans.

One idea my two boys didn’t (completely) grumble about was creating a DIY obstacle course in the backyard (an idea inspired by this awesome viral video).


Related read: 42 easy activities to keep kids busy while parents work at home


They didn’t have access to piles of wood pallets, ziplines, or enough lumber to build a warped wall, but they did find abandoned stumps that we hadn’t picked up before winter (oops!), searched under the porch for planks of sturdy wood, dragged out old pool noodles, and rolled a quartet of tires out of the garage.

They planned, constructed, problem-solved, and came up with a meandering maze of items that had them jumping, climbing, balancing, “swimming,” and dancing.

And surprise of all surprises: they were cooperating!

10 things you can use to create a DIY obstacle course

To get kids outside, help them flex their creative muscles, and have them get an all-over workout, here are some inexpensive everyday items that you can use to get your kids started creating an obstacle course of their own:

1. Pool noodles

Crab walk or bear crawl through a rainbow of hoops, practice movement skills while hopping on one foot or jumping through taped-together rings on the ground, zig-zag through vertical noodles stuck in the ground, and work on throwing with a giant target game.

2. Scrap lumber

Get ready to walk the plank! Or maybe it’s a tightrope, a gymnastics beam, or a log over a ravine. Place a beam across a round stump and make a seesaw to walk across. These activities will challenge kids’ coordination and vestibular system.

3. Tunnels

Crawl-through fabric tunnels make a perfect obstacle. If you don’t have one at home, a large cardboard box or a blanket draped over two chairs is also fun.

4. Stumps

Place a pool noodle across two stumps and create kid-friendly (and short!) hurdles to run and jump over. Step, step, step across them, or roll one through the grass. Use the stumps as anchors to create a rope maze to belly crawl under.

5. Any kind of ball

Use a bat, hockey stick, or even a broom to help develop hand-eye coordination while coaxing the ball across a finish line. Want a bigger challenge? Try using a balloon.

6. Ninja quintuple steps

If you have plywood, 2x4s, tools, and time, these slanted steps look amazing. I’m going to scour the garage and see if we can build a set.

7. Bean bags

Sew your own at home with dried beans or rice and some scrap fabric, and toss them onto a board painted with numbered circles, or try to get the most into a bucket or laundry basket. Toss all your bags and then move on to the next obstacle!

8. Skipping rope

A skipping rope can be the starting line for a standing broad jump, an easy tightrope when placed on the ground, or used in a game of riverbank.

9. Water bottles

Fill up plastic water bottles or milk cartons to use as bowling pins. Place the bottles in two rows and use any large round ball to try to knock them down. It’s a great activity for building arm strength, coordination, and fine motor control.

10. Hula hoops

Tie a hula hoop to a tree branch or clothesline to jump through, lay hoops on the ground in a row or pattern where kids must hop or step from one to next, or hold the hoop in two hands and skip with it. You can even try making your own hoops. Find more games here.

Try these variations to make your obstacle course more challenging:

  • Change directions and start from the finish line.
  • Time children (or yourself!) to see how long it takes to complete the course.
  • Balance a marble or plastic egg on a spoon and weave your way back through the course.
  • Use your non-dominant hand for any throwing activities.
  • Try completing the course while carrying a water balloon or a stuffie.

If you don’t have the luxury of a yard or grassy area, you can still work on balance, jumping, and agility using chalk to make an obstacle course on a driveway or an (empty) sidewalk. There are so many ways to get active and have fun outside while still practicing physical distancing.

Safety tips

  • Make sure your yard is free of sharp stones, and clear the course of any loose or broken material.
  • While my kids are older (seven and 11) and fairly self-sufficient in our yard, younger children will need help and supervision when searching for loose play items, as well as to construct and maneuver through the course.
  • Remember that water and snow can make your “playground” slippery and unsafe, so steer children to other activities in rainy weather. Now isn’t the time to be making a visit to the doctor.
  • Move any objects that you don’t want kids to play with. Your antique bird bath may not make a good obstacle.
  • Wear proper footwear. Though my kids would rather be in flip-flops or barefoot, when playing on wood or leaping across tires it’s best to wear closed-toe shoes with a non-skid sole.

Photo courtesy of Christine Latreille.

One response to “How to make a DIY obstacle course outside

  1. I will share this with my neighbor. Her boys are looking for change at this time and they would’love to create their own obstacle coarse. Thanks for the suggestions.

Leave a Reply

Your email address will not be published. Required fields are marked *

[gravityforms id=12 title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_12' ><div id='gf_12' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_12' id='gform_12' action='/diy-obstacle-course/#gf_12' > <div class='gform_body gform-body'><ul id='gform_fields_12' class='gform_fields top_label form_sublabel_below description_below'><li id="field_12_6" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_12_6' >Nom</label><div class='ginput_container ginput_container_text'><input name='input_6' id='input_12_6' type='text' value='' class='large' placeholder='Votre nom' aria-invalid="false" /> </div></li><li id="field_12_7" class="gfield email gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_12_7' >Courriel<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_7' id='input_12_7' type='text' value='' class='large' placeholder='Votre adresse courriel' aria-required="true" aria-invalid="false" /> </div></li><li id="field_12_9" class="gfield hidden scroll-subscriber field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_12_9' >Scroll Subscriber</label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_12_9' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_12_8" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >Je suis un éducateur, un entraîneur ou un animateur en loisirs</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_12_8'><li class='gchoice gchoice_12_8_1'> <input class='gfield-choice-input' name='input_8.1' type='checkbox' value='Oui, veuillez aussi m’envoyer l’infolettre semestrielle d’Actif pour la vie pour les professionnels.' id='choice_12_8_1' /> <label for='choice_12_8_1' id='label_12_8_1'>Oui, veuillez aussi m’envoyer l’infolettre semestrielle d’Actif pour la vie pour les professionnels.</label> </li></ul></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_12' class='gform_button button' value='Abonnez-vous à notre bulletin' onclick='if(window["gf_submitting_12"]){return false;} window["gf_submitting_12"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_12"]){return false;} window["gf_submitting_12"]=true; jQuery("#gform_12").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=12&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_12' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='12' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_12' value='WyJbXSIsImU4MmE1N2RiNzRiMTQ1ZjVhOGQ3OWQwZmVkOTFkNjRiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_12' id='gform_target_page_number_12' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_12' id='gform_source_page_number_12' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_12' id='gform_ajax_frame_12' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 12, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_12').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_12');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_12').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_12').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_12').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_12').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_12').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_12').val();gformInitSpinner( 12, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [12, current_page]);window['gf_submitting_12'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_12').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_12').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [12]);window['gf_submitting_12'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_12').text());}, 50);}else{jQuery('#gform_12').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [12, current_page]);} );} );</script>
[gravityforms id=11 title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><div id='gf_11' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_11' id='gform_11' action='/diy-obstacle-course/#gf_11' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_2" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_11_2' >Name</label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_11_2' type='text' value='' class='large' placeholder='Your name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield email gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_11_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Your email address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_4" class="gfield hidden scroll-subscriber field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_11_4' >Scroll Subscriber</label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_11_4' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_11_3" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >I&#039;m an educator, coach, or rec leader</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_3'><li class='gchoice gchoice_11_3_1'> <input class='gfield-choice-input' name='input_3.1' type='checkbox' value='Yes, please also send me the biannual AfL Pro Newsletter for educators, coaches and rec leaders' id='choice_11_3_1' /> <label for='choice_11_3_1' id='label_11_3_1'>Yes, please also send me the biannual AfL Pro Newsletter for educators, coaches and rec leaders</label> </li></ul></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_11' class='gform_button button' value='Subscribe now' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=11&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsImU4MmE1N2RiNzRiMTQ1ZjVhOGQ3OWQwZmVkOTFkNjRiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_11' id='gform_ajax_frame_11' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 11, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_11').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_11');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_11').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_11').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_11').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_11').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_11').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_11').val();gformInitSpinner( 11, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [11, current_page]);window['gf_submitting_11'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_11').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_11').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [11]);window['gf_submitting_11'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_11').text());}, 50);}else{jQuery('#gform_11').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [11, current_page]);} );} );</script>
[gravityforms id=10 title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gravity-theme active-start-form_wrapper' id='gform_wrapper_10' ><div id='gf_10' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_10' id='gform_10' class='active-start-form' action='/diy-obstacle-course/#gf_10' > <div class='gform_body gform-body'><div id='gform_fields_10' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_10_11" class="gfield active-start-name-field gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_10_11'> <span id='input_10_11_3_container' class='name_first' > <input type='text' name='input_11.3' id='input_10_11_3' value='' aria-label='First name' aria-required='true' placeholder='Your name' /> <label for='input_10_11_3' >First Name</label> </span> </div></fieldset><div id="field_10_10" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><label class='gfield_label' for='input_10_10' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_10' id='input_10_10' type='text' value='' class='large' placeholder='Your email address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_10_1" class="gfield kid-field show gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_10_1' >Kid&#039;s Birthday<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_date'> <input name='input_1' id='input_10_1' type='text' value='' class='datepicker mdy datepicker_no_icon gdatepicker-no-icon' placeholder='mm/dd/yyyy' aria-describedby="input_10_1_date_format" aria-invalid="false" aria-required="true"/> <span id='input_10_1_date_format' class='screen-reader-text'>MM slash DD slash YYYY</span> </div> <input type='hidden' id='gforms_calendar_icon_input_10_1' class='gform_hidden' value='https://activeforlife.com/content/plugins/gravityforms/images/datepicker/datepicker.svg'/></div><div id="field_10_13" class="gfield gfield--width-full gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" >Only one kid per email address at the moment.</div><div id="field_10_4" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_4' >Age When Submitted</label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_10_4' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_10_5" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_5' >1st Birthday</label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_10_5' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_10_6" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_6' >2nd Birthday</label><div class='ginput_container ginput_container_text'><input name='input_6' id='input_10_6' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_10_7" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_7' >3rd Birthday</label><div class='ginput_container ginput_container_text'><input name='input_7' id='input_10_7' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_10_8" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_8' >4th Birthday</label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_10_8' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_10_9" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_10_9' >5th Birthday</label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_10_9' type='text' value='' class='medium' aria-invalid="false" /> </div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_10' class='gform_button button' value='Sign up for Active Start' onclick='if(window["gf_submitting_10"]){return false;} window["gf_submitting_10"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_10"]){return false;} window["gf_submitting_10"]=true; jQuery("#gform_10").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=10&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_10' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='10' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_10' value='WyJbXSIsImU4MmE1N2RiNzRiMTQ1ZjVhOGQ3OWQwZmVkOTFkNjRiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_10' id='gform_target_page_number_10' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_10' id='gform_source_page_number_10' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_10' id='gform_ajax_frame_10' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 10, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_10').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_10');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_10').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_10').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_10').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_10').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_10').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_10').val();gformInitSpinner( 10, 'https://activeforlife.com/content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [10, current_page]);window['gf_submitting_10'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_10').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_10').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [10]);window['gf_submitting_10'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_10').text());}, 50);}else{jQuery('#gform_10').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [10, current_page]);} );} );</script>