Blueprint
T

СПЕЦИАЛЬНЫЙ ПРОЕКТ

К луб любителей обуви

Мюли, кроссовки или киттен-хил? Собираем все в Shoes Lovers Club

Найти идеальную пару обуви — квест, к которому нужно серьезно подготовиться. В весенне-летней коллекции EKONIKA точно есть модель, увидев которую захочется воскликнуть: «Это мэтч!». Перед тем как отправиться в недавно открывшийся флагманский магазин в Столешниковом переулке, предлагаем немного потренироваться и пройти тест на внимательность. Потому что там глаза будут разбегаться — это целая штаб-квартира для тех, кто влюблен в обувь не меньше, чем Кэрри Брэдшоу. Играйте в игру и вступайте в Shoes Lovers Club.

{"points":[{"id":1,"properties":{"x":0,"y":0,"z":0,"opacity":1,"scaleX":1,"scaleY":1,"rotationX":0,"rotationY":0,"rotationZ":0}},{"id":3,"properties":{"x":0,"y":0,"z":0,"opacity":0.81,"scaleX":1.31,"scaleY":1.31,"rotationX":0,"rotationY":0,"rotationZ":-16}}],"steps":[{"id":2,"properties":{"duration":0.8,"delay":0,"bezier":[],"ease":"Power2.easeIn","automatic_duration":true}}],"transform_origin":{"x":0.5,"y":0.5}}
{"points":[{"id":1,"properties":{"x":0,"y":0,"z":0,"opacity":1,"scaleX":1,"scaleY":1,"rotationX":0,"rotationY":0,"rotationZ":0}},{"id":3,"properties":{"x":0,"y":0,"z":0,"opacity":0.73,"scaleX":1.35,"scaleY":1.35,"rotationX":0,"rotationY":0,"rotationZ":0}}],"steps":[{"id":2,"properties":{"duration":0.8,"delay":0,"bezier":[],"ease":"Power2.easeIn","automatic_duration":true}}],"transform_origin":{"x":0.5,"y":0.5}}
{"points":[{"id":1,"properties":{"x":0,"y":0,"z":0,"opacity":1,"scaleX":1,"scaleY":1,"rotationX":0,"rotationY":0,"rotationZ":0}},{"id":3,"properties":{"x":0,"y":0,"z":0,"opacity":0.81,"scaleX":1.31,"scaleY":1.31,"rotationX":0,"rotationY":0,"rotationZ":0}}],"steps":[{"id":2,"properties":{"duration":0.8,"delay":0,"bezier":[],"ease":"Power2.easeIn","automatic_duration":true}}],"transform_origin":{"x":0.5,"y":0.5}}

Текст: Полина Федотова

реклама • ООО «ЭСПЕРАНС»

15 мая 2025

Переворачивайте карточки, находите одинаковые картинки и соберите 10 пар сезона. Результат — ваш готовый шопинг-лист

