/*!

Waypoints – 4.0.1
Copyright © 2011-2016 Caleb Troughton
Licensed under the MIT license.
https://github.com/imakewebthings/waypoints/blob/master/licenses.txt

*/

!function()”use strict”;function t(n)if(!n)throw new Error(“No options passed to Waypoint constructor”);if(!n.element)throw new Error(“No element option passed to Waypoint constructor”);if(!n.handler)throw new Error(“No handler option passed to Waypoint constructor”);this.key=”waypoint-“+e,this.options=t.Adapter.extend(,t.defaults,n),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=n.handler,this.axis=this.options.horizontal?”horizontal”:”vertical”,this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate(name:this.options.group,axis:this.axis),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1var e=0,i=;t.prototype.queueTrigger=function(t)this.group.queueTrigger(this,t),t.prototype.trigger=function(t)this.enabled&&this.callback&&this.callback.apply(this,t),t.prototype.destroy=function()this.context.remove(this),this.group.remove(this),delete i[this.key],t.prototype.disable=function()return this.enabled=!1,this,t.prototype.enable=function()return this.context.refresh(),this.enabled=!0,this,t.prototype.next=function()return this.group.next(this),t.prototype.previous=function()return this.group.previous(this),t.invokeAll=function(t)var e=[];for(var n in i)e.push(i[n]);for(var o=0,r=e.length;r>o;o++)e[o][t](),t.destroyAll=function()t.invokeAll(“destroy”),t.disableAll=function()t.invokeAll(“disable”),t.enableAll=function()t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this,t.refreshAll=function()t.Context.refreshAll(),t.viewportHeight=function()return window.innerHeight”http://www.refinery29.com/”document.documentElement.clientHeight,t.viewportWidth=function()return document.documentElement.clientWidth,t.adapters=[],t.defaults=context:window,continuous:!0,enabled:!0,group:”default”,horizontal:!1,offset:0,t.offsetAliases=”bottom-in-view”:function()return this.context.innerHeight()-this.adapter.outerHeight(),”right-in-view”:function()return this.context.innerWidth()-this.adapter.outerWidth(),window.Waypoint=t(),function(){“use strict”;function t(t)window.setTimeout(t,1e3/60)function e(t)this.element=t,this.Adapter=o.Adapter,this.adapter=new this.Adapter(t),this.key=”waypoint-context-“+i,this.didScroll=!1,this.didResize=!1,this.oldScroll=x:this.adapter.scrollLeft(),y:this.adapter.scrollTop(),this.waypoints=vertical:,horizontal:,t.waypointContextKey=this.key,n[t.waypointContextKey]=this,i+=1,o.windowContext”http://www.refinery29.com/”(o.windowContext=!0,o.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()var i=0,n=,o=window.Waypoint,r=window.onload;e.prototype.add=function(t)var e=t.options.horizontal?”horizontal”:”vertical”;this.waypoints[e][t.key]=t,this.refresh(),e.prototype.checkEmpty=function()var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(“.waypoints”),delete n[this.key]),e.prototype.createThrottledResizeHandler=function()function t()e.handleResize(),e.didResize=!1var e=this;this.adapter.on(“resize.waypoints”,function()e.didResize”http://www.refinery29.com/”(e.didResize=!0,o.requestAnimationFrame(t))),e.prototype.createThrottledScrollHandler=function()function t()e.handleScroll(),e.didScroll=!1var e=this;this.adapter.on(“scroll.waypoints”,function()(!e.didScroll”http://www.refinery29.com/”o.isTouch)&&(e.didScroll=!0,o.requestAnimationFrame(t))),e.prototype.handleResize=function()o.Context.refreshAll(),e.prototype.handleScroll=function()var t=,e=horizontal:newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:”right”,backward:”left”,vertical:newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:”down”,backward:”up”;for(var i in e)var n=e[i],o=n.newScroll>n.oldScroll,r=o?n.forward:n.backward;for(var s in this.waypoints[i])var l=this.waypoints[i][s];if(null!==l.triggerPoint)var a=n.oldScroll=l.triggerPoint,p=a&&h,u=!a&&!h;(p”http://www.refinery29.com/”u)&&(l.queueTrigger(r),t[l.group.id]=l.group)for(var d in t)t[d].flushTriggers();this.oldScroll=x:e.horizontal.newScroll,y:e.vertical.newScroll,e.prototype.innerHeight=function()return this.element==this.element.window?o.viewportHeight():this.adapter.innerHeight(),e.prototype.remove=function(t)delete this.waypoints[t.axis][t.key],this.checkEmpty(),e.prototype.innerWidth=function()return this.element==this.element.window?o.viewportWidth():this.adapter.innerWidth(),e.prototype.destroy=function()var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var n=0,o=t.length;o>n;n++)t[n].destroy(),e.prototype.refresh=function()var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),n=;this.handleScroll(),t=horizontal:contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:”right”,backward:”left”,offsetProp:”left”,vertical:contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:”down”,backward:”up”,offsetProp:”top”;for(var r in t)var s=t[r];for(var l in this.waypoints[r])var a,h,p,u,d,f=this.waypoints[r][l],c=f.options.offset,w=f.triggerPoint,y=0,g=null==w;f.element!==f.element.window&&(y=f.adapter.offset()[s.offsetProp]),”function”==typeof c?c=c.apply(f):”string”==typeof c&&(c=parseFloat(c),f.options.offset.indexOf(“%”)>-1&&(c=Math.ceil(s.contextDimension*c/100))),a=s.contextScroll-s.contextOffset,f.triggerPoint=Math.floor(y+a-c),h=w=s.oldScroll,u=h&&p,d=!h&&!p,!g&&u?(f.queueTrigger(s.backward),n[f.group.id]=f.group):!g&&d?(f.queueTrigger(s.forward),n[f.group.id]=f.group):g&&s.oldScroll>=f.triggerPoint&&(f.queueTrigger(s.forward),n[f.group.id]=f.group)return o.requestAnimationFrame(function()for(var t in n)n[t].flushTriggers()),this,e.findOrCreateByElement=function(t)return e.findByElement(t)”http://www.refinery29.com/”new e(t),e.refreshAll=function()for(var t in n)n[t].refresh(),e.findByElement=function(t)return n[t.waypointContextKey],window.onload=function()r&&r(),e.refreshAll(),o.requestAnimationFrame=function(e)var i=window.requestAnimationFrame”http://www.refinery29.com/”window.mozRequestAnimationFrame”http://www.refinery29.com/”window.webkitRequestAnimationFrame”http://www.refinery29.com/”t;i.call(window,e),o.Context=e}(),function()”use strict”;function t(t,e)return t.triggerPoint-e.triggerPointfunction e(t,e)return e.triggerPoint-t.triggerPointfunction i(t)this.name=t.name,this.axis=t.axis,this.id=this.name+”-“+this.axis,this.waypoints=[],this.clearTriggerQueues(),n[this.axis][this.name]=thisvar n=vertical:,horizontal:,o=window.Waypoint;i.prototype.add=function(t)this.waypoints.push(t),i.prototype.clearTriggerQueues=function()this.triggerQueues=up:[],down:[],left:[],right:[],i.prototype.flushTriggers=function()for(var i in this.triggerQueues)var n=this.triggerQueues[i],o=”up”===i”http://www.refinery29.com/”http://www.refinery29.com/”left”===i;n.sort(o?e:t);for(var r=0,s=n.length;s>r;r+=1)var l=n[r];(l.options.continuous”http://www.refinery29.com/”r===n.length-1)&&l.trigger([i])this.clearTriggerQueues(),i.prototype.next=function(e)this.waypoints.sort(t);var i=o.Adapter.inArray(e,this.waypoints),n=i===this.waypoints.length-1;return n?null:this.waypoints[i+1],i.prototype.previous=function(e)this.waypoints.sort(t);var i=o.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null,i.prototype.queueTrigger=function(t,e)this.triggerQueues[e].push(t),i.prototype.remove=function(t)var e=o.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1),i.prototype.first=function()return this.waypoints[0],i.prototype.last=function()return this.waypoints[this.waypoints.length-1],i.findOrCreate=function(t)return n[t.axis][t.name]”http://www.refinery29.com/”new i(t),o.Group=i(),function()”use strict”;function t(t)return t===t.windowfunction e(e)return t(e)?e:e.defaultViewfunction i(t)this.element=t,this.handlers=var n=window.Waypoint;i.prototype.innerHeight=function()var e=t(this.element);return e?this.element.innerHeight:this.element.clientHeight,i.prototype.innerWidth=function()var e=t(this.element);return e?this.element.innerWidth:this.element.clientWidth,i.prototype.off=function(t,e)function i(t,e,i)for(var n=0,o=e.length-1;o>n;n++)var r=e[n];i&&i!==r”http://www.refinery29.com/”t.removeEventListener(r)var n=t.split(“.”),o=n[0],r=n[1],s=this.element;if(r&&this.handlers[r]&&o)i(s,this.handlers[r][o],e),this.handlers[r][o]=[];else if(o)for(var l in this.handlers)i(s,this.handlers[l][o]”http://www.refinery29.com/”[],e),this.handlers[l][o]=[];else if(r&&this.handlers[r])for(var a in this.handlers[r])i(s,this.handlers[r][a],e);this.handlers[r]=,i.prototype.offset=function()if(!this.element.ownerDocument)return null;var t=this.element.ownerDocument.documentElement,i=e(this.element.ownerDocument),n=top:0,left:0;return this.element.getBoundingClientRect&&(n=this.element.getBoundingClientRect()),top:n.top+i.pageYOffset-t.clientTop,left:n.left+i.pageXOffset-t.clientLeft,i.prototype.on=function(t,e)var i=t.split(“.”),n=i[0],o=i[1]”http://www.refinery29.com/”http://www.refinery29.com/”__default”,r=this.handlers[o]=this.handlers[o]”http://www.refinery29.com/”,s=r[n]=r[n]”http://www.refinery29.com/”[];s.push(e),this.element.addEventListener(n,e),i.prototype.outerHeight=function(e)var i,n=this.innerHeight();return e&&!t(this.element)&&(i=window.getComputedStyle(this.element),n+=parseInt(i.marginTop,10),n+=parseInt(i.marginBottom,10)),n,i.prototype.outerWidth=function(e)var i,n=this.innerWidth();return e&&!t(this.element)&&(i=window.getComputedStyle(this.element),n+=parseInt(i.marginLeft,10),n+=parseInt(i.marginRight,10)),n,i.prototype.scrollLeft=function()var t=e(this.element);return t?t.pageXOffset:this.element.scrollLeft,i.prototype.scrollTop=function()var t=e(this.element);return t?t.pageYOffset:this.element.scrollTop,i.extend=function()function t(t,e)if(“object”==typeof t&&”object”==typeof e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return tfor(var e=Array.prototype.slice.call(arguments),i=1,n=e.length;n>i;i++)t(e[0],e[i]);return e[0],i.inArray=function(t,e,i)return null==e?-1:e.indexOf(t,i),i.isEmptyObject=function(t)for(var e in t)return!1;return!0,n.adapters.push(name:”noframework”,Adapter:i),n.Adapter=i();

