const toolsOn = false;

/* ///////////////////////////////////////////// */

/* DO NOT DELETE – Knotch Tracking – Add tracking to product Links */

function setupProductLinks() ;:””‘?\]/g;

let g = document.querySelectorAll(“.product a”);
let gpt = document.querySelectorAll(“.product .short-title”);
let gpb = document.querySelectorAll(“.product .brand-name”);

var i;

for (i = 0; i < g.length; i++)

let gd = gpb[i].textContent + "-" + gpt[i].textContent;
let rgd = gd.replace(regex, '');
let prodVars = rgd.replace(/s/g, '_');

let clck = "javascript:invokeKnotchEventPixel('" + prodVars + "');";
g[i].setAttribute("onclick", clck);

/* ///////////////////////////////////////////// */

/* Image Annotations */

var elem = new Array();
var mobilebuy = new Array();
var closebutton = new Array();

var init = false;
var previous = 100;
var mobile = false;
var desktop = true;

var grabnav;

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

function assembleArray(id, pos)
// Assemble a tip and dot array, add id tags to them
var a = [document.getElementById('anno-tip' + id), document.getElementById('anno-dot' + id + '-hint'), pos];
return a;

function tipOn(elem)
// Grab items from the array
var pop = elem[0];
var hint = elem[1];
var pos = elem[2];
// Setup Global Nav for hiding on mobile
if (init == false)
// Add the id to the global nav and store mobile buy buttons
// Done with setup
init = true;

if (mobile == true)
// Mobile & Tablet, click dots, show mobile buy button
// If just mobiile and not tablet, hide the global nav
if (window.innerWidth < 768)

// Check for small or wide desktop
if (window.innerWidth < 768)
// Desktop Small, click dots, show mobile buy button
// Desktop Wide, rollover dots, no mobile buy button

function tipOff(elem) {
// Grab items from the array
var pop = elem[0];
var hint = elem[1];
var pos = elem[2];
if (mobile == true)
// Mobile & Tablet, click dots, show mobile buy button
// If just mobiile and not tablet, hide the global nav
if (window.innerWidth < 768)

// Check for small or wide desktop
if (window.innerWidth 540)

function closeTip(id)
// Mobile onClick closebutton
var lmt = assembleArray(id, ‘0’);
if (window.innerWidth > 540)

function showTip(id)
// Desktop Rollover
if (desktop == true)
if (window.innerWidth > 720)
var lmt = assembleArray(id, ‘-15%’);

function hideTip(id)
// Desktop Rolloff
if (desktop == true)
if (window.innerWidth > 720)
var lmt = assembleArray(id, ‘0’);

function mobileExtraOn(id)
// Turn on the mobile buy button
mobilebuy[id].style.display = “block”;
closebutton[id].style.display = “block”;

function mobileExtraOff(id)
// Turn off the mobile buy button
mobilebuy[id].style.display = “none”;
closebutton[id].style.display = “none”;

function initAnnotations()

// Add id tag to the global nav, for hiding on mobile
document.getElementsByClassName(“global-header”)[0].setAttribute(“id”, “tmp-global-header”);
grabnav = document.getElementById(‘tmp-global-header’);

// Get the mobile buttons
mobilebuy = document.getElementsByClassName(‘anno-mobile-buy’);
// Get the mobile close buttoms
closebutton = document.getElementsByClassName(‘anno-tip-close’);

function showGlobalNav() = “block”;

function hideGlobalNav() = “none”;

/* ///////////////////////////////////////////// */

// Tag images and add shop buttons

function tagImages()

let elems = document.querySelectorAll(“.section-image .img-container”);
let e;

for (e = 0; e < elems.length; e++)

elems[e].setAttribute("id", ["image" + e]);

// Temp numbering, turn off above by setting toolsOn to false

if (toolsOn == true)
let add = document.createElement('DIV');

add.innerHTML = "

” + e + “


// Add Shop Look buttons

let addCTA = document.createElement(‘DIV’);

if (e == 3)
addCTA.innerHTML = “


// Reveal?

let elemsReveal = document.querySelectorAll(“.section-reveal-container”);

let addReveal = document.createElement(‘DIV’);

addReveal.innerHTML = “


// Cleans up
elems, e = undefined;

// Setup

function setupAnnotations(id)

/* ///////////////////////////////////////////// */

// Grab the img-containers for adding annotations

let elems = document.querySelectorAll(“.section-image .img-container”);

/* ///////////////////////////////////////////// */

/* Annotation 1 */

let anno1 = document.createElement(‘DIV’);

anno1.innerHTML = “


/* Cleanup */

elems = undefined;

function setupInsetAnimations()

/* ///////////////////////////////////////////// */

// Grab the img-containers for adding animations (replaces gifs)

let elems = document.querySelectorAll(“.section-image .img-container”);

/* ///////////////////////////////////////////// */

/* Animation 1 */

let anim1 = document.createElement(‘DIV’);

anim1.innerHTML = “


/* Animation 2 */

let anim2 = document.createElement(‘DIV’);

anim2.innerHTML = “


/* Animation 3 */

let anim3 = document.createElement(‘DIV’);

anim3.innerHTML = “


/* Cleanup */

elems = undefined;

/* ///////////////////////////////////////////// */

/* Video */

// Video urls from JWplayer
const videoHeroDesktopBigURL = “”; // NEW: For big monitor, desktop
const videoHeroDesktopURL = “”;
const videoHeroTabletURL = “”;

const videoHeroMobileURL = “”;
const videoHeroSmallMobileURL = “”;

// Poster/thumbnail images while video loads
const vidPosterWide = “”;
const vidPosterTall = “”;

// ALt text
const altTag = “”;

function startVideoHero()

const videoHeroDesktop = document.getElementById(“tmp-video-hero-desktop”);
const videoHeroMobile = document.getElementById(“tmp-video-hero-mobile”);

if (window.innerWidth > 1799)
videoHeroDesktop.src = videoHeroDesktopBigURL;

if (window.innerWidth > 1220 && window.innerWidth 767 && window.innerWidth 360 && window.innerWidth < 768)
videoHeroMobile.src = videoHeroMobileURL;

if (window.innerWidth < 361)
videoHeroMobile.src = videoHeroSmallMobileURL;

function setupVideoHero()

// Grab the target
const videoInject = document.getElementsByClassName("opener");
// Make a new element
let vidOpener = document.createElement('DIV');
// Give the new element a class
// Update the element
// Assemble the custom html
let allCode = "

// Insert the custom html
vidOpener.innerHTML = allCode;

// Add the video urls etc.

// Cleanup
//videoInject = undefined;

/* ///////////////////////////////////////////// */

/* Setup */

function setupPage()

// Video opener
// Annotations, set number based on image tag using the tag images function
// Inset animations
// Number the images, turn off numbers for publish
// Knotch analytics

/* ///////////////////////////////////////////// */

/* Preload */

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”)
document.addEventListener(‘DOMContentLoaded’, fn);

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

