Lead #3567

Company
Sam Head Health & Fitness
Website
https://samheadhealthandfitness.co.uk
Best Contact
Email
()

Override

Captured Pages

Emails: 727hello@samheadhealthandfitness.co.ukprivacy
View text
Menu Home Physiotherapy Classes Aerobics Modified Pilates Adapted Tai Chi Rehabilitation Lifestyle Advice About Contact jQuery('#-pro-menu-8-6 .oxy-pro-menu-show-dropdown .menu-item-has-children > a', 'body').each(function(){ jQuery(this).append('<div class="oxy-pro-menu-dropdown-icon-click-area"><svg class="oxy-pro-menu-dropdown-icon"><use xlink:href="#Lineariconsicon-chevron-down"></use></svg></div>'); }); jQuery('#-pro-menu-8-6 .oxy-pro-menu-show-dropdown .menu-item:not(.menu-item-has-children) > a', 'body').each(function(){ jQuery(this).append('<div class="oxy-pro-menu-dropdown-icon-click-area"></div>'); }); Book your Mummy MOT Appointment NowGet yourself back on track with a Mummy MOT to address your postnatal conditions now!Get Started >Sam HeadHealth & FitnessA Chartered Physiotherapist specialising in Women's Health and Fitness. My passion is helping individuals to achieve optimal heath and wellness, mind and body. Essex Welcome toSam Head Health & FitnessOur focus and passion is helping individuals to achieve optimal health and wellness, mind and body.We encourage and support our clients to make positive lifestyle changes using our evidence-based knowledge, alongside a holistic treatment approach. Supporting and empowering our clients with physical and mental health strategies whatever your age or your ability can lead to better health and happiness.So, let us help you on your journey with exercise, positive lifestyle change and well being harmony. We offer specialist Women's Pelvic Health physiotherapy, exercise classes, small group, 1-1 or virtual (Skype, Facetime). So let your journey begin...How can I help?PhysiotherapyPhysiotherapy tailored to women, with a specialism in pelvic, obstetric and gynaecological issues and rehabilitation.Find out more >Modified Pilates1 to 1 and group pilates classes, adapted to suit and build on your ability, led by Physiotherapist and Sports Scientist Sam Head. Men & Women Welcome.Find out more >Adapted Tai ChiFocusing on spiritual and physical well-being, these classes are led by Sam in 1 to 1, group and virtual sessions. Men & Women Welcome.Find out more >AerobicsA dynamic workout class combining aerobics, weights, and resistance bands to boost strength, endurance, and wellness.Find out more >Rehabilitation & Exercise TherapyTailored exercises to your needs which helps manage chronic conditions and improves general health for both mind and body.Find out more >Lifestyle AdviceEvidence based lifestyle advice and interventions to support those with lifestyle change, including goal setting to help encourage positive change. Find out more >Not sure where to start?Many women know they need some help, but aren't sure where to start. With over 20 years experience within the NHS as a physiotherapist, as well as a specialism in women's health and a sports scientist, a short complimentary call with me can be all it takes to start your journey to a healthier and happier life. Book a call >Hear from my clients...At last I’ve found an aerobics class I actually enjoy. I came on my own but was made to feel very welcome. As a total beginner I was happy to see everyone working at their own pace. Sam is so experienced I feel in safe hands. It didn’t take long to notice a difference in my physical and mental health. The class is a real all rounder, cardio weights and resistance bands along with some great tunes. It has now become a part of my weekly routine I look forward to. 100% recommend.Jill2025-11-16I have been going to Sam’s ‘adapted Pilates’ classes, and more recently Tai Chi classes, for over 15 years, after experiencing a minor back injury. She assessed me and identified the areas I needed to strengthen and there my journey to improved mobility began. Sam knows and understands the needs of each person in every Pilates and Tai Chi class. She further adapts movements for each of us as necessary. What is amazing is that she has helped me prepare for, and recover from, a number of joint replacement operations, helping me to remain fully mobile throughout. I am so grateful for her advice, expertise and encouragement.Gail2022-12-10I was diagnosed over 3 years ago with Parkinson’s Disease. Following this diagnosis I started to find that my movements were becoming restricted and that I was losing strength. My co-ordination also suffered and I often tripped and would occasionally fall. Living with this degenerative condition has led to me experiencing several periods of feeling very low. I have been doing Sam’s Tai Chi class for over a year and find the exercise helps me with my balance and my core strength. The sessions give me a ‘time out’ from my busy life and I am able to use mindfulness that comes as part of the session to help regulate my mood and maintain good mental health. One of the advantages of Sam’s Saturday morning class is that in the warner months, we take sessions outside in a sheltered area on the edge of a woodland. Alongside the fresh air, the Tai Chi sessions taken outside also give me the feeling that I am connecting on a level with the nature which I find both invigorating and incredibly restorative.Matthew2022-12-11Having put my back into spasm following a swimming session, I thought a couple of days rest would sort it out. Unfortunately, it got worse and 5 months later I still had constant chronic lower pain and was taking prescription medication that barely touched the sides. I had to take some time off work as the condition at times put my back into painful spasm that left me bed-ridden. Sessions with the chiropractor did not give me results I had hoped for and once the x-rays came back showing a curvature of the spine (a quite normal condition) I was starting to believe that I would be living for the rest of my life with chronic back pain. I decided to take an alternative route. Sam came highly recommended to me and I joined her Pilates class and saw her for a few sessions of physiotherapy. The programmes she gave me to follow started to make a difference in a matter of weeks – she encouraged me to keep it up at the beginning when it wasn’t immediately apparent that what I was doing was making a difference. I trusted her advice and I am glad that I did, as within 6 weeks I was able to sit without pain and my movements became easier. 6 months on, the physiotherapy programme and the Pilates has helped strengthen my core and rid me of my back pain. I am back digging in the garden and leading a fully active life once again. I am rid of the back pain and have advocated her classes and physiotherapy services to others who have found themselves in the situation that I was in.Clare2022-12-13I first went to Tai Chi without really understanding what I was getting into. I thought it would be a gentle exercise programme to complement Pilates. 18 months later I have found it to be so much more. It is the most amazing therapeutic activity that I do. I find that my mind has a chance to be re-balanced and cared for as much as my body. I feel so different after a session - more energetic, much calmer and positive. The journey that I go on each time is something very special and personal. I thoroughly recommend giving Tai Chi a go. Sam really helps make this activity enjoyable, meaningful and worthwhile.Cecilia2022-11-01I have been attending Sam’s Pilates classes every week for a number of years. She is a dedicated, enthusiastic and understanding teacher who works very hard to make each class fun as well as rewarding. I have a particular problem with one knee and so Sam is always quick to give alternatives to particular exercises to help those with joint worries. Sessions are enjoyable and excellent value.Lynda2022-11-01During the lockdown I was very lucky to have weekly classes with Sam on my iPad. It was fantastic and Sam kept me motivated in mind and body. I can’t wait to get back into class knowing I am in the best of hands. Sam is amazing. She is extremely knowledgeable in her field, kind, encouraging and mindful of my past issues, frozen shoulder being one. It’s ‘my time’ as Sam rightly says and I leave class feeling relaxed at the same time energised for the week ahead.Viv2022-11-01Les and I have attended Tai Chi since the first class on Saturday mornings, it has helped us to loosen our joints and it is beneficial in helping with our balance. I love the mindfulness which has transported me into a world of calmness imagining I’m in a beautiful forest with waterfalls and watching the waves ebb and flow on a beach I also enjoy Pilates, again it has been helpful for strengthening my back and joints, this is also another fantastic class with mindfulness which I love Aerobics which is very energetic, it makes me feel like I am having a good workout on my lungs, it is a good fitness class I have always enjoyed all my classes with Sam.Kay2022-09-17I can highly recommend Sam’s Pilates and Aerobics classes. I have been going for 10 years and have found it extremely beneficial, physically and mentally. Being able to work to my own capabilities is important and knowing you are being monitored by a qualified physiotherapist. For the past year Sam’s FaceTime classes have kept me going through a very difficult time.Jane2022-09-17Sam has supported me over the past 12 years since I was diagnosed with Parkinson’s. She is professional, very knowledgeable, caring and highly motivating. I would find it difficult to manage my condition without Sam’s ongoing support and encouragement.Chris2022-09-17I have attended Sam’s classes for over twelve years. Many people in the class are regulars because Sam is such a good teacher and she always has our health and well-being at the forefront of her lessons. I have only ever seen Sam go above and beyond to help individuals and her kindness, and knowledge have helped me personally to keep strong and she is a great motivator.Debbie2022-09-17Sam is amazing – she is an expert in physio, Pilates, and mindfulness and brings each of these skills to bear in her treatment programme. I have lower back issues and she has greatly improved my posture, flexibility and general quality of life by providing a tailored, adaptable programme of exercises to increase my core and peripheral strength to reduce strain on my back. I would highly recommend her!Chris2022-09-17 Back to topFollow me on socialsVisit our FacebookVisit our InstagramVisit our TwitterHomeWomens HealthModified PilatesTai ChiExercise TherapyLifestyle AdviceI'd love to hear from youRecently been helped by me at Sam Head Health & Fitness? Leave a reviewContact me07791 234 727hello@samheadhealthandfitness.co.ukPrivacy Policy|Disclaimer|Leafet DownloadCopyright © 2025 Sam Head Health & Fitness. All Rights Reserved.AnotherZeroDigitalWebsite Cookie ConsentWe use cookies to provide a proactive support experience, enhance site navigation, analyze site usage, and assist in our marketing efforts. In certain countries, by continuing to use this website and navigating to a different page, you agree that you have read and consented to the use of cookies.OkayReject {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/no-theme-master\/*","\/wp-content\/themes\/oxygen-is-not-a-theme\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e||self).readSmore=n()}(this,function(){var e={blockClassName:"read-smore",wordsCount:70,charsCount:150,moreText:"Read More",lessText:"Read Less",isInline:!1};function n(n,t){t=Object.assign({},e,t);var r={originalContentArr:[],truncatedContentArr:[]};return{init:function(){for(var e=0,o=n.length;e<o;++e)i=e,void 0,void 0,void 0,void 0,l=function(e,n,t){void 0===t&&(t=!1);var r=function(e){return e.replace(/(^\s*)|(\s*$)/gi,"")}(e);return t?r.split("").slice(0,n).join("")+"...":r.split(/\s+/).slice(0,n).join(" ")+"..."}(d=(a=n[e]).innerHTML,s=a.dataset.readSmoreChars||a.dataset.readSmoreWords||t.wordsCount,!!a.dataset.readSmoreChars),c=d.length,r.originalContentArr.push(d),r.truncatedContentArr.push(l),s<c&&(a.innerHTML=r.truncatedContentArr[i],function(e){var o=document.createElement("span");o.className=t.blockClassName+"__link-wrap",o.innerHTML="<a id="+t.blockClassName+"_"+e+"\n class="+t.blockClassName+'__link\n style="cursor:pointer;">\n '+t.moreText+"\n </a>",n[e].after(o),function(e){document.querySelector("#"+t.blockClassName+"_"+e).addEventListener("click",function(o){n[e].classList.toggle("is-expanded");var a=o.currentTarget;"true"!==a.dataset.clicked?(n[e].innerHTML=r.originalContentArr[e],a.innerHTML=t.lessText,a.dataset.clicked=!0):(n[e].innerHTML=r.truncatedContentArr[e],a.innerHTML=t.moreText,a.dataset.clicked=!1)})}(e)}(i));var a,i,s,d,l,c}}}return n.options=e,n}); //# sourceMappingURL=index.umd.js.map (function($){ if(typeof gtag != 'function') { return; } var fluentForms = $('form.frm-fluent-form'); fluentForms.each(function() { var $form = $(this); var formId = $form.attr('data-form_id'); gtag('event', 'ViewForm', { 'event_category': 'FluentForms', 'event_label': 'View Form', 'form_id': formId }); $form.on('fluentform_submission_success', function() { gtag('event', 'FormSubmission', { 'event_category': 'FluentForms', 'event_label': 'Form Submitted', 'form_id': formId }); }); }); }(jQuery)); jQuery(document).on('click','a[href*="#"]',function(t){if(jQuery(t.target).closest('.wc-tabs').length>0){return}if(jQuery(this).is('[href="#"]')||jQuery(this).is('[href="#0"]')||jQuery(this).is('[href*="replytocom"]')){return};if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var e=jQuery(this.hash);(e=e.length?e:jQuery("[name="+this.hash.slice(1)+"]")).length&&(t.preventDefault(),jQuery("html, body").animate({scrollTop:e.offset().top-0},600))}});envelopephone-handsetcrossmenuchevron-upchevron-down function oxygen_init_pro_menu() { jQuery('.oxy-pro-menu-container').each(function(){ // dropdowns var menu = jQuery(this), animation = menu.data('oxy-pro-menu-dropdown-animation'), animationDuration = menu.data('oxy-pro-menu-dropdown-animation-duration'); jQuery('.sub-menu', menu).attr('data-aos',animation); jQuery('.sub-menu', menu).attr('data-aos-duration',animationDuration*1000); oxygen_offcanvas_menu_init(menu); jQuery(window).resize(function(){ oxygen_offcanvas_menu_init(menu); }); // let certain CSS rules know menu being initialized // "10" timeout is extra just in case, "0" would be enough setTimeout(function() {menu.addClass('oxy-pro-menu-init');}, 10); }); } jQuery(document).ready(oxygen_init_pro_menu); document.addEventListener('oxygen-ajax-element-loaded', oxygen_init_pro_menu, false); let proMenuMouseDown = false; jQuery(".oxygen-body") .on("mousedown", '.oxy-pro-menu-show-dropdown:not(.oxy-pro-menu-open-container) .menu-item-has-children', function(e) { proMenuMouseDown = true; }) .on("mouseup", '.oxy-pro-menu-show-dropdown:not(.oxy-pro-menu-open-container) .menu-item-has-children', function(e) { proMenuMouseDown = false; }) .on('mouseenter focusin', '.oxy-pro-menu-show-dropdown:not(.oxy-pro-menu-open-container) .menu-item-has-children', function(e) { if( proMenuMouseDown ) return; var subMenu = jQuery(this).children('.sub-menu'); subMenu.addClass('aos-animate oxy-pro-menu-dropdown-animating').removeClass('sub-menu-left'); var duration = jQuery(this).parents('.oxy-pro-menu-container').data('oxy-pro-menu-dropdown-animation-duration'); setTimeout(function() {subMenu.removeClass('oxy-pro-menu-dropdown-animating')}, duration*1000); var offset = subMenu.offset(), width = subMenu.width(), docWidth = jQuery(window).width(); if (offset.left+width > docWidth) { subMenu.addClass('sub-menu-left'); } }) .on('mouseleave focusout', '.oxy-pro-menu-show-dropdown .menu-item-has-children', function( e ) { if( jQuery(this).is(':hover') ) return; jQuery(this).children('.sub-menu').removeClass('aos-animate'); var subMenu = jQuery(this).children('.sub-menu'); //subMenu.addClass('oxy-pro-menu-dropdown-animating-out'); var duration = jQuery(this).parents('.oxy-pro-menu-container').data('oxy-pro-menu-dropdown-animation-duration'); setTimeout(function() {subMenu.removeClass('oxy-pro-menu-dropdown-animating-out')}, duration*1000); }) // open icon click .on('click', '.oxy-pro-menu-mobile-open-icon', function() { var menu = jQuery(this).parents('.oxy-pro-menu'); // off canvas if (jQuery(this).hasClass('oxy-pro-menu-off-canvas-trigger')) { oxygen_offcanvas_menu_run(menu); } // regular else { menu.addClass('oxy-pro-menu-open'); jQuery(this).siblings('.oxy-pro-menu-container').addClass('oxy-pro-menu-open-container'); jQuery('body').addClass('oxy-nav-menu-prevent-overflow'); jQuery('html').addClass('oxy-nav-menu-prevent-overflow'); oxygen_pro_menu_set_static_width(menu); } // remove animation and collapse jQuery('.sub-menu', menu).attr('data-aos',''); jQuery('.oxy-pro-menu-dropdown-toggle .sub-menu', menu).slideUp(0); }); function oxygen_pro_menu_set_static_width(menu) { var menuItemWidth = jQuery(".oxy-pro-menu-list > .menu-item", menu).width(); jQuery(".oxy-pro-menu-open-container > div:first-child, .oxy-pro-menu-off-canvas-container > div:first-child", menu).width(menuItemWidth); } function oxygen_pro_menu_unset_static_width(menu) { jQuery(".oxy-pro-menu-container > div:first-child", menu).width(""); } // close icon click jQuery('body').on('click', '.oxy-pro-menu-mobile-close-icon', function(e) { var menu = jQuery(this).parents('.oxy-pro-menu'); menu.removeClass('oxy-pro-menu-open'); jQuery(this).parents('.oxy-pro-menu-container').removeClass('oxy-pro-menu-open-container'); jQuery('.oxy-nav-menu-prevent-overflow').removeClass('oxy-nav-menu-prevent-overflow'); if (jQuery(this).parent('.oxy-pro-menu-container').hasClass('oxy-pro-menu-off-canvas-container')) { oxygen_offcanvas_menu_run(menu); } oxygen_pro_menu_unset_static_width(menu); }); // dropdown toggle icon click jQuery('body').on( 'touchstart click', '.oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children > a > .oxy-pro-menu-dropdown-icon-click-area,'+ '.oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children > a > .oxy-pro-menu-dropdown-icon-click-area', function(e) { e.preventDefault(); // fix for iOS false triggering submenu clicks jQuery('.sub-menu').css('pointer-events', 'none'); setTimeout( function() { jQuery('.sub-menu').css('pointer-events', 'initial'); }, 500); // workaround to stop click event from triggering after touchstart if (window.oxygenProMenuIconTouched === true) { window.oxygenProMenuIconTouched = false; return; } if (e.type==='touchstart') { window.oxygenProMenuIconTouched = true; } oxygen_pro_menu_toggle_dropdown(this); } ); function oxygen_pro_menu_toggle_dropdown(trigger) { var duration = jQuery(trigger).parents('.oxy-pro-menu-container').data('oxy-pro-menu-dropdown-animation-duration'); jQuery(trigger).closest('.menu-item-has-children').children('.sub-menu').slideToggle({ start: function () { jQuery(this).css({ display: "flex" }) }, duration: duration*1000 }); } // fullscreen menu link click var selector = '.oxy-pro-menu-open .menu-item a'; jQuery('body').on('click', selector, function(event){ if (jQuery(event.target).closest('.oxy-pro-menu-dropdown-icon-click-area').length > 0) { // toggle icon clicked, no need to hide the menu return; } else if ((jQuery(this).attr("href") === "#" || jQuery(this).closest(".oxy-pro-menu-container").data("entire-parent-toggles-dropdown")) && jQuery(this).parent().hasClass('menu-item-has-children')) { // empty href don't lead anywhere, treat it as toggle trigger oxygen_pro_menu_toggle_dropdown(event.target); // keep anchor links behavior as is, and prevent regular links from page reload if (jQuery(this).attr("href").indexOf("#")!==0) { return false; } } // hide the menu and follow the anchor if (jQuery(this).attr("href").indexOf("#")===0) { jQuery('.oxy-pro-menu-open').removeClass('oxy-pro-menu-open'); jQuery('.oxy-pro-menu-open-container').removeClass('oxy-pro-menu-open-container'); jQuery('.oxy-nav-menu-prevent-overflow').removeClass('oxy-nav-menu-prevent-overflow'); } }); // off-canvas menu link click var selector = '.oxy-pro-menu-off-canvas .menu-item a'; jQuery('body').on('click', selector, function(event){ if (jQuery(event.target).closest('.oxy-pro-menu-dropdown-icon-click-area').length > 0) { // toggle icon clicked, no need to trigger it return; } else if ((jQuery(this).attr("href") === "#" || jQuery(this).closest(".oxy-pro-menu-container").data("entire-parent-toggles-dropdown")) && jQuery(this).parent().hasClass('menu-item-has-children')) { // empty href don't lead anywhere, treat it as toggle trigger oxygen_pro_menu_toggle_dropdown(event.target); // keep anchor links behavior as is, and prevent regular links from page reload if (jQuery(this).attr("href").indexOf("#")!==0) { return false; } } }); // off canvas function oxygen_offcanvas_menu_init(menu) { // only init off-canvas animation if trigger icon is visible i.e. mobile menu in action var offCanvasActive = jQuery(menu).siblings('.oxy-pro-menu-off-canvas-trigger').css('display'); if (offCanvasActive!=='none') { var animation = menu.data('oxy-pro-menu-off-canvas-animation'); setTimeout(function() {menu.attr('data-aos', animation);}, 10); } else { // remove AOS menu.attr('data-aos', ''); }; } function oxygen_offcanvas_menu_run(menu) { var container = menu.find(".oxy-pro-menu-container"); if (!container.attr('data-aos')) { // initialize animation setTimeout(function() {oxygen_offcanvas_menu_toggle(menu, container)}, 0); } else { oxygen_offcanvas_menu_toggle(menu, container); } } var oxygen_offcanvas_menu_toggle_in_progress = false; function oxygen_offcanvas_menu_toggle(menu, container) { if (oxygen_offcanvas_menu_toggle_in_progress) { return; } container.toggleClass('aos-animate'); if (container.hasClass('oxy-pro-menu-off-canvas-container')) { oxygen_offcanvas_menu_toggle_in_progress = true; var animation = container.data('oxy-pro-menu-off-canvas-animation'), timeout = container.data('aos-duration'); if (!animation){ timeout = 0; } setTimeout(function() { container.removeClass('oxy-pro-menu-off-canvas-container') menu.removeClass('oxy-pro-menu-off-canvas'); oxygen_offcanvas_menu_toggle_in_progress = false; }, timeout); } else { container.addClass('oxy-pro-menu-off-canvas-container'); menu.addClass('oxy-pro-menu-off-canvas'); oxygen_pro_menu_set_static_width(menu); } } linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram // Initialize Oxygen Modals jQuery(document).ready(function() { function showModal( modal ) { var $modal = jQuery( modal ); $modal.addClass("live"); var modalId = $modal[0].querySelector('.ct-modal').id; var focusable = modal.querySelector('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'); if(focusable) { setTimeout(() => { focusable.focus(); }, 500); } else { setTimeout(() => { $modal.focus(); }, 500) } // Check if this modal can be shown according to settings and last shown time // Current and last time in milliseconds var currentTime = new Date().getTime(); var lastShownTime = localStorage && localStorage['oxy-' + modalId + '-last-shown-time'] ? JSON.parse( localStorage['oxy-' + modalId + '-last-shown-time'] ) : false; // manual triggers aren't affected by last shown time if( $modal.data( 'trigger' ) != 'user_clicks_element' ) { switch( $modal.data( 'open-again' ) ) { case 'never_show_again': // if it was shown at least once, don't show it again if( lastShownTime !== false ) return; break; case 'show_again_after': var settingDays = parseInt( $modal.data( 'open-again-after-days' ) ); var actualDays = ( currentTime - lastShownTime ) / ( 60*60*24*1000 ); if( actualDays < settingDays ) return; break; default: //always show break; } } // Body manipulation to prevent scrolling while modal is active, and maintain scroll position. document.querySelector('body').style.top = `-${window.scrollY}px`; document.querySelector('body').classList.add('oxy-modal-active'); // save current time as last shown time if( localStorage ) localStorage['oxy-' + modalId + '-last-shown-time'] = JSON.stringify( currentTime ); // trick to make jQuery fadeIn with flex $modal.css("display", "flex"); $modal.hide(); // trick to force AOS trigger on elements inside the modal $modal.find(".aos-animate").removeClass("aos-animate").addClass("aos-animate-disabled"); // show the modal $modal.fadeIn(250, function(){ // trick to force AOS trigger on elements inside the modal $modal.find(".aos-animate-disabled").removeClass("aos-animate-disabled").addClass("aos-animate"); }); if( $modal.data( 'close-automatically' ) == 'yes' ) { var time = parseInt( $modal.data( 'close-after-time' ) ); if( $modal.data( 'close-after-time-unit' ) == 'seconds' ) { time = parseInt( parseFloat( $modal.data( 'close-after-time' ) ) * 1000 ); } setTimeout( function(){ hideModal(modal); }, time ); } // close modal automatically after form submit (Non-AJAX) if( $modal.data( 'close-after-form-submit' ) == 'yes' && $modal.data("trigger") == "after_specified_time" ) { // WPForms // WPForms replaces the form with a confirmation message on page refresh if( $modal.find(".wpforms-confirmation-container-full").length > 0 ) { setTimeout(function () { hideModal(modal); }, 3000); } // Formidable Forms // Formidable Forms replaces the form with a confirmation message on page refresh if( $modal.find(".frm_message").length > 0 ) { setTimeout(function () { hideModal(modal); }, 3000); } // Caldera Forms // Caldera Forms replaces the form with a confirmation message on page refresh if( $modal.find(".caldera-grid .alert-success").length > 0 ) { setTimeout(function () { hideModal(modal); }, 3000); } } } window.oxyShowModal = showModal; var hideModal = function ( modal ) { // Body manipulation for scroll prevention and maintaining scroll position var scrollY = document.querySelector('body').style.top; document.querySelector('body').classList.remove('oxy-modal-active'); document.querySelector('body').style.top = ''; window.scrollTo(0, parseInt(scrollY || '0') * -1); // The function may be called by third party code, without argument, so we must close the first visible modal if( typeof modal === 'undefined' ) { var openModals = jQuery(".oxy-modal-backdrop.live"); if( openModals.length == 0 ) return; modal = openModals[0]; } var $modal = jQuery( modal ); // refresh any iframe so media embedded this way is stopped $modal.find( 'iframe').each(function(index){ this.src = this.src; }); // HTML5 videos can be stopped easily $modal.find( 'video' ).each(function(index){ this.pause(); }); // If there are any forms in the modal, reset them $modal.find("form").each(function(index){ this.reset(); }); $modal.find(".aos-animate").removeClass("aos-animate").addClass("aos-animate-disabled"); $modal.fadeOut(400, function(){ $modal.removeClass("live"); $modal.find(".aos-animate-disabled").removeClass("aos-animate-disabled").addClass("aos-animate"); }); }; window.oxyCloseModal = hideModal; jQuery( ".oxy-modal-backdrop" ).each(function( index ) { var modal = this; (function( modal ){ var $modal = jQuery( modal ); var exitIntentFunction = function( e ){ if( e.target.tagName == 'SELECT' ) { return; } if( e.clientY <= 0 ) { showModal( modal ); document.removeEventListener( "mouseleave", exitIntentFunction ); document.removeEventListener( "mouseout", exitIntentFunction ); } } switch ( jQuery( modal ).data("trigger") ) { case "on_exit_intent": document.addEventListener( "mouseleave", exitIntentFunction, false); document.addEventListener( "mouseout", exitIntentFunction, false); break; case "user_clicks_element": jQuery( jQuery( modal ).data( 'trigger-selector' ) ).click( function( event ) { showModal( modal ); event.preventDefault(); } ); break; case "after_specified_time": var time = parseInt( jQuery( modal ).data( 'trigger-time' ) ); if( jQuery( modal ).data( 'trigger-time-unit' ) == 'seconds' ) { time = parseInt( parseFloat( jQuery( modal ).data( 'trigger-time' ) ) * 1000 ); } setTimeout( function(){ showModal( modal ); }, time ); break; case "after_scrolled_amount": window.addEventListener("scroll", function scrollDetection(){ var winheight= window.innerHeight || (document.documentElement || document.body).clientHeight; var docheight = jQuery(document).height(); var scrollTop = window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop; var isScrollUp = false; var oxyPreviousScrollTop = parseInt( jQuery( modal ).data( 'previous_scroll_top' ) ); if( !isNaN( oxyPreviousScrollTop ) ) { if( oxyPreviousScrollTop > scrollTop) isScrollUp = true; } jQuery( modal ).data( 'previous_scroll_top', scrollTop ); var trackLength = docheight - winheight; var pctScrolled = Math.floor(scrollTop/trackLength * 100); if( isNaN( pctScrolled ) ) pctScrolled = 0; if( ( isScrollUp && jQuery( modal ).data( 'trigger_scroll_direction' ) == 'up' ) || ( !isScrollUp && jQuery( modal ).data( 'trigger_scroll_direction' ) == 'down' && pctScrolled >= parseInt( jQuery( modal ).data( 'trigger_scroll_amount' ) ) ) ) { showModal( modal ); window.removeEventListener( "scroll", scrollDetection ); } }, false); break; case "on_scroll_to_element": window.addEventListener("scroll", function scrollDetection(){ var $element = jQuery( jQuery( modal ).data( 'scroll_to_selector' ) ); if( $element.length == 0 ) { window.removeEventListener( "scroll", scrollDetection ); return; } var top_of_element = $element.offset().top; var bottom_of_element = $element.offset().top + $element.outerHeight(); var bottom_of_screen = jQuery(window).scrollTop() + jQuery(window).innerHeight(); var top_of_screen = jQuery(window).scrollTop(); if ((bottom_of_screen > bottom_of_element - $element.outerHeight() /2 ) && (top_of_screen < top_of_element + $element.outerHeight() /2 )){ showModal( modal ); window.removeEventListener( "scroll", scrollDetection ); } }, false); break; case "after_number_of_clicks": document.addEventListener("click", function clickDetection(){ var number_of_clicks = parseInt( jQuery( modal ).data( 'number_of_clicks' ) ); var clicks_performed = isNaN( parseInt( jQuery( modal ).data( 'clicks_performed' ) ) ) ? 1 : parseInt( jQuery( modal ).data( 'clicks_performed' ) ) + 1; jQuery( modal ).data( 'clicks_performed', clicks_performed ); if ( clicks_performed == number_of_clicks ){ showModal( modal ); document.removeEventListener( "click", clickDetection ); } }, false); break; case "after_time_inactive": var time = parseInt( jQuery( modal ).data( 'time_inactive' ) ); if( jQuery( modal ).data( 'time-inactive-unit' ) == 'seconds' ) { time = parseInt( parseFloat( jQuery( modal ).data( 'time_inactive' ) ) * 1000 ); } var activityDetected = function(){ jQuery( modal ).data( 'millis_idle', 0 ); }; document.addEventListener( "click", activityDetected); document.addEventListener( "mousemove", activityDetected); document.addEventListener( "keypress", activityDetected); document.addEventListener( "scroll", activityDetected); var idleInterval = setInterval(function(){ var millis_idle = isNaN( parseInt( jQuery( modal ).data( 'millis_idle' ) ) ) ? 100 : parseInt( jQuery( modal ).data( 'millis_idle' ) ) + 100; jQuery( modal ).data( 'millis_idle', millis_idle ); if( millis_idle > time ){ clearInterval( idleInterval ); document.removeEventListener( "click", activityDetected ); document.removeEventListener( "mousemove", activityDetected ); document.removeEventListener( "keypress", activityDetected ); document.removeEventListener( "scroll", activityDetected ); showModal( modal ); } }, 100); break; case "after_number_of_page_views": var modalId = modal.querySelector('.ct-modal').id; var pageViews = localStorage && localStorage['oxy-' + modalId + '-page-views'] ? parseInt( localStorage['oxy-' + modalId + '-page-views'] ) : 0; pageViews++; if( localStorage ) localStorage['oxy-' + modalId + '-page-views'] = pageViews; if( parseInt( jQuery( modal ).data( 'number_of_page_views' ) ) == pageViews ) { if( localStorage ) localStorage['oxy-' + modalId + '-page-views'] = 0; showModal( modal ); } break; } // add event handler to close modal automatically after AJAX form submit if( $modal.data( 'close-after-form-submit' ) == 'yes' ) { // Contact Form 7 if (typeof wpcf7 !== 'undefined') { $modal.find('div.wpcf7').each(function () { var $form = jQuery(this).find('form'); this.addEventListener('wpcf7submit', function (event) { if (event.detail.contactFormId == $form.attr("id")) { setTimeout(function () { hideModal(modal); }, 3000); } }, false); }); } // Caldera Forms document.addEventListener( "cf.submission", function(event){ // Pending, Caldera AJAX form submissions aren't working since Oxygen 2.2, see: https://github.com/soflyy/oxygen/issues/1638 }); // Ninja Forms jQuery(document).on("nfFormSubmitResponse", function(event, response){ // Only close the modal if the event was triggered from a Ninja Form inside the modal if( $modal.find("#nf-form-" + response.id + "-cont").length > 0 ) { setTimeout(function () { hideModal(modal); }, 3000); } }); } })( modal ); }); // handle clicks on modal backdrop and on .oxy-close-modal jQuery("body").on('click touchend', '.oxy-modal-backdrop, .oxy-close-modal', function( event ) { var $this = jQuery( this ); var $target = jQuery( event.target ); // Click event in the modal div and it's children is propagated to the backdrop if( !$target.hasClass( 'oxy-modal-backdrop' ) && !$this.hasClass( 'oxy-close-modal' ) ) { //event.stopPropagation(); return; } if( $target.hasClass( 'oxy-modal-backdrop' ) && $this.hasClass( 'oxy-not-closable' ) ) { return; } if( $this.hasClass( 'oxy-close-modal' ) ) event.preventDefault(); var $modal = $this.hasClass( 'oxy-close-modal' ) ? $this.closest('.oxy-modal-backdrop') : $this; hideModal( $modal[0] ); }); jQuery(document).keyup( function(e){ if( e.key == 'Escape' ){ jQuery(".oxy-modal-backdrop:visible").each(function(index){ if( jQuery(this).data("close_on_esc") == 'on' ) hideModal(this); }); } } ); }); AOS.init({ }) jQuery('body').addClass('oxygen-aos-enabled'); var swiper = new Swiper('.swiper-reviews', { grabCursor:true, slidesPerView:'auto', autoplay: { delay: 4500, }, pagination: { el:'.swiper-pagination', type:'bullets', momentumBounce:true, }, navigation: { nextEl:'.swiper-nav-next', prevEl:'.swiper-nav-prev', }, }) const ReadSmore = window.readSmore // target all read more elements const readMoreEls = document.querySelectorAll('.js-read-smore') // Init ReadSmore(readMoreEls).init()