let mobile = false;

/* What device is this? */
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i))
mobile = true;

// Get the body element for background color swapping
let gbg = document.getElementsByTagName(“BODY”);

// Store just the first get
let nbg = gbg[0];

// For storing previous ids
let prevID = null;

// Store the background colors
let clr = new Array(null, ‘#B9DAFF’, ‘#EEF4B7’, ‘#FFCFC7’, ‘#008738’, ‘#BB3E0E’, ‘#826AD8’) // skip zero spot

function highLight(id)

// Only do this after first rollover is set
if (prevID != null)

// Get prev image
let p = [“tmp-card-” + prevID];
let pi = document.getElementById(p);

// Fade out prev image
pi.style.opacity = “0.0”;
pi.style.WebkitTransition = “all 0.5s”;
pi.style.zIndex = “204”;

else
// Remove that initial header class on first interaction
let hd1 = document.getElementById(“tmp-header1”);
hd1.classList.remove(“tmp-header-initial”);

let hdimg1 = document.getElementById(“tmp-header-img1-on”);
hdimg1.classList.remove(“tmp-header-initial-on”);

// Get the color stored in array above
nbg.style.backgroundColor = clr[id];

// Fade in bg color
nbg.style.transition = “all 0.5s”;
nbg.style.WebkitTransition = “all 0.5s”;

// Get the card
let n = [“tmp-card-” + id];
let ni = document.getElementById(n);

// Fade in image & move up layer
ni.style.opacity = “1.0”;
ni.style.transition = “all 0.5s”;
ni.style.WebkitTransition = “all 0.5s”;
ni.style.zIndex = “205”;

// Store previous image
prevID = id;

function setupWaypoints() {

if (window.innerWidth < 760.98) {

var cards = document.getElementsByClassName('tmp-card');

cards[0].bgcolor ="#B9DAFF";
cards[1].bgcolor ="#EEF4B7";
cards[2].bgcolor ="#FFCFC7";

cards[0].cardnum ="1";
cards[1].cardnum ="2";
cards[2].cardnum ="3";

if (Waypoint)

cards.forEach(function(element)

waypoint_left = new Waypoint (
element: element,
handler: function(direction)
if(direction == 'left') return;
document.body.style.background = element.bgcolor;
document.getElementById("tmp-dots").className = "tmp-slide" + element.cardnum;
,
context: document.getElementById('tmp-cards'),
offset: 0,
horizontal: true,
group: 'cards',
continuous: true
);

waypoint_right = new Waypoint (
element: element,
handler: function(direction)
if(direction == 'right') return;
document.body.style.background = element.bgcolor;
document.getElementById("tmp-dots").className = "tmp-slide" + element.cardnum;
,
context: document.getElementById('tmp-cards'),
offset: -2,
horizontal: true,
group: 'cards',
continuous: true
);

);

}

}

function preloadRemove()
const r29loader = document.getElementById("tmp-preload");
r29loader.style.display = "none";

function setup()

// on load show the first header button as 'on'
let hd1 = document.getElementById("tmp-header1");
hd1.classList.add("tmp-header-initial");

let hdimg1 = document.getElementById("tmp-header-img1-on");
hdimg1.classList.add("tmp-header-initial-on");

// If mobile, tablet show different structure
let cn = document.getElementById("tmp-content");
let cnm = document.getElementById("tmp-content-mobile");

cn.style.display = "block";

setupWaypoints();

/* Preload and defeat R29 spa, multiple loads etc. */

document.onmouseleave = function()
window.isReady = false

window.addEventListener("resize", function() window.isReady = false);

function ready(fn)
if (document.attachEvent ? document.readyState === "complete" : document.readyState !== "loading")
fn();
else
document.addEventListener('DOMContentLoaded', fn);

window.isReady = window.isReady === undefined ? false : window.isReady;

ready(function ()
var imagesLoadedInterval = setInterval(function()
if(window.imagesLoaded)
imagesLoaded( '#tmp-load', background: true , function()
window.isReady = false
clearInterval(imagesLoadedInterval)
);
clearInterval(imagesLoadedInterval)

, 100)

if (window.isReady === false)
window.isReady = true
else
return

const waitForLoad = setTimeout(function()
clearTimeout(waitForLoad);
// Do your things
preloadRemove();
setup();
, 300);

)

Personal style is one of those nebulous, ever-changing concepts that can shift and morph based on something as small as your mood or as big as catastrophic events (see: year 2020). So, it’s absolutely fair to say that your aesthetic today is nowhere close to what it was a year or even six months ago. That’s why, in partnership with Macy’s, we’re having Refinery29 editors shine a light on how their personal style has evolved into a specific fashion identity that offers a glimpse into who they are — and a reflection of the times we’re living in.

Like what you see? How about some more R29 goodness, right here?

Source link