ready(function ()
var imagesLoadedInterval = setInterval(function()
imagesLoaded( ‘#tmp-load’, background: true , function()
window.isReady = false

, 100)

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

const waitForLoad = setTimeout(function()
, 200);


function invokeKnotchEventPixel(eventName)
var img = new Image();
var src = eventName;
src += “&ts=” +;
img.src = src;
catch (e)

Our lives have been in a state of flux — and so has our sense of style. In partnership with Macy’s, we’ve tapped R29 editors to shed light on how their personal styles have evolved in the last year, aligning them with their own specific fashion identity that offers a glimpse into who they are and a reflection of the times we’re living in. Read more about the partnership and the other fashion identities here

It doesn’t take a whole lot to envisage a homebody. With all that has transpired in the last year, most of us have had to become one regardless of our natural inclination. But make no mistake, a homebody is not the same as The Homebody: the person who has long preferred the comfort of their couch to uncomfortable social interactions; who gets dressed up to attend an event for exactly 12 minutes before calling it a night (or cancels plans outright — usually at the last minute); who thrives in their personal space, cocooning themselves (usually in soft-to-the-touch knits and blankets) from The Outside.

For Aimee Simeon, senior beauty writer at Refinery29, The Homebody resonates with her to her very core — and it manifests in her beauty and sartorial predilections, through fluffy slippers, roomy sweats, and cozy sweaters. Keep reading to find out why she identifies with this fashion identity, how her personal style has evolved throughout the pandemic, and the most surprising thing she’s discovered about herself. 

My pre-pandemic style could be described as… “Stylish yet comfortable. I loved pairing statement pieces, like dresses or blazers, with sneakers for casual, effortless looks that could take me from the train to the office to cocktail hour without hurting my feet. On simple outfit days, I also loved to accessorize with jewelry and makeup.” 

But when the pandemic hit… ”I was plagued with anxiety and fear, and my wardrobe reflected that: I was wearing the same three sweatpants and hoodies. Not having a routine and getting ready each morning for work made those feelings more intense. When you’re like me and love comfort, working from home can quickly become life in leggings and old T-shirts from high school.” 

My personal style evolved… “When I made the decision to get dressed in something nice every morning — it helped me feel focused and centered. I’ve found a way to be comfortable at home and still look cute and feel confident for Zoom calls.”

What I learned: “A matching set is the quickest way to look put-together. Accessorizing is an easy way to make couch days feel more special. Before the pandemic, I was definitely more interested in what other people thought of my outfits, but I’m now more secure in dressing for myself. I believe that there are ways to incorporate luxury in your life and to look fashion-forward without sacrificing comfort — I believed this before the pandemic but I believe it now even more.”

I’m The Homebody because… “I love being chill and relaxed at home. I just moved into my first ‘big girl’ apartment and it’s my favorite place on earth. I am 100% that friend whose exciting Friday-night plans include tidying my apartment, turning off my phone, and cuddling in bed with a glass of wine and a movie. Embracing my “Homebody” identity has allowed me to find peace and joy within myself.”

My essentials include: “A pair of cropped flared denim (I love showing off a bit of ankle, and slipping on a pair of jeans makes me feel more put-together when I go for a walk in my neighborhood), sneakers, gold accessories (rings, necklaces, or earrings add more polish to a plain sweater and leggings), statement sweaters, statement cross-body bags (I used to be a complete bag lady, but I’ve downsized to bags that just hold the necessities), and makeup (I love playing with lipstick and eyeliner, which can take a look from simple to stunning).”

The most surprising thing I discovered: “I’m more into color than I thought. Before, I stuck to a lot of neutral tones and shades, and while I still love them, I’ve grown to appreciate pops of color.”

My favorite pandemic purchases are… “Quality sweatsuit sets, fluffy slippers, a fuzzy blue teddy coat that makes every outfit (even my T-shirts and leggings) look super cool and a pair of designer sneakers that I’ve worn for months now.”

My 2021 personal style will… “Become even quirkier as I continue to work from home and dress for myself. My personal style is a direct reflection of how I live my life: fun and simple. This year, I want to develop my personal taste and discover pieces that spark joy.”

Get to know more about The Homebody through products and events, below.

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

Source link