PageSourceSearch

https://spartanfitnessmma.com/blog

html spartanfitnessmma.com collected 2026-10-04 21:22:40 UTC 133,490 bytes, 2,220 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<html class="chrome" lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml">
6<head>
7    <meta charset="utf-8" />
8        
9
10
11            <title>Birmingham Jiu Jitsu Blog - Spartan Fitness - Homewood, Alabama</title>
12            <meta name="description" content="Learn more about Spartan Fitness community involvement, upcoming events, and other Jiu Jitsu related news." />
13
14        
15    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
16
17    <link rel="author" href="https://goo.gl/maps/M8ooywfTNmjW2LF47" />
18    <link rel="canonical" href="https://spartanfitnessmma.com/blog" />
19
20
21    <meta property="og:type" content="website" />
22    
23
24    <meta property="og:site_name" content="Spartan Fitness" />
25    <meta property="og:title" content="Birmingham Jiu Jitsu Blog - Spartan Fitness - Homewood, Alabama">
26    <meta property="og:url" content="https://spartanfitnessmma.com/blog" />
27    <meta property="og:type" content="website" />
28    <meta name="og:description" content="Learn more about Spartan Fitness community involvement, upcoming events, and other Jiu Jitsu related news." />
29    <meta property="og:image" content="https://res.cloudinary.com/display97/image/upload/q_auto:eco,f_auto/5845/93563.png" />
30
31    
32
33    
34
35    
36    <meta property="article:publisher" content="https://www.facebook.com/sbgbirmingham/" />
37        <meta property="fb:admins" content="40509961" />
38        <meta property="fb:admins" content="1490580160" />
39        <meta property="fb:admins" content="516434989" />
40        <meta property="fb:admins" content="678536071" />
41        <meta property="fb:admins" content="100008379578599" />
42    
43
44    
45    <meta name="twitter:card" content="summary" />
46
47        
48            <meta name="twitter:site" content="SBGBirmingham" />
49            <meta name="twitter:creator" content="SBGBirmingham" />
50        
51
52    <meta property="twitter:title" content="Birmingham Jiu Jitsu Blog - Spartan Fitness - Homewood, Alabama">
53    <meta property="og:url" content="https://spartanfitnessmma.com/blog" />
54
55    <meta name="Twitter:description" content="Learn more about Spartan Fitness community involvement, upcoming events, and other Jiu Jitsu related news." />
56    <meta property="twitter:image" content="https://res.cloudinary.com/display97/image/upload/q_auto:eco,f_auto/5845/93563.png" />
57
58    
59
60    
61    
62
63    <link rel="publisher" href="https://goo.gl/maps/M8ooywfTNmjW2LF47" />
64
65    
65<script type="text/plain" data-cookie-category="analytics" src="//cdn.optimizely.com/js/988351228.js"></script>
65
66    <link rel="apple-touch-icon" href="https://res.cloudinary.com/display97/image/upload/5845/93563.png">
67
68    
69
70    <link rel="icon" type="image/png" href="https://res.cloudinary.com/display97/image/upload/5845/93563.png">
71
72    
73
74    <meta name="msapplication-TileImage" content="https://res.cloudinary.com/display97/image/upload/w_144/5845/93563.png">
75    <link rel="shortcut icon" href="https://res.cloudinary.com/display97/image/upload/w_120/5845/93563.png" />
76    <link rel="mask-icon" href="https://res.cloudinary.com/display97/image/upload/w_120/5845/93563.png">
77
78
79
80
81
82<link rel="stylesheet" href="/Resources/meteorfit/assets/css/reset.css">
83<link rel="stylesheet" href="/Resources/meteorfit/style.css">
84<link rel="stylesheet" href="/Resources/meteorfit/assets/css/responsive.css">
85<link rel="stylesheet" type="text/css" media="all" href="/Resources/global/global.css">
86<link rel="stylesheet" href="/Resources/meteorfit/assets/css/swiper.min.css">
87<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i,800,800i|Montserrat:400,700|Open+Sans+Condensed:700" rel="stylesheet">
88
89
90
91
92    
93        <style>
94        h1 , h2 , h3 , h4 , h5 , h6, [class^="icon-"], [class*=" icon-"], [class^="ico-"], [class*=" ico-"] { color: #b72d26; }
95.footer a:hover{ color: #b72d26 !important; } 
96.top_bar{ border-top: 4px solid #b72d26; }
97.iconicTitle:before{ border-bottom: 18px solid #b72d26; }
98.iconicTitle:after { border-bottom: 8px solid #b72d26; }
99.requestForm{ background-color: #b72d26; }
100.footer a{ color: #b72d26 !important; }
101.swiper-pagination-bullet-active {  background: #b72d26 !important; border:2px solid #b72d26;}
102.dsgn:before { background-color: #b72d26; }
103.home-testimonials{ background-color: #b72d26; color: #fff; }
104.home-program-img:before{ border-bottom: 80px solid #b72d26; }
105.home-program-img:after{ border-top: 100px solid #b72d26; }
106.introHome-leadform:after{ border-right: 400px solid #b72d26; }
107.requestSideBar{ border-color: #b72d26;}
108.sideProgram a:after{ background-color: #b72d26; }
109.button{ background-color: #b72d26; }
110.button:hover{ background-color: #ffffff; }
111.button{ color: #f7f7f7; }
112.button:hover{ color: #b72d26; }
113.home-program-bg .ill:before, .sliderHome .swiper-slide:before{ background: rgba(0,0,0,0.3); background: -moz-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(183,45,38,1) 100%); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(0,0,0,0.3)), color-stop(100%, rgba(183,45,38,1))); background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(183,45,38,1) 100%); background: -o-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(183,45,38,1) 100%); background: -ms-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(183,45,38,1) 100%); background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(183,45,38,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#000000", endColorstr="#b72d26", GradientType=0 );}
114
115        </style>
116    
117
118
119
120<!--[if lt IE 9]>
121    
121<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
121
122<![endif]-->
123
124<!--Commnted out to use version 3.4.1 YN -->
125<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
125
126
127<script>
128        if (typeof jQuery == "undefined") {
129            // Fall back to local version
130            document.write(decodeURIComponent('%3Cscript src="/scripts/jquery-3.6.0.min.js" %3E%3C/script%3E'));
131        }
132</script>
132
133
134
135<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
135
136
137<script>
138        if (typeof jQuery == "undefined") {
139            // Fall back to local version
140            document.write(decodeURIComponent('%3Cscript src="/scripts/jquery-ui-1.13.2.js" %3E%3C/script%3E'));
141        }
142</script>
vendor: 2 bytes, line 142
142
143<script src="/Scripts/jquery-ui-1.9.0.custom.min.js" type="text/javascript"></script>
143
144
145
146
147
148
149<!--Jquery Validate Bundle-->
150<script src="/bundles/jqueryvalidate?v=qBf8U6WPNI7GDAfcW7bUO-34o2FbXuVoR2hLReFt1DY1"></script>
vendor: 82 bytes, lines 150-155
150
151
152
153
154    
155        <script src="https://www.google.com/recaptcha/api.js?render=
1556Lcj_t0UAAAAABRyv9Kmb6iLVQTYEeVLwJBhJ0ta
vendor: 28 bytes, lines 155-160
155"></script>
156    
157
158
159
160 
161<!--Jquery Easing Bundle-->
162<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
162
163
164
165<script type="text/javascript" src="/Resources/meteorfit/assets/js/swiper.min.js"></script>
vendor: 2 bytes, line 165
165
166<script type="text/javascript" src="/Resources/meteorfit/assets/js/custom.js"></script>
vendor: 2 bytes, line 166
166
167<script type="text/javascript" src="/Resources/global/global.js"></script>
167
168
169<!-- LOAD ALL OTHER FILES YOU NEED... STARTING HERE -->
170<!-- /ENDING HERE -->
171
172
173
174
175
176
177<!-- Scripts Head Start -->
178
179
180
181
182
183
184
185
186
187    
188    
188<script type="text/javascript">
189        // ---- Mixpanel removed ----
190        // Mixpanel is no longer used. The library loader has been removed from the
191        // layouts. This no-op stub keeps the ~130 legacy mixpanel.* calls scattered
192        // through the views harmless (no library load, no cookie, no tracking) so we
193        // don't have to touch every caller. Safe to run pre-consent (does nothing).
194        (function () {
195            if (window.mixpanel) { return; }
196            var noop = function () { };
197            var m = { people: {} };
198            var methods = ("disable track track_pageview track_links track_forms register " +
199                "register_once alias unregister identify name_tag set_config get_distinct_id " +
200                "people.set people.set_once people.increment people.append people.track_charge " +
201                "people.clear_charges people.delete_user").split(" ");
202            for (var i = 0; i < methods.length; i++) {
203                var p = methods[i].split(".");
204                if (p.length === 2) { m[p[0]] = m[p[0]] || {}; m[p[0]][p[1]] = noop; }
205                else { m[methods[i]] = noop; }
206            }
207            m.get_distinct_id = function () { return 0; };
208            window.mixpanel = m;
209        })();
210
211        (function () {
212            "use strict";
213
214            var COOKIE_NAME = 'cookieConsent_loc_3814';
215            var IS_OPT_IN = false;
216            var ONE_YEAR_DAYS = 365;
217
218            // ---- cookie helpers -------------------------------------------
219            function readRaw(name) {
220                var m = document.cookie.match('(?:^|; )' + name.replace(/([.$?*|{}()\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)');
221                return m ? decodeURIComponent(m[1]) : null;
222            }
223            function writeRaw(name, value, days) {
224                var d = new Date();
225                d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000));
226                document.cookie = name + '=' + encodeURIComponent(value) + ';expires=' + d.toUTCString() + ';path=/;SameSite=Lax';
227            }
228
229            // ---- consent state --------------------------------------------
230            // {v:2, necessary:1, analytics:0|1, marketing:0|1, functional:0|1, ts, src}
231            function parseConsent() {
232                var raw = readRaw(COOKIE_NAME);
233                if (!raw) return null;
234                // Legacy v1 value was the literal string "true" => treat as Accept All.
235                if (raw === 'true') {
236                    return { v: 2, necessary: 1, analytics: 1, marketing: 1, functional: 1, src: 'legacy' };
237                }
238                try {
239                    var o = JSON.parse(raw);
240                    if (o && o.v === 2) return o;
241                } catch (e) { }
242                return null;
243            }
244
245            function persist(consent, src) {
246                consent.v = 2;
247                consent.necessary = 1;
248                consent.src = src || consent.src || 'set';
249                writeRaw(COOKIE_NAME, JSON.stringify(consent), ONE_YEAR_DAYS);
250            }
251
252            // ---- Google Consent Mode v2 -----------------------------------
253            window.dataLayer = window.dataLayer || [];
254            function gtag() { dataLayer.push(arguments); }
255            window.gtag = window.gtag || gtag;
256
257            function toGtag(consent) {
258                var granted = 'granted', denied = 'denied';
259                return {
260                    ad_storage: consent && consent.marketing ? granted : denied,
261                    ad_user_data: consent && consent.marketing ? granted : denied,
262                    ad_personalization: consent && consent.marketing ? granted : denied,
263                    analytics_storage: consent && consent.analytics ? granted : denied,
264                    functionality_storage: consent && consent.functional ? granted : denied,
265                    personalization_storage: consent && consent.functional ? granted : denied,
266                    security_storage: granted
267                };
268            }
269
270            var stored = parseConsent();
271
272            // Default state. If we already have a stored choice, seed from it;
273            // otherwise everything non-essential is denied until the user acts.
274            var defaultState = toGtag(stored);
275            defaultState.wait_for_update = 500;
276            gtag('consent', 'default', defaultState);
277
278            // ---- Meta Pixel stub (so consent applies before CX pixel runs) -
279            // CX pixel snippets begin with: !function(f){if(f.fbq)return; ...}
280            // By creating the stub first and revoking, their inline init/track
281            // calls queue under revoked consent until we grant.
282            (function (f, b, e) {
283                if (f.fbq) return;
284                var n = f.fbq = function () {
285                    n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);
286                };
287                if (!f._fbq) f._fbq = n;
288                n.push = n; n.loaded = true; n.version = '2.0'; n.queue = [];
289            })(window, document, 'script');
290            try { window.fbq('consent', stored && stored.marketing ? 'grant' : 'revoke'); } catch (e) { }
291
292            // ---- hard-gate activation runtime ------------------------------
293            // Promotes 
293<script type="text/plain" data-cookie-category="X"> to a
294            // live 
294<script> once category X is consented. Idempotent.
295            function activate(category) {
296                var nodes = document.querySelectorAll(
297                    'script[type="text/plain"][data-cookie-category="' + category + '"]');
298                for (var i = 0; i < nodes.length; i++) {
299                    var ph = nodes[i];
300                    var s = document.createElement('script');
301                    for (var a = 0; a < ph.attributes.length; a++) {
302                        var attr = ph.attributes[a];
303                        if (attr.name === 'type' || attr.name === 'data-cookie-category') continue;
304                        s.setAttribute(attr.name, attr.value);
305                    }
306                    if (ph.src) { s.src = ph.src; } else { s.text = ph.textContent; }
307                    ph.parentNode.replaceChild(s, ph);
308                }
309            }
310
311            function activateConsented(consent) {
312                if (!consent) return;
313                if (consent.analytics) activate('analytics');
314                if (consent.marketing) activate('marketing');
315                if (consent.functional) activate('functional');
316            }
317
318            // ---- public API used by the visible banner --------------------
319            window.__consent = {
320                config: { cookieName: COOKIE_NAME, isOptIn: IS_OPT_IN },
321                current: function () { return parseConsent(); },
322                has: function (cat) { var c = parseConsent(); return !!(c && c[cat]); },
323                apply: function (consent, src) {
324                    persist(consent, src);
325                    gtag('consent', 'update', toGtag(consent));
326                    try { window.fbq('consent', consent.marketing ? 'grant' : 'revoke'); } catch (e) { }
327                    activateConsented(consent);
328                },
329                acceptAll: function (src) {
330                    this.apply({ necessary: 1, analytics: 1, marketing: 1, functional: 1 }, src || 'acceptAll');
331                },
332                declineAll: function (src) {
333                    this.apply({ necessary: 1, analytics: 0, marketing: 0, functional: 0 }, src || 'declineAll');
334                }
335            };
336
337            // If a prior choice exists, honor it on every page load.
338            if (stored) {
339                document.addEventListener('DOMContentLoaded', function () {
340                    activateConsented(stored);
341                });
342            }
343        })();
344    </script>
344
345    
346
347
348
349    
350            
351                <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 351-352
351
352<script async src="https://www.googletagmanager.com/gtag/js?id=
352UA-112554440-1
vendor: 13 bytes, line 352
352"></script>
353<script>
354  
vendor: 136 bytes, lines 354-357
354window.dataLayer = window.dataLayer || [];
355  function gtag(){dataLayer.push(arguments);}
356  gtag('js', new Date());
357  gtag('config', '
357UA-112554440-1
vendor: 7 bytes, lines 357-358
357');
358  
358gtag('config', 'AW-804605132');
359</script>
359
360
361<!-- Google Tag Manager -->
362
363<script>
vendor: 339 bytes, lines 363-371
363(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
364
365new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
366
367j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
368
369'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
370
371})(window,document,'script','dataLayer','
371GTM-TRGWGBB
vendor: 3 bytes, line 371
371');
371</script>
371
372
373<!-- End Google Tag Manager -->
374
375
376            
377
378
379        
380    
381
382
383
384<!-- Scripts Head End -->
385</head>
386<body class="meteorfit custom-5845">
387
388    
388<script>
389        $(document).on('click', '.switcher span', function () {
390            $('body').attr('class', '');
391            $('body').addClass($(this).attr('rel'));
392        });
393    </script>
393
394
395        
396            <!-- Google Tag Manager (noscript) -->
vendor: 71 bytes, lines 396-398
396
397
398<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
398GTM-TRGWGBB
vendor: 89 bytes, lines 398-401
398"
399
400height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
401
402<!-- End Google Tag Manager (noscript) -->
403        
404
405    
406
407
408
409    <div id="fb-root"></div>
410    
411        
412            
412<script type="text/plain" data-cookie-category="marketing">
413                (function (d, s, id) {
414                    var js, fjs = d.getElementsByTagName(s)[0];
415                    if (d.getElementById(id)) return;
416                    js = d.createElement(s); js.id = id;
417                    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6";
418                    fjs.parentNode.insertBefore(js, fjs);
419                }(document, 'script', 'facebook-jssdk'));</script>
419
420        
421
422
423
424    
425<!-- header -->
426<header class="header">
427    <!-- Top Bar -->
428    <div class="top_bar">
429        <div class="top_bar-left">
430                
431                    <span class="words-1">Call Us Today! <a href="tel:205-824-8361">205-824-8361</a> </span>
432                
433
434                
435                    <span class="words-2"><a href="MAILTO:[email protected]"> Get in touch now!</a></span>
436                
437        </div>
438        <div class="top_bar-right">
439            <ul class="social_networks">
440
441                    
442                        <li class="facebook"><a href="https://www.facebook.com/sbgbirmingham/" target="_blank"><span>facebook</span></a></li>
443                    
444                                    
445                        <li class="twitter"><a href="https://twitter.com/SBGBirmingham" target="_blank"><span>twitter</span></a></li>
446                    
447                                    
448                        <li class="googleplus"><a href="https://goo.gl/maps/M8ooywfTNmjW2LF47" target="_blank"><span>googleplus</span></a></li>
449                    
450                                    
451                        <li class="instagram"><a href="https://www.instagram.com/sbgalabama/" target="_blank"><span>instagram</span></a></li>
452
453                    
454                                    
455                        <li class="youtube"><a href="https://www.youtube.com/user/SpartanFitnessMMA" target="_blank"><span>youtube</span></a></li>
456
457                    
458
459
460
461
462                
463
464
465                
466
467            </ul>
468        </div>
469        <br class="clear"   />
470    </div>
471    <!-- /Top Bar -->
472    <div class="stickHeader">
473        <div class="logo">
474            <a href="/"><img  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/5845/93563.png" loading="lazy"></a>
475        </div>
476        <div class="navigation-part">
477            <div class="hmbrgr">
478                <span></span>
479                <span></span>
480                <span></span>
481            </div>
482            <nav class="main_navigation" role="navigation">
483                <ul>
484                        
485                                            <li class="class-link">
486
487                                                    
488                                                        <a title="Programs">Programs</a>
489                                                        <ul>
490                                                                        <li><a href="/classes/Brazilian-Jiu-Jitsu" title="Brazilian Jiu Jitsu" target="_self">Brazilian Jiu Jitsu</a></li>
491                                                                        <li><a href="/classes/Muay-Thai-Kickboxing-" title="Muay Thai Kickboxing " target="_self">Muay Thai Kickboxing </a></li>
492                                                                        <li><a href="/classes/Kids-Martial-Arts-" title="Kids Martial Arts " target="_self">Kids Martial Arts </a></li>
493                                                                        <li><a href="/classes/Mixed-Martial-Arts-" title="Mixed Martial Arts " target="_self">Mixed Martial Arts </a></li>
494                                                                        <li><a href="/classes/Strength-And-Conditioning-" title="Spartan Conditioning" target="_self">Spartan Conditioning</a></li>
495                                                                        <li><a href="/classes/Fitness-Kickboxing" title="Fitness Kickboxing" target="_self">Fitness Kickboxing</a></li>
496                                                        </ul>
497                                                    
498
499                                            </li>
500                        
501                        
502                                            <li class="reviews-link">
503
504                                                            <a href="/Home/Reviews" title="Reviews" target="_self">Reviews</a>
505
506                                            </li>
507                        
508                        
509                                            <li class="instructors-link">
510
511                                                            <a href="/instru
511ctors" title="Instructors" target="_self">Instructors</a>
512
513                                            </li>
514                        
515                        
516                                            <li class="blog-link">
517
518                                                            <a href="/blog" title="Blog" target="_self">Blog</a>
519
520                                            </li>
521                        
522                        
523                                            <li class="contact-link">
524
525                                                            <a href="/Contact" title="Contact Us" target="_self">Contact Us</a>
526
527                                            </li>
528                        
529
530                </ul>
531                    
532                        <a href="#" class="requestH button popLeadCall">Request More Information </a>
533                    
534            </nav>
535        </div>
536        <br class="clear"   />
537    </div>
538</header>
539<!-- /header -->
540
541
542
543
544    
545        
545<script>
546            $(function () {
547
548                var locId = ''; 
549                if (locId != null && locId > 0 ) {
550                    setCookie("locationId", locId, 1);
551                    setCookie("showMultiLocationPopUp", false, 1);  
552                    window.location = window.location.href.split("?")[0]; 
553                }
554            });
555            function setCookie(cname, cvalue, exdays) {
556                var d = new Date();
557                d.setTime(d.getTime() + (exdays * 60 * 60 * 1000));
558                var expires = "expires=" + d.toGMTString();
559                document.cookie = cname + "=" + cvalue + "; " + expires;
560            }
561
562            function getCookie(cname) {
563                  let name = cname + "=";
564                  let decodedCookie = decodeURIComponent(document.cookie);
565                  let ca = decodedCookie.split(';');
566                  for(let i = 0; i <ca.length; i++) {
567                    let c = ca[i];
568                    while (c.charAt(0) == ' ') {
569                      c = c.substring(1);
570                    }
571                    if (c.indexOf(name) == 0) {
572                      return c.substring(name.length, c.length);
573                    }
574                  }
575                  return "";
576                }
577
578        </script>
578
579    
580
581
582
583
584<script type="text/javascript">
585
586    $(function () {
587
588        $(".location-link a").click(function (event) {
589            
590            
591            // Don't follow the link
592            event.preventDefault();
593
594            // Remember the link href
595            var href = $(this).attr("href");
596            var locid = $(this).attr("data-locid")
597            SetLocationCookie(locid, "location-link");
598            //alert(href)
599            //alert(locid)
600            window.open(href,"_self");
601            return false;
602        });       
603
604        function SetLocationCookie(locId, cssClassName) {
605            //alert(locId);
606            if (locId < 1) {
607                return true;
608            }
609            if (cssClassName !== "location-link") {
610                return true;
611            }
612            delete_cookie('locationId');
613            set_cookie("locationId", locId, 1);           
614            return false;
615
616        }
617
618
619        var delete_cookie = function (name) {
620            document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
621        };
622
623        function set_cookie(cname, cvalue, exdays) {
624
625            var d = new Date();
626            d.setTime(d.getTime() + (exdays * 60 * 60 * 1000));
627            var expires = "expires=" + d.toGMTString();
628            document.cookie = cname + "=" + cvalue + "; " + expires + ";path=/";
629
630        }
631
632    });
633
634      
635    
636
637                                         
638
639</script>
639
640
641    <div class="headHack"></div>
642        
643            <!-- Homepage Slider -->
644            <div class="relative">
645                <section class="pageHeader" style="background-image: url(https://res.cloudinary.com/display97/image/upload/q_auto:eco,f_auto/5845/Global-Background-image-2-203966.jpg);">
646                    <div class="pageHeader-content">
647
648                        <div class="max900 center intro anim anim-grow">
649                                
650                                    <h1><strong>Blog | Spartan Fitness</strong></h1>
651                                
652
653                        </div>
654
655                    </div>
656                </section>
657            </div>
658        
659    <!-- /Homepage Slider -->
660        
661            <section class="section pageContent">
662                <div class="content">
663                    <div class="col two-third ispageContent anim anim-moveup-1">
664
665                         
666
667
668
669
670
671    
672        
673    
674
675        <link rel="stylesheet" id="blog-css" href="/Resources/global/newblog.css" type="text/css" media="all">
676        
676<script>
677            $(document).ready(function () {
678                // executes when HTML-Document is loaded and DOM is ready
679                //console.log("document is ready");
680
681
682                $("#listId > ul > li > a").click(function () {
683                    $(window).scrollTop($('#listId').offset().top);
684                });
685
686            });
687
688            $(window).on("load", function () {
689                // executes when complete page is fully loaded, including all frames, objects and images
690                //console.log("window is loaded");
691
692
693                $("#listId > ul > li > a").click(function () {
694                    $(window).scrollTop($('#listId').offset().top);
695                });
696
697            });
698
699        </script>
699
700
701
702        <div id="listId">
703
704            <a href="http://spartanfitnessmma.com/rssfeed.xml" style="float:right;margin:10px"><img src="https://97displaylive.blob.core.windows.net/aqua/Resources/global/rssbutton.png" alt="Brazilian Jiu Jitsu near Birmingham RSS Feed" width="80" /></a>
705
706            <br class="clear" />
707<form action="/blog/search" method="post"><input name="__RequestVerificationToken" type="hidden" value="RktL6SNe0NYnwMyQ2wfcGEr0v729axivYJX_MSA5NHM0wUIEWSr753b1jOgEfl81CnaOZYBau8jX_jc8J2aKnDO8havx_ot1E4VJ04ptX_k1" />                
708                    <div align="center" style="padding: 10px 0;">
709                        <input class="search" required id="searchTxt" name="searchTxt" placeholder="Search" />
710                        <input type="submit" id="btnSearch" value="Search" class="btn" />
711                    </div>
712                
713</form>
714
715
716            <input type="hidden" id="pageSize" name="pageSize" value="10" />
717
718            <br class="clear" />
719            <input type="hidden" id="sortBy" name="sortBy" value="date_desc" />
720            <br class="clear" />
721
722
723            <nav id="headerPaging" name="headerPaging" class="paginatic paginator">
724            </nav>
725
726            <br />
727            <br />
728            <ul class="list">
729
730
731                        
732                            <li>
733                                <article class="the_blog_article">
734                                    <figure class="the_blog_preview">
735                                        <a href="/blog/153433/Spartan-Fitness-MMA-Brazilian-Jiu-Jitsu-Belt-Promotion-Ceremony">
736                                                <img class="postImg"   alt="Spartan Fitness MMA Brazilian Jiu-Jitsu Belt Promotion Ceremony"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-291103.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
737                                        </a>
738                                    </figure>
739                                    <header class="the_blog_header">
740                                        <h3 class="title"><a href="/blog/153433/Spartan-Fitness-MMA-Brazilian-Jiu-Jitsu-Belt-Promotion-Ceremony">Spartan Fitness MMA Brazilian Jiu-Jitsu Belt Promotion Ceremony</a></h3>
741                                        <p class="desc">   At Spartan Fitness MMA in Birmingham, Alabama, belt promotions in Brazilian Jiu-Jitsu (BJJ) are more than just a milestone. They are a celebration of hard work, consistency, and community.    This past weekend, we hosted a special belt promotion ceremony for both our adult BJJ athletes and our youth students in the  Growing Gorillas program. From green belts to brown belts, the mats were full of energy and well-earned promotions.     💪   Adult BJJ Belt Promotions    Our adult BJJ tribe showed up in full force for an Ironman-style promotion, an SBG tradition where every newly promoted athlete rolls with the entire class. We proudly recognized:     4 new brown belts    7 new purple belts    .... </p>
742                                        <a href='/blog/153433/Spartan-Fitness-MMA-Brazilian-Jiu-Jitsu-Belt-Promotion-Ceremony' class="button small alignright">Read more</a>
743                                    </header>
744                                </article>
745                            </li>
746                        
747                        
748                            <li>
749                                <article class="the_blog_article">
750                                    <figure class="the_blog_preview">
751                                        <a href="/blog/153212/Gorilla-Cup-2025-A-Day-of-Community-and-Jiu-Jitsu-at-Spartan-Fitness-MMA">
752                                                <img class="postImg"   alt="Gorilla Cup 2025: A Day of Community and Jiu-Jitsu at Spartan Fitness MMA"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/Spartan-Fitness-Blog-290216.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
753                                        </a>
754                                    </figure>
755                                    <header class="the_blog_header">
756                                            
757                                                <span class="postdate">27 May 2025</span>
758                                            
759                                        <h3 class="title"><a href="/blog/153212/Gorilla-Cup-2025-A-Day-of-Community-and-Jiu-Jitsu-at-Spartan-Fitness-MMA">Gorilla Cup 2025: A Day of Community and Jiu-Jitsu at Spartan Fitness MMA</a></h3>
760                                        <p class="desc">  This past weekend, Spartan Fitness MMA hosted the highly anticipated  Gorilla Cup, our in-house Brazilian Jiu-Jitsu tournament. This event was a unique opportunity for both youth and adult students to experience the excitement and challenges of a jiu-jitsu tournament in a supportive and fun environment.  While competition was fierce, the true goal of the Gorilla Cup was to get everyone more comfortable with the rules, pacing, and energy of a real tournament setting. We are incredibly proud of our members who embraced the event's fun, non-pressuring atmosphere and enjoyed the camaraderie it fostered.  The tournament was a celebration of our members&rsquo; dedication and progress, whether .... </p>
761                                        <a href='/blog/153212/Gorilla-Cup-2025-A-Day-of-Community-and-Jiu-Jitsu-at-Spartan-Fitness-MMA' class="button small alignright">Read more</a>
762                                    </header>
763                                </article>
764                            </li>
765                        
766                        
767                            <li>
768                                <article class="the_blog_article">
769                                    <figure class="the_blog_preview">
770                                        <a href="/blog/152226/Dodgeball-Tacos-and-Cold-Plunges-A-Saturday-Well-Spent-at-Spartan-Fitness-MMA">
771                                                <img class="postImg"   alt="Dodgeball, Tacos, and Cold Plunges: A Saturday Well Spent at Spartan Fitness MMA"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/-288166.JPG" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/-288166.JPG 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/-288166.JPG 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/-288166.JPG 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/-288166.JPG 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/-288166.JPG 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
772                                        </a>
773                                    </figure>
774                                    <header class="the_blog_header">
775                                            
776                                                <span class="postdate">26 Mar 2025</span>
777                                            
778                                        <h3 class="title"><a href="/blog/152226/Dodgeball-Tacos-and-Cold-Plunges-A-Saturday-Well-Spent-at-Spartan-Fitness-MMA">Dodgeball, Tacos, and Cold Plunges: A Saturday Well Spent at Spartan Fitness MMA</a></h3>
779                                        <p class="desc">  This past Saturday, the Spartan Fitness MMA community came together for something a little different &mdash; an all-out dodgeball tournament that brought the heat (and a lot of laughs).  Members, friends, and families showed up ready to compete, dodge, and dive into the action. The energy was high, the competition was fun, and the atmosphere reminded us why community events like this matter. It wasn&rsquo;t about winning or losing &mdash; it was about showing up, having a great time, and building stronger connections both on and off the mats.  To keep everyone fueled,  Rico Taco parked out front with their amazing food truck, which was a major hit. Seriously &mdash; if you didn&rsquo;t .... </p>
780                                        <a href='/blog/152226/Dodgeball-Tacos-and-Cold-Plunges-A-Saturday-Well-Spent-at-Spartan-Fitness-MMA' class="button small alignright">Read more</a>
781                                    </header>
782                                </article>
783                            </li>
784                        
785                        
786                            <li>
787                                <article class="the_blog_article">
788                                    <figure class="the_blog_preview">
789                                        <a href="/blog/151906/Why-Brazilian-Jiu-Jitsu-is-the-Best-Year-Round-Sport-for-Kids">
790                                                <img class="postImg"   alt="Why Brazilian Jiu-Jitsu is the Best Year-Round Sport for Kids"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/-286948.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/-286948.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/-286948.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/-286948.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/-286948.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/-286948.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
791                                        </a>
792                                    </figure>
793                                    <header class="the_blog_header">
794                                            
795                                                <span class="postdate">4 Mar 2025</span>
796                                            
797                                        <h3 class="title"><a href="/blog/151906/Why-Brazilian-Jiu-Jitsu-is-the-Best-Year-Round-Sport-for-Kids">Why Brazilian Jiu-Jitsu is the Best Year-Round Sport for Kids</a></h3>
798                                        <p class="desc">  When it comes to finding the best year-round activity for young children, Brazilian Jiu-Jitsu (BJJ) stands out as an exceptional choice. Unlike seasonal sports, BJJ provides consistent training opportunities, helping children build critical life skills such as self-defense, discipline, focus, and confidence. At Spartan Fitness MMA in Birmingham, AL, our youth programs offer a structured and supportive environment where kids can thrive both on and off the mats. Here&rsquo;s why BJJ is the best sport for your child, no matter the season!   1. Self-Defense Skills for Real-World Protection One of the greatest benefits of Brazilian Jiu-Jitsu is its emphasis on practical self-defense. Unlike .... </p>
799                                        <a href='/blog/151906/Why-Brazilian-Jiu-Jitsu-is-the-Best-Year-Round-Sport-for-Kids' class="button small alignright">Read more</a>
800                                    </header>
801                                </article>
802                            </li>
803                        
804                        
805                            <li>
806                                <article class="the_blog_article">
807                                    <figure class="the_blog_preview">
808                                        <a href="/blog/151817/Stay-Fit-Have-Fun-Why-Birmingham-Families-Train-BJJ-at-Spartan-Fitness-MMA">
809                                                <img class="postImg"   alt="Stay Fit &amp; Have Fun: Why Birmingham Families Train BJJ at Spartan Fitness MMA"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/-286586.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/-286586.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/-286586.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/-286586.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/-286586.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/-286586.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
810                                        </a>
811                                    </figure>
812                                    <header class="the_blog_header">
813                                            
814                                                <span class="postdate">25 Feb 2025</span>
815                                            
816                                        <h3 class="title"><a href="/blog/151817/Stay-Fit-Have-Fun-Why-Birmingham-Families-Train-BJJ-at-Spartan-Fitness-MMA">Stay Fit &amp; Have Fun: Why Birmingham Families Train BJJ at Spartan Fitness MMA</a></h3>
817                                        <p class="desc">  Looking for a fun and effective way to stay fit? Brazilian Jiu-Jitsu (BJJ) at Spartan Fitness MMA in Birmingham is the perfect solution! BJJ helps you build strength, improve flexibility, and sharpen your mind&mdash;all while learning valuable self-defense skills.  Our beginner-friendly classes welcome all fitness levels, so you can ease into training at your own pace. No prior experience? No problem! Our expert instructors break down techniques step by step, ensuring you feel comfortable and confident as you progress.  At Spartan Fitness MMA, we pride ourselves on creating a friendly and supportive environment. Whether you're just starting out or returning to the mats, you'll be .... </p>
818                                        <a href='/blog/151817/Stay-Fit-Have-Fun-Why-Birmingham-Families-Train-BJJ-at-Spartan-Fitness-MMA' class="button small alignright">Read more</a>
819                                    </header>
820                                </article>
821                            </li>
822                        
823                        
824                            <li>
825                                <article class="the_blog_article">
826                                    <figure class="the_blog_preview">
827                                        <a href="/blog/151439/Improve-fitness-build-confidence-and-learn-valuable-self-defense-skills-through-Brazilian-jiu-jitsu-BJJ-at-Spartan-Fitness-MMA-in-Birmingham-AL-">
828                                                <img class="postImg"   alt="Improve fitness, build confidence, and learn valuable self
828-defense skills through Brazilian jiu-jitsu (BJJ) at Spartan Fitness MMA in Birmingham, AL! "  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/-284872.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/-284872.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/-284872.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/-284872.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/-284872.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/-284872.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
829                                        </a>
830                                    </figure>
831                                    <header class="the_blog_header">
832                                            
833                                                <span class="postdate">20 Jan 2025</span>
834                                            
835                                        <h3 class="title"><a href="/blog/151439/Improve-fitness-build-confidence-and-learn-valuable-self-defense-skills-through-Brazilian-jiu-jitsu-BJJ-at-Spartan-Fitness-MMA-in-Birmingham-AL-">Improve fitness, build confidence, and learn valuable self-defense skills through Brazilian jiu-jitsu (BJJ) at Spartan Fitness MMA in Birmingham, AL! </a></h3>
836                                        <p class="desc">  Improve fitness, build confidence, and learn valuable self-defense skills through Brazilian jiu-jitsu (BJJ) at Spartan Fitness MMA in Birmingham, AL! We offer world-class BJJ training for kids and adults in a supportive environment with beginner-friendly classes. Whether you're a complete beginner or an experienced grappler, we offer specialized programs tailored to your age and skill level.  This month, our youth program focuses on Life Skills &amp; Leadership Traits, building character alongside technique. We believe in developing well-rounded individuals who possess not only martial arts skills but also strong character and leadership qualities. Plus, our BJJ competition team kicks off .... </p>
837                                        <a href='/blog/151439/Improve-fitness-build-confidence-and-learn-valuable-self-defense-skills-through-Brazilian-jiu-jitsu-BJJ-at-Spartan-Fitness-MMA-in-Birmingham-AL-' class="button small alignright">Read more</a>
838                                    </header>
839                                </article>
840                            </li>
841                        
842                        
843                            <li>
844                                <article class="the_blog_article">
845                                    <figure class="the_blog_preview">
846                                        <a href="/blog/151399/Achieve-Your-Goals-in-2025-with-Beginner-BJJ-MMA-and-Muay-Thai-at-Spartan-Fitness-MMA-in-Birmingham-AL">
847                                                <img class="postImg"   alt="Achieve Your Goals in 2025 with Beginner BJJ, MMA, and Muay Thai at Spartan Fitness MMA in Birmingham, AL"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/-284737.JPG" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/-284737.JPG 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/-284737.JPG 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/-284737.JPG 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/-284737.JPG 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/-284737.JPG 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
848                                        </a>
849                                    </figure>
850                                    <header class="the_blog_header">
851                                            
852                                                <span class="postdate">14 Jan 2025</span>
853                                            
854                                        <h3 class="title"><a href="/blog/151399/Achieve-Your-Goals-in-2025-with-Beginner-BJJ-MMA-and-Muay-Thai-at-Spartan-Fitness-MMA-in-Birmingham-AL">Achieve Your Goals in 2025 with Beginner BJJ, MMA, and Muay Thai at Spartan Fitness MMA in Birmingham, AL</a></h3>
855                                        <p class="desc">  The new year is here, and with it comes the opportunity for a fresh start. Are you ready to make 2025 your year of transformation? At Spartan Fitness MMA in Birmingham, Alabama, we provide the perfect environment to kickstart your fitness journey and achieve your goals. Whether you're looking to get in shape, learn self-defense, or simply try something new, our beginner-friendly classes in Brazilian Jiu-Jitsu (BJJ), Mixed Martial Arts (MMA), and Muay Thai are designed to empower you every step of the way.   Why Choose Martial Arts for Your Fitness Journey?  Martial arts training offers a unique blend of physical and mental benefits that traditional workouts often lack. Not only will you .... </p>
856                                        <a href='/blog/151399/Achieve-Your-Goals-in-2025-with-Beginner-BJJ-MMA-and-Muay-Thai-at-Spartan-Fitness-MMA-in-Birmingham-AL' class="button small alignright">Read more</a>
857                                    </header>
858                                </article>
859                            </li>
860                        
861                        
862                            <li>
863                                <article class="the_blog_article">
864                                    <figure class="the_blog_preview">
865                                        <a href="/blog/148787/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu-Mixed-Martial-Arts-and-Kickboxing-Programs">
866                                                <img class="postImg"   alt="Spartan Fitness MMA: A Dynamic Start to 2024 in our Brazilian Jiu-Jitsu, Mixed Martial Arts, and Kickboxing Programs"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu,-Mixed-Martial-Arts,-and-Kickboxing-Programs-274152.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
867                                        </a>
868                                    </figure>
869                                    <header class="the_blog_header">
870                                            
871                                                <span class="postdate">3 Apr 2024</span>
872                                            
873                                        <h3 class="title"><a href="/blog/148787/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu-Mixed-Martial-Arts-and-Kickboxing-Programs">Spartan Fitness MMA: A Dynamic Start to 2024 in our Brazilian Jiu-Jitsu, Mixed Martial Arts, and Kickboxing Programs</a></h3>
874                                        <p class="desc">  Spartan Fitness MMA charged into 2024 with vigor, maintaining an active presence in mixed martial arts, Brazilian Jiu-Jitsu, and kickboxing in Birmingham, Alabama and beyond. Over 125 new students were enrolled just in the first quarter, and we remain committed to our craft and culture, always striving to provide the best mixed martial arts classes in Birmingham.         At Spartan Fitness MMA, we believe in putting our skills to the test, and the first quarter of this year was no exception. In February, we hosted a Brazilian Jiu-Jitsu seminar led by Coach Roger Coelho, focusing on the intricacies of the half guard position. Additionally, our kickboxing team showcased their prowess at the .... </p>
875                                        <a href='/blog/148787/Spartan-Fitness-MMA-A-Dynamic-Start-to-2024-in-our-Brazilian-Jiu-Jitsu-Mixed-Martial-Arts-and-Kickboxing-Programs' class="button small alignright">Read more</a>
876                                    </header>
877                                </article>
878                            </li>
879                        
880                        
881                            <li>
882                                <article class="the_blog_article">
883                                    <figure class="the_blog_preview">
884                                        <a href="/blog/147576/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude-Celebration-and-Community-Spirit">
885                                                <img class="postImg"   alt="Spartan Fitness MMA: Wrapping Up December with Gratitude, Celebration, and Community Spirit"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-2
88569321.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-269321.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-269321.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-269321.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-269321.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude,-Celebration,-and-Community-Spirit-269321.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
886                                        </a>
887                                    </figure>
888                                    <header class="the_blog_header">
889                                            
890                                                <span class="postdate">18 Dec 2023</span>
891                                            
892                                        <h3 class="title"><a href="/blog/147576/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude-Celebration-and-Community-Spirit">Spartan Fitness MMA: Wrapping Up December with Gratitude, Celebration, and Community Spirit</a></h3>
893                                        <p class="desc">  As we bid farewell to the last month of the year, all of us here at Spartan Fitness MMA are buzzing with gratitude. December was filled with fun events, community involvement, and significant milestones. We&rsquo;d like to take a moment to recap the exciting happenings that made this December a memorable one for our tribe.     Toys for Tots Drive  At the heart of our community is the spirit of giving, and this December, Spartan Fitness MMA proudly became a Toys for Tots drop site. Thanks to the incredible generosity of our tribe members, the response exceeded all expectations, with overflowing donations that will undoubtedly bring joy to countless children during the holiday season. The .... </p>
894                                        <a href='/blog/147576/Spartan-Fitness-MMA-Wrapping-Up-December-with-Gratitude-Celebration-and-Community-Spirit' class="button small alignright">Read more</a>
895                                    </header>
896                                </article>
897                            </li>
898                        
899                        
900                            <li>
901                                <article class="the_blog_article">
902                                    <figure class="the_blog_preview">
903                                        <a href="/blog/146775/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-">
904                                                <img class="postImg"   alt="Exciting Upcoming Events This Fall at Spartan Fitness MMA Birmingham AL!"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,w_300/v1362515922/5845/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-266329.JPG 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
905                                        </a>
906                                    </figure>
907                                    <header class="the_blog_header">
908                                            
909                                                <span class="postdate">16 Oct 2023</span>
910                                            
911                                        <h3 class="title"><a href="/blog/146775/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-">Exciting Upcoming Events This Fall at Spartan Fitness MMA Birmingham AL!</a></h3>
912                                        <p class="desc">  Are you ready for an action-packed fall season? Spartan Fitness MMA has an array of thrilling events lined up that you won&rsquo;t want to miss. From intense martial arts workshops to spooktacular Halloween festivities, here&rsquo;s a rundown of the exciting events happening at Spartan Fitness MMA in the coming weeks:     October 22 nd : No-Gi BJJ Workshop with Coach Roger Coelho (9am-12pm)  Join us for a dynamic no-gi Brazilian Jiu-Jitsu workshop led by Coach Roger Coelho. Whether you&rsquo;re a seasoned grappler or just starting out, this workshop promises to enhance your skills and deepen your understanding of no-gi BJJ. The seminar fee is $30 and you can get registered at the front .... </p>
913                                        <a href='/blog/146775/Exciting-Upcoming-Events-This-Fall-at-Spartan-Fitness-MMA-Birmingham-AL-' class="button small alignright">Read more</a>
914                                    </header>
915                                </article>
916                            </li>
917                        
918
919            </ul>
920
921
922            <nav id="footerPaging" name="footerPaging" class="paginatic paginator">
923
924            </nav>
925        </div>
926
927        <br Class="clear" />
928
929
930        
930<Script type="text/javascript">mixpanel.track("Viewed Blog Index");</Script>
930
931
932        
932<script type="text/javascript">
933
934    var totalCount = 54;
935    var pageSize = 10  ;
936    var pageNo = 1 ;
937    $(document).ready(function () {
938        LoadDefaults();
939        GeneratePaging(totalCount, pageSize, pageNo);
940
941
942        $(".pagingBtn").on("click", function () {
943            $(".pagingBtn").removeClass('active');
944            $(this).addClass('active');
945            var pageNo = $(this).attr("pageNo");
946            $('#pageNo').val(pageNo);
947            redirect(pageNo);
948
949            return false;
950        });
951
952        //$(".ddl").change(function () {
953        //    redirect(1);
954        //    return false;
955        //});
956
957        $("#searchListing").click(function () {
958            redirect(1);
959            return false;
960        });
961
962        //$( "#searchTxt" ).blur(function() {
963        //    var searchTxt = $('#searchTxt').val();
964        //    searchTxt = searchTxt.replace(/[^a-zA-Z0-9-_]/g, '');
965        //    if(searchTxt.length> 0)
966        //    {
967        //        window.location.href = '/blog/search/' + searchTxt    ;
968        //    }
969        //    else
970        //    {
971        //        window.location.href = '/blog' ;
972        //    }
973        //});
974        //$('#searchTxt').live("keypress", function(e) {
975
976        //    var searchTxt = $('#searchTxt').val();
977        //    searchTxt = searchTxt.replace(/[^a-zA-Z0-9-_]/g, '');
978        //    if (e.keyCode == 13) {
979        //        if(searchTxt.length> 0)
980        //    {
981        //        window.location.href = '/blog/search/' + searchTxt    ;
982        //    }
983        //    else
984        //    {
985        //        window.location.href = '/blog' ;
986        //    }
987        //    }
988        //});
989
990    });
991
992
993    function redirect(pageNo) {
994
995        var searchTxt = $('#searchTxt').val();
996        var pageSize = $('#pageSize').val();
997        var sortBy = $('#sortBy').val();
998        // window.location.href = '/blog/page/' + pageNo  + '?search=' + searchTxt + '&orderBy=' + sortBy+ '&pageSize=' + pageSize ;
999
1000        //if(sortBy !=null)
1001        //{
1002        //    window.location.href = '/blog/page/' + pageNo  + '/' +  sortBy ;
1003        //}
1004        //else
1005        //{
1006        window.location.href = '/blog/page/' + pageNo    ;
1007        //}
1008
1009    }
1010
1011
1012
1013    function GeneratePaging(totalCount, pageSize, pageNo) {
1014        if(totalCount == pageSize)
1015        {
1016            return;
1017        }
1018
1019        $('#headerPaging').html('');
1020        $('#footerPaging').html('');
1021        var pagesCount = 0;
1022
1023        if (pageSize < totalCount) {
1024            if (totalCount % pageSize == pageSize) {
1025                pagesCount = totalCount / pageSize;
1026            }
1027            else {
1028                pagesCount = Math.floor(totalCount / pageSize) + 1;
1029            }
1030        }
1031        //console.log('pagesCount:' + pagesCount);
1032
1033        if(pagesCount >1)
1034        {
1035
1036            $('#headerPaging').append('<a href="#" class="btn pagingBtn first_go" pageNo="1">&lt</a>');
1037            $('#footerPaging').append('<a href="#" class="btn pagingBtn first_go" pageNo="1">&lt</a>');
1038
1039            var lastind = 0;
1040
1041            lastind = pagesCount;
1042            var startNo = 1;
1043            var endNumber = pageNo + 3;
1044            if (pageNo > 4)
1045            {
1046                startNo = pageNo -3;
1047
1048            }
1049            if(pagesCount>pageNo+3) {
1050                endNumber=pageNo+3
1051            }
1052            else {
1053                endNumber=pagesCount;
1054            }
1055            for (ind = startNo; ind <= endNumber; ind++) {
1056                if (ind == pageNo) {
1057                    $('#headerPaging').append('<a href="#" class="btn pagingBtn page_go active" pageNo="' + ind + '">' + ind + '</a>');
1058                    $('#footerPaging').append('<a href="#" class="btn pagingBtn page_go active" pageNo="' + ind + '">' + ind + '</a>');
1059                }
1060                else {
1061                    $('#headerPaging').append('<a href="#" class="btn pagingBtn page_go" pageNo="' + ind + '">' + ind + '</a>');
1062                    $('#footerPaging').append('<a href="#" class="btn pagingBtn page_go" pageNo="' + ind + '">' + ind + '</a>');
1063                }
1064            }
1065
1066            $('#headerPaging').append('<a href="#" class="btn pagingBtn last_go" pageNo="' + lastind + '">&gt</a>');
1067            $('#footerPaging').append('<a href="#" class="btn pagingBtn last_go" pageNo="' + lastind + '">&gt</a>');
1068        }
1069    }
1070
1071
1072    function LoadDefaults() {
1073
1074
1075            
1076            var searchTxt = '';
1077            var orderBy = 'rank_asc_then_date_desc';
1078            var pageNo = '1';
1079
1080            $('#searchTxt').val(searchTxt);
1081            $('#sortBy').val(orderBy);
1082            $('#pageNo').val(pageNo);
1083         
1084    }
1085
1086        </script>
1086
1087    
1088
1089    
1090
1091
1092                        <br class="clear">
1093                    </div>
1094
1095                    <div class="col one-third sideBar anim anim-moveup-2">
1096                            <h4 class="iconicTitle">Request Information</h4>
1097
1098                        <div class="requestSideBar">
1099                            
1100
1101
1102
1103<aside class="sidedevcode81_leadform">
1104
1105    
1106
1107<form action="/Home/SendLead" id="formside" method="post">        
1108            <input name="__RequestVerificationToken" type="hidden" value="XDShTFU2pB4k_zOIElb0PMlis0NA0BR_mOcfxbKr3KMAkvaTHUnYATWLOx4k574G-CFCvSTJrM1Tf34Z7jtld8hw5bUZMrhHt6SG50lm_tE1" />
1109            <input id="returnUrl" name="returnUrl" type="hidden" value="/blog" />
1110            <input data-val="true" data-val-required="The EnableGDPR field is required." id="EnableGDPR" name="EnableGDPR" type="hidden" value="False" />
1111            <input data-val="true" data-val-required="The EnableGDPREmail field is required." id="EnableGDPREmail" name="EnableGDPREmail" type="hidden" value="False" />
1112            <input data-val="true" data-val-required="The EnableGDPRPhone field is required." id="EnableGDPRPhone" name="EnableGDPRPhone" type="hidden" value="False" />
1113            <input data-val="true" data-val-required="The ComplianceToggle field is required." id="ComplianceToggle" name="ComplianceToggle" type="hidden" value="False" />
1114            <input id="RedirectToUrl" name="RedirectToUrl" type="hidden" value="" />
1115            <input data-val="true" data-val-required="The IsReportForm field is required." id="IsReportForm" name="IsReportForm" type="hidden" value="False" />
1116            <input data-val="true" data-val-number="The field Source must be a number." data-val-required="The Source field is required." id="Source" name="Source" type="hidden" value="20" />
1117            <input data-val="true" data-val-number="The field LandingPageId must be a number." data-val-required="The LandingPageId field is required." id="LandingPageId" name="LandingPageId" type="hidden" value="0" />
1118            <input id="MixpanelDistinctId" name="MixpanelDistinctId" type="hidden" value="" />
1119            <input data-val="true" data-val-number="The field SourcePageId must be a number." id="SourcePageId" name="SourcePageId" type="hidden" value="" />
1120            <input id="GoogleCaptchaToken" name="GoogleCaptchaToken" type="hidden" value="" />
1121            <input data-val="true" data-val-required="The EnableSingleConsentOptIn field is required." id="EnableSingleConsentOptIn" name="EnableSingleConsentOptIn" type="hidden" value="True" />
1122            <input id="UtmSource" name="UtmSource" type="hidden" value="" />
1123            <input id="UtmCampaign" name="UtmCampaign" type="hidden" value="" />
1124            <input id="UtmContent" name="UtmContent" type="hidden" value="" />
1125            <input id="UtmMedium" name="UtmMedium" type="hidden" value="" />
1126            <input id="UtmTerm" name="UtmTerm" type="hidden" value="" />
1127
1128            <div class="dc81_full" id="diverrorMsgside">
1129            </div>
1130            <div class="dc81_full">
1131                <div class="dc81_halfleft">
1132                    <input class="dc81_field dc81_iconProfile" data-val="true" data-val-length="Max length 20 characters" data-val-length-max="20" data-val-regex="First name contains invalid characters" data-val-regex-pattern="^[^%$()&lt;>&amp;@;*]+$" data-val-required="First Name Required" id="FName" maxlength="20" name="FName" pattern="^[^%$\(\)&lt;>&amp;@;*]+$" placeholder="First" required="required" title="First" type="text" value="" />
1133                    <span class="field-validation-valid" data-valmsg-for="FName" data-valmsg-replace="true"></span>
1134                </div>
1135
1136                <div class="dc81_halfright">
1137                    <input class="dc81_field dc81_iconProfile" data-val="true" data-val-length="Max length 20 characters" data-val-length-max="20" data-val-regex="Last name contains invalid characters" data-val-regex-pattern="^[^%$()&lt;>&amp;@;*]+$" data-val-required="Last Name Required" id="LName" maxlength="20" name="LName" pattern="^[^%$\(\)&lt;>&amp;@;*]+$" placeholder="Last" required="required" title="Last" type="text" value="" />
1138                    <span class="field-validation-valid" data-valmsg-for="LName" data-valmsg-replace="true"></span>
1139                </div>
1140                <br class="clear" />
1141            </div>
1142
1143<input data-val="true" data-val-required="The EmailOptIn field is required." id="EmailOptIn" name="EmailOptIn" type="hidden" value="True" />
1144
1145<input data-val="true" data-val-required="The PhoneOptIn field is required." id="PhoneOptIn" name="PhoneOptIn" type="hidden" value="True" />
1146                
1147                    <div id="emailRowside" class="dc81_full">
1148                        <input class="dc81_field" data-val="true" data-val-length="Max length 50 characters" data-val-length-max="50" data-val-regex="Invalid" data-val-regex-pattern="^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w{2,4}$" id="Email" maxlength="40" name="Email" placeholder="Email" title="Required" type="text" value="" />
1149                        <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>
1150                        <div id="divemailRowside"></div>
1151                    </div>
1152                
1153
1154                
1155                    <div id="phoneRowside" class="dc81_full">
1156                        <input class="dc81_field" data-val="true" data-val-regex="Invalid" data-val-regex-pattern="^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{2,5})$" id="Phone" name="Phone" placeholder="Phone" title="Required" type="tel" value="" />
1157                        <span class="field-validation-valid" data-valmsg-for="Phone" data-valmsg-replace="true"></span>
1158                        <div id="divphoneRowside"></div>
1159                    </div>
1160                
1161
1162
1163                
1164                    <input data-val="true" data-val-number="The field GenderId must be a number." id="GenderId" name="GenderId" type="hidden" value="" />
1165                
1166
1167                
1168                    <input data-val="true" data-val-number="The field Int32 must be a number." data-val-required="The Int32 field is required." id="LocationId" name="LocationId" type="hidden" value="3814" />
1169                
1170
1171                
1172                    <input id="ProgramId" name="ProgramId" type="hidden" value="" />
1173                
1174
1175
1176
1177
1178            <input data-val="true" data-val-length="Max length 255 characters" data-val-length-max="255" data-val-regex="Invalid characters" data-val-regex-pattern="^[^%$()&lt;>*]+$" id="Comment" name="Comment" type="hidden" value="" />
1179
1180
1181
1182
1183                
1184                    <div class="dc81_full">
1185                        <label for="" class="dc81_choice">
1186<input class="dc81_checkbox dc81_checkbox_notes" data-val="true" data-val-required="The SingleConsentOptInAccepted field is required." id="SingleConsentOptInAccepted" name="SingleConsentOptInAccepted" type="checkbox" value="true" /><input name="SingleConsentOptInAccepted" type="hidden" value="false" />
1187                                
1188                                    &nbsp;<small class="tinyText">By submitting your information you consent to receive marketing/promotional sms & email messages from Spartan Fitness. Reply HELP for more assistance. Reply STOP to opt-out of messaging. Messages & Data rates may apply. Message frequency will vary. You must be 18 years of age or older.</small>
1189                                
1190                        </label>
1191                    </div>
1192                
1193
1194
1195            
1196
1197            <div class="dc81_full">
1198                <input class="dc81_button" value="Request More Information" type="submit" />
1199            </div>
1200
1201        
1202</form></aside>
1203
1204<style type="text/css">
1205     .sidedevcode81_leadform .field-validation-error{  color: #FF0000 !important; text-align: center; display: block;   }
1206     
1207     .sidedevcode81_leadform *{ box-sizing: border-box; }
1208    .sidedevcode81_leadform  .formHeader{font-size: 28px; font-weight: bold; color: #fff; margin: 0 auto; max-width: 450px; text-align: center; width: 100%; text-transform: uppercase;}
1209    .sidedevcode81_leadform  .formSubHeader{font-size: 20px; font-weight: bold; color: #fff; margin: 0 auto; max-width: 450px; text-align: center; width: 100%; text-transform: uppercase;}
1210        
1211            .sidedevcode81_leadform {background-color: #000;}
1212        
1213    .sidedevcode81_leadform { margin: 0 auto; max-width: 450px; text-align: center; width: 100%; padding: 20px;  }
1214    .sidedevcode81_leadform label{ color: #fff; font-weight: bold; font-size: 12px; text-transform: uppercase; text-align: left; display: block; }
1215    .sidedevcode81_leadform .dc81_choice{ color: #fff !important; text-transform: none !important;  }
1216    .sidedevcode81_leadform small{ display: block; line-height: 17px; }
1217    .sidedevcode81_leadform small a{ border-bottom: 1px solid blue; color: #fff ; }
1218    .sidedevcode81_leadform small a:hover{ border-bottom: 1px solid red; }
1219    .sidedevcode81_leadform .dc81_title{ font-size: 15px; font-weight: bold; color: #fff; margin-bottom: 0; text-transform: uppercase; }
1220    .sidedevcode81_leadform .dc81_req{ color: red; }
1221    .sidedevcode81_leadform .dc81_halfleft, .dc81_halfright{ display: block; float: left; margin-bottom:10px; width: 50%; }
1222    .sidedevcode81_leadform .dc81_halfleft{ padding-right: 10px; }
1223    .sidedevcode81_leadform .dc81_halfright{ padding-left: 10px; }
1224    .sidedevcode81_leadform .dc81_full{ margin-bottom:10px; }
1225    .sidedevcode81_leadform .dc81_checkbox{ float: left; vertical-align: middle; width: 24px; height: 24px; }
1226    .sidedevcode81_leadform .dc81_field, .dc81_textarea, .dc81_select{ background: var(--leadformInputBg, rgba(255,255,255,0.2)); color: var(--leadformColor, #fff); border: none; border-radius: var(--buttonRadius, 0px); font-size: 16px; height: 44px; padding: 0 15px; width: 100%; -webkit-appearance: none; }
1227    .sidedevcode81_leadform .dc81_selectBox{ position: relative; } .dc81_select{ font-size: 14px; }
1228    .sidedevcode81_leadform .dc81_selectBox:after{ content: ''; width: 10px; height: 2px; background-color: #fff; transform: rotate(45deg); position: absolute; top: 20px; right: 16px; }
1229    .sidedevcode81_leadform .dc81_selectBox:before{ content: ''; width: 10px; height: 2px; background-color: #fff; transform: rotate(-45deg); position: absolute; top: 20px; right: 10px; }
1230    .sidedevcode81_leadform .dc81_textarea{ height: 120px; }
1231    .sidedevcode81_leadform .dc81_button { background: var(--buttonBg, #dc0000); border: 1px solid var(--buttonBg, #dc0000); color: var(--buttonColor, #fff); cursor: pointer; display: inline-block; font-weight: bold; width: 100%; max-width: 300px; padding: 10px; font-size: 15px; margin: 0 auto; display: block; border-radius: var(--buttonRadius, 0px); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
1232    .sidedevcode81_leadform .dc81_button:hover{ background: var(--buttonColor, #fff); border: 1px solid var(--buttonBg, #dc0000); color: var(--buttonBg, #dc0000); }
1233    .sidedevcode81_leadform .dc81_iconProfile{ background-image: url(https://97displaylive.blob.core.windows.net/aqua/global/type_name.png); background-position: right center; background-repeat: no-repeat; }
1234    .sidedevcode81_leadform .dc81_helptxt{ color: #fff;  text-align: left; display: block; }
1235</style>
1236
1237<script type="text/javascript">
1238    $('#formside').submit(function (e) {
1239
1240        //SPINNER FOR AFTER CLICKING THE SUBMIT LEAD BUTTON
1241        //get field data on form
1242        var fName = $('#formside input[name=FName]').val();
1243        var lName = $('#formside input[name=LName]').val();
1244        var email = $('#formside input[name=Email]').val();
1245        var phone = $('#formside input[name=Phone]').val();
1246
1247
1248        //END SPINNER
1249
1250
1251        $('#divgdprERowside').html('');
1252        $('#divgdprPRowside').html('');
1253        $('#divphoneRowside').html('');
1254        $('#divemailRowside').html('');
1255        $('#divgComplianceToggleside').html('');
1256        $('#diverrorMsgside').html('');
1257        $('#formside input[name^="ConsentCheckboxes"][type="checkbox"]').each(function () {
1258            $('#divchk_side_' + $(this).attr('data-checkbox-id')).html('');
1259        });
1260
1261
1262        var isFormValid = true;
1263        var isGdpr = $('#formside #EnableGDPR').val();
1264
1265        var isGdprEmail = $('#formside #EnableGDPREmail').val();
1266        var isGdprPhone = $('#formside #EnableGDPRPhone').val();
1267
1268
1269        var isComplianceToggle = $('#formside #ComplianceToggle').val();
1270        var email = $('#formside input[name=Email]').val();
1271        var phone = $('#formside input[name=Phone]').val();
1272        var acceptComplianceToggle = $('#formside input[name=AcceptComplianceToggle]').is(":checked");
1273
1274        var phoneOptIn = $('#formside input[name=PhoneOptIn]').is(":checked");
1275        var emailOptin = $('#formside input[name=EmailOptIn]').is(":checked");
1276
1277
1278
1279        if (isGdprEmail == 'True') {
1280
1281            if (emailOptin && !email.trim()) {
1282                isFormValid = false;
1283            }
1284        }
1285        else {
1286            if (!email.trim()) {
1287                isFormValid = false;
1288            }
1289        }
1290
1291
1292        if (isGdprPhone == 'True') {
1293
1294            if (phoneOptIn && !phone.trim()) {
1295                isFormValid = false;
1296            }
1297        }
1298        else {
1299            if (!phone.trim()) {
1300                isFormValid = false;
1301            }
1302        }
1303        if (isGdprEmail == 'True' && isGdprPhone == 'True') {
1304            if (!phone.trim() && !email.trim()) {
1305                isFormValid = false;
1306                $('#diverrorMsgside').html("<span class='field-error'>Cannot submit without Email and/or Phone</span> <br class='clear' />");
1307            }
1308
1309        }
1310
1311        if (isComplianceToggle == "True") {
1312            var complianceToggleRequiredMsg = 'Must accept terms to submit';
1313
1314            if (acceptComplianceToggle == false) {
1315
1316                $('#divgComplianceToggleside').append("<span class='field-error'>" + complianceToggleRequiredMsg + "</span><br/>");
1317                isFormValid = false;
1318            }
1319        }
1320
1321        // --- Custom Consent Checkboxes Validation ---
1322        $('#formside input[name^="ConsentCheckboxes"][type="checkbox"]').each(function () {
1323            var $checkbox = $(this);
1324            var isRequired = $checkbox.attr('data-required') === 'true';
1325            var isChecked = $checkbox.is(':checked');
1326            var checkboxId = $checkbox.attr('data-checkbox-id');
1327
1328            if (isRequired && !isChecked) {
1329                isFormValid = false;
1330                $('#divchk_side_' + checkboxId).append("<span class='field-error'>This field is required.</span>");
1331            }
1332        });
1333        // ---------------------------------------------
1334
1335        if (isFormValid == false) {
1336            $('#diverrorMsgside').fadeIn('slow');
1337            e.preventDefault();
1338            e.stopImmediatePropagation();
1339            return false;
1340        }
1341
1342        //hide just the Submit Lead button to prevent multi clicking
1343        $('.dc81_button').hide();
1344
1345        //show spinner html in _SendLeadPopUp.vbhtml. see global.css for animation
1346        $("#loading").fadeIn();
1347
1348        return true;
1349
1350    });
1351
1352
1353
1354
1355    //$.validator.unobtrusive.adapters.addBool("mustbetrue", "required");
1356    $(document).ready(function () {
1357        
1358           //var googleCaptchaToken = document.querySelector('#GoogleCaptchaToken');
1359            grecaptcha.ready(function () {
1360                grecaptcha.execute('6Lcj_t0UAAAAABRyv9Kmb6iLVQTYEeVLwJBhJ0ta', { action: 'sendlead' }).then(function (token) {
1361                    $('#formside #GoogleCaptchaToken').val(token);
1362                });
1363            });
1364        
1365
1366
1367        var isGdprEmail = $('#formside #EnableGDPREmail').val();
1368        var isGdprPhone = $('#formside #EnableGDPRPhone').val();
1369
1370        if (isGdprEmail == 'False') {
1371            $("#formside input[name=Email]").prop('required', true).attr('data-val-required', 'Required');
1372        }
1373        else if (isGdprEmail == 'True') {
1374
1375           var emailOptin = $('#formside input[name=EmailOptIn]').is(":checked") ;
1376            if (emailOptin)
1377                $('#emailRowside').fadeIn('slow');
1378            else
1379                $('#emailRowside').fadeOut('slow');
1380        }
1381        if (isGdprPhone == 'False') {
1382            $("#formside input[name=Phone]").prop('required', true).attr('data-val-required', 'Required');
1383        }
1384        else if (isGdprPhone == 'True') {
1385            var phoneOptIn = $('#formside input[name=PhoneOptIn]').is(":checked");
1386            if (phoneOptIn)
1387                $('#phoneRowside').fadeIn('slow');
1388            else
1389                $('#phoneRowside').fadeOut('slow');
1390        }
1391
1392
1393
1394        $("#formside input[name=Email]").change(function() {
1395
1396                $('#divemailRowside').html('');
1397         });
1398         $("#formside input[name=Phone]").change(function() {
1399
1400                $('#divphoneRowside').html('');
1401         });
1402
1403
1404
1405
1406        $('#diverrorMsgside').fadeOut('slow');
1407
1408
1409        $("#formside input[name=EmailOptIn]").change(function () {
1410            //console.log('#formside input[name=EmailOptIn]');
1411            if (this.checked) {
1412                $('#emailRowside').fadeIn('slow');
1413                $('#divgdprERowside').html('');
1414                $("#formside input[name=Email]").prop('required', true);
1415            }
1416            else {
1417                $('#emailRowside').fadeOut('slow');
1418                $("#formside input[name=Email]").prop('required', false);
1419                $("#formside input[name=Email]").val('');
1420            }
1421        });
1422
1423        $("#formside input[name=PhoneOptIn]").change(function () {
1424
1425            //console.log('#formside input[name=PhoneOptIn]');
1426            if (this.checked) {
1427                $('#phoneRowside').fadeIn('slow');
1428                $('#divgdprPRowside').html('');
1429                $("#formside input[name=Phone]").prop('required', true);
1430            }
1431            else {
1432                $('#phoneRowside').fadeOut('slow');
1433                $("#formside input[name=Phone]").prop('required', false);
1434                $("#formside input[name=Phone]").val('');
1435            }
1436        });
1437
1438
1439    });
1440</script>
1440
1441                        </div>
1442
1443                            
1444                                            
1445                                                
1446
1447                                                <div class="sideProgram">
1448                                                    <a href="/classes/Brazilian-Jiu-Jitsu">
1449                                                        <h4>Brazilian Jiu Jitsu</h4>
1450                                                            
1451                                                                <img   alt="Brazilian Jiu Jitsu near Homewood"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/adult-bjj-excerpt-201728.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1452                                                            
1453                                                    </a>
1454                                                </div>
1455                                            
1456                                            
1457                                                
1458
1459                                                <div class="sideProgram">
1460                                                    <a href="/classes/Muay-Thai-Kickboxing-">
1461                                                        <h4>Muay Thai Kickboxing </h4>
1462                                                            
1463                                                                <img   alt="Muay Thai Kickboxing near Homewood"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/Muay-Thai-Except-201729.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1464                                                            
1465                                                    </a>
1466                                                </div>
1467                                            
1468                                            
1469                                                
1470
1471                                                <div class="sideProgram">
1472                                                    <a href="/classes/Kids-Martial-Arts-">
1473                                                        <h4>Kids Martial Arts </h4>
1474                                                            
1475                                                                <img   alt="Kids Martial Arts near Homewood"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/Kids-Excerpt-201727.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1476                                                            
1477                                                    </a>
1478                                                </div>
1479                                            
1480                                            
1481                                                
1482
1483                                                <div class="sideProgram">
1484                                                    <a href="/classe
1484s/Mixed-Martial-Arts-">
1485                                                        <h4>Mixed Martial Arts </h4>
1486                                                            
1487                                                                <img   alt="Mixed Martial Arts near Homewood"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/MMA-Excerpt-203291.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1488                                                            
1489                                                    </a>
1490                                                </div>
1491                                            
1492                                            
1493                                                
1494
1495                                                <div class="sideProgram">
1496                                                    <a href="/classes/Strength-And-Conditioning-">
1497                                                        <h4>Spartan Conditioning</h4>
1498                                                            
1499                                                                <img   alt="Strength and Conditioning in Birmingham"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/Conditioning-Excerpt-203611.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1500                                                            
1501                                                    </a>
1502                                                </div>
1503                                            
1504                                            
1505                                                
1506
1507                                                <div class="sideProgram">
1508                                                    <a href="/classes/Fitness-Kickboxing">
1509                                                        <h4>Fitness Kickboxing</h4>
1510                                                            
1511                                                                <img   alt="fitness kickboxing in Birmingham"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/c_scale,h_296,w_370/v1362515922/5845/94377.jpg" srcset="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_400/c_scale,h_296,w_370/v1362515922/5845/94377.jpg 400w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_800/c_scale,h_296,w_370/v1362515922/5845/94377.jpg 800w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1200/c_scale,h_296,w_370/v1362515922/5845/94377.jpg 1200w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_1600/c_scale,h_296,w_370/v1362515922/5845/94377.jpg 1600w, https://res.cloudinary.com/display97/image/upload/f_auto,q_auto,w_2000/c_scale,h_296,w_370/v1362515922/5845/94377.jpg 2000w" sizes="(max-width: 400px) 400px, (max-width: 800px) 800px, (max-width: 1200px) 1200px, 2000px" loading="lazy">
1512                                                            
1513                                                    </a>
1514                                                </div>
1515                                            
1516                            
1517                        <!-- /Side Program -->
1518                    </div>
1519                    <br class="clear"   />
1520                </div>
1521            </section>
1522        
1523
1524    
1525
1526<!-- footer -->
1527<footer class="footer section">
1528    <div class="content">
1529
1530        <!-- -->
1531        <div class="col one-third center">
1532
1533            <a href="/"><img  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/5845/93563.png" loading="lazy"></a>
1534        </div>
1535
1536
1537        <!-- / -->
1538        <!-- -->
1539        <div class="col one-third">
1540
1541            <h4 class="iconicTitle">Spartan Fitness</h4>
1542            <p>At Spartan Fitness, your success is our priority. Whether you&#39;re hoping to get in shape while having fun, relieve stress, learn realistic and practical self-defense, or get involved in competition, we can help you reach your goals! We offer a wide range of classes designed to keep you safe and build total-body strength in no time. Learn more or GET STARTED TODAY by simply filling out the short form on your screen. </p>
1543        </div>
1544        <!-- / -->
1545        <!-- -->
1546        <div class="col one-third" itemscope itemtype="http://schema.org/LocalBusiness">
1547            <meta itemprop="name" content="Spartan Fitness">
1548            <meta itemprop="image" content="https://res.cloudinary.com/display97/image/upload/q_auto:eco,f_auto/5845/93563.png">
1549
1550            <h4 class="iconicTitle">Contact us</h4>
1551
1552                
1553                        
1554                            <p itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
1555                                <span itemprop="streetAddress">179 State Farm Parkway</span>,
1556                                <span itemprop="addressLocality" class="city">Homewood</span>,
1557                                <span itemprop="addressRegion" class="state">Alabama</span> <span itemprop="postalCode" class="postalcode">35209</span>
1558                                <br /> <a href="tel:205-824-8361"> <span itemprop="telephone">205-824-8361</span></a>
1559                                <br /> <a href="mailto:[email protected]"><span itemprop="Email">[email protected]</span></a>
1560                            </p>
1561                        
1562                
1563
1564        </div>
1565        <!-- / -->
1566        <br class="clear" />
1567        <p class="copyright">
1568            Copyright &copy; 2026 
1569
1570 / <a href="/privacy-policy">Privacy Policy</a>
1571
1572        </p>
1573    </div>
1574
1575</footer>
1576<!-- /footer -->
1577
1578
1579
1580
1581
1582
1583
1584
1585<!-- Mary Popin -->
1586<section class="maryPopin ">
1587    <div class="maryPopin_inner">
1588        <div class="maryPopin_content">
1589
1590                
1591                        
1592
1593                            <div class="popup_testimonials">
1594                                    
1595                                        <div class="popup_testimonials-item">
1596                                            <figure class="popup_testimonials-avatar">
1597                                                    
1598                                                        <img class="reviewImage"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/5845/TestimonialImage-115076.jpg" loading="lazy">
1599                                                    
1600                                            </figure>
1601                                            <header class="popup_testimonials-header">
1602                                                <h4>Lauren Bradshaw</h4>
1603                                                <div class="popup_testimonials-stars"></div>
1604                                            </header>
1605                                            <div class="popup_testimonials-text"><p>I have struggled with weight for years and to finally lose 100 lbs. feels awesome and I couldn&rsquo;t have done it without the support of Spartan Fitness. I am so thankful and I truly appreciate the support I feel every day I step into your gym.</p></div>
1606                                        </div>
1607                                    
1608                                    
1609                                        <div class="popup_testimonials-item">
1610                                            <figure class="popup_testimonials-avatar">
1611                                                    
1612                                                        <img class="reviewImage"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/5845/93575.png" loading="lazy">
1613                                                    
1614                                            </figure>
1615                                            <header class="popup_testimonials-header">
1616                                                <h4>Ryan Fredrick</h4>
1617                                                <div class="popup_testimonials-stars"></div>
1618                                            </header>
1619                                            <div class="popup_testimonials-text"><p>Great place to go whether you're interested in competition or just getting in great shape. Good atmosphere for training and meeting new people and great coaching as well. Regardless of your level of talent or fitness, you will be encouraged to improve and results are guaranteed as long as you dedicate the time and stay consistent.</p></div>
1620                                        </div>
1621                                    
1622                                    
1623                                        <div class="popup_testimonials-item">
1624                                            <figure class="popup_testimonials-avatar">
1625                                                    
1626                                                        <img class="reviewImage"  src="https://res.cloudinary.com/display97/image/upload/f_auto,q_auto/5845/93564.png" loading="lazy">
1627                                                    
1628                                            </figure>
1629                                            <header class="popup_testimonials-header">
1630                                                <h4>Kayla Shaffer</h4>
1631                                                <div class="popup_testimonials-stars"></div>
1632                                            </header>
1633                                            <div class="popup_testimonials-text"><p>
1633Spartan Fitness has been home to my family for over 6 years. They are phenomenal people that truly care about their clients. All of the coaches are very knowledgeable in everything they teach. I love to take the strength and conditioning classes. Coach Omar takes the time to explain each exercise so you know exactly what you are working and how to do it properly. The one thing I like the most is that every class is different and you work our your full body! You'll always feel great about the workout and Coach Omar is super fun to take class with! The atmosphere is always great and we have an awesome time!</p></div>
1634                                        </div>
1635                                    
1636
1637                            </div>
1638
1639                        
1640                
1641
1642                
1643                    
1643<script>
1644                        $('html').on('mouseleave', function () {
1645                            var tstCookie = readCookie("showLeadForm");
1646                            if (tstCookie == null || tstCookie == false) {
1647                                $('.maryPopin').addClass('active');
1648                                $('.maryPopin_lead').addClass('active');
1649                                createCookie("showLeadForm", true, 24);
1650                            } else {
1651                                createCookie("showLeadForm", true, 24);
1652                            }
1653                        });
1654                    </script>
1654
1655                
1656
1657                
1658
1659                    <div class="maryPopin_lead">
1660                            
1661                                <h3>Request Information Now!</h3>
1662                            
1663
1664                        
1665
1666
1667
1668<aside class="popupdevcode81_leadform">
1669
1670    
1671
1672<form action="/Home/SendLead" id="formpopup" method="post">        
1673            <input name="__RequestVerificationToken" type="hidden" value="yePeyhuXQ98CTvUfs_4qzzCoJEdxJtxOhGvubPSKqJ1_EcBvAr6NRysXY4rz83ZfzV7tWiBa0BYshvKYkjU86z0cnoj-_6t5Vy5MELZF9Cs1" />
1674            <input id="returnUrl" name="returnUrl" type="hidden" value="/blog" />
1675            <input data-val="true" data-val-required="The EnableGDPR field is required." id="EnableGDPR" name="EnableGDPR" type="hidden" value="False" />
1676            <input data-val="true" data-val-required="The EnableGDPREmail field is required." id="EnableGDPREmail" name="EnableGDPREmail" type="hidden" value="False" />
1677            <input data-val="true" data-val-required="The EnableGDPRPhone field is required." id="EnableGDPRPhone" name="EnableGDPRPhone" type="hidden" value="False" />
1678            <input data-val="true" data-val-required="The ComplianceToggle field is required." id="ComplianceToggle" name="ComplianceToggle" type="hidden" value="False" />
1679            <input id="RedirectToUrl" name="RedirectToUrl" type="hidden" value="" />
1680            <input data-val="true" data-val-required="The IsReportForm field is required." id="IsReportForm" name="IsReportForm" type="hidden" value="False" />
1681            <input data-val="true" data-val-number="The field Source must be a number." data-val-required="The Source field is required." id="Source" name="Source" type="hidden" value="20" />
1682            <input data-val="true" data-val-number="The field LandingPageId must be a number." data-val-required="The LandingPageId field is required." id="LandingPageId" name="LandingPageId" type="hidden" value="0" />
1683            <input id="MixpanelDistinctId" name="MixpanelDistinctId" type="hidden" value="" />
1684            <input data-val="true" data-val-number="The field SourcePageId must be a number." id="SourcePageId" name="SourcePageId" type="hidden" value="" />
1685            <input id="GoogleCaptchaToken" name="GoogleCaptchaToken" type="hidden" value="" />
1686            <input data-val="true" data-val-required="The EnableSingleConsentOptIn field is required." id="EnableSingleConsentOptIn" name="EnableSingleConsentOptIn" type="hidden" value="True" />
1687            <input id="UtmSource" name="UtmSource" type="hidden" value="" />
1688            <input id="UtmCampaign" name="UtmCampaign" type="hidden" value="" />
1689            <input id="UtmContent" name="UtmContent" type="hidden" value="" />
1690            <input id="UtmMedium" name="UtmMedium" type="hidden" value="" />
1691            <input id="UtmTerm" name="UtmTerm" type="hidden" value="" />
1692
1693            <div class="dc81_full" id="diverrorMsgpopup">
1694            </div>
1695            <div class="dc81_full">
1696                <div class="dc81_halfleft">
1697                    <input class="dc81_field dc81_iconProfile" data-val="true" data-val-length="Max length 20 characters" data-val-length-max="20" data-val-regex="First name contains invalid characters" data-val-regex-pattern="^[^%$()&lt;>&amp;@;*]+$" data-val-required="First Name Required" id="FName" maxlength="20" name="FName" pattern="^[^%$\(\)&lt;>&amp;@;*]+$" placeholder="First" required="required" title="First" type="text" value="" />
1698                    <span class="field-validation-valid" data-valmsg-for="FName" data-valmsg-replace="true"></span>
1699                </div>
1700
1701                <div class="dc81_halfright">
1702                    <input class="dc81_field dc81_iconProfile" data-val="true" data-val-length="Max length 20 characters" data-val-length-max="20" data-val-regex="Last name contains invalid characters" data-val-regex-pattern="^[^%$()&lt;>&amp;@;*]+$" data-val-required="Last Name Required" id="LName" maxlength="20" name="LName" pattern="^[^%$\(\)&lt;>&amp;@;*]+$" placeholder="Last" required="required" title="Last" type="text" value="" />
1703                    <span class="field-validation-valid" data-valmsg-for="LName" data-valmsg-replace="true"></span>
1704                </div>
1705                <br class="clear" />
1706            </div>
1707
1708<input data-val="true" data-val-required="The EmailOptIn field is required." id="EmailOptIn" name="EmailOptIn" type="hidden" value="True" />
1709
1710<input data-val="true" data-val-required="The PhoneOptIn field is required." id="PhoneOptIn" name="PhoneOptIn" type="hidden" value="True" />
1711                
1712                    <div id="emailRowpopup" class="dc81_full">
1713                        <input class="dc81_field" data-val="true" data-val-length="Max length 50 characters" data-val-length-max="50" data-val-regex="Invalid" data-val-regex-pattern="^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w{2,4}$" id="Email" maxlength="40" name="Email" placeholder="Email" title="Required" type="text" value="" />
1714                        <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>
1715                        <div id="divemailRowpopup"></div>
1716                    </div>
1717                
1718
1719                
1720                    <div id="phoneRowpopup" class="dc81_full">
1721                        <input class="dc81_field" data-val="true" data-val-regex="Invalid" data-val-regex-pattern="^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{2,5})$" id="Phone" name="Phone" placeholder="Phone" title="Required" type="tel" value="" />
1722                        <span class="field-validation-valid" data-valmsg-for="Phone" data-valmsg-replace="true"></span>
1723                        <div id="divphoneRowpopup"></div>
1724                    </div>
1725                
1726
1727
1728                
1729                    <input data-val="true" data-val-number="The field GenderId must be a number." id="GenderId" name="GenderId" type="hidden" value="" />
1730                
1731
1732                
1733                    <input data-val="true" data-val-number="The field Int32 must be a number." data-val-required="The Int32 field is required." id="LocationId" name="LocationId" type="hidden" value="3814" />
1734                
1735
1736                
1737                    <input id="ProgramId" name="ProgramId" type="hidden" value="" />
1738                
1739
1740
1741
1742
1743            <input data-val="true" data-val-length="Max length 255 characters" data-val-length-max="255" data-val-regex="Invalid characters" data-val-regex-pattern="^[^%$()&lt;>*]+$" id="Comment" name="Comment" type="hidden" value="" />
1744
1745
1746
1747
1748                
1749                    <div class="dc81_full">
1750                        <label for="" class="dc81_choice">
1751<input class="dc81_checkbox dc81_checkbox_notes" data-val="true" data-val-required="The SingleConsentOptInAccepted field is required." id="SingleConsentOptInAccepted" name="SingleConsentOptInAccepted" type="checkbox" value="true" /><input name="SingleConsentOptInAccepted" type="hidden" value="false" />
1752                                
1753                                    &nbsp;<small class="tinyText">By submitting your information you consent to receive marketing/promotional sms & email messages from Spartan Fitness. Reply HELP for more assistance. Reply STOP to opt-out of messaging. Messages & Data rates may apply. Message frequency will vary. You must be 18 years of age or older.</small>
1754                                
1755                        </label>
1756                    </div>
1757                
1758
1759
1760            
1761
1762            <div class="dc81_full">
1763                <input class="dc81_button" value="Request More Information" type="submit" />
1764            </div>
1765
1766        
1767</form></aside>
1768
1769<style type="text/css">
1770     .popupdevcode81_leadform .field-validation-error{  color: #FF0000 !important; text-align: center; display: block;   }
1771     
1772     .popupdevcode81_leadform *{ box-sizing: border-box; }
1773    .popupdevcode81_leadform  .formHeader{font-size: 28px; font-weight: bold; color: #fff; margin: 0 auto; max-width: 450px; text-align: center; width: 100%; text-transform: uppercase;}
1774    .popupdevcode81_leadform  .formSubHeader{font-size: 20px; font-weight: bold; color: #fff; margin: 0 auto; max-width: 450px; text-align: center; width: 100%; text-transform: uppercase;}
1775        
1776            .popupdevcode81_leadform {background-color: #000;}
1777        
1778    .popupdevcode81_leadform { margin: 0 auto; max-width: 450px; text-align: center; width: 100%; padding: 20px;  }
1779    .popupdevcode81_leadform label{ color: #fff; font-weight: bold; font-size: 12px; text-transform: uppercase; text-align: left; display: block; }
1780    .popupdevcode81_leadform .dc81_choice{ color: #fff !important; text-transform: none !important;  }
1781    .popupdevcode81_leadform small{ display: block; line-height: 17px; }
1782    .popupdevcode81_leadform small a{ border-bottom: 1px solid blue; color: #fff ; }
1783    .popupdevcode81_leadform small a:hover{ border-bottom: 1px solid red; }
1784    .popupdevcode81_leadform .dc81_title{ font-size: 15px; font-weight: bold; color: #fff; margin-bottom: 0; text-transform: uppercase; }
1785    .popupdevcode81_leadform .dc81_req{ color: red; }
1786    .popupdevcode81_leadform .dc81_halfleft, .dc81_halfright{ display: block; float: left; margin-bottom:10px; width: 50%; }
1787    .popupdevcode81_leadform .dc81_halfleft{ padding-right: 10px; }
1788    .popupdevcode81_leadform .dc81_halfright{ padding-left: 10px; }
1789    .popupdevcode81_leadform .dc81_full{ margin-bottom:10px; }
1790    .popupdevcode81_leadform .dc81_checkbox{ float: left; vertical-align: middle; width: 24px; height: 24px; }
1791    .popupdevcode81_leadform .dc81_field, .dc81_textarea, .dc81_select{ background: var(--leadformInputBg, rgba(255,255,255,0.2)); color: var(--leadformColor, #fff); border: none; border-radius: var(--buttonRadius, 0px); font-size: 16px; height: 44px; padding: 0 15px; width: 100%; -webkit-appearance: none; }
1792    .popupdevcode81_leadform .dc81_selectBox{ position: relative; } .dc81_select{ font-size: 14px; }
1793    .popupdevcode81_leadform .dc81_selectBox:after{ content: ''; width: 10px; height: 2px; background-color: #fff; transform: rotate(45deg); position: absolute; top: 20px; right: 16px; }
1794    .popupdevcode81_leadform .dc81_selectBox:before{ content: ''; width: 10px; height: 2px; background-color: #fff; transform: rotate(-45deg); position: absolute; top: 20px; right: 10px; }
1795    .popupdevcode81_leadform .dc81_textarea{ height: 120px; }
1796    .popupdevcode81_leadform .dc81_button { background: var(--buttonBg, #dc0000); border: 1px solid var(--buttonBg, #dc0000); color: var(--buttonColor, #fff); cursor: pointer; display: inline-block; font-weight: bold; width: 100%; max-width: 300px; padding: 10px; font-size: 15px; margin: 0 auto; display: block; border-radius: var(--buttonRadius, 0px); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
1797    .popupdevcode81_leadform .dc81_button:hover{ background: var(--buttonColor, #fff); border: 1px solid var(--buttonBg, #dc0000); color: var(--buttonBg, #dc0000); }
1798    .popupdevcode81_leadform .dc81_iconProfile{ background-image: url(https://97displaylive.blob.core.windows.net/aqua/global/type_name.png); background-position: right center; background-repeat: no-repeat; }
1799    .popupdevcode81_leadform .dc81_helptxt{ color: #fff;  text-align: left; display: block; }
1800</style>
1801
1802<script type="text/javascript">
1803    $('#formpopup').submit(function (e) {
1804
1805        //SPINNER FOR AFTER CLICKING THE SUBMIT LEAD BUTTON
1806        //get field data on form
1807        var fName = $('#formpopup input[name=FName]').val();
1808        var lName = $('#formpopup input[name=LName]').val();
1809        var email = $('#formpopup input[name=Email]').val();
1810        var phone = $('#formpopup input[name=Phone]').val();
1811
1812
1813        //END SPINNER
1814
1815
1816        $('#divgdprERowpopup').html('');
1817        $('#divgdprPRowpopup').html('');
1818        $('#divphoneRowpopup').html('');
1819        $('#divemailRowpopup').html('');
1820        $('#divgComplianceTogglepopup').html('');
1821        $('#diverrorMsgpopup').html('');
1822        $('#formpopup input[name^="ConsentCheckboxes"][type="checkbox"]').each(function () {
1823            $('#divchk_popup_' + $(this).attr('data-checkbox-id')).html('');
1824        });
1825
1826
1827        var isFormValid = true;
1828        var isGdpr = $('#formpopup #EnableGDPR').val();
1829
1830        var isGdprEmail = $('#formpopup #EnableGDPREmail').val();
1831        var isGdprPhone = $('#formpopup #EnableGDPRPhone').val();
1832
1833
1834        var isComplianceToggle = $('#formpopup #ComplianceToggle').val();
1835        var email = $('#formpopup input[name=Email]').val();
1836        var phone = $('#formpopup input[name=Phone]').val();
1837        var acceptComplianceToggle = $('#formpopup input[name=AcceptComplianceToggle]').is(":checked");
1838
1839        var phoneOptIn = $('#formpopup input[name=PhoneOptIn]').is(":checked");
1840        var emailOptin = $('#formpopup input[name=EmailOptIn]').is(":checked");
1841
1842
1843
1844        if (isGdprEmail == 'True') {
1845
1846            if (emailOptin && !email.trim()) {
1847                isFormValid = false;
1848            }
1849        }
1850        else {
1851            if (!email.trim()) {
1852                isFormValid = false;
1853            }
1854        }
1855
1856
1857        if (isGdprPhone == 'True') {
1858
1859            if (phoneOptIn && !phone.trim()) {
1860                isFormValid = false;
1861            }
1862        }
1863        else {
1864            if (!phone.trim()) {
1865                isFormValid = false;
1866            }
1867        }
1868        if (isGdprEmail == 'True' && isGdprPhone == 'True') {
1869            if (!phone.trim() && !email.trim()) {
1870                isFormValid = false;
1871                $('#diverrorMsgpopup').html("<span class='field-error'>Cannot submit without Email and/or Phone</span> <br class='clear' />");
1872            }
1873
1874        }
1875
1876        if (isComplianceToggle == "True") {
1877            var complianceToggleRequiredMsg = 'Must accept terms to submit';
1878
1879            if (acceptComplianceToggle == false) {
1880
1881                $('#divgComplianceTogglepopup').append("<span class='field-error'>" + complianceToggleRequiredMsg + "</span><br/>");
1882                isFormValid = false;
1883            }
1884        }
1885
1886        // --- Custom Consent Checkboxes Validation ---
1887        $('#formpopup input[name^="ConsentCheckboxes"][type="checkbox"]').each(function () {
1888            var $checkbox = $(this);
1889            var isRequired = $checkbox.attr('data-required') === 'true';
1890            var isChecked = $checkbox.is(':checked');
1891            var checkboxId = $checkbox.attr('data-checkbox-id');
1892
1893            if (isRequired && !isChecked) {
1894                isFormValid = false;
1895                $('#divchk_popup_' + checkboxId).append("<span class='field-error'>This field is required.</span>");
1896            }
1897        });
1898        // ---------------------------------------------
1899
1900        if (isFormValid == false) {
1901            $('#diverrorMsgpopup').fadeIn('slow');
1902            e.preventDefault();
1903            e.stopImmediatePropagation();
1904            return false;
1905        }
1906
1907        //hide just the Submit Lead button to prevent multi clicking
1908        $('.dc81_button').hide();
1909
1910        //show spinner html in _SendLeadPopUp.vbhtml. see global.css for animation
1911        $("#loading").fadeIn();
1912
1913        return true;
1914
1915    });
1916
1917
1918
1919
1920    //$.validator.unobtrusive.adapters.addBool("mustbetrue", "required");
1921    $(document).ready(function () {
1922        
1923           //var googleCaptchaToken = document.querySelector('#GoogleCaptchaToken');
1924            grecaptcha.ready(function () {
1925                grecaptcha.execute('6Lcj_t0UAAAAABRyv9Kmb6iLVQTYEeVLwJBhJ0ta', { action: 'sendlead' }).then(function (token) {
1926                    $('#formpopup #GoogleCaptchaToken').val(token);
1927                });
1928            });
1929        
1930
1931
1932        var isGdprEmail = $('#formpopup #EnableGDPREmail').val();
1933        var isGdprPhone = $('#formpopup #EnableGDPRPhone').val();
1934
1935        if (isGdprEmail == 'False') {
1936            $("#formpopup input[name=Email]").prop('required', true).attr('data-val-required', 'Required');
1937        }
1938        else if (isGdprEmail == 'True') {
1939
1940           var emailOptin = $('#formpopup input[name=EmailOptIn]').is(":checked") ;
1941            if (emailOptin)
1942                $('#emailRowpopup').fadeIn('slow');
1943            else
1944                $('#emailRowpopup').fadeOut('slow');
1945        }
1946        if (isGdprPhone == 'False') {
1947            $("#formpopup input[name=Phone]").prop('required', true).attr('data-val-required', 'Required');
1948        }
1949        else if (isGdprPhone == 'True') {
1950            var phoneOptIn = $('#formpopup input[name=PhoneOptIn]').is(":checked");
1951            if (phoneOptIn)
1952                $('#phoneRowpopup').fadeIn('slow');
1953            else
1954                $('#phoneRowpopup').fadeOut('slow');
1955        }
1956
1957
1958
1959        $("#formpopup input[name=Email]").change(function() {
1960
1961                $('#divemailRowpopup').html('');
1962         });
1963         $("#formpopup input[name=Phone]").change(function() {
1964
1965                $('#divphoneRowpopup').html('');
1966         });
1967
1968
1969
1970
1971        $('#diverrorMsgpopup').fadeOut('slow');
1972
1973
1974        $("#formpopup input[name=EmailOptIn]").change(function () {
1975            //console.log('#formpopup input[name=EmailOptIn]');
1976            if (this.checked) {
1977                $('#emailRowpopup').fadeIn('slow');
1978                $('#divgdprERowpopup').html('');
1979                $("#formpopup input[name=Email]").prop('required', true);
1980            }
1981            else {
1982                $('#emailRowpopup').fadeOut('slow');
1983                $("#formpopup input[name=Email]").prop('required', false);
1984                $("#formpopup input[name=Email]").val('');
1985            }
1986        });
1987
1988        $("#formpopup input[name=PhoneOptIn]").change(function () {
1989
1990            //console.log('#formpopup input[name=PhoneOptIn]');
1991            if (this.checked) {
1992                $('#phoneRowpopup').fadeIn('slow');
1993                $('#divgdprPRowpopup').html('');
1994                $("#formpopup input[name=Phone]").prop('required', true);
1995            }
1996            else {
1997                $('#phoneRowpopup').fadeOut('slow');
1998                $("#formpopup input[name=Phone]").prop('required', false);
1999                $("#formpopup input[name=Phone]").val('');
2000            }
2001        });
2002
2003
2004    });
2005</script>
2005
2006
2007                    </div>
2008                
2009
2010
2011            <div class="maryClose">
2012                <span></span>
2013                <span></span>
2014            </div>
2015        </div>
2016    </div>
2017</section>
2018<!-- /Mary Popin -->
2019
2020<div id="loading">
2021    <div id="loadingcontent">
2022        <p id="loadingspinner">
2023
2024            <div id="floatingBarsG">
2025                <div class="blockG" id="rotateG_01"></div>
2026                <div class="blockG" id="rotateG_02"></div>
2027                <div class="blockG" id="rotateG_03"></div>
2028                <div class="blockG" id="rotateG_04"></div>
2029                <div class="blockG" id="rotateG_05"></div>
2030                <div class="blockG" id="rotateG_06"></div>
2031                <div class="blockG" id="rotateG_07"></div>
2032                <div class="blockG" id="rotateG_08"></div>
2033            </div>
2034
2035        </p>
2036    </div>
2037</div>
2038
2039
2040
2041<script type="application/ld+json">
2042
2043    {
2044    "@Context" : "http://schema.org",
2045    "@Type" : "Organization",
2046    "name" : "Spartan Fitness",
2047    "url" : "http://www.spartanfitnessmma.com",
2048    "sameAs": ["https://www.facebook.com/sbgbirmingham/","https://twitter.com/SBGBirmingham","https://goo.gl/maps/M8ooywfTNmjW2LF47","https://www.youtube.com/user/SpartanFitnessMMA"]
2049    }
2050</script>
2050
2051
2052
2053        
2054            <!-- Facebook Pixel Code -->
2055<script>
vendor: 426 bytes, lines 2055-2064
2055
2056  !function(f,b,e,v,n,t,s)
2057  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
2058  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
2059  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
2060  n.queue=[];t=b.createElement(e);t.async=!0;
2061  t.src=v;s=b.getElementsByTagName(e)[0];
2062  s.parentNode.insertBefore(t,s)}(window, document,'script',
2063  'https://connect.facebook.net/en_US/fbevents.js');
2064  fbq('init', '
20641099102656794359
vendor: 34 bytes, lines 2064-2065
2064');
2065  fbq('track', 'PageView');
2066</script>
2066
2067<noscript><img height="1" width="1" style="display:none"
2068  src="https://www.facebook.com/tr?id=1099102656794359&ev=PageView&noscript=1"
2069/></noscript>
2070<!-- End Facebook Pixel Code -->
2071        
2072
2073
2074    
2075
2076
2077
2078
2079
2080    
2081        <style>
2082            #cb2-banner { position: fixed; bottom: 0; left: 0; right: 0; background-color: #000000; color: #cccccc; padding: 18px 24px; font-size: 14px; z-index: 9999; display: none; box-shadow: 0 -2px 12px rgba(0,0,0,0.25); }
2083            #cb2-banner .cb2-inner { max-width: 1100px; margin: 0 auto; }
2084            #cb2-banner .cb2-text { display: block; line-height: 1.5; }
2085            #cb2-banner .cookie-link, #cb2-banner a { color: #cccccc; text-decoration: underline; }
2086            #cb2-banner .cb2-buttons { margin-top: 14px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
2087            #cb2-banner .cb2-btn { min-width: 150px; padding: 9px 18px; border-radius: 4px; cursor: pointer; font-weight: 600; border: none; font-size: 14px; }
2088            #cb2-accept  { background-color: #000000;  color: #FFFFFF; }
2089            #cb2-decline { background-color: #000000; color: #FFFFFF; }
2090            #cb2-manage  { background-color: #000000;  color: #FFFFFF; border: 1px solid rgba(255,255,255,0.4); }
2091            #cb2-banner .cb2-btn:hover { opacity: 0.9; }
2092            #cb2-x { position: absolute; top: 8px; right: 12px; cursor: pointer; font-size: 20px; line-height: 1; color: #cccccc; opacity: 0.7; background: none; border: none; }
2093            #cb2-x:hover { opacity: 1; }
2094            #cb2-manage-panel { display: none; margin-top: 16px; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 14px; text-align: left; max-width: 1100px; margin-left: auto; margin-right: auto; }
2095            #cb2-manage-panel .cb2-cat { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; }
2096            #cb2-manage-panel .cb2-cat label { font-weight: 600; }
2097            #cb2-manage-panel .cb2-cat .cb2-desc { display: block; font-weight: 400; opacity: 0.85; font-size: 13px; }
2098            #cb2-manage-panel .cb2-manage-actions { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 10px; }
2099            #cb2-dns { margin-top: 12px; padding: 10px; border: 1px dashed rgba(255,255,255,0.4); border-radius: 4px; }
2100            #cb2-settings-trigger { position: fixed; bottom: 12px; left: 12px; z-index: 9997; font-size: 12px; padding: 6px 10px; background: rgba(0,0,0,0.6); color: #fff; border-radius: 3px; cursor: pointer; display: none; }
2101        </style>
2102
2103        <div id="cb2-banner" role="dialog" aria-label="Cookie consent">
2104                <button type="button" id="cb2-x" aria-label="Close">&times;</button>
2105            <div class="cb2-inner">
2106                <div class="cb2-text">We use cookies to improve your browsing experience. We use this information to deliver content, maintain security, enable user choice, improve our sites, and for marketing purposes. View our <a class="cookie-link" href="https://spartanfitnessmma.com/privacy-policy">Privacy Policy</a> to learn more.</div>
2107                <div class="cb2-buttons">
2108                    <button type="button" id="cb2-accept"  class="cb2-btn">Accept All</button>
2109                    <button type="button" id="cb2-decline" class="cb2-btn">Decline All</button>
2110                    <button type="button" id="cb2-manage"  class="cb2-btn">Manage</button>
2111                </div>
2112
2113                <div id="cb2-manage-panel">
2114                    <div class="cb2-cat">
2115                        <input type="checkbox" id="cb2-cat-necessary" checked disabled />
2116                        <label for="cb2-cat-necessary">Necessary<span class="cb2-desc">Strictly necessary cookies required for the site to function. These cannot be disabled.</span></label>
2117                    </div>
2118                    <div class="cb2-cat">
2119                        <input type="checkbox" id="cb2-cat-analytics" />
2120                        <label for="cb2-cat-analytics">Analytics<span class="cb2-desc">Help us understand how visitors use the site so we can improve it.</span></label>
2121                    </div>
2122                    <div class="cb2-cat">
2123                        <input type="checkbox" id="cb2-cat-marketing" />
2124                        <label for="cb2-cat-marketing">Marketing<span class="cb2-desc">Used to deliver relevant ads and measure ad performance across sites.</span></label>
2125                    </div>
2126                    <div class="cb2-cat">
2127                        <input type="checkbox" id="cb2-cat-functional" />
2128                        <label for="cb2-cat-functional">Functional<span class="cb2-desc">Enable enhanced features like chat widgets and scheduling tools.</span></label>
2129                    </div>
2130
2131
2132                    <div class="cb2-manage-actions">
2133                        <button type="button" id="cb2-save"            class="cb2-btn">Save My Choices</button>
2134                        <button type="button" id="cb2-accept-necessary" class="cb2-btn">Accept Necessary</button>
2135                    </div>
2136                </div>
2137            </div>
2138        </div>
2139
2140        <div id="cb2-settings-trigger">Cookie Settings</div>
2141
2142        
2142<script type="text/javascript">
2143            (function () {
2144                "use strict";
2145                var IS_OPT_IN = false;
2146                var REQUIRES_DNS = false;
2147
2148                function $(id) { return document.getElementById(id); }
2149                var banner = null, panel = null, trigger = null;
2150
2151                function showBanner() { if (banner) banner.style.display = 'block'; if (trigger) trigger.style.display = 'none'; }
2152                function hideBanner() { if (banner) banner.style.display = 'none'; if (trigger) trigger.style.display = 'block'; }
2153                function openManage() {
2154                    if (panel) panel.style.display = 'block';
2155                    // Seed toggles from stored consent if any, else from regime default.
2156                    var c = (window.__consent && window.__consent.current()) || null;
2157                    var preChecked = !IS_OPT_IN; // opt-out => pre-checked; opt-in => pre-unchecked
2158                    $('cb2-cat-analytics').checked  = c ? !!c.analytics  : preChecked;
2159                    $('cb2-cat-marketing').checked  = c ? !!c.marketing  : preChecked;
2160                    $('cb2-cat-functional').checked = c ? !!c.functional : preChecked;
2161                }
2162
2163                function apply(consent, src) {
2164                    if (window.__consent) window.__consent.apply(consent, src);
2165                    hideBanner();
2166                }
2167
2168                document.addEventListener("DOMContentLoaded", function () {
2169                    banner = $('cb2-banner'); panel = $('cb2-manage-panel'); trigger = $('cb2-settings-trigger');
2170
2171                    var hasChoice = window.__consent && window.__consent.current();
2172                    if (hasChoice) { hideBanner(); } else { showBanner(); }
2173
2174                    var a = $('cb2-accept');
2175                    if (a) a.addEventListener('click', function () { if (window.__consent) window.__consent.acceptAll('acceptAll'); hideBanner(); });
2176
2177                    var d = $('cb2-decline');
2178                    if (d) d.addEventListener('click', function () { if (window.__consent) window.__consent.declineAll('declineAll'); hideBanner(); });
2179
2180                    var m = $('cb2-manage');
2181                    if (m) m.addEventListener('click', function () { openManage(); });
2182
2183                    var save = $('cb2-save');
2184                    if (save) save.addEventListener('click', function () {
2185                        apply({
2186                            necessary: 1,
2187                            analytics: $('cb2-cat-analytics').checked ? 1 : 0,
2188                            marketing: $('cb2-cat-marketing').checked ? 1 : 0,
2189                            functional: $('cb2-cat-functional').checked ? 1 : 0
2190                        }, 'manage');
2191                    });
2192
2193                    var an = $('cb2-accept-necessary');
2194                    if (an) an.addEventListener('click', function () { if (window.__consent) window.__consent.declineAll('acceptNecessary'); hideBanner(); });
2195
2196                    // Re-open from the floating chip; pre-open Manage for CA (DNS).
2197                    if (trigger) trigger.addEventListener('click', function () {
2198                        showBanner();
2199                        if (REQUIRES_DNS) { openManage(); var dns = $('cb2-dns'); if (dns) dns.scrollIntoView({ block: 'nearest' }); }
2200                    });
2201
2202                    // Dismiss behavior. Opt-out (US): the X button = Accept All.
2203                    // Opt-in (EU/UK): no X rendered; visitor must use the 3 buttons.
2204                    // NOTE (per stakeholder): ONLY the Accept All button and the X button
2205                    // count as accepting. Clicking anywhere else on the page â€" including the
2206                    // lead-form popup or the multi-location popup â€" never accepts. There is
2207                    // intentionally NO document-level outside-click handler.
2208                    if (!IS_OPT_IN) {
2209                        var x = $('cb2-x');
2210                        if (x) x.addEventListener('click', function () { if (window.__consent) window.__consent.acceptAll('xbutton'); hideBanner(); });
2211                    }
2212                });
2213            })();
2214        </script>
2214
2215    
2216
2217
2218    
2219</body>
2220</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.