<style> .card-wrapper { perspective: 1000px; position: absolute; cursor: pointer; } .card-flip { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.5s; } .card-wrapper.flipped .card-flip { transform: rotateY(180deg); } .card-front, .card-back { position: absolute; width: 100%; height: 100%; top: 0; left: 0; backface-visibility: hidden; } .card-back { transform: rotateY(0deg); /* рубашка — сначала видна */ z-index: 2; background-size: cover; } .card-front { transform: rotateY(180deg); /* лицевая — после поворота */ z-index: 1; } .card-wrapper.matched { pointer-events: none; } #article { height:2250px; transition:height 0.3s; padding-bottom: 0px; } [name="topline_result"] {display:none!important;} [name="item_restart"], [name="item_vk"], [name="item_tg"] {cursor:pointer;} </style> <script> $(document).ready(function () { const openedCards = []; let backUrl = null; const cardWidth = 217; const cardHeight = 307; const cardsPerRow = 5; const rows = 4; const startTop = 922; const topStep = 325; const startLeft = 20; const leftStep = 236; const $body = $('#article .body'); const $originalCards = $('[name*="flipcart_"]').detach(); const totalCards = $originalCards.length; // Получаем URL рубашки const $backflip = $('[name="backflip"] img').first(); console.log($backflip); if ($backflip.length) { const srcset = $backflip.attr('data-srcset'); const originalSrc = $backflip.attr('src'); const fallbackSrc = $backflip.attr('src'); if (srcset) { // Разбираем srcset вручную const parts = srcset.split(','); const pixelRatio = window.devicePixelRatio || 1; let selected = null; parts.forEach(part => { const [url, descriptor] = part.trim().split(' '); if (pixelRatio >= 2 && descriptor === '2x') { selected = url; } else if (!selected && descriptor === '1x') { selected = url; } }); backUrl = selected || originalSrc || fallbackSrc; } else { backUrl = originalSrc || fallbackSrc; } } else { console.warn('Backflip image not found'); } function generatePositions() { const positions = []; for (let row = 0; row < rows; row++) { for (let col = 0; col < cardsPerRow; col++) { positions.push({ top: startTop + row * topStep, left: startLeft + col * leftStep }); } } return positions; } function renderCards() { $body.find('.card-wrapper').remove(); const positions = generatePositions(); const cards = $originalCards.clone().toArray(); const shuffledCards = cards.sort(() => Math.random() - 0.5); const shuffledPositions = positions.sort(() => Math.random() - 0.5); shuffledCards.forEach((card, index) => { const $card = $(card); const pos = shuffledPositions[index]; $card.removeClass('flipped matched').css({ position: 'absolute', left: 0, top: 0 }).addClass('card-front'); const $wrapper = $('<div class="card-wrapper"></div>').css({ width: cardWidth, height: cardHeight, left: pos.left, top: pos.top, display: 'block', 'z-index': 50 + index }); console.log(backUrl) const $flip = $('<div class="card-flip"></div>'); const $back = $('<div class="card-back"></div>').css({ 'background-image': `url(${backUrl})` }); $flip.append($back).append($card); $wrapper.append($flip); $body.append($wrapper); // Принудительная инициализация изображений $wrapper.find('img').each(function () { const $img = $(this); const src = $img.attr('data-original-src') || $img.attr('data-src'); const srcset = $img.attr('data-srcset'); if (src) $img.attr('src', src); if (srcset) $img.attr('srcset', srcset); }); }); } // Первая отрисовка renderCards(); // Клик по карточке $(document).on('click', '.card-wrapper:not(.flipped):not(.matched)', function () { if (openedCards.length >= 2) return; const $card = $(this); $card.addClass('flipped'); openedCards.push($card); if (openedCards.length === 2) { const name1 = openedCards[0].find('.card-front').attr('name'); const name2 = openedCards[1].find('.card-front').attr('name'); if (name1 === name2) { openedCards[0].addClass('matched'); openedCards[1].addClass('matched'); openedCards.length = 0; // Победа — если все карточки собраны if ($('.card-wrapper.matched').length === totalCards) { setTimeout(() => { $('html, body').animate({ scrollTop: 900 }, 300); $('.card-wrapper, [name="starttext"]').fadeOut(500); showItem(); }, 800); } } else { setTimeout(() => { openedCards[0].removeClass('flipped'); openedCards[1].removeClass('flipped'); openedCards.length = 0; }, 1000); } } }); // Рестарт $('[name="item_restart"]').on('click', function () { $('#article').css('height', 2400); hideItem(); $('html, body').animate({ scrollTop: 900 }, 300); setTimeout(() => { openedCards.length = 0; renderCards(); $('[name="starttext"]').fadeIn(500); }, 1000); }); function showItem() { // Меняем высоту элемента #article, а CSS transition обеспечит анимацию $('#article').css('height', 2900); // После завершения прелоадера запускаем оригинальную анимацию показа var currentTopLine = $(`.object[name="topline_result"]`); var currentTopLineValue = parseInt(currentTopLine.css('top'), 10) || 0; $(`.object[name^="item_"]`).each(function () { const $element = $(this); let originalTop = parseInt($element.css('top'), 10) || 0; if (!$element.data('original-top')) { $element.data('original-top', originalTop); } let newTopValue = originalTop - currentTopLineValue + 760; $element.fadeOut(0, function () { $element.css('top', newTopValue + 'px'); $element.addClass('active').fadeIn(300); }); }); } function hideItem() { var activeElement = $(`.object[name*="item_"]`); if (activeElement.length === 0) return; activeElement.each(function () { const $element = $(this); let originalTop = parseInt($element.data('original-top'), 10) || 0; $element.fadeOut(300, function () { $element.css('top', originalTop + 'px'); }); }); } }); </script>

