Weekly Class Schedule
Ready to book? Click sign up on any class below to snag your spot. Find a full list of class dates and times under the class descriptions.
-
Baby Movers: Pre-Walking Currently Not Booking
A cozy class for you and your baby. With an emphasis on tummy time, sensory play, gentle movement and bonding. This class provides a calm and welcoming space to slow down and be together.
6-week session. Coffee included.
Tuition: $99 per month
45 minutes
-
Clover Climbers: Crawlers/Walkers
A sweet sensory class for babes and their grown-ups to bond, explore, and play on our mats. With maracas, scarves, parachutes, and bubbles for open-ended exploration.
6-week session. Coffee included.
Tuition: $99 per month
45 minutes
-
Juniper Jumpers: 18 mo - 3 yrs
Big energy, little gymnasts! This playful class is designed for toddlers and their grown-ups to move and learn together. With guided instruction, kids will explore the beam, bars, floor, and trampoline.
Meets weekly. Billed monthly.
Tuition: $99 per month
50 minutes
-
Sprout Gym: 3 - 4
Watch your little one shine in this fully independent, instructor-led gymnastics class! Kids will jump, balance, and swing their way across the beam, trampoline, and bars, learning the basics of the sport while having a blast.
Meets weekly. Billed monthly.
Tuition: $99 per month
50 minutes
-
Bloom Gym: 4.5 - 6 yrs
Gymnasts will work on their cartwheels, handstands, and more refined skills with improved technique and precision. Through structured progressions on the beam, bars, floor, and trampoline, your child will shine as they level up their gymnastics.
Meets weekly. Billed monthly.
Tuition: $99 per month
50 minutes
-
Foundations: 6 - 7 yrs
Perfect for beginners or those continuing in our program! Gymnasts will build strength, coordination, and confidence while learning core skills on beam, bars, floor, and trampoline. All in a fun, non-competitive setting.
Meets weekly. Billed monthly.
Tuition: $99 per month
60 minutes
Class Schedule
Explore our full list of class offerings below for babies, toddlers, and young children! Updated in real-time.
<div style="background-color: #DFF4F0; padding: 2.5rem; border-radius: 1rem; max-width: 1200px; margin: 0 auto; font-family: 'Helvetica Neue', sans-serif; font-size: 1.125rem; line-height: 1.8;">
<h2 style="color: #176B87; font-size: 2.5rem; margin-bottom: 1rem;">Summer Classes</h2>
<p style="color: #333; max-width: 1000px;">
Explore our summer class offerings by age and class type below.
</p>
<style>
.arbor-class-sections {
display: grid;
gap: 2rem;
margin-top: 2rem;
}
.arbor-class-box {
background: #ffffff;
border: 1px solid #cceae4;
border-radius: 18px;
padding: 2rem;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.arbor-class-box h3 {
margin: 0 0 0.4rem 0;
font-size: 2rem;
color: #176B87;
}
.arbor-class-box .arbor-age-tag {
display: inline-block;
margin-bottom: 1rem;
padding: 0.35rem 0.9rem;
border-radius: 999px;
background: #CFEF73;
color: #176B87;
font-weight: 700;
font-size: 1rem;
}
.arbor-class-box .arbor-desc {
margin-bottom: 1.5rem;
color: #333;
max-width: 900px;
}
.arbor-class-box table {
width: 100% !important;
table-layout: fixed !important;
border-collapse: collapse;
}
.arbor-class-box th,
.arbor-class-box td {
text-align: left !important;
padding: 0.85rem 0.65rem !important;
vertical-align: middle;
}
.arbor-class-box thead th {
font-weight: 700;
color: #000;
border-bottom: 2px solid #d9ece7;
}
.arbor-class-box tbody tr:nth-child(even) {
background: #f4fbf8;
}
.arbor-class-box a {
color: #176B87 !important;
text-decoration: underline;
font-weight: 600;
}
#jr-hidden-source {
display: none;
}
@media screen and (max-width: 768px) {
.arbor-class-box {
padding: 1.25rem;
}
.arbor-class-box table,
.arbor-class-box tbody,
.arbor-class-box tr,
.arbor-class-box td {
display: block !important;
width: 100% !important;
}
.arbor-class-box thead {
display: none !important;
}
.arbor-class-box tr {
background: #ffffff !important;
margin-bottom: 1rem !important;
padding: 1rem !important;
border: 1px solid #cceae4 !important;
border-radius: 12px !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.04) !important;
}
.arbor-class-box td {
padding: 0.2rem 0 !important;
border: none !important;
}
.arbor-class-box td:before {
display: none !important;
}
}
</style>
<!-- Hidden source table from Jackrabbit -->
<div id="jr-hidden-source">
<script
type="text/javascript"
src="https://app.jackrabbitclass.com/jr3.0/Openings/OpeningsJS?OrgID=556834&hidecols=Description,Gender,S,Session,Class%20Ends,Openings,Class%20Starts">
</script>
</div>
<!-- Where your pretty grouped boxes will appear -->
<div id="arbor-class-sections" class="arbor-class-sections"></div>
<script>
const classGroups = [
{
title: "Clover Climbers",
age: "ages 8 months - 2 years",
description: "A parent-and-child class for babies and young toddlers to explore movement, balance, climbing, and early gymnastics in a playful setting.",
matches: ["Clover Climbers"]
},
{
title: "Juniper Jumpers",
age: "ages 1.5 - 3.5",
description: "A playful toddler class full of movement, obstacle courses, bars, beams, and jumping, with a caregiver nearby for support.",
matches: ["Juniper Jumpers"]
},
{
title: "Sprout Gym",
age: "ages 3 - 5",
description: "An instructor-led preschool gymnastics class focused on confidence, coordination, skill-building, and fun.",
matches: ["Sprout Gym"]
}
// Add more boxes later like Bloom Gym, Beginner Foundations, etc.
];
function getCellText(row, index) {
const cells = row.querySelectorAll("td");
return cells[index] ? cells[index].innerText.trim() : "";
}
function cloneTableHeader(sourceTable) {
const thead = sourceTable.querySelector("thead");
return thead ? thead.cloneNode(true) : document.createElement("thead");
}
function buildGroupedTables() {
const sourceTable = document.querySelector("#jr-hidden-source table");
const target = document.getElementById("arbor-class-sections");
if (!sourceTable || !target) return false;
const rows = Array.from(sourceTable.querySelectorAll("tbody tr"));
if (!rows.length) return false;
target.innerHTML = "";
classGroups.forEach(group => {
const matchedRows = rows.filter(row => {
const className = getCellText(row, 1).toLowerCase(); // Class column
return group.matches.some(name => className.includes(name.toLowerCase()));
});
if (!matchedRows.length) return;
const box = document.createElement("section");
box.className = "arbor-class-box";
const title = document.createElement("h3");
title.textContent = group.title;
const ageTag = document.createElement("div");
ageTag.className = "arbor-age-tag";
ageTag.textContent = group.age;
const desc = document.createElement("p");
desc.className = "arbor-desc";
desc.textContent = group.description;
const table = document.createElement("table");
table.appendChild(cloneTableHeader(sourceTable));
const tbody = document.createElement("tbody");
matchedRows.forEach(row => {
tbody.appendChild(row.cloneNode(true));
});
table.appendChild(tbody);
box.appendChild(title);
box.appendChild(ageTag);
box.appendChild(desc);
box.appendChild(table);
target.appendChild(box);
});
return true;
}
function waitForJackrabbit() {
let tries = 0;
const maxTries = 40;
const interval = setInterval(() => {
tries++;
const done = buildGroupedTables();
if (done || tries >= maxTries) {
clearInterval(interval);
}
}, 500);
}
waitForJackrabbit();
</script>
</div>
You’ve got questions, we’ve got answers
-
Leotards are optional! We recommend comfortable athletic wear that allows for free movement—think stretchy clothes like leggings, shorts, or a t-shirt. Please avoid clothing with buttons or hair clips, and for safety, no socks during class. Please bring a water bottle. No snacks on the gym floor.
-
Makeup classes are offered based on availability in another class of the same age group. If there’s space, you can schedule a makeup for that class, or use it for a Drop-In Class or Open Gym session. Makeup classes must be scheduled by phone or email and are subject to class availability. You must be actively enrolled to schedule a makeup.
-
If class is canceled due to inclement weather, we will offer a makeup class that can be used during Open Gym, at another time with class availability, or during a Drop-In visit. Makeup classes are subject to space availability and must be scheduled over the phone or via email.
-
Please arrive about 5-10 minutes before class starts and encourage your gymnast to use the restroom before class. We highly recommend that parents stay onsite during class.
Since leotards can be tricky for younger children, your assistance may be required when they need help in the restroom.
-
No, we do not offer free trial classes. However, we do have a once-a-month Drop-In Class available for new customers. For $24, you can attend a structured, 45-minute class designed for children ages 2.5–6 years old. The class will feature age-appropriate stations, allowing your child to experience our program and see if it's a good fit.
-
Tuition is billed on the 1st of every month, and we require a card on file for automatic payment (credit card or EFT). We offer two payment options: you can either pay in full for a 3-month session or pay monthly. If you choose the monthly option, you are committing to the full session. Payments will be processed on the 1st of each month, and no refunds or prorated amounts will be issued for partial months if you drop a class early.
If your child joins mid-session, the first month's tuition will be prorated based on the number of classes remaining. Please note that makeup classes are available for missed sessions but cannot be used to adjust tuition payments.
-
If you need to drop a class early, we ask that you provide notice as soon as possible. While no refunds will be issued for dropped classes, we will offer a credit to your account for future use. This credit will be based on the number of classes remaining in the session and can be applied toward future tuition or classes. However, your spot in the class will be forfeited.
-
No, we are strictly a recreational gymnastics studio, focused on progression-based classes that emphasize fun, skill development, and movement.