HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ns3133907 6.8.0-86-generic #87-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 18:03:36 UTC 2025 x86_64
User: cssnetorguk (1024)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: //home/bristolfilton.co.uk/public_html/wp-content/themes/capacious/assets/js/smooth-scroll.min.js
/**
 * smooth-scroll v5.3.6
 * Animate scrolling to anchor links, by Chris Ferdinandi.
 * http://github.com/cferdinandi/smooth-scroll
 * 
 * Free to use under the MIT License.
 * http://gomakethings.com/mit/
 */

(function(root,factory){if(typeof define==='function'&&define.amd){define([],factory(root))}else if(typeof exports==='object'){module.exports=factory(root)}else{root.smoothScroll=factory(root)}})(this,function(root){'use strict';var smoothScroll={};var supports=!!document.querySelector&&!!root.addEventListener;var settings,eventTimeout,fixedHeader,headerHeight;var defaults={speed:500,easing:'easeInOutCubic',offset:0,updateURL:!0,callbackBefore:function(){},callbackAfter:function(){}};var forEach=function(collection,callback,scope){if(Object.prototype.toString.call(collection)==='[object Object]'){for(var prop in collection){if(Object.prototype.hasOwnProperty.call(collection,prop)){callback.call(scope,collection[prop],prop,collection)}}}else{for(var i=0,len=collection.length;i<len;i++){callback.call(scope,collection[i],i,collection)}}};var extend=function(defaults,options){var extended={};forEach(defaults,function(value,prop){extended[prop]=defaults[prop]});forEach(options,function(value,prop){extended[prop]=options[prop]});return extended};var getClosest=function(elem,selector){var firstChar=selector.charAt(0);for(;elem&&elem!==document;elem=elem.parentNode){if(firstChar==='.'){if(elem.classList.contains(selector.substr(1))){return elem}}else if(firstChar==='#'){if(elem.id===selector.substr(1)){return elem}}else if(firstChar==='['){if(elem.hasAttribute(selector.substr(1,selector.length-2))){return elem}}}
return!1};var getHeight=function(elem){return Math.max(elem.scrollHeight,elem.offsetHeight,elem.clientHeight)};var escapeCharacters=function(id){var string=String(id);var length=string.length;var index=-1;var codeUnit;var result='';var firstCodeUnit=string.charCodeAt(0);while(++index<length){codeUnit=string.charCodeAt(index);if(codeUnit===0x0000){throw new InvalidCharacterError('Invalid character: the input contains U+0000.')}
if((codeUnit>=0x0001&&codeUnit<=0x001F)||codeUnit==0x007F||(index===0&&codeUnit>=0x0030&&codeUnit<=0x0039)||(index===1&&codeUnit>=0x0030&&codeUnit<=0x0039&&firstCodeUnit===0x002D)){result+='\\'+codeUnit.toString(16)+' ';continue}
if(codeUnit>=0x0080||codeUnit===0x002D||codeUnit===0x005F||codeUnit>=0x0030&&codeUnit<=0x0039||codeUnit>=0x0041&&codeUnit<=0x005A||codeUnit>=0x0061&&codeUnit<=0x007A){result+=string.charAt(index);continue}
result+='\\'+string.charAt(index)}
return result};var easingPattern=function(type,time){var pattern;if(type==='easeInQuad')pattern=time*time;if(type==='easeOutQuad')pattern=time*(2-time);if(type==='easeInOutQuad')pattern=time<0.5?2*time*time:-1+(4-2*time)*time;if(type==='easeInCubic')pattern=time*time*time;if(type==='easeOutCubic')pattern=(--time)*time*time+1;if(type==='easeInOutCubic')pattern=time<0.5?4*time*time*time:(time-1)*(2*time-2)*(2*time-2)+1;if(type==='easeInQuart')pattern=time*time*time*time;if(type==='easeOutQuart')pattern=1-(--time)*time*time*time;if(type==='easeInOutQuart')pattern=time<0.5?8*time*time*time*time:1-8*(--time)*time*time*time;if(type==='easeInQuint')pattern=time*time*time*time*time;if(type==='easeOutQuint')pattern=1+(--time)*time*time*time*time;if(type==='easeInOutQuint')pattern=time<0.5?16*time*time*time*time*time:1+16*(--time)*time*time*time*time;return pattern||time};var getEndLocation=function(anchor,headerHeight,offset){var location=0;if(anchor.offsetParent){do{location+=anchor.offsetTop;anchor=anchor.offsetParent}while(anchor)}
location=location-headerHeight-offset;return location>=0?location:0};var getDocumentHeight=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)};var getDataOptions=function(options){return!options||!(typeof JSON==='object'&&typeof JSON.parse==='function')?{}:JSON.parse(options)};var updateUrl=function(anchor,url){if(history.pushState&&(url||url==='true')){history.pushState(null,null,[root.location.protocol,'//',root.location.host,root.location.pathname,root.location.search,anchor].join(''))}};var getHeaderHeight=function(header){return header===null?0:(getHeight(header)+header.offsetTop)};smoothScroll.animateScroll=function(toggle,anchor,options){var settings=extend(settings||defaults,options||{});var overrides=getDataOptions(toggle?toggle.getAttribute('data-options'):null);settings=extend(settings,overrides);anchor='#'+escapeCharacters(anchor.substr(1));var anchorElem=anchor==='#'?document.documentElement:document.querySelector(anchor);var startLocation=root.pageYOffset;if(!fixedHeader){fixedHeader=document.querySelector('[data-scroll-header]')}
if(!headerHeight){headerHeight=getHeaderHeight(fixedHeader)}
var endLocation=getEndLocation(anchorElem,headerHeight,parseInt(settings.offset,10));var animationInterval;var distance=endLocation-startLocation;var documentHeight=getDocumentHeight();var timeLapsed=0;var percentage,position;updateUrl(anchor,settings.updateURL);var stopAnimateScroll=function(position,endLocation,animationInterval){var currentLocation=root.pageYOffset;if(position==endLocation||currentLocation==endLocation||((root.innerHeight+currentLocation)>=documentHeight)){clearInterval(animationInterval);anchorElem.focus();settings.callbackAfter(toggle,anchor)}};var loopAnimateScroll=function(){timeLapsed+=16;percentage=(timeLapsed/parseInt(settings.speed,10));percentage=(percentage>1)?1:percentage;position=startLocation+(distance*easingPattern(settings.easing,percentage));root.scrollTo(0,Math.floor(position));stopAnimateScroll(position,endLocation,animationInterval)};var startAnimateScroll=function(){settings.callbackBefore(toggle,anchor);animationInterval=setInterval(loopAnimateScroll,16)};if(root.pageYOffset===0){root.scrollTo(0,0)}
startAnimateScroll()};var eventHandler=function(event){var toggle=getClosest(event.target,'[data-scroll]');if(toggle&&toggle.tagName.toLowerCase()==='a'){event.preventDefault();smoothScroll.animateScroll(toggle,toggle.hash,settings)}};var eventThrottler=function(event){if(!eventTimeout){eventTimeout=setTimeout(function(){eventTimeout=null;headerHeight=getHeaderHeight(fixedHeader)},66)}};smoothScroll.destroy=function(){if(!settings)return;document.removeEventListener('click',eventHandler,!1);root.removeEventListener('resize',eventThrottler,!1);settings=null;eventTimeout=null;fixedHeader=null;headerHeight=null};smoothScroll.init=function(options){if(!supports)return;smoothScroll.destroy();settings=extend(defaults,options||{});fixedHeader=document.querySelector('[data-scroll-header]');headerHeight=getHeaderHeight(fixedHeader);document.addEventListener('click',eventHandler,!1);if(fixedHeader){root.addEventListener('resize',eventThrottler,!1)}};return smoothScroll})