Refinery29
No Glam Teams, No Stylists: The R29 Fall/Winter Lookbook Is Here
let ProdMobile = false;
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
ProdMobile = true;
}
function ProdLeft(id) {
let w = (window.innerWidth)/2;
let i = ["PROD__scroller" + id];
let o = document.getElementById(i);
o.scrollLeft += -(w);
}
function ProdRight(id) {
let w = (window.innerWidth)/2;
let i = ["PROD__scroller" + id];
let o = document.getElementById(i);
o.scrollLeft += w;
}
function ProdArrows(id) {
const container = document.querySelectorAll(".multi-product-carousel-container")[id];
const newArrows = document.createElement('div');
newArrows.setAttribute('class',"caro__arrows");
container.appendChild(newArrows);
const ar_l = ">";
const ar_r = ">";
// Arrows code, add id to the fucntion calls
const a = "" + ar_l + "" + ar_r + "";
////// ??????????????????????? ////////
// Target the carousel
// let b = document.querySelectorAll(".prod__arrows")[id];
// Add arrows to carousel
newArrows.innerHTML = a;
}
function ProdMonitor(id,wd) {
let i = ["PROD__scroller" + id];
let o = document.getElementById(i);
let pos = o.scrollLeft;
// Get number of cards in scroller
let num = o.childElementCount;
// Get window width
let w = window.innerWidth;
// Calc scrolling sapce
let max = -((w - wd)+20);
let gla = ["PROD__left" + id];
let gra = ["PROD__right" + id];
let la = document.getElementById(gla);
let ra = document.getElementById(gra);
// Left Arrow
if (pos > -20 && pos max-20) {
ra.style.display = "none";
ra.style.opacity = "0.0";
} else {
ra.style.display = "block";
ra.style.opacity = "1.0";
}
}
function ProdDevice(id) {
let i = ["PROD__scroller" + id];
let o = document.getElementById(i);
let pos = o.scrollLeft;
if (pos > 100) {
let gra = ["PROD__right" + id];
let ra = document.getElementById(gra);
ra.style.opacity = "0.0";
ra.style.transition = "all 0.7s";
ra.style.WebkitTransition = "all 0.7s";
let wait = setTimeout(function() {
ra.style.display = "none";
clearTimeout(wait);
}, 200);
}
}
function ProdCount(id) {
let a = ["PROD__scroller" + id];
let b = document.getElementById(a).children;
return b.length;
}
function ProdWidthCheck(id,wd) {
console.log("ProdWidthCheck");
let w = window.innerWidth;
let a = ["PROD__scroller" + id];
let b = document.getElementById(a);
let gla = ["PROD__left" + id];
let gra = ["PROD__right" + id];
let la = document.getElementById(gla);
let ra = document.getElementById(gra);
console.log(id + "browser " + w);
console.log(id + "scroller " + wd);
if (wd <= w) {
console.log("Center it");
b.style.justifyContent = "center";
la.style.visibility = "hidden";
ra.style.visibility = "hidden";
} else {
console.log("Left it");
b.style.justifyContent = "start";
la.style.visibility = "visible";
ra.style.visibility = "visible";
}
}
function ProdSetup(id) {
// Assemble carousel id attribute
let a = ["PROD" + id];
let aa = ["PROD__scroller" + id];
// Target the carousel
let b = document.querySelectorAll(".section-multi-product-container")[id];
let bb = document.querySelectorAll(".products-row")[id];
// Get width of cards
// let crd = bb.querySelectorAll(".product")[1].clientWidth; // Get width from the second card
// Set the attribute of the carousel
b.setAttribute("id",a);
bb.setAttribute("id",aa);
// Get width of the scroller element
let wd = bb.scrollWidth;
// let count = ProdCount(id);
// Watch the carousel scolling
bb.addEventListener("scroll", function() {
if (ProdMobile == false) {
ProdMonitor(id,wd);
} else {
ProdDevice(id);
}
}, false);
// Add the arrows
ProdArrows(id);
// Check width of cards, if not wider than browser, center and turn off arrows
ProdWidthCheck(id,wd);
}
function ProdResize() {
let a = document.querySelectorAll(".section-multi-product-container");
let b,c,d,wd;
for (let i = 0; i < a.length; i++) {
b = ["PROD__scroller" + i];
c = document.getElementById(b);
d = b.childElementCount;
wd = c.scrollWidth;
console.log(b + " = " + wd);
ProdWidthCheck(i,wd,d);
}
}
function ProdInit() {
console.log("ProdInit");
// Look for Carousels
let a = document.querySelectorAll(".section-multi-product-container");
// Run setup for each carousel found
for (let i = 0; i < a.length; i++) {
ProdSetup(i);
}
// If browser resize, recheck if carousels need centering and arrows
window.onresize = function() {
ProdResize();
};
}
const ProdWait = setTimeout(function() {
console.log("ProdWait");
clearTimeout(ProdWait);
let a = document.querySelectorAll(".section-multi-product-container")[0].id;
if (a != "PROD0") {
ProdInit();
}
}, 1500);
const elem = document.querySelector(".fade");
// Select all elements with the 'fade-in-element' class
const fadeElements = document.querySelectorAll('.fade');
// Options for the observer (when to trigger the callback)
const observerOptions = {
root: null, // Use the browser viewport as the root
rootMargin: '0px',
threshold: 0.1 // Trigger when 10% of the element is visible
};
// The callback function that runs when an element intersects
const observerCallback = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = "1.0";
entry.target.style.transition = "all 0.5s ease-out";
entry.target.style.webkitTransition = "all 0.5s ease-out";
entry.target.style.transitionDelay = "0.2s";
entry.target.style.webkitTransitionDelay = "0.2s";
} else {
entry.target.style.opacity = "0.0";
entry.target.style.transition = "all 1.0s ease-out";
entry.target.style.webkitTransition = "all 1.0s ease-out";
entry.target.style.transitionDelay = "0.2s";
entry.target.style.webkitTransitionDelay = "0.2s";
}
});
};
// Create a new IntersectionObserver instance
const observer = new IntersectionObserver(observerCallback, observerOptions);
// Start observing each element
fadeElements.forEach(element => {
observer.observe(element);
});
/* Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
/* Roboto Mono */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');
:root {
/* //////////////////////////////////////////////////////////////////// */
/* System colors */
--color-cream: #E8F6F7;
--color-black: #000;
--color-white: #FFEEEE;
--color-light-gray: #EAE0D4;
--color-medium-gray: #555555; /* Hovers */
--color-dark-gray: #4B4D56;
/* Primary colors, use white or black text */
--color-pink: #F300CE;
--color-blue: #1F69FF;
/* Secondary colors, use black text only*/
--color-orange: #4B4D56;
--color-yellow: #FBF5E7;
--color-green: #4B4D56;
--color-teal: #4B4D56;
--color-purple: #4B4D56;
/* //////////////////////////////////////////////////////////////////// */
/* Fonts */
--Brown-Regular: Brown Regular, Gill Sans, Arial, Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--Brown-Bold: Brown Bold, Gill Sans, Arial, Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--Roboto: 'Roboto', Arial, Helvetica, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--Roboto-Mono: 'Roboto Mono', Monaco, monospace;
--Owners-Narrow: 'owners-narrow-black', sans-serif;
--Playfair: Playfair Display, Times New Roman Bold, TimesNewRomanPSMT-Bold, Times Bold, Noto Serif Bold, NotoSerif-Bold, Georgia, serif;
--Ivy-Presto: 'owners', Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--Owners: 'owners', Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--OwnersWide: 'owners-wide', Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--OwnersXwide: 'owners-xwide', Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
--NeueHaus-Unica: neue-haas-unica, Helvetica, Roboto, Segoe UI Light, Ubuntu Light, DroidSans, sans-serif;
/* Font Letterspacing < DO NOT ALTER */
--Tight: -0.01em;
--Normal: 0em;
--Loose: 0.02em;
--Spread: 0.1em;
/* Intro column div{font-family:var(--Roboto-Mono);font-weight:var(--Weight-Roboto-Mono-Regular);font-size:.7rem;text-transform:uppercase;text-decoration:none;letter-spacing:.02em;color:var(--subnav-text-color);border-bottom:1px solid transparent}.subnav__container a:hover,.subnav__container-mobile button:hover,.subnav__container>div:hover{color:var(--subnav-text-hover-color);border-bottom:1px solid var(--subnav-text-hover-color)}.subnav__read-more{pointer-events: none;color:var(--subnav-read-more-color);border:0!important;text-decoration:none}.subnav__container-mobile{display:none}#subnav__marker{height:1px;margin-top:-1px}@media only screen and (max-width:1100px){.subnav__container{display:none}.subnav__container-mobile{display:flex}}@media only screen and (max-width:1024px){.subnav__container{width:100%;height:30px;display:flex!important;flex-direction:row;justify-content:start;align-items:center;gap:30px;overflow-x:auto;scroll-behavior:smooth;padding:0 20px 2px}.subnav__container a,.subnav__container-mobile button,.subnav__container>div{white-space:nowrap}.subnav__container::-webkit-scrollbar{height:1px;pointer-events:auto;cursor:pointer}.subnav__container::-webkit-scrollbar-thumb{background:rgba(255,255,255,0);border-radius:6px;border:0}.subnav__container::-webkit-scrollbar-track{background:rgba(0,0,0,0);padding:0}}@media only screen and (max-width:760.98px){.subnav__container a,.subnav__container-mobile button,.subnav__container>div{font-size:.65rem;border-bottom:1px solid var(--subnav-text-color-underline)}.subnav__container,.subnav__container-mobile{gap:20px}}
#subnav, .subnav {
transition: translateY 0.5s ease-in-out;
-webkit-transition: translateY 0.5s ease-in-out;
z-index: 99;
}
/* //////////////////////////////////////////////////////////////////// */
/* Anchors */
.caro__marker{position:relative}.caro__anchor{position:absolute;top:-40px;left:0;width:100%;height:1px}.caro__marker .caro__anchor{top:-140px}
.marker_set{position:relative}.marker{position:absolute;top:-40px;left:0;width:100%;height:1px}.marker_set .marker{top:-140px}
.section-html, .module {position: relative;}
/* //////////////////////////////////////////////////////////////////// */
/* Carousel Basics */
.caro,.caro__scroller{display:block;width:100%}.caro{clear:both;margin:0;padding:0;overflow:hidden}.caro__scroller{position:relative}.caro__scroller-wrapper{width:100%;display:flex;flex-direction:column;position:relative}.caro__count{display:none}.caro__arrows{position:absolute;top:0;left:0;right:0;width:100%;pointer-events:none;display:flex;flex-direction:row;justify-content:center;align-items:center;height:100%}.caro__arrow,.caro__arrow-left,.caro__arrow-right{padding:0;pointer-events:auto}.caro__arrow-left{top:auto;bottom:auto;left:40px;width:auto;margin:0;display:none;opacity:0}.caro__arrow-right{top:auto;right:40px;width:100px;margin:0;display:block;opacity:1;animation-name:moveArrow;animation-timing-function:ease-in-out;animation-duration:1.5s;animation-iteration-count:infinite}.caro__arrow{position:absolute;width:60px;height:60px;cursor:pointer;margin:-20px 0 0}.caro__arrow-file svg{width:100%;height:100%}.caro__arrow-file svg path{fill: var(--carousel-arrow-shape-color)}.caro__arrow-file:hover path{fill:var(--carousel-arrow-shape-color-hover)}.caro__arrow-file svg circle{fill:var(--carousel-arrow-bgcolor);stroke:var(--carousel-arrow-bordercolor)}.caro__arrow-file:hover svg circle{fill:var(--carousel-arrow-bgcolor-hover);stroke:var(--carousel-arrow-bordercolor-hover)}.caro__arrow-right:hover{animation-play-state:paused;-webkit-animation-play-state:paused}@keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(30px)}}@-moz-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(30px)}}@-webkit-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(30px)}}@-o-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(30px)}}.caro__scroller-list{width:100%;height:fit-content;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding:0 20px;padding:0 0 20px;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;-ms-perspective:1000;perspective:1000;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(100,340px);font-size:0;display:flex;justify-content:start;align-items:start;gap:20px;flex-wrap:nowrap}.is-promos .caro__scroller-list,.is-wide .caro__scroller-list,.is-youtube .caro__scroller-list{grid-template-columns:repeat(100,500px)}.is-social .caro__scroller-list,.is-tall .caro__scroller-list{grid-template-columns:repeat(100,340px)}.caro__card{overflow:hidden;width:340px;min-width:340px;max-width:340px;background-color:transparent;height:fit-content;scroll-snap-align:start;position:relative;display:inline-block;float:none;box-sizing:content-box;padding:0;margin:0}.caro__card img{width:100%}.caro__card>div{box-sizing:border-box;width:inherit}.caro__card:first-of-type{padding-left:20px}.caro__card:last-of-type{margin-right:20px}.is-promos .caro__card,.is-wide .caro__card,.is-youtube .caro__card{width:500px;min-width:500px;max-width:500px}.is-youtube .caro__card iframe{width:500px!important;height:281px!important}.is-social .caro__card iframe.instagram-media{max-width:unset!important;width:100%!important;border-radius:0!important;margin:-54px 0 0!important;border:0!important}@media only screen and (max-width:760.98px){.caro__arrow-left{left:15px}.caro__arrow-right{right:15px;pointer-events:none}.caro__arrow-right .caro__arrow-file{transform:rotate(180deg)}.caro__arrow-file{width:85px;height:85px}.caro__arrow-file img,.caro__arrow-file svg{padding:11px}@keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}@-moz-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}@-webkit-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}@-o-keyframes moveArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}.caro__scroller-list,.is-people .caro__scroller-list,.is-promos .caro__scroller-list,.is-social .caro__scroller-list,.is-tall .caro__scroller-list,.is-wide .caro__scroller-list,.is-youtube .caro__scroller-list{grid-template-columns:repeat(100,335px)}.caro__card,.is-people .caro__card,.is-promos .caro__card,.is-social .caro__card,.is-tall .caro__card,.is-wide .caro__card,.is-youtube .caro__card{width:335px;min-width:335px;max-width:335px}.is-youtube .caro__card iframe{width:335px!important;height:188px!important}.caro__arrows{display:none!important}}.caro__scroller-list::-webkit-scrollbar{height:4px;pointer-events:auto;cursor:pointer;background:0 0!important}.caro__scroller-list::-webkit-scrollbar-track{background:0 0!important;padding:2px 0}.caro__scroller-list::-webkit-scrollbar-thumb{background:0 0!important;border-radius:6px;border:0}.caro__scroller-list::-webkit-scrollbar-thumb:hover{background:0 0!important}
/* /////////////////////////////////////////////////////////////////////////////// */
/* Editors */
.editors {
margin: 40px auto 0;
padding: 0;
}
.editors__wrapper {
}
.editors__list {
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
width: 100%;
gap: 15px;
}
.editors__card {
width: 100%;
max-width: 250px;
display: block;
margin: 0;
padding: 0 20px;
}
.editors__card-image {
width: 100%;
max-width: 250px;
margin: 0 auto 10px;
}
.editors__card-image img {
width: 100%;
border-radius: 500px;
border: var(--editor-border-size) solid var(--editor-border-color);
}
.editors__card-details {
width: 100%;
display: flex;
flex-direction: column;
font-family: var(--editor-details-font);
font-weight: var(--editor-details-weight);
color: var(--editor-details-color);
font-size: 0.7rem;
line-height: 1.45;
text-align: center;
}
.editors__card-details a:hover {
color: var(--editor-name-hover-color);
}
.editors__card-name {
font-size: 1.2rem;
color: var(--editor-name-color);
font-family: var(--editor-name-font);
font-weight: var(--editor-name-weight);
}
.editors__card-role {
color: var(--editor-role-color);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.editors__card-social {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 0;
}
.editors__card-social-icon svg {
width: 50px;
height: 50px;
}
.editors__card-social-icon svg path {
fill: var(--editor-social-color);
}
.editors__card-social-icon:hover svg path {
fill: var(--editor-social-hover-color);
}
@media only screen and (max-width: 760px) {
.editors {
padding: 0 0 40px;
}
.editors__list {
gap: 20px;
}
.editors__card {
margin-bottom: 20px;
}
}
/* //////////////////////////////////////////////////////////////////// */
/* Products */
.product__card {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
gap: 0;
align-items: stretch;
justify-content: center;
}
.product__image {
width: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: start;
align-items: center;
position: static;
padding-bottom: 0;
height: fit-content;
top: 0;
max-height: 440px;
}
/* new */
.product__image {
width: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
padding-bottom: 0;
height: 440px; /* 420px; */
}
.product_image-container {
width: 100%;
overflow: hidden;
position: relative;
padding-bottom: 0;
height: auto;
border: 0; /* var(--product-img-border-size) solid var(--product-img-border-color); */
border-radius: 0; /* var(--product-img-border-radius); */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.product__image img {
width: 100%;
position: static;
top: unset;
-ms-transform: unset;
transform: unset;
top: 0;
left: 0;
}
.product__eyebrow {
width: 100%;
font-family: var(--product-brand-font);
font-weight: var(--product-brand-weight);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--product-brand-color);
text-decoration: none;
padding: 15px 10px 5px;
overflow: hidden;
height: 35px;
}
.product__name {
width: 100%;
font-family: var(--product-name-font);
font-weight: var(--product-name-weight);
font-size: 1.1rem;
text-transform: none;
letter-spacing: 0em;
color: var(--product-name-color);
text-decoration: none;
padding: 0 10px 15px;
white-space: normal;
overflow: hidden;
height: 60px;
}
.product__name span {
border-bottom: 1px solid transparent;
}
.product__name:hover span {
border-bottom: 1px solid var(--product-name-color);
}
.product__buy {
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: stretch;
padding: 0 10px 10px;
gap: 20px;
}
.product__b
Shown as published in the source's RSS feed. IndiaAIFounders doesn't link out to third-party sites — this is the complete detail available from the feed itself.