это второй экран игры, который появляется после прохождения игры

Красным кедам — зеленый флаг! Это тот случай, когда яркий оттенок может быть базовым. Благодаря лаконичному силуэту модель легко впишется в любые образы, от классики до спорта, а велюровая текстура добавит комплектам фактурности.

Кожаные мюли на плоском ходу — лучший спутник долгих прогулок по набережной, экскурсий по историческому центру и пляжных выходов. Миксуйте их с шортами и рубашками, полупрозрачными вязаными платьями и крупными золотыми украшениями, которые будут эффектно дополнять акцентные пряжки на обуви.

1.

2.

Приметы идеальной пары для летних вечеринок: каблук kitten heel и удобная стелька (для танцев до самого утра), сатиновый блеск и освежающий травянистый оттенок. Настолько эффектные, что можно надеть любое мини-платье или любимый деним и выглядеть на все сто.

В этом сезоне небесно-голубой оказался не менее популярным оттенком, чем сливочно-желтый или пудрово-розовый. Предлагаем добавить в образы изящные босоножки из натуральной кожи в этом цвете — только представьте, как роскошно они будут смотреться в паре с белыми, шоколадными или лимонными летними нарядами.

3.

4.

Сахарная вата или клубника со сливками? Какие бы ассоциации у вас ни вызывал этот оттенок лодочек, настоятельно рекомендуем «подсластить» им повседневные образы, даже офисные. Щепотка романтики, кокетства и нежности летом не помешает!

Думали, ничто не может сдвинуть с пьедестала всеми любимый леопард? Оказалось, на это способен питон. Если говорить о самом модном анималистичном принте сезона, то ему здесь нет равных. Смело берите дерзкие мюли — и наблюдайте, как простой и спокойный образ становится ультратрендовым.

5.

6.

Когда удобные вьетнамки подружились с вечерней обувью, получилась изящная и необычная пара на каждый день. Она подойдет ко всему, при этом акцентная золотая деталь делает ее чуть более нарядной. А значит, после офиса можно сразу бежать на вечеринку.

Кокетливо-романтичные детали, отсылающие к эстетике рококо, — один из трендов Pinterest 2025 года. А если девичьи аутфиты не совсем про вас, попробуйте начать с аксессуаров. Тем более что объемные кожаные цветы на этой модели босоножек съемные, что позволяет регулировать градус нарядности.

7.

8.

Еще один громкий тренд сезона — образы lady like в стиле 1950-х годов с приталенными силуэтами и ретроаксессуарами. Если в этом сезоне вы решили взять курс на женственность, то к юбкам А-силуэта и облегающим жакетам добавьте классические черно-белые босоножки с острым мысом и аккуратным бантом.

Массивные модели кроссовок в последние годы сменились на лаконичные версии в ретростиле. Как эта пара с контрастным сочетанием фактур (белой кожи и серого велюра), которая вдохновлена спортивными силуэтами 1980-х годов. Она точно станет любимой — универсальная, с ноткой ностальгии и настолько удобная, что выдержит все спонтанные летние приключения.

9.

10.

{"width":1200,"column_width":216,"columns_n":5,"gutter":20,"margin":20,"line":40}
false
767
1300
false
false
true
{"mode":"page","transition_type":"slide","transition_direction":"horizontal","transition_look":"belt","slides_form":{}}
{"css":".editor {font-family: tautz; font-size: 16px; font-weight: 200; line-height: 21px;}"}