Born in 1853 in San Francisco, this iconic name is loved for its head-to-toe denim range, designed for the long haul.
+ Starting from the backstreets of Melbourne, the premium brand’s jeans, denim shorts and skirts are highly in demand.
+ The label offers denim plus street style dresses and staples inspired by Melbourne’s creative, art-infused alleyways.
+ Founded in Istanbul, the brand’s philosophy stays true to creating the perfect fits for women around the world.
+ One of Europe’s leading names for quality jeans, apparel and street shoes with an urban edge.
+ Pioneering denim since 1989, the brand is known for its cutting-edge style and no-fuss quality jeans and apparel.
+ Slim through the thigh and tapered at the ankle, this fit offers a clean-cut look while keeping a relaxed feel
+ Uncomplicated and all about comfort, the classic straight cut will never go out of style as the everyday staple.
+ Prefer a tailored look with room to move? The slim will help to add height and works for slight to medium build.
+ A street staple that works for slight to athletic builds, this cut offers a fitted look and helps to showcase your footwear
+ A must-have in every woman’s wardrobe, the skinny jeans add height, enhance your natural body shape and never go out of style.
+ Tighter & higher on the hips than the boyfriend cut, this new fit proves that the right jeans look and feel good.
+ Loved for its relaxed appeal, the boyfriend jean is the most effortlessly cool staple that can easily be dressed up with pumps.
+ Flares are back in this season to add fun curves to your silhouette. It’s the perfect fit to wear over your boots.
+
+ In the beautiful town of Broome, Western Australia, they are expecting some incredible technologies to come visit. Not the usual tourists, these massive subsea machines will check their bags in at the newly opened GE Oil & Gas subsea facility, before heading 220 km offshore to the INPEX operated Ichthys LNG project .
+
+
+
+ The Ichthys LNG project is the largest discovery of hydrocarbon liquids in Australia in 40 years, and GE subsea machines will be part of producing an incredible 8.4 million tonnes of LNG and 1.6 million tonnes of LPG every year.
+
+
+
+ Before their duties begin at one of the most significant oil and gas projects in the world, the subsea technologies will spend time at the facility where they will be commissioned, and receive minor repairs and undergo routine maintenance.
+
+
+
+ GE has employed a team of seven to work at the Broome facility, in conjunction with GE’s existing operations Jandakot, outside Perth.
+
+
+
+ The facility was specifically designed to service subsea projects and was built by locally based H &M Tracey Constructions Pty Ltd, a partly Indigenous owned business. Construction of the facility was completed in December, with the first equipment to support the commencement of the well dispatched in the Ichthys field in late January.
+
+
+
+ “The facility has been built by locals, it is supported by local businesses and services and the GE team members live in Broome. As part of the community, we look forward to providing year-round support to our customers during project development and ongoing operations.” Mary said.
+
+
+
+ A new report released this week at the World Economic Forum in Davos estimates that members of the Organisation for Economic Cooperation and Development (OECD) will need to invest more than $7.6 trillion (USD) over the next 25 years to meet their energy policy goals, further reduce emissions and create a more sustainable system for producing electricity from renewables and cleaner fuels such as natural gas.
+
+
+
+ They will also need to invest heavily in modernising, expanding and decentralising their power grids to make them more robust and resilient. “The electricity sector is at a cross-roads,” says Julian Critchlow, partner at Bain & Company who co-wrote the Future of Electricity report. “We are entering a period of unprecedented investment to meet our energy policy goals, but decreasing returns and increasing risk are raising questions over future investment.”
+
+
+
+ Top image: A GE wind turbine starts up at the GDF Suez Energy site in Galati, Romania. Image credit: @seenewphoto . Above: GE is currently testing the world’s most powerful gas turbine. Image credit: GE Power & Water.
+
+
+
+ The report calls for a coordinated effort by policymakers, regulators and businesses to ensure the power sector can continue to attract the investments needed to build a more secure, sustainable electricity sector. “This unprecedented transformation in the global power industry toward a low-carbon environment raises significant challenges for countries seeking to balance the need for sustainability, energy security and competitiveness,” says Steve Bolze, president and CEO of GE Power & Water and co-chair of the WEF Energy Utilities & Energy Technology community. “ Yet it also raises tremendous opportunities for investing in innovative technologies that can help bring about more sustainable economic growth for countries and a higher standard of living for their people.” (Read Bolze’s opinion piece here .)
+
+
+
+ For example, Europe’s industrial dynamo, Germany, will lose as much as fifth of its electricity generation capacity over the next decade as the country pulls the plug on nuclear reactors. A process called Energiewende will replace nuclear power with a combination of electricity from natural gas and renewables.
+
+
+
+ But it won’t be easy. Nuclear plants feed the electrical grid with crucial “base load power,” the minimum amount of electricity that must flow through the grid for the country to run. Unlike wind or solar electricity, which ebb and flow with the whims of the weather, base load power must remain reliable and always on.
+
+
+
+ Innovation is playing a key role in the transition. The latest flexible gas turbines and gas engines are already coverting natural gas into electricity at a low cost and allow operators to blend in intermittent renewable power like solar and wind power into the grid.
+
+
+Bill’s property Boco is in the middle of this brand new wind farm that is today welcoming the local community into its steadily rotating heart. Sixteen months after construction commenced Boco Rock Wind Farm is set to turn the local air currents into energy for the surrounding districts and beyond for at least the next quarter-century. Says Boco Bill: “Traditionally we were cattle and sheep, but we’re farming cattle and wind now!”
+
+
+ “The view of the Opera House and the Harbour Bridge still takes my breath away. We’re so lucky to live in this amazing, incredible city with this phenomenal harbour.”
+
+
+More like an art installation than a glass-walled meat larder, the charcuterie room features high quality artisan terrines and a fantastic range of bespoke, award-winning cured meats selected by Matt Moran. They will be sliced to order on a massive, traditional Berkel meat-slicer. “I’ve always wanted a big Berkel so I put it in the tender and when we won, I had to buy one,” laughs Moran. “Sitting at the bar watching the amazing meat being sliced and then grazing on great salami, bresaola and prosciutto – it’s a wonderful way to eat. And it’s especially good if you’re not overly hungry but you want to try some – or you’re on a paleo diet!”
+
+Likewise, the best local seafood is displayed in all its glory at the ice-covered Raw Bar. Pull up a stool and watch oysters from half a dozen different regions being shucked to order, or tuck into a piece of premium Hiramasa Kingfish sashimi. “There’s nothing better than great local seafood such as a bucket of prawns or some fresh oysters,” says Moran, “especially when you’re looking over Sydney Harbour. But it’s not just the simple stuff - we’re also doing things like cured trout and salmon and tuna with dressings.”
+
+And while the menu and fitout of Opera Bar are moving upmarket, the setting still sparkles. “Walking around here everyday, you sometimes to forget where you are,” says Moran, “But the view of the Opera House and the Harbour Bridge still takes my breath away. We’re so lucky to live in this amazing, incredible city with this phenomenal harbour.”
diff --git a/issues/escape-one/data/end.md b/issues/escape-one/data/end.md
new file mode 100644
index 00000000..d76638d3
--- /dev/null
+++ b/issues/escape-one/data/end.md
@@ -0,0 +1,57 @@
+---
+
+ category: "Operabar Moments"
+ title: "#LoveOperaBar"
+
+ thumb_url: assets/end/5.jpg
+ cover_url: assets/end/5.jpg
+
+ images:
+ - title: Opera Bar
+ url: assets/end/1.jpg
+
+ - title: Opera Bar
+ url: assets/end/2.jpg
+
+ - title: Opera Bar
+ url: assets/end/3.jpg
+
+ - title: Opera Bar
+ url: assets/end/4.jpg
+
+ - title: Opera Bar
+ url: assets/end/5.jpg
+ cover: true
+
+ - title: Opera Bar
+ url: assets/end/6.jpg
+
+ - title: Opera Bar
+ url: assets/end/7.jpg
+
+ - title: Opera Bar
+ url: assets/end/8.jpg
+
+ - title: Opera Bar
+ url: assets/end/9.jpg
+
+ layout:
+ type: custom
+
+---
+
+
+ I’m a very, very firm believer in using Australian products and not overcomplicating that product.
+
diff --git a/issues/escape-two/data/all-in-flavour/1.md b/issues/escape-two/data/all-in-flavour/1.md
new file mode 100644
index 00000000..05462245
--- /dev/null
+++ b/issues/escape-two/data/all-in-flavour/1.md
@@ -0,0 +1,25 @@
+---
+
+ cover_url: assets/all-in-flavour/kingfish.jpg
+
+ layout:
+ type: two-column
+ image_style: cover
+
+---
+
+When Leena D’Onofrio began working at Opera Bar a decade ago, the budding sous chef couldn’t believe the scale of the place. It was still in its infancy but the kitchen she walked into was turning out five or six thousand plates a week. Today, that number’s nearly tripled to over 15,000 plates a week.
+
+“This is a beast,” laughs D’Onofrio, who is now the executive chef at Opera Bar, “And I love to tame it! I thrive on the stress - it makes me feel younger. People think I’m crazy but I honestly love it, I love the challenge.”
+
+In the early days, those challenges included small wallmounted deck ovens for the pre-made pizzas. “At some points you had timers going off every few seconds,” she says.
+
+The redevelopment of Opera Bar means all that is a thing of the past. “We now make the pizzas to order,” she says, “We roll the dough, do the toppings and pop them into a proper pizza oven.”
+
+While she’s grateful to see the back of the tiny wall ovens, it’s the ability to incorporate much more seasonal produce that really has D’Onofrio excited. “This new phase is totally different,” she says. “We’ve been stepping up consistently, but this is a whole new level. The menu is about whatever’s around me and in season. When we see beautiful produce, we’ll try to incorporate it, from cheeses to fresh heirloom carrots. I don’t like to source stuff from overseas, I’m a very, very firm believer in using Australian products and not overcomplicating that product.”
+
+D’Onofrio, who has worked in kitchens since she was 18, has seen tastes change and evolve. She believes people these days are more willing to try new things. “It’s nice to push the boundaries,” she says. “We’ll always cater to everybody but having things like the Raw Bar where you can get six or eight different varieties of oysters, shucked to order at the bar, as well as raw seafood like scampi and kingfish sashimi, is just fantastic. The way of the future is having people see fresh products being done right in front of them.”
+
+The twin elements of showcasing as well as sharing food were two important touchstones when D’Onofrio designed the menu. “People eat with their eyes first,” she says, “so being able to present the food beautifully like all the hanging meats in the chactuterie room that will be sliced fresh, is a big thing for me. And then there’s all the share plates that we’re seeing people go for. There’s even a slow-roasted Moran’s Lamb shoulder that you can share between three or four for your Sunday lunch!”
+
+The craziness of the new kitchen is a long way from the simple family photo D’Onofrio had at the top of the Sydney Opera House stairs when her parents first brought her here as a kid. But she counts herself lucky for the ringside seat she has had working at Opera Bar. “Seeing the place grow has been wonderful,” says D’Onofrio, “And even though I work here, I still bring friends in, on nights off. Especially on a breezy summer’s night with a few oysters, the scampi with native finger limes and some wine, prosciutto and cheese - what more could you ask for?”
diff --git a/issues/escape-two/data/carmen-hamilton.md b/issues/escape-two/data/carmen-hamilton.md
new file mode 100644
index 00000000..a92ddfab
--- /dev/null
+++ b/issues/escape-two/data/carmen-hamilton.md
@@ -0,0 +1,46 @@
+---
+
+ category: Opera Bar Ambassador
+ title: Carmen Hamilton
+
+ cover_url: assets/carmen-hamilton/carmen1.jpg
+
+ images:
+ - url: assets/carmen-hamilton/carmen2.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ image_align: right
+
+---
+
+Moroccanoil Treatment is an ultra-light formula which absorbs into the hair instantly, leaving a natural, silky finish and brilliant shine without leaving a residue.
"
+ price: $49.50 AUD
+
+ - link: http://www.shopbop.com/heidi-cover-melissa-odabash/vp/v=1/1500939758.htm?folderID=2534374302067619&fm=other-shopbysize&colorId=16825
+ image_url: assets/4-summer-love/p6-product-3.png
+ title: Melissa Odabash Cover up
+ description: "Tonal embroidery and crocheted trim give this cover-up a delicate aesthetic. Drawstring waist. Semi-sheer. Fabric: Embroidered voile. 100% rayon."
+ price: $210.78 AUD
+
+ - link: http://www.eskaalikai.com.au/collections/sandals/products/slides-1
+ image_url: assets/4-summer-love/p5-product-3.jpg
+ title: Eska Alikai Lambskin Leather Slides
+ description: "Online exclusive. The fabric is leather lambskin. Toe strap width is 6.5 cm."
+ price: $165 AUD
+
+ - link: http://www.amazon.com/It-Alexa-Chung/dp/0143124838
+ image_url: assets/4-summer-love/p5-product-4.jpg
+ title: Required reading - It
+ subtitle: by Alexa Chung
+ description:
+ "The darling of the fashion world and co-host of the music TV show Fuse News shares her inspirations, musings, and her own very personal and eclectic style.
+
+ With influences that range from the sultry beauty of Jane Birkin to the rocker chic of Mick Jagger, it’s no wonder that everything worn by Alexa Chung instantly becomes the latest trend. Already a hugely popular television personality and a muse for Marc Jacobs and Karl Lagerfeld, Chung is now a co-anchor of the nightly music show Fuse News, covering today’s hottest acts and entertainment news. Chung’s first book, It, provides her legion of fans with a long-awaited inside look at her fascinating world.
+
+ A wholly unique collection of Chung’s personal writings, drawings, and photographs, It covers everything from her candid thoughts on life, love, and music to her favorite ensembles and how to decide what to wear in the morning. With Chung’s characteristic wit, charm, and refreshingly down-to-earth attitude, this full-color compendium is a must-have for anyone who loves fashion, music, and just about everything Alexa Chung.
"
+ price: $21.73 AUD
+
+ layout:
+ type: two-column
+
+---
diff --git a/issues/great-escape/data/4-summer-love/6.md b/issues/great-escape/data/4-summer-love/6.md
new file mode 100644
index 00000000..f68c1f84
--- /dev/null
+++ b/issues/great-escape/data/4-summer-love/6.md
@@ -0,0 +1,25 @@
+---
+
+ title: Bites by the Beach
+ category: Favourite Eats
+ cover_url: assets/4-summer-love/p6.jpg
+
+ images:
+ - url: assets/4-summer-love/p6-1.jpg
+
+ layout:
+ type: two-column
+
+---
+
+Let me give you a (not-so-fun) reality check- two in three Australians will be diagnosed with skin cancer. Thus, I present to you a lightweight alternative for those who detest the heavy feel of foundation, with the added benefits of hydration and SPF50+ which offers a greater level of protection. This tinted moisturiser is multifunctional as it instantly minimises the look of imperfections with colours designed to suit several skin tones.
+
+ It glides on the skin like butter on bread, creating a smooth and supple effect, while known brightening agents Arbutin, Licorice Extract and Natural Amino Acids help improve the appearance of discolouration for more luminous skin.
+ price: $48 AUD
+
+ - link: http://www.purist.com/akin-face-care/serums/akin-pure-radiance-certified-organic-rosehip-oil-23ml
+ image_url: assets/6-summer-survival-guide/p1-product-2.jpg
+ title: A'kin Pure Radiance Rosehip Oil - Certified Organic 23ml
+ brand: A'kin
+ description:
+ It’s the holy grail of skin products and the ideal antidote for dry skin without dipping too much into your savings. It provides a multi-purpose treatment for several issues. It not only restores moisture to dehydrated skin but reduces the signs of ageing and stretch marks through the use of omega 3, 6 and 9. It also contains Provitamin A and E, ensuring the skin is smooth whilst improving the appearance of scars and pimples and giving the skin that radiant glow we’re all aiming for.
+ price: $19.95 AUD
+
+ - link: http://www.asos.com/Elemental-Herbology/Elemental-Herbology-Facial-Detox-Purifying-Face-Mask-75ml/Prod/pgeproduct.aspx?iid=2219324&cid=15264&sh=0&pge=0&pgesize=36&sort=-1&clr=Purifying+face+mask
+ image_url: assets/6-summer-survival-guide/p1-product-3.jpg
+ title: Elemental Herbology Facial Detox Purifying Face Mask
+ brand: Elemental Herbology
+ description:
+ Our lives can be quite frantic and constantly changing, just like our skin! The impact of differing seasons, changes in hormones and our way of living is reflected in the appearance and feel of our skin. Which is why the founder, Kristy Cimesa, has developed this mask to combat these issues and stop spots in their tracks! It’s designed to hydrate, repair, fight free radicals while rebalancing the skin. Containing a deep-cleansing formula of Manuka honey, aloe, fig extract, oat flour and Amazonian Clay, this mask helps to eliminate toxins from the surface while gently exfoliating blocked pores for a softer, radiant appearance. It contains the essential oils of eucalyptus, cedarwood, lavender and rosemary to help balance sebum production.
+ price: $53.33 AUD
+
+ - link: http://shop.nordstrom.com/s/chanel-le-blanc-de-chanel-sheer-illuminating-base/2967481
+ image_url: assets/6-summer-survival-guide/p1-product-4.jpg
+ title: Chanel Le Blanc de Chanel Sheer Illuminating Base
+ brand: Chanel
+ description:
+ I present to you the staple of beauty products; the crème de la crème of makeup essentials. It’s quite surprising the amount of women that don’t use a primer or know it’s worth. So like the idea of waterproofing a pair of your black suede shoes to prolong its life, a primer does the same with makeup! This multi-tasking liquid ‘primes’ skin to set the makeup, while adding subtle contours and a natural dewy glow. This refreshing fluid keeps to its iconic subtle rose scent while smoothing away redness and the appearance of pores.
+ price: $53.30 AUD
+
+ - link: http://shop.nordstrom.com/s/lancome-genifique-yeux-light-pearl-eye-illuminating-youth-activating-concentrate/3354644?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_0_A
+ image_url: assets/6-summer-survival-guide/p1-product-5.jpg
+ title: "'Génifique Yeux Light-Pearl' Eye-Illuminating Youth Activating Concentrate"
+ brand: Lancôme
+ description:
+ Introducing the perfect serum for smoother, more luminous and younger looking eyes. This is Lancome’s first eye-illuminating serum, engineered with a unique rotating and massaging applicator to cover even the most hard-to-reach eye areas. Experience a 360° eye contour transformation above and below the eyes.
+ price: $80.54 AUD
+
+ - title: Primrose Facial Hydrating Cream
+ link: http://www.aesop.com/au/skin-care-1/primrose-facial-hydrating-cream-2.html
+ image_url: assets/6-summer-survival-guide/p1-product-6.jpg
+ brand: Aesop
+ description: Let’s get to the nitty-gritty of managing your skin this summer! Aesop’s range is essential. This is Aesop’s most coveted product of daily moisturisers, with the deep absorbing plant extracts designed to hydrate and soften normal, dry and stressed skin. This concoction is high in gamma linoleic acids and is boosted with Primrose and Rose Hip Seed extracts, natural mediums for Vitamin E and C. It also includes hints of sage, wild rosemary and lavender. With this moisturiser radiating herbaceous and earthy scents to captivate ones senses, who can resist?
+ price: $49 AUD
+
+ layout:
+ type: two-column
+ image_align: right
+
+---
+
+##FIRST BASE
+
+Think of your face like a canvas and yourself as a painter. Just like how a primer is needed to increase paint durability, so too does the face (but with makeup of course). Create the perfect base by first moisturising your face with a hydrating cream (3) then prime with Chanel Sheer Illuminating Base(5). Using a kabuki brush, buff on some mineral foundation(7) or for those who need that little bit of hydration, opt for Kate Sommerville’s CC Cream(1) which also contains SPF50+. The primer hides imperfections by minimising the appearance of pores and redness, while the foundation evens out discolouration to give a silky, radiant finish.
+
+## BRONZING BELLA
+
+It’s amazing what the wonders of bronzer can do. It can reduce the appearance of your most unfavourable features or create the illusion of a slimmer face. Using a contouring brush, lightly apply a layer of Illamasqua bronzing powder(9) “Writhe” (darker colour) in a “3” motion on the side of your face. Start at the top of your forehead near the temples, working your way down to the cheekbone and back out along the jawline. If you feel that your jawline is quite narrow already, you can choose to skip this step.
+
+##CREATE THE CONTOURS
+
+Here’s where you’ll see the most change in the look of your face; adding more depth to your best features while beautifying features that go unnoticed.
+Using a small blending brush, apply bronzer (9) from the inner corner of your brow and down the sides of the bridge of the nose to the top rim of your nostrils. You can go that extra mile by lightly applying bronzer to the sides of the nostrils.
+Apply more bronzer to the hollows of your cheeks to create the look of high cheek bones.
diff --git a/issues/great-escape/data/6-summer-survival-guide/2.md b/issues/great-escape/data/6-summer-survival-guide/2.md
new file mode 100644
index 00000000..29b51d72
--- /dev/null
+++ b/issues/great-escape/data/6-summer-survival-guide/2.md
@@ -0,0 +1,73 @@
+---
+
+ category: Must haves
+ title: Beauty fixes
+# image_url: assets/6-summer-survival-guide/p2-brush.png
+ products:
+
+ - link: http://www.asos.com/bareMinerals/bareMinerals-Original-Foundation-SPF-15---Light-Shades/Prod/pgeproduct.aspx?iid=1379744&SearchQuery=ORIGINAL%20Foundation%20Broad%20Spectrum%20SPF%2015&sh=0&pge=0&pgesize=36&sort=-1&clr=Fair
+ image_url: assets/6-summer-survival-guide/p2-product-1.jpg
+ title: Original foundation broad spectrum SPF15+
+ brand: Bare Minerals
+ description:
+ Finding makeup that you can sleep in without harming the skin is quite difficult. That is, until Bareminerals foundation range walked into the picture. Avoid oily-looking skin or makeup melting off your face from the sweltering heat, by opting for a mineral foundation. It’s the smarter alternative this summer, for women that want their makeup to look effortless. It contains SPF15 and provides a flawless coverage with a luminous finish that won’t clump nor cake. This lightweight mineral powder reduces the appearance of fine lines, wrinkles and uneven skin tone without dehydrating the skin. It looks like powder but feels like silk!
+ price: $48
+
+ - link: http://shop.nordstrom.com/s/burberry-beauty-sheer-luminous-concealer/3207492?origin=keywordsearch-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=1156&cm_sp=personalizedsort-_-searchresults-_-1_3_B
+ image_url: assets/6-summer-survival-guide/p2-product-2.jpg
+ title: Sheer Luminous Concealer
+ brand: Burberry Beauty
+ description:
+ Sick of makeup emphasizing the appearance of flakey skin? Burberry’s luminous concealer has answered your prayers- a moisturizing crease-control concealer containing wild rose extract that hides dark circles, blemishes and fine lines for a naturally smooth finish. You can say it’s the fairy godmother of all concealers, providing ultra-hydration with a slight tinge of highlighting. Slick on this concealer under the eyes, on the bridge of the nose, bow of the mouth, inner corner of eyes and on the cheekbones for an instant face-lift without the surgery.
+ price: $46.85 AUD
+
+ - link: http://www.asos.com/Illamasqua/Illamasqua-Bronzer/Prod/pgeproduct.aspx?iid=824047&WT.ac=rec_viewed
+ image_url: assets/6-summer-survival-guide/p2-product-3.jpg
+ title: Glint and Writhe (Soft luminous peach/ golden tan)
+ brand: Illamasqua bronzer
+ description:
+ Inspired by the glorious beauty of the Sirens and the enthralling nature of their appeal, Illamasqua has created this product designed to laud the divine being within us all. This duo-bronzer contains crushed pearl powder for a smooth, even finish that radiates a sumptuous sun-kissed glow. Owing to it’s multi-use abilities, this powder can be swirled together and applied all over the face for luminosity and alternatively, the lighter colour can act as a highlighter while the darker colour as a bronzer. Both shades can double up as eyeshadows. We suggest that fairer skins should opt for ‘glint and writhe’ while medium-dark skin tones would match nicely with ‘glint and burnish.’ With this all-encompassing bronzer, there is no way you’ll be short of celestial beauty.
+ price: $51.47
+
+ - link: http://shop.nordstrom.com/s/mac-fix/2926537
+ image_url: assets/6-summer-survival-guide/p2-product-4.jpg
+ title: Fix+
+ brand: M·A·C
+ description:
+ Summer weather calls for a good investment into a setting spray to seal in that flawless makeup look you’ve spent ages perfecting and with no more touch-ups! Try M.A.C.’s aqua-spritz of vitamin and minerals, infused with a calming blend of green tea, chamomile and cucumber with a subtle fresh scent of sugi. Hydrate the skin before applying makeup to allow the skin to soak it up and lock in your look by spritzing at the end.
+ price: $24.60
+
+ - link: http://shop.nordstrom.com/s/eyeko-tinted-brow-gel/3645166?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_1_A
+ image_url: assets/6-summer-survival-guide/p2-product-5.jpg
+ title: Tinted Brow Gel
+ brand: Eyeko
+ description:
+ Whether you want to flaunt it like Cara Delevingne or keep your brows simple and clean, Eyeko’s tinted brow gel does the trick! It glides on easily with little effort to achieve those well defined brows we’ve all been aiming for, spotted on several fashion runways. It’s specially formulated to give your brows a long-lasting hold with a natural finish. With its blend of keratin, ginkgo biloba, vitamins and botanical proteins to help condition and visibly enhance your eyebrows with regular use, it is no surprise that Eyeko’s brow gel won Cosmopolitan beauty awards for 2013!
+ price: $28.43
+
+ - link: http://shop.nordstrom.com/s/nars-velvet-matte-lipstick-pencil/2893794?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_1_A
+ image_url: assets/6-summer-survival-guide/p2-product-7.jpg
+ title: Velvet Matte Lipstick Pencil in 'Roman Holiday'
+ brand: NARS
+ description:
+ Pastels are the rage this season, seen from several fashion runways to the likes of Prabal Gurung, Michael Kors and Calvin Klein. For those not looking to plunge themselves into this bold look just yet, opt for this wearable NARS matte lip liner that still abides with trending lips this season, without stopping traffic! The application of a lipstick combined with the added convenience of a jumbo crayon design, makes it the ideal product for shaping the lips. The long lasting, non-drying formula is enriched with vitamin E and emollients for a creamy texture, while a combination of unique silicones ensures prolonged wear that won’t dehydrate your lips this summer.
+ price: $29.61
+
+ layout:
+ image_align: right
+
+---
+
+##MINIM-EYES
+
+Illamasqua bronzer can double up as an eyeshadow but alternatively, you can ditch the eyeshadow and mascara because this season is all about keeping your eye makeup to its minimal, as seen on the runways of Westwood, Chloe, Balenciaga and Giambattista Valli. Emphasise the lash line by using a soft colour eye pencil (brown) and blend along the line with a cue tip for some lash definition. Bold brows are the best accessories to any woman’s face, so try Eyeko’s brow gel (11) to keep hairs at place and visibly enhance brow appearance.
+
+##FAIR FLUSH
+
+This season, the cheeks are lightly flushed as seen on Vera Wang. Lightly brush on Illamasqua bronzer “Glint”, a soft luminous peach colour to create a light radiant flush, the type after a brisk morning walk.
+
+##HAIL THE HIGHLIGHTS
+
+Complete the look with illuminators to create a natural dewy finish. Lightly dab Burberry’s Luminous Concealer (8) on the bridge of the nose, inner corner of the eyes and the bow of the mouth and blend in. Dot on the luminous concealer in a “C” shape, starting from the the brow bone to the top of the cheeks then blend up and down.
+
+Now seal in all that goodness by spritzing the face with M.A.C. Fix+(10) to prolong your makeup and keep you feeling cool and fresh in the summer heat!
diff --git a/issues/great-escape/data/6-summer-survival-guide/3.md b/issues/great-escape/data/6-summer-survival-guide/3.md
new file mode 100644
index 00000000..abf78172
--- /dev/null
+++ b/issues/great-escape/data/6-summer-survival-guide/3.md
@@ -0,0 +1,15 @@
+---
+
+ cover_url: assets/6-summer-survival-guide/p3.jpg
+
+ layout:
+ image_style: background
+ content_align: left
+ content_style: black
+ content_valign: middle
+
+---
+
+##HEARTWARMERS
+
+Treat yourself these holidays with a well-deserved survival make up kit! Or if you're feeling kind... Splurge on these goodies for your family, friends or a significant other. A good skincare regimen is just as vital as a healthy lifestyle and balanced nutrition, so consider these gift kits that not only beautifies one’s complexion and arouses the senses, but leaves a lasting impression on any skin.
diff --git a/issues/great-escape/data/6-summer-survival-guide/4.md b/issues/great-escape/data/6-summer-survival-guide/4.md
new file mode 100644
index 00000000..6c04bbfe
--- /dev/null
+++ b/issues/great-escape/data/6-summer-survival-guide/4.md
@@ -0,0 +1,43 @@
+---
+
+ products:
+ - link: "#unknown"
+ image_url: "assets/6-summer-survival-guide/p4-product-1.jpg"
+ title: "Clarins Moisture Must-Haves HydraQuench Pack"
+ description: "This Clarins pack is filled with a cornucopia of hydrating products- laid out beautifully in a classic cream bag."
+
+ - link: "http://www.aesop.com/au/packs-and-gifts/gift-kits/alacrity-gift-kit.html"
+ image_url: "assets/6-summer-survival-guide/p4-product-2.jpg"
+ title: "AESOP Alacrity / Alacrita' Espressiva gift kit"
+ description: "Inspired by the arts and Italian Futurist movement of the early twentieth century, Aesop brings to you a high-quality skincare pack with their own signature flare! This Alacrity kit is only for those equipped with the ‘brisk and cheerful readiness’ to accept it. It is presented in sleek, elegant tin boxes, featuring titles and designs that pay homage to ground-breaking Futurist language, art and typography."
+
+ - link: "http://shop.nordstrom.com/s/lancome-clarisonic-high-performance-skincare-set-321-value/3639478?origin=category-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=336&cm_sp=personalizedsort-_-browseresults-_-1_1_C"
+ image_url: "assets/6-summer-survival-guide/p4-product-3.jpg"
+ title: "High Performance Skincare Set"
+ description: "Lancôme and CLARISONIC team up to present to you an ultimate pampering set so that the perfect complexion is within reach!"
+ price: "$273.45"
+
+ custom_html: true
+
+ layout:
+ type: custom
+
+---
+
+
diff --git a/issues/guide/data/end.md b/issues/guide/data/end.md
new file mode 100644
index 00000000..64e0d139
--- /dev/null
+++ b/issues/guide/data/end.md
@@ -0,0 +1,16 @@
+---
+
+ title: A never ending story.
+ cover_url: assets/background_large.jpg
+ thumb_url: assets/background.jpg
+
+ layout:
+ type: one-column
+ image_style: background
+ content_style: black
+ content_align: center
+ content_valign: middle
+
+---
+
+Now, what is Issue? Issue is a lightweight magazine format that is more open and social by design.
diff --git a/issues/guide/data/fullscreen.md b/issues/guide/data/fullscreen.md
index 932c185a..c4e0b430 100644
--- a/issues/guide/data/fullscreen.md
+++ b/issues/guide/data/fullscreen.md
@@ -1,25 +1,29 @@
---
title: Fullscreen White
- image_url: http://25.media.tumblr.com/30c0fdcfdec477eafdee2f837e269b9e/tumblr_mxrv62sm2I1st5lhmo1_1280.jpg
- published_at:
+ cover_url: http://25.media.tumblr.com/30c0fdcfdec477eafdee2f837e269b9e/tumblr_mxrv62sm2I1st5lhmo1_1280.jpg
+ thumb_url: http://25.media.tumblr.com/30c0fdcfdec477eafdee2f837e269b9e/tumblr_mxrv62sm2I1st5lhmo1_640.jpg
layout:
type: two-column
image_style: background
+ content_style: white
content_align: right
content_valign: bottom
---
-```
+
layout:
- type: two-column
- image_style: background
- content_align: right
- content_valign: bottom
-```
+ type: one-column | two-column | three-column
+ image_style: background | cover | fit
+ image_align: left | right
+ content_style: white | black | transparent
+ content_height: auto | full
+ content_align: left | center | right
+ content_valign: top | middle | bottom
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
diff --git a/issues/guide/data/fullscreen/1.md b/issues/guide/data/fullscreen/1.md
index b492874e..81193403 100644
--- a/issues/guide/data/fullscreen/1.md
+++ b/issues/guide/data/fullscreen/1.md
@@ -1,8 +1,7 @@
---
title: Fullscreen Dark
- image_url: http://24.media.tumblr.com/c191202cf54249bf7149acf7054252d0/tumblr_myebvrTkci1st5lhmo1_1280.jpg
- published_at:
+ cover_url: http://24.media.tumblr.com/c191202cf54249bf7149acf7054252d0/tumblr_myebvrTkci1st5lhmo1_1280.jpg
layout:
type: three-column
@@ -25,4 +24,4 @@ layout:
content_align: right
content_valign: bottom
content_height: full
-```
\ No newline at end of file
+```
diff --git a/issues/guide/data/fullscreen/2.md b/issues/guide/data/fullscreen/2.md
index 93525342..d853ab15 100644
--- a/issues/guide/data/fullscreen/2.md
+++ b/issues/guide/data/fullscreen/2.md
@@ -1,15 +1,15 @@
---
title: Fullscreen Transparent
- image_url: http://24.media.tumblr.com/786cef21ca271002c4a434e905621d20/tumblr_mvyx8txG0p1st5lhmo1_1280.jpg
- handle: fullscreen/2
+ cover_url: http://24.media.tumblr.com/786cef21ca271002c4a434e905621d20/tumblr_mvyx8txG0p1st5lhmo1_1280.jpg
layout:
type: one-column
image_style: background
- content_style: transparent
+ content_style: black
content_align: center
content_valign: middle
+ content_transparent: "1"
---
diff --git a/issues/guide/data/one-col.md b/issues/guide/data/one-col.md
index c398bc62..e88f8548 100644
--- a/issues/guide/data/one-col.md
+++ b/issues/guide/data/one-col.md
@@ -4,7 +4,7 @@
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
byline: By Zyralyn Bacani
- image_url: assets/background.jpg
+ cover_url: http://25.media.tumblr.com/af50758346e388e6e69f4c378c4f264f/tumblr_mzgzcdEDTL1st5lhmo1_1280.jpg
layout:
type: one-column
diff --git a/issues/guide/data/one-col/1.md b/issues/guide/data/one-col/1.md
index 6f66a24d..1ca62711 100644
--- a/issues/guide/data/one-col/1.md
+++ b/issues/guide/data/one-col/1.md
@@ -4,8 +4,7 @@
description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: http://24.media.tumblr.com/f87b54bbce49e59debf7606662f54862/tumblr_n0hpxxDOJ91st5lhmo1_1280.jpg
layout:
type: one-column
diff --git a/issues/guide/data/one-col/2.md b/issues/guide/data/one-col/2.md
index a3205210..20943c92 100644
--- a/issues/guide/data/one-col/2.md
+++ b/issues/guide/data/one-col/2.md
@@ -1,11 +1,9 @@
---
title: One Column Fullscreen Image
- description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: assets/background.jpg
layout:
type: one-column
diff --git a/issues/guide/data/one-third.md b/issues/guide/data/one-third.md
index 87458a30..32bfe6be 100644
--- a/issues/guide/data/one-third.md
+++ b/issues/guide/data/one-third.md
@@ -4,7 +4,9 @@
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
byline: By Zyralyn Bacani
- image_url: assets/background.jpg
+
+ cover_url: assets/background_large.jpg
+ thumb_url: http://lorempixel.com/200/154
layout:
type: three-column
diff --git a/issues/guide/data/one-third/1.md b/issues/guide/data/one-third/1.md
index 4e2f7167..c7c3f9a0 100644
--- a/issues/guide/data/one-third/1.md
+++ b/issues/guide/data/one-third/1.md
@@ -4,8 +4,7 @@
description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: assets/background.jpg
layout:
type: three-column
diff --git a/issues/guide/data/one-third/2.md b/issues/guide/data/one-third/2.md
index 194a8fb7..71b33316 100644
--- a/issues/guide/data/one-third/2.md
+++ b/issues/guide/data/one-third/2.md
@@ -4,8 +4,7 @@
description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: assets/background.jpg
layout:
type: three-column
diff --git a/issues/guide/data/one-third/3.md b/issues/guide/data/one-third/3.md
index 553c62ea..386a9fe5 100644
--- a/issues/guide/data/one-third/3.md
+++ b/issues/guide/data/one-third/3.md
@@ -4,8 +4,7 @@
description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: assets/background.jpg
layout:
type: three-column
diff --git a/issues/guide/data/products-split.md b/issues/guide/data/products-split.md
index 516dc36d..e673c72c 100644
--- a/issues/guide/data/products-split.md
+++ b/issues/guide/data/products-split.md
@@ -2,40 +2,42 @@
title: Top Products
category: shopping
- image_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_b.jpg
+ cover_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_b.jpg
+ thumb_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_m.jpg
+
products:
- - url: "#1"
+ - link: "#1"
image_url: 'http://cl.ly/image/3740122Z2G2j/Screen%20Shot%202013-12-13%20at%2011.51.59%20am.png'
title: "Product 1"
description:
price: "$100"
- - url: "#2"
+ - link: "#2"
image_url: 'http://cl.ly/image/0W2z1x231p2D/Screen%20Shot%202013-12-18%20at%206.28.32%20pm.png'
title: "Product 2"
description:
price: "$200"
- - url: "#3"
+ - link: "#3"
image_url: 'http://cl.ly/image/16260q391k3t/Screen%20Shot%202013-12-13%20at%2011.31.23%20am.png'
title: "Product 3"
description:
price: "$300"
- - url: "#4"
+ - link: "#4"
image_url: 'http://cl.ly/image/0E1D2G2z2w3g/Screen%20Shot%202013-12-13%20at%2011.32.49%20am.png'
title: "Product 4"
description:
price: "$400"
- - url: "#5"
+ - link: "#5"
image_url: 'http://cl.ly/image/3I3k0r000g0p/Screen%20Shot%202013-12-13%20at%2012.09.59%20pm.png'
title: "Product 5"
description:
price: "$500"
- - url: "#6"
+ - link: "#6"
image_url: 'http://cl.ly/image/2a2B1x2Y192R/Screen%20Shot%202013-12-13%20at%2011.32.09%20am.png'
title: "Product 6"
description:
diff --git a/issues/guide/data/products-split/1.md b/issues/guide/data/products-split/1.md
index c17f316c..5e8873b6 100644
--- a/issues/guide/data/products-split/1.md
+++ b/issues/guide/data/products-split/1.md
@@ -4,7 +4,7 @@
description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
+ cover_url: assets/background.jpg
published_at:
layout:
@@ -12,42 +12,42 @@
products:
- - url: "#1"
+ - link: "#1"
image_url: 'http://cl.ly/image/3740122Z2G2j/Screen%20Shot%202013-12-13%20at%2011.51.59%20am.png'
title: "Product 1"
subtitle: "Subtitle"
description: lorem_ipsum(15)
price: "$100"
- - url: "#2"
+ - link: "#2"
image_url: 'http://cl.ly/image/0W2z1x231p2D/Screen%20Shot%202013-12-18%20at%206.28.32%20pm.png'
title: "Product 2"
subtitle: "Subtitle"
description: lorem_ipsum(15)
price: "$200"
- - url: "#3"
+ - link: "#3"
image_url: 'http://cl.ly/image/16260q391k3t/Screen%20Shot%202013-12-13%20at%2011.31.23%20am.png'
title: "Product 3"
subtitle: "Subtitle"
description: lorem_ipsum(15)
price: "$300"
- - url: "#4"
+ - link: "#4"
image_url: 'http://cl.ly/image/0E1D2G2z2w3g/Screen%20Shot%202013-12-13%20at%2011.32.49%20am.png'
title: "Product 4"
subtitle: "Subtitle"
description: lorem_ipsum(15)
price: "$400"
- - url: "#5"
+ - link: "#5"
image_url: 'http://cl.ly/image/3I3k0r000g0p/Screen%20Shot%202013-12-13%20at%2012.09.59%20pm.png'
title: "Product 5"
subtitle: "Subtitle"
description: lorem_ipsum(15)
price: "$500"
- - url: "#6"
+ - link: "#6"
image_url: 'http://cl.ly/image/2a2B1x2Y192R/Screen%20Shot%202013-12-13%20at%2011.32.09%20am.png'
title: "Product 6"
subtitle: "Subtitle"
diff --git a/issues/guide/data/products-split/2.md b/issues/guide/data/products-split/2.md
index 55764c54..0804d33b 100644
--- a/issues/guide/data/products-split/2.md
+++ b/issues/guide/data/products-split/2.md
@@ -3,40 +3,39 @@
title: Two Column
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url:
products:
- - url: "#1"
+ - link: "#1"
image_url: 'http://cl.ly/image/3740122Z2G2j/Screen%20Shot%202013-12-13%20at%2011.51.59%20am.png'
title: "Product 1"
description:
price: "$100"
- - url: "#2"
+ - link: "#2"
image_url: 'http://cl.ly/image/0W2z1x231p2D/Screen%20Shot%202013-12-18%20at%206.28.32%20pm.png'
title: "Product 2"
description:
price: "$200"
- - url: "#3"
+ - link: "#3"
image_url: 'http://cl.ly/image/16260q391k3t/Screen%20Shot%202013-12-13%20at%2011.31.23%20am.png'
title: "Product 3"
description:
price: "$300"
- - url: "#4"
+ - link: "#4"
image_url: 'http://cl.ly/image/0E1D2G2z2w3g/Screen%20Shot%202013-12-13%20at%2011.32.49%20am.png'
title: "Product 4"
description:
price: "$400"
- - url: "#5"
+ - link: "#5"
image_url: 'http://cl.ly/image/3I3k0r000g0p/Screen%20Shot%202013-12-13%20at%2012.09.59%20pm.png'
title: "Product 5"
description:
price: "$500"
- - url: "#6"
+ - link: "#6"
image_url: 'http://cl.ly/image/2a2B1x2Y192R/Screen%20Shot%202013-12-13%20at%2011.32.09%20am.png'
title: "Product 6"
description:
diff --git a/issues/guide/data/toc.md b/issues/guide/data/toc.md
index b64c7dcc..abce674c 100644
--- a/issues/guide/data/toc.md
+++ b/issues/guide/data/toc.md
@@ -2,7 +2,8 @@
title: Table of content
author_name: Taylor Luk
- image_url: assets/background.jpg
+ cover_url: assets/background.jpg
+ thumb_url: http://lorempixel.com/200/154
layout:
type: toc
diff --git a/issues/guide/data/two-col.md b/issues/guide/data/two-col.md
index da7832f9..d7d39a9e 100644
--- a/issues/guide/data/two-col.md
+++ b/issues/guide/data/two-col.md
@@ -4,9 +4,10 @@
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
byline: By Zyralyn Bacani
- image_url: assets/background.jpg
- handle: two-col
-
+
+ cover_url: http://25.media.tumblr.com/712c985b8c18226a0d394eb90b83e94b/tumblr_n0hq0nxdQd1st5lhmo1_1280.jpg
+ thumb_url: http://lorempixel.com/200/150
+
layout:
type: two-column
image_align: right
diff --git a/issues/guide/data/two-col/1.md b/issues/guide/data/two-col/1.md
index 81e0020c..ae4d5e81 100644
--- a/issues/guide/data/two-col/1.md
+++ b/issues/guide/data/two-col/1.md
@@ -1,11 +1,10 @@
---
title: Two Column - Right Aligned Image
- description:
+
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
+ cover_url: assets/background.jpg
layout:
type: two-column
diff --git a/issues/guide/data/two-col/2.md b/issues/guide/data/two-col/2.md
index b920be8c..f6302e1f 100644
--- a/issues/guide/data/two-col/2.md
+++ b/issues/guide/data/two-col/2.md
@@ -2,12 +2,9 @@
title: Custom Layouts
byline: by Zyralyn, from Issue Team
- description:
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/background.jpg
- published_at:
- handle: two-col/2
+ cover_url: assets/background.jpg
layout:
type: two-column
diff --git a/issues/guide/data/vimeo.md b/issues/guide/data/vimeo.md
index 56dbd6b4..d975025b 100644
--- a/issues/guide/data/vimeo.md
+++ b/issues/guide/data/vimeo.md
@@ -5,7 +5,9 @@
author_name: Zyralyn Bacani
author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
embed_content:
- image_url: http://b.vimeocdn.com/ts/457/264/457264187_640.jpg
+
+ cover_url: http://b.vimeocdn.com/ts/457/264/457264187_1280.jpg
+ thumb_url: http://b.vimeocdn.com/ts/457/264/457264187_640.jpg
layout:
type: one-column
diff --git a/issues/guide/issue.yaml b/issues/guide/issue.yaml
index 3f79a2f7..e2ec6c5b 100644
--- a/issues/guide/issue.yaml
+++ b/issues/guide/issue.yaml
@@ -1,63 +1,72 @@
-id: "issue/design-guide"
title: Design Guide
-short_title: Design Guide
-magazine_title: Issue
+magazine_title: Inside
description: "One Column • Two Column • Three Column • Fullscreen"
-publish_at: "2013-9-15T13:16:46Z"
-auther_name: Taylor
-background_url: "assets/background.jpg"
-background_large_url: "assets/background_large.jpg"
+
+theme: default
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
assets:
- "custom.css"
-items:
-
- - title: Table of Content
- handle: "toc"
-
- - title: Icon design
- category: Design
- handle: "icons"
- image_url: "http://lorempixel.com/200/158"
- pages:
- - handle: "1"
- - handle: "2"
-
- - title: One Column
- category: Layout
- handle: "one-col"
- image_url: "http://lorempixel.com/200/154"
-
- - title: Two Column
- category: Layout
- handle: "two-col"
- image_url: "http://lorempixel.com/200/150"
-
- - title: One Third
- category: Layout
- handle: "one-third"
- image_url: "http://lorempixel.com/200/156"
-
- - title: Full Screen
- category: Layout
- handle: "fullscreen"
- image_url: "http://lorempixel.com/200/158"
- pages:
- - handle: "1"
- - handle: "2"
-
- - title: Shopping Guide
- category: Shopping
- handle: "products-split"
- image_url: "http://lorempixel.com/200/152"
-
- - title: Custom Page
- category: Layout
- handle: custom
- image_url: "http://lorempixel.com/200/162"
-
- - title: Vimeo
- category: Media
- handle: "vimeo"
- image_url: "http://lorempixel.com/200/162"
+paths:
+ - index
+ - toc
+ - one-col
+ - two-col
+ - one-third
+ - fullscreen
+ - products-split
+ - custom
+ - vimeo
+ - end
+#
+# items:
+#
+# - title: Cover
+# handle: "index"
+#
+# - title: Table of Content
+# handle: "toc"
+#
+# - title: One Column
+# category: Layout
+# handle: "one-col"
+# image_url: "http://lorempixel.com/200/154"
+#
+# - title: Two Column
+# category: Layout
+# handle: "two-col"
+# image_url: "http://lorempixel.com/200/150"
+#
+# - title: One Third
+# category: Layout
+# handle: "one-third"
+# image_url: "http://lorempixel.com/200/156"
+#
+# - title: Full Screen
+# category: Layout
+# handle: "fullscreen"
+# image_url: "http://lorempixel.com/200/158"
+# pages:
+# - handle: "1"
+# - handle: "2"
+#
+# - title: Shopping Guide
+# category: Shopping
+# handle: "products-split"
+# image_url: "http://lorempixel.com/200/152"
+#
+# - title: Custom Page
+# category: Layout
+# handle: custom
+# image_url: "http://lorempixel.com/200/162"
+#
+# - title: Vimeo
+# category: Media
+# handle: "vimeo"
+# image_url: "http://lorempixel.com/200/162"
+#
+# - title: The end
+# handle: "end"
+# image_url: "http://lorempixel.com/200/162"
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/cover.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/cover.jpg.REMOVED.git-id
deleted file mode 100644
index c54638d5..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9f24c22659725a80ee2f2d0c1fb6c4a4c27d6a0c
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p1-look1.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p1-look1.jpg.REMOVED.git-id
deleted file mode 100644
index 2207b7ce..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p1-look1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a9c99a764bf8eccb6f2fe36f614e776505bb36be
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p1-necklace.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p1-necklace.jpg.REMOVED.git-id
deleted file mode 100644
index fb52d37e..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p1-necklace.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-600cff689664cab71afb262ec3a50f23b24550f0
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p1-products-necklace.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p1-products-necklace.jpg.REMOVED.git-id
deleted file mode 100644
index fc2db397..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p1-products-necklace.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-8d34d6ad217d32f1264e74c37299b43d750d0d91
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p1-products-shoes.jpg b/issues/holiday/assets/1-a-holiday-in-style/p1-products-shoes.jpg
deleted file mode 100644
index 184ec56f..00000000
Binary files a/issues/holiday/assets/1-a-holiday-in-style/p1-products-shoes.jpg and /dev/null differ
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p1-shoes.jpg b/issues/holiday/assets/1-a-holiday-in-style/p1-shoes.jpg
deleted file mode 100644
index 22706fb2..00000000
Binary files a/issues/holiday/assets/1-a-holiday-in-style/p1-shoes.jpg and /dev/null differ
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p2-look2-detail.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p2-look2-detail.jpg.REMOVED.git-id
deleted file mode 100644
index 51310fb4..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p2-look2-detail.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3542e9044d3eb55e48ae1d3c8ca999eab2c9dfea
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p3-look2-fullbody.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p3-look2-fullbody.jpg.REMOVED.git-id
deleted file mode 100644
index 0992769c..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p3-look2-fullbody.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-61eb47422b8b6235733299dcbf7e6f3dd679fab0
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p3-necklace.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p3-necklace.jpg.REMOVED.git-id
deleted file mode 100644
index 76847ecf..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p3-necklace.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d475f35495d6acdc370e69bbc4f85ecccd3d82fa
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p3-products-shoes.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p3-products-shoes.jpg.REMOVED.git-id
deleted file mode 100644
index 884dd562..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p3-products-shoes.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-07f0fe3d7d298e6ffa7e9afa34d177b47a5becc4
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p3-shorts.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p3-shorts.jpg.REMOVED.git-id
deleted file mode 100644
index de89cc71..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p3-shorts.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-b73ab15fa03559866095578d24328e8315be0319
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p3-top.jpg b/issues/holiday/assets/1-a-holiday-in-style/p3-top.jpg
deleted file mode 100644
index 6c4c4140..00000000
Binary files a/issues/holiday/assets/1-a-holiday-in-style/p3-top.jpg and /dev/null differ
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p4-look3-halfbody.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p4-look3-halfbody.jpg.REMOVED.git-id
deleted file mode 100644
index 446736f7..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p4-look3-halfbody.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-e45e70e75e679dfd3f2a1e0f986fa7de96e092d7
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p5-bag.jpg b/issues/holiday/assets/1-a-holiday-in-style/p5-bag.jpg
deleted file mode 100644
index eae24a09..00000000
Binary files a/issues/holiday/assets/1-a-holiday-in-style/p5-bag.jpg and /dev/null differ
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p5-look3-fullbody.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p5-look3-fullbody.jpg.REMOVED.git-id
deleted file mode 100644
index cd27713b..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p5-look3-fullbody.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-e7ab53048a7d017abc0465bd3e73b00da7b25cba
\ No newline at end of file
diff --git a/issues/holiday/assets/1-a-holiday-in-style/p5-products-shoes.jpg.REMOVED.git-id b/issues/holiday/assets/1-a-holiday-in-style/p5-products-shoes.jpg.REMOVED.git-id
deleted file mode 100644
index 75254dbc..00000000
--- a/issues/holiday/assets/1-a-holiday-in-style/p5-products-shoes.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3a8c06e9d7c0319e5917f2979d981ed0df5737c9
\ No newline at end of file
diff --git a/issues/holiday/assets/2-cate-says-si/cover.jpg.REMOVED.git-id b/issues/holiday/assets/2-cate-says-si/cover.jpg.REMOVED.git-id
deleted file mode 100644
index db55bd25..00000000
--- a/issues/holiday/assets/2-cate-says-si/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7fde6b88c87314babba3cbfc42d1f3454bb992dd
\ No newline at end of file
diff --git a/issues/holiday/assets/2-cate-says-si/p1.jpg.REMOVED.git-id b/issues/holiday/assets/2-cate-says-si/p1.jpg.REMOVED.git-id
deleted file mode 100644
index fc7e2cef..00000000
--- a/issues/holiday/assets/2-cate-says-si/p1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d7d92297248887183b774611e1445c31cbbde5df
\ No newline at end of file
diff --git a/issues/holiday/assets/2-cate-says-si/p2.jpg.REMOVED.git-id b/issues/holiday/assets/2-cate-says-si/p2.jpg.REMOVED.git-id
deleted file mode 100644
index 2514ea7b..00000000
--- a/issues/holiday/assets/2-cate-says-si/p2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c299d5b9e724aaa0b709d45ab8991aceebc9af44
\ No newline at end of file
diff --git a/issues/holiday/assets/2-cate-says-si/p3-1.jpg.REMOVED.git-id b/issues/holiday/assets/2-cate-says-si/p3-1.jpg.REMOVED.git-id
deleted file mode 100644
index e3775734..00000000
--- a/issues/holiday/assets/2-cate-says-si/p3-1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-02ff882c8fa9f11d5ed95c7583432601bbed72e0
\ No newline at end of file
diff --git a/issues/holiday/assets/2-cate-says-si/p3.jpg b/issues/holiday/assets/2-cate-says-si/p3.jpg
deleted file mode 100644
index 1edd55a7..00000000
Binary files a/issues/holiday/assets/2-cate-says-si/p3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/2-cate-says-si/preview.jpg.REMOVED.git-id b/issues/holiday/assets/2-cate-says-si/preview.jpg.REMOVED.git-id
deleted file mode 100644
index c9da49e3..00000000
--- a/issues/holiday/assets/2-cate-says-si/preview.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c0187be72eeda414d795d0341fe190e5c7f9a7d9
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/cover.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/cover.jpg.REMOVED.git-id
deleted file mode 100644
index 1227a745..00000000
--- a/issues/holiday/assets/3-the-style-edit/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3177e0c8e77649ad42b9de59d59c1d5ee956d6ba
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p1.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p1.jpg.REMOVED.git-id
deleted file mode 100644
index e1e78e64..00000000
--- a/issues/holiday/assets/3-the-style-edit/p1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-6fac5a4722e7f5366f50419f6ecf1a1dd0113186
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p2-bag.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p2-bag.jpg.REMOVED.git-id
deleted file mode 100644
index 42572145..00000000
--- a/issues/holiday/assets/3-the-style-edit/p2-bag.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-084b144768e34c34fd2bd8315c1a1b506f6405bd
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p2-product-2.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p2-product-2.jpg.REMOVED.git-id
deleted file mode 100644
index e5f9de81..00000000
--- a/issues/holiday/assets/3-the-style-edit/p2-product-2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-e45dc0d801f2b8df6be7dd4a82bcc034d94744d2
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p2-product-4.jpg b/issues/holiday/assets/3-the-style-edit/p2-product-4.jpg
deleted file mode 100644
index 1643734b..00000000
Binary files a/issues/holiday/assets/3-the-style-edit/p2-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/3-the-style-edit/p2.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p2.jpg.REMOVED.git-id
deleted file mode 100644
index e4d190ee..00000000
--- a/issues/holiday/assets/3-the-style-edit/p2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-33233745a16757d5387827bfabac8affe3d86e39
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p3.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p3.jpg.REMOVED.git-id
deleted file mode 100644
index 0ad733b4..00000000
--- a/issues/holiday/assets/3-the-style-edit/p3.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d2cb5056a09e7ab6a783b869d48be942b632b58d
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p4-product-1.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p4-product-1.jpg.REMOVED.git-id
deleted file mode 100644
index b291e883..00000000
--- a/issues/holiday/assets/3-the-style-edit/p4-product-1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-cc443d6d49e2c2dcc3008802bb017f4890971d47
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p4-product-2.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p4-product-2.jpg.REMOVED.git-id
deleted file mode 100644
index d4711ed9..00000000
--- a/issues/holiday/assets/3-the-style-edit/p4-product-2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-b96f2de568d22a591fa67470f09f87095fd0aa5a
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p4-product-3.jpg b/issues/holiday/assets/3-the-style-edit/p4-product-3.jpg
deleted file mode 100644
index 535daad4..00000000
Binary files a/issues/holiday/assets/3-the-style-edit/p4-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/3-the-style-edit/p4-product-4.jpg b/issues/holiday/assets/3-the-style-edit/p4-product-4.jpg
deleted file mode 100644
index c69eaa88..00000000
Binary files a/issues/holiday/assets/3-the-style-edit/p4-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/3-the-style-edit/p4.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p4.jpg.REMOVED.git-id
deleted file mode 100644
index b38302b9..00000000
--- a/issues/holiday/assets/3-the-style-edit/p4.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d422b887486676da1f20b79fb56776a2bef808e6
\ No newline at end of file
diff --git a/issues/holiday/assets/3-the-style-edit/p5-portrait.jpg.REMOVED.git-id b/issues/holiday/assets/3-the-style-edit/p5-portrait.jpg.REMOVED.git-id
deleted file mode 100644
index eab27fdd..00000000
--- a/issues/holiday/assets/3-the-style-edit/p5-portrait.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-263c390c788d911e50bc27838f05ae8148d55c01
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/cover.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/cover.jpg.REMOVED.git-id
deleted file mode 100644
index a826ca54..00000000
--- a/issues/holiday/assets/4-summer-love/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c9f0fdaced64d2868f52bff8b695e04ee10c14c6
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p1.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p1.jpg.REMOVED.git-id
deleted file mode 100644
index 983ea74a..00000000
--- a/issues/holiday/assets/4-summer-love/p1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-4633879ffd0df057a9a2e9fdb14445a31b8c1cc1
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p2-product-1.jpg b/issues/holiday/assets/4-summer-love/p2-product-1.jpg
deleted file mode 100644
index 41b1a052..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2-product-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p2-product-2.jpg b/issues/holiday/assets/4-summer-love/p2-product-2.jpg
deleted file mode 100644
index 76d9567a..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p2-product-3.jpg b/issues/holiday/assets/4-summer-love/p2-product-3.jpg
deleted file mode 100644
index b9286a72..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p2-product-4.jpg b/issues/holiday/assets/4-summer-love/p2-product-4.jpg
deleted file mode 100644
index 4c7dca3e..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p2-product-5.jpg b/issues/holiday/assets/4-summer-love/p2-product-5.jpg
deleted file mode 100644
index e9dcddbf..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2-product-5.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p2.jpg b/issues/holiday/assets/4-summer-love/p2.jpg
deleted file mode 100644
index 6410085a..00000000
Binary files a/issues/holiday/assets/4-summer-love/p2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p3.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p3.jpg.REMOVED.git-id
deleted file mode 100644
index 170f295c..00000000
--- a/issues/holiday/assets/4-summer-love/p3.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-eced3d1b81307d55efc93f3238d2cd3dbc8ec5c9
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p4.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p4.jpg.REMOVED.git-id
deleted file mode 100644
index 60cc70e5..00000000
--- a/issues/holiday/assets/4-summer-love/p4.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bc8ddb64ceed423727cd04f8d621539e9a3cc58e
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p5-product-2.jpg b/issues/holiday/assets/4-summer-love/p5-product-2.jpg
deleted file mode 100644
index 77fee368..00000000
Binary files a/issues/holiday/assets/4-summer-love/p5-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p5-product-3.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p5-product-3.jpg.REMOVED.git-id
deleted file mode 100644
index e99147ce..00000000
--- a/issues/holiday/assets/4-summer-love/p5-product-3.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0103ff50f43a190725ba518d26614b1805234d39
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p5-product-4.jpg b/issues/holiday/assets/4-summer-love/p5-product-4.jpg
deleted file mode 100644
index 6c1e9878..00000000
Binary files a/issues/holiday/assets/4-summer-love/p5-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p5-product-5.jpg b/issues/holiday/assets/4-summer-love/p5-product-5.jpg
deleted file mode 100644
index 4003831d..00000000
Binary files a/issues/holiday/assets/4-summer-love/p5-product-5.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p5.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p5.jpg.REMOVED.git-id
deleted file mode 100644
index a5d8295b..00000000
--- a/issues/holiday/assets/4-summer-love/p5.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d6c79ca4857d8522b64edecaa3350d3e779a14c2
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/p6-1.jpg b/issues/holiday/assets/4-summer-love/p6-1.jpg
deleted file mode 100644
index f6a360c5..00000000
Binary files a/issues/holiday/assets/4-summer-love/p6-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/4-summer-love/p6.jpg.REMOVED.git-id b/issues/holiday/assets/4-summer-love/p6.jpg.REMOVED.git-id
deleted file mode 100644
index 797b1b51..00000000
--- a/issues/holiday/assets/4-summer-love/p6.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2a03cf836c1dd2e9d85fe6e8216884d4e99858d7
\ No newline at end of file
diff --git a/issues/holiday/assets/4-summer-love/preview.png.REMOVED.git-id b/issues/holiday/assets/4-summer-love/preview.png.REMOVED.git-id
deleted file mode 100644
index d024c3ed..00000000
--- a/issues/holiday/assets/4-summer-love/preview.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5adabc45b6a7ec36f6cd948bc395f0911d5dcd4a
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/cover.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/cover.jpg.REMOVED.git-id
deleted file mode 100644
index c94c044a..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-f2d5719e343302c76a8fb15c0cb791aca7e6de28
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p1.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p1.jpg.REMOVED.git-id
deleted file mode 100644
index 09f99a1e..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-457534492573bc6966b07a1090300b621b81e40a
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-1.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-1.jpg
deleted file mode 100644
index a0f719ed..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-2.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-2.jpg
deleted file mode 100644
index 8f52c988..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-3.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-3.jpg
deleted file mode 100644
index bec4836b..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-4.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-4.jpg
deleted file mode 100644
index 39f9774f..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-5.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-5.jpg
deleted file mode 100644
index 2b00caee..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-5.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2-product-6.jpg b/issues/holiday/assets/5-a-weekend-escape/p2-product-6.jpg
deleted file mode 100644
index 90647824..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p2-product-6.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p2.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p2.jpg.REMOVED.git-id
deleted file mode 100644
index 2a4e9e87..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-920b5cccd03b69883850da74dea35ee962866197
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p3-1.jpg b/issues/holiday/assets/5-a-weekend-escape/p3-1.jpg
deleted file mode 100644
index 6c45c83c..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p3-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p3.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p3.jpg.REMOVED.git-id
deleted file mode 100644
index 434af1a0..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p3.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-30ea941d118373be7409f0667a0aea821ed9bf44
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p4-1.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p4-1.jpg.REMOVED.git-id
deleted file mode 100644
index 49ed8540..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p4-1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9e304a8917d4b8355ba6828e9dd0fbb86349a751
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p4.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p4.jpg.REMOVED.git-id
deleted file mode 100644
index 923d94a4..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p4.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-07cdb0b596a9c924774eb69e2811d3bd09ba2d90
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/p5-1.jpg b/issues/holiday/assets/5-a-weekend-escape/p5-1.jpg
deleted file mode 100644
index fd65cca7..00000000
Binary files a/issues/holiday/assets/5-a-weekend-escape/p5-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/5-a-weekend-escape/p5.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/p5.jpg.REMOVED.git-id
deleted file mode 100644
index 7683faf1..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/p5.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c2e76f04a3aeecac79c5d3e576b91b9022cd6031
\ No newline at end of file
diff --git a/issues/holiday/assets/5-a-weekend-escape/preview.jpg.REMOVED.git-id b/issues/holiday/assets/5-a-weekend-escape/preview.jpg.REMOVED.git-id
deleted file mode 100644
index 613f5437..00000000
--- a/issues/holiday/assets/5-a-weekend-escape/preview.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ccc482276c968cc60058ba2888c50afcdc0d1e31
\ No newline at end of file
diff --git a/issues/holiday/assets/6-summer-survival-guide/cover.jpg.REMOVED.git-id b/issues/holiday/assets/6-summer-survival-guide/cover.jpg.REMOVED.git-id
deleted file mode 100644
index b086e782..00000000
--- a/issues/holiday/assets/6-summer-survival-guide/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bd27a88342814debef74bf801cab2587e7e695a8
\ No newline at end of file
diff --git a/issues/holiday/assets/6-summer-survival-guide/p1-product-1.jpg b/issues/holiday/assets/6-summer-survival-guide/p1-product-1.jpg
deleted file mode 100644
index 3a241347..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p1-product-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p1-product-2.jpg b/issues/holiday/assets/6-summer-survival-guide/p1-product-2.jpg
deleted file mode 100644
index 5483b7f5..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p1-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p1-product-3.jpg b/issues/holiday/assets/6-summer-survival-guide/p1-product-3.jpg
deleted file mode 100644
index a0237c91..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p1-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p1-product-5.jpg b/issues/holiday/assets/6-summer-survival-guide/p1-product-5.jpg
deleted file mode 100644
index cefc46ca..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p1-product-5.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-brush.png b/issues/holiday/assets/6-summer-survival-guide/p2-brush.png
deleted file mode 100644
index 68847b19..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-brush.png and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-1.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-1.jpg
deleted file mode 100644
index 07b72557..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-2.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-2.jpg
deleted file mode 100644
index ed6fa064..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-3.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-3.jpg
deleted file mode 100644
index 631ed49d..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-4.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-4.jpg
deleted file mode 100644
index d3c477e9..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-4.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-5.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-5.jpg
deleted file mode 100644
index f8216a19..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-5.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p2-product-6.jpg b/issues/holiday/assets/6-summer-survival-guide/p2-product-6.jpg
deleted file mode 100644
index 920a1cee..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p2-product-6.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p3.jpg.REMOVED.git-id b/issues/holiday/assets/6-summer-survival-guide/p3.jpg.REMOVED.git-id
deleted file mode 100644
index 8a541cc5..00000000
--- a/issues/holiday/assets/6-summer-survival-guide/p3.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0a53f6e8d8041a93ef72e951904e31657b02fdbb
\ No newline at end of file
diff --git a/issues/holiday/assets/6-summer-survival-guide/p4-product-1.jpg b/issues/holiday/assets/6-summer-survival-guide/p4-product-1.jpg
deleted file mode 100644
index 711b657a..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p4-product-1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p4-product-2.jpg b/issues/holiday/assets/6-summer-survival-guide/p4-product-2.jpg
deleted file mode 100644
index 6df3423e..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p4-product-2.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/p4-product-3.jpg b/issues/holiday/assets/6-summer-survival-guide/p4-product-3.jpg
deleted file mode 100644
index c0d020d1..00000000
Binary files a/issues/holiday/assets/6-summer-survival-guide/p4-product-3.jpg and /dev/null differ
diff --git a/issues/holiday/assets/6-summer-survival-guide/preview.jpg.REMOVED.git-id b/issues/holiday/assets/6-summer-survival-guide/preview.jpg.REMOVED.git-id
deleted file mode 100644
index 3620228f..00000000
--- a/issues/holiday/assets/6-summer-survival-guide/preview.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5db5a0d6604f6f70d6176f54fa21564b220d0919
\ No newline at end of file
diff --git a/issues/holiday/assets/7-holiday-gift-ideas/cover.jpg.REMOVED.git-id b/issues/holiday/assets/7-holiday-gift-ideas/cover.jpg.REMOVED.git-id
deleted file mode 100644
index cabaf73e..00000000
--- a/issues/holiday/assets/7-holiday-gift-ideas/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-242fc3eb3a1818cd7aecc09c8db6a9958f457904
\ No newline at end of file
diff --git a/issues/holiday/assets/7-holiday-gift-ideas/p1-2.png.REMOVED.git-id b/issues/holiday/assets/7-holiday-gift-ideas/p1-2.png.REMOVED.git-id
deleted file mode 100644
index 74646550..00000000
--- a/issues/holiday/assets/7-holiday-gift-ideas/p1-2.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-8bfb44e01a1e5258d8ef6d8fa91dd6345e118301
\ No newline at end of file
diff --git a/issues/holiday/assets/7-holiday-gift-ideas/p1.jpg b/issues/holiday/assets/7-holiday-gift-ideas/p1.jpg
deleted file mode 100644
index a034accc..00000000
Binary files a/issues/holiday/assets/7-holiday-gift-ideas/p1.jpg and /dev/null differ
diff --git a/issues/holiday/assets/7-holiday-gift-ideas/preview.jpg.REMOVED.git-id b/issues/holiday/assets/7-holiday-gift-ideas/preview.jpg.REMOVED.git-id
deleted file mode 100644
index 37e94971..00000000
--- a/issues/holiday/assets/7-holiday-gift-ideas/preview.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-853e506af82460bdf89c07ff13631353edd5c558
\ No newline at end of file
diff --git a/issues/holiday/assets/background.jpg b/issues/holiday/assets/background.jpg
deleted file mode 100644
index 79b52b27..00000000
Binary files a/issues/holiday/assets/background.jpg and /dev/null differ
diff --git a/issues/holiday/assets/background_large.jpg.REMOVED.git-id b/issues/holiday/assets/background_large.jpg.REMOVED.git-id
deleted file mode 100644
index 9955cf26..00000000
--- a/issues/holiday/assets/background_large.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9b437f584cf6ade964961b91afedd712936ea674
\ No newline at end of file
diff --git a/issues/holiday/assets/cover-bg-2048px.jpg b/issues/holiday/assets/cover-bg-2048px.jpg
deleted file mode 100644
index 4cb07f07..00000000
Binary files a/issues/holiday/assets/cover-bg-2048px.jpg and /dev/null differ
diff --git a/issues/holiday/assets/custom.css b/issues/holiday/assets/custom.css
deleted file mode 100644
index 223639aa..00000000
--- a/issues/holiday/assets/custom.css
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- Custom css
-
- // Magazine cover
-*/
-
-/*
- Table of content
-*/
-
-section.issue.cover .title {
- color: #ffeddf;
-}
-
-section.issue.cover .extra-1 {
- position: absolute;
- top: 50%;
- right: 10px;
- margin-top: -40px;
- width: 150px;
- height: 80px;
- background-image: url("/holiday/assets/cover-extra-1.png");
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-}
-
-article.page.toc .cover-area {
- min-height: 260px;
-}
-
-article.page.toc .content header {
- text-align: left;
-}
-
-article.page.toc .content header h1 {
- font-size: 40px;
-}
-
-article.page.toc .body p {
- margin: 1.2em 0;
- line-height: 1.4;
-}
-
-article.page.toc .body p:first-child {
- margin-top: 0;
-}
-
-article.page.toc .body p:last-child {
- margin-bottom: 0;
-}
-
-article.page.toc .contributors {
- overflow: hidden;
- padding: 0;
- list-style-type: none;
- text-align: center;
-}
-
-article.page.toc .contributors li {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- padding: 5px 0 5px 80px;
- width: 100%;
- text-align: left;
-}
-
-article.page.toc .contributors .avatar {
- position: absolute;
- margin-left: -65px;
-}
-
-article.page.toc .contributors .description {
- color: #555;
- font-style: italic;
-}
-
-/*
- Page specific
-*/
-
-#s1-a-holiday-in-style .content header,
-#s1-a-holiday-in-style .content .product-set {
- margin-bottom: 10px;
-}
-
-/*
- Cate Says Si Cover Page
-*/
-
-article.page.no-content[data-page="2-cate-says-si"] {
- background-position: center 20%;
-}
-
-article.page.no-content[data-page="2-cate-says-si"] .content {
- text-align: center;
-}
-
-article.page.no-content[data-page="2-cate-says-si"] header {
- margin: 100px 0 0;
- color: white;
- vertical-align: top;
- text-align: left;
-}
-
-article.page.no-content[data-page="2-cate-says-si"] header .title {
- text-transform: none;
- font-style: italic;
- font-size: 55px;
- font-family: "EB Garamond";
-}
-
-article.page.no-content[data-page="2-cate-says-si"] header .category {
- display: block;
- margin-bottom: -10px;
- color: #eee;
-}
-
-/*
- Cate Says Si Page 1
-*/
-article.page[data-page="2-cate-says-si/1"] header {
- margin: 30px;
- text-align: center;
-}
-
-article.page[data-page="2-cate-says-si/1"] header .title {
- text-transform: capitalize;
-}
-
-/*
- Cate Says Si Page 2
-*/
-article.page[data-page="2-cate-says-si/2"] .body .list {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(odd) {
- text-transform: none;
- font-size: 18px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(even) {
- text-transform: uppercase;
- font-style: italic;
- font-size: 30px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(2) {
- margin-left: 10px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(3) {
- margin-left: 20px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(4) {
- margin-left: 30px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(5) {
- margin-left: 40px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(6) {
- margin-left: 50px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(7) {
- margin-left: 60px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(8) {
- margin-left: 70px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(9) {
- margin-left: 80px;
-}
-
-article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(10) {
- margin-left: 90px;
-}
-
-/*
- Cate Says Si Page 3
-*/
-article.page[data-page="2-cate-says-si/3"] header .title {
- text-align: center;
- text-transform: capitalize;
-}
-
-/*
- The Style Edit Cover
-*/
-article.page[data-page="3-the-style-edit"] header {
- text-align: left;
-}
-
-article.page[data-page="3-the-style-edit"] header .title {
- font-size: 32px;
-}
-
-/*
- Summer Love Cover
-*/
-article.page[data-page="4-summer-love"] .extras {
- text-align: left;
-}
-
-article.page[data-page="4-summer-love/2"] header {
- position: absolute;
- top: 40%;
- left: inherit;
- left: 0;
- width: 50%;
-}
-
-/*
- Summer Love Page 3
-*/
-
-#s4-summer-love.image-background.height-auto .content {
- margin: 0 30px;
-}
-
-#s4-summer-love .title {
- margin-bottom: 0.5em;
- font-size: 28px;
-}
-
-/*
- Summer Survival Guide Page 4
-*/
-
-#s6-summer-survival-guide[data-page="6-summer-survival-guide/1"] {
- background-image: url(../assets/6-summer-survival-guide/p1-must-have.png);
- background-position: 365px -10px;
- background-repeat: no-repeat;
-}
-
-#s6-summer-survival-guide[data-page="6-summer-survival-guide/1"] .title {
- text-align: left;
- font-style: italic;
- font-size: 50px;
- font-family: 'BodoniSvtyTwoITCTT-Book';
-}
-
-#s6-summer-survival-guide[data-page="6-summer-survival-guide/2"] {
- background-image: url(../assets/6-summer-survival-guide/p2-brush.png);
- background-position: bottom left;
- background-repeat: no-repeat;
-}
-
-#s6-summer-survival-guide[data-page="6-summer-survival-guide/2"] header {
- position: absolute;
- left: 50%;
- width: 50%;
-}
-
-
-article.page[data-page="6-summer-survival-guide/4"] .content {
- width: 100%;
- height: 100%;
- padding: 15px;
-}
-
-article.page[data-page="6-summer-survival-guide/4"] .body {
- height: 100%;
-}
-
-article.page[data-page="6-summer-survival-guide/4"] .products {
- margin: 0;
- padding: 0;
- height: 100%;
- list-style: none;
-}
-
-article.page[data-page="6-summer-survival-guide/4"] .products li .image {
- min-height: 180px;
- height: 100%;
- background-position: center;
- background-size: 90%;
- background-repeat: no-repeat;
-}
-
-#story5-giftset .tag {
- position: absolute;
- top: 0;
- left: 20px;
- letter-spacing: 2px;
- font-weight: bold;
- font-style: italic;
- font-size: 70px;
- font-family: 'BodoniSvtyTwoITCTT-Book';
-}
-
-#story5-giftset li:nth-child(even) .tag {
- left: initial;
- right: 20px;
-}
-
-#story5-giftset .details h3 {
- font-size: 24px;
- color: black;
- margin: 0;
-}
-
-/*
- Holiday Gift Ideas Cover
-*/
-article.page[data-page="7-holiday-gift-ideas"] header {
- text-align: left;
-}
-
-/*
- Holiday Gift Ideas Page 1
-*/
-article.page[data-page="7-holiday-gift-ideas/1"] {
- overflow-x: hidden;
- overflow-y: scroll;
-}
-
-article.page[data-page="7-holiday-gift-ideas/1"] .content {
- height: auto;
- float: right;
-}
-
-article.page[data-page="7-holiday-gift-ideas/1"] .image {
- position: relative;
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-}
-
-article.page[data-page="7-holiday-gift-ideas/1"] .image img {
- position: absolute;
- top: 50%;
- left: 50%;
- margin-top: -90px;
- margin-left: -148px;
- width: 297px;
- height: 180px;
-}
-
-article.page[data-page="7-holiday-gift-ideas/1"] #img-1 {
- position: absolute;
- top: 0;
- right: 0;
-}
-
-article.page[data-page="7-holiday-gift-ideas/1"] #summary {
- margin-top: 250px;
- font-size: 18px;
-}
-
-/*
- Holiday Gift Ideas Page 2
-*/
-article.page[data-page="7-holiday-gift-ideas/2"] .content {
- text-align: center;
- padding: 15px 4px;
-}
-
-article.page[data-page="7-holiday-gift-ideas/2"] header .title {
- text-transform: capitalize;
- font-style: italic;
- font-family: "EB Garamond";
-}
-
-article.page[data-page="7-holiday-gift-ideas/2"] header .description {
- font-style: italic;
- font-size: 18px;
-}
-
-#story7-products {
- margin: 0;
- padding: 0;
- height: 100%;
- list-style: none;
- font-size: 0;
-}
-
-#story7-products li {
- position: relative;
- display: inline-block;
- margin-bottom: 4px;
- width: 49%;
- height: 200px;
-}
-
-#story7-products li .tag {
- position: absolute;
- bottom: 0;
- left: 50%;
- margin-left: -15px;
- width: 30px;
- height: 30px;
- border-radius: 50%;
- background-color: #333;
- color: white;
- text-align: center;
- font-weight: bold;
- font-size: 18px;
- line-height: 1.4;
-}
-
-#story7-products li:nth-child(odd) {
- margin-right: 4px;
-}
-
-#story7-products li .product {
- width: 100%;
- height: 100%;
-}
-
-#story7-products li .product .image {
- height: 100%;
- background-position: center;
- background-size: contain;
- background-repeat: no-repeat;
-}
-
-/*
- Cate Says Si Wide Screen
-*/
-@media only screen and (min-width: 768px) {
- section.issue.cover .title {
- font-size: 150px;
- line-height: 150px;
- }
-
- section.issue.cover .extra-1 {
- margin-top: -63px;
- width: 240px;
- height: 127px;
- }
-
- article.page.toc .contributors li {
- float: left;
- width: 50%;
- }
-
- article.page[data-page="2-cate-says-si/2"] .body .list {
- margin-top: 20%;
- }
-
- #story5-giftset li:nth-child(odd) .details {
- padding-top: 50px;
- }
-
- #story5-giftset li:nth-child(even) .details h3 {
- padding-top: 20px;
- text-align: right;
- }
-
- #story5-giftset li:nth-child(even) .product {
- float: right;
- }
-
- #story5-giftset .tag {
- font-size: 120px;
- line-height: 150px;
- }
-
- article.page[data-page="7-holiday-gift-ideas/1"] #summary {
- margin-top: 350px;
- }
-
- article.page[data-page="7-holiday-gift-ideas/2"] header .title {
- font-size: 35px;
- }
-
-
- article.page[data-page="7-holiday-gift-ideas/2"] .content {
- padding: 50px 30px;
- }
-
- article.page[data-page="7-holiday-gift-ideas/2"] .content {
- height: 100%;
- }
-
- #story7-products li {
- margin: 0;
- width: 20%;
- height: 33.33%;
- }
-
- #story7-products li:nth-child(odd) {
- margin-right: 0;
- }
-}
-
-@media only screen and (min-width: 768px) and (orientation: landscape) {
- article.page[data-page="2-cate-says-si/2"] .body .list li:nth-child(even) {
- font-size: 40px;
- }
-
- article.page[data-page="7-holiday-gift-ideas/2"] header {
- position: absolute;
- top: 50%;
- left: 50%;
- margin-top: -5%;
- margin-left: -25%;
- width: 55%;
- height: 33.3%;
- }
-
- #story7-products li:nth-child(7) {
- margin-left: 60%;
- }
-}
-
-@media only screen and (min-width: 768px) and (orientation: portrait) {
- article.page.no-content[data-page="2-cate-says-si"] .content {
- padding: 0;
- }
-
- article.page.no-content[data-page="2-cate-says-si"] header {
- margin-top: 150px;
- }
-
- article.page.no-content[data-page="2-cate-says-si"] header .title {
- font-size: 46px;
- }
-
- article.page[data-page="7-holiday-gift-ideas/2"] header {
- position: absolute;
- top: 50%;
- left: 50%;
- margin-top: -6%;
- margin-left: -22%;
- width: 44%;
- height: 50%;
- }
-
- #story7-products li {
- width: 25%;
- height: 25%;
- }
-
- #story7-products li:nth-child(6),
- #story7-products li:nth-child(8) {
- margin-left: 50%;
- }
-}
diff --git a/issues/holiday/assets/newsstand-icon.png.REMOVED.git-id b/issues/holiday/assets/newsstand-icon.png.REMOVED.git-id
deleted file mode 100644
index e9519b3d..00000000
--- a/issues/holiday/assets/newsstand-icon.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-21eb841b42f95277e2f035925fe66029ad065c1f
\ No newline at end of file
diff --git a/issues/holiday/assets/thumb-bg.png.REMOVED.git-id b/issues/holiday/assets/thumb-bg.png.REMOVED.git-id
deleted file mode 100644
index ca02fe16..00000000
--- a/issues/holiday/assets/thumb-bg.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c85295fa09cdc0a17a6c1518e5af81a5042074d9
\ No newline at end of file
diff --git a/issues/holiday/assets/toc/background.jpg.REMOVED.git-id b/issues/holiday/assets/toc/background.jpg.REMOVED.git-id
deleted file mode 100644
index a545aa30..00000000
--- a/issues/holiday/assets/toc/background.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-127ec8118181762f8ae9c791b97ed8137da7029d
\ No newline at end of file
diff --git a/issues/holiday/assets/toc/preview.png.REMOVED.git-id b/issues/holiday/assets/toc/preview.png.REMOVED.git-id
deleted file mode 100644
index a4ec3195..00000000
--- a/issues/holiday/assets/toc/preview.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1693356eda0aba1bd0dc015d8fede017232b8c09
\ No newline at end of file
diff --git a/issues/holiday/data/1-a-holiday-in-style.md b/issues/holiday/data/1-a-holiday-in-style.md
deleted file mode 100644
index a425a13d..00000000
--- a/issues/holiday/data/1-a-holiday-in-style.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-
- title: A Holiday in Style
- author_name: Jessica Chung
- author_icon: assets/jysla-avatar.png
- byline: Jessica from Jysla Kay
- image_url: assets/1-a-holiday-in-style/cover.jpg
-
- layout:
- type: three-column
-
----
-
-She is on a summer escape, straying from the crowd in search for freedom and for peace. She has an unquenchable desire to explore her surroundings, while collecting beautiful keepsakes along the way, from seashells to flowers to photographs of locals.
-
-Her style is a reflection of her allure: timeless and classic. Under the summer sun she opts for crisp whites and loose fits - breezy, stylish ideas to keep her cool in the heat whilst keeping to her effortlessly polished flair.
-
-She is curious and fervent. An independent woman committed to finding beauty in the little things one continent at a time.
diff --git a/issues/holiday/data/1-a-holiday-in-style/1.md b/issues/holiday/data/1-a-holiday-in-style/1.md
deleted file mode 100644
index 5c18d052..00000000
--- a/issues/holiday/data/1-a-holiday-in-style/1.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
- category: FASHION
- title: LOOSEFIT WHITES
- image_url: assets/1-a-holiday-in-style/p1-look1.jpg
-
- layout:
- type: two-column
- content_align: left
- content_valign: bottom
-
- products:
-
- # 1. Look one
- ##############################
-
-
- - title: T by Alexander Wang Leather Pocket T-shirt
- description:
- price: $68 USD
- image_url: http://ak1.polyvoreimg.com/cgi/img-thing/size/orig/tid/84385512.jpg
- url: http://www.ssense.com/women/product/t_by_alexander_wang/white_supima_and_leather_pocket_t-shirt/81748
-
- # Earrings
- - title: Pamela Love Sunburst gold-tone onyx earrings
- description: Pamela Love's black onyx 'Sunburst' earrings are crafted from burnished gold-tone brass for a vintage feel. Work the brand's effortlessly cool aesthetic by styling yours with a loose-fit tee and distressed denim. For pierced ears.
- price: $184.83 AUD
- image_url: http://www.polyvore.com/cgi/img-thing?.out=jpg&size=l&tid=99099195
- url: http://www.net-a-porter.com/product/402885
-
-
- # White skirt,
- - title: SEE BY CHLOÉ lace panel skirt
- url: http://www.farfetch.com/shopping/women/designer-see-by-chloe-lace-panel-skirt-item-10588304.aspx
- image_url: http://cdnb.lystit.com/photos/2013/12/10/see-by-chloe-white-mini-skirt-product-1-16036251-774483343_large_flex.jpeg
- price: $278.21 AUD
-
- # Crossbody bag
- - title: Celine Trio Bag
- price: $1200 AUD
- image_url: http://cdnb.lystit.com/photos/2011/07/24/celine-blush-blush-lambskin-trio-crossbody-bag-product-1-1232823-977559157.jpeg
- url: http://www.celine.com/en/collection/fall/leather-goods/clutch-pouch/35
- # url: http://www.bluefly.com/Celine-blush-lambskin-Trio-crossbody-bag/cat20428/316163501/detail.fly
-
-
-
- # Sandals
- - title: Joie A la Plage two band sandal
- description: "Leather Joie sandals are perfect companions to a poolside look. Slip-on design with matte and metallic bands. Leather sole. Leather: Cowhide. Made in Italy."
- price: $157.28 AUD
- image_url: assets/1-a-holiday-in-style/p1-products-shoes.jpg
- url: http://www.shopbop.com/plage-two-band-sandal-joie/vp/v=1/1577875048.htm?folderID=2534374302112443&fm=other-shopbysize&colorId=55429
-
- # Necklace by gorjana
- - title: Gorjana Shimmy Star Necklace
- description: "Tiny cubic zirconias line a star-shaped pendant on this gold-tone Gorjana necklace. Ring clasp. 18k gold plate."
- price: $99.03 AUD
- image_url: assets/1-a-holiday-in-style/p1-necklace.jpg
- url: http://www.shopbop.com/shimmy-star-necklace-gorjana/vp/v=1/1572808075.htm?fm=search-shopbysize
-
----
-
-
-
-
Summer holiday dressing calls for minimal, basic pieces that can be easily be mixed and matched to keep your baggage light and broaden your outfit choices. -- Jyslakay
diff --git a/issues/holiday/data/1-a-holiday-in-style/2.md b/issues/holiday/data/1-a-holiday-in-style/2.md
deleted file mode 100644
index 290a3c07..00000000
--- a/issues/holiday/data/1-a-holiday-in-style/2.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- summary: Hat, crochet top, high-waisted shorts
- image_url: assets/1-a-holiday-in-style/p2-look2-detail.jpg
-
- layout:
- type: two-column
- image_style: background
- content_style: black
- content_align: left
- content_valign: bottom
-
----
-
-> The white-on-white trend has spread like wildfire and it’s one of my favourite styling tips. It’s an easy way to create an effortless, classic look that is still polished and modern. I love classics with a twist - like these quilted, high-waisted shorts - that refresh your wardrobe and keep it modern.
->
-- Jysla Kay
diff --git a/issues/holiday/data/1-a-holiday-in-style/3.md b/issues/holiday/data/1-a-holiday-in-style/3.md
deleted file mode 100644
index 3b1d7964..00000000
--- a/issues/holiday/data/1-a-holiday-in-style/3.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
- category: FASHION
- title: CLASSIC BOHEMIAN
-
- image_url: assets/1-a-holiday-in-style/p3-look2-fullbody.jpg
-
- layout:
- type: two-column
- image_align: left
-
- products:
- # 1. Look two
- ##############################
-
-
- # 3. Jennifer zeuner necklace
- - title: Jennifer Zeuner Mini Wishbone Necklace
- description: "Wear a tiny sign of luck with a wishbone charm necklace with this 18k gold-vermeil chain necklace. Lobster-claw clasp. 17 inch (43 cm) long."
- price: $166.63 AUD
- image_url: assets/1-a-holiday-in-style/p3-necklace.jpg
- url: http://www.shopbop.com/mini-wishbone-necklace-jennifer-zeuner/vp/v=1/845524441891818.htm?fm=search-shopbysize
-
- # 5. HAT : cheaper
- - title: SENSI STUDIO Adrian Panama hat
- description: The style set's favourite accessory for dress-down days, Sensi Studio’s Adrian panama hat epitomises laid-back luxe. Whether you’re relaxing by the beach or roaming city streets, a jersey maxi dress and metallic sandals are the chicest way to wear it.
- price: $168 AUD
- image_url: http://assets.matchesfashion.com/products/WOS5HA840003BGB_1_medium.jpg
- url: http://www.matchesfashion.com/product/180624
-
- #4 Crochet Top
- - title: Somedays Love' Tambourine Lace Crop Top
- description: "The Somedays Lovin Tambourine Lace Crop Top boasts a halter-neck design with tie-up straps, and has fully lined, triangle cups. The top features a 100% cotton, crocheted lace main, and a fitted band under the bust that wraps around the back and fastens with twin buttons. The Somedays Lovin Tambourine Lace Crop Top has a cropped length and a raw, zig-zag hemline."
- price: $49.95 AUD
- image_url: assets/1-a-holiday-in-style/p3-top.jpg
- url: http://www.theiconic.com.au/Tambourine-Lace-Crop-Top-115636.html?wt_af=au.affiliate.zanox.1136054.banner.campaign&utm_source=zanox&utm_medium=affiliate&utm_content=&utm_campaign=banner
-
- # 5. Urban Outfitters Aristotle bike
- - title: Urban Outfitters Aristotle Singlespeed/Fixed Gear Bike
- description: "Imagine the bike of your dreams custom-made by your own choosing. Well Urban Outfitters has done just that! They've teamed up with Republic Bike to bring you a personalized experience in bike design, offer more than 100,000 component and colour combinations for the Aristotle singlespeed and Plato Dutch bikes. You just need to pick and choose and it's delivered right at your doorstep"
- price: $399 AUD
- image_url: http://tokyobike.co.uk/bikes/cs-white.jpg
- url: http://www.neimanmarcus.com/Eugenia-Kim-Lillian-Straw-Fedora-Ivory/prod165310036/p.prod
-
- # 1. White shorts
- - title: ASOS High Waisted Shorts
- brand: ASOS
- price: $59.39 AUD
- description: "Directional, exciting and diverse, the ASOS Collection makes and breaks the fashion rules. These shorts are made from a textured poly fabric with high-rise waist. Ovoid Texture."
- image_url: assets/1-a-holiday-in-style/p3-shorts.jpg
- url: http://www.asos.com/ASOS/ASOS-High-Waisted-Shorts-in-Texture/Prod/pgeproduct.aspx?iid=3520122
-
-
- # 6. Sandals
- - title: K JACQUES Epicure Crisscross Sandals
- description: "Simply-styled leather K. Jacques sandals have timeless appeal. Buckle closure. Leather sole. Leather: Calfskin. Made in France."
- price: $312.29 AUD
- image_url: http://www.style-hawk.com/wp-content/uploads/2013/07/islandhoppingbuyit13net-a-porter.jpg
- url: http://www.shopbop.com/epicure-crisscross-sandal-k-jacques/vp/v=1/1559665417.htm?fm=search-shopbysize
-
----
diff --git a/issues/holiday/data/1-a-holiday-in-style/4.md b/issues/holiday/data/1-a-holiday-in-style/4.md
deleted file mode 100644
index b1911a81..00000000
--- a/issues/holiday/data/1-a-holiday-in-style/4.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
- category:
- title:
- image_url: assets/1-a-holiday-in-style/p4-look3-halfbody.jpg
- layout:
- image_style: background
- content_style: black
- content_align: left
- content_valign: bottom
-
----
-The best kind of pieces are the ones that are most versatile, and this Little Black Dress (LBD) is one of those rare kinds. Dress it down with sandals or your classic ballet flats during the day for a look a little casual chic, or pair it with some bold heels for a night out. Look for detail and texture in your next LBD purchase, this one has a simple peplum hem which gives it a playful touch.
-
-- Aubrey from TheLoveAssembly
-
diff --git a/issues/holiday/data/1-a-holiday-in-style/5.md b/issues/holiday/data/1-a-holiday-in-style/5.md
deleted file mode 100644
index be4ecf45..00000000
--- a/issues/holiday/data/1-a-holiday-in-style/5.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-
- category: fashion
- title: Holiday style
- image_url: assets/1-a-holiday-in-style/p5-look3-fullbody.jpg
- layout:
- image_align: left
-
- products:
-
- # Look 3 Products: (black dress, sandal)
- ##############################
-
- - title: Juicy Couture Dress - Solid Ponte Flirty
- description: "A drop-waist design paired with a flared skirt with pleated detail. This dress made out of viscose, polyamide and elastane is designed to leave you feeling cute and flirty for both night and day."
- price: $182.60 AUD
- url: http://www1.bloomingdales.com/shop/product/juicy-couture-dress-solid-ponte-flirty?ID=836208&CategoryID=2911&LinkType=PDPZ1#fn%3Dspp%3D2
- image_url: http://f.cl.ly/items/1A0t0E2r3i1b1h3B041p/Screen%20Shot%202014-01-13%20at%2012.59.47%20pm.png
-
- - title: Alexander Wang Prisma Skeletal Double Envelope Clutch
- description: "This double-compartment Alexander Wang bag is crafted in smooth leather and punctuated with rose gold-tone metal corners at the base. Slim center pocket and a magnetic front flap.
- Adjustable cross-body strap. The zippered back pocket includes a bill slot and 8 card slots. Lined, 1-pocket interior. Dust bag included. Leather: Calfskin."
- price: $809.72 AUD
- url: http://www.shopbop.com/prisma-sketetal-double-envelope-bag/vp/v=1/1570500715.htm?folderID=2534374302055387&fm=other-shopbysize-brand&colorId=13092
- image_url: assets/1-a-holiday-in-style/p5-bag.jpg
-
- - title: Marc by Marc Jacobs Logo Disc Stud Earrings
- description: "These silver-plated post earrings feature logo lettering at the disc. 12 mm wide."
- price: $48.93 AUD
- url: http://www.shopbop.com/logo-disc-studs-marc-by/vp/v=1/845524441937178.htm?fm=search-shopbysize
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/marcj/marcj4153012397/marcj4153012397_q1_1-1.jpg
-
- - title: Diane von Furstenberg Jaelyn Sleeveless Drop Waist Dress
- description: "A drop-waist profile lends a figure-flattering fit to a mid-weight jersey DVF dress. Topstitched panels conform the silhouette, and a ruffle hem lends flirty movement. Fabric: Mid-weight jersey."
- price: $448.55 AUD
- url: http://www.shopbop.com/jaelyn-sleeveless-drop-waist-dress/vp/v=1/1589968732.htm?folderID=2534374302023737&colorId=12867&extid=affprg-2687457
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/diavf/diavf4252512867/diavf4252512867_p3_1-0.jpg
-
- - title: Jennifer Zeuner Open Star David Necklace
- description: "This rose gold-vermeil fine-chain necklace features a Star of David charm. Lobster-claw clasp. 17 inches (43 cm) long."
- price: $140.97 AUD
- url: http://www.shopbop.com/open-star-david-neckalce-jennifer/vp/v=1/845524441903674.htm?fm=search-shopbysize
- image_url: assets/1-a-holiday-in-style/p5-necklace.jpg
-
- - title: Joie A La Plage Nice Metallic Thong Sandals
- description: "Leather Joie sandals are perfect companions to a poolside look. Slip-on, T-strap design with a metallic, lizard-embossed band. Leather sole. Leather: Cowhide. Made in Italy."
- price: $145.63 AUD
- url: http://www.shopbop.com/plage-nice-metallic-thong-slide/vp/v=1/1594604323.htm?folderID=2534374302112443&fm=other-shopbysize&colorId=10815
- image_url: assets/1-a-holiday-in-style/p5-products-shoes.jpg
-
-
-
-
-
----
-
-The best kind of pieces are the ones that are most versatile, and this Little Black Dress (LBD) is one of those rare kinds. Dress it down with sandals or your classic ballet flats during the day for a look a little casual chic, or pair it with some bold heels for a night out. Look for detail and texture in your next LBD purchase, this one has a simple peplum hem which gives it a playful touch.” -- Aubrey from TheLoveAssembly
diff --git a/issues/holiday/data/2-cate-says-si.md b/issues/holiday/data/2-cate-says-si.md
deleted file mode 100644
index e2e4d0da..00000000
--- a/issues/holiday/data/2-cate-says-si.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- title: Cate says Si
- category: Cover story
- byline: By Zyra Bacani
- image_url: assets/2-cate-says-si/cover.jpg
- handle: 2-cate-says-si
-
- layout:
- type: three-column
- image_style: background
- content_style: transparent
- content_align: right
- content_height: full
-
----
diff --git a/issues/holiday/data/2-cate-says-si/1.md b/issues/holiday/data/2-cate-says-si/1.md
deleted file mode 100644
index 4d3ce022..00000000
--- a/issues/holiday/data/2-cate-says-si/1.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-
- title: Cate Blanchett
- category: The icon
- image_url: assets/2-cate-says-si/p1.jpg
- handle: 2-cate-says-si/1
-
- layout:
- type: two-column
- image_align: right
-
----
-
-The Si woman is nothing short of ordinary. Her exuberant nature; her balance of strength and femininity; her elegant sensuality; her insatiable desire to live her life freely. The Si woman has the ability to make her presence known.
-
-So it’s only fitting that Giorgio Armani would select Cate Blanchett as the face of his new fragrance, Si. Cate symbolises the spirit of what it means to be a modern day woman- her beauty is effortlessly unblemished and yet continues to make her mark in the world as Australia’s own Independent woman. She embodies a sense of courage, the courage to say Sì! (Yes!) to opportunities and embrace it wholeheartedly.
-
-“The Armani woman is simultaneously modern and effortless.” -Cate Blanchett
diff --git a/issues/holiday/data/2-cate-says-si/2.md b/issues/holiday/data/2-cate-says-si/2.md
deleted file mode 100644
index c0232eeb..00000000
--- a/issues/holiday/data/2-cate-says-si/2.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-
- title: Si Women
- image_url: assets/2-cate-says-si/p2.jpg
- handle: 2-cate-says-si/2
-
- layout:
- type: three-column
- image_style: background
- content_align: left
- content_height: full
- content_style: black
-
----
-
- Sì alla forza
- STRENGTH
- Sì ai sogni
- DREAM
- Sì alla liberta’
- FREEDOM
- Sì all’amore
- LOVE
- Sì a me stessa
- MYSELF
-
diff --git a/issues/holiday/data/2-cate-says-si/3.md b/issues/holiday/data/2-cate-says-si/3.md
deleted file mode 100644
index 8c3b08ad..00000000
--- a/issues/holiday/data/2-cate-says-si/3.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-
- category: The Fragrance
- title: Giorgio Armani Sì
- image_url: assets/2-cate-says-si/p3.jpg
- handle: 2-cate-says-si/3
-
- layout:
- type: two-column
- image_align: right
-
----
-
-Si emanates a soft yet sultry feel to any women who wish to try it. It’s chypre scent fused with a burst of cassis nectar and enriched with two types of sensual vanilla, allures ones senses, while the light musky wood lingers subtly on the skin. Enhanced by blends of freesia, patchouli and blond amber wood, this fragrance brings forward the shades of the independent feminine woman.
-
-The character of the Si woman is mimicked through the design aesthetic of the glass flacon, playing on the duality between strength and lightness. The Si bottle is simultaneously structured and simple. With its form being neither sharply squared nor spherical, its natural elegance makes it a timeless piece for any woman’s dressing table.
-
-
-
-
Giorgio Armani Sì
-
EDP 100ml, $230
-
SHOP NOW
-
diff --git a/issues/holiday/data/2-cate-says-si/4.md b/issues/holiday/data/2-cate-says-si/4.md
deleted file mode 100644
index f30c9203..00000000
--- a/issues/holiday/data/2-cate-says-si/4.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- content_type: video
- title: Youtube Video
- author_name: Zyralyn Bacani
- author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
-
- image_url: http://img.youtube.com/vi/hWVe-pVlO5w/hqdefault.jpg
- embed_content:
-
- layout:
- type: one-column
- image_style: background
- content_valign: top
-
----
diff --git a/issues/holiday/data/3-the-style-edit.md b/issues/holiday/data/3-the-style-edit.md
deleted file mode 100644
index 57bdafb6..00000000
--- a/issues/holiday/data/3-the-style-edit.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-
- title: The Style Edit
- byline: By Jysla Kay
- image_url: assets/3-the-style-edit/cover.jpg
- handle: 3-the-style-edit
-
- description:
- We show you how to style your basic black silk cami in three looks with blogger Jysla Kay - for day, for night and for a piece simply layered underneath it all. Whether worn alone or layered, a beautiful silk camisole is destined for any woman’s wardrobe. For the women who like to keep their prints to a minimal, get inspired by our take of a fresh twist on a classic look!
-
- products:
-
- - url: http://www.shopbop.com/silk-camisole-lna/vp/v=1/1562218472.htm?fm=search-shopbysize
- image_url: http://cdnc.lystit.com/photos/2013/12/10/lna-ivory-silk-camisole-product-4-16050727-535007609_large_flex.jpeg
- title: LNA silk camisole
- description: A whisper of silk composes this LNA camisole, which features an asymmetrical hemline. Spaghetti straps trace the shoulders and crisscross at the back. Semi-sheer.
- price: $177.12 AUD
- hotspot: "640,735,30"
-
- - title: ACNE Scene Mini Str Wide Sleeve Shirt-
- url: http://www.my-wardrobe.com/acne/scene-mini-str-wide-sleeve-shirt-631036
- image_url: http://cdna.lystit.com/photos/2013/07/04/acne-black-scene-mini-str-wide-sleeve-shirt-product-4-11427333-674883858_large_flex.jpeg
- brand: ACNE
- price: $230 AUD
- description: Put a structured twist on the men’s tailoring trend with this shirt from Acne, which takes tuxedo styling and lends it an over-sized modern feel. Ideal with ultra-slim black trousers in wool or leather, this is a fashion-forward way to update your classic white shirt for work.
- hotspot: "800,600,30"
-
- - title: Ray-ban Highstreet Matte Aviator Sunglasses
- url: http://www.shopbop.com/highstreet-matte-aviator-sunglasses-ray/vp/v=1/1593573019.htm?folderID=2534374302094311&fm=other-shopbysize&colorId=58684
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/raybn/raybn4014958684/raybn4014958684_p3_1-0_254x500.jpg
- brand: Ray-ban
- price: $186.44 AUD
- description: Classic aviator sunglasses are accented at the right lens with Ray-Ban's signature logo lettering. Made in Italy.
- hotspot: "715,240,30"
-
- - title: Gorjana taner bar necklace
- url: http://www.shopbop.com/taner-bar-necklace-gorjana/vp/v=1/1559721636.htm?folderID=2534374302033527&colorId=29109&extid=affprg-4441350
- image_url: http://www.shoptanktop.com/shop-2/images/3016/Taner%2BBar%2BNecklace%2BGold%2B2.jpg/
- brand: Gorjana taner
- price: $69.92 AUD
- description: A simple Gorjana necklace with a delicate hammered bar. Ring clasp. 14k gold. Made in the USA.
- hotspot: "600,650,30"
-
- layout:
- type: three-column
- image_style: background
- content_align: left
- content_style: black
- content_height: full
-
----
diff --git a/issues/holiday/data/3-the-style-edit/1.md b/issues/holiday/data/3-the-style-edit/1.md
deleted file mode 100644
index 51e02481..00000000
--- a/issues/holiday/data/3-the-style-edit/1.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
- image_url: assets/3-the-style-edit/p1.jpg
-
- layout:
- type: two-column
- image_style: background
- content_style: black
- content_align: left
- content_valign: bottom
-
----
-
-“The silk camisole. With thin spaghetti straps and a breathable flowy shape, the silk cami is a wardrobe must. It’s minimal, it’s sexy and it’s an extremely versatile piece that often gets overlooked for its simplicity.”
--- Aubrey from TheLoveAssembly
diff --git a/issues/holiday/data/3-the-style-edit/2.md b/issues/holiday/data/3-the-style-edit/2.md
deleted file mode 100644
index 0e521c77..00000000
--- a/issues/holiday/data/3-the-style-edit/2.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
- category: The Style Edit
- title: The Day Look
- category: The Style Edit
- image_url: assets/3-the-style-edit/p2.jpg
- products:
-
- - url: http://www.neimanmarcus.com/See-by-Chloe-Rosita-Chain-Crossbody-Bag-Black-Gray/prod161220019/p.prod
- image_url: assets/3-the-style-edit/p2-bag.jpg
- subtitle: Rosita Chain Crossbody Bag (Black/Gray)
- description: "Covetable colorblock emboldens this See by Chloe Rosita bag—the shoulder-slung size makes it ideal for meeting and mingling at happy hours."
- price: $466.50 AUD
-
- - title: Classic Racerback Camisole
- url: http://www.shopbop.com/classic-racerback-cami-tibi/vp/v=1/1562453216.htm?folderID=2534374302060677&fm=other-shopbysize-viewall&colorId=12867
- image_url: assets/3-the-style-edit/p4-product-2.jpg
- brand: Tibi
- price: $184.11AUD
- description: A simple silk camisole from Tibi is finished with spaghetti straps and a delicate racer back. Made out of 100% woven silk.
-
- - url: http://www.shopbop.com/foldable-polarized-aviator-sunglasses-ray/vp/v=1/845524441945675.htm?folderID=2534374302094311&fm=other-shopbysize-viewall&colorId=45156
- image_url: http://images.asos-media.com/inv/media/1/9/7/0/3510791/image2xl.jpg
- title: Ray-Ban
- subtitle: Foldable Aviator Sunglasses
- description: 'These polarized Ray-Ban aviators are streamlined classics with a twist: Tiny hinges in the bridge and temples fold these up into half their size, making for compact, easy transport. Plastic-tipped temples and signature logo lettering at one corner. Case and cleaning cloth included.'
- price: $284.97 AUD
-
- - url: http://www.my-wardrobe.com/joseph/rocket-monochrome-stripe-trousers-889022
- image_url: assets/3-the-style-edit/p2-product-4.jpg
- title: Joseph
- subtitle: Rocket Monochrome Stripe Trousers
- description:
- "Monochrome stretch cotton striped Rocket trousers featuring a fitted waistband, belt loops, a button, concealed zip and hook-and-eye fly fastening, two hip pockets a buttoned rear jet pocket and a kick flare. Joseph trousers have a 35 inch inside leg, a 9 inch rise and an 18 inch leg opening. 53% viscose, 42% cotton, 5% elastane. Lining: 61% acetate, 39% polyester. Dry clean only."
- price: $116 AUD
-
- layout:
- type: two-column
- image_align: left
-
----
diff --git a/issues/holiday/data/3-the-style-edit/3.md b/issues/holiday/data/3-the-style-edit/3.md
deleted file mode 100644
index 4b05c24e..00000000
--- a/issues/holiday/data/3-the-style-edit/3.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- image_url: assets/3-the-style-edit/p3.jpg
-
- layout:
- type: two-column
- image_style: background
- content_style: black
- content_align: right
- content_valign: bottom
-
----
-
-“The right statement piece, like this pleated faux leather skirt, can transform a simple outfit from day to night. Alternatively, you can soften this look by replacing the black camisole with an off-white one or dress it up with a plunging back top and diamond drop earrings.”
-
--- Jysla Kay
diff --git a/issues/holiday/data/3-the-style-edit/4.md b/issues/holiday/data/3-the-style-edit/4.md
deleted file mode 100644
index 97bc5433..00000000
--- a/issues/holiday/data/3-the-style-edit/4.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
- category: The Style Edit
- title: The Evening Look
- description:
- author_name:
- author_icon:
- image_url: assets/3-the-style-edit/p4.jpg
- published_at:
- products:
-
- - url: http://www.shopbop.com/enamel-statement-necklace-madewell/vp/v=1/1572425755.htm?folderID=2534374302060432&fm=other-shopbysize&colorId=64643
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/madew/madew4099864643/madew4099864643_q1_1-0_336x596.jpg
- title: Madewell
- subtitle: Enamel Statement Necklace
- description: A delicate Madewell necklace makes a unique statement with small triangle beads and an intricate bib detail. Ring clasp.
- price: $79.24 AUD
-
- - url: http://www.net-a-porter.com/product/398362
- image_url: http://9c38.http.dal05.cdn.softlayer.net/wantering/products/images/1/0/6/10631b8e-03b9-11e3-8673-062e13789e081.jpg
- title: Equipment
- subtitle: Washed Silk Camisole
- description: "A black camisole is a wardrobe savior - endlessly versatile, it works day or night. We love Equipment's lightweight washed-silk version. With adjustable shoulder straps for the perfect fit, team this runway piece with skinny jeans or style it under sheer layers."
- price: $189.54 AUD
-
-
- - url: http://www.asos.com/au/ASOS/ASOS-WHITE-Midi-Skirt-In-Pleated-Leather/Prod/pgeproduct.aspx?iid=3358221&SearchQuery=leather%20pleated%20skirt&sh=0&pge=0&pgesize=36&sort=-1&clr=Blue
- image_url: http://media.missselfridge.com/wcsstore/MissSelfridge/images/catalog/12V21MBLK_large.jpg
- title: ASOS WHITE
- subtitle: Midi Skirt In Pleated Leather
- description: Crisp accordion pleats lend classic texture to a leather ASOS WHITE skirt. Designed with a matte finish and a fitted, high-rise waist.
- price: $296.94 AUD
-
- - url: http://www.my-wardrobe.com/comme-des-garcons-wallets/polka-dots-printed-zip-around-long-wallet-618440
- image_url: http://a2.ocimage.us/pimg/38924_1blk.jpg
- title: COMME DES GARÇONS WALLETS
- subtitle: POLKA DOTS PRINTED ZIP AROUND LONG WALLET
- description: 'Black and white polka dot printed leather zip-round wallet by COMME des GARÇONS featuring a gold-tone zip-round fastening and all-over polka dot print. COMME des GARÇONS wallet opens out with a black leather interior, space for size cards, three slip pockets and a press-tud fastening coin pocket. COMME des GARÇONS wallet measures 20cm x 10cm x 2.5cm.'
- price: $320 AUD
-
- layout:
- type: two-column
- image_align: right
-
----
diff --git a/issues/holiday/data/3-the-style-edit/5.md b/issues/holiday/data/3-the-style-edit/5.md
deleted file mode 100644
index cf9dac44..00000000
--- a/issues/holiday/data/3-the-style-edit/5.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
- category: The Style Edit
- title: The Layered Look
- description:
- author_name:
- author_icon:
- image_url: holiday/assets/3-the-style-edit/p5-portrait.jpg
- published_at:
- products:
-
- - url: http://www.net-a-porter.com/product/398362
- image_url: http://9c38.http.dal05.cdn.softlayer.net/wantering/products/images/1/0/6/10631b8e-03b9-11e3-8673-062e13789e081.jpg
- title: Equipment
- subtitle: Washed Silk Camisole
- description: "A black camisole is a wardrobe savior - endlessly versatile, it works day or night. We love Equipment's lightweight washed-silk version. With adjustable shoulder straps for the perfect fit, team this runway piece with skinny jeans or style it under sheer layers."
- price: $189.54 AUD
-
- - url: http://www.my-wardrobe.com/acne/scene-mini-str-wide-sleeve-shirt-631036
- image_url: http://cdna.lystit.com/photos/2013/07/04/acne-black-scene-mini-str-wide-sleeve-shirt-product-4-11427333-674883858_large_flex.jpeg
- title: ACNE Studios
- subtitle: Scene Mini Str Wide Sleeve Shirt
- description: Put a structured twist on the men’s tailoring trend with this shirt from Acne, which takes tuxedo styling and lends it an over-sized modern feel. Ideal with ultra-slim black trousers in wool or leather, this is a fashion-forward way to update your classic white shirt for work.
- price: $230 AUD
-
- - url: http://www.shopbop.com/highstreet-matte-aviator-sunglasses-ray/vp/v=1/1593573019.htm?folderID=2534374302094311&fm=other-shopbysize&colorId=58684
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/raybn/raybn4014958684/raybn4014958684_p3_1-0_254x500.jpg
- title: Ray-ban
- subtitle: ‘Highstreet Matte Aviator Sunglasses’
- description: Classic aviator sunglasses are accented at the right lens with Ray-Ban's signature logo lettering. Made in Italy.
- Price: $186.44 AUD
-
- - url: http://www.shopbop.com/taner-bar-necklace-gorjana/vp/v=1/1559721636.htm?folderID=2534374302033527&colorId=29109&extid=affprg-4441350
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/gorja/gorja4063111739/gorja4063111739_p1_1-0.jpg
- title: Gorjana
- subtitle: Taner Bar Necklace
- description: A simple Gorjana necklace with a delicate hammered bar. Ring clasp. 14k gold. Made in the USA.
- price: $69.92 AUD
-
- layout:
- type: two-column
- image_align: right
-
----
diff --git a/issues/holiday/data/4-summer-love/1.md b/issues/holiday/data/4-summer-love/1.md
deleted file mode 100644
index 257fc5aa..00000000
--- a/issues/holiday/data/4-summer-love/1.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- title: Cinque Terre
- category: Destination
- subtitle: Italian Riviera
- image_url: assets/4-summer-love/p1.jpg
-
- layout:
- type: three-column
- image_style: background
- content_align: left
- content_valign: middle
-
----
-
-The itinerary is simple: wander the town's lanes; catch the boat to Porto Venere; take the La via dell'Amore path to the dizzying heights of Riomaggiore; and - last but certainly not least - eat gelato all day, every day. Paint your nails in a sherbet shade of Holiday and throw on a floral dress as you meander your way along the Italian Riviera. It’s the Way of Love, after all.
diff --git a/issues/holiday/data/4-summer-love/2.md b/issues/holiday/data/4-summer-love/2.md
deleted file mode 100644
index b2ee5a96..00000000
--- a/issues/holiday/data/4-summer-love/2.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-
- title: Italian Summer
- category: What To Pack
- image_url: assets/4-summer-love/p2.jpg
- products:
-
- - url: http://www.chanel.com/en_US/fragrance-beauty/Makeup-Nails-LE-VERNIS-89314
- image_url: assets/4-summer-love/p2-product-5.jpg
- title: Chanel nail polish in Holiday
- description: Classic and trend-defining shades in an exclusive formula that strengthens and moisturizes nails as it delivers high-shine colour. Applies evenly without streaking.
- price: $27 AUD
-
- - url: http://www.ourcellar.com.au/p/10106/antipodes-sparkling-water-6-x-1lt-bottles?utm_source=myshopping&utm_medium=cpc&utm_campaign=Groceries&utm_term=Antipodes+Sparkling+Water+6+x+1lt+Bottles
- image_url: assets/4-summer-love/p2-product-4.jpg
- title: ANTIPODES SPARKLING WATER 6 X 1LT BOTTLES
- description: "New Zealand Water, across the board is renowned for its purity and Antipodes is amongst the most pure. Antipodes comes to the surface from a deep aquifer and is bottled at source in Whakatane, Bay of Plenty, New Zealand.
- Antipodes Sparkling won the world’s largest and most respected International Water tasting awards being announced as the world’s best Sparkling water. Known as the ‘Olympics of Water’ The Berkeley Springs Winter Festival of Waters was held over four days in West Virginia USA where seventy waters from 12 countries and 22 States competed for medals. The prestigious Gold medal for Sparkling bottled water went to Antipodes Water, New Zealand . The waters are judged for overall quality including appearance, aroma, taste, mouth feel and aftertaste."
- price: $28.99 AUD
-
- - url: http://www.alicemccall.com/shop/item/orpheus-maxi-dress#.Ustfz2QW2TZ
- image_url: http://www.dealopes.com.au/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/a/l/alice-mccall-orpheus-maxi-dress-b.jpg
- title: AlICE MCCALL ORPHEUS MAXI DRESS
- description: Digitally printed chiffon maxi dress.Alice McCall comes to us from London, bringing her intricate cut out dresses and girlish bohemian style. Simple and charming, a memorable keepsake for any wardrobe. As seen on Garypeppergirl Vintage.
- price: $399 AUD
-
- - url: http://www.seedheritage.com/new-arrivals/harper-mesh-espadrille/w1/i9675888_1001342/
- image_url: assets/4-summer-love/p2-product-2.jpg
- title: Seed Harper Mesh Espadrille
- subtitle: Womens Accessories
- description: Mesh espadrille. Textile and leather upper, leather lining with jute rubber sole.
- price: $79.95 AUD
-
- - url: http://www.digitalrev.com/product/polaroid-z340-instant-digital-camera/MTAwMDAyMA_A_A
- image_url: assets/4-summer-love/p2-product-3.jpg
- title: Polaroid Z340 Instant Digital Camera
- description:
- "Sharing photos instantly is as easy as snap and print with the Polaroid Z340 Instant Digital Camera. Using the full-function digital camera and integrated printer, photo printing becomes as mobile as photo taking, recapturing the magic of instant photography. Using ZINK® Zero Ink® Printing Technology from ZINK Imaging, instantly transform digital pictures into fun and useful, 3x4” photos that can be shared and enjoyed spontaneously and on the go. Mobile and easy-to-use, the Polaroid Z340 Instant Digital Camera provides a new, innovative way to print and share photos instantly. The Polaroid Way. Capture, view and instantly share your photos."
- price: $339 AUD
-
- - url: http://www.net-a-porter.com/product/409859
- image_url: http://superfreshkids.files.wordpress.com/2013/12/20131227-093828.jpg%3Fw%3D920
- title: Missoni Straw Boater Hat
- description: Nothing says classic summer style quite like a straw boater. Crafted in Italy, Missoni's version features a striped band in the brand's signature crochet-knit. Slip it on with jeans and a tee or a printed maxi dress.
- price: $150.34 AUD
-
-
-
-
----
diff --git a/issues/holiday/data/4-summer-love/3.md b/issues/holiday/data/4-summer-love/3.md
deleted file mode 100644
index 9aa820eb..00000000
--- a/issues/holiday/data/4-summer-love/3.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
- title: Monterosso
- category: Favourite Eats
- image_url: assets/4-summer-love/p3.jpg
-
- layout:
- type: three-column
- content_valign: middle
-
----
-
-Lunch at Pizzeria La Smorfia (Via Vittorio Emanuele, 73, 19016, Monterosso). Arguably the best pizzeria in Monterosso. The Quattro Formaggi and the Margherita are standouts - and be sure to chase them down with the house wine for a mouthwatering meal that will set you back only 9 euros.
-
-Dinner at Marina Piccola (Via Lo Scalo, 16, 19010 Manarola). Grab a table here and enjoy a glass of the Cinque Terre sciacchetrà as the sun sets over the Mediterranean Sea.
diff --git a/issues/holiday/data/4-summer-love/4.md b/issues/holiday/data/4-summer-love/4.md
deleted file mode 100644
index ff91fd47..00000000
--- a/issues/holiday/data/4-summer-love/4.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-
- title: Margaret River
- category: Destination
- subtitle: Western Australia
- image_url: assets/4-summer-love/p4.jpg
- handle: 4-summer-love/4
-
- layout:
- type: three-column
- image_style: background
- content_align: right
- content_valign: middle
-
----
-
-My favourite way to spend summer in my hometown, Perth, is to pack all my favourite belongings in a car and head ‘down south’ for a few days. Stealing glimpses of the Indian Ocean whilst we drive along to a nostalgic summer soundtrack always makes for a perfect roadtrip. And once you’re there? Eat, drink, and be merry. Don’t forget to pack some SPF, a floppy hat, and hang a left towards Smiths Beach until the sun goes down. It’s summer love at first sight and last light.
diff --git a/issues/holiday/data/4-summer-love/5.md b/issues/holiday/data/4-summer-love/5.md
deleted file mode 100644
index 9e418cf9..00000000
--- a/issues/holiday/data/4-summer-love/5.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-
- title: Western Australia
- category: What To Pack
- image_url: assets/4-summer-love/p5.jpg
- published_at:
- products:
-
- - url: http://www.shakuhachi.net/swimwear/a-midsummer-nights-lo-cut-bikini-bottoms-pink-floral
- image_url: http://cdnc.lystit.com/photos/2013/06/01/shakuhachi-pink-floral-a-midsummer-nights-high-waisted-bikini-brief-product-1-10357740-388176970_large_flex.jpeg
- title: Shakuhachi Pink Floral Two-piece Bikini
- description: The A Midsummer Nights Lo Cut Bikini Bottoms. These low cut bikini bottoms feature the new technology of bonded neoprene which, holds the body in for a more flattering shape. They feature our A Midsummer Nights pale pink and green rose print. A Midsummer Nights print is exclusive to Shakuhachi.
- price: $90 AUD
-
- - url: http://www.aesop.com/au/sage-and-zinc-facial-hydrating-cream-spf15-2.html
- image_url: http://az412792.vo.msecnd.net/prodimgs/16011904401-350.jpg
- title: AESOP Sage & Zinc Facial Hydrating Cream – SPF15
- subtitle: A daily SPF15 moisturiser for all skin types, including sensitive
- description:
- Perfected after ten years of research and development, this lightweight, hydrating formulation contains mineral-based Zinc Oxide, which forms a barrier to reflect sunlight without clogging pores to leave skin feeling softened and protected.
- price: $40 AUD
-
- - url: http://www.activeskin.com.au/moroccanoil-oil-treatment-for-all-hair-types-100ml
- image_url: assets/4-summer-love/p5-product-5.jpg
- title: MOROCCAN OIL TREATMENT FOR ALL HAIR TYPES
- description:
- "
Moroccanoil Treatment is an ultra-light formula which absorbs into the hair instantly, leaving a natural, silky finish and brilliant shine without leaving a residue.
"
- price: $49.50 AUD
-
-
-
- - url: http://www.shopbop.com/heidi-cover-melissa-odabash/vp/v=1/1500939758.htm?folderID=2534374302067619&fm=other-shopbysize&colorId=16825
- image_url: http://www.rumpusresort.com/shopimages/products/normal/melissa-odabash-heidi-cover-up-white-floating-362x361.png
- title: Melissa Odabash Cover up
- description: "Tonal embroidery and crocheted trim give this cover-up a delicate aesthetic. Drawstring waist. Semi-sheer. Fabric: Embroidered voile. 100% rayon."
- price: $210.78 AUD
-
-
-
- - url: http://www.eskaalikai.com.au/collections/sandals/products/slides-1
- image_url: assets/4-summer-love/p5-product-3.jpg
- title: Eska Alikai Lambskin Leather Slides
- description: "Online exclusive. The fabric is leather lambskin. Toe strap width is 6.5 cm."
- price: $165 AUD
-
- - url: http://www.amazon.com/It-Alexa-Chung/dp/0143124838
- image_url: assets/4-summer-love/p5-product-4.jpg
- title: Required reading - It
- subtitle: by Alexa Chung
- description:
- "The darling of the fashion world and co-host of the music TV show Fuse News shares her inspirations, musings, and her own very personal and eclectic style.
-
-
With influences that range from the sultry beauty of Jane Birkin to the rocker chic of Mick Jagger, it’s no wonder that everything worn by Alexa Chung instantly becomes the latest trend. Already a hugely popular television personality and a muse for Marc Jacobs and Karl Lagerfeld, Chung is now a co-anchor of the nightly music show Fuse News, covering today’s hottest acts and entertainment news. Chung’s first book, It, provides her legion of fans with a long-awaited inside look at her fascinating world.
-
-
A wholly unique collection of Chung’s personal writings, drawings, and photographs, It covers everything from her candid thoughts on life, love, and music to her favorite ensembles and how to decide what to wear in the morning. With Chung’s characteristic wit, charm, and refreshingly down-to-earth attitude, this full-color compendium is a must-have for anyone who loves fashion, music, and just about everything Alexa Chung.
"
- price: $21.73 AUD
-
-
-
- layout:
- type: two-column
-
----
diff --git a/issues/holiday/data/4-summer-love/6.md b/issues/holiday/data/4-summer-love/6.md
deleted file mode 100644
index 6ecbc148..00000000
--- a/issues/holiday/data/4-summer-love/6.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-
- title: White Elephant
- category: Favourite Eats
- image_url: assets/4-summer-love/p6.jpg
-
- layout:
- type: two-column
-
----
-
-
-
-Breakfast at White Elephant Beach Cafe - order the smoked salmon bagel with capers and cream cheese, and grab a seat under the beach umbrella as the Indian Ocean crashes to shore, only metres away from you. What’s not to love?
-
-Dinner at Morries - perfect for a post-beach aperitif and nibbles as the sun sets. Stay for cocktails and delve into the delicious tapas menu!
-
diff --git a/issues/holiday/data/5-a-weekend-escape.md b/issues/holiday/data/5-a-weekend-escape.md
deleted file mode 100644
index 598d01c8..00000000
--- a/issues/holiday/data/5-a-weekend-escape.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
- title: Sydney In The Summertime
- category: Destination
- byline: Aubrey from The Love Assembly
- author_name: Aubrey
- author_icon: assets/aubrey-avatar.png
- image_url: assets/5-a-weekend-escape/cover.jpg
-
- layout:
- type: two-column
-
----
-
-Blue skies and balmy summer nights, summer in Sydney is definitely one to be spent soaking up the sun and being carefree! My favourite summer day with a group of friends is spent on a road trip up north towards my coastal escape, but staying local is proven to be just as great! Spend a day in Bondi venturing out to great cafes, shops and bars with our most popular beach right at your doorstep or, escape the crowds with a loved one and head for something a little more serene like Wattamolla Beach, secluded and surrounded by Australian bush. There’s always something a little different to explore while you’re in Sydney!
diff --git a/issues/holiday/data/5-a-weekend-escape/1.md b/issues/holiday/data/5-a-weekend-escape/1.md
deleted file mode 100644
index f652736b..00000000
--- a/issues/holiday/data/5-a-weekend-escape/1.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-
- image_url: assets/5-a-weekend-escape/p1.jpg
- description:
- "
My favourite summer day is spent on a road trip up north towards my coastal escape, but staying local is proven to be just as great!
- --Aubrey
"
-
- layout:
- type: three-column
-
----
diff --git a/issues/holiday/data/5-a-weekend-escape/2.md b/issues/holiday/data/5-a-weekend-escape/2.md
deleted file mode 100644
index abfa8c96..00000000
--- a/issues/holiday/data/5-a-weekend-escape/2.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-
- title: Costal Escape
- category: What To Pack
- image_url: assets/5-a-weekend-escape/p2.jpg
- products:
-
- - url: http://www.shopbop.com/thick-frame-sunglasses-saint-laurent/vp/v=1/1543677125.htm?folderID=2534374302159432&fm=other-shopbysize&colorId=43256&extid=affprg-4441350
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/yvesl/yvesl2006143256/yvesl2006143256_q3_1-0.jpg
- title: Saint Laurent
- subtitle: Thick Frame Sunglasses
- description: Bold resin frames set a glamorous tone on rounded Saint Laurent sunglasses. Gradient lenses. Case and cleaning cloth included.
- price: $400.53
-
- - url: http://www.net-a-porter.com/product/391555?cm_mmc=LinkshareUK-_-QFGLnEolOWg-_-Custom-_-LinkBuilder&siteID=QFGLnEolOWg-hZ4jSJOCseA0.2htB4ujsQ
- image_url: assets/5-a-weekend-escape/p2-product-3.jpg
- title: KORA ORGANICS BY MIRANDA KERR
- subtitle: Energizing Citrus Mist, 65ml
- description:
- KORA Organics' founder and international supermodel Miranda Kerr vows she "won't leave home without" this uplifting spritz. Its energizing combination of Bergamot, Orange, Aloe Vera - alongside Kerr's beloved Noni Extract - not only smell sumptuous but help to maintain soft, supple skin.
- price: $40
-
-
- - url: http://www.shopbop.com/sundance-frill-bikini-zimmermann/vp/v=1/1502374568.htm?folderID=2534374302067620&fm=other-shopbysize&colorId=55370&extid=affprg-4441350
- image_url: http://www.missyconfidential.com.au/media/catalog/product/cache/1/thumbnail/9df78eab33525d08d6e5fb8d27136e95/c/a/caitlin-reid-image-8_1_7.jpg
- title: Zimmermann
- subtitle: Sundance Frill Bikini
- description:
- This Zimmermann bikini set features a floral-print top and solid bottoms. The top is detailed with feminine ruffles, and side boning provides structure. A silver-tone hook-and-eye fastens the back, and an optional halter strap fastens behind the neck. Lined.
- price: $255.41
-
- - url: http://www.shopbop.com/anna-cover-dress-miguelina/vp/v=1/1502048329.htm?folderID=2534374302024726&fm=other-shopbysize&colorId=12397&extid=affprg-4441350
- image_url: assets/5-a-weekend-escape/p2-product-2.jpg
- title: Miguelina
- subtitle: Anna Cover Up Dress
- description: Crocheted lace insets make this voile cover-up dress an elegant poolside layer. Scalloped hem. Spaghetti straps. Semi-sheer.
- price: $307.65
-
-
-
- - url: http://www.hairmeetwardrobe.com.au/product/detail/421008/sea-salt-texturising-spray
- image_url: http://www.hairmeetwardrobe.com.au/Images/1570/1570-420253-TG_P_C_SSTS_300x300_00.png
- title: SEA SALT TEXTURISING SPRAY
- subtitle: CREATES TEXTURE AND BODY FOR A LIVED-IN, BEACH LOOK
- description: Create texture and body with light hold. Suitable for all hair types and perfect for achieving a lived-in, beach look. Spray evenly from root to tip, on towel-dried or dry hair and work though to create tousled waves with natural movement.
-
- - url: http://www.shopbop.com/keeper-frill-bandeau-bikini-zimmermann/vp/v=1/1555961160.htm?folderID=2534374302067620&fm=other-shopbysize&colorId=55366&extid=affprg-4441350
- image_url: http://www.zimmermannwear.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/1/_/1.7082wkee.def.keeper-frill-bandeau-bikini-desert_floral-back.jpg
- title: Zimmermann
- subtitle: Keeper Frill Bandeau Bikini
- description: A floral Zimmermann bikini set with a sweet, ruffled bandeau top. Gold-tone buckle closure. Optional shoulder straps. Lined.
- price: $278.63
-
-
- layout:
- type: two-column
- image_align: left
- image_style: cover
-
----
diff --git a/issues/holiday/data/5-a-weekend-escape/3.md b/issues/holiday/data/5-a-weekend-escape/3.md
deleted file mode 100644
index 3b2d047a..00000000
--- a/issues/holiday/data/5-a-weekend-escape/3.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-
- title: Breakfast
- category: Favourite Eats
- subtitle: Bondi Beach
- image_url: assets/5-a-weekend-escape/p3.jpg
-
- layout:
- type: three-column
- image_align: right
-
----
-
-
-
-Icebergs Terrace Cafe, 1 Notts Avenue, Bondi Beach
-
-The best views of Bondi can be seen with the return of the Terrace Cafe at Icebergs’ balcony, and this time they’re staying for good! It only fits 20 people and has a selection of light and fresh food but we suggest starting your day with an early morning swim or walk along the coast and pop in to pick up a fresh breakfast smoothie or juice, while you enjoy the multi million dollar view with your own eyes.
-
-For a great local feel head to Bondi Picnic, 101 Hall Street, Bondi Beach
-
-Friendly owners, locally sourced produce and one tasty menu make Bondi Picnic a favourite among the locals. A great spot to sit in the sun drenched table out the front and people watch over an early breakfast or your morning coffee. Order their avocado on toast - it’s an Aussie favourite with a combination of vegemite, avocado and lemon on multigrain sourdough (poached eggs optional) and their delicious banana smoothie!
diff --git a/issues/holiday/data/5-a-weekend-escape/4.md b/issues/holiday/data/5-a-weekend-escape/4.md
deleted file mode 100644
index 81ee0492..00000000
--- a/issues/holiday/data/5-a-weekend-escape/4.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- title: Lunch
- category: Favourite Eats
- subtitle: The Grounds, Alexandria
- image_url: assets/5-a-weekend-escape/p4.jpg
-
- layout:
- type: two-column
- image_align: right
-
----
-
-
-
-The Grounds offers a wholesome and rustic menu; equally as perfect for a group lunch as a breakfast for two. To catch a great vibe, head in early on the first weekend of each month when The Grounds Markets are on - catch live music performances, enjoy brunch, own-roasted coffee and a selection of hand-made treats, explore an abundance of fresh produce and wholesome goods, sip on fresh lemonades in the cafe garden and pick up some beautiful blooms on your way out. What’s not to love at The Grounds?
diff --git a/issues/holiday/data/5-a-weekend-escape/5.md b/issues/holiday/data/5-a-weekend-escape/5.md
deleted file mode 100644
index 35a948a8..00000000
--- a/issues/holiday/data/5-a-weekend-escape/5.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-
- title: Dinner & Drinks
- category: Favourite Eats
- image_url: assets/5-a-weekend-escape/p5.jpg
-
- layout:
- type: two-column
-
----
-
-For an all round great vibe book in for dinner at Nomad, 16 Foster Street Surry Hills
-
-Located in a historic warehouse on the fringe of Surry Hills, Nomad ticks all the right boxes - great food (their charcuterie selection is a must try - cut to order and served on a round rustic wooden board), a great selection and ever evolving wine list, and exceptional service. Nomad is one restaurant not to miss!
-
-For drinks, Opera Bar, Sydney Opera House, Lower Concourse Level has you sorted - your favourite cocktail, wine or beer and the best views of the shimmering Sydney Harbour. They also serve food if you prefer dinner and drinks or get a little nibbly. Our favourite drink for a balmy summer night? The Moscato Mojito cocktail or the ‘Summertime’ cocktail jug for a group.
-
-
-
-
A Unique Sydney Experience
-
-Get a taste of three award-winning restaurants in Surry Hills with the exclusive “Dinner On The Run” dining experience curated by Lime & Tonic. There are so many great restaurants in Surry Hills, it can be hard to choose where to go for dinner. With this progressive dinner experience, you won't have to! Walk between three restaurants, with one course and one perfectly matched drink at each. Starter at Sugarcane, main course at BarH, and dessert at Longrain. Each restaurant will present the specialities and by the end of the night you’ll have first-hand knowledge of some of the best restaurants in Surry Hills, not to mention the smile on your face that comes only after a wonderful meal paired with delicious drinks!
-
-An exclusive Progressive Dining experience -
More Info
diff --git a/issues/holiday/data/6-summer-survival-guide/1.md b/issues/holiday/data/6-summer-survival-guide/1.md
deleted file mode 100644
index 158fdada..00000000
--- a/issues/holiday/data/6-summer-survival-guide/1.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-
- title: Must Haves
-
- products:
-
- - url: http://www.katesomerville.com/illumikate-cc/
- image_url: assets/6-summer-survival-guide/p1-product-1.jpg
- title: Broad Spectrum SPF 50+ PA+++
- brand: IllumiKate CC Cream
- description:
-
Let me give you a (not-so-fun) reality check- two in three Australians will be diagnosed with skin cancer. Thus, I present to you a lightweight alternative for those who detest the heavy feel of foundation, with the added benefits of hydration and SPF50+ which offers a greater level of protection. This tinted moisturiser is multifunctional as it instantly minimises the look of imperfections with colours designed to suit several skin tones.
-
-
It glides on the skin like butter on bread, creating a smooth and supple effect, while known brightening agents Arbutin, Licorice Extract and Natural Amino Acids help improve the appearance of discolouration for more luminous skin.
- price: $48 AUD
-
- - url: http://www.purist.com/akin-face-care/serums/akin-pure-radiance-certified-organic-rosehip-oil-23ml
- image_url: assets/6-summer-survival-guide/p1-product-2.jpg
- title: A'kin Pure Radiance Rosehip Oil - Certified Organic 23ml
- brand: A'kin
- description:
- It’s the holy grail of skin products and the ideal antidote for dry skin without dipping too much into your savings. It provides a multi-purpose treatment for several issues. It not only restores moisture to dehydrated skin but reduces the signs of ageing and stretch marks through the use of omega 3, 6 and 9. It also contains Provitamin A and E, ensuring the skin is smooth whilst improving the appearance of scars and pimples and giving the skin that radiant glow we’re all aiming for.
- price: $19.95 AUD
-
- - url: http://www.asos.com/Elemental-Herbology/Elemental-Herbology-Facial-Detox-Purifying-Face-Mask-75ml/Prod/pgeproduct.aspx?iid=2219324&cid=15264&sh=0&pge=0&pgesize=36&sort=-1&clr=Purifying+face+mask
- image_url: assets/6-summer-survival-guide/p1-product-3.jpg
- title: Elemental Herbology Facial Detox Purifying Face Mask
- brand: Elemental Herbology
- description:
- Our lives can be quite frantic and constantly changing, just like our skin! The impact of differing seasons, changes in hormones and our way of living is reflected in the appearance and feel of our skin. Which is why the founder, Kristy Cimesa, has developed this mask to combat these issues and stop spots in their tracks! It’s designed to hydrate, repair, fight free radicals while rebalancing the skin. Containing a deep-cleansing formula of Manuka honey, aloe, fig extract, oat flour and Amazonian Clay, this mask helps to eliminate toxins from the surface while gently exfoliating blocked pores for a softer, radiant appearance. It contains the essential oils of eucalyptus, cedarwood, lavender and rosemary to help balance sebum production.
- price: $53.33 AUD
-
- - url: http://shop.nordstrom.com/s/chanel-le-blanc-de-chanel-sheer-illuminating-base/2967481
- image_url: assets/6-summer-survival-guide/p1-product-4.jpg
- title: Chanel Le Blanc de Chanel Sheer Illuminating Base
- brand: Chanel
- description:
- I present to you the staple of beauty products; the crème de la crème of makeup essentials. It’s quite surprising the amount of women that don’t use a primer or know it’s worth. So like the idea of waterproofing a pair of your black suede shoes to prolong its life, a primer does the same with makeup! This multi-tasking liquid ‘primes’ skin to set the makeup, while adding subtle contours and a natural dewy glow. This refreshing fluid keeps to its iconic subtle rose scent while smoothing away redness and the appearance of pores.
- price: $53.30 AUD
-
- - url: http://shop.nordstrom.com/s/lancome-genifique-yeux-light-pearl-eye-illuminating-youth-activating-concentrate/3354644?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_0_A
- image_url: assets/6-summer-survival-guide/p1-product-5.jpg
- title: "'Génifique Yeux Light-Pearl' Eye-Illuminating Youth Activating Concentrate"
- brand: Lancôme
- description:
- Introducing the perfect serum for smoother, more luminous and younger looking eyes. This is Lancome’s first eye-illuminating serum, engineered with a unique rotating and massaging applicator to cover even the most hard-to-reach eye areas. Experience a 360° eye contour transformation above and below the eyes.
- price: $80.54 AUD
-
- - url: http://www.aesop.com/au/skin-care-1/primrose-facial-hydrating-cream-2.html
- image_url: http://media-cdn.aesop.com/media/catalog/product/cache/20/image/e8d066887528237bd2197aedf8d05947/P/r/Primrose_Facial_Hydrating_Cream_60ml_1.png
- brand: Aesop
- description: Let’s get to the nitty-gritty of managing your skin this summer! Aesop’s range is essential. This is Aesop’s most coveted product of daily moisturisers, with the deep absorbing plant extracts designed to hydrate and soften normal, dry and stressed skin. This concoction is high in gamma linoleic acids and is boosted with Primrose and Rose Hip Seed extracts, natural mediums for Vitamin E and C. It also includes hints of sage, wild rosemary and lavender. With this moisturiser radiating herbaceous and earthy scents to captivate ones senses, who can resist?
- price: $49 AUD
-
- layout:
- type: two-column
- image_align: right
- content_style: transparent
-
----
-
-### FIRST BASE
-
-Think of your face like a canvas and yourself as a painter. Just like how a primer is needed to increase paint durability, so too does the face (but with makeup of course). Create the perfect base by first moisturising your face with a hydrating cream (3) then prime with Chanel Sheer Illuminating Base(5). Using a kabuki brush, buff on some mineral foundation(7) or for those who need that little bit of hydration, opt for Kate Sommerville’s CC Cream(1) which also contains SPF50+. The primer hides imperfections by minimising the appearance of pores and redness, while the foundation evens out discolouration to give a silky, radiant finish.
-
-### BRONZING BELLA
-
-It’s amazing what the wonders of bronzer can do. It can reduce the appearance of your most unfavourable features or create the illusion of a slimmer face. Using a contouring brush, lightly apply a layer of Illamasqua bronzing powder(9) “Writhe” (darker colour) in a “3” motion on the side of your face. Start at the top of your forehead near the temples, working your way down to the cheekbone and back out along the jawline. If you feel that your jawline is quite narrow already, you can choose to skip this step.
-
-### CREATE THE CONTOURS
-
-Here’s where you’ll see the most change in the look of your face; adding more depth to your best features while beautifying features that go unnoticed.
-Using a small blending brush, apply bronzer (9) from the inner corner of your brow and down the sides of the bridge of the nose to the top rim of your nostrils. You can go that extra mile by lightly applying bronzer to the sides of the nostrils.
-Apply more bronzer to the hollows of your cheeks to create the look of high cheek bones.
diff --git a/issues/holiday/data/6-summer-survival-guide/2.md b/issues/holiday/data/6-summer-survival-guide/2.md
deleted file mode 100644
index c16c8c36..00000000
--- a/issues/holiday/data/6-summer-survival-guide/2.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
- category: Must haves
- title: Beauty fixes
-# image_url: assets/6-summer-survival-guide/p2-brush.png
- products:
-
- - url: http://www.asos.com/bareMinerals/bareMinerals-Original-Foundation-SPF-15---Light-Shades/Prod/pgeproduct.aspx?iid=1379744&SearchQuery=ORIGINAL%20Foundation%20Broad%20Spectrum%20SPF%2015&sh=0&pge=0&pgesize=36&sort=-1&clr=Fair
- image_url: assets/6-summer-survival-guide/p2-product-1.jpg
- title: Original foundation broad spectrum SPF15+
- brand: Bare Minerals
- description:
- Finding makeup that you can sleep in without harming the skin is quite difficult. That is, until Bareminerals foundation range walked into the picture. Avoid oily-looking skin or makeup melting off your face from the sweltering heat, by opting for a mineral foundation. It’s the smarter alternative this summer, for women that want their makeup to look effortless. It contains SPF15 and provides a flawless coverage with a luminous finish that won’t clump nor cake. This lightweight mineral powder reduces the appearance of fine lines, wrinkles and uneven skin tone without dehydrating the skin. It looks like powder but feels like silk!
- price: $48
-
- - url: http://shop.nordstrom.com/s/burberry-beauty-sheer-luminous-concealer/3207492?origin=keywordsearch-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=1156&cm_sp=personalizedsort-_-searchresults-_-1_3_B
- image_url: assets/6-summer-survival-guide/p2-product-2.jpg
- title: Sheer Luminous Concealer
- brand: Burberry Beauty
- description:
- Sick of makeup emphasizing the appearance of flakey skin? Burberry’s luminous concealer has answered your prayers- a moisturizing crease-control concealer containing wild rose extract that hides dark circles, blemishes and fine lines for a naturally smooth finish. You can say it’s the fairy godmother of all concealers, providing ultra-hydration with a slight tinge of highlighting. Slick on this concealer under the eyes, on the bridge of the nose, bow of the mouth, inner corner of eyes and on the cheekbones for an instant face-lift without the surgery.
- price: $46.85 AUD
-
- - url: http://www.asos.com/Illamasqua/Illamasqua-Bronzer/Prod/pgeproduct.aspx?iid=824047&WT.ac=rec_viewed
- image_url: assets/6-summer-survival-guide/p2-product-3.jpg
- title: Glint and Writhe (Soft luminous peach/ golden tan)
- brand: Illamasqua bronzer
- description:
- Inspired by the glorious beauty of the Sirens and the enthralling nature of their appeal, Illamasqua has created this product designed to laud the divine being within us all. This duo-bronzer contains crushed pearl powder for a smooth, even finish that radiates a sumptuous sun-kissed glow. Owing to it’s multi-use abilities, this powder can be swirled together and applied all over the face for luminosity and alternatively, the lighter colour can act as a highlighter while the darker colour as a bronzer. Both shades can double up as eyeshadows. We suggest that fairer skins should opt for ‘glint and writhe’ while medium-dark skin tones would match nicely with ‘glint and burnish.’ With this all-encompassing bronzer, there is no way you’ll be short of celestial beauty.
- price: $51.47
-
- - url: http://shop.nordstrom.com/s/mac-fix/2926537
- image_url: assets/6-summer-survival-guide/p2-product-4.jpg
- title: Fix+
- brand: M·A·C
- description:
- Summer weather calls for a good investment into a setting spray to seal in that flawless makeup look you’ve spent ages perfecting and with no more touch-ups! Try M.A.C.’s aqua-spritz of vitamin and minerals, infused with a calming blend of green tea, chamomile and cucumber with a subtle fresh scent of sugi. Hydrate the skin before applying makeup to allow the skin to soak it up and lock in your look by spritzing at the end.
- price: $24.60
-
- - url: http://shop.nordstrom.com/s/eyeko-tinted-brow-gel/3645166?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_1_A
- image_url: assets/6-summer-survival-guide/p2-product-5.jpg
- title: Tinted Brow Gel
- brand: Eyeko
- description:
- Whether you want to flaunt it like Cara Delevingne or keep your brows simple and clean, Eyeko’s tinted brow gel does the trick! It glides on easily with little effort to achieve those well defined brows we’ve all been aiming for, spotted on several fashion runways. It’s specially formulated to give your brows a long-lasting hold with a natural finish. With its blend of keratin, ginkgo biloba, vitamins and botanical proteins to help condition and visibly enhance your eyebrows with regular use, it is no surprise that Eyeko’s brow gel won Cosmopolitan beauty awards for 2013!
- price: $28.43
-
- - url: http://shop.nordstrom.com/s/nars-velvet-matte-lipstick-pencil/2893794?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=0&cm_sp=personalizedsort-_-searchresults-_-1_1_A
- image_url: http://imagesecna.ctscdn.com/image/525/525/c931b0db-e9d4-4298-aeae-fcf6c5a13962.jpg
- title: Velvet Matte Lipstick Pencil in 'Roman Holiday'
- brand: NARS
- description:
- Pastels are the rage this season, seen from several fashion runways to the likes of Prabal Gurung, Michael Kors and Calvin Klein. For those not looking to plunge themselves into this bold look just yet, opt for this wearable NARS matte lip liner that still abides with trending lips this season, without stopping traffic! The application of a lipstick combined with the added convenience of a jumbo crayon design, makes it the ideal product for shaping the lips. The long lasting, non-drying formula is enriched with vitamin E and emollients for a creamy texture, while a combination of unique silicones ensures prolonged wear that won’t dehydrate your lips this summer.
- price: $29.61
-
- layout:
- image_align: right
- content_style: transparent
-
----
-
-### MINIM-EYES
-
-Illamasqua bronzer can double up as an eyeshadow but alternatively, you can ditch the eyeshadow and mascara because this season is all about keeping your eye makeup to its minimal, as seen on the runways of Westwood, Chloe, Balenciaga and Giambattista Valli. Emphasise the lash line by using a soft colour eye pencil (brown) and blend along the line with a cue tip for some lash definition. Bold brows are the best accessories to any woman’s face, so try Eyeko’s brow gel (11) to keep hairs at place and visibly enhance brow appearance.
-
-### FAIR FLUSH
-
-This season, the cheeks are lightly flushed as seen on Vera Wang. Lightly brush on Illamasqua bronzer “Glint”, a soft luminous peach colour to create a light radiant flush, the type after a brisk morning walk.
-
-### HAIL THE HIGHLIGHTS
-
-Complete the look with illuminators to create a natural dewy finish. Lightly dab Burberry’s Luminous Concealer (8) on the bridge of the nose, inner corner of the eyes and the bow of the mouth and blend in. Dot on the luminous concealer in a “C” shape, starting from the the brow bone to the top of the cheeks then blend up and down.
-
-Now seal in all that goodness by spritzing the face with M.A.C. Fix+(10) to prolong your makeup and keep you feeling cool and fresh in the summer heat!
diff --git a/issues/holiday/data/6-summer-survival-guide/3.md b/issues/holiday/data/6-summer-survival-guide/3.md
deleted file mode 100644
index 9f33b6fa..00000000
--- a/issues/holiday/data/6-summer-survival-guide/3.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-
- title: Heartwarmers
- image_url: assets/6-summer-survival-guide/p3.jpg
-
- layout:
- image_style: background
- content_align: left
- content_style: black
- content_valign: middle
-
----
-
-Treat yourself these holidays with a well-deserved survival make up kit! Or if you're feeling kind... Splurge on these goodies for your family, friends or a significant other. A good skincare regimen is just as vital as a healthy lifestyle and balanced nutrition, so consider these gift kits that not only beautifies one’s complexion and arouses the senses, but leaves a lasting impression on any skin.
diff --git a/issues/holiday/data/6-summer-survival-guide/4.md b/issues/holiday/data/6-summer-survival-guide/4.md
deleted file mode 100644
index 5094c869..00000000
--- a/issues/holiday/data/6-summer-survival-guide/4.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-
- handle: 6-summer-survival-guide/4
- products:
-
- - url: "#unknown"
- image_url: assets/6-summer-survival-guide/p4-product-1.jpg
- title: Clarins Moisture Must-Haves HydraQuench Pack
- description: This Clarins pack is filled with a cornucopia of hydrating products- laid out beautifully in a classic cream bag.
-
- - url: http://www.aesop.com/au/packs-and-gifts/gift-kits/alacrity-gift-kit.html
- image_url: assets/6-summer-survival-guide/p4-product-2.jpg
- title: AESOP Alacrity / Alacrita' Espressiva gift kit
- description:
- Inspired by the arts and Italian Futurist movement of the early twentieth century, Aesop brings to you a high-quality skincare pack with their own signature flare! This Alacrity kit is only for those equipped with the ‘brisk and cheerful readiness’ to accept it. It is presented in sleek, elegant tin boxes, featuring titles and designs that pay homage to ground-breaking Futurist language, art and typography.
-
- - url: http://shop.nordstrom.com/s/lancome-clarisonic-high-performance-skincare-set-321-value/3639478?origin=category-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=336&cm_sp=personalizedsort-_-browseresults-_-1_1_C
- image_url: assets/6-summer-survival-guide/p4-product-3.jpg
- title: High Performance Skincare Set
- description: Lancôme and CLARISONIC team up to present to you an ultimate pampering set so that the perfect complexion is within reach!
- price: $273.45
-
- layout:
- type: custom
-
----
-
-
-
-
-
- 1
-
-
-
-
Clarins Moisture HydraQuench Pack
-
This Clarins pack is filled with a cornucopia of hydrating products- laid out beautifully in a classic cream bag.
-
-
-
-
-
- 2
-
-
-
-
AESOP Alacrity Kit
-
Inspired by the arts and Italian Futurist movement of the early twentieth century, Aesop brings to you a high-quality skincare pack with their own signature flare! This Alacrity kit is only for those equipped with the ‘brisk and cheerful readiness’ to accept it. It is presented in sleek, elegant tin boxes, featuring titles and designs that pay homage to ground-breaking Futurist language, art and typography.
-
-
-
-
-
- 3
-
-
-
-
Lancôme & CLARISONIC Set
-
Lancôme and CLARISONIC team up to present to you an ultimate pampering set so that the perfect complexion is within reach!
-
-
-
-
diff --git a/issues/holiday/data/7-holiday-gift-ideas.md b/issues/holiday/data/7-holiday-gift-ideas.md
deleted file mode 100644
index 37b59414..00000000
--- a/issues/holiday/data/7-holiday-gift-ideas.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- title: Holiday Gift Guide
- byline: By Aubrey
- image_url: assets/7-holiday-gift-ideas/cover.jpg
- handle: 7-holiday-gift-ideas
-
- layout:
- type: two-column
- image_style: background
- content_style: black
- content_align: right
- content_valign: bottom
-
----
-Aubrey Daquinag of TheLoveAssembly.com shares the ultimate essentials for a stylish summer.
diff --git a/issues/holiday/data/7-holiday-gift-ideas/1.md b/issues/holiday/data/7-holiday-gift-ideas/1.md
deleted file mode 100644
index b8443757..00000000
--- a/issues/holiday/data/7-holiday-gift-ideas/1.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-
- image_url: assets/7-holiday-gift-ideas/p1.jpg
- handle: 7-holiday-gift-ideas/1
-
- layout:
- type: custom
-
----
-
-
-
-
-
-
-
Summertime is a chance for a beautiful escape - roadtrips, salty beach hair, sand between your toes, flowers in your hair, and a sense of freedom to explore destinations unknown. Embrace your inner bohemian and set out on an adventure to wander and chase the sun for days on end. Collect moments, memories and mementos along the way. Make it a season to remember and celebrate summer in style with white flowy dresses, bright nails, a signature summer scent and lots of laughs.
-
diff --git a/issues/holiday/data/7-holiday-gift-ideas/2.md b/issues/holiday/data/7-holiday-gift-ideas/2.md
deleted file mode 100644
index dc52c761..00000000
--- a/issues/holiday/data/7-holiday-gift-ideas/2.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-
- title: Holiday Gift Guide
- handle: 7-holiday-gift-ideas/2
- products:
-
- - url: "http://www.farfetch.com/shopping/women/inverni-pamela-woven-sun-hat-item-10377089.aspx?storeid=9319"
- image_url: http://i1.farfetch.com/10/37/70/89/10377089_1941853_800.jpg
- title: Inverni pamela woven sun hat
-
-
- - url: "http://www.net-a-porter.com/product/403431"
- image_url: http://cdna.lystit.com/photos/2013/11/28/zimmermann-blue-keeper-underwired-bandeau-bikini-product-1-15366870-733970995_large_flex.jpeg
- title: Zimmermann Bikini Keeper Underwired Bandeau Bikini
- description: Printed bikinis- “For a chic alternative to a triangle string bikini, opt for a bandeau style top. These beautifully printed bow bandeau bikini’s from Zimmermann are a simple yet stylish print to embrace the summer vibes.” -- Aubrey from TheLoveAssembly
-
- - url: "http://www.shopbop.com/rounded-cat-eye-sunglasses-stella/vp/v=1/845524441959527.htm"
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/stela/stela2014122552/stela2014122552_q3_1-0.jpg
- title: Stella McCartney Rounded Cat Eye Sunglasses
- description: Tortoise Shell Sunglasses-“Tortoise shell is just as neutral as black. Pairing them back with your wardrobe is as easy as a pair of black sunglasses, only they add a hint of subtle cool.” -- Aubrey from TheLoveAssembly
-
- - url: http://www.net-a-porter.com/product/360247
- image_url: http://cdn-s3-3.wanelo.com/product/image/5230251/original.jpg
- title: Zimmermann Oasis Printed Bandeau Bikini
-
- - url: "http://www.farfetch.com/shopping/women/artemare-world-exclusive-hammam-towel-item-10562310.aspx?storeid=9352"
- image_url: http://www.polyvore.com/cgi/img-thing?.out=jpg&size=l&tid=96770507
- title: Hammamm Towel
-
- - url: "http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=30664908"
- image_url: http://ecx.images-amazon.com/images/I/71YrcYaxCgL._SL1500_.jpg
- title: Fujifilm Instax Mini 90 Neo Classic Polaroid Camera
- description: A Polaroid Camera- "Trips to the beach? A sunday picnic for lunch.? The new Instax Mini 90 by Fuji doesn't only look stylish but is the perfect companion to take along to all your summer soirees and adventures. With new features like double exposure, macro mode and high performance flash, every kind of photographer can snap memories creatively and have them developed in an instant." -- Aubrey from TheLoveAssembly
-
-
- - url: "http://shop.nordstrom.com/s/diptyque-do-son-eau-de-toilette/3317810"
- image_url: http://shop.kadewe.de/data/resizer/crop/1600x1600/products/dosonedt50_original.jpg
- title: "Diptyque ‘Do Son’ Eau de Toilette"
- description: A Signature Summer Scent- “I love my scent to be a reflection of each season. For the cooler months - a warm, slightly masculine scent and in the warmer months - fresh, floral and light.” -- Aubrey from TheLoveAssembly
-
-
- - url: "http://www.chanel.com/en_US/fragrance-beauty/Makeup-Nails-LE-VERNIS-89314"
- image_url: http://www.fashionavecpassion.com/wp-content/uploads/2012/05/Chanel-Summer-2012-Le-Vernis-Nail-Colour.jpg
- title: "Chanel Le Vernis Nailcolour in \"Holiday\""
-
- - url: "http://www.net-a-porter.com/product/414527?cm_mmc=LinkshareUK-_-QFGLnEolOWg-_-Custom-_-LinkBuilder&siteID=QFGLnEolOWg-Z7avHiLd2KoXwB.7lVFIPw"
- image_url: http://cache.net-a-porter.com/images/products/414527/414527_in_pp.jpg
- title: Zimmermann Keeper Lace-trimmed Embroidered Coverup
-
- - url: "http://shop.nordstrom.com/S/tory-burch-stripe-tote/3625101?origin=keywordsearch"
- image_url: http://cdnb.lystit.com/photos/2013/12/05/tory-burch-mid-camel-ivory-stripe-tote-product-1-15928422-888107185_large_flex.jpeg
- title: Tory Burch Canvas Stripe Tote in Mid camel/Ivory
-
- - url: "http://www.shopbop.com/strappy-cover-dress-juliet-dunn/vp/v=1/1562519778.htm?folderID=2534374302072409&fm=other-shopbysize&colorId=10784"
- image_url: http://media.countryattire.com/media/catalog/product/cache/1/small_image/200x246/9df78eab33525d08d6e5fb8d27136e95/j/u/juliett-dunn-cotton-camisole-dress-7032---white-gold-1.jpg
- title: Juliet Dunn Strappy Cover up Dress
-
- - url: http://www.shopbop.com/barigoule-flat-sandal-k-jacques/vp/v=1/1582599501.htm?fm=search-shopbysize
- image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/kjaqu/kjaqu4003916680/kjaqu4003916680_q3_1-0.jpg
- title: K Jacques St Tropez Barigoule flat sandals
-
-
- #- url: 'http://bit.ly/1cXxTWL'
- # image_url: http://i1.farfetch.com/10/37/70/89/10377089_1941853_800.jpg
- # title: Inverni pamela woven sun hat
- #
- #- url: 'http://bit.ly/1ixNZNW'
- # image_url: http://cdna.lystit.com/photos/2013/11/28/zimmermann-blue-keeper-underwired-bandeau-bikini-product-1-15366870-733970995_large_flex.jpeg
- # title: Zimmermann Bikini Keeper Underwired Bandeau Bikini
- #
- #- url: 'http://bit.ly/1eNKqgZ'
- # image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/stela/stela2014122552/stela2014122552_q3_1-0.jpg
- # title: Stella McCartney Rounded Cat Eye Sunglasses
- #
- #- url: 'http://www.net-a-porter.com/product/360247 '
- # image_url: http://cdn-s3-3.wanelo.com/product/image/5230251/original.jpg
- # title: Zimmermann Oasis Printed Bandeau Bikini
- #
- #- url: 'http://www.farfetch.com/shopping/women/artemare-world-exclusive-hammam-towel-item-10562310.aspx?storeid=9352'
- # image_url: http://www.polyvore.com/cgi/img-thing?.out=jpg&size=l&tid=96770507
- # title: Hammamm Towel
- #
- #- url: 'http://bit.ly/1848ag2'
- # image_url: http://ecx.images-amazon.com/images/I/71YrcYaxCgL._SL1500_.jpg
- # title: Fujifilm Instax Mini 90 Neo Classic Polaroid Camera
- #
- #- url: http://shop.nordstrom.com/s/diptyque-do-son-eau-de-toilette/3317810
- # image_url: http://shop.kadewe.de/data/resizer/crop/1600x1600/products/dosonedt50_original.jpg
- # title: Diptyque ‘Do Son’ Eau de Toilette
- #
- #- url: 'http://www.net-a-porter.com/product/414527?cm_mmc=LinkshareUK-_-QFGLnEolOWg-_-Custom-_-LinkBuilder&siteID=QFGLnEolOWg-Z7avHiLd2KoXwB.7lVFIPw '
- # image_url:http://cdnb.lystit.com/photos/2013/11/28/zimmermann-white-keeper-lacetrimmed-embroidered-cotton-coverup-product-1-15366779-706705450_large_flex.jpeg
- # title: Zimmermann Keeper Lace-trimmed Embroidered Coverup
- #
- #- url: 'http://shop.nordstrom.com/S/tory-burch-stripe-tote/3625101?origin=keywordsearch'
- # image_url: http://cdnb.lystit.com/photos/2013/12/05/tory-burch-mid-camel-ivory-stripe-tote-product-1-15928422-888107185_large_flex.jpeg
- # title: Tory Burch Canvas Stripe Tote in Mid camel/Ivory
- #
- #- url: 'http://www.shopbop.com/strappy-cover-dress-juliet-dunn/vp/v=1/1562519778.htm?folderID=2534374302072409&fm=other-shopbysize&colorId=10784 '
- # image_url: http://g-ecx.images-amazon.com/images/G/01/Shopbop/p/pcs/products/jdunn/jdunn3000810784/jdunn3000810784_q3_1-0.jpg
- # title: Juliet Dunn Strappy Cover up Dress
- #
- #- url: 'http://bit.ly/1csjYfO'
- # image_url: http://i3.farfetch.com/10/32/18/66/10321866_1632281_800.jpg
- # title: K Jacques St Tropez Barigoule flat sandals
- #
- #- url: 'http://www.chanel.com/en_US/fragrance-beauty/Makeup-Nails-LE-VERNIS-89314'
- # image_url: http://www.fashionavecpassion.com/wp-content/uploads/2012/05/Chanel-Summer-2012-Le-Vernis-Nail-Colour.jpg
- # title: Chanel Le Vernis Nailcolour in 'Holiday'
-
- layout:
- type: custom
-
----
-
-
- {{title}}
-
- Make it a season to remember and celebrate summer in style with white flowy dresses, bright nails, a signature summer scent and lots of laughs.
-
-
-
- {{#products}}
-
-
-
- {{index}}
-
-
- {{/products}}
-
-
\ No newline at end of file
diff --git a/issues/holiday/data/8-events.md b/issues/holiday/data/8-events.md
deleted file mode 100644
index 82a4cb0f..00000000
--- a/issues/holiday/data/8-events.md
+++ /dev/null
@@ -1,276 +0,0 @@
----
-
- title: Holiday style
- category: Destination
- description: Italia Riveria
-
- layout:
- type: custom
- image_style: background
- content_align: left
-
- links:
- - title: Magic Millions Raceday
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m01-06.jpg
- summary: Enjoy the racing and glamour of one of Australia’s biggest Carnival thoroughbred events held on the vibrant Gold Coast.
- url: http://www.magicmillions.com.au/carnivals/
-
- - title: Australian Open – The Grand Slam of Asia-Pacific
- summary: See the greatest tennis players in the world compete for this coveted grand slam trophy in the vibrant cosmopolitan city of Melbourne.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m01-02.jpg
- url: http://www.australianopen.com/
-
- - title: Sydney Festival
- summary: See the city come alive with a kaleidoscopic program of theatre, music, dance and visual arts, free outdoor concerts and pop-up bars.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m01-04.jpg
- url: http://www.sydneyfestival.org.au/
-
- - title: Australia Day
- summary: Celebrate Australia’s unique cultural diversity with family and friends and reflect on our nation’s heritage.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m01-07.jpg
- url: http://www.australiaday.org.au/
-
- - title: Perth International Arts Festival
- summary: Indulge your senses with symphonies, cutting-edge plays and art presented both indoors and outdoors in Perth.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m02-05.jpg
- url: http://www.perthfestival.com.au/
-
- - title: The Spirit Festival
- summary: Join this vibrant celebration of traditional and contemporary Aboriginal and Torres Strait Islander culture, art, dance and music.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m02-02.jpg
- url: http://www.thespiritfestival.com/
-
- - title: Australian Sand Sculpting Championships
- summary: Delight in the beautiful and bizarre sand sculptures built on Surfers Paradise Beach.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m02-03.jpg
- url: http://www.sandstormevents.net/major-events-2/aust-sand-sculpting-championships/
-
- - title: Chinese New Year
- summary: Celebrate good fortune and prosperity with the most important celebration in the Chinese calendar.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m02-04.jpg
- url: http://www.chinesenewyear.com.au/
-
- - title: Turtle nesting
- summary: See six of the world’s seven species of marine turtle come ashore from Ningaloo Reef to nest on the West Coast of Australia.
- image_url: http://www.australia.com/campaigns/eventscalendar/data/images/lrg/m02-10.jpg
- url: http://www.australia.com/campaigns/nationallandscapes/NingalooSharkBay.htm
-
----
-
-
-
-
- {{#links}}
-
-
-
- {{/links}}
-
-
-
-
-
{{ title }}
-
Janurary
-
-
- Magic Millions Raceday
- 11 Jan
- Gold Coast, QLD
-
-
-
- AustraLian Open
- 13 Jan
- Melbourne, VIC
-
-
-
- Sydney Festival
- 9-26 Jan
- Sydney, NSW
-
-
-
- Australia Day
- 26 Jan
- Nation Wide
-
-
-
-
Feburary
-
-
- Pearth International Arts Festival
- 7 Feb - 1 Mar
- Perth, WA
-
-
- The Spirit Festival
- 15-17 Jan
- Adelaide, SA
-
-
- Sand Sculpting Championships
- 14-Feb-2Mar
- Melbourne, VIC
-
-
- Chinese New Year
- 18-28 Jan
- Australia-wide
-
-
- Turtle Nesting Season
- Dec-April
- reat Barrier Reef, QLD
-
-
-
-
diff --git a/issues/holiday/data/toc.md b/issues/holiday/data/toc.md
deleted file mode 100644
index d2822dce..00000000
--- a/issues/holiday/data/toc.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-
- title: Holiday Issue
- image_url: assets/toc/background.jpg
- brand_image_url: assets/toc/brand_logo.png
-
- layout:
- type: toc
- content_overflow: scroll
-
----
-
-Fashion, travel and lifestyle meets contemporary style . . .
-For the wanderer. For the curious. For the style savvy. For the open-minded.
-
-We have collaborated with some of Australia’s rising bloggers to present to you their interpretation of this season’s favourites. From a curation of their best-loved getaways, restaurants, style picks and beauty fixes, they show you how to celebrate summer in style and make it one to remember.
-
-Indulge in the search for beauty. Whether you’re visiting Australia, Italy or staying local- as long as it’s Summer, the possibilities are endless.
-
-
- Taylor Luk
- Founder of Issue
-
-
-
-
-
- Aubrey Daquinag
- The Love Assembly
-
-
-
- Michelle Lau
- A minute away from Snowlng
-
-
-
- Jessica Cheung
- Jysla Kay
-
-
-
- Zyralyn Bacani
- Content Writer of Issue
-
-
diff --git a/issues/holiday/issue.yaml b/issues/holiday/issue.yaml
deleted file mode 100644
index ea8116fe..00000000
--- a/issues/holiday/issue.yaml
+++ /dev/null
@@ -1,99 +0,0 @@
-id: "indulgence/holiday"
-title: Holiday issue
-short_title: Holiday
-magazine_title: "Indulgence"
-description: "Travel in Style • Beauty Updates • Favourite Eats"
-publish_at: "2013-9-15T13:16:46Z"
-image_url: "assets/cover-bg-2048.jpg"
-background_url: "assets/background.jpg"
-background_large_url: "assets/background_large.jpg"
-assets:
- - "custom.css"
-
-items:
-
- - title: "Table of Content"
- handle: "toc"
-
- - title: A Holiday in Style
- category: Fashion
- author_name: Jysla Kay
- handle: "1-a-holiday-in-style"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
- - handle: "5"
-
- - title: Cate says Si!
- category: Cover Story
- author_name: Zyra Bacani
- handle: "2-cate-says-si"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
-
- - title: The Style Edit
- category: Style By Blogger
- author_name: Jysla Kay
- handle: "3-the-style-edit"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
-
- - title: Summer Love
- category: Destination
- author_name: Michelle Lau
- handle: "4-summer-love"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
- - handle: "5"
- - handle: "6"
-
- - title: A Weekend Escape
- category: Destination
- author_name: Aubrey Daquinag
- handle: "5-a-weekend-escape"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
- - handle: "5"
-
- - title: Summer Survival Guide
- category: Beauty
- author_name: Zyra Bacani
- handle: "6-summer-survival-guide"
- pages:
-
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
-
- - title: Holiday Gift Ideas
- category: Shopping
- author_name: Aubrey Daquinag
- handle: "7-holiday-gift-ideas"
- pages:
-
- - handle: "1"
- - handle: "2"
-
- - title: Events
- category: Calendar
- handle: "8-events"
diff --git a/issues/mummyhacks/assets/background.jpg b/issues/mummyhacks/assets/background.jpg
new file mode 100644
index 00000000..eb9082e2
Binary files /dev/null and b/issues/mummyhacks/assets/background.jpg differ
diff --git a/issues/mummyhacks/assets/background_large.jpg b/issues/mummyhacks/assets/background_large.jpg
new file mode 100644
index 00000000..5915d9a9
Binary files /dev/null and b/issues/mummyhacks/assets/background_large.jpg differ
diff --git a/issues/mummyhacks/assets/custom.scss b/issues/mummyhacks/assets/custom.scss
new file mode 100644
index 00000000..66e0c2c1
--- /dev/null
+++ b/issues/mummyhacks/assets/custom.scss
@@ -0,0 +1,255 @@
+@font-face {
+ font-weight: normal;
+ font-style: normal;
+ font-family: "BokkaSolidOT";
+ src: url("fonts/BokkaSolidOT.otf") format("opentype");
+}
+
+#mummyhacks-issue {
+ $light-brand-color: #fdf0d5;
+ $dark-brand-color: #512f2a;
+
+ article.page {
+ .highlights,
+ .highlights p {
+ font-family: 'BokkaSolidOT';
+ padding: 0;
+ text-align: center;
+ list-style: none;
+ font-weight: bold;
+ color: #d8162d;
+ text-transform: uppercase;
+ }
+
+ .title, header {
+ font-family: 'BokkaSolidOT';
+ color: $light-brand-color;
+ }
+
+ .body {
+ font-family: OpenSans;
+ }
+
+ .description, .subtitle {
+ font-style: normal;
+ }
+ }
+
+ .issue-menu li a .title {
+ font-family: 'BokkaSolidOT';
+ color: $light-brand-color;
+ font-size: 18px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ article.page {
+ header {
+ h1 {
+ font-size: 28px;
+ font-size: 3.6vmin;
+ }
+
+ .description, .subtitle {
+ font-size: 20px;
+ font-size: 2.5vmin;
+ }
+ }
+
+ .body p {
+ text-align: center;
+ }
+ }
+ }
+
+ [data-page="index"] {
+ background-position: 35% 20%;
+
+ .brand {
+ display: block;
+ background: url(logo.png) no-repeat;
+ background-size: 100%;
+ width: 28vmin;
+ height: 10vmin;
+ margin: 30px auto 0;
+ color: transparent;
+ text-shadow: none;
+ }
+
+ .title {
+ font-size: 34px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ background-position: center;
+
+ .brand {
+ width: 20vmin;
+ height: 8vmin;
+ }
+
+ .title {
+ font-size: 90px;
+ line-height: 100px;
+ }
+ }
+ }
+
+ [data-page="toc"] {
+ header h1 {
+ display: none;
+ }
+ }
+
+ [data-page="story-one"],
+ [data-page="story-two"],
+ [data-page="end"] {
+ background: $light-brand-color;
+
+ .content {
+ background: $light-brand-color;
+
+ h1, p, .description, .subtitle {
+ color: $dark-brand-color;
+ }
+ }
+ }
+
+ [data-page="story-two"],
+ [data-page="end"] {
+ @media only screen and (min-width: 768px) {
+ .content {
+ background: rgba(0, 0, 0, 0.7);
+
+ h1, p, .description, .subtitle {
+ color: $light-brand-color;
+ }
+ }
+ }
+ }
+
+ [data-page="story-two"],
+ [data-page="story-three"],
+ [data-page="story-four"],
+ [data-page="video-one"],
+ [data-page="end"] {
+ header {
+ h1 {
+ font-family: 'BokkaSolidOT';
+ color: $light-brand-color;
+ text-decoration: underline;
+ }
+
+ .description, .subtitle {
+ font-family: 'BokkaSolidOT';
+ color: $light-brand-color;
+ font-weight: bold;
+ text-align: center;
+ }
+ }
+
+ .body {
+ color: $light-brand-color;
+ }
+ }
+
+ [data-page="story-one"] {
+ header h1 {
+ font-family: 'BokkaSolidOT';
+ color: $dark-brand-color;
+ }
+
+ .body {
+ color: $dark-brand-color;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content {
+ margin: 20px;
+ background: none;
+ }
+ }
+ }
+
+ [data-page="story-two"] {
+ .cover-area {
+ background-position: 10% 20%;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .cover-area {
+ background-position: 50% 20%;
+ }
+ }
+ }
+
+ [data-page="story-three"],
+ [data-page="story-four"] {
+ background: $light-brand-color;
+
+ .content {
+ background: $light-brand-color;
+ }
+
+ header {
+ h1 {
+ color: $dark-brand-color;
+ }
+
+ .description, .subtitle {
+ color: $dark-brand-color;
+ }
+ }
+
+ .body {
+ color: $dark-brand-color;
+ }
+ }
+
+ [data-page="story-three"] {
+ height: auto !important;
+ }
+
+ [data-page="story-four"] {
+ .cover-area figcaption.inset {
+ background: url(story-four/p1-2.jpg) no-repeat;
+ background-size: 100%;
+ margin: 0;
+ color: transparent;
+ text-shadow: none;
+ width: 100%;
+ height: 62px;
+ padding: 0;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .cover-area figcaption.inset {
+ height: 126px;
+ }
+ }
+ }
+
+ [data-page="video-one"] {
+ background: $light-brand-color;
+
+ .content {
+ background: $light-brand-color;
+ }
+
+ header h1,
+ header .category {
+ color: $dark-brand-color;
+ }
+ }
+
+ [data-page="end"] {
+ .cover-area {
+ background-position: 8% 20%;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .cover-area {
+ background-position: center;
+ }
+ }
+ }
+}
diff --git a/issues/mummyhacks/assets/end/p1-1.jpg b/issues/mummyhacks/assets/end/p1-1.jpg
new file mode 100644
index 00000000..ba7f4b87
Binary files /dev/null and b/issues/mummyhacks/assets/end/p1-1.jpg differ
diff --git a/issues/mummyhacks/assets/fonts/BokkaSolidOT.otf b/issues/mummyhacks/assets/fonts/BokkaSolidOT.otf
new file mode 100755
index 00000000..39965ff4
Binary files /dev/null and b/issues/mummyhacks/assets/fonts/BokkaSolidOT.otf differ
diff --git a/issues/mummyhacks/assets/logo.png b/issues/mummyhacks/assets/logo.png
new file mode 100644
index 00000000..247f8b5c
Binary files /dev/null and b/issues/mummyhacks/assets/logo.png differ
diff --git a/issues/mummyhacks/assets/story-four/p1-1.jpg b/issues/mummyhacks/assets/story-four/p1-1.jpg
new file mode 100644
index 00000000..2c3a8206
Binary files /dev/null and b/issues/mummyhacks/assets/story-four/p1-1.jpg differ
diff --git a/issues/mummyhacks/assets/story-four/p1-2.jpg b/issues/mummyhacks/assets/story-four/p1-2.jpg
new file mode 100644
index 00000000..22ed1338
Binary files /dev/null and b/issues/mummyhacks/assets/story-four/p1-2.jpg differ
diff --git a/issues/mummyhacks/assets/story-one/p1-1.jpg b/issues/mummyhacks/assets/story-one/p1-1.jpg
new file mode 100644
index 00000000..061ebf4d
Binary files /dev/null and b/issues/mummyhacks/assets/story-one/p1-1.jpg differ
diff --git a/issues/mummyhacks/assets/story-three/p1-1.jpg b/issues/mummyhacks/assets/story-three/p1-1.jpg
new file mode 100644
index 00000000..c20bff45
Binary files /dev/null and b/issues/mummyhacks/assets/story-three/p1-1.jpg differ
diff --git a/issues/mummyhacks/assets/story-two/p1-1.jpg b/issues/mummyhacks/assets/story-two/p1-1.jpg
new file mode 100644
index 00000000..78ac6bff
Binary files /dev/null and b/issues/mummyhacks/assets/story-two/p1-1.jpg differ
diff --git a/issues/mummyhacks/assets/toc/cover.jpg b/issues/mummyhacks/assets/toc/cover.jpg
new file mode 100644
index 00000000..dcedae7d
Binary files /dev/null and b/issues/mummyhacks/assets/toc/cover.jpg differ
diff --git a/issues/mummyhacks/assets/video-one/p1-1.jpg b/issues/mummyhacks/assets/video-one/p1-1.jpg
new file mode 100644
index 00000000..ac202961
Binary files /dev/null and b/issues/mummyhacks/assets/video-one/p1-1.jpg differ
diff --git a/issues/mummyhacks/data/end.md b/issues/mummyhacks/data/end.md
new file mode 100644
index 00000000..7c996cf1
--- /dev/null
+++ b/issues/mummyhacks/data/end.md
@@ -0,0 +1,23 @@
+---
+
+ title: "What's next"
+ description: "As the campaign is building we are already planning some BIG activity."
+
+ cover_url: assets/end/p1-1.jpg
+ thumb_url: assets/end/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_style: black
+ content_align: right
+ content_valign: top
+ content_height: full
+
+---
+
+We’re launching the MUMMY HACK blog to aggregate all the great content that is useful to our audience of Mums. We can then publish this content back through our social channels to maximise our reach.
+
+Promotional activities in leading retailers which will close the sales loop and drive in-store purchase – featuring Back to School lunch boxes complete with MUMMY HACK inserts.
+
+And finally the launch of the MUMMY HACK card set & e-book. This will feature all the best MUMMY HACK content and be available for Mothers Day! The perfect gift for any Mum.
diff --git a/issues/mummyhacks/data/story-four.md b/issues/mummyhacks/data/story-four.md
new file mode 100644
index 00000000..d1f3b1d4
--- /dev/null
+++ b/issues/mummyhacks/data/story-four.md
@@ -0,0 +1,29 @@
+---
+
+ title: "The Strategy"
+ description: "ORGANISING IDEA: support through play"
+
+ thumb_url: assets/story-four/p1-1.jpg
+ cover_url: assets/story-four/p1-1.jpg
+ cover_caption: " "
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_style: black
+ content_align: right
+ content_valign: top
+ content_height: full
+
+---
+
+
+
Be on her side in the here and now
+
In real ways that express the sense of play & childhood she wants to hold onto
+
+
+Our product, our category is a ‘life hack’ for balancer mothers.
+
+We celebrate the efforts mums go to - to do the very best for their kids in a playful, cheeky and knowing way.
+
+It’s an in-joke but also an exchange of valuable ideas between DAIRYLEA and its community of Mums.
diff --git a/issues/mummyhacks/data/story-one.md b/issues/mummyhacks/data/story-one.md
new file mode 100644
index 00000000..b42f1488
--- /dev/null
+++ b/issues/mummyhacks/data/story-one.md
@@ -0,0 +1,22 @@
+---
+
+ title: "Welcome To The World Of Dairylea"
+
+ cover_url: assets/story-one/p1-1.jpg
+ thumb_url: assets/story-one/p1-1.jpg
+
+ layout:
+ type: one-column
+ image_style: background
+ content_style: black
+ content_align: center
+ content_valign: middle
+ content_transparent: true
+
+---
+
+A world where the best food is made with simple and honest ingredients.
+Where fun and play should be part of your every day, for kids as well as mums.
+So to support the fun loving mums of the world, we’ve invented MUMMY HACKS.
+These are the mummy inspired ideas that help take the ‘um’ out of being a mum.
+Read on to how DAIRYLEA MUMMY HACKS provide real support for the Mum’s of Australia.
diff --git a/issues/mummyhacks/data/story-three.md b/issues/mummyhacks/data/story-three.md
new file mode 100644
index 00000000..5a0cb53d
--- /dev/null
+++ b/issues/mummyhacks/data/story-three.md
@@ -0,0 +1,18 @@
+---
+
+ title: "The Approach"
+ description: "Build Partnerships, Use Existing Behaviours
& Make Shareable Content"
+
+ cover_url: assets/story-three/p1-1.jpg
+ thumb_url: assets/story-three/p1-1.jpg
+
+ layout:
+ type: one-column
+
+---
+
+In order to achieve our goals we partnered with Sapient Nitro. Together we developed an idea that was funny, helpful, had feeling and was useful for Mum (just the sort of information Aussie woman will share).
+
+We needed to tap into the behaviours of Mum. We discovered what they were viewing, talking about or sharing and then went about developing a way in which we could join the conversation.
+
+In order to fully take advantage of these conversations we partnered with Carat to build relationships with key influencer communities (including Mamamia & iVillage) & a wider blogger network. We then broadcast all of our content through Facebook to start the conversation in the platform that was used most frequently by Aussies Mums.
diff --git a/issues/mummyhacks/data/story-two.md b/issues/mummyhacks/data/story-two.md
new file mode 100644
index 00000000..dd581675
--- /dev/null
+++ b/issues/mummyhacks/data/story-two.md
@@ -0,0 +1,28 @@
+---
+
+ title: "The Challenge"
+ description: "Rebrand, Repackage
& Be Interesting"
+
+ cover_url: assets/story-two/p1-1.jpg
+ thumb_url: assets/story-two/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_style: black
+ content_align: right
+ content_valign: middle
+ content_height: full
+
+---
+
+
+ Limited Budget
+ no Awareness
+ stagnant Category
+
+
+DAIRYLEA was faced with an interesting challenge: replace KRAFT Kids Cheese products in the fridges of their Australian consumer.
+
+
+Not only was a total rebrand and repacking job required, we needed to enter the market with a (very) limited budget, with no awareness into a category that was stagnant (and at time uninteresting).
diff --git a/issues/mummyhacks/data/toc.md b/issues/mummyhacks/data/toc.md
new file mode 100644
index 00000000..4446e546
--- /dev/null
+++ b/issues/mummyhacks/data/toc.md
@@ -0,0 +1,20 @@
+---
+
+ title: Table of Content
+
+ cover_url: assets/toc/cover.jpg
+ thumb_url: assets/toc/cover.jpg
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+Back in 1950 - when the average UK yearly salary was just over £100 and everyone was dancing to rock and roll - we made a little cheese triangle in fact, our little triangle is so famous you could say its an iconic brand of the UK!
+
+And now, we’ve created our most dairylicious spread ever. So what’s in it, then? Cheese, butter, skimmed milk, sodium bicarbonate and lemon juice*. Yup, that’s it. All natural ingredients. All good. And all yummy. Which gives it that creamy-dreamy, unmistakable, Dairylea taste.
+
+And, of course, as well as its dairyliciousnes, our cheese also comes in lots of brilliant shapes and sizes. Easy for you, fun for the kids.
+
+Dairylea all natural is now made with skimmed milk (water and skimmed milk) (44%) cheese (34%) , butter, whey powder , concentrated lemon juice (from fresh lemons) , milk proteins, Stabiliser (sodium carbonate) to hold all the ingredients.
diff --git a/issues/mummyhacks/data/video-one.md b/issues/mummyhacks/data/video-one.md
new file mode 100644
index 00000000..5c158ab4
--- /dev/null
+++ b/issues/mummyhacks/data/video-one.md
@@ -0,0 +1,21 @@
+---
+
+ category: video
+ title: Dairylea Video
+
+ thumb_url: assets/video-one/p1-1.jpg
+
+ videos:
+ - thumb_url: assets/video-one/p1-1.jpg
+ link: https://vimeo.com/106875356
+ type: video/vimeo
+ autoplay: true
+ cover: true
+
+ layout:
+ type: video
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/mummyhacks/issue.yaml b/issues/mummyhacks/issue.yaml
new file mode 100644
index 00000000..2513a78a
--- /dev/null
+++ b/issues/mummyhacks/issue.yaml
@@ -0,0 +1,21 @@
+title: Mummyhacks
+description: ""
+
+magazine_handle: dairylea
+magazine_title: Dairylea
+
+theme: fashion
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+
+paths:
+ - index
+ - story-one
+ - story-two
+ - story-three
+ - story-four
+ - video-one
+ - end
diff --git a/issues/music/affiliate_products.yml b/issues/music/affiliate_products.yml
index 41fabff0..2cb4cdf8 100644
--- a/issues/music/affiliate_products.yml
+++ b/issues/music/affiliate_products.yml
@@ -1,19 +1,28 @@
-# This file was autogenerated by running
-# bin/rails runner /Users/khoa/workspace/issue/lib/product_tagging.rb > affiliate_products.yml
+# This was generated by running
+# rake products:affiliate_links[http://spring.dev/minkpink/music/products.json] > affiliate_products.yml
---
-http://markethq.com: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F
-http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=24028045&parentid=SEARCH+RESULTS: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.urbanoutfitters.com%2Furban%2Fcatalog%2Fproductdetail.jsp%3Fid%3D24028045%26parentid%3DSEARCH%2BRESULTS
+http://shop.nordstrom.com/c/minkpink?origin=brandindex#1: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8157&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fc%252Fminkpink%253Forigin%253Dbrandindex
+http://shop.nordstrom.com/c/minkpink?origin=brandindex#2: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8157&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fc%252Fminkpink%253Forigin%253Dbrandindex
+http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#3: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.shopbop.com%2Fminkpink%2Fbr%2Fv%3D1%2F2534374302152011.htm%233
+http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.revolveclothing.com%2Fbrandpages%2FMINKPINK.jsp%3Fd%3DWomens%231
+http://minkpink.com/global/store-locator#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fminkpink.com%2Fglobal%2Fstore-locator%231
+http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#2: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=285653.1&type=10&tmpid=11840&RD_PARM1=http%3A%2F%2Fwww1.bloomingdales.com%2Fbuy%2Fmink-pink%3Fcm_sp%3Dshop_by_brand-_-ALL%2BDESIGNERS-_-MINK%2BPINK
+http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#6: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.shopbop.com%2Fminkpink%2Fbr%2Fv%3D1%2F2534374302152011.htm%236
+http://www.urbanoutfitters.com/uk/catalog/productdetail.jsp?id=5139409330322: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.urbanoutfitters.com%2Fuk%2Fcatalog%2Fproductdetail.jsp%3Fid%3D5139409330322
+http://minkpink.com/global/store-locator#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fminkpink.com%2Fglobal%2Fstore-locator%232
+http://shop.nordstrom.com/c/minkpink?origin=brandindex#4: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8157&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fc%252Fminkpink%253Forigin%253Dbrandindex
+http://shop.nordstrom.com/c/minkpink?origin=brandindex#3: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8157&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fc%252Fminkpink%253Forigin%253Dbrandindex
+http://www.zappos.com/minkpink#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.zappos.com%2Fminkpink%232
? http://www.asos.com/au/Catarzi/Catarzi-Exclusive-To-ASOS-Classic-Fedora-Hat/Prod/pgeproduct.aspx?iid=3293345&SearchQuery=fedora%20hat%20black&sh=0&pge=0&pgesize=36&sort=-1&clr=Nero
: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.asos.com%2Fau%2FCatarzi%2FCatarzi-Exclusive-To-ASOS-Classic-Fedora-Hat%2FProd%2Fpgeproduct.aspx%3FSearchQuery%3Dfedora%2Bhat%2Bblack%26clr%3DNero%26iid%3D3293345%26pge%3D0%26pgesize%3D36%26r%3D2%26sh%3D0%26sort%3D-1
-http://markethq.com/#5: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%235
-http://markethq.com/#7: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%237
-http://markethq.com/#6: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%236
-http://markethq.com/#8: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%238
-http://markethq.com/#9: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%239
+http://minkpink.com/global/store-locator#4: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fminkpink.com%2Fglobal%2Fstore-locator%234
+http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.nastygal.com%2Findex.cfm%3Ffuseaction%3Dsearch.results%26searchString%3DMINKPINK%232
+http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.revolveclothing.com%2Fbrandpages%2FMINKPINK.jsp%3Fd%3DWomens%232
+http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=24028045&parentid=SEARCH+RESULTS: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.urbanoutfitters.com%2Furban%2Fcatalog%2Fproductdetail.jsp%3Fid%3D24028045%26parentid%3DSEARCH%2BRESULTS
http://www.citybeach.com.au/shop/en/citybeach/accessories-womens-jewellery/karyn-in-la-cherry-earrings: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.citybeach.com.au%2Fshop%2Fen%2Fcitybeach%2Faccessories-womens-jewellery%2Fkaryn-in-la-cherry-earrings
http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=29503406&parentid=SEARCH+RESULTS: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.urbanoutfitters.com%2Furban%2Fcatalog%2Fproductdetail.jsp%3Fid%3D29503406%26parentid%3DSEARCH%2BRESULTS
-http://markethq.com/#10: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%2310
-http://markethq.com/#11: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%2311
+http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.nastygal.com%2Findex.cfm%3Ffuseaction%3Dsearch.results%26searchString%3DMINKPINK%231
+http://minkpink.com/global/store-locator#5: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fminkpink.com%2Fglobal%2Fstore-locator%235
? http://shop.davidjones.com.au/djs/ProductDisplay?catalogId=10051&productId=1003509&langId=-1&storeId=10051&cm_mmc=googlesem-_-PLA-_-Clothing+and+Accessories+-+Clothing+Accessories+-+Belts-_-MINKPINK+Hey+Stud+Belt&CAWELAID=620017140000077290&gclid=CPTP7q7ni7wCFVVvvAodinwArA
: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fshop.davidjones.com.au%2Fdjs%2FProductDisplay%3FCAWELAID%3D620017140000077290%26catalogId%3D10051%26cm_mmc%3Dgooglesem-_-PLA-_-Clothing%2Band%2BAccessories%2B-%2BClothing%2BAccessories%2B-%2BBelts-_-MINKPINK%2BHey%2BStud%2BBelt%26gclid%3DCPTP7q7ni7wCFVVvvAodinwArA%26langId%3D-1%26productId%3D1003509%26storeId%3D10051
? http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Cool-And-Clear---Foaming-Facial-Cleanser-100Ml/Prod/pgeproduct.aspx?iid=2219134&SearchRedirect=true&SearchQuery=elemental%20herbology%20cool%20and%20clear
@@ -26,8 +35,9 @@ http://markethq.com/#11: http://go.redirectingat.com/?id=29017X868621&xs=1&url=h
: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8156&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fs%252Faveda-air-control-hair-spray%252F3411085%253Fcm_sp%253Dpersonalizedsort-_-searchresults-_-1_0_C%2526contextualcategoryid%253D2375500%2526fashionColor%253D%2526origin%253Dkeywordsearch-personalizedsort%2526resultback%253D204
? http://shop.nordstrom.com/s/mason-pearson-pocket-boar-bristle-brush-for-fine-to-normal-hair/3257676?origin=keywordsearch-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=1305&cm_sp=personalizedsort-_-searchresults-_-1_3_B
: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8156&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fs%252Fmason-pearson-pocket-boar-bristle-brush-for-fine-to-normal-hair%252F3257676%253Fcm_sp%253Dpersonalizedsort-_-searchresults-_-1_3_B%2526contextualcategoryid%253D0%2526fashionColor%253D%2526origin%253Dkeywordsearch-personalizedsort%2526resultback%253D1305
-http://markethq.com/#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%231
+http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.shopbop.com%2Fminkpink%2Fbr%2Fv%3D1%2F2534374302152011.htm%231
+http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.shopbop.com%2Fminkpink%2Fbr%2Fv%3D1%2F2534374302152011.htm%232
http://www.surfstitch.com/product/indy-c-triple-triangle-chain-gold: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.surfstitch.com%2Fproduct%2Findy-c-triple-triangle-chain-gold
-http://markethq.com/#3: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%233
-http://markethq.com/#2: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%232
-http://markethq.com/#4: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fmarkethq.com%2F%234
+http://www.zappos.com/minkpink#1: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fwww.zappos.com%2Fminkpink%231
+http://shop.nordstrom.com/c/minkpink?origin=brandindex#5: http://click.linksynergy.com/fs-bin/click?id=3O0sXq9xsaM&subid=0&offerid=276223.1&type=10&tmpid=8157&RD_PARM1=http%253A%252F%252Fshop.nordstrom.com%252Fc%252Fminkpink%253Forigin%253Dbrandindex
+http://minkpink.com/global/store-locator#3: http://go.redirectingat.com/?id=29017X868621&xs=1&url=http%3A%2F%2Fminkpink.com%2Fglobal%2Fstore-locator%233
diff --git a/issues/music/assets/1-interview/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id b/issues/music/assets/1-interview/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id
deleted file mode 100644
index 8e945b51..00000000
--- a/issues/music/assets/1-interview/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1b7f257c80927b1128294ce8727d73820aa6ea8a
\ No newline at end of file
diff --git a/issues/music/assets/1-interview/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id b/issues/music/assets/1-interview/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id
deleted file mode 100644
index 2217ec37..00000000
--- a/issues/music/assets/1-interview/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9a7b93f341606e484c56ceba40520e5ea252123c
\ No newline at end of file
diff --git a/issues/music/assets/1-interview/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id b/issues/music/assets/1-interview/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id
deleted file mode 100644
index 25687c13..00000000
--- a/issues/music/assets/1-interview/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ad57067ea89cda6846bc0ad22d7c12409ceafa3f
\ No newline at end of file
diff --git a/issues/music/assets/1-interview/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id b/issues/music/assets/1-interview/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index bc794dbb..00000000
--- a/issues/music/assets/1-interview/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c761c58c3c7d659266e8cee748a02bf1ad357809
\ No newline at end of file
diff --git a/issues/music/assets/1-interview/_MG_5433_1024@2x.jpg.REMOVED.git-id b/issues/music/assets/1-interview/_MG_5433_1024@2x.jpg.REMOVED.git-id
deleted file mode 100644
index a017d846..00000000
--- a/issues/music/assets/1-interview/_MG_5433_1024@2x.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-120c69e2b95acf6f68efdc8ba616b6f55e61ba6a
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg b/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg
new file mode 100755
index 00000000..1b7f257c
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg differ
diff --git a/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id
deleted file mode 100644
index 8e945b51..00000000
--- a/issues/music/assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1b7f257c80927b1128294ce8727d73820aa6ea8a
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/33376DFBB0EC655A.png b/issues/music/assets/1-styling-it-out/33376DFBB0EC655A.png
deleted file mode 100644
index d732542a..00000000
Binary files a/issues/music/assets/1-styling-it-out/33376DFBB0EC655A.png and /dev/null differ
diff --git a/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg b/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg
new file mode 100755
index 00000000..4f3ca21a
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg differ
diff --git a/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id
deleted file mode 100644
index 2217ec37..00000000
--- a/issues/music/assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9a7b93f341606e484c56ceba40520e5ea252123c
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg b/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg
new file mode 100755
index 00000000..ad57067e
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg differ
diff --git a/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id
deleted file mode 100644
index 25687c13..00000000
--- a/issues/music/assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ad57067ea89cda6846bc0ad22d7c12409ceafa3f
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg b/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg
new file mode 100644
index 00000000..78a3c02c
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg differ
diff --git a/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index bc794dbb..00000000
--- a/issues/music/assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c761c58c3c7d659266e8cee748a02bf1ad357809
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/QUOTE.svg b/issues/music/assets/1-styling-it-out/QUOTE.svg
new file mode 100644
index 00000000..2b369ea1
--- /dev/null
+++ b/issues/music/assets/1-styling-it-out/QUOTE.svg
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/1-styling-it-out/QUOTE1.svg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/QUOTE1.svg.REMOVED.git-id
deleted file mode 100644
index 004606dc..00000000
--- a/issues/music/assets/1-styling-it-out/QUOTE1.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-08f5a576dae9aa8ce2a3b395f42575d57e3f9125
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/STYLINGITOUT.svg b/issues/music/assets/1-styling-it-out/STYLINGITOUT.svg
index c613cd28..edff5a0e 100644
--- a/issues/music/assets/1-styling-it-out/STYLINGITOUT.svg
+++ b/issues/music/assets/1-styling-it-out/STYLINGITOUT.svg
@@ -1,9 +1,55 @@
-
-
- Slice 1
- Created with Sketch (http://www.bohemiancoding.com/sketch)
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg b/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg
new file mode 100644
index 00000000..120c69e2
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg differ
diff --git a/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg.REMOVED.git-id b/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg.REMOVED.git-id
deleted file mode 100644
index a017d846..00000000
--- a/issues/music/assets/1-styling-it-out/_MG_5433_1024@2x.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-120c69e2b95acf6f68efdc8ba616b6f55e61ba6a
\ No newline at end of file
diff --git a/issues/music/assets/1-styling-it-out/album.jpg b/issues/music/assets/1-styling-it-out/album.jpg
new file mode 100644
index 00000000..5864d316
Binary files /dev/null and b/issues/music/assets/1-styling-it-out/album.jpg differ
diff --git a/issues/music/assets/1-styling-it-out/badge_itunes.svg b/issues/music/assets/1-styling-it-out/badge_itunes.svg
new file mode 100644
index 00000000..518eeb14
--- /dev/null
+++ b/issues/music/assets/1-styling-it-out/badge_itunes.svg
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/2-head-or-heart/cover-heading.svg b/issues/music/assets/2-head-or-heart/cover-heading.svg
new file mode 100644
index 00000000..a3f82f8c
--- /dev/null
+++ b/issues/music/assets/2-head-or-heart/cover-heading.svg
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/2-head-or-heart/cover-heading.svg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/cover-heading.svg.REMOVED.git-id
deleted file mode 100644
index 0b9cc9de..00000000
--- a/issues/music/assets/2-head-or-heart/cover-heading.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9ae2899c5b85e4bf7f797535c1225beadfbcf2b5
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/cover.gif b/issues/music/assets/2-head-or-heart/cover.gif
new file mode 100755
index 00000000..44b87318
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/cover.gif differ
diff --git a/issues/music/assets/2-head-or-heart/cover.gif.REMOVED.git-id b/issues/music/assets/2-head-or-heart/cover.gif.REMOVED.git-id
deleted file mode 100644
index e7eb8fc4..00000000
--- a/issues/music/assets/2-head-or-heart/cover.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-44b873187e7661de5ca7c0d76097929761d8183b
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg b/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg
new file mode 100644
index 00000000..e220e693
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg differ
diff --git a/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index eeb51dde..00000000
--- a/issues/music/assets/2-head-or-heart/p1-2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-40cc0e0d235b7fa42de82b569bcdb20553a0b2ef
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p1-MPINTERjuly-336.jpg b/issues/music/assets/2-head-or-heart/p1-MPINTERjuly-336.jpg
new file mode 100644
index 00000000..926c73c7
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p1-MPINTERjuly-336.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p1-cover.jpg b/issues/music/assets/2-head-or-heart/p1-cover.jpg
new file mode 100644
index 00000000..cd049ca8
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p1-cover.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p1-cover.jpg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p1-cover.jpg.REMOVED.git-id
deleted file mode 100644
index 355a95a6..00000000
--- a/issues/music/assets/2-head-or-heart/p1-cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-cd049ca817c6f26c7e53ff2bc16d7c0709d8a469
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p1-thumb.jpg b/issues/music/assets/2-head-or-heart/p1-thumb.jpg
new file mode 100644
index 00000000..a43337ef
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p1-thumb.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg b/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg
new file mode 100644
index 00000000..17fce832
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg differ
diff --git a/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg.REMOVED.git-id
deleted file mode 100644
index 2e77d736..00000000
--- a/issues/music/assets/2-head-or-heart/p2-guitar-glasses.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-057fa20200f262768e0109527631d26629bf7190
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p2-guitar.gif b/issues/music/assets/2-head-or-heart/p2-guitar.gif
new file mode 100644
index 00000000..0f90d54b
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p2-guitar.gif differ
diff --git a/issues/music/assets/2-head-or-heart/p2-guitar.gif.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p2-guitar.gif.REMOVED.git-id
deleted file mode 100644
index b808eb34..00000000
--- a/issues/music/assets/2-head-or-heart/p2-guitar.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ff9a29b56de52a11b3933de6f45fb6a5d8c6b3f7
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p2-guitar.jpg b/issues/music/assets/2-head-or-heart/p2-guitar.jpg
new file mode 100644
index 00000000..77153e08
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p2-guitar.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg b/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg
new file mode 100644
index 00000000..9da25e28
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg differ
diff --git a/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 34c9b37c..00000000
--- a/issues/music/assets/2-head-or-heart/p3-1_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-540240cf2e4e1ac6520413c9804cdb4782d7c0cd
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p3-5-mink-pink-ladies-get-serious-biker-vest.jpg b/issues/music/assets/2-head-or-heart/p3-5-mink-pink-ladies-get-serious-biker-vest.jpg
new file mode 100644
index 00000000..e77e9e18
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p3-5-mink-pink-ladies-get-serious-biker-vest.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg b/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg
new file mode 100644
index 00000000..e35c60b9
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg differ
diff --git a/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index aeb35e93..00000000
--- a/issues/music/assets/2-head-or-heart/p3-5_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-11363681288e56cf6556492dd0c45f7e79dc4bdd
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p3-6_opt.jpeg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p3-6_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 09744fe1..00000000
--- a/issues/music/assets/2-head-or-heart/p3-6_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-12a2a91f8c7c264eeb35eb7efa95fb14cb62c5cd
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p3-minkpink-black-native-nights-dress.jpg b/issues/music/assets/2-head-or-heart/p3-minkpink-black-native-nights-dress.jpg
new file mode 100644
index 00000000..7864e25a
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p3-minkpink-black-native-nights-dress.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p4-1.gif b/issues/music/assets/2-head-or-heart/p4-1.gif
new file mode 100644
index 00000000..9cccc68b
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p4-1.gif differ
diff --git a/issues/music/assets/2-head-or-heart/p4-1.gif.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p4-1.gif.REMOVED.git-id
deleted file mode 100644
index 1b975310..00000000
--- a/issues/music/assets/2-head-or-heart/p4-1.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1d30e275b1d86783da330d4e3e2c7a5e499e60f8
\ No newline at end of file
diff --git a/issues/music/assets/2-head-or-heart/p4-1.jpg b/issues/music/assets/2-head-or-heart/p4-1.jpg
new file mode 100644
index 00000000..83222eba
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p4-1.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p4-4_opt.jpg b/issues/music/assets/2-head-or-heart/p4-4_opt.jpg
new file mode 100644
index 00000000..19447b87
Binary files /dev/null and b/issues/music/assets/2-head-or-heart/p4-4_opt.jpg differ
diff --git a/issues/music/assets/2-head-or-heart/p4-4_opt.jpg.REMOVED.git-id b/issues/music/assets/2-head-or-heart/p4-4_opt.jpg.REMOVED.git-id
deleted file mode 100644
index 8e2ee68c..00000000
--- a/issues/music/assets/2-head-or-heart/p4-4_opt.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-538bf3db268136dd4ddecefa88996f87d3eefee8
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/2.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/2.jpg.REMOVED.git-id
deleted file mode 100644
index 6c50d78d..00000000
--- a/issues/music/assets/3-shop-the-shoot/2.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d70e0de45557f2914c976cc4c71d8c70a85fa71e
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/4.jpg b/issues/music/assets/3-shop-the-shoot/4.jpg
new file mode 100755
index 00000000..d0a7476f
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/4.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/4.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/4.jpg.REMOVED.git-id
deleted file mode 100644
index 393910a4..00000000
--- a/issues/music/assets/3-shop-the-shoot/4.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-23962dafa36d3eb1b1acb25531e3049f00e033a5
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8771.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8771.jpg
index 1e99ec61..a8fb83cc 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8771.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8771.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8793.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8793.jpg
index 1175d078..7117d2ae 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8793.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8793.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8794.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8794.jpg
deleted file mode 100644
index af06f933..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8794.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8796.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8796.jpg
index 8d050dbf..971b2a6a 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8796.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8796.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8802.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8802.jpg
index be2c96c3..df6274b1 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8802.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8802.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8806.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8806.jpg
index 49971a99..66664ad9 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8806.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8806.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8814.png b/issues/music/assets/3-shop-the-shoot/IMG_8814.png
new file mode 100644
index 00000000..d9f77707
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/IMG_8814.png differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8814.png.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/IMG_8814.png.REMOVED.git-id
deleted file mode 100644
index 22ecb277..00000000
--- a/issues/music/assets/3-shop-the-shoot/IMG_8814.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a794a12a815013d101a365bf1cd988aee2fd932a
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8816.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8816.jpg
deleted file mode 100644
index 031b0b52..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8816.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8823.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8823.jpg
index ad97b871..80af21a7 100644
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8823.jpg and b/issues/music/assets/3-shop-the-shoot/IMG_8823.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8825.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8825.jpg
deleted file mode 100644
index 52ac59d7..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8825.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/IMG_8835.jpg b/issues/music/assets/3-shop-the-shoot/IMG_8835.jpg
deleted file mode 100644
index 8e4f3606..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/IMG_8835.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/MP8227i.png b/issues/music/assets/3-shop-the-shoot/MP8227i.png
index 5ecf6ce3..26bb2a3c 100644
Binary files a/issues/music/assets/3-shop-the-shoot/MP8227i.png and b/issues/music/assets/3-shop-the-shoot/MP8227i.png differ
diff --git a/issues/music/assets/3-shop-the-shoot/black.png.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/black.png.REMOVED.git-id
deleted file mode 100644
index d37e6c0a..00000000
--- a/issues/music/assets/3-shop-the-shoot/black.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3a9257d87d66bb6f02bb7838e03f5259d3ba96e1
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/cherry.jpg b/issues/music/assets/3-shop-the-shoot/cherry.jpg
new file mode 100644
index 00000000..1d6d6280
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/cherry.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/cherry.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/cherry.jpg.REMOVED.git-id
deleted file mode 100644
index e9aba3d6..00000000
--- a/issues/music/assets/3-shop-the-shoot/cherry.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-418f236660dee82fd2cf76e3fa8aac17056a3c46
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/combi-garden-dress.jpg b/issues/music/assets/3-shop-the-shoot/combi-garden-dress.jpg
new file mode 100644
index 00000000..be703575
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/combi-garden-dress.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/cover-product-4.jpg b/issues/music/assets/3-shop-the-shoot/cover-product-4.jpg
index 05bef993..be133938 100644
Binary files a/issues/music/assets/3-shop-the-shoot/cover-product-4.jpg and b/issues/music/assets/3-shop-the-shoot/cover-product-4.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg b/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg
new file mode 100755
index 00000000..dd9d5d81
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg.REMOVED.git-id
deleted file mode 100644
index 6c50d78d..00000000
--- a/issues/music/assets/3-shop-the-shoot/cover-red-dress.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d70e0de45557f2914c976cc4c71d8c70a85fa71e
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg b/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg
new file mode 100644
index 00000000..7b751870
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg.REMOVED.git-id
deleted file mode 100644
index afe51ba8..00000000
--- a/issues/music/assets/3-shop-the-shoot/cover-white-dress.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-f2bbc300c8719c76610619f2e75985645e081f3d
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/cream.jpg b/issues/music/assets/3-shop-the-shoot/cream.jpg
index a4c731e9..3c9632a5 100644
Binary files a/issues/music/assets/3-shop-the-shoot/cream.jpg and b/issues/music/assets/3-shop-the-shoot/cream.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/denimtop.jpg b/issues/music/assets/3-shop-the-shoot/denimtop.jpg
index 1631e6ba..a2bf1492 100644
Binary files a/issues/music/assets/3-shop-the-shoot/denimtop.jpg and b/issues/music/assets/3-shop-the-shoot/denimtop.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/dropout.jpg b/issues/music/assets/3-shop-the-shoot/dropout.jpg
index 1d75e22d..06330e19 100644
Binary files a/issues/music/assets/3-shop-the-shoot/dropout.jpg and b/issues/music/assets/3-shop-the-shoot/dropout.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/leather.jpg b/issues/music/assets/3-shop-the-shoot/leather.jpg
new file mode 100755
index 00000000..d0099ff4
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/leather.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/leather.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/leather.jpg.REMOVED.git-id
deleted file mode 100644
index fe1ca0c9..00000000
--- a/issues/music/assets/3-shop-the-shoot/leather.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-969a07159077337652b048757933d7e83381887c
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/leopard.jpg b/issues/music/assets/3-shop-the-shoot/leopard.jpg
index 0ad40d06..48b69006 100644
Binary files a/issues/music/assets/3-shop-the-shoot/leopard.jpg and b/issues/music/assets/3-shop-the-shoot/leopard.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/outkast.jpg b/issues/music/assets/3-shop-the-shoot/outkast.jpg
new file mode 100644
index 00000000..51918e36
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/outkast.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/outkast.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/outkast.jpg.REMOVED.git-id
deleted file mode 100644
index a04558c8..00000000
--- a/issues/music/assets/3-shop-the-shoot/outkast.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-37023fe65b4f585f5f5680b2d59e1e2517b0e8c8
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/p2-product-6.jpg b/issues/music/assets/3-shop-the-shoot/p2-product-6.jpg
index 5275916d..812aeb18 100644
Binary files a/issues/music/assets/3-shop-the-shoot/p2-product-6.jpg and b/issues/music/assets/3-shop-the-shoot/p2-product-6.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/products-diamond.jpg b/issues/music/assets/3-shop-the-shoot/products-diamond.jpg
deleted file mode 100644
index 67268541..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/products-diamond.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/sparkle.jpg b/issues/music/assets/3-shop-the-shoot/sparkle.jpg
index 705ec661..efcae41a 100644
Binary files a/issues/music/assets/3-shop-the-shoot/sparkle.jpg and b/issues/music/assets/3-shop-the-shoot/sparkle.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/stripe.png b/issues/music/assets/3-shop-the-shoot/stripe.png
new file mode 100644
index 00000000..e6cfa9c5
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/stripe.png differ
diff --git a/issues/music/assets/3-shop-the-shoot/stripe.png.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/stripe.png.REMOVED.git-id
deleted file mode 100644
index 41decb9d..00000000
--- a/issues/music/assets/3-shop-the-shoot/stripe.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-e6cfa9c55cb19494bdf8e29a7b056a3c534a040b
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/studbelt.jpg b/issues/music/assets/3-shop-the-shoot/studbelt.jpg
new file mode 100644
index 00000000..2b34325f
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/studbelt.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/triangle.jpg b/issues/music/assets/3-shop-the-shoot/triangle.jpg
new file mode 100644
index 00000000..909de5d1
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/triangle.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/triangle.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/triangle.jpg.REMOVED.git-id
deleted file mode 100644
index 6dfdee56..00000000
--- a/issues/music/assets/3-shop-the-shoot/triangle.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0b4a5bbd3cd48921c23a7bcc3787831978c8e503
\ No newline at end of file
diff --git a/issues/music/assets/3-shop-the-shoot/vest.jpg b/issues/music/assets/3-shop-the-shoot/vest.jpg
index b351d719..d494b41f 100644
Binary files a/issues/music/assets/3-shop-the-shoot/vest.jpg and b/issues/music/assets/3-shop-the-shoot/vest.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/white.jpg b/issues/music/assets/3-shop-the-shoot/white.jpg
deleted file mode 100644
index b55e463d..00000000
Binary files a/issues/music/assets/3-shop-the-shoot/white.jpg and /dev/null differ
diff --git a/issues/music/assets/3-shop-the-shoot/whitedress.jpg b/issues/music/assets/3-shop-the-shoot/whitedress.jpg
new file mode 100644
index 00000000..d3d763c1
Binary files /dev/null and b/issues/music/assets/3-shop-the-shoot/whitedress.jpg differ
diff --git a/issues/music/assets/3-shop-the-shoot/whitedress.jpg.REMOVED.git-id b/issues/music/assets/3-shop-the-shoot/whitedress.jpg.REMOVED.git-id
deleted file mode 100644
index aac5315e..00000000
--- a/issues/music/assets/3-shop-the-shoot/whitedress.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bec1b0877ef29e6bb6fcf7ddd510c529a6ca2f5b
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/900783.jpg.REMOVED.git-id b/issues/music/assets/4-beauty/900783.jpg.REMOVED.git-id
deleted file mode 100644
index a304ec26..00000000
--- a/issues/music/assets/4-beauty/900783.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-42c798d179b79675603c1dbd7536097b59826730
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg b/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg
new file mode 100644
index 00000000..2a0ae2c9
--- /dev/null
+++ b/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg
@@ -0,0 +1,9 @@
+
+
+ CHRISTINA_uncovered
+ Created with Sketch (http://www.bohemiancoding.com/sketch)
+
+
+
+
+
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg.REMOVED.git-id b/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg.REMOVED.git-id
deleted file mode 100644
index 87add6c7..00000000
--- a/issues/music/assets/4-beauty/CHRISTINA_uncovered.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2a0ae2c910340540046592f6f43b0bfaa082d9c4
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300.jpg b/issues/music/assets/4-beauty/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300.jpg
deleted file mode 100644
index a547d9ee..00000000
Binary files a/issues/music/assets/4-beauty/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065.jpg b/issues/music/assets/4-beauty/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065.jpg
deleted file mode 100644
index 5ebad3ed..00000000
Binary files a/issues/music/assets/4-beauty/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/aveda-pure-abundance.jpg b/issues/music/assets/4-beauty/aveda-pure-abundance.jpg
deleted file mode 100644
index 39014477..00000000
Binary files a/issues/music/assets/4-beauty/aveda-pure-abundance.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/cover-product-3.png b/issues/music/assets/4-beauty/cover-product-3.png
new file mode 100644
index 00000000..7ee56bbc
Binary files /dev/null and b/issues/music/assets/4-beauty/cover-product-3.png differ
diff --git a/issues/music/assets/4-beauty/cover-product-3.png.REMOVED.git-id b/issues/music/assets/4-beauty/cover-product-3.png.REMOVED.git-id
deleted file mode 100644
index 2b7789e1..00000000
--- a/issues/music/assets/4-beauty/cover-product-3.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9edb34833b66392b56d6a6cdc2c6310285707cb8
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/cover-product-4.jpg b/issues/music/assets/4-beauty/cover-product-4.jpg
new file mode 100644
index 00000000..be133938
Binary files /dev/null and b/issues/music/assets/4-beauty/cover-product-4.jpg differ
diff --git a/issues/music/assets/4-beauty/cover-product-4.png b/issues/music/assets/4-beauty/cover-product-4.png
index e979c018..2e2648ed 100644
Binary files a/issues/music/assets/4-beauty/cover-product-4.png and b/issues/music/assets/4-beauty/cover-product-4.png differ
diff --git a/issues/music/assets/4-beauty/cover-product-5.png b/issues/music/assets/4-beauty/cover-product-5.png
index 7c5d9774..9edb3483 100644
Binary files a/issues/music/assets/4-beauty/cover-product-5.png and b/issues/music/assets/4-beauty/cover-product-5.png differ
diff --git a/issues/music/assets/4-beauty/cover.jpg b/issues/music/assets/4-beauty/cover.jpg
new file mode 100644
index 00000000..6dfce557
Binary files /dev/null and b/issues/music/assets/4-beauty/cover.jpg differ
diff --git a/issues/music/assets/4-beauty/cover.jpg.REMOVED.git-id b/issues/music/assets/4-beauty/cover.jpg.REMOVED.git-id
deleted file mode 100644
index 7a06615e..00000000
--- a/issues/music/assets/4-beauty/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a96b9bd53d45eed1178e385d30434e2c2409f645
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/curler.png.REMOVED.git-id b/issues/music/assets/4-beauty/curler.png.REMOVED.git-id
deleted file mode 100644
index 81fabdc0..00000000
--- a/issues/music/assets/4-beauty/curler.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d9da72c5663580d6cf7f516475f778210e630175
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/hairbrush.png.REMOVED.git-id b/issues/music/assets/4-beauty/hairbrush.png.REMOVED.git-id
deleted file mode 100644
index 21a6d0da..00000000
--- a/issues/music/assets/4-beauty/hairbrush.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-96cc5fe4ce35f9d3086449a9fa85b752b4dfd2f0
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/hairspray.png b/issues/music/assets/4-beauty/hairspray.png
deleted file mode 100644
index 77b3daa4..00000000
Binary files a/issues/music/assets/4-beauty/hairspray.png and /dev/null differ
diff --git a/issues/music/assets/4-beauty/iStock_000020108132Medium.png.REMOVED.git-id b/issues/music/assets/4-beauty/iStock_000020108132Medium.png.REMOVED.git-id
deleted file mode 100644
index 925897f3..00000000
--- a/issues/music/assets/4-beauty/iStock_000020108132Medium.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a577395c3e11135a27c3656ff321d041016547b3
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/iStock_000027505425Large.png.REMOVED.git-id b/issues/music/assets/4-beauty/iStock_000027505425Large.png.REMOVED.git-id
deleted file mode 100644
index 87bbc104..00000000
--- a/issues/music/assets/4-beauty/iStock_000027505425Large.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-fc64c44e201b343492313558a4ce726cac3b6b50
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/iStock_000028021558Medium.png.REMOVED.git-id b/issues/music/assets/4-beauty/iStock_000028021558Medium.png.REMOVED.git-id
deleted file mode 100644
index 3c2371d7..00000000
--- a/issues/music/assets/4-beauty/iStock_000028021558Medium.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0c69f2eb677d0cdf8ce5b225eae26c1c2ac84ec6
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/iStock_000029529956Medium.png.REMOVED.git-id b/issues/music/assets/4-beauty/iStock_000029529956Medium.png.REMOVED.git-id
deleted file mode 100644
index b458f547..00000000
--- a/issues/music/assets/4-beauty/iStock_000029529956Medium.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ac2d85448f4869b0e608f3ca78c229acae72d5ee
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/iStock_000029567816Medium.png.REMOVED.git-id b/issues/music/assets/4-beauty/iStock_000029567816Medium.png.REMOVED.git-id
deleted file mode 100644
index 14de515b..00000000
--- a/issues/music/assets/4-beauty/iStock_000029567816Medium.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-dd6b99f11ce9be2653a471356415d75381dd7814
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/p1-chanel.jpg b/issues/music/assets/4-beauty/p1-chanel.jpg
deleted file mode 100644
index ac03e7ca..00000000
Binary files a/issues/music/assets/4-beauty/p1-chanel.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p1-lipstick lustering.jpg b/issues/music/assets/4-beauty/p1-lipstick lustering.jpg
deleted file mode 100644
index ccd19656..00000000
Binary files a/issues/music/assets/4-beauty/p1-lipstick lustering.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p1-lipstick pink plaid.jpg b/issues/music/assets/4-beauty/p1-lipstick pink plaid.jpg
deleted file mode 100644
index 7265bb64..00000000
Binary files a/issues/music/assets/4-beauty/p1-lipstick pink plaid.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p1-mac.jpg.REMOVED.git-id b/issues/music/assets/4-beauty/p1-mac.jpg.REMOVED.git-id
deleted file mode 100644
index a78ca8cf..00000000
--- a/issues/music/assets/4-beauty/p1-mac.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-fd82099c6e1447a13a6608caaee6e7e80b554e7a
\ No newline at end of file
diff --git a/issues/music/assets/4-beauty/p1-ysl.jpg b/issues/music/assets/4-beauty/p1-ysl.jpg
deleted file mode 100644
index 169271cf..00000000
Binary files a/issues/music/assets/4-beauty/p1-ysl.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p2-product-1-trans.png b/issues/music/assets/4-beauty/p2-product-1-trans.png
index 4eacefd8..6f5443e6 100644
Binary files a/issues/music/assets/4-beauty/p2-product-1-trans.png and b/issues/music/assets/4-beauty/p2-product-1-trans.png differ
diff --git a/issues/music/assets/4-beauty/p2-product-1.jpg b/issues/music/assets/4-beauty/p2-product-1.jpg
deleted file mode 100644
index 3596278a..00000000
Binary files a/issues/music/assets/4-beauty/p2-product-1.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p2-product-2-trans.png b/issues/music/assets/4-beauty/p2-product-2-trans.png
index 77a5c318..edb9d242 100644
Binary files a/issues/music/assets/4-beauty/p2-product-2-trans.png and b/issues/music/assets/4-beauty/p2-product-2-trans.png differ
diff --git a/issues/music/assets/4-beauty/p2-product-2.jpg b/issues/music/assets/4-beauty/p2-product-2.jpg
deleted file mode 100644
index 82ff052f..00000000
Binary files a/issues/music/assets/4-beauty/p2-product-2.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p2-product-3-trans.png b/issues/music/assets/4-beauty/p2-product-3-trans.png
index eabb74cd..cb227234 100644
Binary files a/issues/music/assets/4-beauty/p2-product-3-trans.png and b/issues/music/assets/4-beauty/p2-product-3-trans.png differ
diff --git a/issues/music/assets/4-beauty/p2-product-3.jpg b/issues/music/assets/4-beauty/p2-product-3.jpg
deleted file mode 100644
index 8f4bfcfb..00000000
Binary files a/issues/music/assets/4-beauty/p2-product-3.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p2-product-4-trans.png b/issues/music/assets/4-beauty/p2-product-4-trans.png
deleted file mode 100644
index a272a60d..00000000
Binary files a/issues/music/assets/4-beauty/p2-product-4-trans.png and /dev/null differ
diff --git a/issues/music/assets/4-beauty/p2-product-4.jpg b/issues/music/assets/4-beauty/p2-product-4.jpg
deleted file mode 100644
index 6a658510..00000000
Binary files a/issues/music/assets/4-beauty/p2-product-4.jpg and /dev/null differ
diff --git a/issues/music/assets/4-beauty/product-bg.png b/issues/music/assets/4-beauty/product-bg.png
new file mode 100644
index 00000000..2b634bf6
Binary files /dev/null and b/issues/music/assets/4-beauty/product-bg.png differ
diff --git a/issues/music/assets/4-beauty/product-bg.png.REMOVED.git-id b/issues/music/assets/4-beauty/product-bg.png.REMOVED.git-id
deleted file mode 100644
index 9317d485..00000000
--- a/issues/music/assets/4-beauty/product-bg.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-957c04c9bd163addb7f6e9ee7ebe3c1c08b806b6
\ No newline at end of file
diff --git a/issues/music/assets/5-travel/LETLOOSE.svg b/issues/music/assets/5-travel/LETLOOSE.svg
index ee7ac85f..d4900ac7 100644
--- a/issues/music/assets/5-travel/LETLOOSE.svg
+++ b/issues/music/assets/5-travel/LETLOOSE.svg
@@ -1,9 +1,69 @@
-
-
- LETLOOSE
- Created with Sketch (http://www.bohemiancoding.com/sketch)
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/5-travel/cover-1.png b/issues/music/assets/5-travel/cover-1.png
index d1920df0..3fcd74c7 100644
Binary files a/issues/music/assets/5-travel/cover-1.png and b/issues/music/assets/5-travel/cover-1.png differ
diff --git a/issues/music/assets/5-travel/cover.jpg b/issues/music/assets/5-travel/cover.jpg
new file mode 100644
index 00000000..7e7075c1
Binary files /dev/null and b/issues/music/assets/5-travel/cover.jpg differ
diff --git a/issues/music/assets/5-travel/cover.jpg.REMOVED.git-id b/issues/music/assets/5-travel/cover.jpg.REMOVED.git-id
deleted file mode 100644
index 03c66305..00000000
--- a/issues/music/assets/5-travel/cover.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1c748c09422373269ddfb0c6555fc7e8aed82a55
\ No newline at end of file
diff --git a/issues/music/assets/5-travel/dark room_opt.jpeg b/issues/music/assets/5-travel/dark room_opt.jpeg
new file mode 100644
index 00000000..39fe253a
Binary files /dev/null and b/issues/music/assets/5-travel/dark room_opt.jpeg differ
diff --git a/issues/music/assets/5-travel/dark room_opt.jpeg.REMOVED.git-id b/issues/music/assets/5-travel/dark room_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 282f31e4..00000000
--- a/issues/music/assets/5-travel/dark room_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a34c25902395aaf2689db9807c97617bc4f927fb
\ No newline at end of file
diff --git a/issues/music/assets/5-travel/p1-1.jpg b/issues/music/assets/5-travel/p1-1.jpg
index 9e7deb1e..fdcbc27d 100644
Binary files a/issues/music/assets/5-travel/p1-1.jpg and b/issues/music/assets/5-travel/p1-1.jpg differ
diff --git a/issues/music/assets/5-travel/p1-2.jpg b/issues/music/assets/5-travel/p1-2.jpg
index 2e090f84..4df3f2e7 100644
Binary files a/issues/music/assets/5-travel/p1-2.jpg and b/issues/music/assets/5-travel/p1-2.jpg differ
diff --git a/issues/music/assets/5-travel/p1-3.jpg b/issues/music/assets/5-travel/p1-3.jpg
index 6b9a9387..166ae3f2 100644
Binary files a/issues/music/assets/5-travel/p1-3.jpg and b/issues/music/assets/5-travel/p1-3.jpg differ
diff --git a/issues/music/assets/5-travel/p1-4.jpg b/issues/music/assets/5-travel/p1-4.jpg
index d6a46f39..e05d5b3f 100644
Binary files a/issues/music/assets/5-travel/p1-4.jpg and b/issues/music/assets/5-travel/p1-4.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/10_MG_5505.jpg b/issues/music/assets/6-behind-the-scene/10_MG_5505.jpg
new file mode 100644
index 00000000..c3b99fdf
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/10_MG_5505.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/11_MG_5893.jpg b/issues/music/assets/6-behind-the-scene/11_MG_5893.jpg
new file mode 100644
index 00000000..1edf3734
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/11_MG_5893.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/12_img-Y20082732_opt.jpg b/issues/music/assets/6-behind-the-scene/12_img-Y20082732_opt.jpg
new file mode 100644
index 00000000..e7f72510
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/12_img-Y20082732_opt.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/13_MG_5473.jpg b/issues/music/assets/6-behind-the-scene/13_MG_5473.jpg
new file mode 100644
index 00000000..77a4674d
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/13_MG_5473.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/14_img-Y20082818_opt_square.jpg b/issues/music/assets/6-behind-the-scene/14_img-Y20082818_opt_square.jpg
new file mode 100644
index 00000000..d0569a4a
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/14_img-Y20082818_opt_square.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/1_MG_5831_square.jpg b/issues/music/assets/6-behind-the-scene/1_MG_5831_square.jpg
new file mode 100644
index 00000000..ddcfd042
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/1_MG_5831_square.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/2_MG_5770_sqaure.jpg b/issues/music/assets/6-behind-the-scene/2_MG_5770_sqaure.jpg
new file mode 100644
index 00000000..95f077c7
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/2_MG_5770_sqaure.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/3_MG_6269_opt_square.jpg b/issues/music/assets/6-behind-the-scene/3_MG_6269_opt_square.jpg
new file mode 100644
index 00000000..15127838
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/3_MG_6269_opt_square.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/4_MG_6153_square.jpg b/issues/music/assets/6-behind-the-scene/4_MG_6153_square.jpg
new file mode 100644
index 00000000..50cd7f90
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/4_MG_6153_square.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/5_MG_6201.jpg b/issues/music/assets/6-behind-the-scene/5_MG_6201.jpg
new file mode 100644
index 00000000..4a95cc61
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/5_MG_6201.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/6_img-Y20082646_2_opt.jpg b/issues/music/assets/6-behind-the-scene/6_img-Y20082646_2_opt.jpg
new file mode 100644
index 00000000..90ab9da5
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/6_img-Y20082646_2_opt.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/7_MG_6240_opt.jpg b/issues/music/assets/6-behind-the-scene/7_MG_6240_opt.jpg
new file mode 100644
index 00000000..e63fa213
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/7_MG_6240_opt.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/8_MG_5876_opt.jpg b/issues/music/assets/6-behind-the-scene/8_MG_5876_opt.jpg
new file mode 100644
index 00000000..295d3e74
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/8_MG_5876_opt.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5433.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5433.jpg.REMOVED.git-id
deleted file mode 100644
index 51067e86..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5433.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d310b95fd0be349325210c50ea3a06819f2628b7
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5473.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5473.jpg.REMOVED.git-id
deleted file mode 100644
index abdeaca5..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5473.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9137e6fccc45ea53606ac4d1b38391429bf0d47d
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5505.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5505.jpg.REMOVED.git-id
deleted file mode 100644
index f0054bd3..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5505.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ae7e065563411d966460a636c5ee41687cccd7d3
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5770.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5770.jpg.REMOVED.git-id
deleted file mode 100644
index 3c7cb5cb..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5770.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ca091b66d1bb89ea800738f61c5846095ee385b7
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5770_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5770_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index a2c928e6..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5770_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-25ef67b00e095862deeafcee460a0ae12bc36b1c
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5770_sqaure.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5770_sqaure.jpg.REMOVED.git-id
deleted file mode 100644
index 059852c2..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5770_sqaure.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-8b31b2848cf1a08757f4613e81d2ae8747bfa03c
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5816_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5816_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 01894d3f..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5816_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-053fe06045421ed3aa07de59f3196e09a5c9bcf7
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5831.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5831.jpg.REMOVED.git-id
deleted file mode 100644
index fd23e099..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5831.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3e90b3a9f2bc8849e1470b33b8a87f09de1459cd
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5831_square.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5831_square.jpg.REMOVED.git-id
deleted file mode 100644
index 277cae98..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5831_square.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-b186448e7481420388f3f3ae9cfa67c9b156b821
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index fd76d680..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ef252e8c0782376572f3838dbe6f3de8fe00fb41
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpg.REMOVED.git-id
deleted file mode 100644
index be076203..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5876_opt.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-05085bea221ab0e5f482c3c79695ac288d8327a4
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5893.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5893.jpg.REMOVED.git-id
deleted file mode 100644
index 94bdc9ca..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5893.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0873acc1e9996018c5c9b0c80d929eb0513cbfa0
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 7c6b9b34..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-91bac746eeaf985fac06a7a620947a6c9349e912
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpg.REMOVED.git-id
deleted file mode 100644
index e5f7e30f..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_5893_opt.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bb3e075fafcd3cc644ac36f00fe846ea5789f353
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6002.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6002.jpg.REMOVED.git-id
deleted file mode 100644
index df672902..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6002.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-18cc455815c02fac14032753a22940f8a99aeef0
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6002_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6002_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 20f99e80..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6002_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-346e992dad9a52bec6a20ab43fd5b9f2c0d2ea5c
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6153.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6153.jpg.REMOVED.git-id
deleted file mode 100644
index 84f3d307..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6153.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a7ef24bcff90f85585b32ae0291eec67c981b68e
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6153_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6153_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 99247923..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6153_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1d6f6e078f66a6fc01a2adde57d37f4fd8570e32
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6153_square.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6153_square.jpg.REMOVED.git-id
deleted file mode 100644
index c5e551f0..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6153_square.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a33d9f0138202da3ca46c429f00b3ec0d013060b
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6201.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6201.jpg.REMOVED.git-id
deleted file mode 100644
index 3c51c41d..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6201.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bd12e8a5c5e7afbf2b6149873bc1a8b6192b800f
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6201_square.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6201_square.jpg.REMOVED.git-id
deleted file mode 100644
index aa068f98..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6201_square.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bd7050886f902d46db941ac30be495df1ae60c64
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6240.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6240.jpg.REMOVED.git-id
deleted file mode 100644
index d541839b..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6240.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ecb3547af065b299c59d89bfe1ed4e40023ea54f
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 7f5a9119..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-93bb5e498ac7e85f1cf2d04481d1e04f29d5b502
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpg.REMOVED.git-id
deleted file mode 100644
index c6a82ff6..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6240_opt.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2cfdc404c5249ce6f568c1b16966f70a39240cd3
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6269_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6269_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index b38b9a27..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6269_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1c594a5ccc10c3639c96608f2332ceae96cd2a7c
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/_MG_6269_opt_square.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/_MG_6269_opt_square.jpg.REMOVED.git-id
deleted file mode 100644
index 753c8be1..00000000
--- a/issues/music/assets/6-behind-the-scene/_MG_6269_opt_square.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a76e738831bc13ba0fc167a963e1c28ae1e118c5
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/content-images.jpg b/issues/music/assets/6-behind-the-scene/content-images.jpg
new file mode 100644
index 00000000..cda9b7e6
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/content-images.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/content-images.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/content-images.jpg.REMOVED.git-id
deleted file mode 100644
index 51440b22..00000000
--- a/issues/music/assets/6-behind-the-scene/content-images.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1d4793b4bebfa25318a843b70b48289b982747c7
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/cover-heading.jpg b/issues/music/assets/6-behind-the-scene/cover-heading.jpg
deleted file mode 100644
index 14e0049b..00000000
Binary files a/issues/music/assets/6-behind-the-scene/cover-heading.jpg and /dev/null differ
diff --git a/issues/music/assets/6-behind-the-scene/cover-heading.svg b/issues/music/assets/6-behind-the-scene/cover-heading.svg
new file mode 100644
index 00000000..cbc253d3
--- /dev/null
+++ b/issues/music/assets/6-behind-the-scene/cover-heading.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/music/assets/6-behind-the-scene/cover.jpg b/issues/music/assets/6-behind-the-scene/cover.jpg
new file mode 100644
index 00000000..f2b49839
Binary files /dev/null and b/issues/music/assets/6-behind-the-scene/cover.jpg differ
diff --git a/issues/music/assets/6-behind-the-scene/dark room_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/dark room_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 282f31e4..00000000
--- a/issues/music/assets/6-behind-the-scene/dark room_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a34c25902395aaf2689db9807c97617bc4f927fb
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082628_2_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/img-Y20082628_2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index fbdda057..00000000
--- a/issues/music/assets/6-behind-the-scene/img-Y20082628_2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5d479c1981f934eedeab4e0d262e3a7da926080d
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index df80b55c..00000000
--- a/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7d388f51a26c439dedcbc987c3e99f4447d94fec
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpg b/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpg
deleted file mode 100644
index 5850688c..00000000
Binary files a/issues/music/assets/6-behind-the-scene/img-Y20082646_2_opt.jpg and /dev/null differ
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082732_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/img-Y20082732_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index c88ffa87..00000000
--- a/issues/music/assets/6-behind-the-scene/img-Y20082732_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-04200aef8cb6709fb3561d2677bcca885320c51a
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082818_opt.jpeg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/img-Y20082818_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 4de12896..00000000
--- a/issues/music/assets/6-behind-the-scene/img-Y20082818_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c7d70b327ef8bdc817d04f23704bef9e4ee604f0
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/img-Y20082818_opt_square.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/img-Y20082818_opt_square.jpg.REMOVED.git-id
deleted file mode 100644
index e38376b5..00000000
--- a/issues/music/assets/6-behind-the-scene/img-Y20082818_opt_square.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-20525f6727889c965ab399331be056fe36b5923f
\ No newline at end of file
diff --git a/issues/music/assets/6-behind-the-scene/p1-1.png b/issues/music/assets/6-behind-the-scene/p1-1.png
deleted file mode 100644
index 8124c01a..00000000
Binary files a/issues/music/assets/6-behind-the-scene/p1-1.png and /dev/null differ
diff --git a/issues/music/assets/6-behind-the-scene/p1.jpg.REMOVED.git-id b/issues/music/assets/6-behind-the-scene/p1.jpg.REMOVED.git-id
deleted file mode 100644
index 64d89629..00000000
--- a/issues/music/assets/6-behind-the-scene/p1.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ac05e3c24a3962a0ede9c46d10137d3f35d7ca4e
\ No newline at end of file
diff --git a/issues/music/assets/7-end/p1-1.png b/issues/music/assets/7-end/p1-1.png
new file mode 100644
index 00000000..7c47dd71
Binary files /dev/null and b/issues/music/assets/7-end/p1-1.png differ
diff --git a/issues/music/assets/7-end/p1.jpg b/issues/music/assets/7-end/p1.jpg
new file mode 100644
index 00000000..67fd7cc0
Binary files /dev/null and b/issues/music/assets/7-end/p1.jpg differ
diff --git a/issues/music/assets/7-end/thumb.jpg b/issues/music/assets/7-end/thumb.jpg
new file mode 100644
index 00000000..068248e1
Binary files /dev/null and b/issues/music/assets/7-end/thumb.jpg differ
diff --git a/issues/music/assets/CHRISTINA_uncoveredwhite.svg.REMOVED.git-id b/issues/music/assets/CHRISTINA_uncoveredwhite.svg.REMOVED.git-id
deleted file mode 100644
index 4477f415..00000000
--- a/issues/music/assets/CHRISTINA_uncoveredwhite.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2aeef88e89069b354cf01f8099905b24fc33619f
\ No newline at end of file
diff --git a/issues/music/assets/Christina Perri - Human.mp3 b/issues/music/assets/Christina Perri - Human.mp3
new file mode 100644
index 00000000..9d77da43
Binary files /dev/null and b/issues/music/assets/Christina Perri - Human.mp3 differ
diff --git a/issues/music/assets/Christina Perri - I Believe.m4a.REMOVED.git-id b/issues/music/assets/Christina Perri - I Believe.m4a.REMOVED.git-id
deleted file mode 100644
index 79b420c6..00000000
--- a/issues/music/assets/Christina Perri - I Believe.m4a.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7d66d20922d2fa39ffc5af489da2d3dcc3b2963f
\ No newline at end of file
diff --git a/issues/music/assets/Head Or Heart album.jpg b/issues/music/assets/Head Or Heart album.jpg
deleted file mode 100644
index b92a2fbd..00000000
Binary files a/issues/music/assets/Head Or Heart album.jpg and /dev/null differ
diff --git a/issues/music/assets/QUOTE1.svg.REMOVED.git-id b/issues/music/assets/QUOTE1.svg.REMOVED.git-id
deleted file mode 100644
index 004606dc..00000000
--- a/issues/music/assets/QUOTE1.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-08f5a576dae9aa8ce2a3b395f42575d57e3f9125
\ No newline at end of file
diff --git a/issues/music/assets/background.jpg b/issues/music/assets/background.jpg
new file mode 100644
index 00000000..687da50d
Binary files /dev/null and b/issues/music/assets/background.jpg differ
diff --git a/issues/music/assets/background.jpg.REMOVED.git-id b/issues/music/assets/background.jpg.REMOVED.git-id
deleted file mode 100644
index bc859cba..00000000
--- a/issues/music/assets/background.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-239cfb0eb243938e941c55eea989179d8eb3c014
\ No newline at end of file
diff --git a/issues/music/assets/background_large.jpg b/issues/music/assets/background_large.jpg
new file mode 100644
index 00000000..87f74d06
Binary files /dev/null and b/issues/music/assets/background_large.jpg differ
diff --git a/issues/music/assets/background_large.jpg.REMOVED.git-id b/issues/music/assets/background_large.jpg.REMOVED.git-id
deleted file mode 100644
index ccba762e..00000000
--- a/issues/music/assets/background_large.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-42b5db43c104e4e95c16bfd13cf5843546ed9407
\ No newline at end of file
diff --git a/issues/music/assets/brand_logo.png b/issues/music/assets/brand_logo.png
index e69530a0..b849fec6 100644
Binary files a/issues/music/assets/brand_logo.png and b/issues/music/assets/brand_logo.png differ
diff --git a/issues/music/assets/christina.svg b/issues/music/assets/christina.svg
deleted file mode 100644
index a4aa9b02..00000000
--- a/issues/music/assets/christina.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- christina
- Created with Sketch (http://www.bohemiancoding.com/sketch)
-
-
-
-
-
\ No newline at end of file
diff --git a/issues/music/assets/circle.skin/bgr.jpg b/issues/music/assets/circle.skin/bgr.jpg
index 3cf5998f..206acd5a 100755
Binary files a/issues/music/assets/circle.skin/bgr.jpg and b/issues/music/assets/circle.skin/bgr.jpg differ
diff --git a/issues/music/assets/circle.skin/bgr.png b/issues/music/assets/circle.skin/bgr.png
index 88e735b1..0ac79fe6 100644
Binary files a/issues/music/assets/circle.skin/bgr.png and b/issues/music/assets/circle.skin/bgr.png differ
diff --git a/issues/music/assets/circle.skin/buffer.png b/issues/music/assets/circle.skin/buffer.png
index e36c65ae..6fc79161 100755
Binary files a/issues/music/assets/circle.skin/buffer.png and b/issues/music/assets/circle.skin/buffer.png differ
diff --git a/issues/music/assets/circle.skin/circle.player.css b/issues/music/assets/circle.skin/circle.player.css
index 2cbe08c6..a396be3f 100755
--- a/issues/music/assets/circle.skin/circle.player.css
+++ b/issues/music/assets/circle.skin/circle.player.css
@@ -12,11 +12,13 @@
.cp-container {
position:relative;
- width:104px; /* 200 - (2 * 48) */
- height:104px;
+ width: 104px; /* 200 - (2 * 48) */
+ height: 104px;
background:url("bgr.png") 0 0 no-repeat;
- padding:48px;
+ padding: 48px;
-webkit-tap-highlight-color:rgba(0,0,0,0);
+
+ margin: -20px auto !important;
}
.cp-container :focus {
@@ -65,8 +67,8 @@
.cp-progress-holder,
.cp-circle-control {
position:absolute;
- width:104px;
- height:104px;
+ width:60px;
+ height:60px;
}
.cp-circle-control {
@@ -90,7 +92,7 @@
.cp-controls {
margin:0;
- padding:26px;
+ padding:26px !important;
}
.cp-controls li{
diff --git a/issues/music/assets/circle.skin/controls.jpg b/issues/music/assets/circle.skin/controls.jpg
index be3798f9..25594c71 100755
Binary files a/issues/music/assets/circle.skin/controls.jpg and b/issues/music/assets/circle.skin/controls.jpg differ
diff --git a/issues/music/assets/circle.skin/progress.png b/issues/music/assets/circle.skin/progress.png
index d839da4d..b3bc1f2a 100755
Binary files a/issues/music/assets/circle.skin/progress.png and b/issues/music/assets/circle.skin/progress.png differ
diff --git a/issues/music/assets/circle.skin/progress_sprite.jpg b/issues/music/assets/circle.skin/progress_sprite.jpg
new file mode 100755
index 00000000..1c5036db
Binary files /dev/null and b/issues/music/assets/circle.skin/progress_sprite.jpg differ
diff --git a/issues/music/assets/circle.skin/progress_sprite.jpg.REMOVED.git-id b/issues/music/assets/circle.skin/progress_sprite.jpg.REMOVED.git-id
deleted file mode 100644
index 5949ece2..00000000
--- a/issues/music/assets/circle.skin/progress_sprite.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5e55393db43d764d45831a2af28613b08b42a2d8
\ No newline at end of file
diff --git a/issues/music/assets/content.svg b/issues/music/assets/content.svg
deleted file mode 100644
index d82fe2dd..00000000
--- a/issues/music/assets/content.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- content
- Created with Sketch (http://www.bohemiancoding.com/sketch)
-
-
-
-
-
\ No newline at end of file
diff --git a/issues/music/assets/cover-christina-perri.png b/issues/music/assets/cover-christina-perri.png
index 142ff559..0ec2d3f9 100644
Binary files a/issues/music/assets/cover-christina-perri.png and b/issues/music/assets/cover-christina-perri.png differ
diff --git a/issues/music/assets/cover-heading.svg b/issues/music/assets/cover-heading.svg
deleted file mode 100644
index a09dd9da..00000000
--- a/issues/music/assets/cover-heading.svg
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-Created by potrace 1.11, written by Peter Selinger 2001-2013
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/issues/music/assets/cover.jpg b/issues/music/assets/cover.jpg
new file mode 100644
index 00000000..79fecb08
Binary files /dev/null and b/issues/music/assets/cover.jpg differ
diff --git a/issues/music/assets/cover.png b/issues/music/assets/cover.png
new file mode 100644
index 00000000..79fecb08
Binary files /dev/null and b/issues/music/assets/cover.png differ
diff --git a/issues/music/assets/cover.png.REMOVED.git-id b/issues/music/assets/cover.png.REMOVED.git-id
deleted file mode 100644
index 93017acb..00000000
--- a/issues/music/assets/cover.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-88c9fb8fd595326f02ee8c875c9dc85fab19eabf
\ No newline at end of file
diff --git a/issues/music/assets/custom.css b/issues/music/assets/custom.css
deleted file mode 100644
index 78d39098..00000000
--- a/issues/music/assets/custom.css
+++ /dev/null
@@ -1,375 +0,0 @@
-/* Basic elements */
-/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 14, 2014 */
-
-p:empty {
- display: none;
-}
-
-@font-face {
- font-weight: normal;
- font-style: normal;
- font-family: 'rodondoregular';
- src: url('fonts/rodondo-webfont.eot');
- src: url('fonts/rodondo-webfont.eot?#iefix') format('embedded-opentype'),
- url('fonts/rodondo-webfont.woff') format('woff'),
- url('fonts/rodondo-webfont.ttf') format('truetype'),
- url('fonts/rodondo-webfont.svg#rodondoregular') format('svg');
-}
-
-/* Branding */
-
-#seditors-letter header {
- margin: 0;
-}
-
-article.page.toc .cover-area .brand-logo {
- position: static;
- bottom: initial;
- left: initial;
- margin: 2% auto 0;
- margin-bottom: -20px;
- max-width: 40%;
-}
-
-article.page.toc h2 {
- font-family: "rodondoregular";
-}
-
-article.page.toc .menu li .story {
- text-decoration: none;
- font-family: "rodondoregular";
-}
-
-article.page.toc .menu .head {
- display: none;
-}
-
-article.page figure figcaption {
- padding: 10px 0;
- text-align: right;
- font-style: normal;
- font-size: 80%;
- font-family: "Courier New", Courier, monospace;
-}
-
-article.page figure {
- text-align: center;
-}
-
-article.page .body h3 {
- display: inline-block;
- margin-bottom: 0em;
- margin-bottom: 0.5em;
- background: black;
- color: white;
- font-weight: lighter;
- font-size: 18px;
-}
-
-article.page .body h4 {
- margin-bottom: 0em;
- font-family: "EB Garamond";
-}
-
-article.page .body h2 {
- font-size: 20px;
-}
-
-article.page .body p {
- margin: 0.15em 0 1em;
- line-height: 22px;
-}
-
-small { font-size: 90%; }
-
-p > span {
- font-style: normal;
- font size: 100%;
-}
-
-/*
- Cover
-*/
-section.magazine.cover #issue-logo {
- bottom: 170px;
- zoom: 0.6;
-}
-
-section.magazine.cover nav[role="navigation"] {
- display: none;
-}
-
-section.magazine.cover .brand {
- margin: 0 auto 0 22px;
- width: 200px;
- height: 80px;
- background-image: url('../assets/brand_logo.png');
- background-position: center;
- background-size: 100%;
- background-repeat: no-repeat;
- color: transparent;
- font-size: 0;
- line-height: 0;
-}
-
-section.magazine.cover .title {
- text-align: center;
- text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.8);
- font-weight: normal;
- font-size: 100px;
- font-family: "rodondoregular";
- line-height: 60px;
-}
-
-section.magazine.cover .extra-1 {
- position: absolute;
- bottom: 10px;
- left: 50%;
- margin-left: -45%;
- width: 90%;
- height: 115px;
- background-image: url('../assets/cover-christina-perri.png');
- background-position: center;
- background-size: contain;
- background-repeat: no-repeat;
-}
-
-.page-fadein {
- -webkit-animation-name: fade;
- -moz-animation-name: fade;
- animation-name: fade;
-
- -webkit-animation-duration: 0.15s;
- -moz-animation-duration: 0.15s;
- animation-duration: 0.15s;
-
- -webkit-animation-timing-function: ease;
- -moz-animation-timing-function: ease;
- animation-timing-function: ease;
-
- -webkit-animation-delay: 0;
- -moz-animation-delay: 0;
- animation-delay: 0;
-/*
- -webkit-animation-iteration-count: 1;
- animation-iteration-count: 1;*/
-
- -webkit-animation-direction: normal;
- -moz-animation-direction: normal;
- animation-direction: normal;
-
-
-}
-
-/*
- Table of content
-*/
-article.toc.page header {
- display: none;
-}
-
-article.toc.page #signature {
- display: block;
- margin: 0;
- width: 180px;
-}
-
-article.toc.page .cover-area {
- min-height: 15%;
- height: 15%;
-}
-
-article.toc.page .body p:first-child {
- margin-top: 1em;
-}
-
-#s3-shop-the-shoot header .title {
-/* margin-left: -28px;*/
-/* width: 338px;*/
- height: 45px;
- background: url('../assets/3-shop-the-shoot/heading-head-the-look.svg') no-repeat;
- background-size: contain;
- color: transparent;
-}
-
-
-@media only screen and (min-width: 768px) {
- section.magazine.cover .brand {
- margin: 0 auto;
- }
-
- section.magazine.cover nav[role="navigation"] {
- display: block;
- }
-
- section.magazine.cover .title {
- font-size: 160px;
- line-height: 110px;
- }
-
- section.magazine.cover .extra-1 {
- left: 50%;
- margin-left: -25%;
- width: 50%;
- height: 20%;
- }
-}
-
-@media only screen and (orientation: landscape) {
- .magazine.cover hgroup, .page.cover hgroup {
- margin-top: -4%;
- }
-}
-
-/* Interactive */
-
-
-article.rainbow .product-set li .hotspot .tag {
- color: transparent;
- transition: all 0.3s;
- -webkit-transition: all 0.3s;
- -moz-transition: all 0.3s;
-
- animation: rainbow linear 5s infinite alternate;
-
- -webkit-backface-visibility: hidden;
- -webkit-animation: rainbow linear 5s infinite alternate; /* Safari and Chrome */
-
- -moz-animation: five-shades linear 5s infinite alternate; /* Firefox */
-}
-
-article.rainbow .product-set li .hotspot:active .tag,
-article.rainbow .product-set li .hotspot:hover .tag {
- z-index: 999;
- color: white;
- -webkit-transform: scale(1.5);
- -moz-transform: scale(1.5);
- transform: scale(1.5) ;
-}
-
-article.rainbow .product-set li:nth-child(odd) .hotspot .tag {
- background-color: #00dcff;
- -webkit-animation-delay: 0.5s;
- animation-delay: 0.5s;
-}
-
-article.rainbow .product-set li:nth-child(even) .hotspot .tag {
- background-color: #ff5300;
- -webkit-animation-delay: 0.7s;
- animation-delay: 0.7s;
-}
-
-article.rainbow .product-set li:nth-child(3n) .hotspot .tag {
- -webkit-animation-delay: 2s;
- animation-delay: 2s;
-}
-
-article.rainbow .product-set li:nth-child(4n) .hotspot .tag {
- -webkit-animation-delay: 0.3s;
- animation-delay: 0.3s;
-}
-
-
-article.five-shades .product-set li .hotspot .tag {
- color: transparent;
- transition: all 0.3s;
- -moz-transition: all 0.3s;
- -webkit-transition: all 0.3s;
-
- animation: five-shades linear 5s infinite alternate;
-
- -webkit-backface-visibility: hidden;
- -webkit-animation: five-shades linear 5s infinite alternate; /* Safari and Chrome */
-
- -moz-animation: five-shades linear 5s infinite alternate; /* Firefox */
-}
-
-article.five-shades .product-set li .hotspot:active .tag,
-article.five-shades .product-set li .hotspot:hover .tag {
- z-index: 999;
- color: white;
- -webkit-transform: scale(1.5);
- -moz-transform: scale(1.5);
- transform: scale(1.5);
-}
-
-article.five-shades .product-set li:nth-child(odd) .hotspot .tag {
- background-color: #f080a1;
- -webkit-animation-delay: 0.5s;
- animation-delay: 0.5s;
-}
-
-article.five-shades .product-set li:nth-child(even) .hotspot .tag {
- background-color: #ff9ebb;
- -webkit-animation-delay: 0.7s;
- animation-delay: 0.7s;
-}
-
-article.five-shades .product-set li:nth-child(3n) .hotspot .tag {
- -webkit-animation-delay: 2s;
- animation-delay: 2s;
-}
-
-article.five-shades .product-set li:nth-child(4n) .hotspot .tag {
- -webkit-animation-delay: 0.3s;
- animation-delay: 0.3s;
-}
-
-/*
- Animations
-*/
-
-@-webkit-keyframes five-shades {
- from { background-color: #ff9ebb }
- 20% { background-color: #c6244b }
- 40% { background-color: #ff9ebb }
- 60% { background-color: #e14d70 }
- 80% { background-color: #f080a1 }
- to { background-color: #f25d80 }
-}
-
-@-moz-keyframes five-shades {
- from { background-color: #ff9ebb }
- 20% { background-color: #c6244b }
- 40% { background-color: #ff9ebb }
- 60% { background-color: #e14d70 }
- 80% { background-color: #f080a1 }
- to { background-color: #f25d80 }
-}
-
-@keyframes five-shades {
- from { background-color: #ff9ebb }
- 20% { background-color: #c6244b }
- 40% { background-color: #ff9ebb }
- 60% { background-color: #e14d70 }
- 80% { background-color: #f080a1 }
- to { background-color: #f25d80 }
-}
-@-webkit-keyframes rainbow {
- from { background-color: #ff5300 }
- 20% { background-color: #ff0000 }
- 40% { background-color: #00ffb2 }
- 60% { background-color: #ff0093 }
- 80% { background-color: #00dcff }
- 90% { background-color: #fff600 }
- to { background-color: #00dcff}
-}
-
-@-moz-keyframes rainbow {
- from { background-color: #ff5300 }
- 20% { background-color: #ff0000 }
- 40% { background-color: #00ffb2 }
- 60% { background-color: #ff0093 }
- 80% { background-color: #00dcff }
- 90% { background-color: #fff600 }
- to { background-color: #00dcff}
-}
-@keyframes rainbow {
- from { background-color: #ff5300 }
- 20% { background-color: #ff0000 }
- 40% { background-color: #00ffb2 }
- 60% { background-color: #ff0093 }
- 80% { background-color: #00dcff }
- 90% { background-color: #fff600 }
- to { background-color: #00dcff}
-}
\ No newline at end of file
diff --git a/issues/music/assets/custom.js b/issues/music/assets/custom.js
new file mode 100644
index 00000000..21beac3c
--- /dev/null
+++ b/issues/music/assets/custom.js
@@ -0,0 +1,42 @@
+$(document).on("click", ".popover a", function(e) {
+ var isAus = !! App.embed_url && App.embed_url.match(/\/au\//);
+
+ var product_title = $('.popover .title').text()
+
+ if (isAus && product_title.match(/minkpink/i)) {
+ console.log('Popover action clicked', product_title)
+
+ window.open("http://minkpink.com/au/store-locator", "_blank");
+
+ App.trigger("track", "click", "http://minkpink.com/au/store-locator" )
+
+ return false
+ }
+})
+
+$(function() {
+ var isAus = !! App.embed_url && App.embed_url.match(/\/au\//);
+ var isShopTheLook = $("article[data-page^='3-shop-the-shoot']").length > 0;
+
+ if (isAus) {
+ $("article[data-page]").addClass('target-au')
+ //
+ // if (isShopTheLook && $('#s4-beauty').length == 0) {
+ //
+ // console.log("something")
+ //
+ // // App.pageView.hotspot.hide(e)
+ //
+ // } else {
+ // // var shopTheLookURL = window.location.href.replace(
+ // // $("article[data-page]").attr("data-page"),
+ // // "3-shop-the-shoot" );
+ // //
+ // // $("a.hotspot").on("click", function(e) {
+ // // window.location = shopTheLookURL;
+ // // });
+ // }
+ } else {
+ $("article[data-page]").addClass('target-global')
+ }
+});
diff --git a/issues/music/assets/custom.scss b/issues/music/assets/custom.scss
new file mode 100644
index 00000000..627bc779
--- /dev/null
+++ b/issues/music/assets/custom.scss
@@ -0,0 +1,1030 @@
+/*
+ Import Custom fonts
+
+ Basic elements
+
+ Cover page
+
+ Table of content
+
+ Editor's letter
+
+ Styling It out
+
+ Head or Heart
+
+ Shop the Shoot
+
+ Beauty
+
+ Travel
+
+ Behind the scene
+
+ Back cover
+
+ Components
+*/
+
+/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 14, 2014 */
+
+@font-face {
+ font-weight: normal;
+ font-style: normal;
+ font-family: 'rodondoregular';
+ src: url('fonts/rodondo-webfont.woff') format('woff'),
+ url('fonts/rodondo-webfont.ttf') format('truetype');
+}
+
+/*
+ Animations
+*/
+
+@-webkit-keyframes five-shades {
+ from { background-color: #ff9ebb }
+ 20% { background-color: #c6244b }
+ 40% { background-color: #ff9ebb }
+ 60% { background-color: #e14d70 }
+ 80% { background-color: #f080a1 }
+ to { background-color: #f25d80 }
+}
+
+@-moz-keyframes five-shades {
+ from { background-color: #ff9ebb }
+ 20% { background-color: #c6244b }
+ 40% { background-color: #ff9ebb }
+ 60% { background-color: #e14d70 }
+ 80% { background-color: #f080a1 }
+ to { background-color: #f25d80 }
+}
+
+@keyframes five-shades {
+ from { background-color: #ff9ebb }
+ 20% { background-color: #c6244b }
+ 40% { background-color: #ff9ebb }
+ 60% { background-color: #e14d70 }
+ 80% { background-color: #f080a1 }
+ to { background-color: #f25d80 }
+}
+
+@-webkit-keyframes rainbow {
+ from { background-color: #ff5300 }
+ 20% { background-color: #ff0000 }
+ 40% { background-color: #00ffb2 }
+ 60% { background-color: #ff0093 }
+ 80% { background-color: #00dcff }
+ 90% { background-color: #fff600 }
+ to { background-color: #00dcff }
+}
+
+@-moz-keyframes rainbow {
+ from { background-color: #ff5300 }
+ 20% { background-color: #ff0000 }
+ 40% { background-color: #00ffb2 }
+ 60% { background-color: #ff0093 }
+ 80% { background-color: #00dcff }
+ 90% { background-color: #fff600 }
+ to { background-color: #00dcff }
+}
+
+@keyframes rainbow {
+ from { background-color: #ff5300 }
+ 20% { background-color: #ff0000 }
+ 40% { background-color: #00ffb2 }
+ 60% { background-color: #ff0093 }
+ 80% { background-color: #00dcff }
+ 90% { background-color: #fff600 }
+ to { background-color: #00dcff }
+}
+
+
+#music-issue {
+ /*
+ Basic elements
+ */
+
+ p:empty {
+ display: none;
+ }
+
+ small { font-size: 90%; }
+
+ p > span {
+ font-style: normal;
+ font-size: 100%;
+ }
+
+ article .category {
+ display: none;
+ }
+
+ article.has-product .category {
+ display: block;
+ }
+
+ article.page {
+ figure figcaption {
+ padding: 5px 0 10px;
+ text-align: right;
+ font-style: normal;
+ font-size: 70%;
+ font-family: "Courier New", Courier, monospace;
+ }
+
+ figure {
+ text-align: center;
+ }
+
+ .body {
+ font-family: "EB Garamond";
+ }
+
+ .body h3 {
+ display: inline-block;
+ margin-bottom: 0em;
+ margin-bottom: 0.5em;
+ background: black;
+ color: white;
+ font-weight: lighter;
+ font-size: 18px;
+ }
+
+ .body h4 {
+ margin-bottom: 0em;
+ font-family: "EB Garamond";
+ }
+
+ .body h2 {
+ font-size: 20px;
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ article.page .body p {
+ margin: 0 0 1em;
+
+ font-size: 16px;
+ font-size: 2.2vmin;
+
+ line-height: 22px;
+ line-height: 3.2vmin;
+ }
+ }
+
+ .page-fadein {
+ -webkit-animation-name: fade;
+ -moz-animation-name: fade;
+ animation-name: fade;
+
+ -webkit-animation-duration: 0.15s;
+ -moz-animation-duration: 0.15s;
+ animation-duration: 0.15s;
+
+ -webkit-animation-timing-function: ease;
+ -moz-animation-timing-function: ease;
+ animation-timing-function: ease;
+
+ -webkit-animation-delay: 0;
+ -moz-animation-delay: 0;
+ animation-delay: 0;
+
+ -webkit-animation-direction: normal;
+ -moz-animation-direction: normal;
+ animation-direction: normal;
+ }
+
+
+ /*
+ Embed
+ */
+
+ .embed .magazine .subscribe,
+ .embed .magazine .download {
+ display: none;
+ }
+
+ /*
+ 0. Cover page
+ */
+
+ [data-page="index"] {
+ #issue-logo {
+ bottom: 170px;
+ zoom: 0.6;
+ }
+
+ nav[role="navigation"] {
+ display: none;
+ }
+
+ .brand {
+ margin: 0 auto 20px;
+ width: 180px;
+ height: 80px;
+ background-image: url('brand_logo.png');
+ background-position: center;
+ background-size: 100%;
+ background-repeat: no-repeat;
+ color: transparent;
+ font-size: 0;
+ line-height: 0;
+ }
+
+ .title {
+ text-align: center;
+ text-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5);
+ font-weight: normal;
+ font-size: 100px;
+ font-family: "rodondoregular";
+ line-height: 40px;
+ }
+
+ .description {
+ display: none;
+ }
+
+ .extra-1 {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ margin-left: -45%;
+ width: 90%;
+ height: 115px;
+ background-image: url('cover-christina-perri.png');
+ background-position: center;
+ background-size: contain;
+ background-repeat: no-repeat;
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ .page.cover {
+ .title {
+ font-size: 140px;
+ line-height: 100px;
+ }
+ }
+ }
+
+ @media only screen and (orientation: landscape) {
+ .magazine.cover hgroup {
+ margin-top: -4%;
+ }
+ }
+
+ /*
+ Table of content - Hide category label, only show them on products page
+ */
+
+ [data-page="toc"] {
+
+ header {
+ display: none;
+ }
+
+ #signature {
+ display: block;
+ margin: 0;
+ width: 180px;
+ }
+
+ figure.image:last-child {
+ margin: 0;
+ }
+
+ .cover-area {
+ min-height: 0;
+ }
+
+ .body p:first-child {
+ margin-top: 1em;
+ }
+
+ .brand-logo {
+ display: block;
+ position: static;
+ bottom: initial;
+ left: initial;
+ margin: 20px auto 0;
+ width: 90%;
+ max-width: 280px;
+ }
+
+ h2 {
+ font-family: "rodondoregular";
+ }
+
+ .menu li .story {
+ text-decoration: none;
+ font-family: "rodondoregular";
+ }
+
+ .menu .head {
+ display: none;
+ }
+
+ .menu li:first-of-type {
+ padding-top: 20px;
+ }
+ }
+
+ /*
+ 1. Editor's letter
+ */
+
+ [data-page="editors-letter"] {
+ header {
+ margin: 0;
+ }
+
+ .title {
+ font-family: "rodondoregular";
+ margin-bottom: 0.1em;
+ }
+
+ .body p {
+ font-style: italic;
+ margin: 0.15em 0 0.5em;
+ }
+
+ .body p:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ /*
+ 2. Styling it out
+ */
+
+ [data-page*="1-styling-it-out"] {
+
+ .content {
+ position: relative;
+ }
+
+ /* Replace page heading with outline heading (change background url or height if needed) */
+ .title {
+ background: url(1-styling-it-out/STYLINGITOUT.svg) no-repeat;
+ background-size: contain;
+ background-position: center;
+ color: transparent;
+
+ height: 0;
+ padding-bottom: 50%;
+ }
+
+ header .category {
+ top: 200px;
+ margin-top: 200px;
+ color: black;
+ text-align: left;
+ font-family: 'rodondoregular';
+ }
+
+ .itunes-preview {
+ width: 70%;
+ margin: 0 auto 10px;
+
+ audio { width: 100% }
+
+ .itunes-download {
+ display: block;
+ text-align: center;
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ header {
+ padding-top: 25%;
+ }
+
+ header .category {
+ font-size: 36px;
+ font-size: 3vw;
+ }
+
+ .itunes-preview {
+ width: 60%;
+ }
+ }
+
+ }
+
+ /*
+ 3. Head or heard
+ */
+
+ [data-page="2-head-or-heart"] {
+ header {
+ height: 60%;
+ }
+
+ .title {
+ background: url(2-head-or-heart/cover-heading.svg) no-repeat;
+ background-size: contain;
+ color: transparent;
+ min-height: 140px;
+ }
+
+ .body {
+ font-family: "proxima-nova";
+ }
+
+ @media only screen and (min-width: 768px) {
+ header .title {
+ position: absolute;
+ top: 15%;
+ height: 100%;
+ width: 100%;
+ }
+
+ .body {
+ position: relative;
+ }
+ }
+
+ @media only screen and (min-width: 768px) and (orientation: portrait) {
+ header {
+ height: 30%;
+ }
+ }
+ }
+
+ /*
+ 4. Shop the shoot
+ */
+
+ [data-page="3-shop-the-shoot"],
+ [data-page="3-shop-the-shoot/1"],
+ [data-page="3-shop-the-shoot/2"] {
+ header .title {
+ height: 45px;
+ background: url('3-shop-the-shoot/heading-head-the-look.svg') no-repeat;
+ background-size: contain;
+ background-position: center;
+ color: transparent;
+ }
+
+ .cover_area {
+ background-position: top;
+ }
+ }
+
+
+ /*
+ 5. Beauty
+ */
+
+ [data-page="4-beauty"] {
+ .content header {
+ display: none;
+ }
+
+ #uncovered {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 120px;
+ }
+
+ .product-set {
+ margin: 0 auto;
+ width: 100%;
+ background-image: url('4-beauty/product-bg.png');
+ background-position: center;
+ background-size: 110%;
+ background-repeat: no-repeat;
+ }
+
+ .product-set li img {
+ visibility: hidden;
+ }
+
+ .product-set .hotspot {
+ display: block;
+ }
+
+ .product-set li:nth-child(1) .hotspot {
+ margin-top: 75px;
+ }
+
+ .product-set li:nth-child(2) .hotspot {
+ margin-top: -80px;
+ }
+
+ .product-set li:nth-child(3) .hotspot {
+ margin-top: 0;
+ }
+
+ .product-set li:nth-child(4) .hotspot {
+ margin-top: -130px;
+ }
+
+ .product-set li:nth-child(5) {
+ margin-top: -12%;
+ margin-left: 50%;
+ }
+
+ .product-set li:nth-child(5) .hotspot {
+ margin-top: -80px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ #uncovered {
+ position: absolute;
+ right: initial;
+ left: 0;
+ width: 33%;
+ }
+
+ .product-set {
+ margin: -20% 0 -10%;
+ }
+ }
+
+ @media only screen and (min-width: 768px) and (orientation: portrait) {
+ &.cover-left .content {
+ height: auto;
+ }
+
+ .content {
+ width: 100%;
+ }
+
+ .cover-area {
+ height: 50%;
+ width: 100%;
+ }
+
+ .product-set {
+ margin-top: -10%;
+ width: 40%;
+ float: left;
+ }
+
+ .body {
+ margin-left: 10%;
+ width: 50%;
+ float: left;
+ }
+
+ .product-set li:nth-child(5) {
+ margin-left: 96px;
+ }
+
+ .product-set li:nth-child(5) .hotspot {
+ margin-top: -34px;
+ }
+ }
+
+ }
+
+ [data-page="4-beauty/1"] {
+ .product-set {
+ position: relative;
+ top: initial;
+ left: initial;
+ padding: 0;
+ }
+
+ .product-set.set-4 li {
+ width: 100%;
+ height: 160px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .product-set {
+ margin: 0 -30px 0 -10px;
+ height: 100%;
+ width: 120%;
+ }
+
+ .product-set li {
+ height: 33%;
+ }
+ }
+ }
+
+ /*
+ 6. Travel
+ */
+
+ [data-page="5-travel"] {
+ background-color: black;
+
+ .title {
+ font-size: 0;
+ color: transparent;
+ background: url(5-travel/LETLOOSE.svg) no-repeat;
+ background-size: contain;
+ height: 120px;
+ margin-top: 20px;
+ }
+
+ .subtitle {
+ font-size: 20px;
+ font-family: 'proxima-nova';
+ text-shadow: 1px 1px 10px rgba(0,0,0,0.5);
+ text-align: left;
+ color: white;
+ margin-top: 20px;
+ }
+
+ .body p.description {
+ text-align: left;
+ font-weight: lighter;
+ font-size: 18px;
+ font-family: 'proxima-nova';
+ }
+
+ .content {
+ background-color: black;
+ }
+
+ &.no-content .content:before {
+ content: initial;
+ }
+
+ .credits {
+ top: 310px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .title {
+ height: 230px;
+ margin-top: 50px;
+ }
+
+ .content {
+ background-color: initial;
+ }
+
+ .credits {
+ top: initial;
+ }
+ }
+ }
+
+ [data-page="5-travel/1"] {
+ h3 {
+ font-family: "EB Garamond";
+ font-size: 16px;
+ font-style: italic;
+ }
+
+ .place {
+ font-weight: normal;
+ font-style: italic;
+ font-size: 18px;
+ text-decoration: none;
+ color: #333;
+ }
+
+ .place a {
+ font-weight: bold;
+ }
+
+
+ .content .subtitle {
+ font-style: normal;
+ font-size: 14px;
+ }
+
+ .content .subtitle em {
+ color: #111;
+ font-size: 18px;
+ }
+ }
+
+ /*
+ 7. Behind the scene
+ */
+
+ [data-page="6-behind-the-scene"] {
+ header {
+ padding-top: 15%;
+ margin-right: 20px;
+ }
+
+ h1.title {
+ color: transparent;
+ background: url("6-behind-the-scene/cover-heading.svg") no-repeat;
+ background-size: contain;
+ background-position: right;
+ height: 0;
+ padding-bottom: 28%;
+ }
+
+ .description {
+ font-family: 'proxima-nova';
+ font-size: 18px;
+ margin-top: 0px;
+ text-align: right;
+ }
+ }
+
+ [data-page="6-behind-the-scene/1"] {
+ overflow-y: auto;
+ }
+
+ /*
+ Backcover
+ */
+
+ [data-page=backcover] {
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+
+ .cover-area {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ }
+
+ .title {
+ display: none;
+ }
+
+ .content {
+ margin: 0;
+ max-width: initial;
+ max-height: initial;
+ width: 100%;
+ height: 100%;
+ }
+
+ .content figure.image {
+ position: absolute;
+ bottom: 10%;
+ left: 50%;
+ margin-left: -150px;
+ max-width: initial;
+ max-height: initial;
+ width: 300px;
+ z-index: 1;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content figure.image {
+ left: 50%;
+ margin-left: -300px;
+ width: 640px;
+ }
+ }
+ }
+
+ /* Interactive */
+
+
+ /*
+ Geotargetting
+ */
+
+ .target-au .global {
+ display: none;
+ }
+
+ .target-global .au {
+ display: none;
+ }
+
+ /* Music player */
+ .cp-container {
+ margin: 0 auto;
+ }
+
+ article.rainbow .product-set li .hotspot .tag {
+ -webkit-transform: scale(1);
+ -moz-transform: scale(1);
+ transform: scale(1) ;
+
+ color: transparent;
+ transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ -moz-transition: all 0.3s;
+
+ animation: rainbow linear 10s infinite alternate;
+
+ -webkit-backface-visibility: hidden;
+ -webkit-animation: rainbow linear 10s infinite alternate; /* Safari and Chrome */
+
+ -moz-animation: rainbow linear 10s infinite alternate; /* Firefox */
+ }
+
+ /*article.rainbow .product-set li .hotspot:active .tag,*/
+ article.rainbow .product-set li .hotspot:hover .tag {
+ z-index: 999;
+ color: white;
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5) ;
+ }
+
+ article.rainbow .product-set li:nth-child(odd) .hotspot .tag {
+ background-color: #00dcff;
+ -webkit-animation-delay: 0.5s;
+ animation-delay: 0.5s;
+ }
+
+ article.rainbow .product-set li:nth-child(even) .hotspot .tag {
+ background-color: #ff5300;
+ -webkit-animation-delay: 0.7s;
+ animation-delay: 0.7s;
+ }
+
+ article.rainbow .product-set li:nth-child(3n) .hotspot .tag {
+ -webkit-animation-delay: 2s;
+ animation-delay: 2s;
+ }
+
+ article.five-shades .product-set li .hotspot .tag {
+ color: transparent;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+
+ animation: five-shades linear 8s infinite alternate;
+
+ -webkit-backface-visibility: hidden;
+ -webkit-animation: five-shades linear 8s infinite alternate; /* Safari and Chrome */
+ -moz-animation: five-shades linear 8s infinite alternate; /* Firefox */
+ }
+
+ article.five-shades .product-set li .hotspot:active .tag,
+ article.five-shades .product-set li .hotspot:hover .tag {
+ z-index: 999;
+ color: white;
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+
+ article.five-shades .product-set li:nth-child(odd) .hotspot .tag {
+ background-color: #f080a1;
+ -webkit-animation-delay: 0.5s;
+ animation-delay: 0.5s;
+ }
+
+ article.five-shades .product-set li:nth-child(even) .hotspot .tag {
+ background-color: #ff9ebb;
+ -webkit-animation-delay: 0.7s;
+ animation-delay: 0.7s;
+ }
+
+ article.five-shades .product-set li:nth-child(3n) .hotspot .tag {
+ -webkit-animation-delay: 2s;
+ animation-delay: 2s;
+ }
+
+ /*
+ Polaroid
+ */
+
+ article.page ul.polaroids {
+ margin: 0;
+ padding: 0;
+ }
+
+ .polaroid-wrap {
+ list-style: none;
+ display: inline-block;
+ max-width: 48%;
+ }
+
+ figure.polaroid {
+ display: inline;
+ float: left;
+ margin: 0;
+ max-width: 80%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ -webkit-transition: all .15s linear;
+ -moz-transition: all .15s linear;
+ transition: all .15s linear;
+
+ -webkit-transform: rotate(-2deg);
+ -moz-transform: rotate(-2deg);
+ transform: rotate(-2deg);
+
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -5% 5%;
+ padding-left: 20px;
+ max-width: 24%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap {
+ display: inline;
+ max-width: initial;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(4) figure {
+ clear: left;
+ }
+
+ .polaroid-wrap:nth-child(5) figure {
+ position: relative;
+ left: 2vh;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+
+ .polaroid-wrap:nth-child(8) figure {
+ position: relative;
+ top: -5vh;
+ left: 1vh;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+
+ .polaroid-wrap:nth-child(11) figure {
+ position: relative;
+
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+
+ img {
+ padding: 0;
+ }
+ }
+
+ .polaroid-wrap:nth-child(12) figure {
+ position: relative;
+ top: -20vh;
+ left: 5vh;
+ margin: 0;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+
+ .polaroid-wrap:nth-child(13) figure {
+ position: relative;
+ top: -12vh;
+ left: 10vh;
+ margin: 0;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+
+}
diff --git a/issues/music/assets/ed-cover.jpg b/issues/music/assets/ed-cover.jpg
index db79de6f..8f85d40e 100644
Binary files a/issues/music/assets/ed-cover.jpg and b/issues/music/assets/ed-cover.jpg differ
diff --git a/issues/music/assets/fonts/rodondo-webfont.eot b/issues/music/assets/fonts/rodondo-webfont.eot
deleted file mode 100755
index 1bb77c63..00000000
Binary files a/issues/music/assets/fonts/rodondo-webfont.eot and /dev/null differ
diff --git a/issues/music/assets/fonts/rodondo-webfont.svg b/issues/music/assets/fonts/rodondo-webfont.svg
deleted file mode 100755
index 5df0eed0..00000000
--- a/issues/music/assets/fonts/rodondo-webfont.svg
+++ /dev/null
@@ -1,797 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/issues/music/assets/headorheart_RodondoOUTLINEwhite.svg.REMOVED.git-id b/issues/music/assets/headorheart_RodondoOUTLINEwhite.svg.REMOVED.git-id
deleted file mode 100644
index c2ed48a2..00000000
--- a/issues/music/assets/headorheart_RodondoOUTLINEwhite.svg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d3a3ae33ced219d24dce6541beec57aba3485385
\ No newline at end of file
diff --git a/issues/music/assets/icon.png b/issues/music/assets/icon.png
new file mode 100644
index 00000000..97b9e00f
Binary files /dev/null and b/issues/music/assets/icon.png differ
diff --git a/issues/music/assets/icon.png.REMOVED.git-id b/issues/music/assets/icon.png.REMOVED.git-id
deleted file mode 100644
index a2bdd8c3..00000000
--- a/issues/music/assets/icon.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2fcb0bcf5141b9be8f50b7f30dbdead9e7eead6d
\ No newline at end of file
diff --git a/issues/music/assets/jplayer/circle.player.js b/issues/music/assets/jplayer/circle.player.js
index 8e1a15ea..0c32c389 100755
--- a/issues/music/assets/jplayer/circle.player.js
+++ b/issues/music/assets/jplayer/circle.player.js
@@ -25,7 +25,7 @@
* Standing on the shoulders of :
* John Resig @jresig
* Mark Panaghiston @thepag
- * Louis-Rémi Babé @Louis_Remi
+ * Louis-R'emi Bab'e @Louis_Remi
*/
diff --git a/issues/music/assets/jplayer/jquery.jplayer.js b/issues/music/assets/jplayer/jquery.jplayer.js
new file mode 100755
index 00000000..09ce64aa
--- /dev/null
+++ b/issues/music/assets/jplayer/jquery.jplayer.js
@@ -0,0 +1,3013 @@
+/*
+ * jPlayer Plugin for jQuery JavaScript Library
+ * http://www.jplayer.org
+ *
+ * Copyright (c) 2009 - 2014 Happyworm Ltd
+ * Licensed under the MIT license.
+ * http://opensource.org/licenses/MIT
+ *
+ * Author: Mark J Panaghiston
+ * Version: 2.5.4
+ * Date: 9th January 2014
+ */
+
+/* Code verified using http://www.jshint.com/ */
+/*jshint asi:false, bitwise:false, boss:false, browser:true, curly:true, debug:false, eqeqeq:true, eqnull:false, evil:false, forin:false, immed:false, jquery:true, laxbreak:false, newcap:true, noarg:true, noempty:true, nonew:true, onevar:false, passfail:false, plusplus:false, regexp:false, undef:true, sub:false, strict:false, white:false, smarttabs:true */
+/*global define:false, ActiveXObject:false, alert:false */
+
+/* Support for Zepto 1.0 compiled with optional data module.
+ * For AMD support, you will need to manually switch the 2 lines in the code below.
+ * Search terms: "jQuery Switch" and "Zepto Switch"
+ */
+
+(function (root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(['jquery'], factory); // jQuery Switch
+ // define(['zepto'], factory); // Zepto Switch
+ } else {
+ // Browser globals
+ if(root.jQuery) { // Use jQuery if available
+ factory(root.jQuery);
+ } else { // Otherwise, use Zepto
+ factory(root.Zepto);
+ }
+ }
+}(this, function ($, undefined) {
+
+ // Adapted from jquery.ui.widget.js (1.8.7): $.widget.bridge - Tweaked $.data(this,XYZ) to $(this).data(XYZ) for Zepto
+ $.fn.jPlayer = function( options ) {
+ var name = "jPlayer";
+ var isMethodCall = typeof options === "string",
+ args = Array.prototype.slice.call( arguments, 1 ),
+ returnValue = this;
+
+ // allow multiple hashes to be passed on init
+ options = !isMethodCall && args.length ?
+ $.extend.apply( null, [ true, options ].concat(args) ) :
+ options;
+
+ // prevent calls to internal methods
+ if ( isMethodCall && options.charAt( 0 ) === "_" ) {
+ return returnValue;
+ }
+
+ if ( isMethodCall ) {
+ this.each(function() {
+ var instance = $(this).data( name ),
+ methodValue = instance && $.isFunction( instance[options] ) ?
+ instance[ options ].apply( instance, args ) :
+ instance;
+ if ( methodValue !== instance && methodValue !== undefined ) {
+ returnValue = methodValue;
+ return false;
+ }
+ });
+ } else {
+ this.each(function() {
+ var instance = $(this).data( name );
+ if ( instance ) {
+ // instance.option( options || {} )._init(); // Orig jquery.ui.widget.js code: Not recommend for jPlayer. ie., Applying new options to an existing instance (via the jPlayer constructor) and performing the _init(). The _init() is what concerns me. It would leave a lot of event handlers acting on jPlayer instance and the interface.
+ instance.option( options || {} ); // The new constructor only changes the options. Changing options only has basic support atm.
+ } else {
+ $(this).data( name, new $.jPlayer( options, this ) );
+ }
+ });
+ }
+
+ return returnValue;
+ };
+
+ $.jPlayer = function( options, element ) {
+ // allow instantiation without initializing for simple inheritance
+ if ( arguments.length ) {
+ this.element = $(element);
+ this.options = $.extend(true, {},
+ this.options,
+ options
+ );
+ var self = this;
+ this.element.bind( "remove.jPlayer", function() {
+ self.destroy();
+ });
+ this._init();
+ }
+ };
+ // End of: (Adapted from jquery.ui.widget.js (1.8.7))
+
+ // Zepto is missing one of the animation methods.
+ if(typeof $.fn.stop !== 'function') {
+ $.fn.stop = function() {};
+ }
+
+ // Emulated HTML5 methods and properties
+ $.jPlayer.emulateMethods = "load play pause";
+ $.jPlayer.emulateStatus = "src readyState networkState currentTime duration paused ended playbackRate";
+ $.jPlayer.emulateOptions = "muted volume";
+
+ // Reserved event names generated by jPlayer that are not part of the HTML5 Media element spec
+ $.jPlayer.reservedEvent = "ready flashreset resize repeat error warning";
+
+ // Events generated by jPlayer
+ $.jPlayer.event = {};
+ $.each(
+ [
+ 'ready',
+ 'flashreset', // Similar to the ready event if the Flash solution is set to display:none and then shown again or if it's reloaded for another reason by the browser. For example, using CSS position:fixed on Firefox for the full screen feature.
+ 'resize', // Occurs when the size changes through a full/restore screen operation or if the size/sizeFull options are changed.
+ 'repeat', // Occurs when the repeat status changes. Usually through clicks on the repeat button of the interface.
+ 'click', // Occurs when the user clicks on one of the following: poster image, html video, flash video.
+ 'error', // Event error code in event.jPlayer.error.type. See $.jPlayer.error
+ 'warning', // Event warning code in event.jPlayer.warning.type. See $.jPlayer.warning
+
+ // Other events match HTML5 spec.
+ 'loadstart',
+ 'progress',
+ 'suspend',
+ 'abort',
+ 'emptied',
+ 'stalled',
+ 'play',
+ 'pause',
+ 'loadedmetadata',
+ 'loadeddata',
+ 'waiting',
+ 'playing',
+ 'canplay',
+ 'canplaythrough',
+ 'seeking',
+ 'seeked',
+ 'timeupdate',
+ 'ended',
+ 'ratechange',
+ 'durationchange',
+ 'volumechange'
+ ],
+ function() {
+ $.jPlayer.event[ this ] = 'jPlayer_' + this;
+ }
+ );
+
+ $.jPlayer.htmlEvent = [ // These HTML events are bubbled through to the jPlayer event, without any internal action.
+ "loadstart",
+ // "progress", // jPlayer uses internally before bubbling.
+ // "suspend", // jPlayer uses internally before bubbling.
+ "abort",
+ // "error", // jPlayer uses internally before bubbling.
+ "emptied",
+ "stalled",
+ // "play", // jPlayer uses internally before bubbling.
+ // "pause", // jPlayer uses internally before bubbling.
+ "loadedmetadata",
+ "loadeddata",
+ // "waiting", // jPlayer uses internally before bubbling.
+ // "playing", // jPlayer uses internally before bubbling.
+ "canplay",
+ "canplaythrough"
+ // "seeking", // jPlayer uses internally before bubbling.
+ // "seeked", // jPlayer uses internally before bubbling.
+ // "timeupdate", // jPlayer uses internally before bubbling.
+ // "ended", // jPlayer uses internally before bubbling.
+ // "ratechange" // jPlayer uses internally before bubbling.
+ // "durationchange" // jPlayer uses internally before bubbling.
+ // "volumechange" // jPlayer uses internally before bubbling.
+ ];
+
+ $.jPlayer.pause = function() {
+ $.each($.jPlayer.prototype.instances, function(i, element) {
+ if(element.data("jPlayer").status.srcSet) { // Check that media is set otherwise would cause error event.
+ element.jPlayer("pause");
+ }
+ });
+ };
+
+ // Default for jPlayer option.timeFormat
+ $.jPlayer.timeFormat = {
+ showHour: false,
+ showMin: true,
+ showSec: true,
+ padHour: false,
+ padMin: true,
+ padSec: true,
+ sepHour: ":",
+ sepMin: ":",
+ sepSec: ""
+ };
+ var ConvertTime = function() {
+ this.init();
+ };
+ ConvertTime.prototype = {
+ init: function() {
+ this.options = {
+ timeFormat: $.jPlayer.timeFormat
+ };
+ },
+ time: function(s) { // function used on jPlayer.prototype._convertTime to enable per instance options.
+ s = (s && typeof s === 'number') ? s : 0;
+
+ var myTime = new Date(s * 1000),
+ hour = myTime.getUTCHours(),
+ min = this.options.timeFormat.showHour ? myTime.getUTCMinutes() : myTime.getUTCMinutes() + hour * 60,
+ sec = this.options.timeFormat.showMin ? myTime.getUTCSeconds() : myTime.getUTCSeconds() + min * 60,
+ strHour = (this.options.timeFormat.padHour && hour < 10) ? "0" + hour : hour,
+ strMin = (this.options.timeFormat.padMin && min < 10) ? "0" + min : min,
+ strSec = (this.options.timeFormat.padSec && sec < 10) ? "0" + sec : sec,
+ strTime = "";
+
+ strTime += this.options.timeFormat.showHour ? strHour + this.options.timeFormat.sepHour : "";
+ strTime += this.options.timeFormat.showMin ? strMin + this.options.timeFormat.sepMin : "";
+ strTime += this.options.timeFormat.showSec ? strSec + this.options.timeFormat.sepSec : "";
+
+ return strTime;
+ }
+ };
+ var myConvertTime = new ConvertTime();
+ $.jPlayer.convertTime = function(s) {
+ return myConvertTime.time(s);
+ };
+
+ // Adapting jQuery 1.4.4 code for jQuery.browser. Required since jQuery 1.3.2 does not detect Chrome as webkit.
+ $.jPlayer.uaBrowser = function( userAgent ) {
+ var ua = userAgent.toLowerCase();
+
+ // Useragent RegExp
+ var rwebkit = /(webkit)[ \/]([\w.]+)/;
+ var ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/;
+ var rmsie = /(msie) ([\w.]+)/;
+ var rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/;
+
+ var match = rwebkit.exec( ua ) ||
+ ropera.exec( ua ) ||
+ rmsie.exec( ua ) ||
+ ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
+ [];
+
+ return { browser: match[1] || "", version: match[2] || "0" };
+ };
+
+ // Platform sniffer for detecting mobile devices
+ $.jPlayer.uaPlatform = function( userAgent ) {
+ var ua = userAgent.toLowerCase();
+
+ // Useragent RegExp
+ var rplatform = /(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/;
+ var rtablet = /(ipad|playbook)/;
+ var randroid = /(android)/;
+ var rmobile = /(mobile)/;
+
+ var platform = rplatform.exec( ua ) || [];
+ var tablet = rtablet.exec( ua ) ||
+ !rmobile.exec( ua ) && randroid.exec( ua ) ||
+ [];
+
+ if(platform[1]) {
+ platform[1] = platform[1].replace(/\s/g, "_"); // Change whitespace to underscore. Enables dot notation.
+ }
+
+ return { platform: platform[1] || "", tablet: tablet[1] || "" };
+ };
+
+ $.jPlayer.browser = {
+ };
+ $.jPlayer.platform = {
+ };
+
+ var browserMatch = $.jPlayer.uaBrowser(navigator.userAgent);
+ if ( browserMatch.browser ) {
+ $.jPlayer.browser[ browserMatch.browser ] = true;
+ $.jPlayer.browser.version = browserMatch.version;
+ }
+ var platformMatch = $.jPlayer.uaPlatform(navigator.userAgent);
+ if ( platformMatch.platform ) {
+ $.jPlayer.platform[ platformMatch.platform ] = true;
+ $.jPlayer.platform.mobile = !platformMatch.tablet;
+ $.jPlayer.platform.tablet = !!platformMatch.tablet;
+ }
+
+ // Internet Explorer (IE) Browser Document Mode Sniffer. Based on code at:
+ // http://msdn.microsoft.com/en-us/library/cc288325%28v=vs.85%29.aspx#GetMode
+ $.jPlayer.getDocMode = function() {
+ var docMode;
+ if ($.jPlayer.browser.msie) {
+ if (document.documentMode) { // IE8 or later
+ docMode = document.documentMode;
+ } else { // IE 5-7
+ docMode = 5; // Assume quirks mode unless proven otherwise
+ if (document.compatMode) {
+ if (document.compatMode === "CSS1Compat") {
+ docMode = 7; // standards mode
+ }
+ }
+ }
+ }
+ return docMode;
+ };
+ $.jPlayer.browser.documentMode = $.jPlayer.getDocMode();
+
+ $.jPlayer.nativeFeatures = {
+ init: function() {
+
+ /* Fullscreen function naming influenced by W3C naming.
+ * No support for: Mozilla Proposal: https://wiki.mozilla.org/Gecko:FullScreenAPI
+ */
+
+ var d = document,
+ v = d.createElement('video'),
+ spec = {
+ // http://www.w3.org/TR/fullscreen/
+ w3c: [
+ 'fullscreenEnabled',
+ 'fullscreenElement',
+ 'requestFullscreen',
+ 'exitFullscreen',
+ 'fullscreenchange',
+ 'fullscreenerror'
+ ],
+ // https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode
+ moz: [
+ 'mozFullScreenEnabled',
+ 'mozFullScreenElement',
+ 'mozRequestFullScreen',
+ 'mozCancelFullScreen',
+ 'mozfullscreenchange',
+ 'mozfullscreenerror'
+ ],
+ // http://developer.apple.com/library/safari/#documentation/WebKit/Reference/ElementClassRef/Element/Element.html
+ // http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html
+ webkit: [
+ '',
+ 'webkitCurrentFullScreenElement',
+ 'webkitRequestFullScreen',
+ 'webkitCancelFullScreen',
+ 'webkitfullscreenchange',
+ ''
+ ],
+ // http://developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLVideoElementClassReference/HTMLVideoElement/HTMLVideoElement.html
+ // https://developer.apple.com/library/safari/samplecode/HTML5VideoEventFlow/Listings/events_js.html#//apple_ref/doc/uid/DTS40010085-events_js-DontLinkElementID_5
+ // Events: 'webkitbeginfullscreen' and 'webkitendfullscreen'
+ webkitVideo: [
+ 'webkitSupportsFullscreen',
+ 'webkitDisplayingFullscreen',
+ 'webkitEnterFullscreen',
+ 'webkitExitFullscreen',
+ '',
+ ''
+ ]
+ },
+ specOrder = [
+ 'w3c',
+ 'moz',
+ 'webkit',
+ 'webkitVideo'
+ ],
+ fs, i, il;
+
+ this.fullscreen = fs = {
+ support: {
+ w3c: !!d[spec.w3c[0]],
+ moz: !!d[spec.moz[0]],
+ webkit: typeof d[spec.webkit[3]] === 'function',
+ webkitVideo: typeof v[spec.webkitVideo[2]] === 'function'
+ },
+ used: {}
+ };
+
+ // Store the name of the spec being used and as a handy boolean.
+ for(i = 0, il = specOrder.length; i < il; i++) {
+ var n = specOrder[i];
+ if(fs.support[n]) {
+ fs.spec = n;
+ fs.used[n] = true;
+ break;
+ }
+ }
+
+ if(fs.spec) {
+ var s = spec[fs.spec];
+ fs.api = {
+ fullscreenEnabled: true,
+ fullscreenElement: function(elem) {
+ elem = elem ? elem : d; // Video element required for webkitVideo
+ return elem[s[1]];
+ },
+ requestFullscreen: function(elem) {
+ return elem[s[2]]();
+ },
+ exitFullscreen: function(elem) {
+ elem = elem ? elem : d; // Video element required for webkitVideo
+ return elem[s[3]]();
+ }
+ };
+ fs.event = {
+ fullscreenchange: s[4],
+ fullscreenerror: s[5]
+ };
+ } else {
+ fs.api = {
+ fullscreenEnabled: false,
+ fullscreenElement: function() {
+ return null;
+ },
+ requestFullscreen: function() {},
+ exitFullscreen: function() {}
+ };
+ fs.event = {};
+ }
+ }
+ };
+ $.jPlayer.nativeFeatures.init();
+
+ // The keyboard control system.
+
+ // The current jPlayer instance in focus.
+ $.jPlayer.focus = null;
+
+ // The list of element node names to ignore with key controls.
+ $.jPlayer.keyIgnoreElementNames = "INPUT TEXTAREA";
+
+ // The function that deals with key presses.
+ var keyBindings = function(event) {
+
+ var f = $.jPlayer.focus,
+ ignoreKey;
+
+ // A jPlayer instance must be in focus. ie., keyEnabled and the last one played.
+ if(f) {
+ // What generated the key press?
+ $.each( $.jPlayer.keyIgnoreElementNames.split(/\s+/g), function(i, name) {
+ // The strings should already be uppercase.
+ if(event.target.nodeName.toUpperCase() === name.toUpperCase()) {
+ ignoreKey = true;
+ return false; // exit each.
+ }
+ });
+ if(!ignoreKey) {
+ // See if the key pressed matches any of the bindings.
+ $.each(f.options.keyBindings, function(action, binding) {
+ // The binding could be a null when the default has been disabled. ie., 1st clause in if()
+ if(binding && event.which === binding.key && $.isFunction(binding.fn)) {
+ event.preventDefault(); // Key being used by jPlayer, so prevent default operation.
+ binding.fn(f);
+ return false; // exit each.
+ }
+ });
+ }
+ }
+ };
+
+ $.jPlayer.keys = function(en) {
+ var event = "keydown.jPlayer";
+ // Remove any binding, just in case enabled more than once.
+ $(document.documentElement).unbind(event);
+ if(en) {
+ $(document.documentElement).bind(event, keyBindings);
+ }
+ };
+
+ // Enable the global key control handler ready for any jPlayer instance with the keyEnabled option enabled.
+ $.jPlayer.keys(true);
+
+ $.jPlayer.prototype = {
+ count: 0, // Static Variable: Change it via prototype.
+ version: { // Static Object
+ script: "2.5.4",
+ needFlash: "2.5.2",
+ flash: "unknown"
+ },
+ options: { // Instanced in $.jPlayer() constructor
+ swfPath: "js", // Path to Jplayer.swf. Can be relative, absolute or server root relative.
+ solution: "html, flash", // Valid solutions: html, flash. Order defines priority. 1st is highest,
+ supplied: "mp3", // Defines which formats jPlayer will try and support and the priority by the order. 1st is highest,
+ preload: 'metadata', // HTML5 Spec values: none, metadata, auto.
+ volume: 0.8, // The volume. Number 0 to 1.
+ muted: false,
+ playbackRate: 1,
+ defaultPlaybackRate: 1,
+ minPlaybackRate: 0.5,
+ maxPlaybackRate: 4,
+ wmode: "opaque", // Valid wmode: window, transparent, opaque, direct, gpu.
+ backgroundColor: "#000000", // To define the jPlayer div and Flash background color.
+ cssSelectorAncestor: "#jp_container_1",
+ cssSelector: { // * denotes properties that should only be required when video media type required. _cssSelector() would require changes to enable splitting these into Audio and Video defaults.
+ videoPlay: ".jp-video-play", // *
+ play: ".jp-play",
+ pause: ".jp-pause",
+ stop: ".jp-stop",
+ seekBar: ".jp-seek-bar",
+ playBar: ".jp-play-bar",
+ mute: ".jp-mute",
+ unmute: ".jp-unmute",
+ volumeBar: ".jp-volume-bar",
+ volumeBarValue: ".jp-volume-bar-value",
+ volumeMax: ".jp-volume-max",
+ playbackRateBar: ".jp-playback-rate-bar",
+ playbackRateBarValue: ".jp-playback-rate-bar-value",
+ currentTime: ".jp-current-time",
+ duration: ".jp-duration",
+ fullScreen: ".jp-full-screen", // *
+ restoreScreen: ".jp-restore-screen", // *
+ repeat: ".jp-repeat",
+ repeatOff: ".jp-repeat-off",
+ gui: ".jp-gui", // The interface used with autohide feature.
+ noSolution: ".jp-no-solution" // For error feedback when jPlayer cannot find a solution.
+ },
+ smoothPlayBar: false, // Smooths the play bar transitions, which affects clicks and short media with big changes per second.
+ fullScreen: false, // Native Full Screen
+ fullWindow: false,
+ autohide: {
+ restored: false, // Controls the interface autohide feature.
+ full: true, // Controls the interface autohide feature.
+ fadeIn: 200, // Milliseconds. The period of the fadeIn anim.
+ fadeOut: 600, // Milliseconds. The period of the fadeOut anim.
+ hold: 1000 // Milliseconds. The period of the pause before autohide beings.
+ },
+ loop: false,
+ repeat: function(event) { // The default jPlayer repeat event handler
+ if(event.jPlayer.options.loop) {
+ $(this).unbind(".jPlayerRepeat").bind($.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function() {
+ $(this).jPlayer("play");
+ });
+ } else {
+ $(this).unbind(".jPlayerRepeat");
+ }
+ },
+ nativeVideoControls: {
+ // Works well on standard browsers.
+ // Phone and tablet browsers can have problems with the controls disappearing.
+ },
+ noFullWindow: {
+ msie: /msie [0-6]\./,
+ ipad: /ipad.*?os [0-4]\./,
+ iphone: /iphone/,
+ ipod: /ipod/,
+ android_pad: /android [0-3]\.(?!.*?mobile)/,
+ android_phone: /android.*?mobile/,
+ blackberry: /blackberry/,
+ windows_ce: /windows ce/,
+ iemobile: /iemobile/,
+ webos: /webos/
+ },
+ noVolume: {
+ ipad: /ipad/,
+ iphone: /iphone/,
+ ipod: /ipod/,
+ android_pad: /android(?!.*?mobile)/,
+ android_phone: /android.*?mobile/,
+ blackberry: /blackberry/,
+ windows_ce: /windows ce/,
+ iemobile: /iemobile/,
+ webos: /webos/,
+ playbook: /playbook/
+ },
+ timeFormat: {
+ // Specific time format for this instance. The supported options are defined in $.jPlayer.timeFormat
+ // For the undefined options we use the default from $.jPlayer.timeFormat
+ },
+ keyEnabled: false, // Enables keyboard controls.
+ audioFullScreen: false, // Enables keyboard controls to enter full screen with audio media.
+ keyBindings: { // The key control object, defining the key codes and the functions to execute.
+ // The parameter, f = $.jPlayer.focus, will be checked truethy before attempting to call any of these functions.
+ // Properties may be added to this object, in key/fn pairs, to enable other key controls. EG, for the playlist add-on.
+ play: {
+ key: 32, // space
+ fn: function(f) {
+ if(f.status.paused) {
+ f.play();
+ } else {
+ f.pause();
+ }
+ }
+ },
+ fullScreen: {
+ key: 13, // enter
+ fn: function(f) {
+ if(f.status.video || f.options.audioFullScreen) {
+ f._setOption("fullScreen", !f.options.fullScreen);
+ }
+ }
+ },
+ muted: {
+ key: 8, // backspace
+ fn: function(f) {
+ f._muted(!f.options.muted);
+ }
+ },
+ volumeUp: {
+ key: 38, // UP
+ fn: function(f) {
+ f.volume(f.options.volume + 0.1);
+ }
+ },
+ volumeDown: {
+ key: 40, // DOWN
+ fn: function(f) {
+ f.volume(f.options.volume - 0.1);
+ }
+ }
+ },
+ verticalVolume: false, // Calculate volume from the bottom of the volume bar. Default is from the left. Also volume affects either width or height.
+ verticalPlaybackRate: false,
+ globalVolume: false, // Set to make volume and muted changes affect all jPlayer instances with this option enabled
+ idPrefix: "jp", // Prefix for the ids of html elements created by jPlayer. For flash, this must not include characters: . - + * / \
+ noConflict: "jQuery",
+ emulateHtml: false, // Emulates the HTML5 Media element on the jPlayer element.
+ consoleAlerts: true, // Alerts are sent to the console.log() instead of alert().
+ errorAlerts: false,
+ warningAlerts: false
+ },
+ optionsAudio: {
+ size: {
+ width: "0px",
+ height: "0px",
+ cssClass: ""
+ },
+ sizeFull: {
+ width: "0px",
+ height: "0px",
+ cssClass: ""
+ }
+ },
+ optionsVideo: {
+ size: {
+ width: "480px",
+ height: "270px",
+ cssClass: "jp-video-270p"
+ },
+ sizeFull: {
+ width: "100%",
+ height: "100%",
+ cssClass: "jp-video-full"
+ }
+ },
+ instances: {}, // Static Object
+ status: { // Instanced in _init()
+ src: "",
+ media: {},
+ paused: true,
+ format: {},
+ formatType: "",
+ waitForPlay: true, // Same as waitForLoad except in case where preloading.
+ waitForLoad: true,
+ srcSet: false,
+ video: false, // True if playing a video
+ seekPercent: 0,
+ currentPercentRelative: 0,
+ currentPercentAbsolute: 0,
+ currentTime: 0,
+ duration: 0,
+ videoWidth: 0, // Intrinsic width of the video in pixels.
+ videoHeight: 0, // Intrinsic height of the video in pixels.
+ readyState: 0,
+ networkState: 0,
+ playbackRate: 1, // Warning - Now both an option and a status property
+ ended: 0
+
+/* Persistant status properties created dynamically at _init():
+ width
+ height
+ cssClass
+ nativeVideoControls
+ noFullWindow
+ noVolume
+ playbackRateEnabled // Warning - Technically, we can have both Flash and HTML, so this might not be correct if the Flash is active. That is a niche case.
+*/
+ },
+
+ internal: { // Instanced in _init()
+ ready: false
+ // instance: undefined
+ // domNode: undefined
+ // htmlDlyCmdId: undefined
+ // autohideId: undefined
+ // cmdsIgnored
+ },
+ solution: { // Static Object: Defines the solutions built in jPlayer.
+ html: true,
+ flash: true
+ },
+ // 'MPEG-4 support' : canPlayType('video/mp4; codecs="mp4v.20.8"')
+ format: { // Static Object
+ mp3: {
+ codec: 'audio/mpeg; codecs="mp3"',
+ flashCanPlay: true,
+ media: 'audio'
+ },
+ m4a: { // AAC / MP4
+ codec: 'audio/mp4; codecs="mp4a.40.2"',
+ flashCanPlay: true,
+ media: 'audio'
+ },
+ m3u8a: { // AAC / MP4 / Apple HLS
+ codec: 'application/vnd.apple.mpegurl; codecs="mp4a.40.2"',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ m3ua: { // M3U
+ codec: 'audio/mpegurl',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ oga: { // OGG
+ codec: 'audio/ogg; codecs="vorbis, opus"',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ flac: { // FLAC
+ codec: 'audio/x-flac',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ wav: { // PCM
+ codec: 'audio/wav; codecs="1"',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ webma: { // WEBM
+ codec: 'audio/webm; codecs="vorbis"',
+ flashCanPlay: false,
+ media: 'audio'
+ },
+ fla: { // FLV / F4A
+ codec: 'audio/x-flv',
+ flashCanPlay: true,
+ media: 'audio'
+ },
+ rtmpa: { // RTMP AUDIO
+ codec: 'audio/rtmp; codecs="rtmp"',
+ flashCanPlay: true,
+ media: 'audio'
+ },
+ m4v: { // H.264 / MP4
+ codec: 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',
+ flashCanPlay: true,
+ media: 'video'
+ },
+ m3u8v: { // H.264 / AAC / MP4 / Apple HLS
+ codec: 'application/vnd.apple.mpegurl; codecs="avc1.42E01E, mp4a.40.2"',
+ flashCanPlay: false,
+ media: 'video'
+ },
+ m3uv: { // M3U
+ codec: 'audio/mpegurl',
+ flashCanPlay: false,
+ media: 'video'
+ },
+ ogv: { // OGG
+ codec: 'video/ogg; codecs="theora, vorbis"',
+ flashCanPlay: false,
+ media: 'video'
+ },
+ webmv: { // WEBM
+ codec: 'video/webm; codecs="vorbis, vp8"',
+ flashCanPlay: false,
+ media: 'video'
+ },
+ flv: { // FLV / F4V
+ codec: 'video/x-flv',
+ flashCanPlay: true,
+ media: 'video'
+ },
+ rtmpv: { // RTMP VIDEO
+ codec: 'video/rtmp; codecs="rtmp"',
+ flashCanPlay: true,
+ media: 'video'
+ }
+ },
+ _init: function() {
+ var self = this;
+
+ this.element.empty();
+
+ this.status = $.extend({}, this.status); // Copy static to unique instance.
+ this.internal = $.extend({}, this.internal); // Copy static to unique instance.
+
+ // Initialize the time format
+ this.options.timeFormat = $.extend({}, $.jPlayer.timeFormat, this.options.timeFormat);
+
+ // On iOS, assume commands will be ignored before user initiates them.
+ this.internal.cmdsIgnored = $.jPlayer.platform.ipad || $.jPlayer.platform.iphone || $.jPlayer.platform.ipod;
+
+ this.internal.domNode = this.element.get(0);
+
+ // Add key bindings focus to 1st jPlayer instanced with key control enabled.
+ if(this.options.keyEnabled && !$.jPlayer.focus) {
+ $.jPlayer.focus = this;
+ }
+
+ this.formats = []; // Array based on supplied string option. Order defines priority.
+ this.solutions = []; // Array based on solution string option. Order defines priority.
+ this.require = {}; // Which media types are required: video, audio.
+
+ this.htmlElement = {}; // DOM elements created by jPlayer
+ this.html = {}; // In _init()'s this.desired code and setmedia(): Accessed via this[solution], where solution from this.solutions array.
+ this.html.audio = {};
+ this.html.video = {};
+ this.flash = {}; // In _init()'s this.desired code and setmedia(): Accessed via this[solution], where solution from this.solutions array.
+
+ this.css = {};
+ this.css.cs = {}; // Holds the css selector strings
+ this.css.jq = {}; // Holds jQuery selectors. ie., $(css.cs.method)
+
+ this.ancestorJq = []; // Holds jQuery selector of cssSelectorAncestor. Init would use $() instead of [], but it is only 1.4+
+
+ this.options.volume = this._limitValue(this.options.volume, 0, 1); // Limit volume value's bounds.
+
+ // Create the formats array, with prority based on the order of the supplied formats string
+ $.each(this.options.supplied.toLowerCase().split(","), function(index1, value1) {
+ var format = value1.replace(/^\s+|\s+$/g, ""); //trim
+ if(self.format[format]) { // Check format is valid.
+ var dupFound = false;
+ $.each(self.formats, function(index2, value2) { // Check for duplicates
+ if(format === value2) {
+ dupFound = true;
+ return false;
+ }
+ });
+ if(!dupFound) {
+ self.formats.push(format);
+ }
+ }
+ });
+
+ // Create the solutions array, with prority based on the order of the solution string
+ $.each(this.options.solution.toLowerCase().split(","), function(index1, value1) {
+ var solution = value1.replace(/^\s+|\s+$/g, ""); //trim
+ if(self.solution[solution]) { // Check solution is valid.
+ var dupFound = false;
+ $.each(self.solutions, function(index2, value2) { // Check for duplicates
+ if(solution === value2) {
+ dupFound = true;
+ return false;
+ }
+ });
+ if(!dupFound) {
+ self.solutions.push(solution);
+ }
+ }
+ });
+
+ this.internal.instance = "jp_" + this.count;
+ this.instances[this.internal.instance] = this.element;
+
+ // Check the jPlayer div has an id and create one if required. Important for Flash to know the unique id for comms.
+ if(!this.element.attr("id")) {
+ this.element.attr("id", this.options.idPrefix + "_jplayer_" + this.count);
+ }
+
+ this.internal.self = $.extend({}, {
+ id: this.element.attr("id"),
+ jq: this.element
+ });
+ this.internal.audio = $.extend({}, {
+ id: this.options.idPrefix + "_audio_" + this.count,
+ jq: undefined
+ });
+ this.internal.video = $.extend({}, {
+ id: this.options.idPrefix + "_video_" + this.count,
+ jq: undefined
+ });
+ this.internal.flash = $.extend({}, {
+ id: this.options.idPrefix + "_flash_" + this.count,
+ jq: undefined,
+ swf: this.options.swfPath + (this.options.swfPath.toLowerCase().slice(-4) !== ".swf" ? (this.options.swfPath && this.options.swfPath.slice(-1) !== "/" ? "/" : "") + "Jplayer.swf" : "")
+ });
+ this.internal.poster = $.extend({}, {
+ id: this.options.idPrefix + "_poster_" + this.count,
+ jq: undefined
+ });
+
+ // Register listeners defined in the constructor
+ $.each($.jPlayer.event, function(eventName,eventType) {
+ if(self.options[eventName] !== undefined) {
+ self.element.bind(eventType + ".jPlayer", self.options[eventName]); // With .jPlayer namespace.
+ self.options[eventName] = undefined; // Destroy the handler pointer copy on the options. Reason, events can be added/removed in other ways so this could be obsolete and misleading.
+ }
+ });
+
+ // Determine if we require solutions for audio, video or both media types.
+ this.require.audio = false;
+ this.require.video = false;
+ $.each(this.formats, function(priority, format) {
+ self.require[self.format[format].media] = true;
+ });
+
+ // Now required types are known, finish the options default settings.
+ if(this.require.video) {
+ this.options = $.extend(true, {},
+ this.optionsVideo,
+ this.options
+ );
+ } else {
+ this.options = $.extend(true, {},
+ this.optionsAudio,
+ this.options
+ );
+ }
+ this._setSize(); // update status and jPlayer element size
+
+ // Determine the status for Blocklisted options.
+ this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls);
+ this.status.noFullWindow = this._uaBlocklist(this.options.noFullWindow);
+ this.status.noVolume = this._uaBlocklist(this.options.noVolume);
+
+ // Create event handlers if native fullscreen is supported
+ if($.jPlayer.nativeFeatures.fullscreen.api.fullscreenEnabled) {
+ this._fullscreenAddEventListeners();
+ }
+
+ // The native controls are only for video and are disabled when audio is also used.
+ this._restrictNativeVideoControls();
+
+ // Create the poster image.
+ this.htmlElement.poster = document.createElement('img');
+ this.htmlElement.poster.id = this.internal.poster.id;
+ this.htmlElement.poster.onload = function() { // Note that this did not work on Firefox 3.6: poster.addEventListener("onload", function() {}, false); Did not investigate x-browser.
+ if(!self.status.video || self.status.waitForPlay) {
+ self.internal.poster.jq.show();
+ }
+ };
+ this.element.append(this.htmlElement.poster);
+ this.internal.poster.jq = $("#" + this.internal.poster.id);
+ this.internal.poster.jq.css({'width': this.status.width, 'height': this.status.height});
+ this.internal.poster.jq.hide();
+ this.internal.poster.jq.bind("click.jPlayer", function() {
+ self._trigger($.jPlayer.event.click);
+ });
+
+ // Generate the required media elements
+ this.html.audio.available = false;
+ if(this.require.audio) { // If a supplied format is audio
+ this.htmlElement.audio = document.createElement('audio');
+ this.htmlElement.audio.id = this.internal.audio.id;
+ this.html.audio.available = !!this.htmlElement.audio.canPlayType && this._testCanPlayType(this.htmlElement.audio); // Test is for IE9 on Win Server 2008.
+ }
+ this.html.video.available = false;
+ if(this.require.video) { // If a supplied format is video
+ this.htmlElement.video = document.createElement('video');
+ this.htmlElement.video.id = this.internal.video.id;
+ this.html.video.available = !!this.htmlElement.video.canPlayType && this._testCanPlayType(this.htmlElement.video); // Test is for IE9 on Win Server 2008.
+ }
+
+ this.flash.available = this._checkForFlash(10.1);
+
+ this.html.canPlay = {};
+ this.flash.canPlay = {};
+ $.each(this.formats, function(priority, format) {
+ self.html.canPlay[format] = self.html[self.format[format].media].available && "" !== self.htmlElement[self.format[format].media].canPlayType(self.format[format].codec);
+ self.flash.canPlay[format] = self.format[format].flashCanPlay && self.flash.available;
+ });
+ this.html.desired = false;
+ this.flash.desired = false;
+ $.each(this.solutions, function(solutionPriority, solution) {
+ if(solutionPriority === 0) {
+ self[solution].desired = true;
+ } else {
+ var audioCanPlay = false;
+ var videoCanPlay = false;
+ $.each(self.formats, function(formatPriority, format) {
+ if(self[self.solutions[0]].canPlay[format]) { // The other solution can play
+ if(self.format[format].media === 'video') {
+ videoCanPlay = true;
+ } else {
+ audioCanPlay = true;
+ }
+ }
+ });
+ self[solution].desired = (self.require.audio && !audioCanPlay) || (self.require.video && !videoCanPlay);
+ }
+ });
+ // This is what jPlayer will support, based on solution and supplied.
+ this.html.support = {};
+ this.flash.support = {};
+ $.each(this.formats, function(priority, format) {
+ self.html.support[format] = self.html.canPlay[format] && self.html.desired;
+ self.flash.support[format] = self.flash.canPlay[format] && self.flash.desired;
+ });
+ // If jPlayer is supporting any format in a solution, then the solution is used.
+ this.html.used = false;
+ this.flash.used = false;
+ $.each(this.solutions, function(solutionPriority, solution) {
+ $.each(self.formats, function(formatPriority, format) {
+ if(self[solution].support[format]) {
+ self[solution].used = true;
+ return false;
+ }
+ });
+ });
+
+ // Init solution active state and the event gates to false.
+ this._resetActive();
+ this._resetGate();
+
+ // Set up the css selectors for the control and feedback entities.
+ this._cssSelectorAncestor(this.options.cssSelectorAncestor);
+
+ // If neither html nor flash are being used by this browser, then media playback is not possible. Trigger an error event.
+ if(!(this.html.used || this.flash.used)) {
+ this._error( {
+ type: $.jPlayer.error.NO_SOLUTION,
+ context: "{solution:'" + this.options.solution + "', supplied:'" + this.options.supplied + "'}",
+ message: $.jPlayer.errorMsg.NO_SOLUTION,
+ hint: $.jPlayer.errorHint.NO_SOLUTION
+ });
+ if(this.css.jq.noSolution.length) {
+ this.css.jq.noSolution.show();
+ }
+ } else {
+ if(this.css.jq.noSolution.length) {
+ this.css.jq.noSolution.hide();
+ }
+ }
+
+ // Add the flash solution if it is being used.
+ if(this.flash.used) {
+ var htmlObj,
+ flashVars = 'jQuery=' + encodeURI(this.options.noConflict) + '&id=' + encodeURI(this.internal.self.id) + '&vol=' + this.options.volume + '&muted=' + this.options.muted;
+
+ // Code influenced by SWFObject 2.2: http://code.google.com/p/swfobject/
+ // Non IE browsers have an initial Flash size of 1 by 1 otherwise the wmode affected the Flash ready event.
+
+ if($.jPlayer.browser.msie && (Number($.jPlayer.browser.version) < 9 || $.jPlayer.browser.documentMode < 9)) {
+ var objStr = '
';
+
+ var paramStr = [
+ '
',
+ '
',
+ '
',
+ '
',
+ '
'
+ ];
+
+ htmlObj = document.createElement(objStr);
+ for(var i=0; i < paramStr.length; i++) {
+ htmlObj.appendChild(document.createElement(paramStr[i]));
+ }
+ } else {
+ var createParam = function(el, n, v) {
+ var p = document.createElement("param");
+ p.setAttribute("name", n);
+ p.setAttribute("value", v);
+ el.appendChild(p);
+ };
+
+ htmlObj = document.createElement("object");
+ htmlObj.setAttribute("id", this.internal.flash.id);
+ htmlObj.setAttribute("name", this.internal.flash.id);
+ htmlObj.setAttribute("data", this.internal.flash.swf);
+ htmlObj.setAttribute("type", "application/x-shockwave-flash");
+ htmlObj.setAttribute("width", "1"); // Non-zero
+ htmlObj.setAttribute("height", "1"); // Non-zero
+ htmlObj.setAttribute("tabindex", "-1");
+ createParam(htmlObj, "flashvars", flashVars);
+ createParam(htmlObj, "allowscriptaccess", "always");
+ createParam(htmlObj, "bgcolor", this.options.backgroundColor);
+ createParam(htmlObj, "wmode", this.options.wmode);
+ }
+
+ this.element.append(htmlObj);
+ this.internal.flash.jq = $(htmlObj);
+ }
+
+ // Setup playbackRate ability before using _addHtmlEventListeners()
+ if(this.html.used && !this.flash.used) { // If only HTML
+ // Using the audio element capabilities for playbackRate. ie., Assuming video element is the same.
+ this.status.playbackRateEnabled = this._testPlaybackRate('audio');
+ } else {
+ this.status.playbackRateEnabled = false;
+ }
+
+ this._updatePlaybackRate();
+
+ // Add the HTML solution if being used.
+ if(this.html.used) {
+
+ // The HTML Audio handlers
+ if(this.html.audio.available) {
+ this._addHtmlEventListeners(this.htmlElement.audio, this.html.audio);
+ this.element.append(this.htmlElement.audio);
+ this.internal.audio.jq = $("#" + this.internal.audio.id);
+ }
+
+ // The HTML Video handlers
+ if(this.html.video.available) {
+ this._addHtmlEventListeners(this.htmlElement.video, this.html.video);
+ this.element.append(this.htmlElement.video);
+ this.internal.video.jq = $("#" + this.internal.video.id);
+ if(this.status.nativeVideoControls) {
+ this.internal.video.jq.css({'width': this.status.width, 'height': this.status.height});
+ } else {
+ this.internal.video.jq.css({'width':'0px', 'height':'0px'}); // Using size 0x0 since a .hide() causes issues in iOS
+ }
+ this.internal.video.jq.bind("click.jPlayer", function() {
+ self._trigger($.jPlayer.event.click);
+ });
+ }
+ }
+
+ // Create the bridge that emulates the HTML Media element on the jPlayer DIV
+ if( this.options.emulateHtml ) {
+ this._emulateHtmlBridge();
+ }
+
+ if(this.html.used && !this.flash.used) { // If only HTML, then emulate flash ready() call after 100ms.
+ setTimeout( function() {
+ self.internal.ready = true;
+ self.version.flash = "n/a";
+ self._trigger($.jPlayer.event.repeat); // Trigger the repeat event so its handler can initialize itself with the loop option.
+ self._trigger($.jPlayer.event.ready);
+ }, 100);
+ }
+
+ // Initialize the interface components with the options.
+ this._updateNativeVideoControls();
+ // The other controls are now setup in _cssSelectorAncestor()
+ if(this.css.jq.videoPlay.length) {
+ this.css.jq.videoPlay.hide();
+ }
+
+ $.jPlayer.prototype.count++; // Change static variable via prototype.
+ },
+ destroy: function() {
+ // MJP: The background change remains. Would need to store the original to restore it correctly.
+ // MJP: The jPlayer element's size change remains.
+
+ // Clear the media to reset the GUI and stop any downloads. Streams on some browsers had persited. (Chrome)
+ this.clearMedia();
+ // Remove the size/sizeFull cssClass from the cssSelectorAncestor
+ this._removeUiClass();
+ // Remove the times from the GUI
+ if(this.css.jq.currentTime.length) {
+ this.css.jq.currentTime.text("");
+ }
+ if(this.css.jq.duration.length) {
+ this.css.jq.duration.text("");
+ }
+ // Remove any bindings from the interface controls.
+ $.each(this.css.jq, function(fn, jq) {
+ // Check selector is valid before trying to execute method.
+ if(jq.length) {
+ jq.unbind(".jPlayer");
+ }
+ });
+ // Remove the click handlers for $.jPlayer.event.click
+ this.internal.poster.jq.unbind(".jPlayer");
+ if(this.internal.video.jq) {
+ this.internal.video.jq.unbind(".jPlayer");
+ }
+ // Remove the fullscreen event handlers
+ this._fullscreenRemoveEventListeners();
+ // Remove key bindings
+ if(this === $.jPlayer.focus) {
+ $.jPlayer.focus = null;
+ }
+ // Destroy the HTML bridge.
+ if(this.options.emulateHtml) {
+ this._destroyHtmlBridge();
+ }
+ this.element.removeData("jPlayer"); // Remove jPlayer data
+ this.element.unbind(".jPlayer"); // Remove all event handlers created by the jPlayer constructor
+ this.element.empty(); // Remove the inserted child elements
+
+ delete this.instances[this.internal.instance]; // Clear the instance on the static instance object
+ },
+ enable: function() { // Plan to implement
+ // options.disabled = false
+ },
+ disable: function () { // Plan to implement
+ // options.disabled = true
+ },
+ _testCanPlayType: function(elem) {
+ // IE9 on Win Server 2008 did not implement canPlayType(), but it has the property.
+ try {
+ elem.canPlayType(this.format.mp3.codec); // The type is irrelevant.
+ return true;
+ } catch(err) {
+ return false;
+ }
+ },
+ _testPlaybackRate: function(type) {
+ // type: String 'audio' or 'video'
+ var el, rate = 0.5;
+ type = typeof type === 'string' ? type : 'audio';
+ el = document.createElement(type);
+ // Wrapping in a try/catch, just in case older HTML5 browsers throw and error.
+ try {
+ if('playbackRate' in el) {
+ el.playbackRate = rate;
+ return el.playbackRate === rate;
+ } else {
+ return false;
+ }
+ } catch(err) {
+ return false;
+ }
+ },
+ _uaBlocklist: function(list) {
+ // list : object with properties that are all regular expressions. Property names are irrelevant.
+ // Returns true if the user agent is matched in list.
+ var ua = navigator.userAgent.toLowerCase(),
+ block = false;
+
+ $.each(list, function(p, re) {
+ if(re && re.test(ua)) {
+ block = true;
+ return false; // exit $.each.
+ }
+ });
+ return block;
+ },
+ _restrictNativeVideoControls: function() {
+ // Fallback to noFullWindow when nativeVideoControls is true and audio media is being used. Affects when both media types are used.
+ if(this.require.audio) {
+ if(this.status.nativeVideoControls) {
+ this.status.nativeVideoControls = false;
+ this.status.noFullWindow = true;
+ }
+ }
+ },
+ _updateNativeVideoControls: function() {
+ if(this.html.video.available && this.html.used) {
+ // Turn the HTML Video controls on/off
+ this.htmlElement.video.controls = this.status.nativeVideoControls;
+ // Show/hide the jPlayer GUI.
+ this._updateAutohide();
+ // For when option changed. The poster image is not updated, as it is dealt with in setMedia(). Acceptable degradation since seriously doubt these options will change on the fly. Can again review later.
+ if(this.status.nativeVideoControls && this.require.video) {
+ this.internal.poster.jq.hide();
+ this.internal.video.jq.css({'width': this.status.width, 'height': this.status.height});
+ } else if(this.status.waitForPlay && this.status.video) {
+ this.internal.poster.jq.show();
+ this.internal.video.jq.css({'width': '0px', 'height': '0px'});
+ }
+ }
+ },
+ _addHtmlEventListeners: function(mediaElement, entity) {
+ var self = this;
+ mediaElement.preload = this.options.preload;
+ mediaElement.muted = this.options.muted;
+ mediaElement.volume = this.options.volume;
+
+ if(this.status.playbackRateEnabled) {
+ mediaElement.defaultPlaybackRate = this.options.defaultPlaybackRate;
+ mediaElement.playbackRate = this.options.playbackRate;
+ }
+
+ // Create the event listeners
+ // Only want the active entity to affect jPlayer and bubble events.
+ // Using entity.gate so that object is referenced and gate property always current
+
+ mediaElement.addEventListener("progress", function() {
+ if(entity.gate) {
+ if(self.internal.cmdsIgnored && this.readyState > 0) { // Detect iOS executed the command
+ self.internal.cmdsIgnored = false;
+ }
+ self._getHtmlStatus(mediaElement);
+ self._updateInterface();
+ self._trigger($.jPlayer.event.progress);
+ }
+ }, false);
+ mediaElement.addEventListener("timeupdate", function() {
+ if(entity.gate) {
+ self._getHtmlStatus(mediaElement);
+ self._updateInterface();
+ self._trigger($.jPlayer.event.timeupdate);
+ }
+ }, false);
+ mediaElement.addEventListener("durationchange", function() {
+ if(entity.gate) {
+ self._getHtmlStatus(mediaElement);
+ self._updateInterface();
+ self._trigger($.jPlayer.event.durationchange);
+ }
+ }, false);
+ mediaElement.addEventListener("play", function() {
+ if(entity.gate) {
+ self._updateButtons(true);
+ self._html_checkWaitForPlay(); // So the native controls update this variable and puts the hidden interface in the correct state. Affects toggling native controls.
+ self._trigger($.jPlayer.event.play);
+ }
+ }, false);
+ mediaElement.addEventListener("playing", function() {
+ if(entity.gate) {
+ self._updateButtons(true);
+ self._seeked();
+ self._trigger($.jPlayer.event.playing);
+ }
+ }, false);
+ mediaElement.addEventListener("pause", function() {
+ if(entity.gate) {
+ self._updateButtons(false);
+ self._trigger($.jPlayer.event.pause);
+ }
+ }, false);
+ mediaElement.addEventListener("waiting", function() {
+ if(entity.gate) {
+ self._seeking();
+ self._trigger($.jPlayer.event.waiting);
+ }
+ }, false);
+ mediaElement.addEventListener("seeking", function() {
+ if(entity.gate) {
+ self._seeking();
+ self._trigger($.jPlayer.event.seeking);
+ }
+ }, false);
+ mediaElement.addEventListener("seeked", function() {
+ if(entity.gate) {
+ self._seeked();
+ self._trigger($.jPlayer.event.seeked);
+ }
+ }, false);
+ mediaElement.addEventListener("volumechange", function() {
+ if(entity.gate) {
+ // Read the values back from the element as the Blackberry PlayBook shares the volume with the physical buttons master volume control.
+ // However, when tested 6th July 2011, those buttons do not generate an event. The physical play/pause button does though.
+ self.options.volume = mediaElement.volume;
+ self.options.muted = mediaElement.muted;
+ self._updateMute();
+ self._updateVolume();
+ self._trigger($.jPlayer.event.volumechange);
+ }
+ }, false);
+ mediaElement.addEventListener("ratechange", function() {
+ if(entity.gate) {
+ self.options.defaultPlaybackRate = mediaElement.defaultPlaybackRate;
+ self.options.playbackRate = mediaElement.playbackRate;
+ self._updatePlaybackRate();
+ self._trigger($.jPlayer.event.ratechange);
+ }
+ }, false);
+ mediaElement.addEventListener("suspend", function() { // Seems to be the only way of capturing that the iOS4 browser did not actually play the media from the page code. ie., It needs a user gesture.
+ if(entity.gate) {
+ self._seeked();
+ self._trigger($.jPlayer.event.suspend);
+ }
+ }, false);
+ mediaElement.addEventListener("ended", function() {
+ if(entity.gate) {
+ // Order of the next few commands are important. Change the time and then pause.
+ // Solves a bug in Firefox, where issuing pause 1st causes the media to play from the start. ie., The pause is ignored.
+ if(!$.jPlayer.browser.webkit) { // Chrome crashes if you do this in conjunction with a setMedia command in an ended event handler. ie., The playlist demo.
+ self.htmlElement.media.currentTime = 0; // Safari does not care about this command. ie., It works with or without this line. (Both Safari and Chrome are Webkit.)
+ }
+ self.htmlElement.media.pause(); // Pause otherwise a click on the progress bar will play from that point, when it shouldn't, since it stopped playback.
+ self._updateButtons(false);
+ self._getHtmlStatus(mediaElement, true); // With override true. Otherwise Chrome leaves progress at full.
+ self._updateInterface();
+ self._trigger($.jPlayer.event.ended);
+ }
+ }, false);
+ mediaElement.addEventListener("error", function() {
+ if(entity.gate) {
+ self._updateButtons(false);
+ self._seeked();
+ if(self.status.srcSet) { // Deals with case of clearMedia() causing an error event.
+ clearTimeout(self.internal.htmlDlyCmdId); // Clears any delayed commands used in the HTML solution.
+ self.status.waitForLoad = true; // Allows the load operation to try again.
+ self.status.waitForPlay = true; // Reset since a play was captured.
+ if(self.status.video && !self.status.nativeVideoControls) {
+ self.internal.video.jq.css({'width':'0px', 'height':'0px'});
+ }
+ if(self._validString(self.status.media.poster) && !self.status.nativeVideoControls) {
+ self.internal.poster.jq.show();
+ }
+ if(self.css.jq.videoPlay.length) {
+ self.css.jq.videoPlay.show();
+ }
+ self._error( {
+ type: $.jPlayer.error.URL,
+ context: self.status.src, // this.src shows absolute urls. Want context to show the url given.
+ message: $.jPlayer.errorMsg.URL,
+ hint: $.jPlayer.errorHint.URL
+ });
+ }
+ }
+ }, false);
+ // Create all the other event listeners that bubble up to a jPlayer event from html, without being used by jPlayer.
+ $.each($.jPlayer.htmlEvent, function(i, eventType) {
+ mediaElement.addEventListener(this, function() {
+ if(entity.gate) {
+ self._trigger($.jPlayer.event[eventType]);
+ }
+ }, false);
+ });
+ },
+ _getHtmlStatus: function(media, override) {
+ var ct = 0, cpa = 0, sp = 0, cpr = 0;
+
+ // Fixes the duration bug in iOS, where the durationchange event occurs when media.duration is not always correct.
+ // Fixes the initial duration bug in BB OS7, where the media.duration is infinity and displays as NaN:NaN due to Date() using inifity.
+ if(isFinite(media.duration)) {
+ this.status.duration = media.duration;
+ }
+
+ ct = media.currentTime;
+ cpa = (this.status.duration > 0) ? 100 * ct / this.status.duration : 0;
+ if((typeof media.seekable === "object") && (media.seekable.length > 0)) {
+ sp = (this.status.duration > 0) ? 100 * media.seekable.end(media.seekable.length-1) / this.status.duration : 100;
+ cpr = (this.status.duration > 0) ? 100 * media.currentTime / media.seekable.end(media.seekable.length-1) : 0; // Duration conditional for iOS duration bug. ie., seekable.end is a NaN in that case.
+ } else {
+ sp = 100;
+ cpr = cpa;
+ }
+
+ if(override) {
+ ct = 0;
+ cpr = 0;
+ cpa = 0;
+ }
+
+ this.status.seekPercent = sp;
+ this.status.currentPercentRelative = cpr;
+ this.status.currentPercentAbsolute = cpa;
+ this.status.currentTime = ct;
+
+ this.status.videoWidth = media.videoWidth;
+ this.status.videoHeight = media.videoHeight;
+
+ this.status.readyState = media.readyState;
+ this.status.networkState = media.networkState;
+ this.status.playbackRate = media.playbackRate;
+ this.status.ended = media.ended;
+ },
+ _resetStatus: function() {
+ this.status = $.extend({}, this.status, $.jPlayer.prototype.status); // Maintains the status properties that persist through a reset.
+ },
+ _trigger: function(eventType, error, warning) { // eventType always valid as called using $.jPlayer.event.eventType
+ var event = $.Event(eventType);
+ event.jPlayer = {};
+ event.jPlayer.version = $.extend({}, this.version);
+ event.jPlayer.options = $.extend(true, {}, this.options); // Deep copy
+ event.jPlayer.status = $.extend(true, {}, this.status); // Deep copy
+ event.jPlayer.html = $.extend(true, {}, this.html); // Deep copy
+ event.jPlayer.flash = $.extend(true, {}, this.flash); // Deep copy
+ if(error) {
+ event.jPlayer.error = $.extend({}, error);
+ }
+ if(warning) {
+ event.jPlayer.warning = $.extend({}, warning);
+ }
+ this.element.trigger(event);
+ },
+ jPlayerFlashEvent: function(eventType, status) { // Called from Flash
+ if(eventType === $.jPlayer.event.ready) {
+ if(!this.internal.ready) {
+ this.internal.ready = true;
+ this.internal.flash.jq.css({'width':'0px', 'height':'0px'}); // Once Flash generates the ready event, minimise to zero as it is not affected by wmode anymore.
+
+ this.version.flash = status.version;
+ if(this.version.needFlash !== this.version.flash) {
+ this._error( {
+ type: $.jPlayer.error.VERSION,
+ context: this.version.flash,
+ message: $.jPlayer.errorMsg.VERSION + this.version.flash,
+ hint: $.jPlayer.errorHint.VERSION
+ });
+ }
+ this._trigger($.jPlayer.event.repeat); // Trigger the repeat event so its handler can initialize itself with the loop option.
+ this._trigger(eventType);
+ } else {
+ // This condition occurs if the Flash is hidden and then shown again.
+ // Firefox also reloads the Flash if the CSS position changes. position:fixed is used for full screen.
+
+ // Only do this if the Flash is the solution being used at the moment. Affects Media players where both solution may be being used.
+ if(this.flash.gate) {
+
+ // Send the current status to the Flash now that it is ready (available) again.
+ if(this.status.srcSet) {
+
+ // Need to read original status before issuing the setMedia command.
+ var currentTime = this.status.currentTime,
+ paused = this.status.paused;
+
+ this.setMedia(this.status.media);
+ this.volumeWorker(this.options.volume);
+ if(currentTime > 0) {
+ if(paused) {
+ this.pause(currentTime);
+ } else {
+ this.play(currentTime);
+ }
+ }
+ }
+ this._trigger($.jPlayer.event.flashreset);
+ }
+ }
+ }
+ if(this.flash.gate) {
+ switch(eventType) {
+ case $.jPlayer.event.progress:
+ this._getFlashStatus(status);
+ this._updateInterface();
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.timeupdate:
+ this._getFlashStatus(status);
+ this._updateInterface();
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.play:
+ this._seeked();
+ this._updateButtons(true);
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.pause:
+ this._updateButtons(false);
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.ended:
+ this._updateButtons(false);
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.click:
+ this._trigger(eventType); // This could be dealt with by the default
+ break;
+ case $.jPlayer.event.error:
+ this.status.waitForLoad = true; // Allows the load operation to try again.
+ this.status.waitForPlay = true; // Reset since a play was captured.
+ if(this.status.video) {
+ this.internal.flash.jq.css({'width':'0px', 'height':'0px'});
+ }
+ if(this._validString(this.status.media.poster)) {
+ this.internal.poster.jq.show();
+ }
+ if(this.css.jq.videoPlay.length && this.status.video) {
+ this.css.jq.videoPlay.show();
+ }
+ if(this.status.video) { // Set up for another try. Execute before error event.
+ this._flash_setVideo(this.status.media);
+ } else {
+ this._flash_setAudio(this.status.media);
+ }
+ this._updateButtons(false);
+ this._error( {
+ type: $.jPlayer.error.URL,
+ context:status.src,
+ message: $.jPlayer.errorMsg.URL,
+ hint: $.jPlayer.errorHint.URL
+ });
+ break;
+ case $.jPlayer.event.seeking:
+ this._seeking();
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.seeked:
+ this._seeked();
+ this._trigger(eventType);
+ break;
+ case $.jPlayer.event.ready:
+ // The ready event is handled outside the switch statement.
+ // Captured here otherwise 2 ready events would be generated if the ready event handler used setMedia.
+ break;
+ default:
+ this._trigger(eventType);
+ }
+ }
+ return false;
+ },
+ _getFlashStatus: function(status) {
+ this.status.seekPercent = status.seekPercent;
+ this.status.currentPercentRelative = status.currentPercentRelative;
+ this.status.currentPercentAbsolute = status.currentPercentAbsolute;
+ this.status.currentTime = status.currentTime;
+ this.status.duration = status.duration;
+
+ this.status.videoWidth = status.videoWidth;
+ this.status.videoHeight = status.videoHeight;
+
+ // The Flash does not generate this information in this release
+ this.status.readyState = 4; // status.readyState;
+ this.status.networkState = 0; // status.networkState;
+ this.status.playbackRate = 1; // status.playbackRate;
+ this.status.ended = false; // status.ended;
+ },
+ _updateButtons: function(playing) {
+ if(playing === undefined) {
+ playing = !this.status.paused;
+ } else {
+ this.status.paused = !playing;
+ }
+ if(this.css.jq.play.length && this.css.jq.pause.length) {
+ if(playing) {
+ this.css.jq.play.hide();
+ this.css.jq.pause.show();
+ } else {
+ this.css.jq.play.show();
+ this.css.jq.pause.hide();
+ }
+ }
+ if(this.css.jq.restoreScreen.length && this.css.jq.fullScreen.length) {
+ if(this.status.noFullWindow) {
+ this.css.jq.fullScreen.hide();
+ this.css.jq.restoreScreen.hide();
+ } else if(this.options.fullWindow) {
+ this.css.jq.fullScreen.hide();
+ this.css.jq.restoreScreen.show();
+ } else {
+ this.css.jq.fullScreen.show();
+ this.css.jq.restoreScreen.hide();
+ }
+ }
+ if(this.css.jq.repeat.length && this.css.jq.repeatOff.length) {
+ if(this.options.loop) {
+ this.css.jq.repeat.hide();
+ this.css.jq.repeatOff.show();
+ } else {
+ this.css.jq.repeat.show();
+ this.css.jq.repeatOff.hide();
+ }
+ }
+ },
+ _updateInterface: function() {
+ if(this.css.jq.seekBar.length) {
+ this.css.jq.seekBar.width(this.status.seekPercent+"%");
+ }
+ if(this.css.jq.playBar.length) {
+ if(this.options.smoothPlayBar) {
+ this.css.jq.playBar.stop().animate({
+ width: this.status.currentPercentAbsolute+"%"
+ }, 250, "linear");
+ } else {
+ this.css.jq.playBar.width(this.status.currentPercentRelative+"%");
+ }
+ }
+ if(this.css.jq.currentTime.length) {
+ this.css.jq.currentTime.text(this._convertTime(this.status.currentTime));
+ }
+ if(this.css.jq.duration.length) {
+ this.css.jq.duration.text(this._convertTime(this.status.duration));
+ }
+ },
+ _convertTime: ConvertTime.prototype.time,
+ _seeking: function() {
+ if(this.css.jq.seekBar.length) {
+ this.css.jq.seekBar.addClass("jp-seeking-bg");
+ }
+ },
+ _seeked: function() {
+ if(this.css.jq.seekBar.length) {
+ this.css.jq.seekBar.removeClass("jp-seeking-bg");
+ }
+ },
+ _resetGate: function() {
+ this.html.audio.gate = false;
+ this.html.video.gate = false;
+ this.flash.gate = false;
+ },
+ _resetActive: function() {
+ this.html.active = false;
+ this.flash.active = false;
+ },
+ _escapeHtml: function(s) {
+ return s.split('&').join('&').split('<').join('<').split('>').join('>').split('"').join('"');
+ },
+ _qualifyURL: function(url) {
+ var el = document.createElement('div');
+ el.innerHTML= '
x ';
+ return el.firstChild.href;
+ },
+ _absoluteMediaUrls: function(media) {
+ var self = this;
+ $.each(media, function(type, url) {
+ if(url && self.format[type]) {
+ media[type] = self._qualifyURL(url);
+ }
+ });
+ return media;
+ },
+ setMedia: function(media) {
+
+ /* media[format] = String: URL of format. Must contain all of the supplied option's video or audio formats.
+ * media.poster = String: Video poster URL.
+ * media.track = Array: Of objects defining the track element: kind, src, srclang, label, def.
+ * media.stream = Boolean: * NOT IMPLEMENTED * Designating actual media streams. ie., "false/undefined" for files. Plan to refresh the flash every so often.
+ */
+
+ var self = this,
+ supported = false,
+ posterChanged = this.status.media.poster !== media.poster; // Compare before reset. Important for OSX Safari as this.htmlElement.poster.src is absolute, even if original poster URL was relative.
+
+ this._resetMedia();
+ this._resetGate();
+ this._resetActive();
+
+ // Convert all media URLs to absolute URLs.
+ media = this._absoluteMediaUrls(media);
+
+ $.each(this.formats, function(formatPriority, format) {
+ var isVideo = self.format[format].media === 'video';
+ $.each(self.solutions, function(solutionPriority, solution) {
+ if(self[solution].support[format] && self._validString(media[format])) { // Format supported in solution and url given for format.
+ var isHtml = solution === 'html';
+
+ if(isVideo) {
+ if(isHtml) {
+ self.html.video.gate = true;
+ self._html_setVideo(media);
+ self.html.active = true;
+ } else {
+ self.flash.gate = true;
+ self._flash_setVideo(media);
+ self.flash.active = true;
+ }
+ if(self.css.jq.videoPlay.length) {
+ self.css.jq.videoPlay.show();
+ }
+ self.status.video = true;
+ } else {
+ if(isHtml) {
+ self.html.audio.gate = true;
+ self._html_setAudio(media);
+ self.html.active = true;
+ } else {
+ self.flash.gate = true;
+ self._flash_setAudio(media);
+ self.flash.active = true;
+ }
+ if(self.css.jq.videoPlay.length) {
+ self.css.jq.videoPlay.hide();
+ }
+ self.status.video = false;
+ }
+
+ supported = true;
+ return false; // Exit $.each
+ }
+ });
+ if(supported) {
+ return false; // Exit $.each
+ }
+ });
+
+ if(supported) {
+ if(!(this.status.nativeVideoControls && this.html.video.gate)) {
+ // Set poster IMG if native video controls are not being used
+ // Note: With IE the IMG onload event occurs immediately when cached.
+ // Note: Poster hidden by default in _resetMedia()
+ if(this._validString(media.poster)) {
+ if(posterChanged) { // Since some browsers do not generate img onload event.
+ this.htmlElement.poster.src = media.poster;
+ } else {
+ this.internal.poster.jq.show();
+ }
+ }
+ }
+ this.status.srcSet = true;
+ this.status.media = $.extend({}, media);
+ this._updateButtons(false);
+ this._updateInterface();
+ } else { // jPlayer cannot support any formats provided in this browser
+ // Send an error event
+ this._error( {
+ type: $.jPlayer.error.NO_SUPPORT,
+ context: "{supplied:'" + this.options.supplied + "'}",
+ message: $.jPlayer.errorMsg.NO_SUPPORT,
+ hint: $.jPlayer.errorHint.NO_SUPPORT
+ });
+ }
+ },
+ _resetMedia: function() {
+ this._resetStatus();
+ this._updateButtons(false);
+ this._updateInterface();
+ this._seeked();
+ this.internal.poster.jq.hide();
+
+ clearTimeout(this.internal.htmlDlyCmdId);
+
+ if(this.html.active) {
+ this._html_resetMedia();
+ } else if(this.flash.active) {
+ this._flash_resetMedia();
+ }
+ },
+ clearMedia: function() {
+ this._resetMedia();
+
+ if(this.html.active) {
+ this._html_clearMedia();
+ } else if(this.flash.active) {
+ this._flash_clearMedia();
+ }
+
+ this._resetGate();
+ this._resetActive();
+ },
+ load: function() {
+ if(this.status.srcSet) {
+ if(this.html.active) {
+ this._html_load();
+ } else if(this.flash.active) {
+ this._flash_load();
+ }
+ } else {
+ this._urlNotSetError("load");
+ }
+ },
+ focus: function() {
+ if(this.options.keyEnabled) {
+ $.jPlayer.focus = this;
+ }
+ },
+ play: function(time) {
+ time = (typeof time === "number") ? time : NaN; // Remove jQuery event from click handler
+ if(this.status.srcSet) {
+ this.focus();
+ if(this.html.active) {
+ this._html_play(time);
+ } else if(this.flash.active) {
+ this._flash_play(time);
+ }
+ } else {
+ this._urlNotSetError("play");
+ }
+ },
+ videoPlay: function() { // Handles clicks on the play button over the video poster
+ this.play();
+ },
+ pause: function(time) {
+ time = (typeof time === "number") ? time : NaN; // Remove jQuery event from click handler
+ if(this.status.srcSet) {
+ if(this.html.active) {
+ this._html_pause(time);
+ } else if(this.flash.active) {
+ this._flash_pause(time);
+ }
+ } else {
+ this._urlNotSetError("pause");
+ }
+ },
+ tellOthers: function(command, conditions) {
+ var self = this,
+ hasConditions = typeof conditions === 'function',
+ args = Array.prototype.slice.call(arguments); // Convert arguments to an Array.
+
+ if(typeof command !== 'string') { // Ignore, since no command.
+ return; // Return undefined to maintain chaining.
+ }
+ if(hasConditions) {
+ args.splice(1, 1); // Remove the conditions from the arguments
+ }
+
+ $.each(this.instances, function() {
+ // Remember that "this" is the instance's "element" in the $.each() loop.
+ if(self.element !== this) { // Do not tell my instance.
+ if(!hasConditions || conditions.call(this.data("jPlayer"), self)) {
+ this.jPlayer.apply(this, args);
+ }
+ }
+ });
+ },
+ pauseOthers: function(time) {
+ this.tellOthers("pause", function() {
+ // In the conditions function, the "this" context is the other instance's jPlayer object.
+ return this.status.srcSet;
+ }, time);
+ },
+ stop: function() {
+ if(this.status.srcSet) {
+ if(this.html.active) {
+ this._html_pause(0);
+ } else if(this.flash.active) {
+ this._flash_pause(0);
+ }
+ } else {
+ this._urlNotSetError("stop");
+ }
+ },
+ playHead: function(p) {
+ p = this._limitValue(p, 0, 100);
+ if(this.status.srcSet) {
+ if(this.html.active) {
+ this._html_playHead(p);
+ } else if(this.flash.active) {
+ this._flash_playHead(p);
+ }
+ } else {
+ this._urlNotSetError("playHead");
+ }
+ },
+ _muted: function(muted) {
+ this.mutedWorker(muted);
+ if(this.options.globalVolume) {
+ this.tellOthers("mutedWorker", function() {
+ // Check the other instance has global volume enabled.
+ return this.options.globalVolume;
+ }, muted);
+ }
+ },
+ mutedWorker: function(muted) {
+ this.options.muted = muted;
+ if(this.html.used) {
+ this._html_setProperty('muted', muted);
+ }
+ if(this.flash.used) {
+ this._flash_mute(muted);
+ }
+
+ // The HTML solution generates this event from the media element itself.
+ if(!this.html.video.gate && !this.html.audio.gate) {
+ this._updateMute(muted);
+ this._updateVolume(this.options.volume);
+ this._trigger($.jPlayer.event.volumechange);
+ }
+ },
+ mute: function(mute) { // mute is either: undefined (true), an event object (true) or a boolean (muted).
+ mute = mute === undefined ? true : !!mute;
+ this._muted(mute);
+ },
+ unmute: function(unmute) { // unmute is either: undefined (true), an event object (true) or a boolean (!muted).
+ unmute = unmute === undefined ? true : !!unmute;
+ this._muted(!unmute);
+ },
+ _updateMute: function(mute) {
+ if(mute === undefined) {
+ mute = this.options.muted;
+ }
+ if(this.css.jq.mute.length && this.css.jq.unmute.length) {
+ if(this.status.noVolume) {
+ this.css.jq.mute.hide();
+ this.css.jq.unmute.hide();
+ } else if(mute) {
+ this.css.jq.mute.hide();
+ this.css.jq.unmute.show();
+ } else {
+ this.css.jq.mute.show();
+ this.css.jq.unmute.hide();
+ }
+ }
+ },
+ volume: function(v) {
+ this.volumeWorker(v);
+ if(this.options.globalVolume) {
+ this.tellOthers("volumeWorker", function() {
+ // Check the other instance has global volume enabled.
+ return this.options.globalVolume;
+ }, v);
+ }
+ },
+ volumeWorker: function(v) {
+ v = this._limitValue(v, 0, 1);
+ this.options.volume = v;
+
+ if(this.html.used) {
+ this._html_setProperty('volume', v);
+ }
+ if(this.flash.used) {
+ this._flash_volume(v);
+ }
+
+ // The HTML solution generates this event from the media element itself.
+ if(!this.html.video.gate && !this.html.audio.gate) {
+ this._updateVolume(v);
+ this._trigger($.jPlayer.event.volumechange);
+ }
+ },
+ volumeBar: function(e) { // Handles clicks on the volumeBar
+ if(this.css.jq.volumeBar.length) {
+ // Using $(e.currentTarget) to enable multiple volume bars
+ var $bar = $(e.currentTarget),
+ offset = $bar.offset(),
+ x = e.pageX - offset.left,
+ w = $bar.width(),
+ y = $bar.height() - e.pageY + offset.top,
+ h = $bar.height();
+ if(this.options.verticalVolume) {
+ this.volume(y/h);
+ } else {
+ this.volume(x/w);
+ }
+ }
+ if(this.options.muted) {
+ this._muted(false);
+ }
+ },
+ _updateVolume: function(v) {
+ if(v === undefined) {
+ v = this.options.volume;
+ }
+ v = this.options.muted ? 0 : v;
+
+ if(this.status.noVolume) {
+ if(this.css.jq.volumeBar.length) {
+ this.css.jq.volumeBar.hide();
+ }
+ if(this.css.jq.volumeBarValue.length) {
+ this.css.jq.volumeBarValue.hide();
+ }
+ if(this.css.jq.volumeMax.length) {
+ this.css.jq.volumeMax.hide();
+ }
+ } else {
+ if(this.css.jq.volumeBar.length) {
+ this.css.jq.volumeBar.show();
+ }
+ if(this.css.jq.volumeBarValue.length) {
+ this.css.jq.volumeBarValue.show();
+ this.css.jq.volumeBarValue[this.options.verticalVolume ? "height" : "width"]((v*100)+"%");
+ }
+ if(this.css.jq.volumeMax.length) {
+ this.css.jq.volumeMax.show();
+ }
+ }
+ },
+ volumeMax: function() { // Handles clicks on the volume max
+ this.volume(1);
+ if(this.options.muted) {
+ this._muted(false);
+ }
+ },
+ _cssSelectorAncestor: function(ancestor) {
+ var self = this;
+ this.options.cssSelectorAncestor = ancestor;
+ this._removeUiClass();
+ this.ancestorJq = ancestor ? $(ancestor) : []; // Would use $() instead of [], but it is only 1.4+
+ if(ancestor && this.ancestorJq.length !== 1) { // So empty strings do not generate the warning.
+ this._warning( {
+ type: $.jPlayer.warning.CSS_SELECTOR_COUNT,
+ context: ancestor,
+ message: $.jPlayer.warningMsg.CSS_SELECTOR_COUNT + this.ancestorJq.length + " found for cssSelectorAncestor.",
+ hint: $.jPlayer.warningHint.CSS_SELECTOR_COUNT
+ });
+ }
+ this._addUiClass();
+ $.each(this.options.cssSelector, function(fn, cssSel) {
+ self._cssSelector(fn, cssSel);
+ });
+
+ // Set the GUI to the current state.
+ this._updateInterface();
+ this._updateButtons();
+ this._updateAutohide();
+ this._updateVolume();
+ this._updateMute();
+ },
+ _cssSelector: function(fn, cssSel) {
+ var self = this;
+ if(typeof cssSel === 'string') {
+ if($.jPlayer.prototype.options.cssSelector[fn]) {
+ if(this.css.jq[fn] && this.css.jq[fn].length) {
+ this.css.jq[fn].unbind(".jPlayer");
+ }
+ this.options.cssSelector[fn] = cssSel;
+ this.css.cs[fn] = this.options.cssSelectorAncestor + " " + cssSel;
+
+ if(cssSel) { // Checks for empty string
+ this.css.jq[fn] = $(this.css.cs[fn]);
+ } else {
+ this.css.jq[fn] = []; // To comply with the css.jq[fn].length check before its use. As of jQuery 1.4 could have used $() for an empty set.
+ }
+
+ if(this.css.jq[fn].length && this[fn]) {
+ var handler = function(e) {
+ e.preventDefault();
+ self[fn](e);
+ $(this).blur();
+ };
+ this.css.jq[fn].bind("click.jPlayer", handler); // Using jPlayer namespace
+ }
+
+ if(cssSel && this.css.jq[fn].length !== 1) { // So empty strings do not generate the warning. ie., they just remove the old one.
+ this._warning( {
+ type: $.jPlayer.warning.CSS_SELECTOR_COUNT,
+ context: this.css.cs[fn],
+ message: $.jPlayer.warningMsg.CSS_SELECTOR_COUNT + this.css.jq[fn].length + " found for " + fn + " method.",
+ hint: $.jPlayer.warningHint.CSS_SELECTOR_COUNT
+ });
+ }
+ } else {
+ this._warning( {
+ type: $.jPlayer.warning.CSS_SELECTOR_METHOD,
+ context: fn,
+ message: $.jPlayer.warningMsg.CSS_SELECTOR_METHOD,
+ hint: $.jPlayer.warningHint.CSS_SELECTOR_METHOD
+ });
+ }
+ } else {
+ this._warning( {
+ type: $.jPlayer.warning.CSS_SELECTOR_STRING,
+ context: cssSel,
+ message: $.jPlayer.warningMsg.CSS_SELECTOR_STRING,
+ hint: $.jPlayer.warningHint.CSS_SELECTOR_STRING
+ });
+ }
+ },
+ seekBar: function(e) { // Handles clicks on the seekBar
+ if(this.css.jq.seekBar.length) {
+ // Using $(e.currentTarget) to enable multiple seek bars
+ var $bar = $(e.currentTarget),
+ offset = $bar.offset(),
+ x = e.pageX - offset.left,
+ w = $bar.width(),
+ p = 100 * x / w;
+ this.playHead(p);
+ }
+ },
+ playbackRate: function(pbr) {
+ this._setOption("playbackRate", pbr);
+ },
+ playbackRateBar: function(e) { // Handles clicks on the playbackRateBar
+ if(this.css.jq.playbackRateBar.length) {
+ // Using $(e.currentTarget) to enable multiple playbackRate bars
+ var $bar = $(e.currentTarget),
+ offset = $bar.offset(),
+ x = e.pageX - offset.left,
+ w = $bar.width(),
+ y = $bar.height() - e.pageY + offset.top,
+ h = $bar.height(),
+ ratio, pbr;
+ if(this.options.verticalPlaybackRate) {
+ ratio = y/h;
+ } else {
+ ratio = x/w;
+ }
+ pbr = ratio * (this.options.maxPlaybackRate - this.options.minPlaybackRate) + this.options.minPlaybackRate;
+ this.playbackRate(pbr);
+ }
+ },
+ _updatePlaybackRate: function() {
+ var pbr = this.options.playbackRate,
+ ratio = (pbr - this.options.minPlaybackRate) / (this.options.maxPlaybackRate - this.options.minPlaybackRate);
+ if(this.status.playbackRateEnabled) {
+ if(this.css.jq.playbackRateBar.length) {
+ this.css.jq.playbackRateBar.show();
+ }
+ if(this.css.jq.playbackRateBarValue.length) {
+ this.css.jq.playbackRateBarValue.show();
+ this.css.jq.playbackRateBarValue[this.options.verticalPlaybackRate ? "height" : "width"]((ratio*100)+"%");
+ }
+ } else {
+ if(this.css.jq.playbackRateBar.length) {
+ this.css.jq.playbackRateBar.hide();
+ }
+ if(this.css.jq.playbackRateBarValue.length) {
+ this.css.jq.playbackRateBarValue.hide();
+ }
+ }
+ },
+ repeat: function() { // Handle clicks on the repeat button
+ this._loop(true);
+ },
+ repeatOff: function() { // Handle clicks on the repeatOff button
+ this._loop(false);
+ },
+ _loop: function(loop) {
+ if(this.options.loop !== loop) {
+ this.options.loop = loop;
+ this._updateButtons();
+ this._trigger($.jPlayer.event.repeat);
+ }
+ },
+
+ // Options code adapted from ui.widget.js (1.8.7). Made changes so the key can use dot notation. To match previous getData solution in jPlayer 1.
+ option: function(key, value) {
+ var options = key;
+
+ // Enables use: options(). Returns a copy of options object
+ if ( arguments.length === 0 ) {
+ return $.extend( true, {}, this.options );
+ }
+
+ if(typeof key === "string") {
+ var keys = key.split(".");
+
+ // Enables use: options("someOption") Returns a copy of the option. Supports dot notation.
+ if(value === undefined) {
+
+ var opt = $.extend(true, {}, this.options);
+ for(var i = 0; i < keys.length; i++) {
+ if(opt[keys[i]] !== undefined) {
+ opt = opt[keys[i]];
+ } else {
+ this._warning( {
+ type: $.jPlayer.warning.OPTION_KEY,
+ context: key,
+ message: $.jPlayer.warningMsg.OPTION_KEY,
+ hint: $.jPlayer.warningHint.OPTION_KEY
+ });
+ return undefined;
+ }
+ }
+ return opt;
+ }
+
+ // Enables use: options("someOptionObject", someObject}). Creates: {someOptionObject:someObject}
+ // Enables use: options("someOption", someValue). Creates: {someOption:someValue}
+ // Enables use: options("someOptionObject.someOption", someValue). Creates: {someOptionObject:{someOption:someValue}}
+
+ options = {};
+ var opts = options;
+
+ for(var j = 0; j < keys.length; j++) {
+ if(j < keys.length - 1) {
+ opts[keys[j]] = {};
+ opts = opts[keys[j]];
+ } else {
+ opts[keys[j]] = value;
+ }
+ }
+ }
+
+ // Otherwise enables use: options(optionObject). Uses original object (the key)
+
+ this._setOptions(options);
+
+ return this;
+ },
+ _setOptions: function(options) {
+ var self = this;
+ $.each(options, function(key, value) { // This supports the 2 level depth that the options of jPlayer has. Would review if we ever need more depth.
+ self._setOption(key, value);
+ });
+
+ return this;
+ },
+ _setOption: function(key, value) {
+ var self = this;
+
+ // The ability to set options is limited at this time.
+
+ switch(key) {
+ case "volume" :
+ this.volume(value);
+ break;
+ case "muted" :
+ this._muted(value);
+ break;
+ case "globalVolume" :
+ this.options[key] = value;
+ break;
+ case "cssSelectorAncestor" :
+ this._cssSelectorAncestor(value); // Set and refresh all associations for the new ancestor.
+ break;
+ case "cssSelector" :
+ $.each(value, function(fn, cssSel) {
+ self._cssSelector(fn, cssSel); // NB: The option is set inside this function, after further validity checks.
+ });
+ break;
+ case "playbackRate" :
+ this.options[key] = value = this._limitValue(value, this.options.minPlaybackRate, this.options.maxPlaybackRate);
+ if(this.html.used) {
+ this._html_setProperty('playbackRate', value);
+ }
+ this._updatePlaybackRate();
+ break;
+ case "defaultPlaybackRate" :
+ this.options[key] = value = this._limitValue(value, this.options.minPlaybackRate, this.options.maxPlaybackRate);
+ if(this.html.used) {
+ this._html_setProperty('defaultPlaybackRate', value);
+ }
+ this._updatePlaybackRate();
+ break;
+ case "minPlaybackRate" :
+ this.options[key] = value = this._limitValue(value, 0.1, this.options.maxPlaybackRate - 0.1);
+ this._updatePlaybackRate();
+ break;
+ case "maxPlaybackRate" :
+ this.options[key] = value = this._limitValue(value, this.options.minPlaybackRate + 0.1, 16);
+ this._updatePlaybackRate();
+ break;
+ case "fullScreen" :
+ if(this.options[key] !== value) { // if changed
+ var wkv = $.jPlayer.nativeFeatures.fullscreen.used.webkitVideo;
+ if(!wkv || wkv && !this.status.waitForPlay) {
+ if(!wkv) { // No sensible way to unset option on these devices.
+ this.options[key] = value;
+ }
+ if(value) {
+ this._requestFullscreen();
+ } else {
+ this._exitFullscreen();
+ }
+ if(!wkv) {
+ this._setOption("fullWindow", value);
+ }
+ }
+ }
+ break;
+ case "fullWindow" :
+ if(this.options[key] !== value) { // if changed
+ this._removeUiClass();
+ this.options[key] = value;
+ this._refreshSize();
+ }
+ break;
+ case "size" :
+ if(!this.options.fullWindow && this.options[key].cssClass !== value.cssClass) {
+ this._removeUiClass();
+ }
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this._refreshSize();
+ break;
+ case "sizeFull" :
+ if(this.options.fullWindow && this.options[key].cssClass !== value.cssClass) {
+ this._removeUiClass();
+ }
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this._refreshSize();
+ break;
+ case "autohide" :
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this._updateAutohide();
+ break;
+ case "loop" :
+ this._loop(value);
+ break;
+ case "nativeVideoControls" :
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls);
+ this._restrictNativeVideoControls();
+ this._updateNativeVideoControls();
+ break;
+ case "noFullWindow" :
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this.status.nativeVideoControls = this._uaBlocklist(this.options.nativeVideoControls); // Need to check again as noFullWindow can depend on this flag and the restrict() can override it.
+ this.status.noFullWindow = this._uaBlocklist(this.options.noFullWindow);
+ this._restrictNativeVideoControls();
+ this._updateButtons();
+ break;
+ case "noVolume" :
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ this.status.noVolume = this._uaBlocklist(this.options.noVolume);
+ this._updateVolume();
+ this._updateMute();
+ break;
+ case "emulateHtml" :
+ if(this.options[key] !== value) { // To avoid multiple event handlers being created, if true already.
+ this.options[key] = value;
+ if(value) {
+ this._emulateHtmlBridge();
+ } else {
+ this._destroyHtmlBridge();
+ }
+ }
+ break;
+ case "timeFormat" :
+ this.options[key] = $.extend({}, this.options[key], value); // store a merged copy of it, incase not all properties changed.
+ break;
+ case "keyEnabled" :
+ this.options[key] = value;
+ if(!value && this === $.jPlayer.focus) {
+ $.jPlayer.focus = null;
+ }
+ break;
+ case "keyBindings" :
+ this.options[key] = $.extend(true, {}, this.options[key], value); // store a merged DEEP copy of it, incase not all properties changed.
+ break;
+ case "audioFullScreen" :
+ this.options[key] = value;
+ break;
+ }
+
+ return this;
+ },
+ // End of: (Options code adapted from ui.widget.js)
+
+ _refreshSize: function() {
+ this._setSize(); // update status and jPlayer element size
+ this._addUiClass(); // update the ui class
+ this._updateSize(); // update internal sizes
+ this._updateButtons();
+ this._updateAutohide();
+ this._trigger($.jPlayer.event.resize);
+ },
+ _setSize: function() {
+ // Determine the current size from the options
+ if(this.options.fullWindow) {
+ this.status.width = this.options.sizeFull.width;
+ this.status.height = this.options.sizeFull.height;
+ this.status.cssClass = this.options.sizeFull.cssClass;
+ } else {
+ this.status.width = this.options.size.width;
+ this.status.height = this.options.size.height;
+ this.status.cssClass = this.options.size.cssClass;
+ }
+
+ // Set the size of the jPlayer area.
+ this.element.css({'width': this.status.width, 'height': this.status.height});
+ },
+ _addUiClass: function() {
+ if(this.ancestorJq.length) {
+ this.ancestorJq.addClass(this.status.cssClass);
+ }
+ },
+ _removeUiClass: function() {
+ if(this.ancestorJq.length) {
+ this.ancestorJq.removeClass(this.status.cssClass);
+ }
+ },
+ _updateSize: function() {
+ // The poster uses show/hide so can simply resize it.
+ this.internal.poster.jq.css({'width': this.status.width, 'height': this.status.height});
+
+ // Video html or flash resized if necessary at this time, or if native video controls being used.
+ if(!this.status.waitForPlay && this.html.active && this.status.video || this.html.video.available && this.html.used && this.status.nativeVideoControls) {
+ this.internal.video.jq.css({'width': this.status.width, 'height': this.status.height});
+ }
+ else if(!this.status.waitForPlay && this.flash.active && this.status.video) {
+ this.internal.flash.jq.css({'width': this.status.width, 'height': this.status.height});
+ }
+ },
+ _updateAutohide: function() {
+ var self = this,
+ event = "mousemove.jPlayer",
+ namespace = ".jPlayerAutohide",
+ eventType = event + namespace,
+ handler = function() {
+ self.css.jq.gui.fadeIn(self.options.autohide.fadeIn, function() {
+ clearTimeout(self.internal.autohideId);
+ self.internal.autohideId = setTimeout( function() {
+ self.css.jq.gui.fadeOut(self.options.autohide.fadeOut);
+ }, self.options.autohide.hold);
+ });
+ };
+
+ if(this.css.jq.gui.length) {
+
+ // End animations first so that its callback is executed now.
+ // Otherwise an in progress fadeIn animation still has the callback to fadeOut again.
+ this.css.jq.gui.stop(true, true);
+
+ // Removes the fadeOut operation from the fadeIn callback.
+ clearTimeout(this.internal.autohideId);
+
+ this.element.unbind(namespace);
+ this.css.jq.gui.unbind(namespace);
+
+ if(!this.status.nativeVideoControls) {
+ if(this.options.fullWindow && this.options.autohide.full || !this.options.fullWindow && this.options.autohide.restored) {
+ this.element.bind(eventType, handler);
+ this.css.jq.gui.bind(eventType, handler);
+ this.css.jq.gui.hide();
+ } else {
+ this.css.jq.gui.show();
+ }
+ } else {
+ this.css.jq.gui.hide();
+ }
+ }
+ },
+ fullScreen: function() {
+ this._setOption("fullScreen", true);
+ },
+ restoreScreen: function() {
+ this._setOption("fullScreen", false);
+ },
+ _fullscreenAddEventListeners: function() {
+ var self = this,
+ fs = $.jPlayer.nativeFeatures.fullscreen;
+
+ if(fs.api.fullscreenEnabled) {
+ if(fs.event.fullscreenchange) {
+ // Create the event handler function and store it for removal.
+ if(typeof this.internal.fullscreenchangeHandler !== 'function') {
+ this.internal.fullscreenchangeHandler = function() {
+ self._fullscreenchange();
+ };
+ }
+ document.addEventListener(fs.event.fullscreenchange, this.internal.fullscreenchangeHandler, false);
+ }
+ // No point creating handler for fullscreenerror.
+ // Either logic avoids fullscreen occurring (w3c/moz), or their is no event on the browser (webkit).
+ }
+ },
+ _fullscreenRemoveEventListeners: function() {
+ var fs = $.jPlayer.nativeFeatures.fullscreen;
+ if(this.internal.fullscreenchangeHandler) {
+ document.addEventListener(fs.event.fullscreenchange, this.internal.fullscreenchangeHandler, false);
+ }
+ },
+ _fullscreenchange: function() {
+ // If nothing is fullscreen, then we cannot be in fullscreen mode.
+ if(this.options.fullScreen && !$.jPlayer.nativeFeatures.fullscreen.api.fullscreenElement()) {
+ this._setOption("fullScreen", false);
+ }
+ },
+ _requestFullscreen: function() {
+ // Either the container or the jPlayer div
+ var e = this.ancestorJq.length ? this.ancestorJq[0] : this.element[0],
+ fs = $.jPlayer.nativeFeatures.fullscreen;
+
+ // This method needs the video element. For iOS and Android.
+ if(fs.used.webkitVideo) {
+ e = this.htmlElement.video;
+ }
+
+ if(fs.api.fullscreenEnabled) {
+ fs.api.requestFullscreen(e);
+ }
+ },
+ _exitFullscreen: function() {
+
+ var fs = $.jPlayer.nativeFeatures.fullscreen,
+ e;
+
+ // This method needs the video element. For iOS and Android.
+ if(fs.used.webkitVideo) {
+ e = this.htmlElement.video;
+ }
+
+ if(fs.api.fullscreenEnabled) {
+ fs.api.exitFullscreen(e);
+ }
+ },
+ _html_initMedia: function(media) {
+ // Remove any existing track elements
+ var $media = $(this.htmlElement.media).empty();
+
+ // Create any track elements given with the media, as an Array of track Objects.
+ $.each(media.track || [], function(i,v) {
+ var track = document.createElement('track');
+ track.setAttribute("kind", v.kind ? v.kind : "");
+ track.setAttribute("src", v.src ? v.src : "");
+ track.setAttribute("srclang", v.srclang ? v.srclang : "");
+ track.setAttribute("label", v.label ? v.label : "");
+ if(v.def) {
+ track.setAttribute("default", v.def);
+ }
+ $media.append(track);
+ });
+
+ this.htmlElement.media.src = this.status.src;
+
+ if(this.options.preload !== 'none') {
+ this._html_load(); // See function for comments
+ }
+ this._trigger($.jPlayer.event.timeupdate); // The flash generates this event for its solution.
+ },
+ _html_setFormat: function(media) {
+ var self = this;
+ // Always finds a format due to checks in setMedia()
+ $.each(this.formats, function(priority, format) {
+ if(self.html.support[format] && media[format]) {
+ self.status.src = media[format];
+ self.status.format[format] = true;
+ self.status.formatType = format;
+ return false;
+ }
+ });
+ },
+ _html_setAudio: function(media) {
+ this._html_setFormat(media);
+ this.htmlElement.media = this.htmlElement.audio;
+ this._html_initMedia(media);
+ },
+ _html_setVideo: function(media) {
+ this._html_setFormat(media);
+ if(this.status.nativeVideoControls) {
+ this.htmlElement.video.poster = this._validString(media.poster) ? media.poster : "";
+ }
+ this.htmlElement.media = this.htmlElement.video;
+ this._html_initMedia(media);
+ },
+ _html_resetMedia: function() {
+ if(this.htmlElement.media) {
+ if(this.htmlElement.media.id === this.internal.video.id && !this.status.nativeVideoControls) {
+ this.internal.video.jq.css({'width':'0px', 'height':'0px'});
+ }
+ this.htmlElement.media.pause();
+ }
+ },
+ _html_clearMedia: function() {
+ if(this.htmlElement.media) {
+ this.htmlElement.media.src = "about:blank";
+ // The following load() is only required for Firefox 3.6 (PowerMacs).
+ // Recent HTMl5 browsers only require the src change. Due to changes in W3C spec and load() effect.
+ this.htmlElement.media.load(); // Stops an old, "in progress" download from continuing the download. Triggers the loadstart, error and emptied events, due to the empty src. Also an abort event if a download was in progress.
+ }
+ },
+ _html_load: function() {
+ // This function remains to allow the early HTML5 browsers to work, such as Firefox 3.6
+ // A change in the W3C spec for the media.load() command means that this is no longer necessary.
+ // This command should be removed and actually causes minor undesirable effects on some browsers. Such as loading the whole file and not only the metadata.
+ if(this.status.waitForLoad) {
+ this.status.waitForLoad = false;
+ this.htmlElement.media.load();
+ }
+ clearTimeout(this.internal.htmlDlyCmdId);
+ },
+ _html_play: function(time) {
+ var self = this,
+ media = this.htmlElement.media;
+
+ this._html_load(); // Loads if required and clears any delayed commands.
+
+ if(!isNaN(time)) {
+
+ // Attempt to play it, since iOS has been ignoring commands
+ if(this.internal.cmdsIgnored) {
+ media.play();
+ }
+
+ try {
+ // !media.seekable is for old HTML5 browsers, like Firefox 3.6.
+ // Checking seekable.length is important for iOS6 to work with setMedia().play(time)
+ if(!media.seekable || typeof media.seekable === "object" && media.seekable.length > 0) {
+ media.currentTime = time;
+ media.play();
+ } else {
+ throw 1;
+ }
+ } catch(err) {
+ this.internal.htmlDlyCmdId = setTimeout(function() {
+ self.play(time);
+ }, 250);
+ return; // Cancel execution and wait for the delayed command.
+ }
+ } else {
+ media.play();
+ }
+ this._html_checkWaitForPlay();
+ },
+ _html_pause: function(time) {
+ var self = this,
+ media = this.htmlElement.media;
+
+ if(time > 0) { // We do not want the stop() command, which does pause(0), causing a load operation.
+ this._html_load(); // Loads if required and clears any delayed commands.
+ } else {
+ clearTimeout(this.internal.htmlDlyCmdId);
+ }
+
+ // Order of these commands is important for Safari (Win) and IE9. Pause then change currentTime.
+ media.pause();
+
+ if(!isNaN(time)) {
+ try {
+ if(!media.seekable || typeof media.seekable === "object" && media.seekable.length > 0) {
+ media.currentTime = time;
+ } else {
+ throw 1;
+ }
+ } catch(err) {
+ this.internal.htmlDlyCmdId = setTimeout(function() {
+ self.pause(time);
+ }, 250);
+ return; // Cancel execution and wait for the delayed command.
+ }
+ }
+ if(time > 0) { // Avoids a setMedia() followed by stop() or pause(0) hiding the video play button.
+ this._html_checkWaitForPlay();
+ }
+ },
+ _html_playHead: function(percent) {
+ var self = this,
+ media = this.htmlElement.media;
+
+ this._html_load(); // Loads if required and clears any delayed commands.
+
+ try {
+ if(typeof media.seekable === "object" && media.seekable.length > 0) {
+ media.currentTime = percent * media.seekable.end(media.seekable.length-1) / 100;
+ } else if(media.duration > 0 && !isNaN(media.duration)) {
+ media.currentTime = percent * media.duration / 100;
+ } else {
+ throw "e";
+ }
+ } catch(err) {
+ this.internal.htmlDlyCmdId = setTimeout(function() {
+ self.playHead(percent);
+ }, 250);
+ return; // Cancel execution and wait for the delayed command.
+ }
+ if(!this.status.waitForLoad) {
+ this._html_checkWaitForPlay();
+ }
+ },
+ _html_checkWaitForPlay: function() {
+ if(this.status.waitForPlay) {
+ this.status.waitForPlay = false;
+ if(this.css.jq.videoPlay.length) {
+ this.css.jq.videoPlay.hide();
+ }
+ if(this.status.video) {
+ this.internal.poster.jq.hide();
+ this.internal.video.jq.css({'width': this.status.width, 'height': this.status.height});
+ }
+ }
+ },
+ _html_setProperty: function(property, value) {
+ if(this.html.audio.available) {
+ this.htmlElement.audio[property] = value;
+ }
+ if(this.html.video.available) {
+ this.htmlElement.video[property] = value;
+ }
+ },
+ _flash_setAudio: function(media) {
+ var self = this;
+ try {
+ // Always finds a format due to checks in setMedia()
+ $.each(this.formats, function(priority, format) {
+ if(self.flash.support[format] && media[format]) {
+ switch (format) {
+ case "m4a" :
+ case "fla" :
+ self._getMovie().fl_setAudio_m4a(media[format]);
+ break;
+ case "mp3" :
+ self._getMovie().fl_setAudio_mp3(media[format]);
+ break;
+ case "rtmpa":
+ self._getMovie().fl_setAudio_rtmp(media[format]);
+ break;
+ }
+ self.status.src = media[format];
+ self.status.format[format] = true;
+ self.status.formatType = format;
+ return false;
+ }
+ });
+
+ if(this.options.preload === 'auto') {
+ this._flash_load();
+ this.status.waitForLoad = false;
+ }
+ } catch(err) { this._flashError(err); }
+ },
+ _flash_setVideo: function(media) {
+ var self = this;
+ try {
+ // Always finds a format due to checks in setMedia()
+ $.each(this.formats, function(priority, format) {
+ if(self.flash.support[format] && media[format]) {
+ switch (format) {
+ case "m4v" :
+ case "flv" :
+ self._getMovie().fl_setVideo_m4v(media[format]);
+ break;
+ case "rtmpv":
+ self._getMovie().fl_setVideo_rtmp(media[format]);
+ break;
+ }
+ self.status.src = media[format];
+ self.status.format[format] = true;
+ self.status.formatType = format;
+ return false;
+ }
+ });
+
+ if(this.options.preload === 'auto') {
+ this._flash_load();
+ this.status.waitForLoad = false;
+ }
+ } catch(err) { this._flashError(err); }
+ },
+ _flash_resetMedia: function() {
+ this.internal.flash.jq.css({'width':'0px', 'height':'0px'}); // Must do via CSS as setting attr() to zero causes a jQuery error in IE.
+ this._flash_pause(NaN);
+ },
+ _flash_clearMedia: function() {
+ try {
+ this._getMovie().fl_clearMedia();
+ } catch(err) { this._flashError(err); }
+ },
+ _flash_load: function() {
+ try {
+ this._getMovie().fl_load();
+ } catch(err) { this._flashError(err); }
+ this.status.waitForLoad = false;
+ },
+ _flash_play: function(time) {
+ try {
+ this._getMovie().fl_play(time);
+ } catch(err) { this._flashError(err); }
+ this.status.waitForLoad = false;
+ this._flash_checkWaitForPlay();
+ },
+ _flash_pause: function(time) {
+ try {
+ this._getMovie().fl_pause(time);
+ } catch(err) { this._flashError(err); }
+ if(time > 0) { // Avoids a setMedia() followed by stop() or pause(0) hiding the video play button.
+ this.status.waitForLoad = false;
+ this._flash_checkWaitForPlay();
+ }
+ },
+ _flash_playHead: function(p) {
+ try {
+ this._getMovie().fl_play_head(p);
+ } catch(err) { this._flashError(err); }
+ if(!this.status.waitForLoad) {
+ this._flash_checkWaitForPlay();
+ }
+ },
+ _flash_checkWaitForPlay: function() {
+ if(this.status.waitForPlay) {
+ this.status.waitForPlay = false;
+ if(this.css.jq.videoPlay.length) {
+ this.css.jq.videoPlay.hide();
+ }
+ if(this.status.video) {
+ this.internal.poster.jq.hide();
+ this.internal.flash.jq.css({'width': this.status.width, 'height': this.status.height});
+ }
+ }
+ },
+ _flash_volume: function(v) {
+ try {
+ this._getMovie().fl_volume(v);
+ } catch(err) { this._flashError(err); }
+ },
+ _flash_mute: function(m) {
+ try {
+ this._getMovie().fl_mute(m);
+ } catch(err) { this._flashError(err); }
+ },
+ _getMovie: function() {
+ return document[this.internal.flash.id];
+ },
+ _getFlashPluginVersion: function() {
+
+ // _getFlashPluginVersion() code influenced by:
+ // - FlashReplace 1.01: http://code.google.com/p/flashreplace/
+ // - SWFObject 2.2: http://code.google.com/p/swfobject/
+
+ var version = 0,
+ flash;
+ if(window.ActiveXObject) {
+ try {
+ flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
+ if (flash) { // flash will return null when ActiveX is disabled
+ var v = flash.GetVariable("$version");
+ if(v) {
+ v = v.split(" ")[1].split(",");
+ version = parseInt(v[0], 10) + "." + parseInt(v[1], 10);
+ }
+ }
+ } catch(e) {}
+ }
+ else if(navigator.plugins && navigator.mimeTypes.length > 0) {
+ flash = navigator.plugins["Shockwave Flash"];
+ if(flash) {
+ version = navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/, "$1");
+ }
+ }
+ return version * 1; // Converts to a number
+ },
+ _checkForFlash: function (version) {
+ var flashOk = false;
+ if(this._getFlashPluginVersion() >= version) {
+ flashOk = true;
+ }
+ return flashOk;
+ },
+ _validString: function(url) {
+ return (url && typeof url === "string"); // Empty strings return false
+ },
+ _limitValue: function(value, min, max) {
+ return (value < min) ? min : ((value > max) ? max : value);
+ },
+ _urlNotSetError: function(context) {
+ this._error( {
+ type: $.jPlayer.error.URL_NOT_SET,
+ context: context,
+ message: $.jPlayer.errorMsg.URL_NOT_SET,
+ hint: $.jPlayer.errorHint.URL_NOT_SET
+ });
+ },
+ _flashError: function(error) {
+ var errorType;
+ if(!this.internal.ready) {
+ errorType = "FLASH";
+ } else {
+ errorType = "FLASH_DISABLED";
+ }
+ this._error( {
+ type: $.jPlayer.error[errorType],
+ context: this.internal.flash.swf,
+ message: $.jPlayer.errorMsg[errorType] + error.message,
+ hint: $.jPlayer.errorHint[errorType]
+ });
+ // Allow the audio player to recover if display:none and then shown again, or with position:fixed on Firefox.
+ // This really only affects audio in a media player, as an audio player could easily move the jPlayer element away from such issues.
+ this.internal.flash.jq.css({'width':'1px', 'height':'1px'});
+ },
+ _error: function(error) {
+ this._trigger($.jPlayer.event.error, error);
+ if(this.options.errorAlerts) {
+ this._alert("Error!" + (error.message ? "\n" + error.message : "") + (error.hint ? "\n" + error.hint : "") + "\nContext: " + error.context);
+ }
+ },
+ _warning: function(warning) {
+ this._trigger($.jPlayer.event.warning, undefined, warning);
+ if(this.options.warningAlerts) {
+ this._alert("Warning!" + (warning.message ? "\n" + warning.message : "") + (warning.hint ? "\n" + warning.hint : "") + "\nContext: " + warning.context);
+ }
+ },
+ _alert: function(message) {
+ var msg = "jPlayer " + this.version.script + " : id='" + this.internal.self.id +"' : " + message;
+ if(!this.options.consoleAlerts) {
+ alert(msg);
+ } else if(window.console && window.console.log) {
+ window.console.log(msg);
+ }
+ },
+ _emulateHtmlBridge: function() {
+ var self = this;
+
+ // Emulate methods on jPlayer's DOM element.
+ $.each( $.jPlayer.emulateMethods.split(/\s+/g), function(i, name) {
+ self.internal.domNode[name] = function(arg) {
+ self[name](arg);
+ };
+
+ });
+
+ // Bubble jPlayer events to its DOM element.
+ $.each($.jPlayer.event, function(eventName,eventType) {
+ var nativeEvent = true;
+ $.each( $.jPlayer.reservedEvent.split(/\s+/g), function(i, name) {
+ if(name === eventName) {
+ nativeEvent = false;
+ return false;
+ }
+ });
+ if(nativeEvent) {
+ self.element.bind(eventType + ".jPlayer.jPlayerHtml", function() { // With .jPlayer & .jPlayerHtml namespaces.
+ self._emulateHtmlUpdate();
+ var domEvent = document.createEvent("Event");
+ domEvent.initEvent(eventName, false, true);
+ self.internal.domNode.dispatchEvent(domEvent);
+ });
+ }
+ // The error event would require a special case
+ });
+
+ // IE9 has a readyState property on all elements. The document should have it, but all (except media) elements inherit it in IE9. This conflicts with Popcorn, which polls the readyState.
+ },
+ _emulateHtmlUpdate: function() {
+ var self = this;
+
+ $.each( $.jPlayer.emulateStatus.split(/\s+/g), function(i, name) {
+ self.internal.domNode[name] = self.status[name];
+ });
+ $.each( $.jPlayer.emulateOptions.split(/\s+/g), function(i, name) {
+ self.internal.domNode[name] = self.options[name];
+ });
+ },
+ _destroyHtmlBridge: function() {
+ var self = this;
+
+ // Bridge event handlers are also removed by destroy() through .jPlayer namespace.
+ this.element.unbind(".jPlayerHtml"); // Remove all event handlers created by the jPlayer bridge. So you can change the emulateHtml option.
+
+ // Remove the methods and properties
+ var emulated = $.jPlayer.emulateMethods + " " + $.jPlayer.emulateStatus + " " + $.jPlayer.emulateOptions;
+ $.each( emulated.split(/\s+/g), function(i, name) {
+ delete self.internal.domNode[name];
+ });
+ }
+ };
+
+ $.jPlayer.error = {
+ FLASH: "e_flash",
+ FLASH_DISABLED: "e_flash_disabled",
+ NO_SOLUTION: "e_no_solution",
+ NO_SUPPORT: "e_no_support",
+ URL: "e_url",
+ URL_NOT_SET: "e_url_not_set",
+ VERSION: "e_version"
+ };
+
+ $.jPlayer.errorMsg = {
+ FLASH: "jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ", // Used in: _flashError()
+ FLASH_DISABLED: "jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ", // Used in: _flashError()
+ NO_SOLUTION: "No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.", // Used in: _init()
+ NO_SUPPORT: "It is not possible to play any media format provided in setMedia() on this browser using your current options.", // Used in: setMedia()
+ URL: "Media URL could not be loaded.", // Used in: jPlayerFlashEvent() and _addHtmlEventListeners()
+ URL_NOT_SET: "Attempt to issue media playback commands, while no media url is set.", // Used in: load(), play(), pause(), stop() and playHead()
+ VERSION: "jPlayer " + $.jPlayer.prototype.version.script + " needs Jplayer.swf version " + $.jPlayer.prototype.version.needFlash + " but found " // Used in: jPlayerReady()
+ };
+
+ $.jPlayer.errorHint = {
+ FLASH: "Check your swfPath option and that Jplayer.swf is there.",
+ FLASH_DISABLED: "Check that you have not display:none; the jPlayer entity or any ancestor.",
+ NO_SOLUTION: "Review the jPlayer options: support and supplied.",
+ NO_SUPPORT: "Video or audio formats defined in the supplied option are missing.",
+ URL: "Check media URL is valid.",
+ URL_NOT_SET: "Use setMedia() to set the media URL.",
+ VERSION: "Update jPlayer files."
+ };
+
+ $.jPlayer.warning = {
+ CSS_SELECTOR_COUNT: "e_css_selector_count",
+ CSS_SELECTOR_METHOD: "e_css_selector_method",
+ CSS_SELECTOR_STRING: "e_css_selector_string",
+ OPTION_KEY: "e_option_key"
+ };
+
+ $.jPlayer.warningMsg = {
+ CSS_SELECTOR_COUNT: "The number of css selectors found did not equal one: ",
+ CSS_SELECTOR_METHOD: "The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",
+ CSS_SELECTOR_STRING: "The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",
+ OPTION_KEY: "The option requested in jPlayer('option') is undefined."
+ };
+
+ $.jPlayer.warningHint = {
+ CSS_SELECTOR_COUNT: "Check your css selector and the ancestor.",
+ CSS_SELECTOR_METHOD: "Check your method name.",
+ CSS_SELECTOR_STRING: "Check your css selector is a string.",
+ OPTION_KEY: "Check your option name."
+ };
+}));
\ No newline at end of file
diff --git a/issues/music/assets/jplayer/jquery.jplayer.js.REMOVED.git-id b/issues/music/assets/jplayer/jquery.jplayer.js.REMOVED.git-id
deleted file mode 100644
index 65e350ad..00000000
--- a/issues/music/assets/jplayer/jquery.jplayer.js.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-09ce64aa2afe5bf453b6624898969770b78f9cad
\ No newline at end of file
diff --git a/issues/music/assets/preview.jpg b/issues/music/assets/preview.jpg
new file mode 100644
index 00000000..eeee3c5f
Binary files /dev/null and b/issues/music/assets/preview.jpg differ
diff --git a/issues/music/assets/toc/1-styling-it-out.jpg b/issues/music/assets/toc/1-styling-it-out.jpg
new file mode 100644
index 00000000..9fe770de
Binary files /dev/null and b/issues/music/assets/toc/1-styling-it-out.jpg differ
diff --git a/issues/music/assets/toc/1-styling-it-out.jpg.REMOVED.git-id b/issues/music/assets/toc/1-styling-it-out.jpg.REMOVED.git-id
deleted file mode 100644
index 3e126d21..00000000
--- a/issues/music/assets/toc/1-styling-it-out.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d10aed17cd075778f7a7b9d068b84e2525e6da3f
\ No newline at end of file
diff --git a/issues/music/assets/toc/2-head-or-heart.jpg b/issues/music/assets/toc/2-head-or-heart.jpg
new file mode 100644
index 00000000..2f82cf88
Binary files /dev/null and b/issues/music/assets/toc/2-head-or-heart.jpg differ
diff --git a/issues/music/assets/toc/2-head-or-heart.jpg.REMOVED.git-id b/issues/music/assets/toc/2-head-or-heart.jpg.REMOVED.git-id
deleted file mode 100644
index 4f1228f1..00000000
--- a/issues/music/assets/toc/2-head-or-heart.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-8fc6c667515c727af49d1fb0ac2102dff34bb291
\ No newline at end of file
diff --git a/issues/music/assets/toc/3-shop-the-shoot.jpg b/issues/music/assets/toc/3-shop-the-shoot.jpg
index 245ab62d..c693931c 100644
Binary files a/issues/music/assets/toc/3-shop-the-shoot.jpg and b/issues/music/assets/toc/3-shop-the-shoot.jpg differ
diff --git a/issues/music/assets/toc/4-beauty.jpg b/issues/music/assets/toc/4-beauty.jpg
index 902edb2b..59a67e03 100644
Binary files a/issues/music/assets/toc/4-beauty.jpg and b/issues/music/assets/toc/4-beauty.jpg differ
diff --git a/issues/music/assets/toc/5-travel.jpg b/issues/music/assets/toc/5-travel.jpg
new file mode 100644
index 00000000..1baf730a
Binary files /dev/null and b/issues/music/assets/toc/5-travel.jpg differ
diff --git a/issues/music/assets/toc/5-travel.jpg.REMOVED.git-id b/issues/music/assets/toc/5-travel.jpg.REMOVED.git-id
deleted file mode 100644
index e03bbd23..00000000
--- a/issues/music/assets/toc/5-travel.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c158e082f800d9fb2d6cbecf95bc7b4393d6bf6e
\ No newline at end of file
diff --git a/issues/music/assets/toc/6-behind-the-scene.jpg b/issues/music/assets/toc/6-behind-the-scene.jpg
index 28e1c87a..86dd6ed8 100644
Binary files a/issues/music/assets/toc/6-behind-the-scene.jpg and b/issues/music/assets/toc/6-behind-the-scene.jpg differ
diff --git a/issues/music/assets/toc/background.jpg b/issues/music/assets/toc/background.jpg
index 3167418b..0ba50286 100644
Binary files a/issues/music/assets/toc/background.jpg and b/issues/music/assets/toc/background.jpg differ
diff --git a/issues/music/assets/toc/brand_logo.png b/issues/music/assets/toc/brand_logo.png
index 8a67946a..fac73f8e 100644
Binary files a/issues/music/assets/toc/brand_logo.png and b/issues/music/assets/toc/brand_logo.png differ
diff --git a/issues/music/assets/toc/editors-letter.jpg b/issues/music/assets/toc/editors-letter.jpg
index 720fc786..06bee908 100644
Binary files a/issues/music/assets/toc/editors-letter.jpg and b/issues/music/assets/toc/editors-letter.jpg differ
diff --git a/issues/music/assets/toc/img-Y20082628-vert.jpg b/issues/music/assets/toc/img-Y20082628-vert.jpg
new file mode 100755
index 00000000..b97d33e2
Binary files /dev/null and b/issues/music/assets/toc/img-Y20082628-vert.jpg differ
diff --git a/issues/music/assets/toc/img-Y20082628-vert.jpg.REMOVED.git-id b/issues/music/assets/toc/img-Y20082628-vert.jpg.REMOVED.git-id
deleted file mode 100644
index 495735fc..00000000
--- a/issues/music/assets/toc/img-Y20082628-vert.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-bbec67af215b4433cd5c15b7ac8f94d178bf5491
\ No newline at end of file
diff --git a/issues/music/assets/toc/img-Y20082755.jpg b/issues/music/assets/toc/img-Y20082755.jpg
new file mode 100755
index 00000000..29283d0c
Binary files /dev/null and b/issues/music/assets/toc/img-Y20082755.jpg differ
diff --git a/issues/music/assets/toc/img-Y20082755.jpg.REMOVED.git-id b/issues/music/assets/toc/img-Y20082755.jpg.REMOVED.git-id
deleted file mode 100644
index ba93d098..00000000
--- a/issues/music/assets/toc/img-Y20082755.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-b2e35980bb85ba9cb1fc72fd3cc090dc19c584de
\ No newline at end of file
diff --git a/issues/music/assets/toc/img-Y20082859.jpg b/issues/music/assets/toc/img-Y20082859.jpg
new file mode 100755
index 00000000..1b1419b7
Binary files /dev/null and b/issues/music/assets/toc/img-Y20082859.jpg differ
diff --git a/issues/music/assets/toc/img-Y20082859.jpg.REMOVED.git-id b/issues/music/assets/toc/img-Y20082859.jpg.REMOVED.git-id
deleted file mode 100644
index e0c3fc9a..00000000
--- a/issues/music/assets/toc/img-Y20082859.jpg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-cd47176b99cc9a9329edfd36f4cc4fdff8f86af9
\ No newline at end of file
diff --git a/issues/music/assets/toc/pink-christina-perri.png b/issues/music/assets/toc/pink-christina-perri.png
index 9df65402..71f048d8 100644
Binary files a/issues/music/assets/toc/pink-christina-perri.png and b/issues/music/assets/toc/pink-christina-perri.png differ
diff --git a/issues/music/data/1-styling-it-out.md b/issues/music/data/1-styling-it-out.md
index bb54e5f5..1ae61a92 100644
--- a/issues/music/data/1-styling-it-out.md
+++ b/issues/music/data/1-styling-it-out.md
@@ -1,92 +1,25 @@
---
- handle: 1-styling-it-out
- category: 'Christina Perri:'
title: Styling it out
- image_url: assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg
+ category: 'Christina Perri:'
+ thumb_url: assets/toc/1-styling-it-out.jpg
+ cover_url: assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg
cover_caption: 'Minkpink Paisley Crush Dress.'
+# cover_caption: '
Minkpink Paisley Crush Dress. '
+
layout:
type: three-column
image_align: right
- products:
- - title: MINKPINK Paisley Crush Dress
- url: http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#1
- image_url: assets/1-styling-it-out/MinkPink_ChristinaPerri_0005-31_opt.jpeg
- price: 1
- description: SHOP THE MINKPINK COLLECTION
- hidden: true
----
-
-
+---
August in California, and L.A’s tribe of Beautiful People are flocking to the beaches in their hoards…but for one talented young singer-songwriter, there’s no better place to while away the days than the recording studio. It’s here that Philly-born rock chick and style maven Christina Perri feels most at home, so it made perfect sense to choose North Hollywood’s iconic Mates Studios as the location to shoot MINKPINK’s brand new global campaign
The Music Issue , fronted by the stunning songstress herself.
-
-
-
-
-
-
diff --git a/issues/music/data/1-styling-it-out/1.md b/issues/music/data/1-styling-it-out/1.md
index 81b73936..b1d21712 100644
--- a/issues/music/data/1-styling-it-out/1.md
+++ b/issues/music/data/1-styling-it-out/1.md
@@ -4,58 +4,63 @@
type: two-column
content_overflow: paginate
- products:
-
- - title: MINKPINK Rock Me Again Playsuit
- price:
- description: SHOP THE MINKPINK COLLECTION
- image_url: assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg
- url: http://shop.nordstrom.com/c/minkpink?origin=brandindex#1
- hidden: true
-
----
+ images:
+ - url: assets/1-styling-it-out/20130906-20130906MinkPink_ChristinaPerri_0006-15.jpg
+ type: image/jpeg
+ title: MINKPINK Rock Me Again Playsuit.
+ caption: Although a tomboy at heart, Christina admits the last 3 years have seen her become ‘obsessed’ with fashion.
+
+ - url: assets/1-styling-it-out/_MG_5433_1024@2x.jpg
+ caption: Her ‘favourite permanent accessory’, CP is the proud owner of over 65 tattoos - although she admits to having lost count of the exact number
+
+ - url: assets/1-styling-it-out/QUOTE.svg
+ type: image/svg+xml
+
+ - url: assets/1-styling-it-out/album.jpg
+
+ - url: assets/1-styling-it-out/badge_itunes.svg
+ type: image/svg+xml
+
+ audios:
+ - url: "assets/Christina Perri - Human.mp3"
+ thumb_url: assets/1-styling-it-out/album.jpg
+ autoplay: false
+ controls: true
+
+ videos:
+ - link: http://www.youtube.com/watch?v=8v_4O44sfjM
+ thumb_url: assets/1-styling-it-out/Jar-of-Hearts-christina-perri-16882990-1280-720.jpg
+ title: "Jar of Hearts"
+ caption: Christina’s life changed forever in 2010 when her song ‘Jar of Hearts’ was featured on hit US TV show ‘So You Think You Can Dance’
+ type: video/youtube
+ controls: true
+
+ - link: http://www.youtube.com/watch?v=rtOvBOTyX00
+ thumb_url: assets/1-styling-it-out/A-Thousand-Years-christina-perri-26451562-1920-1080.jpg
+ title: A thousands years
+ caption: Christina’s newest album ‘Head or Heart' is set for release in February 2014
+ type: video/youtube
+ controls: true
-
+
+
+
+
With her striking, uber-cool look, mane of glossy tresses and multitude of tattoos, it would be easy to feel intimidated by Christina...but the truth is she puts us instantly at ease the moment we meet her, welcoming everyone with such a genuine warmth that it’s impossible not to fall in love with her on the spot. Aself-confessed jokester with a ‘dorky’ sense of humour, Christina’s megawatt smile and laidback attitude don’t falter throughout MINKPINK’s time with her…but it’s her refreshing openness and honesty that makes us feel like we’ve been BFFs for years. She admits that her direct manner and talent for tapping into her emotions is in part down to her heritage (her father is Italian and her mother, Polish), which plays a huge role in her personality ‘I am just SO Italian and loud!’ she laughs as we flick through the racks of MINKPINK clothing that have been selected for the shoot ‘I’m a very open person so I love trying different things’.
It’s easy to forget that CP is not a professional model as she strikes up an easy rapport with stylist Mark Vassallo and photographer Mike Piscitelli, rocking out every look with effortless panache – it’s safe to say we’d definitely be feeling a touch of the green eyed monster was she not so damn frickin’ likeable!
-
-
-
-
- MINKPINK Rock Me Again Playsuit.
-
-
- Although a tomboy at heart,
- Christina admits the last three years
- have seen her become ‘obsessed’ with fashion.
-
+
Clearly her latest incarnation as global ambassador for MINKPINK (a brand she describes as ‘one of [her] all time favourites’) has got Christina seriously hyped ‘I am so honoured to have been chosen’ she grins ‘it’s like a little dream come true!’, and judging on recent times, this is one style-savvy babe who is no stranger to dreams coming true. Having gone from waitress to worldwide singing sensation in what seems like the blink of an eye, the past three years have seen Christina’s career skyrocket – her previous albums have both gone multiplatinum and her music has featured on the soundtrack of cult movie franchise
Twilight as well as hit TV show
Glee . With new album
Head or Heart set for release very soon, her success looks only set to continue.
Barely out of nappies when she discovered her love of singing, it was when Christina’s adored older brother Nick left home to pursue his dreams as lead guitarist in band
Silvertide that her talent as a songwriter was unearthed; ‘I picked up my brother’s old guitar and taught myself because I missed the sound of his playing so much...and then all of a sudden these songs would appear!’ she tells us. But it was her first taste of love at 15 that proved to be the biggest source of inspiration for her music. As they say, the first cut is the deepest…and never was this truer than for Miss Perri. A relationship that went through countless twists and turns over the course of six years, its eventual breakdown resulted in Christina penning THAT song – the rest, as they say, is history. On her 21st birthday, the gutsy singer decided enough was enough, packed up her guitar and left behind the city she had always called home to follow her dreams, 3000 miles away in LA.
-
-
-
- Christina’s life changed forever in 2010
- when her song ‘Jar of Hearts’ was featured on hit
- US TV show ‘So You Think You Can Dance’
-
+
Things weren’t exactly plain sailing from there however. Not long after her arrival on the West Coast, Christina found herself head over heels in love once again – this time with an LA music producer. A textbook whirlwind romance ensued, and within weeks they were married. Sadly it wasn’t to be; ‘I was married at 21 and divorced at 22’ she tells us candidly. It’s testament to her character that Christina has managed to stay close to her ex-husband ‘We laugh about it now… it’s like, hey, remember that time when we were
married?!’ she smiles.
@@ -71,31 +76,18 @@ next thing I know I’m on national television on
The Tonight Show with Jay
fame. When asked how she has managed to stay so level headed throughout, she admits ‘I can’t think about it. I just stay connected to my friends and family and don’t take myself too seriously…I think that’s really how I get through it. I am exactly the same person on stage as I am on a night out with friends. I just try to enjoy it.’
-
-
-
-
-
-
- Her ‘favourite permanent accessory’, CP is the proud owner of over 65 tattoos - although she admits to having lost count of the exact number
-
+
We have to say, we admire her outlook…but what really drew MINKPINK to CP straight off the bat was undoubtedly her unique style. Embodying what it means to be a MINKPINK girl, Christina is someone who really Owns It, always up for taking a risk and trying something new. Never the wallflower, she admits to using tattoos – her ‘favourite permanent accessory’ – as a form of creative expression (she is the proud owner of ‘over 65’, but confesses to having lost count of the exact number - a nod to her wilder past perhaps?). ‘I should regret a couple of risqué ones…but I don’t’ she tells us frankly as we admire her left wrist, inked with names
of all four Beatles – a band that she describes as one of her biggest sources of inspiration. Without a doubt, this devil-may-care attitude only adds to Perri’s appeal.
-
+
-When it comes to her enviable style, she is modest; ‘Any type of ‘style’ I have happened sort of organically’ she tells us ‘I never had any money for clothes growing up so I wore a lot of my brother’s or friend’s clothes, then I’d save up my waitressing money for one rad piece that I’d wear every day’. These days things have changed, and Christina admits she is now ‘obsessed’ with fashion. Although she has always stayed true to her individuality (a look she describes as ‘tomboy-chic’), her style has naturally evolved. Pre-Jar of Hearts , the singer rarely wore make-up, let alone worked with a stylist or make-up artist, and her standard uniform consisted of black skinny jeans and combat boots. But although her approach to dressing is still pretty low-maintenance,
-
-she has learnt to embrace her girly side, and is wide eyed as she describes her first-ever foray into the world of luxury – a pair of coveted Christian Louboutin shoes – confessing ‘THAT was a whole new ball game for me!’. The whirlwind of the past few years has meant more than a few red-carpet appearances for Miss Perri, and although daunting at first, she has learned to embrace these events – even picking up a few style tips along the way; ‘The more things I go to, the more I love getting dressed up. I find myself checking out what everyone is wearing and making little notes of all the things I want try – I’m a brand new girl!’ she giggles.
+When it comes to her enviable style, she is modest; ‘Any type of ‘style’ I have happened sort of organically’ she tells us ‘I never had any money for clothes growing up so I wore a lot of my brother’s or friend’s clothes, then I’d save up my waitressing money for one rad piece that I’d wear every day’. These days things have changed, and Christina admits she is now ‘obsessed’ with fashion. Although she has always stayed true to her individuality (a look she describes as ‘tomboy-chic’), her style has naturally evolved. Pre-Jar of Hearts , the singer rarely wore make-up, let alone worked with a stylist or make-up artist, and her standard uniform consisted of black skinny jeans and combat boots. But although her approach to dressing is still pretty low-maintenance,she has learnt to embrace her girly side, and is wide eyed as she describes her first-ever foray into the world of luxury – a pair of coveted Christian Louboutin shoes – confessing ‘THAT was a whole new ball game for me!’. The whirlwind of the past few years has meant more than a few red-carpet appearances for Miss Perri, and although daunting at first, she has learned to embrace these events – even picking up a few style tips along the way; ‘The more things I go to, the more I love getting dressed up. I find myself checking out what everyone is wearing and making little notes of all the things I want try – I’m a brand new girl!’ she giggles.
Citing everyone from Rihanna to Karen O, Janelle Monae and Miley Cyrus as style influencers, Christina has developed a taste for high end designers (Chanel, Marc Jacobs and Alexander McQueen are particular faves), mastering the art of hi-low dressing along the way. ‘If it feels hip and comfortable, that’s what I’ll wear’ she says of her habit of throwing together expensive pieces with thrift store treasures – a pretty good style ethos if ever we heard one!
-
-
-
-
- Christina’s newest album ‘Head or Heart' is set for release in February 2014
-
+
A style icon in the making she may well be, but it’s clear where Christina’s true passion lies, and her face visibly lights up when conversation turns back to music. She talks animatedly about her biggest musical influences (an eclectic line-up that includes everyone from Frank Sinatra, and The Beatles to Lady Gaga, Michael Jackson and Freddie Mercury) and is clearly pumped about the release of her upcoming album Head or Heart ; ‘It’s the most important thing in my life, it’s like a little child to me’ she tells us sincerely ‘It’s a collection of all my stories so it’s real. It’s very real, it’s all true stuff. I couldn’t be more proud of it’. We have to admit we’re pretty intrigued to hear what she has in store for us…more tales of love gone bad perhaps, or has Christina finally found The One? On this she is a little bit coy ‘I’m in love with a couple of boys’ she admits ‘I am trying to be single…but I’m letting myself have crushes’. Yep, definitely a girl after our own hearts… So, after a whirlwind three years and a dizzying climb to the top…what’s next for Christina Perri? ‘Seriously? I have NO idea!’ she admits ‘but that’s all part of the excitement…right?!’ We couldn’t agree more.
+
diff --git a/issues/music/data/2-head-or-heart.md b/issues/music/data/2-head-or-heart.md
index 5c127586..e877de96 100644
--- a/issues/music/data/2-head-or-heart.md
+++ b/issues/music/data/2-head-or-heart.md
@@ -1,76 +1,46 @@
---
- handle: 2-head-or-heart
- title: head or heart
+ category: Fashion
+ title: Head or Heart
+
#author_name: Zyralyn Bacani
#author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
- image_url: assets/2-head-or-heart/cover.gif
+
+ thumb_url: assets/toc/2-head-or-heart.jpg
+ cover_url: assets/2-head-or-heart/cover.gif
cover_caption: 'MINKPINK Morrocan Tile Tank and Morrocan Tile Short'
+ images:
+ - url: assets/2-head-or-heart/cover-heading.svg
+
layout:
type: three-column
image_align: right
-
- products:
-
- - title : MINKPINK Morrocan Tile Tank
- url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#1
- image_url: assets/2-head-or-heart/cover.gif
- price:
- description: SHOP THE MINKPINK COLLECTION
- hidden: true
-
- - title : MINKPINK Morrocan Tile Shorts
- url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#2
- image_url: assets/2-head-or-heart/cover.gif
- price:
- description: SHOP THE MINKPINK COLLECTION
- hidden: true
-
----
-
+---
-IN NEED OF A STYLE UPDATE?
- WELL WHAT BETTER TIME
- THAN RIGHT NOW! INSPIRE
- YOUR LOOK WITH THE OFFICIAL
- MINKPINK: THE MUSIC ISSUE
- COLLECTION, STARRING
- CHRISTINA PERRI.
+IN NEED OF A STYLE UPDATE?
+WELL WHAT BETTER TIME
+THAN RIGHT NOW! INSPIRE
+YOUR LOOK WITH THE OFFICIAL
+MINKPINK: THE MUSIC ISSUE
+COLLECTION, STARRING
+CHRISTINA PERRI.
PHOTOGRAPHY BY MIKE PISCITELLI
STYLING BY MARK VASSALLO
diff --git a/issues/music/data/2-head-or-heart/1.md b/issues/music/data/2-head-or-heart/1.md
index 25a394a6..1d721120 100644
--- a/issues/music/data/2-head-or-heart/1.md
+++ b/issues/music/data/2-head-or-heart/1.md
@@ -1,41 +1,35 @@
---
+ thumb_url: assets/2-head-or-heart/p1-thumb.jpg
+ cover_url: assets/2-head-or-heart/p1-cover.jpg
+ cover_caption: 'MINKPINK Funday Sunday Dress.'
- image_url: assets/2-head-or-heart/p1-cover.jpg
- handle: 2-head-or-heart/1
- cover_caption: MINKPINK Funday Sunday Dress.
- # hotspot url: http://shop.nordstrom.com/c/minkpink?origin=brandindex#2
+ #cover_caption: ' MINKPINK Funday Sunday Dress. '
+ # hotspot link:
images:
- - url: assets/2-head-or-heart/p1-cover.jpeg
- url: assets/2-head-or-heart/p1-2_opt.jpeg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ caption: MINKPINK Combi Garden Dress.
- products:
+# products:
+# - link: http://shop.nordstrom.com/c/minkpink?origin=leftnav
+# image_url: assets/2-head-or-heart/p1-MPINTERjuly-336.jpg
+# title: MINKPINK Funday Sunday Dress.
+# description: SHOP THE MINKPINK COLLECTION
+# hotspot: false
- - url: #2
- image_url: assets/2-head-or-heart/p1-2_opt.jpeg
- title: MINKPINK Combi Garden Dress
- description: SHOP THE MINKPINK COLLECTION
- price:
- url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#3
- hidden: true
+# - link: #2
+# image_url: assets/3-shop-the-shoot/combi-garden-dress.jpg
+# title: MINKPINK Combi Garden Dress
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# link: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#3
+# hotspot: false
layout:
+ type: two-column
content_valign: middle
---
-
-
-
-
- MINKPINK Combi Garden Dress.
-
-
+
diff --git a/issues/music/data/2-head-or-heart/2.md b/issues/music/data/2-head-or-heart/2.md
index 6ad3b27b..cb8efc41 100644
--- a/issues/music/data/2-head-or-heart/2.md
+++ b/issues/music/data/2-head-or-heart/2.md
@@ -1,43 +1,32 @@
---
- image_url: assets/2-head-or-heart/p2-guitar-glasses.jpeg
- cover_caption: MINKPINK Cheerleader Top and Cheerleader Skirt.
- handle: 2-head-or-heart/2
-
+ cover_url: assets/2-head-or-heart/p2-guitar-glasses.jpeg
+ cover_caption: 'MINKPINK Cheerleader Top and Cheerleader Skirt.'
layout:
+ type: two-column
image_align: right
content_valign: middle
- products:
-
- - url: http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#1
- image_url: assets/2-head-or-heart/p2-guitar.gif
- title: MINKPINK Cheerleader Skirt
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
-
-
- - url: http://minkpink.com/global/store-locator#1
- image_url: assets/2-head-or-heart/p2-guitar-glasses.jpeg
- title: MINKPINK Cheerleader Top
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
+ images:
+ - url: assets/2-head-or-heart/p2-guitar.gif
+ caption: MINKPINK Cheerleader Top.
+
+# products:
+# - link: http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#1
+# image_url: assets/2-head-or-heart/p2-guitar.gif
+# title: MINKPINK Cheerleader Skirt
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
+
+# - link: http://minkpink.com/global/store-locator#1
+# image_url: assets/2-head-or-heart/p2-guitar-glasses.jpeg
+# title: MINKPINK Cheerleader Top
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
---
-
-
-
-
- MINKPINK Cheerleader Top.
-
-
+
diff --git a/issues/music/data/2-head-or-heart/3.md b/issues/music/data/2-head-or-heart/3.md
index 245485d7..3712a56b 100644
--- a/issues/music/data/2-head-or-heart/3.md
+++ b/issues/music/data/2-head-or-heart/3.md
@@ -1,63 +1,41 @@
---
- image_url: assets/2-head-or-heart/p3-5_opt.jpeg
- cover_caption: MINKPINK Get Serious Biker Vest and Lullaby Dress.
+ cover_url: assets/2-head-or-heart/p3-5_opt.jpeg
+ cover_caption: 'MINKPINK Get Serious ALL I NEED VEST Biker Vest and Lullaby Dress.'
- images:
- - url: assets/2-head-or-heart/p3-5_opt.jpeg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ # cover_caption: 'MINKPINK Get Serious ALL I NEED VEST Biker Vest and Lullaby Dress. '
+ images:
- url: assets/2-head-or-heart/p3-1_opt.jpeg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ caption: MINKPINK Native Nights Dress.
layout:
type: two-column
image_style: cover
- content_style: white
content_valign: middle
-
- products:
-
- - url: http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#2
- image_url: assets/2-head-or-heart/p3-5_opt.jpeg
- title: MINKPINK Get Serious Biker Vest
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
-
- - url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#6
- image_url: assets/2-head-or-heart/p3-5_opt.jpeg
- title: MINKPINK Lullaby Dress
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
-
- - url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#5
- image_url: assets/2-head-or-heart/p3-1_opt.jpeg
- title: MINKPINK Native Nights Dress
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
+
+# products:
+# - link: http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#2
+# image_url: assets/2-head-or-heart/p3-5-mink-pink-ladies-get-serious-biker-vest.jpg
+# title: MINKPINK Get Serious Biker Vest
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
+
+# - link: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#6
+# image_url: assets/2-head-or-heart/p3-5_opt.jpeg
+# title: MINKPINK Lullaby Dress
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
+
+# - link: http://www.urbanoutfitters.com/uk/catalog/productdetail.jsp?id=5139409330322
+# image_url: assets/2-head-or-heart/p3-minkpink-black-native-nights-dress.jpg
+# title: MINKPINK Native Nights Dress
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
---
-
-
-
-
-
- MINKPINK Native Nights Dress.
-
-
+
diff --git a/issues/music/data/2-head-or-heart/4.md b/issues/music/data/2-head-or-heart/4.md
index 9bdffbfd..858db4a8 100644
--- a/issues/music/data/2-head-or-heart/4.md
+++ b/issues/music/data/2-head-or-heart/4.md
@@ -1,63 +1,40 @@
---
- image_url: assets/2-head-or-heart/p4-4_opt.jpg
- cover_caption: MINKPINK Together Again Jumper and Penny Black Shorts.
+ cover_url: assets/2-head-or-heart/p4-4_opt.jpg
+ cover_caption: 'MINKPINK Together Again Jumper and Penny Black Shorts.'
+ # cover_caption: 'MINKPINK Together Again Jumper and Penny Black Shorts. '
images:
- - url: assets/2-head-or-heart/p1-2_opt.jpeg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
- - url: assets/2-head-or-heart/p1-5_opt.jpeg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ - url: assets/2-head-or-heart/p4-1.gif
+ caption: MINKPINK Rock Me Again Playsuit.
layout:
type: two-column
image_style: cover
- content_style: white
content_valign: middle
-
- products:
-
- - url: http://minkpink.com/global/store-locator#2
- image_url: assets/2-head-or-heart/p4-4_opt.jpg
- title: MINKPINK Together Again Jumper
- description: FIND YOUR NEAREST MINKPINK STOCKIST
- price:
- hidden: true
-
- - url: http://shop.nordstrom.com/c/minkpink?origin=brandindex#4
- image_url: assets/2-head-or-heart/p4-4_opt.jpg
- title: MINKPINK Penny Black Shorts
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
-
- - url: http://shop.nordstrom.com/c/minkpink?origin=brandindex#3
- image_url: assets/2-head-or-heart/p4-1.gif
- title: MINKPINK Rock Me Again Playsuit
- description: SHOP THE MINKPINK COLLECTION
- price:
- hidden: true
+
+# products:
+# - link: http://minkpink.com/global/store-locator#2
+# image_url: assets/2-head-or-heart/p4-4_opt.jpg
+# title: MINKPINK Together Again Jumper
+# description:
+# action: See store
+# hotspot: false
+
+# - link: http://shop.nordstrom.com/c/minkpink?origin=leftnav#4
+# image_url: assets/2-head-or-heart/p4-4_opt.jpg
+# title: MINKPINK Penny Black Shorts
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
+
+# - link: http://shop.nordstrom.com/c/minkpink?origin=leftnav#3
+# image_url: assets/2-head-or-heart/p4-1.gif
+# title: MINKPINK Rock Me Again Playsuit
+# description: SHOP THE MINKPINK COLLECTION
+# price:
+# hotspot: false
---
-
-
-
-
- MINKPINK Rock Me Again Playsuit.
-
-
\ No newline at end of file
+
diff --git a/issues/music/data/3-shop-the-shoot.md b/issues/music/data/3-shop-the-shoot.md
index 215f74e1..538fc24b 100644
--- a/issues/music/data/3-shop-the-shoot.md
+++ b/issues/music/data/3-shop-the-shoot.md
@@ -2,55 +2,48 @@
title: Get the look
category: shopping
- image_url: assets/3-shop-the-shoot/cover-white-dress.jpg
-
- custom_class: rainbow
-
- products:
- # Strip top
+ thumb_url: assets/toc/3-shop-the-shoot.jpg
+ cover_url: assets/3-shop-the-shoot/cover-white-dress.jpg
+
+ products:
- title: MINKPINK All I Need Dress
- url: http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#3
+ link: http://www1.bloomingdales.com/buy/mink-pink?cm_sp=shop_by_brand-_-ALL%20DESIGNERS-_-MINK%20PINK#3
image_url: assets/3-shop-the-shoot/cream.jpg
- description: SHOP THE MINKPINK COLLECTION
+ description: SHOP THE MINKPINK COLLECTION
price:
-
+
- title: Pearl Cat Ear Headband
image_url: assets/3-shop-the-shoot/IMG_8796.jpg
- description:
-
-
+ link: http://minkpink.com
+ action: false
+
- title : Indy C Triple Triangle Chain Gold
- url: http://www.surfstitch.com/product/indy-c-triple-triangle-chain-gold
+ link: http://www.surfstitch.com/product/indy-c-triple-triangle-chain-gold
image_url: assets/3-shop-the-shoot/triangle.jpg
price: $17.97 AUD
description: Each season the Indy C team scours the globe & creates a diverse, on-trend range offering unique & affordable pieces that get noticed.
- title: MINKPINK Losing My Edge
- url: http://www.zappos.com/minkpink#1
+ link: http://www.zappos.com/minkpink#1
image_url: assets/3-shop-the-shoot/stripe.png
- description: SHOP THE MINKPINK COLLECTION
+ description: SHOP THE MINKPINK COLLECTION
price:
-
+
- title: MINKPINK Follow Me To Heaven Playsuit
- url: http://shop.nordstrom.com/c/minkpink?origin=brandindex#5
+ link: http://shop.nordstrom.com/c/minkpink?origin=leftnav
image_url: assets/3-shop-the-shoot/MP8227i.png
description: SHOP THE MINKPINK COLLECTION
price:
-
+
- title: MINKPINK Steamed Up Sunglasses
- url: http://minkpink.com/global/store-locator#3
+ link: http://minkpink.com/global/store-locator#3
image_url: assets/3-shop-the-shoot/cover-product-4.jpg
description: FIND YOUR NEAREST MINKPINK STOCKIST
layout:
+ custom_class: rainbow
type: three-column
---
-
-
\ No newline at end of file
diff --git a/issues/music/data/3-shop-the-shoot/1.md b/issues/music/data/3-shop-the-shoot/1.md
index 7e7aec8e..eead4606 100644
--- a/issues/music/data/3-shop-the-shoot/1.md
+++ b/issues/music/data/3-shop-the-shoot/1.md
@@ -2,44 +2,45 @@
title: Get the look
category: shopping
- image_url: assets/3-shop-the-shoot/cover-red-dress.jpg
- custom_class: rainbow
+ cover_url: assets/3-shop-the-shoot/cover-red-dress.jpg
+
products:
# Cherry dress
- title : MINKPINK Watercolour Tiles Cami
- url: http://www.zappos.com/minkpink#2
- image_url: assets/3-shop-the-shoot/products-diamond.jpg
- price:
+ link: http://www.zappos.com/minkpink#2
+ image_url: assets/3-shop-the-shoot/combi-garden-dress.jpg
+ price:
description: SHOP THE MINKPINK COLLECTION
-
+
- title: Catarzi Exclusive to ASOS Classic Fedora Hat
- url: http://www.asos.com/au/Catarzi/Catarzi-Exclusive-To-ASOS-Classic-Fedora-Hat/Prod/pgeproduct.aspx?iid=3293345&SearchQuery=fedora%20hat%20black&sh=0&pge=0&pgesize=36&sort=-1&clr=Nero
+ link: http://www.asos.com/au/Catarzi/Catarzi-Exclusive-To-ASOS-Classic-Fedora-Hat/Prod/pgeproduct.aspx?iid=3293345&SearchQuery=fedora%20hat%20black&sh=0&pge=0&pgesize=36&sort=-1&clr=Nero
image_url: http://www.femalefirst.co.uk/image-library/square/270/b/black-ribbon-trim-shaker-hat.jpg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ description: Classic trilbies sit alongside contemporary straw fedoras and an exclusive edit of felt hats.
- title : MINKPINK Get Rhythm Shorts
- url: http://minkpink.com/global/store-locator#4
+ link: http://minkpink.com/global/store-locator#4
image_url: assets/3-shop-the-shoot/sparkle.jpg
- description: FIND YOUR NEAREST MINKPINK STOCKIST
-
+ description: FIND YOUR NEAREST MINKPINK STOCKIST
+
- title: MINKPINK Lonely Planet Cord Pinafore Dress
- url: http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#2
+ link: http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#2
image_url: assets/3-shop-the-shoot/leopard.jpg
- description: SHOP THE MINKPINK COLLECTION
-
+ description: SHOP THE MINKPINK COLLECTION
+
- title: MINKPINK Last Living Souls Bustier
- url: http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#2
+ link: http://www.revolveclothing.com/brandpages/MINKPINK.jsp?d=Womens#2
image_url: assets/3-shop-the-shoot/denimtop.jpg
description: SHOP THE MINKPINK COLLECTION
-
+
- title: Vans Authentic Canvas Womens Sneaker in RED
- url: http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=24028045&parentid=SEARCH+RESULTS
+ link: http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=24028045&parentid=SEARCH+RESULTS
image_url: assets/3-shop-the-shoot/IMG_8771.jpg
- description: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ description: SHOP THE MINKPINK COLLECTION
layout:
+ custom_class: rainbow
type: three-column
---
diff --git a/issues/music/data/3-shop-the-shoot/2.md b/issues/music/data/3-shop-the-shoot/2.md
index d8301c45..73738fd9 100644
--- a/issues/music/data/3-shop-the-shoot/2.md
+++ b/issues/music/data/3-shop-the-shoot/2.md
@@ -2,49 +2,49 @@
title: Get the look
category: shopping
- image_url: assets/3-shop-the-shoot/leather.jpg
- custom_class: rainbow
+ cover_url: assets/3-shop-the-shoot/leather.jpg
+
products:
# Cherry dress
- title : MINKPINK Lullaby Dress
- url: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#6
+ link: http://www.shopbop.com/minkpink/br/v=1/2534374302152011.htm#6
image_url: assets/3-shop-the-shoot/whitedress.jpg
- price:
+ price:
description: SHOP THE MINKPINK COLLECTION
-
+
- title : Karyn in La Cherry Earrings
- url: http://www.citybeach.com.au/shop/en/citybeach/accessories-womens-jewellery/karyn-in-la-cherry-earrings
+ link: http://www.citybeach.com.au/shop/en/citybeach/accessories-womens-jewellery/karyn-in-la-cherry-earrings
image_url: assets/3-shop-the-shoot/cherry.jpg
price: $6.99 AUD
description: Check out the Karyn In La Cherry Earrings. These fruity treats are winners!Colour - Red. Hook earring with secure backing. Approx 5cm in length
- - title : KC By Kill City Roy Side Cutout Leather Moto Vest
- url: http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=29503406&parentid=SEARCH+RESULTS
+ - title : Minkpink leather Vest
+ link: http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?id=29503406&parentid=SEARCH+RESULTS
image_url: assets/3-shop-the-shoot/vest.jpg
- price: $99 AUD
- description: Edgy moto vest from KC by Kill City in soft, durable genuine leather with quilting detail along the yoke and cutout sides. Angled zip-up front with zippered pockets. Finished with an adjustable, belted hem.
+ description: 'MINKPINK <span class="au">GET SERIOUS</span> <span class="global">ALL I NEED</span> FIND YOUR NEAREST MINKPINK STOCKIST'
- title : MINKPINK Drop Out Tee
- url: http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#1
+ link: http://www.nastygal.com/index.cfm?fuseaction=search.results&searchString=MINKPINK#1
image_url: assets/3-shop-the-shoot/dropout.jpg
- price:
+ price:
description: SHOP THE MINKPINK COLLECTION
-
+
- title : MINKPINK Outkast Sunglasses
- url: http://minkpink.com/global/store-locator#5
+ link: http://minkpink.com/global/store-locator#5
image_url: assets/3-shop-the-shoot/outkast.jpg
price: $49.95 AUD
description: FIND YOUR NEAREST MINKPINK STOCKIST- Release your wild side with these Mink Pink Sunglasses. These unique sunnies are bound to draw the attention you deserve! The Mink Pink Outkast Sunglasses are perfect for all your festivals this summer! Colour- Clear/ Mirror Yellow Lens
-
+
- title : Minkpink Hey Stud Belt
- url: http://shop.davidjones.com.au/djs/ProductDisplay?catalogId=10051&productId=1003509&langId=-1&storeId=10051&cm_mmc=googlesem-_-PLA-_-Clothing+and+Accessories+-+Clothing+Accessories+-+Belts-_-MINKPINK+Hey+Stud+Belt&CAWELAID=620017140000077290&gclid=CPTP7q7ni7wCFVVvvAodinwArA
+ link: http://shop.davidjones.com.au/djs/ProductDisplay?catalogId=10051&productId=1003509&langId=-1&storeId=10051&cm_mmc=googlesem-_-PLA-_-Clothing+and+Accessories+-+Clothing+Accessories+-+Belts-_-MINKPINK+Hey+Stud+Belt&CAWELAID=620017140000077290&gclid=CPTP7q7ni7wCFVVvvAodinwArA
image_url: assets/3-shop-the-shoot/studbelt.jpg
price: $10 AUD
description: Gathering inspiration from high-end designers, current trends, street styling and vintage pieces, the Minkpink crew have worked hard to produce fresh and flattering garments such as this artificial leather studded belt.
layout:
+ custom_class: rainbow
type: three-column
---
diff --git a/issues/music/data/4-beauty.md b/issues/music/data/4-beauty.md
index f10f76fe..6ad6f843 100644
--- a/issues/music/data/4-beauty.md
+++ b/issues/music/data/4-beauty.md
@@ -1,147 +1,50 @@
---
+ title: Christina Uncovered
category: beauty
- image_url: assets/4-beauty/cover.jpg
-
- custom_class: five-shades
-
+
+ thumb_url: assets/toc/4-beauty.jpg
+ cover_url: assets/4-beauty/cover.jpg
+
layout:
+ custom_class: five-shades
type: three-column
image_align: left
+ content_style: white
+ content_transparent: "1"
- products:
+ images:
+ - url: assets/4-beauty/uncovered.png
+ products:
- title: Chanel Illusion d’Ombre Long-Wear Eyeshadow in Fatal
image_url: assets/4-beauty/cover-product-1.png
+ link: "#1"
+ action: false
- title: Yves Saint Laurent Volume Effet Faux Cils Mascara in High Density Black
image_url: assets/4-beauty/cover-product-2.png
+ link: "#2"
+ action: false
- title: "M.A.C Mineralize Skinfinish in Soft and Gentle"
image_url: assets/4-beauty/cover-product-3.png
+ link: "#3"
+ action: false
- title: M.A.C Lipstick in Pink Plaid
image_url: assets/4-beauty/cover-product-4.png
+ link: "#4"
+ action: false
- title: M.A.C Lipstick in Lustering
image_url: assets/4-beauty/cover-product-5.png
+ link: "#5"
+ action: false
---
-
-
-
+
Want to know the secrets to
diff --git a/issues/music/data/4-beauty/1.md b/issues/music/data/4-beauty/1.md
index d48c4f86..04cdafd2 100644
--- a/issues/music/data/4-beauty/1.md
+++ b/issues/music/data/4-beauty/1.md
@@ -1,78 +1,53 @@
---
layout:
+ custom_class: rainbow
type: three-column
+ image_align: right
content_overflow: paginate
-
- custom_class: rainbow
-
+
products:
- title: Elemental Herbology Cool and Clear - Foaming Facial Cleanser 100mL
price: $57.41 AUD
description: Cool & Clear facial cleanser by Elemental Herbology. Featuring a fragrance and soap-free formula of olive extract, green tea and lavender flower, the gentle cleanser helps to balance the skin, clearing pores and leaving the skin feeling clean and refreshed. Suitable for all skin types.
- url: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Cool-And-Clear---Foaming-Facial-Cleanser-100Ml/Prod/pgeproduct.aspx?iid=2219134&SearchRedirect=true&SearchQuery=elemental%20herbology%20cool%20and%20clear
+ link: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Cool-And-Clear---Foaming-Facial-Cleanser-100Ml/Prod/pgeproduct.aspx?iid=2219134&SearchRedirect=true&SearchQuery=elemental%20herbology%20cool%20and%20clear
image_url: assets/4-beauty/p1-product-1.jpg
- title: Elemental Herbology Cell Food Radiance and Vitality Facial Serum
price: $89.08 AUD
description: Cell Food facial serum by Elemental Herbology. Featuring a powerful mix of proteins, anti-oxidants and vitamins, the serum helps to stimulate cellular renewal to encourage a more radiant complexion, softening and soothing the skin, while protecting against the elements.
- url: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Cell-Food-Radiance-and-Vitality-Facial-Serum-30ml/Prod/pgeproduct.aspx?iid=2219393&cid=15264&sh=0&pge=0&pgesize=36&sort=-1&clr=Facial+serum
+ link: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Cell-Food-Radiance-and-Vitality-Facial-Serum-30ml/Prod/pgeproduct.aspx?iid=2219393&cid=15264&sh=0&pge=0&pgesize=36&sort=-1&clr=Facial+serum
image_url: assets/4-beauty/p1-product-2.jpg
- title: Elemental Herbology Perfect Balance Moisturiser SPF 12 50mL
price: $83.14 AUD
description: Perfect Balance moisturiser by Elemental Herbology. Lightweight formula designed to rebalance and rehydrate the skin. Infused with apple serum to help stimulate cell turnover for a fresh and glowing appearance. Algae stimulates and elastins to strengthen and repair environmental damage
- url: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Perfect-Balance-Moisturiser-Spf-12-50Ml/Prod/pgeproduct.aspx?iid=2935711&SearchRedirect=true&SearchQuery=Elemental%20Herbology%20perfect%20balance
+ link: http://www.asos.com/au/Elemental-Herbology/Elemental-Herbology-Perfect-Balance-Moisturiser-Spf-12-50Ml/Prod/pgeproduct.aspx?iid=2935711&SearchRedirect=true&SearchQuery=Elemental%20Herbology%20perfect%20balance
image_url: assets/4-beauty/p1-product-3.jpg
- title: Aveda Air Control Hairspray 9oz
brand: Aveda
description: "Nature's boost for fine hair, pure abundance™ style-prep™ infuses all-day weightless volume that feels naturally yours. Features and benefits:- Thickens strands with a botanical blend of passion fruit, rice bran, açaí oil, organic aloe and acacia gum. - Boosts volume with a natural corn-derived polymer, helping give fine, limp strands the hold they need for body that lasts all day. - Weightless conditioners detangle to help prevent breakage from combing. - Helps refresh volume on non-shampoo days without adding weight."
image_url: assets/4-beauty/p2-product-1-trans.png
- url: http://shop.nordstrom.com/s/aveda-air-control-hair-spray/3411085?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=204&cm_sp=personalizedsort-_-searchresults-_-1_0_C
+ link: http://shop.nordstrom.com/s/aveda-air-control-hair-spray/3411085?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=204&cm_sp=personalizedsort-_-searchresults-_-1_0_C
price: $29.81 AUD
- title: Aveda Pure Abundance Style Prep
brand: Aveda
description: Take hold of innovation with a flexible, lasting-hold hair spray for all hair types that has a net-zero impact on the Earth's climate. Features breakthrough pine-resin technology for hold and a dry delivery.
image_url: assets/4-beauty/p2-product-2-trans.png
- url: http://shop.nordstrom.com/s/aveda-air-control-hair-spray/3411085?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=204&cm_sp=personalizedsort-_-searchresults-_-1_0_C
+ link: http://shop.nordstrom.com/s/aveda-air-control-hair-spray/3411085?origin=keywordsearch-personalizedsort&contextualcategoryid=2375500&fashionColor=&resultback=204&cm_sp=personalizedsort-_-searchresults-_-1_0_C
price: $26.82 AUD
- title: Mason Pearson "'Pocket' Boar Bristle Brush for Fine to Normal Hair"
brand: Mason Pearson
description: Developed and patented more than 100 years ago, Mason Pearson's hair brush is the ultimate grooming tool. Only the finest, premium-grade boar bristle, which is gentle to the hair and scalp, is used. Brushing with a Mason Pearson hair brush is the best way to distribute the natural oils while exfoliating the scalp and stimulating circulation of the hair follicles. The patented pneumatic cushion conforms to the contours of the scalp, which optimizes brushing with minimal effort. Animals are not harmed in the collection of the boar bristle. This pure boar bristle brush is specifically for brushing through fine to normal hair types. Handmade in England.
image_url: assets/4-beauty/p2-product-3-trans.png
- url: http://shop.nordstrom.com/s/mason-pearson-pocket-boar-bristle-brush-for-fine-to-normal-hair/3257676?origin=keywordsearch-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=1305&cm_sp=personalizedsort-_-searchresults-_-1_3_B
+ link: http://shop.nordstrom.com/s/mason-pearson-pocket-boar-bristle-brush-for-fine-to-normal-hair/3257676?origin=keywordsearch-personalizedsort&contextualcategoryid=0&fashionColor=&resultback=1305&cm_sp=personalizedsort-_-searchresults-_-1_3_B
price: $143.10 AUD
----
-
+---
BEAUTY
diff --git a/issues/music/data/5-travel.md b/issues/music/data/5-travel.md
index 4311ae6f..d4e8b82e 100644
--- a/issues/music/data/5-travel.md
+++ b/issues/music/data/5-travel.md
@@ -1,7 +1,11 @@
---
+ category: Travel
title: Let loose in Lala land
- image_url: assets/5-travel/cover.jpg
+
+ thumb_url: assets/toc/5-travel.jpg
+ cover_url: assets/5-travel/cover.jpg
+
credits:
Soho House is famous for it’s amazing views of LA, it’s sublime cocktails and it’s awesome people watching.
@@ -10,46 +14,8 @@
layout:
type: one-column
image_style: background
- content_style: transparent
+ content_style: black
content_height: full
+ content_transparent: "1"
---
-
-
-
-
-
-
diff --git a/issues/music/data/5-travel/1.md b/issues/music/data/5-travel/1.md
index 564f3dc9..2382e870 100644
--- a/issues/music/data/5-travel/1.md
+++ b/issues/music/data/5-travel/1.md
@@ -4,57 +4,47 @@
layout:
type: two-column
content_overflow: paginate
+
+
+ images:
+ - url: assets/5-travel/p1-1.jpg
+ caption: Christina loves Cafe Gratitude on Larchmont for its super healthy, vegan deliciousness
+
+ - url: assets/5-travel/p1-2.jpg
+ caption: Christina calls The Dark Room her favourite dive bar, with an LA twist.
+
+ - url: assets/5-travel/p1-3.jpg
+ caption: Rose Bowl Flea Market
+
+ - url: assets/5-travel/p1-4.jpg
+ caption: The Grove is world renowned for it’s fantatic selection of shops all in one stunning location.
+
+ links:
+ - http://www.shopwasteland.com/
+ - http://www.rosebowlstadium.com/events/flea-market
+ - http://www.thegrovela.com/
+ - http://cafegratitude.com/
+ - https://www.facebook.com/101coffeeshop
+ - http://www.sohohouse.com/
+ - http://www.chateaumarmont.com/
+ - http://sayersclub.com/
+ - https://www.facebook.com/darkroomla
---
-
-
-
-
- Christina loves Cafe Gratitude on Larchmont for its super healthy, vegan deliciousness
-
+
SHOPPING
Situated in prime position on LA’s Melrose Avenue, Cali’s cool kids have been flocking to achingly-hip boutique Wasteland in their droves for as long as we can remember. Stocking the very hippest ‘of-the-moment’ labels (including our very own MINKPINK, natch) as well as stacks of vintage treasures, this place is a bona fide fashion lover’s playground and a fave with stylish celebs from Alexa Chung to Zooey Deschanel.
Head to Rose Bowl Stadium in Pasadena, East LA on the second Sunday of every month to check out Rose Bowl Flea Market – undoubtedly THE best on the west coast. With thousands of vendors offering everything from threads to vintage records plus a whole tonne of other stuff, this vintage lover’s paradise has to be seen to be believed! Remember to polish up on your bartering skills if you want to bag a bargain, and make sure you get there first thing – the early bird catches the worm as they say! Don’t let the entry fee put you off – it’s well worth it, we promise.
@@ -62,7 +52,7 @@ Head to Rose Bowl Stadium in Pasadena, East LA on the second Sunday of every mon
Shopping in LA is hard to beat, fact. But even the most diehard shoppers amongst us can sometimes find the amount of choice overwhelming! So if you’re after a one-stop- shop offering heaps of variety in a stunning central location, you can’t beat The Grove. Offering up everything from fashion and gadgets, to beauty and homewares plus a whole lot more, this place should be certified DANGEROUS to your bank account!
@@ -71,62 +61,52 @@ Head to Rose Bowl Stadium in Pasadena, East LA on the second Sunday of every mon
If you’re in need of a recharge after a night or six hitting up LA’s wildest hotspots, look no further than Café Gratitude on Larchmont. With a vegan menu that is both super healthy and delicious, this is THE place to soothe a pounding head and console an aching liver! Stock up on your greens with one of their awesome smoothies (CP swears by ENERGIZED for its kick of jalapeno – a guaranteed pick-me-up)...or if you’re easing yourself back into party mode, why not fall off the wagon in (semi) guilt-free fashion with one of their awesome organic beers?? Enjoy!
Dubbed ‘the vibe-iest diner in the world’ by Christina Perri, 101 Café on Franklin Avenue is the LA hangout that never sleeps. Good times are guaranteed at this joint, whether you’re catching up with friends over lunch or grabbing a 3am post-club munch! Make a beeline for the sweet potato fries... hands down the best we’ve ever tasted!
-
-
- Christina calls The Dark Room her favourite dive bar, with an LA twist.
-
+
HANGING OUT
In the mood to rock out your fancy pants? Then flap those social butterfly wings and get chummy with a member of the elite Soho House gang. With venues in some of the world’s most amazing cities (we’re talking London, New York and Miami to name but a few), the West Hollywood branch of this exclusive members-only club is situated in a penthouse position smack bang in the middle of the iconic Sunset Boulevard. Offering unrivalled panoramic views across the entire city, this is the perfect spot to kick back with a cocktail and watch the sun set over the City of Angels.
-
Uber cool Chateau Marmont is the ultimate spot to see and be seen at in
L.A. The legendary castle-like hotel has played host to its fair share of stars and scandals over the years, but still upholds its reputation as one of the sickest hangouts in town. A regular haunt of stars such as Johnny Depp and The Rolling Stones, we’d give our right arm to hear those walls talk! Channel your inner Miss Monroe in one of their luxury suites, or simply settle in at the bar and soak up the heady blend of Old- Hollywood-meets-Modern-Day-LA.
-
-
- Rose Bowl Flea Market
-
+
-
-
- The Grove is world renowned for it’s fantatic selection of shops all in one stunning location.
-
+
PARTYING
If awesome live music whilst partying til dawn is your bag, head down to Sayers Club on Wilcox Avenue, THE place to go if you are in the mood to DANCE! Check out their extensive roster of live acts featuring both rising and established talents and watch them perform on a stage that drops down from the rafters – pretty damn rad, right?!
After something a little more chill? Then seek out The Dark Room. This grungy LA dive bar is a favourite with locals thanks to its laid back vibe, friendly bar staff and no frills décor. Take a pew and stock up on the cheap drinks whilst keeping an eye on the flat-screen TVs and their steady stream cult classics. Now that’s what we call a bar...
diff --git a/issues/music/data/6-behind-the-scene.md b/issues/music/data/6-behind-the-scene.md
index 152e3f40..9d9330c3 100644
--- a/issues/music/data/6-behind-the-scene.md
+++ b/issues/music/data/6-behind-the-scene.md
@@ -1,36 +1,29 @@
---
+
title: The Final Word
description: CP TALKS MUSIC AND SPILLS ON HER LATEST ALBUM 'HEAD OR HEART'
-
+
+ thumb_url: assets/toc/6-behind-the-scene.jpg
+ cover_url: assets/toc/6-behind-the-scene.jpg
+
+ videos:
+ - link: http://vimeo.com/84820598
+ thumb_url: assets/6-behind-the-scene/cover.jpg
+ type: video/vimeo
+
+ images:
+ - url: assets/6-behind-the-scene/content-images.jpg
+ - url: assets/1-styling-it-out/_MG_5433_1024@2x.jpg
+ - url: assets/6-behind-the-scene/cover-heading.svg
+
layout:
type: two-column
+ image_style: none
content_overflow: paginate
---
-
-
-
+
@@ -42,7 +35,7 @@ Head or Heart is all about learning which gut instinct to trust. Do you go with
I’m pretty lucky on this...I got the chance to record in London, LA and New York, which was awesome because travelling and seeing new places is totally one of my favourite things – and a huge source of inspiration!
-
+
Who produced the album?
@@ -52,5 +45,4 @@ I worked with a few producers on Head or Heart, including Butch Walker, John Hil
Actually yes, there are a couple! I worked with Jack Antanoff from the band FUN as well as Ed Sheeran which was so exciting! They’re both super talented guys and I absolutely adore them – I can’t wait for people to hear the tracks!
-
-
+
diff --git a/issues/music/data/6-behind-the-scene/1.md b/issues/music/data/6-behind-the-scene/1.md
index 46978f83..3526d9d2 100644
--- a/issues/music/data/6-behind-the-scene/1.md
+++ b/issues/music/data/6-behind-the-scene/1.md
@@ -1,160 +1,59 @@
---
-
- images:
-
-
- - title: Box lay
- image_url: assets/6-behind-the-scene/_MG_5831_square.jpg
-
- - title: Box
- image_url: assets/6-behind-the-scene/_MG_5770_sqaure.jpg
-
- - title: couch
- image_url: assets/6-behind-the-scene/_MG_6269_opt_square.jpg
-
- - title: pose
- image_url: assets/6-behind-the-scene/_MG_6153_square.jpg
-
- - title: back
- image_url: assets/6-behind-the-scene/_MG_6201.jpg
-
- - title: lay down
- image_url: assets/6-behind-the-scene/img-Y20082646_2_opt.jpg
-
- - title: fix
- image_url: assets/6-behind-the-scene/_MG_6240_opt.jpeg
-
- - title: hair
- image_url: assets/6-behind-the-scene/_MG_5876_opt.jpeg
-
- - title: ladder
- image_url: assets/6-behind-the-scene/_MG_5505.jpg
-
- - title: drum
- image_url: assets/6-behind-the-scene/_MG_5893.jpg
-
- - title: legs
- image_url: assets/6-behind-the-scene/img-Y20082732_opt.jpeg
-
- - title: photographer 1
- image_url: assets/6-behind-the-scene/_MG_5473.jpg
-
- - title: photographer 2
- image_url: assets/6-behind-the-scene/img-Y20082818_opt_square.jpg
-
- layout:
- type: custom
-
+
+ images:
+ - title: Box lay
+ url: assets/6-behind-the-scene/1_MG_5831_square.jpg
+
+ - title: Box
+ url: assets/6-behind-the-scene/2_MG_5770_sqaure.jpg
+
+ - title: couch
+ url: assets/6-behind-the-scene/3_MG_6269_opt_square.jpg
+
+ - title: pose
+ url: assets/6-behind-the-scene/4_MG_6153_square.jpg
+
+ - title: back
+ url: assets/6-behind-the-scene/5_MG_6201.jpg
+
+ - title: lay down
+ url: assets/6-behind-the-scene/6_img-Y20082646_2_opt.jpg
+
+ - title: fix
+ url: assets/6-behind-the-scene/7_MG_6240_opt.jpg
+
+ - title: hair
+ url: assets/6-behind-the-scene/8_MG_5876_opt.jpg
+
+ - title: ladder
+ url: assets/6-behind-the-scene/10_MG_5505.jpg
+
+ - title: drum
+ url: assets/6-behind-the-scene/11_MG_5893.jpg
+
+ - title: legs
+ url: assets/6-behind-the-scene/12_img-Y20082732_opt.jpg
+
+ - title: photographer 1
+ url: assets/6-behind-the-scene/13_MG_5473.jpg
+
+ - title: photographer 2
+ url: assets/6-behind-the-scene/14_img-Y20082818_opt_square.jpg
+
+ layout:
+ type: custom
+
---
-
-
-
\ No newline at end of file
+
+
+
+ {{#images}}
+
+
+
+ {{ caption }}
+
+
+ {{/images}}
+
+
diff --git a/issues/music/data/backcover.md b/issues/music/data/backcover.md
index 568215d2..9bdd757e 100644
--- a/issues/music/data/backcover.md
+++ b/issues/music/data/backcover.md
@@ -1,40 +1,28 @@
---
- nav: false
+ title: End
- image_url: assets/6-behind-the-scene/p1.jpg
- layout:
- image_style: background
- content_style: transparent
- content_height: full
+ thumb_url: assets/7-end/thumb.jpg
+ cover_url: assets/7-end/p1.jpg
----
-
+ layout:
+ type: one-column
+ nav: false
+ image_style: background
+ content_transparent: "1"
+ content_height: auto
+ content_align: center
+ content_valign: middle
+---
-
-
-
\ No newline at end of file
+
+
+
diff --git a/issues/music/data/banner.md b/issues/music/data/banner.md
deleted file mode 100644
index cfd22dda..00000000
--- a/issues/music/data/banner.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-
- title: Christina
-
- layout:
-
- type: custom
-
----
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/issues/music/data/editors-letter.md b/issues/music/data/editors-letter.md
index 7c8e98e8..6669dda4 100644
--- a/issues/music/data/editors-letter.md
+++ b/issues/music/data/editors-letter.md
@@ -1,7 +1,8 @@
---
title: Welcome to Minkpink
- image_url: assets/ed-cover.jpg
+ cover_url: assets/ed-cover.jpg
+ thumb_url: assets/toc/editors-letter.jpg
layout:
type: two-column
@@ -9,25 +10,6 @@
---
-
-
MINKPINK have done it again with the launch of
MINKPINK : The Music Issue, combining two of everyone’s favourite
things – BIG tunes and faaaaarshion baby – to produce one rad global campaign…and who better to front it than music’s
latest maverick, the inked-up brunette bombshell with the megawatt smile that is
Christina Perri ?! With a killer look
diff --git a/issues/music/data/toc.md b/issues/music/data/toc.md
index 6666449c..816479d0 100644
--- a/issues/music/data/toc.md
+++ b/issues/music/data/toc.md
@@ -1,22 +1,18 @@
---
-
- title:
- brand_image_url: assets/toc/brand_logo.png
+ title: Table of Content
+
+ images:
+ - assets/toc/brand_logo.png
+ - assets/toc/pink-christina-perri.png
+
layout:
type: toc
content_overflow: scroll
---
+
-
-
-OK, I admit it. I’m maybe just a teeeny bit obsessed with
MINKPINK …so it’s safe to say I was over-thefrickin’-moon when they asked me to front their latest international campaign ‘
MINKPINK :
The Music Issue! MINKPINK are always pretty out there when it comes to getting creative, so I knew working together would be a lot of fun...although I have to admit, I was a little nervous about the whole modelling thing.
+OK, I admit it. I’m maybe just a teeeny bit obsessed with
MINKPINK …so it’s safe to say I was over-the-frickin’-moon when they asked me to front their latest international campaign ‘
MINKPINK :
The Music Issue! MINKPINK are always pretty out there when it comes to getting creative, so I knew working together would be a lot of fun...although I have to admit, I was a little nervous about the whole modelling thing.
Being a singer, that’s kind of a foreign world to me! The best piece of advice I’ve ever been given is ‘you’re enough just the way you are’ , and although I try to remember that, it’s not always easy! Luckily, I got to work with an absolute Dream Team (BIG shout out to photographer Mike Piscitelli and super stylist Mark Vassallo!), who made me feel so comfortable just fooling around and being
myself on the day of the shoot! Of course, the fact that I LOVED literally every piece of
MINKPINK clothing I got to wear also couldn’t have hurt – seriously, you guys are going to be spoiled for choice!
@@ -24,6 +20,6 @@ myself on the day of the shoot! Of course, the fact that I LOVED literally every
I’ve had a blast working with
MINKPINK , and what’s even better is that now I get to share the campaign as well as a whole heap of other awesome stuff with you, via
MINKPINK :
The Music Issue . This is
MINKPINK ’s first EVER magazine and I’m so excited to have been a part of it…I have a feeling you’re going to love reading it as much as we loved putting it together!
Race you to the checkout…!
Love,
-
+
For the Love of MINKPINK
diff --git a/issues/music/issue.yaml b/issues/music/issue.yaml
index 84155864..bd25ed78 100644
--- a/issues/music/issue.yaml
+++ b/issues/music/issue.yaml
@@ -1,90 +1,24 @@
-# items/on-holiday.html
-# items/on-holiday-1.html
-# items/on-holiday-2.html
-#
-# category/story: title: On holiday
-# category/story/2: title: page title, url:
-# category/story/3
-
-# category/story2
-# category/story2/2
-# category/story2/3
-id: "minkpink/music"
-title: Music Issue
-short_title: Music
+title: Music
magazine_title: Minkpink
-publish_at: "2014-1-15T13:16:46Z"
-background_url: "assets/background.jpg"
-background_large_url: "assets/background_large.jpg"
-
description:
featured: true
+theme: fashion
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
assets:
- "custom.css"
- # - "jquery.jplayer.min.js"
- # - "jplayer/jquery.transform2d.js"
- # - "jplayer/jquery.grab.js"
- - "jplayer/zepto.grab.js"
- - "jplayer/jquery.jplayer.js"
- - "jplayer/mod.csstransforms.min.js"
- - "jplayer/circle.player.js"
- - "circle.skin/circle.player.css"
-
-items:
-
- - title: Table of Content
- handle: "toc"
-
- - title: "Welcome"
- handle: "editors-letter"
- image_url: "assets/toc/editors-letter.jpg"
-
- - title: "Styling it Out"
- category: interview
- handle: "1-styling-it-out"
- image_url: "assets/toc/1-styling-it-out.jpg"
- pages:
- - handle: "1"
-
- - title: "Head or Heart"
- category: fashion
- handle: "2-head-or-heart"
- image_url: "assets/toc/2-head-or-heart.jpg"
- pages:
- - handle: "1"
- - handle: "2"
- - handle: "3"
- - handle: "4"
-
- - title: "Get the look"
- category: Accessories
- handle: "3-shop-the-shoot"
- image_url: "assets/toc/3-shop-the-shoot.jpg"
- pages:
- - handle: "1"
- - handle: "2"
-
- - title: Christina Uncovered
- category: beauty
- handle: 4-beauty
- image_url: "assets/toc/4-beauty.jpg"
- pages:
- - handle: "1"
-
- - title: Let Loose in Lala Land
- category: travel
- handle: 5-travel
- image_url: "assets/toc/5-travel.jpg"
- pages:
- - handle: "1"
-
- - title: The Final Word
- handle: 6-behind-the-scene
- image_url: "assets/toc/6-behind-the-scene.jpg"
- pages:
- - handle: "1"
-
- - title: Behind the scenes
- handle: backcover
- nav: false
+ - "custom.js"
+
+paths:
+ - index
+ - toc
+ - editors-letter
+ - 1-styling-it-out
+ - 2-head-or-heart
+ - 3-shop-the-shoot
+ - 4-beauty
+ - 5-travel
+ - 6-behind-the-scene
+ - backcover
diff --git a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF1.gif.REMOVED.git-id b/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF1.gif.REMOVED.git-id
deleted file mode 100644
index 53da8fe3..00000000
--- a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF1.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-287e9d9be0a7226b206e36471b938ece0f6841aa
\ No newline at end of file
diff --git a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF2.gif.REMOVED.git-id b/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF2.gif.REMOVED.git-id
deleted file mode 100644
index 97392310..00000000
--- a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF2.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0348419f30718e34b6ff22d0bbbfb5dd4be3de11
\ No newline at end of file
diff --git a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF3.gif.REMOVED.git-id b/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF3.gif.REMOVED.git-id
deleted file mode 100644
index f7ef1dbe..00000000
--- a/issues/music/resources/MINKPINK_GIFS/MPXCP_GIF3.gif.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2f71cdeb13daf8dad940c97b242cc123814059c7
\ No newline at end of file
diff --git a/issues/music/resources/MPxCP_music_issue_INTER_compresse.pdf.REMOVED.git-id b/issues/music/resources/MPxCP_music_issue_INTER_compresse.pdf.REMOVED.git-id
deleted file mode 100644
index 714770c7..00000000
--- a/issues/music/resources/MPxCP_music_issue_INTER_compresse.pdf.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5f21f5db23aaf6814beb576237b5e0805f3e43e0
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/css/minkpink.css b/issues/music/resources/minkpink-web-resources/css/minkpink.css
deleted file mode 100644
index 20af103a..00000000
--- a/issues/music/resources/minkpink-web-resources/css/minkpink.css
+++ /dev/null
@@ -1,442 +0,0 @@
-body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, code, blockquote {
- margin:0;
- padding:0;
- border-width:0;
-}
-td, th {
- border-style:solid;
- border-width:1px;
-}
-table {
- border-collapse:collapse;
-}
-body {
- -epub-hyphens:auto;
- -webkit-hyphens:auto;
-}
-@page {
- margin : 0px 0px 0px 0px;
-}
-p.Basic-Paragraph {
- color:#000000;
- font-family:"Minion Pro", serif;
- font-size:12px;
- font-style:normal;
- font-variant:normal;
- font-weight:normal;
- line-height:1.2;
- margin-bottom:0;
- margin-left:0;
- margin-right:0;
- margin-top:0;
- orphans:1;
- page-break-after:auto;
- page-break-before:auto;
- text-align:left;
- text-decoration:none;
- text-indent:0;
- widows:1;
-}
-p.ParaOverride-1 {
- -epub-hyphens:none;
- margin-bottom:9px;
-}
-p.ParaOverride-2 {
- -epub-hyphens:none;
- margin-bottom:6px;
- text-align:justify;
-}
-p.ParaOverride-3 {
- -epub-hyphens:none;
- text-align:justify;
-}
-p.ParaOverride-4 {
- -epub-hyphens:none;
-}
-p.ParaOverride-5 {
- -epub-hyphens:none;
- text-align:right;
-}
-p.ParaOverride-6 {
- text-align:center;
-}
-p.ParaOverride-7 {
- -epub-hyphens:none;
- text-align:justify;
- text-indent:6px;
-}
-p.ParaOverride-8 {
- -epub-hyphens:none;
- text-align:center;
-}
-span.CharOverride-1 {
- color:#ec008c;
- font-family:"Courier New", serif;
- font-size:9px;
- font-style:normal;
- font-weight:bold;
-}
-span.CharOverride-2 {
- color:#ec008c;
- font-family:"Courier New", serif;
- font-size:9px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-3 {
- color:#ec008c;
- font-family:"Kuba Reczny", serif;
- font-size:74px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-4 {
- font-family:"Adobe Garamond Pro Bold", serif;
- font-size:10px;
- font-style:italic;
- font-weight:bold;
-}
-span.CharOverride-5 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:10px;
- font-style:italic;
- font-weight:normal;
-}
-span.CharOverride-6 {
- font-family:"Adobe Garamond Pro Bold", serif;
- font-size:10px;
- font-style:normal;
- font-variant:small-caps;
- font-weight:bold;
-}
-span.CharOverride-7 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:10px;
- font-style:normal;
- font-variant:small-caps;
- font-weight:normal;
-}
-span.CharOverride-8 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:10px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-9 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:16px;
- font-style:italic;
- font-weight:normal;
-}
-span.CharOverride-10 {
- font-family:"Kuba Reczny", serif;
- font-size:45px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-11 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:8px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-12 {
- color:#ffffff;
- font-family:"Gotham Medium", sans-serif;
- font-size:6px;
- font-style:normal;
- font-weight:350;
-}
-span.CharOverride-13 {
- color:#ffffff;
- font-family:"Kuba Reczny", serif;
- font-size:25px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-14 {
- font-family:"Kuba Reczny", serif;
- font-size:25px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-15 {
- font-family:"Courier New", serif;
- font-size:5px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-16 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:12px;
- font-style:italic;
- font-weight:normal;
-}
-span.CharOverride-17 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:12px;
- font-style:italic;
- font-variant:small-caps;
- font-weight:normal;
-}
-span.CharOverride-18 {
- font-family:"Gotham Book", sans-serif;
- font-size:6px;
- font-style:normal;
- font-weight:325;
-}
-span.CharOverride-19 {
- font-family:"Gotham Book", sans-serif;
- font-size:17px;
- font-style:normal;
- font-weight:325;
- text-transform:uppercase;
-}
-span.CharOverride-20 {
- font-family:"Courier New", serif;
- font-size:48px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-21 {
- color:#ffffff;
- font-family:"Courier New", serif;
- font-size:11px;
- font-style:normal;
- font-weight:normal;
- text-decoration:underline;
- text-transform:uppercase;
-}
-span.CharOverride-22 {
- font-family:"Adobe Garamond Pro", serif;
- font-size:6px;
- font-style:italic;
- font-weight:normal;
-}
-span.CharOverride-23 {
- color:#ffffff;
- font-family:"Kuba Reczny", serif;
- font-size:45px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-24 {
- color:#ffffff;
- font-family:"Zapf Dingbats", sans-serif;
- font-size:6px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-25 {
- color:#ffffff;
- font-family:"Gotham Medium", sans-serif;
- font-style:normal;
- font-weight:350;
-}
-span.CharOverride-26 {
- color:#ffffff;
- font-family:"Gotham Medium", sans-serif;
- font-size:9px;
- font-style:normal;
- font-weight:350;
- text-transform:uppercase;
-}
-span.CharOverride-27 {
- font-family:"Gotham Black", sans-serif;
- font-size:6px;
- font-style:normal;
- font-weight:425;
-}
-span.CharOverride-28 {
- font-family:"Adobe Garamond Pro Bold", serif;
- font-size:8px;
- font-style:italic;
- font-weight:bold;
-}
-span.CharOverride-29 {
- font-family:"Courier New", serif;
- font-size:19px;
- font-style:normal;
- font-weight:normal;
-}
-span.CharOverride-30 {
- font-family:"Courier New", serif;
- font-size:5px;
- font-style:normal;
- font-weight:bold;
-}
-img._idGenPageitem-1 {
- height:651px;
- width:538px;
-}
-div._idGenPageitem-2 {
- text-align:center;
-}
-img._idGenPageitem-3 {
- height:301px;
- width:246px;
-}
-img._idGenPageitem-4 {
- height:341px;
- width:279px;
-}
-img._idGenPageitem-5 {
- height:157px;
- width:198px;
-}
-img._idGenPageitem-6 {
- height:198px;
- width:157px;
-}
-img._idGenPageitem-7 {
- height:592px;
- width:394px;
-}
-img._idGenPageitem-8 {
- height:247px;
- width:360px;
-}
-img._idGenPageitem-9 {
- height:143px;
- width:187px;
-}
-img._idGenPageitem-10 {
- height:211px;
- width:187px;
-}
-img._idGenPageitem-11 {
- height:111px;
- width:187px;
-}
-img._idGenPageitem-12 {
- height:651px;
- width:583px;
-}
-img._idGenPageitem-13 {
- height:651px;
- width:524px;
-}
-img._idGenPageitem-14 {
- height:484px;
- width:390px;
-}
-img._idGenPageitem-15 {
- height:446px;
- width:297px;
-}
-img._idGenPageitem-16 {
- height:445px;
- width:359px;
-}
-img._idGenPageitem-17 {
- height:651px;
- width:586px;
-}
-img._idGenPageitem-18 {
- height:680px;
- width:1077px;
-}
-img._idGenPageitem-19 {
- height:496px;
- width:408px;
-}
-img._idGenPageitem-20 {
- height:441px;
- width:433px;
-}
-img._idGenPageitem-21 {
- height:321px;
- width:240px;
-}
-img._idGenPageitem-22 {
- height:399px;
- width:464px;
-}
-img._idGenPageitem-23 {
- height:180px;
- width:242px;
-}
-img._idGenPageitem-24 {
- height:284px;
- width:226px;
-}
-img._idGenPageitem-25 {
- height:195px;
- width:231px;
-}
-img._idGenPageitem-26 {
- height:136px;
- width:36px;
-}
-img._idGenPageitem-27 {
- height:137px;
- width:89px;
-}
-img._idGenPageitem-28 {
- height:137px;
- width:37px;
-}
-img._idGenPageitem-29 {
- height:77px;
- width:77px;
-}
-img._idGenPageitem-30 {
- height:111px;
- width:80px;
-}
-img._idGenPageitem-31 {
- height:85px;
- width:32px;
-}
-img._idGenPageitem-32 {
- height:410px;
- width:547px;
-}
-img._idGenPageitem-33 {
- height:195px;
- width:239px;
-}
-img._idGenPageitem-34 {
- height:225px;
- width:337px;
-}
-img._idGenPageitem-35 {
- height:150px;
- width:136px;
-}
-img._idGenPageitem-36 {
- height:189px;
- width:126px;
-}
-img._idGenPageitem-37 {
- height:220px;
- width:331px;
-}
-img._idGenPageitem-38 {
- height:106px;
- width:159px;
-}
-img._idGenPageitem-39 {
- height:120px;
- width:152px;
-}
-img._idGenPageitem-40 {
- height:152px;
- width:119px;
-}
-img._idGenPageitem-41 {
- height:159px;
- width:106px;
-}
-img._idGenPageitem-42 {
- height:120px;
- width:153px;
-}
-img._idGenPageitem-43 {
- height:119px;
- width:153px;
-}
-img._idGenPageitem-44 {
- height:148px;
- width:378px;
-}
diff --git a/issues/music/resources/minkpink-web-resources/image/101976719_L copy_fmt.png b/issues/music/resources/minkpink-web-resources/image/101976719_L copy_fmt.png
deleted file mode 100644
index ce86cc03..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/101976719_L copy_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/1_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/1_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 6e8879ec..00000000
--- a/issues/music/resources/minkpink-web-resources/image/1_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1500d98432eed8dec37e6376165b2746b0b0f538
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0004-43_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0004-43_fmt.png.REMOVED.git-id
deleted file mode 100644
index 712740e3..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0004-43_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-c63a8930925b212ad764bafabb37a744c48ef74d
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 279cee98..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0005-31_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-6b35c2f4ca46216a7481ab76da21a849d352f322
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0006-15_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0006-15_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 1b2c34cc..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0006-15_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-0ca915447594a83198842e00b20ce23ca7b17461
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0007-81_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0007-81_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 904d97c6..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0007-81_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-f756b5412c5dff49be743b5b3d825effaeb25fd7
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0015-27_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0015-27_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index e40f25a1..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0015-27_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-604689c9f008ab710694caf023903ef429863900
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0021-75_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0021-75_fmt.png.REMOVED.git-id
deleted file mode 100644
index cf4d541b..00000000
--- a/issues/music/resources/minkpink-web-resources/image/20130906-20130906MinkPink_ChristinaPerri_0021-75_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-69fc744574991040fd3d99e6f3e48e10955e4916
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/2_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index cd8e9586..00000000
--- a/issues/music/resources/minkpink-web-resources/image/2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-2ae8f8d29c43c4f1b57573424c8010cc0e823efb
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/336615_in_pp_fmt.png b/issues/music/resources/minkpink-web-resources/image/336615_in_pp_fmt.png
deleted file mode 100644
index dbc5e84e..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/336615_in_pp_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/3_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/3_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 56973bfa..00000000
--- a/issues/music/resources/minkpink-web-resources/image/3_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-9165ba3e4ab662005804e3d030c2cb9efc9ca4dd
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/4_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/4_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 94887289..00000000
--- a/issues/music/resources/minkpink-web-resources/image/4_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-31238c99d019d9bf77c9075b35a76ed6c72f1692
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/5_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/5_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 9b7102f6..00000000
--- a/issues/music/resources/minkpink-web-resources/image/5_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-42ce4bcff74f6a3453b2789def497423b2a527d4
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/6_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/6_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 005e780a..00000000
--- a/issues/music/resources/minkpink-web-resources/image/6_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-6c7c8672915e721bbac6b508d86cae673f8496b6
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/7015.png b/issues/music/resources/minkpink-web-resources/image/7015.png
deleted file mode 100644
index e979fe83..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/7015.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/900783_fmt.png b/issues/music/resources/minkpink-web-resources/image/900783_fmt.png
deleted file mode 100644
index 58bd1714..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/900783_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/A-Thousand-Years-christina-perri-26451562-1920-1080_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/A-Thousand-Years-christina-perri-26451562-1920-1080_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index de7b59b2..00000000
--- a/issues/music/resources/minkpink-web-resources/image/A-Thousand-Years-christina-perri-26451562-1920-1080_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-54523cd827e42fd6225f80a485483be43e4c5452
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300_fmt.png b/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300_fmt.png
deleted file mode 100644
index 3dc18407..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cell_Food_Radiance_And_Vitality_Serum_Facial_Serum_30ml_1374736300_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cool_and_Clear_Facial_Cleanser_100ml_1372837497_fmt.png b/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cool_and_Clear_Facial_Cleanser_100ml_1372837497_fmt.png
deleted file mode 100644
index 6878ed63..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Cool_and_Clear_Facial_Cleanser_100ml_1372837497_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065_fmt.png b/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065_fmt.png
deleted file mode 100644
index ca4bb865..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/Elemental_Herbology_Perfect_Balance_Moisturiser_SPF12_50ml_1373283065_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/Jar-of-Hearts-christina-perri-16882990-1280-720_opt.jpeg b/issues/music/resources/minkpink-web-resources/image/Jar-of-Hearts-christina-perri-16882990-1280-720_opt.jpeg
deleted file mode 100644
index 9ea9d7c8..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/Jar-of-Hearts-christina-perri-16882990-1280-720_opt.jpeg and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/_7483303_fmt.png b/issues/music/resources/minkpink-web-resources/image/_7483303_fmt.png
deleted file mode 100644
index 1d8f4c56..00000000
Binary files a/issues/music/resources/minkpink-web-resources/image/_7483303_fmt.png and /dev/null differ
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 97fd53a4..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-f1d2078f65a3eb4a068b1dfb91534082ec4b5bc0
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt1.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt1.jpeg.REMOVED.git-id
deleted file mode 100644
index 176dd96c..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5433_opt1.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a32bbc2d704e7890adf1df7a065a803410a2c7b9
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5473_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5473_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 89417cfb..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5473_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-8127450ebb5b7e03a8514a0927e0baba8918cd9d
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5505_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5505_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 11035ab3..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5505_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1ba9a3a1e0b1f60cc96404bec3a694b09f6b99f9
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5770_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5770_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index a2c928e6..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5770_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-25ef67b00e095862deeafcee460a0ae12bc36b1c
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5816_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5816_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 01894d3f..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5816_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-053fe06045421ed3aa07de59f3196e09a5c9bcf7
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5876_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5876_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index fd76d680..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5876_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-ef252e8c0782376572f3838dbe6f3de8fe00fb41
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_5893_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_5893_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 7c6b9b34..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_5893_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-91bac746eeaf985fac06a7a620947a6c9349e912
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_6002_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_6002_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 20f99e80..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_6002_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-346e992dad9a52bec6a20ab43fd5b9f2c0d2ea5c
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_6153_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_6153_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 99247923..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_6153_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1d6f6e078f66a6fc01a2adde57d37f4fd8570e32
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_6201_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_6201_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 7440ea43..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_6201_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-210a47b692eb43ba4832c10556fc7adf959cab23
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_6240_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_6240_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 7f5a9119..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_6240_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-93bb5e498ac7e85f1cf2d04481d1e04f29d5b502
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/_MG_6269_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/_MG_6269_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index b38b9a27..00000000
--- a/issues/music/resources/minkpink-web-resources/image/_MG_6269_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1c594a5ccc10c3639c96608f2332ceae96cd2a7c
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/beauty_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/beauty_fmt.png.REMOVED.git-id
deleted file mode 100644
index 013dad93..00000000
--- a/issues/music/resources/minkpink-web-resources/image/beauty_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-80d149c7d874448317979de5156802fc476e8f98
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/cafegratitude_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/cafegratitude_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 0cbfe136..00000000
--- a/issues/music/resources/minkpink-web-resources/image/cafegratitude_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-42477f1833a3d4b7451b2405a338c584e259f586
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/dark room_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/dark room_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 282f31e4..00000000
--- a/issues/music/resources/minkpink-web-resources/image/dark room_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a34c25902395aaf2689db9807c97617bc4f927fb
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/iStock_000020108132Medium_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/iStock_000020108132Medium_fmt.png.REMOVED.git-id
deleted file mode 100644
index ed56ab09..00000000
--- a/issues/music/resources/minkpink-web-resources/image/iStock_000020108132Medium_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-32674cfcff3f982dcb54d76e09d404cd8fc2cdd6
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/iStock_000027505425Large_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/iStock_000027505425Large_fmt.png.REMOVED.git-id
deleted file mode 100644
index 24900561..00000000
--- a/issues/music/resources/minkpink-web-resources/image/iStock_000027505425Large_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-a47d190f3c8a8e99da9b033e0aaf556abfc7c25b
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/iStock_000028021558Medium_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/iStock_000028021558Medium_fmt.png.REMOVED.git-id
deleted file mode 100644
index a75b2d3d..00000000
--- a/issues/music/resources/minkpink-web-resources/image/iStock_000028021558Medium_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d85cc28b8c487f310111223d22e034578eddf15c
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/iStock_000029529956Medium_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/iStock_000029529956Medium_fmt.png.REMOVED.git-id
deleted file mode 100644
index ccad7443..00000000
--- a/issues/music/resources/minkpink-web-resources/image/iStock_000029529956Medium_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-1b6d41dd85026ec329df8b22e8e744f18fe3f2a3
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/iStock_000029567816Medium_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/iStock_000029567816Medium_fmt.png.REMOVED.git-id
deleted file mode 100644
index 60f4d680..00000000
--- a/issues/music/resources/minkpink-web-resources/image/iStock_000029567816Medium_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-883e5b84674fee5f5debf18246102fea6dcbe797
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082546_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082546_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 84168f5c..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082546_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-d84b2c2c1eff9df4f22dbe4270d483c539243fce
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082628-vert_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082628-vert_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 0296b900..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082628-vert_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-214e9ec024031aec834ab63c9ec6ad038853c1bd
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082628_2_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082628_2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index fbdda057..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082628_2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5d479c1981f934eedeab4e0d262e3a7da926080d
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082646_2_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082646_2_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index df80b55c..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082646_2_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7d388f51a26c439dedcbc987c3e99f4447d94fec
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082732_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082732_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index c88ffa87..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082732_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-04200aef8cb6709fb3561d2677bcca885320c51a
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082755_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082755_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index f4ca7f94..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082755_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-89bce96a25dab64efbfe6acd7aec37e098cecdff
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082818_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082818_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 890a664c..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082818_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7f0e919e837b023066cd8552bbf7933789fcdc5d
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/img-Y20082859_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/img-Y20082859_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index ed654457..00000000
--- a/issues/music/resources/minkpink-web-resources/image/img-Y20082859_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-958fc8362d79c27262f16664b2be8f67805300a7
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/rosebowl_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/rosebowl_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index 6639a10d..00000000
--- a/issues/music/resources/minkpink-web-resources/image/rosebowl_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-7fb1df973df114832e00eb759937aec9dc2cbecf
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/soho_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/soho_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index d085ac8c..00000000
--- a/issues/music/resources/minkpink-web-resources/image/soho_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-85fa701f7ba8f61700c60bbd0352e6c346ce9eeb
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/the-grove-7_opt.jpeg.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/the-grove-7_opt.jpeg.REMOVED.git-id
deleted file mode 100644
index f5cc51db..00000000
--- a/issues/music/resources/minkpink-web-resources/image/the-grove-7_opt.jpeg.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-df6b9877e387b3fde4d021b1d7326982dec48e60
\ No newline at end of file
diff --git a/issues/music/resources/minkpink-web-resources/image/travel_fmt.png.REMOVED.git-id b/issues/music/resources/minkpink-web-resources/image/travel_fmt.png.REMOVED.git-id
deleted file mode 100644
index c41783cb..00000000
--- a/issues/music/resources/minkpink-web-resources/image/travel_fmt.png.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-6954745f251a6e1790356fcba7cca94b04dbd0d8
\ No newline at end of file
diff --git a/issues/music/resources/minkpink.html b/issues/music/resources/minkpink.html
deleted file mode 100644
index c7ce1271..00000000
--- a/issues/music/resources/minkpink.html
+++ /dev/null
@@ -1,396 +0,0 @@
-
-
-
-
-
minkpink
-
-
-
-
-
-
-
-
-
-
-
3. eds letter
-
4. welcome
-
6. interview: christina perri headline here
-
10. fashion: head or heart?
-
20. accessories: shop the shoot
-
22. beauty: christina uncovered
-
24. travel: headline here please
-
26. behind the scenes
-
-
-
-
-
-
-
Welcome to minkpink: The Music Issue!!
-
Now I know I’m not alone in saying this, but I am just a teeeeny bit OBSESSED with minkpink …so you can imagine how over-the-frickin’-moon I was when they asked me to front their latest international campaign ‘ minkpink : The Music Issue!’. Working on the campaign has been a blast, but what’s even better is that now I get to share it with all of you!
-
Right off the bat I’ve felt a connection to minkpink . I love the way they constantly push the boundaries when it comes to all things creative - i t’s something I am always striving to do in my own career, so to be able to work with a brand with that same outlook is pretty exciting.
-
This time round, they’ve come up with the brain-achingly awesome idea of presenting the entire campaign in this magazine, jampacked with heaps of content including the official campaign shoot and tons of exclusive behind-the-scenes footage, meaning you get to feast your eyes on the latest rad minkpink threads all in one go! You’ll also find a little interview with Yours Truly, top-secret beauty tips from the industry’s hottest experts, and an insider’s guide to all the sickest spots to hit up in our shoot location, Los Angeles. Ummm spoiled, much?!
-
I hope you enjoy checking out minkpink : The Music Issue as much as we enjoyed putting it together (I kinda have a feeling you will ) ! And now for the tough decisions…what to buy first?!
-
Race you to the checkout…!
-
Love,
-
For the Love of minkpinkvv
-
-
-
-
-
-
-
-
-
-
-
-
minkpink have done it again with the launch of the The Music Issue , combining two of everyone’s favourite things – BIG tunes and faaaaarshion baby – to produce one rad global campaign…and who better to front it than music’s latest maverick, the inked-up brunette bombshell with the megawatt smile that is Christina Perri ?! With a killer look and a voice that is guaranteed to melt evenx the iciest of hearts, minkpink are beyond stoked to have tapped this one up!
-
An alternative Disney princess in her very own modern day fairy tale , Christina shot to fame in 2010 when her song ‘Jar of Hearts’ (just a little ditty she penned whilst sitting in her bedroom in her PJs one day) became a global smash hit after it was picked up by choreographer Stacey Tookey and played on US TV show ‘So You Think You Can Dance’. Since then, it’s been a head spinningly crazy ride for uber-talented singer-songwriter Christina…and it shows no signs of slowing!
-
minkpink ’s ‘The Music Issue’ sees Christina Perri rocking out all the hottest minkpink trends at legendary LA music studio Mates, where she also recently recorded her eagerly anticipated second album ‘Head & Heart ’, set to be a smash hit worldwide. With the help of superstar stylist Mark Vassallo and iconic photographer Mike Piscatelli, Christina Perri has put her own unique stamp on every look, epitomising what it means to be a minkpink girl.
-
So why is Miss Perri the ultimate minkpink babe? Well for us that’s pretty much a no brainer. Not one to be defined by convention, Christina’s unique brand of cool is irresistible to anyone who meets her - this is one chick who talks the talk and walks the walk, and has stayed true to herself and her style from the get go. With a finger firmly on the pulse of all things fashion, music and social media, Christina’s passion for life is infectious, and her playful demeanour and free spirited attitude define what it means to live in the moment - it’s practically impossible to take a look at minkpink ’s The Music Issue and not come away feeling just that little bit more inspired …
-
For the love of minkpink …be brave and free.
-
-
-
Christina Perri
-
headline here
-
-
-
August in California, and L.A’s tribe of Beautiful People are flocking to the beaches in their hoards…but for one talented young singer-songwriter, there’s no better place to while away the days than the recording studio. It’s here that Philly-born rock chick and style maven Christina Perri feels most at home, which is why it made perfect sense to choose North Hollywood’s iconic Mates Studios as the location to shoot MINKPINK’s brand new global campaign ‘The Music Issue’, fronted by the stunning songstress herself.
-
With her striking, uber-cool look, mane of glossy tresses and multitude of tattoos, it would be easy to feel intimidated by Christina...but in fact she puts us instantly at ease from the moment we meet her, welcoming everyone with such genuine warmness that it’s impossible not to fall in love with her on the spot. A self-confessed jokester with a ‘dorky’ sense of humour, Christina’s megawatt smile and laidback attitude don’t falter throughout MINKPINK’s time with her…but it’s her refreshing openness and honesty that makes us feel like we’ve been BFFs for years. Christina admits that her direct manner and talent for tapping into her emotions is in part down to her heritage (her father is Italian and her mother, Polish), which plays a huge part in her personality ‘I am just SO Italian and loud!’ she laughs as we flick through the racks of MINKPINK clothing that have been selected for the shoot ‘I’m a very open person so I love trying different things’. It’s easy to forget that CP is not a professional model as she strikes up an easy rapport with stylist Mark Vassalo and photographer Mike Piscitelli and rocks out every look with such effortless panache. It’s safe to say we’d definitely be feeling just a touch of the green eyed monster was she not so damn frickin’ likeable!
-
Clearly her latest incarnation as global ambassador for MINKPINK (a brand she describes as ‘one of her all time favourites’) has got Christina seriously hyped ‘I am so honoured to have been chosen’ she squeals ‘it’s like a little dream come true!’, and judging on recent times, this is one style-savvy babe who is no stranger to dreams coming true. Having gone from waitress to worldwide singing sensation in what seems like the blink of an eye, the past three years have seen Christina’s career skyrocket - her previous albums have both gone multiplatinum and her music has featured on the soundtrack of cult movie franchise Twilight as well as hit TV show Glee. With new album ‘Head and Heart’ set for release very soon, we have a feeling this is just the beginning…
-
Barely out of nappies when she discovered her love of singing, it was when Christina’s adored older brother Nick left home to pursue his dreams as lead guitarist in band ‘Silvertide’ that her talent as a songwriter was unearthed; ‘I picked up my brother’s old guitar and taught myself because I missed the sound of his playing so much...and then all of a sudden these songs would appear!’ she tells us. But it was her first taste of love at 15 that proved to be the biggest source of inspiration for her music. As they say, the first cut is the deepest…and never was this truer than for Miss Perri. The relationship went through 1001 twists and turns over the course of six years, with its eventual breakdown resulting in Christina penning THAT song – the rest, as they say, is history. On her 21st birthday, Christina packed up her guitar and left the city she had always called home to follow her dreams, 3000 miles away in LA.
-
Things weren’t exactly plain sailing from there however. Within months, Christina found herself head over heels in love once again – this time with an LA music producer, who she married following a textbook whirlwind romance. Sadly it wasn’t to be; ‘I was married at 21 and divorced at 22’ she tells us candidly. It’s testament to her character that Christina has managed to stay close to her ex-husband ‘we laugh about it now…it’s like, hey, remember that time when we were married?!’ she smiles. Nevertheless, you get the impression that when Christina falls in love, she falls hard. Perhaps that’s what makes her so relatable…after all, we’ve all been there. She remembers her first love as being ‘a huge milestone’ - one which inspired her first ever tattoo (an ankh on the back of her neck) which she chose to symbolise ‘the first time [she] felt really alive’. It’s obvious that where Christina is concerned there is only one place to wear your heart…and that is firmly on your tattooed sleeve!
-
Judging by her album sales and social media following (at last count she had over 450k followers on Instagram alone), Christina’s experiences definitely resonate with many. Of course, life has not been without its hiccups…but it’s these bumps in the road that her fans identify with. ‘When I was growing up I always felt so different…I definitely felt like I didn’t quite fit in’ she says. We can sense a wild child edge to CP’s character - at just 27 years old, she’s already lived a pretty colourful life – but right now, her focus is plain for all to see. These days, she chooses Kale Juice over champagne (politely declining any alcohol on the day of the shoot), and it’s evident she feels a certain level of responsibility towards her fans whom she strives to maintain a constant open line of dialogue with ‘In the first two months [after ‘Jar of Hearts’] I would answer every single email that came in, I would sit every night and read all their stories and write them all back because it made me feel so connected, like I was part of this thing with all these people that we were going through together’. When we ask her, in the midst of such a hectic schedule, where on earth she finds the time she shrugs, explaining simply ‘Well, it’s my favourite thing. Just communicating with the fans’.
-
Following her marriage breakup, Christina turned her focus fully back to singing, penning songs whilst supporting herself with a waitressing job at a coffee house in Beverley Hills. It was after one particularly gruelling shift (most of which she had spent being ‘yelled at’) that she received the call that was to change her life – ‘Jar of Hearts’, the song she wrote about the demise of her First Love, would that night be aired to the nation on TV show ‘So You Think You Can Dance’ after a friend of hers had passed it onto the show’s choreographer. ‘I screamed. Then I cried. Then I called my Mom’ she remembers with a grin. That’s when the rollercoaster ride really began ‘I had only ever performed at little coffee houses and open mics…and next thing I know I’m on national television on The Tonight Show with Jay Leno. Then the first show I did was at the Santa Barbara Bowl with Jason Mraz in front of 6000 people!’ It’s pretty mind blowing stuff, and Christina could be forgiven had she gotten a little swept up in her own hype…but instead she comes across as utterly grateful, if a little bedazzled by her new found fame. When asked how she has managed to stay so level headed throughout, she admits ‘I can’t think about it. I just stay connected to my friends and family and don’t take myself too seriously…I think that’s really how I get through it. I am exactly the same person on stage as I am on a night out with friends. I just try to enjoy it.’
-
We have to say, we admire her outlook…but what really drew MINKPINK to CP straight off the bat was undoubtedly her unique style. Embodying what it means to be a MINKPINK girl, Christina is someone who really Owns It, always up for taking a risk and trying something new. Never the wallflower, she admits to using tattoos - her ‘favourite permanent accessory’ - as a form of creative expression (she is the proud owner of ‘over 65’, but confesses to having lost count of the exact number - a nod to her wilder past perhaps?). ‘I should regret a couple of risqué ones…but I don’t’ she tells us frankly as we admire her left wrist, inked with names of all four Beatles (a band that she describes as one of her ‘biggest sources of inspiration’) and it’s exactly this devil-may-care attitude that makes her so appealing!
-
When it comes to her enviable style, she is modest; ‘any type of ‘style’ I have happened sort of organically’ she tells us ‘I never had any money for clothes growing up so I wore a lot of my brothers or friends clothes, then I’d save up my waitressing money for one rad piece that I’d wear every day’. These days things have changed, and Christina admits she is now ‘obsessed’ with fashion. Although she has always stayed true to her individuality (a look she describes as ‘tomboy-chic’), Christina’s style has naturally evolved. Pre-‘Jar of Hearts’, the singer rarely wore make-up, let alone worked with a stylist or make-up artist, and her standard uniform consisted of black skinny jeans and combat boots. But although her approach to dressing is still pretty low-maintenance, she has learnt to embrace her girly side, and is wide eyed as she describes her first-ever foray into the world of luxury - a pair of coveted Christian Louboutin shoes - confessing ‘THAT was a whole new ball game for me!’. The whirlwind of the past few years has meant more than a few red-carpet appearances for Miss Perri, and although daunting at first, she has learned to embrace these events - even picking up a few style tips along the way; ‘The more things I go to, the more I love getting dressed up. I find myself checking out what everyone is wearing and making little notes of all the things I want to try – I’m a brand new girl!’ she giggles.
-
Citing everyone from Rihanna to Karen O, Janelle Monae and Miley Cyrus as style influencers, Christina has developed a taste for high end designers (Chanel, Marc Jacobs and Alexander McQueen are particular faves), mastering the art of hi-low dressing along the way. ‘If it feels hip and comfortable, that’s what I’ll wear’ she says of her habit of throwing together expensive pieces with thrift store treasures - a pretty good style ethos if ever we heard one!
-
A style icon in the making she may well be, but it’s clear where Christina’s true passion lies, and h er face visibly lights up when conversation turns back to music. She talks animatedly about her biggest musical influences (an eclectic line-up that includes everyone from Frank Sinatra, and The Beatles to Lady Gaga, Michael Jackson and Freddie Mercury) and is clearly pumped about the release of her upcoming album ‘Head &Heart’; ‘It’s the most important thing in my life, it’s like a little child to me’ she tells us sincerely ‘It’s a collection of all my stories so it’s real. It’s very real, it’s all true stuff. I couldn’t be more proud of it’. We have to admit we’re pretty intrigued to hear what this one has in store for us…more tales of love gone bad perhaps, or has Christina finally found The One? On this she is a little bit coy ‘I’m in love with a couple of boys’ she admits ‘although I am trying to be single…but I’m letting myself have crushes’. Yep, definitely a girl after our own hearts…
-
So, after a whirlwind three years and a dizzying climb to the top…what’s next for Christina Perri? ‘Seriously? I have NO idea!’ she admits ‘but that’s all part of the excitement…right??’
-
We couldn’t agree more.
-
-
-
-
-
-
Paisley Crush Dress, US$69.95
-
-
-
-
-
-
"Uditate plitet es arum quias dolore persafdsaor
-
xceaqu odio etuam,occabor essidsafdsa fdsama"
-
-
-
Offictiissunt que core, corumendant la cor autate net rem quo eius, con nonsequiae sum vid qui cone dolenture in nobis atur remolo blaudae pla eossectae veles aut explandame perum conessum vendis dolorep tatur?
-
Nullesti de ipit lacilliciis et quis est re eatem dolor aborionsed quibus di sende laturestia dictatioris et aut odicim
-
-
-
Rock Me Again Playsuit, US$99
-
-
-
-
Offictiissunt que core, corumendant la cor autate net rem quo eius, con nonsequiae sum vid qui cone dolenture in nobis atur remolo blaudae pla eossectae veles aut explandame perum conessum vendis dolorep tatur?
-
Nullesti de ipit lacilliciis et quis est re eatem dolor aborionsed quibus di sende laturestia dictatioris et aut odicim
-
-
-
-
-
-
-
-
Offictiissunt que core, corumendant la cor autate net rem quo eius, con nonsequiae sum vid qui cone dolenture in nobis atur remolo blaudae pla eossectae veles aut explandame perum conessum vendis dolorep tatur?
-
Nullesti de ipit lacilliciis et quis est re eatem dolor aborionsed quibus di sende laturestia dictatioris et aut odicim
-
-
-
-
-
-
-
-
Offictiissunt que core, corumendant la cor autate net rem quo eius, con nonsequiae sum vid qui cone dolenture in nobis atur remolo blaudae pla eossectae veles aut explandame perum conessum vendis dolorep tatur?
-
Nullesti de ipit lacilliciis et quis est re eatem dolor aborionsed quibus di sende laturestia dictatioris et aut odicim
-
-
-
-
-
-
-
"Uditate plitet es arum quias dolore persa fdsaor
-
xceaq u odio etuam,occabor essidsafdsa fdsama"
-
-
-
christina perri walks us through her favourite pieces from the minkpink winter 2014 collection quae voluptatis dolorepero bla aut que volupta ipsunt eiumque consequefdsiquun datecta styling by mark vasallo. photography by mike piscatelli.
-
-
-
-
-
-
Together Again Jumper, US$79. Penny Black Shorts, US$89
-
-
-
-
-
-
-
-
-
Far left; Combi Garden Dress, $US89. Left; All I Need Biker Vest, US$119. Lullaby Dress, $89.
-
-
-
-
-
-
Funday Sunday Dress, US$79
-
-
-
Cheerleader Top, US$59. Cheerleader Skirt, US$79
-
-
-
-
-
-
-
-
-
Above; Rock Me Again Playsuit, US$99. Right; Native Nights Dress, US$89
-
-
-
-
-
-
-
-
-
Morrocan Tile Tank, $US59. Morrocan Tile Short, US$69
-
-
-
-
-
CHRIS
-
TINA
-
UN
-
COVER
-
ED
-
-
-
Want to know the secrets to creating Christina Perri’s stunning look?? Then you’ve come to the right place! We caught up Christina’s go-to beauty maestro Giavonna Brascia who gave us the lowdown on achieving CP’s old-Hollywood-meets-rock’n’roll glow in just a few easy steps!
-
We know, we know…we’re just too good to you!
-
skin
-
‘Right now, Christina is OBSESSED with Elemental Herbology products. No matter how busy she is, she makes sure she uses their cleanser, cell food and moisturiser day and night to keep her skin in tip top condition. It’s especially important for Christina to keep up the routine when she is travelling through different time zones as this can wreak havoc with her complexion.’
-
beauty
-
‘One of my favourite things about working with Christina is how open she is to playing around with different looks – although she’s a natural beauty, so we never need to take it to extremes. Christina loves shimmer on her eyes, so I use M.A.C’s Skinfinish in Soft and Gentle along her brow bone and the inner part of her eye which gives a glow as well as adding gorgeous sparkle. Sometimes we like to mix that up with a cream shadow like Chanel Illusion d’Ombre Long-Wear Eyeshadow in Fatal (837) which really adds depth to the eyes.
-
Because of Christina’s beautiful Mediterranean colouring, we tend to mostly stick to a warm, neutral pallet of bronzes and browns, with peachy blush colours on her cheeks. We’ll vary the drama depending on the occasion – for example, Christina’s a big fan of a smoky eye, so we build that up with deep bronze shades to achieve her red-carpet look. We also like to accentuate her amazing eyelashes with mascara – Yves Saint Laurent Faux Cils is her fave.
-
Recently, Christina’s started playing around a bit more with colour – at the moment she’s loving a bright pink lip which really pops to give her a look that’s just that little bit different. For the MINKPINK: The Music Issue shoot we used M.A.C lipsticks in ‘Pink Plaid’ and ‘Lustering’, which worked really well with her skin tone.
-
-
-
-
-
-
-
-
-
-
-
Clockwise from above; M.A.C Mineralise Skinfinish in Soft and Gentle, Chanel Illusion d’Ombre Long-Wear Eyeshadow in Fatal, Yves Saint Laurent Volume Effet Faux Cils Mascara in High Density Black, M.A.C Lipstick in Pink Plaid and Lustering.
-
-
-
-
Sadly, we didn’t all hit the jackpot gene-pool and land a mane as luscious as Miss Perri’s…but that doesn’t mean we can’t attempt to tame our tresses into the same vision of loveliness! Read on to find out how you can create a glossy, Rapunzelesque bonce to rival MINKPINK babe Christina’s in just a few easy steps…
-
n Start with freshly washed hair and spray in a styling product that gives both volume and hold – try Aveda Pure Abundance Style Prep.
-
n Set your hairdryer to high heat and flip your head over, then blast til your hair is around 70% dry.
-
n Separate the hair into four horizontal sections and clip into place. Grab a large, round barrel brush and start working on the bottom tier, angling your hair dryer nozzle down so it smooths the hair out. This keeps the cuticles flat, putting a stop to any annoying flyaways.
-
n Move up through the sections until hair is completely dry and relatively smooth, paying particular attention to the roots. Use a tail comb to create a neat side part for that real Old Hollywood glamour look.
-
n Grab horizontal sections of hair from across the back of the head, approx. 5cm in width. Then, using a large curling tong (our fave is the Babyliss Pro Ceramic 32mm Curling Tong), break the sections up and wrap the hair around the barrel in a spiral form. Hold for around 30-40 seconds
-
n Carry on with this technique throughout all sections. Once you get to the upper sections, wrap the hair around the tongs from around cheekbone level to avoid too much volume at the crown.
-
n Let the hair cool for a few seconds, then loosed the waves with your fingertips. Blast with a light holding spray such as Aveda Air Control Hairspray to finish. Get ready to Rock It gurrrrl!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Clockwise from top; Babyliss Pro Ceramic 32mm Curling Tong, Mason Perason Hairbrush, Aveda Pure Abundance Style Prep, Aveda Air Control Hairspray.
-
-
-
Left; Elemental Herbology Cool and Clear Facial Cleanser, Perfect Balance Harmonising Moisturiser and Cell Food.
-
-
-
-
-
-
-
-
-
-
-
-
Headline to go here here please
-
-
-
Aaaah, Los Angeles, the definitive adult’s playground, right? But when there’s so much choice and so little time, where do you even begin?? we got you… read on for the ultimate guide to L.A’s hottest hang outs.
-
-
-
-
-
-
Christina loves Cafe Gratitude on Larchmont for its super healthy, vegan deliciousness.
-
-
-
SHOPPING
-
BAD ASS BOUTIQUE: Wasteland
-
Situated in prime position on L.A’s Melrose Avenue, Cali’s cool kids have been flocking to achingly-hip boutique Wasteland in their droves for as long as we can remember. Stocking the very hippest ‘of-the-moment’ labels (including our very own MINKPINK, natch) as well as stacks of vintage treasures, this place is a bona fide fashion lover’s playground, and the ultimate celeb spotting hangout. From Alexa Chung to Zooey Deschanel, you never know who you might find lurking behind that clothes rack!
-
FIND BURIED TREASURE: Rose Bowl Flea Market
-
Head to Rose Bowl Stadium in Pasadena, East L.A on the second Sunday of every month to check out Rose Bowl Flea Market - undoubtedly THE best flea market on the west coast. With over 2,500 vendors and 20,000 buyers offering everything from clothes, jewellery, accessories, fabrics and music plus a whole tonne of other stuff, this vintage lover’s paradise has to be seen to be believed! Browse to your heart’s content or shop up a storm (remember to polish up on your bartering skills if you want to bag a bargain) and make sure you get there first thing - the early bird catches the worm as they say! Don’t let the entry fee put you off – it’s well worth it, we promise.
-
SHOP UP A STORM: The Grove
-
Shopping in L.A is hard to beat, fact. But even the most diehard shoppers amongst us can sometimes find the amount of choice overwhelming! So if you’re after a one-stop-shop offering heaps of variety in a stunning central location, you can’t beat The Grove. Offering up everything from fashion and gadgets, to beauty and homeware plus a whole lot more, this place should be certified DANGEROUS to your bank account! We challenge you to walk away from here empty handed…
-
DINING
-
BEST FEEL GOOD FEED: Café Gratitude
-
If you’re in need of a recharge after a night or six hitting up LA’s wildest hotspots, look no further than Café Gratitude on Larchmont. With a vegan menu that is both super healthy and delicious, this is THE place to soothe a pounding head and console an aching liver! Stock up on your greens with one of their awesome smoothies (CP swears by ENERGIZED for its kick of jalapeno - a guaranteed pick-me-up)…or if you’re easing yourself back into party mode, why not fall off the wagon in (semi) guilt-free fashion with one of their awesome organic beers?? Enjoy!
-
ANYTIME TREATS: 101 Café
-
Dubbed ‘the vibe-iest diner in the world’ by Christina Perri, 101 Café is the LA hangout that never sleeps. Good times are guaranteed at this joint, whether you’re catching up with friends over lunch or grabbing a 3am post-club munch! Make a beeline for the sweet potato fries…hands down the BEST we’ve ever tasted!
-
HANGING OUT
-
SICKEST VIEWS: Soho House
-
In the mood to rock out your fancy pants? Then flap those social butterfly wings and get chummy with a member of the elite Soho House gang. With venues in some of the world’s most amazing cities (we’re talking London, New York and Miami to name but a few), the West Hollywood branch of this exclusive members-only club is situated in a penthouse position smack bang in the middle of the iconic Sunset Boulevard. Their olive-treed terrace offers unrivalled panoramic views across the entire city, making it the perfect spot to kick back with a cocktail and watch the sun set over the City of Angels. Trust us, it’s an experience you will never forget.
-
LIVE LIKE A MOVIE STAR: Chateau Marmont
-
Uber cool Chateau Marmont is the ultimate spot to see and be seen at in West Hollywood. The legendary castle-like hotel has seen its fair share of stars and scandals pass through its doors over the years, but still upholds its reputation as one of the sickest hangouts in town. A regular haunt of stars such as Johnny Depp and The Rolling Stones, we’d give our right arm to hear those walls talk! Check into one of their luxury suites and channel your inner Marilyn Monroe in the bed where she (maybe) slept...or simply settle in at the bar for some serious people watching! With its heady blend of Old Hollywood meets Modern Day L.A , a visit to the Chateau is something everybody needs to tick off that bucket list…
-
PARTYING
-
GET YO PARTY ON: Sayers Club
-
If awesome live music whilst partying til dawn is your bag, head down to Sayers Club on Wilcox Avenue, THE place to go if you are in the mood to DANCE! Check out their extensive roster of live acts featuring both rising and established talents and watch them perform on a stage that drops down from the rafters - pretty damn rad, right?!
-
DRINK ‘N’ CHILL: The Dark Room
-
After something a little more chill? Then seek out The Dark Room. This grungy one-room LA dive bar is a favourite with locals thanks to its laid back vibe, friendly bar staff and no frill décor. Have a photo moment with the quirky smiling vagabond statue which greets you as you enter, then stock up on the cheap drinks whilst keeping an eye on the flat-screen TVs and their steady stream of sports and cult classics. What more could you ask for??
-
-
-
Soho House is famous for it’s amazing views of LA, it’s sublime cocktails and it’s awesome people watching.
-
-
-
-
-
-
Christina calls The Dark Room her favourite dive bar, with an LA twist.
-
-
-
-
-
-
-
-
-
Rose Bowl Flea Market
-
-
-
The Grove is world renowned for it’s fantatic selection of shops all in one stunning location.
-
-
-
-
-
-
-
-
-
-
-
THE FINAL WORD:
-
CP TALKS MUSIC AND SPILLS ON HER LATEST ALBUM ‘HEAD OR HEART’
-
-
-
-
-
-
Where did the name for her new album come from?
-
Head or Heart is all about learning which gut instinct to trust. Do you go with your head or your heart?? I think all chicks ask themselves that question at one time or another, right? So each song is either a ‘head’ song or a ‘heart’ song…it’s up to you to decide!
-
Where was the album recorded?
-
I’m pretty lucky on this…I got the chance to record in London, LA and New York which was awesome because travelling and seeing new places is totally one of my favourite things, and a huge source of inspiration!
-
Who produced the album?
-
I worked with a few producers on Head or Heart, including Butch Walker, John Hill and Jamie Scott, but the majority was done by my favourite person, the amazing Jake Gosling. We have an unbelievable connection and really understand each other which makes working together sooo easy!
-
Any musical collaborations you can share with us?
-
Actually yes, there are a couple! I worked with Jack Antanoff from the band FUN as well as Ed Sheeran which was so exciting! They’re both super talented guys and I absolutely adore them! I can’t wait for people to hear the tracks!!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/issues/rebalance/assets/background.jpg b/issues/rebalance/assets/background.jpg
new file mode 100644
index 00000000..bc1b2783
Binary files /dev/null and b/issues/rebalance/assets/background.jpg differ
diff --git a/issues/rebalance/assets/background_large.jpg b/issues/rebalance/assets/background_large.jpg
new file mode 100644
index 00000000..e9c990f7
Binary files /dev/null and b/issues/rebalance/assets/background_large.jpg differ
diff --git a/issues/rebalance/assets/cover.jpg b/issues/rebalance/assets/cover.jpg
new file mode 100644
index 00000000..07ab0960
Binary files /dev/null and b/issues/rebalance/assets/cover.jpg differ
diff --git a/issues/rebalance/assets/custom.js b/issues/rebalance/assets/custom.js
new file mode 100644
index 00000000..e69de29b
diff --git a/issues/rebalance/assets/custom.scss b/issues/rebalance/assets/custom.scss
new file mode 100644
index 00000000..0150001c
--- /dev/null
+++ b/issues/rebalance/assets/custom.scss
@@ -0,0 +1,286 @@
+#rebalance-issue {
+ $brand-green: #31825F;
+
+ h1 {
+ color: $brand-green;
+ font-weight: bold;
+ }
+
+ p {
+ font-family: georgia;
+ font-size: 18px;
+ line-height: 1.4;
+ }
+
+ p:empty {
+ display: none;
+ }
+
+ // Start Cover
+ [data-page=index] {
+ .title {
+ font-family: "HelveticaNeue-CondensedBold", "sans-serif-condensed";
+ font-size: 48px;
+ font-weight: bolder;
+ letter-spacing: 4px;
+ text-shadow: 1px 1px 30px rgba(0, 0, 0, 0.1);
+ }
+
+ .description {
+ text-transform: uppercase;
+ padding: 5px 0;
+ margin: 0 auto;
+ }
+
+ .issue-logo {
+ display: none;
+ }
+
+ // @media only screen and (min-width: 768px) {
+ // }
+ }
+ // End Cover
+
+ // Start TOC
+ [data-page='toc'] {
+ @media only screen and (min-width: 768px) {
+ .content {
+ margin: 0;
+ }
+ }
+ }
+ // End TOC
+
+ // [data-page='story-one'] {
+ // @media only screen and (min-width: 768px) {
+ // }
+ // }
+
+ [data-page='story-three'] {
+ height: auto;
+ overflow: hidden;
+
+ div.cover {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ }
+
+ @media only screen and (min-width: 768px) {
+ height: 100%;
+ }
+ }
+
+ [data-page='story-four'],
+ [data-page='story-five'] {
+ h1 {
+ color: white;
+ text-shadow: -1px 0 green, 0 1px green, 1px 0 green, 0 -1px green;
+ }
+
+ @media only screen and (min-width: 768px) {
+ h1 {
+ font-size: 100px;
+ text-shadow: -2px 0 green, 0 2px green, 2px 0 green, 0 -2px green;
+ }
+ }
+ }
+
+ [data-page='story-four/1'] {
+ @media only screen and (min-width: 768px) {
+ header {
+ margin-top: 100px;
+ z-index: 1;
+ }
+
+ img:first-of-type {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 300px;
+ }
+
+ img:last-of-type {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ width: 200px;
+ }
+ }
+ }
+
+ [data-page='story-four/2'] {
+ @media only screen and (min-width: 768px) {
+ header {
+ margin-top: 160px;
+ z-index: 1;
+ }
+
+ img:first-of-type {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 380px;
+ }
+
+ img:last-of-type {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ width: 200px;
+ }
+ }
+ }
+
+ [data-page='story-four/4'] {
+ @media only screen and (min-width: 768px) {
+ img:last-of-type {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ width: 200px;
+ }
+ }
+ }
+
+ [data-page='story-four/5'] {
+ @media only screen and (min-width: 768px) {
+ header {
+ margin-top: 160px;
+ z-index: 1;
+ }
+
+ img:first-of-type {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 240px;
+ }
+
+ img:last-of-type {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ width: 140px;
+ }
+ }
+ }
+
+ // [data-page='abc'] {
+ // @media only screen and (min-width: 768px) {
+ // }
+
+ // @media only screen and (min-width: 768px) and (orientation: portrait) {
+ // }
+ // }
+ // End
+
+ /*
+ Polaroid
+ */
+
+ article.page ul.polaroids {
+ padding: 0;
+ margin: 0;
+ }
+
+ .polaroid-wrap {
+ display: inline-block;
+ list-style: none;
+ max-width: 46%;
+ }
+
+ figure.polaroid {
+ display: inline-block;
+ margin: 0;
+ max-width: 80%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ transition: all .15s linear;
+ transform: rotate(-2deg);
+
+ backface-visibility: hidden;
+ perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -4% 5%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap {
+ width: 30%;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(5) figure {
+ position: relative;
+ left: 2vh;
+ transform: none;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+ transform: scale(1.5);
+ }
+}
+
+// Overwrites default slide in animation
+@keyframes slidein-layer {
+ 0% {
+ opacity: 0;
+ transform: translateY(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+#slideOne {
+ left: 10%;
+ margin: 0;
+ width: 33%;
+ height: 60%;
+ top: 30%;
+ bottom: initial;
+
+ .content {
+ position: static;
+ }
+}
diff --git a/issues/rebalance/assets/placeholder.jpg b/issues/rebalance/assets/placeholder.jpg
new file mode 100644
index 00000000..e9093b3f
Binary files /dev/null and b/issues/rebalance/assets/placeholder.jpg differ
diff --git a/issues/rebalance/assets/story-five/cover.jpg b/issues/rebalance/assets/story-five/cover.jpg
new file mode 100644
index 00000000..863e164e
Binary files /dev/null and b/issues/rebalance/assets/story-five/cover.jpg differ
diff --git a/issues/rebalance/assets/story-five/p1-cover.jpg b/issues/rebalance/assets/story-five/p1-cover.jpg
new file mode 100644
index 00000000..280cffef
Binary files /dev/null and b/issues/rebalance/assets/story-five/p1-cover.jpg differ
diff --git a/issues/rebalance/assets/story-five/p2-cover.jpg b/issues/rebalance/assets/story-five/p2-cover.jpg
new file mode 100644
index 00000000..7e64ffa2
Binary files /dev/null and b/issues/rebalance/assets/story-five/p2-cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/cover.jpg b/issues/rebalance/assets/story-four/cover.jpg
new file mode 100644
index 00000000..47362382
Binary files /dev/null and b/issues/rebalance/assets/story-four/cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/p1-1.png b/issues/rebalance/assets/story-four/p1-1.png
new file mode 100644
index 00000000..8ff39022
Binary files /dev/null and b/issues/rebalance/assets/story-four/p1-1.png differ
diff --git a/issues/rebalance/assets/story-four/p1-2.png b/issues/rebalance/assets/story-four/p1-2.png
new file mode 100644
index 00000000..23971531
Binary files /dev/null and b/issues/rebalance/assets/story-four/p1-2.png differ
diff --git a/issues/rebalance/assets/story-four/p1-cover.jpg b/issues/rebalance/assets/story-four/p1-cover.jpg
new file mode 100644
index 00000000..99d85096
Binary files /dev/null and b/issues/rebalance/assets/story-four/p1-cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/p2-1.png b/issues/rebalance/assets/story-four/p2-1.png
new file mode 100644
index 00000000..81791f74
Binary files /dev/null and b/issues/rebalance/assets/story-four/p2-1.png differ
diff --git a/issues/rebalance/assets/story-four/p2-2.png b/issues/rebalance/assets/story-four/p2-2.png
new file mode 100644
index 00000000..f882f111
Binary files /dev/null and b/issues/rebalance/assets/story-four/p2-2.png differ
diff --git a/issues/rebalance/assets/story-four/p2-cover.jpg b/issues/rebalance/assets/story-four/p2-cover.jpg
new file mode 100644
index 00000000..660d4942
Binary files /dev/null and b/issues/rebalance/assets/story-four/p2-cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/p3-cover.jpg b/issues/rebalance/assets/story-four/p3-cover.jpg
new file mode 100644
index 00000000..1d4af517
Binary files /dev/null and b/issues/rebalance/assets/story-four/p3-cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/p4-1.png b/issues/rebalance/assets/story-four/p4-1.png
new file mode 100644
index 00000000..3b24f4b1
Binary files /dev/null and b/issues/rebalance/assets/story-four/p4-1.png differ
diff --git a/issues/rebalance/assets/story-four/p4-cover.jpg b/issues/rebalance/assets/story-four/p4-cover.jpg
new file mode 100644
index 00000000..6b2168b3
Binary files /dev/null and b/issues/rebalance/assets/story-four/p4-cover.jpg differ
diff --git a/issues/rebalance/assets/story-four/p5-1.png b/issues/rebalance/assets/story-four/p5-1.png
new file mode 100644
index 00000000..9ad2e5be
Binary files /dev/null and b/issues/rebalance/assets/story-four/p5-1.png differ
diff --git a/issues/rebalance/assets/story-four/p5-2.png b/issues/rebalance/assets/story-four/p5-2.png
new file mode 100644
index 00000000..2a42d2a9
Binary files /dev/null and b/issues/rebalance/assets/story-four/p5-2.png differ
diff --git a/issues/rebalance/assets/story-four/p5-cover.jpg b/issues/rebalance/assets/story-four/p5-cover.jpg
new file mode 100644
index 00000000..60194d91
Binary files /dev/null and b/issues/rebalance/assets/story-four/p5-cover.jpg differ
diff --git a/issues/rebalance/assets/story-one/gut.png b/issues/rebalance/assets/story-one/gut.png
new file mode 100644
index 00000000..03048eec
Binary files /dev/null and b/issues/rebalance/assets/story-one/gut.png differ
diff --git a/issues/rebalance/assets/story-three/1.jpg b/issues/rebalance/assets/story-three/1.jpg
new file mode 100644
index 00000000..69cf1ac3
Binary files /dev/null and b/issues/rebalance/assets/story-three/1.jpg differ
diff --git a/issues/rebalance/assets/story-three/10.jpg b/issues/rebalance/assets/story-three/10.jpg
new file mode 100644
index 00000000..88dd0a14
Binary files /dev/null and b/issues/rebalance/assets/story-three/10.jpg differ
diff --git a/issues/rebalance/assets/story-three/2.jpg b/issues/rebalance/assets/story-three/2.jpg
new file mode 100644
index 00000000..fc91206e
Binary files /dev/null and b/issues/rebalance/assets/story-three/2.jpg differ
diff --git a/issues/rebalance/assets/story-three/3.jpg b/issues/rebalance/assets/story-three/3.jpg
new file mode 100644
index 00000000..c4344dad
Binary files /dev/null and b/issues/rebalance/assets/story-three/3.jpg differ
diff --git a/issues/rebalance/assets/story-three/4.jpg b/issues/rebalance/assets/story-three/4.jpg
new file mode 100644
index 00000000..55cf82fd
Binary files /dev/null and b/issues/rebalance/assets/story-three/4.jpg differ
diff --git a/issues/rebalance/assets/story-three/5.jpg b/issues/rebalance/assets/story-three/5.jpg
new file mode 100644
index 00000000..b7aef4c8
Binary files /dev/null and b/issues/rebalance/assets/story-three/5.jpg differ
diff --git a/issues/rebalance/assets/story-three/6.jpg b/issues/rebalance/assets/story-three/6.jpg
new file mode 100644
index 00000000..e0c8fa77
Binary files /dev/null and b/issues/rebalance/assets/story-three/6.jpg differ
diff --git a/issues/rebalance/assets/story-three/7.jpg b/issues/rebalance/assets/story-three/7.jpg
new file mode 100644
index 00000000..be39a1c3
Binary files /dev/null and b/issues/rebalance/assets/story-three/7.jpg differ
diff --git a/issues/rebalance/assets/story-three/8.jpg b/issues/rebalance/assets/story-three/8.jpg
new file mode 100644
index 00000000..12a84a54
Binary files /dev/null and b/issues/rebalance/assets/story-three/8.jpg differ
diff --git a/issues/rebalance/assets/story-three/9.jpg b/issues/rebalance/assets/story-three/9.jpg
new file mode 100644
index 00000000..7b5577c3
Binary files /dev/null and b/issues/rebalance/assets/story-three/9.jpg differ
diff --git a/issues/rebalance/assets/toc/cover.jpg b/issues/rebalance/assets/toc/cover.jpg
new file mode 100644
index 00000000..707f883a
Binary files /dev/null and b/issues/rebalance/assets/toc/cover.jpg differ
diff --git a/issues/rebalance/data/end.md b/issues/rebalance/data/end.md
new file mode 100644
index 00000000..863b56ff
--- /dev/null
+++ b/issues/rebalance/data/end.md
@@ -0,0 +1,17 @@
+---
+
+ title: End
+ summary: custom page
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/rebalance/data/story-five.md b/issues/rebalance/data/story-five.md
new file mode 100644
index 00000000..2e497f88
--- /dev/null
+++ b/issues/rebalance/data/story-five.md
@@ -0,0 +1,19 @@
+---
+
+ title: Be Well
+ summary: 'Prioritise yourself! Find some me time. Be healthy inside and out. cuptate ndigent quatet iuntinctum a vel ipid essimus vernat qui dolorero es eraturiam'
+
+ cover_url: 'assets/story-five/cover.jpg'
+ thumb_url: 'assets/story-five/cover.jpg'
+
+ custom_html: true
+
+ layout:
+ type: one-column
+ image_style: background
+ content_valign: top
+ content_align: left
+ custom_class: transparent
+
+---
+
diff --git a/issues/rebalance/data/story-five/1.md b/issues/rebalance/data/story-five/1.md
new file mode 100644
index 00000000..58829efb
--- /dev/null
+++ b/issues/rebalance/data/story-five/1.md
@@ -0,0 +1,19 @@
+---
+
+ title: '“I’VE GOT A GUT FEELING ABOUT FERMENTED FOODS'
+
+ cover_url: 'assets/story-five/p1-cover.jpg'
+ thumb_url: 'assets/story-five/p1-cover.jpg'
+
+ layout:
+ type: two-column
+ image_style: fit
+ content_valign: middle
+
+---
+
+You’ve no doubt noticed a surge of words like kimchi, koji and kombucha sprouting up across more and more café menus. Fermented foods aren’t just a fad though; cultures around the world have been eating them for centuries - from sauerkraut in Germany to kimchi in Korea. There’s good reason for it too, as these funky fodders are great for a healthy gut.
+
+The lactofermentation process allows natural bacteria to feed on the sugar and starch in the food, creating lactic acid, beneficial enzymes, b-vitamins, omega-3 fatty acids and various strains of probiotics. These nutrients restore the proper balance of bacteria in the gut that are otherwise diminished from years of taking antibiotic drugs and drinking chlorine-laced water. The live bacteria contained in fermented foods also breaks down the food to a more digestible form, helping your insides to stay calm and run more smoothly.
+
+Incorporating more fermented foods in your diet is really easy. You can even have a try at the fermentation process at home. A basic sauerkraut recipe can be made using three simple ingredients - cabbage, water and salt. Kombucha and water kefir are also inexpensive to make and can even be carbonated to make a refreshing soda.”
diff --git a/issues/rebalance/data/story-five/2.md b/issues/rebalance/data/story-five/2.md
new file mode 100644
index 00000000..00fa5b96
--- /dev/null
+++ b/issues/rebalance/data/story-five/2.md
@@ -0,0 +1,18 @@
+---
+
+ title: New In Fitness
+
+ cover_url: 'assets/story-five/p2-cover.jpg'
+ thumb_url: 'assets/story-five/p2-cover.jpg'
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: left
+ content_valign: middle
+
+---
+
+Copy about integrating yogurt into other meals - substituting it for cream etc. to be healthier. Odissinctotat quatis eos et odit abo.
+
+Beate corrorum ut et voles rem la dolorum voluptatquam ium enditium resequatis doloris volore oditi conecessed quo bero volorias molo temodiore nobit quibus sit hillor molore nihillam, ut eatur, et perum accum ne et aut periaeperio doluptibea nonseque voluptam harisciis moloriatur sedis nonet.
diff --git a/issues/rebalance/data/story-five/3.md b/issues/rebalance/data/story-five/3.md
new file mode 100644
index 00000000..e68a7f66
--- /dev/null
+++ b/issues/rebalance/data/story-five/3.md
@@ -0,0 +1,14 @@
+---
+
+ title: Story Five Subpage 3
+ summary: do something for yourself
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
diff --git a/issues/rebalance/data/story-five/4.md b/issues/rebalance/data/story-five/4.md
new file mode 100644
index 00000000..ecd3e5e9
--- /dev/null
+++ b/issues/rebalance/data/story-five/4.md
@@ -0,0 +1,14 @@
+---
+
+ title: Story Five Subpage 4
+ summary: get outdoors
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
diff --git a/issues/rebalance/data/story-five/5.md b/issues/rebalance/data/story-five/5.md
new file mode 100644
index 00000000..66baa31e
--- /dev/null
+++ b/issues/rebalance/data/story-five/5.md
@@ -0,0 +1,16 @@
+---
+
+ title: Story Five Subpage 5 (custom page)
+ summary: music to match calm image + calm minds + calm body + calm gut
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
diff --git a/issues/rebalance/data/story-four.md b/issues/rebalance/data/story-four.md
new file mode 100644
index 00000000..a4c4451b
--- /dev/null
+++ b/issues/rebalance/data/story-four.md
@@ -0,0 +1,19 @@
+---
+
+ title: Eat well
+ summary: Story Four (custom page)
+
+ cover_url: 'assets/story-four/cover.jpg'
+ thumb_url: 'assets/story-four/cover.jpg'
+
+ custom_html: true
+
+ layout:
+ type: one-column
+ image_style: background
+ content_style: black
+ content_align: right
+ content_valign: bottom
+ custom_class: transparent
+
+---
diff --git a/issues/rebalance/data/story-four/1.md b/issues/rebalance/data/story-four/1.md
new file mode 100644
index 00000000..e83d9272
--- /dev/null
+++ b/issues/rebalance/data/story-four/1.md
@@ -0,0 +1,23 @@
+---
+
+ title: The Ultimate Green Smoothie
+ summary: green smoothies + one hero + plus suggestions
+
+ cover_url: 'assets/story-four/p1-cover.jpg'
+ thumb_url: 'assets/story-four/p1-cover.jpg'
+
+ images:
+ - url: 'assets/story-four/p1-1.png'
+ - url: 'assets/story-four/p1-2.png'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Recipe to go here for one smoothie include Activia as ingredient. Endios re, sed molorem oluptatus volupta parupicae nobitatet doloria que cuptate ndigent quatet iuntinctum a vel ipid essimus vernat qui dolorero es eraturiam, sapiduntiist lantorr oristisque non perum quis ex et.
+
+
+
diff --git a/issues/rebalance/data/story-four/2.md b/issues/rebalance/data/story-four/2.md
new file mode 100644
index 00000000..2b4abf1b
--- /dev/null
+++ b/issues/rebalance/data/story-four/2.md
@@ -0,0 +1,23 @@
+---
+
+ title: The Ultimate Green Smoothie
+ summary: green smoothies + one hero + plus suggestions
+
+ cover_url: 'assets/story-four/p2-cover.jpg'
+ thumb_url: 'assets/story-four/p2-cover.jpg'
+
+ images:
+ - url: 'assets/story-four/p2-1.png'
+ - url: 'assets/story-four/p2-2.png'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Recipe to go here for one smoothie include Activia as ingredient. Endios re, sed molorem oluptatus volupta parupicae nobitatet doloria que cuptate ndigent quatet iuntinctum a vel ipid essimus vernat qui dolorero es eraturiam, sapiduntiist lantorr oristisque non perum quis ex et.
+
+
+
diff --git a/issues/rebalance/data/story-four/3.md b/issues/rebalance/data/story-four/3.md
new file mode 100644
index 00000000..00895a62
--- /dev/null
+++ b/issues/rebalance/data/story-four/3.md
@@ -0,0 +1,15 @@
+---
+
+ title: Get Your Fibre Fix
+
+ cover_url: 'assets/story-four/p3-cover.jpg'
+ thumb_url: 'assets/story-four/p3-cover.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Recipe to go here for one smoothie include Activia as ingredient. Endios re, sed molorem oluptatus volupta parupicae nobitatet doloria que cuptate ndigent quatet iuntinctum a vel ipid essimus vernat qui dolorero es eraturiam, sapiduntiist lantorr oristisque non perum quis ex et.
diff --git a/issues/rebalance/data/story-four/4.md b/issues/rebalance/data/story-four/4.md
new file mode 100644
index 00000000..db6553f8
--- /dev/null
+++ b/issues/rebalance/data/story-four/4.md
@@ -0,0 +1,22 @@
+---
+
+ title: Start Right
+
+ cover_url: 'assets/story-four/p4-cover.jpg'
+ thumb_url: 'assets/story-four/p4-cover.jpg'
+
+ images:
+ - url: 'assets/story-four/p4-1.png'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Copy about breakfast being best meal of day etc. and why you need to fuel yourself up for the day ahead etc. Odissinctotat quatis eos et odit abo.
+
+Beate corrorum ut et voles rem la dolorum voluptatquam ium enditium resequatis doloris volore oditi conecessed quo bero volorias molo temodiore nobit quibus sit hillor molore nihillam, ut eatur, et perum accum ne et aut periaeperio doluptibea nonseque voluptam harisciis moloriatur sedis nonet.
+
+
diff --git a/issues/rebalance/data/story-four/5.md b/issues/rebalance/data/story-four/5.md
new file mode 100644
index 00000000..5f8d3e18
--- /dev/null
+++ b/issues/rebalance/data/story-four/5.md
@@ -0,0 +1,24 @@
+---
+
+ title: Balanced Meals
+
+ cover_url: 'assets/story-four/p5-cover.jpg'
+ thumb_url: 'assets/story-four/p5-cover.jpg'
+
+ images:
+ - url: 'assets/story-four/p5-1.png'
+ - url: 'assets/story-four/p5-2.png'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Copy about breakfast being best meal of day etc. and why you need to fuel yourself up for the day ahead etc. Odissinctotat quatis eos et odit abo.
+
+Beate corrorum ut et voles rem la dolorum voluptatquam ium enditium resequatis doloris volore oditi conecessed quo bero volorias molo temodiore nobit quibus sit hillor molore nihillam, ut eatur, et perum accum ne et aut periaeperio doluptibea nonseque voluptam harisciis moloriatur sedis nonet.
+
+
+
diff --git a/issues/rebalance/data/story-one.md b/issues/rebalance/data/story-one.md
new file mode 100644
index 00000000..9db2c117
--- /dev/null
+++ b/issues/rebalance/data/story-one.md
@@ -0,0 +1,42 @@
+---
+
+ title: Gut Instinct
+ summary:
+ 'Animated graphic + Custom page'
+
+ cover_url: 'assets/story-one/gut.png'
+ thumb_url: 'assets/story-one/gut.png'
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: fit
+ image_align: right
+ content_valign: middle
+
+---
+
+
+
+
+
+
+
View Item 3
+
+
+
+
Lorem ipsum dolor
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+
+
+
diff --git a/issues/rebalance/data/story-three.md b/issues/rebalance/data/story-three.md
new file mode 100644
index 00000000..09d495bb
--- /dev/null
+++ b/issues/rebalance/data/story-three.md
@@ -0,0 +1,68 @@
+---
+
+ title: Restore Your Balance
+ summary: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+ thumb_url: 'assets/placeholder.jpg'
+
+ images:
+ - title: Image
+ url: assets/story-three/1.jpg
+
+ - title: Image
+ url: assets/story-three/2.jpg
+
+ - title: Image
+ url: assets/story-three/3.jpg
+
+ - title: Image
+ url: assets/story-three/4.jpg
+
+ - title: Image
+ url: assets/story-three/5.jpg
+
+ - title: Image
+ url: assets/story-three/6.jpg
+
+ - title: Image
+ url: assets/story-three/7.jpg
+
+ - title: Image
+ url: assets/story-three/8.jpg
+
+ - title: Image
+ url: assets/story-three/9.jpg
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_align: right
+ content_valign: middle
+
+---
+
+
+
+ {{#images}}
+
+
+
+ {{ caption }}
+
+
+ {{/images}}
+
+
+
+
+
+
+
Activia is a probiotic yoghurt which contains probiotic Bifidus ActiRegularis, scientifically proven for its ability to survive in the digestive system and help improve digestive comfort.
+
Bifidus ActiRegularis is a probiotic bacteria that has undergone clinical studies and is backed by published scientific studies for its ability to help reduce systems of digestive discomfort such as feeling bloated.
+
Made from fresh cow’s milk, Activia is sourced from local Australian farmers and free from gelatin, artificial thickeners or colours.
+
+
diff --git a/issues/rebalance/data/story-two.md b/issues/rebalance/data/story-two.md
new file mode 100644
index 00000000..c5157e16
--- /dev/null
+++ b/issues/rebalance/data/story-two.md
@@ -0,0 +1,18 @@
+---
+
+ title: Story Two
+ summary:
+ 'sluggish/symptoms'
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: left
+ content_valign: middle
+
+---
diff --git a/issues/rebalance/data/toc.md b/issues/rebalance/data/toc.md
new file mode 100644
index 00000000..29ced190
--- /dev/null
+++ b/issues/rebalance/data/toc.md
@@ -0,0 +1,17 @@
+---
+
+ title: Table of Content
+
+ thumb_url: assets/toc/cover.jpg
+ cover_url: assets/toc/cover.jpg
+
+ layout:
+ type: toc
+ image_style: background
+ content_style: black
+ custom_class: transparent
+
+---
+
+
“A healthy outside starts from the inside”
+
Robert Urich
diff --git a/issues/rebalance/issue.yaml b/issues/rebalance/issue.yaml
new file mode 100644
index 00000000..5eb76ef6
--- /dev/null
+++ b/issues/rebalance/issue.yaml
@@ -0,0 +1,21 @@
+title: Find Your Natural Balance
+description: Feel Nourished From The Inside Out
+magazine_title: Activia
+magazine_handle: activia
+
+thumb_url: assets/background.jpg
+cover_url: assets/background_large.jpg
+
+assets:
+ - 'custom.css'
+ - 'custom.js'
+
+paths:
+ - index
+ - toc
+ - story-one
+ - story-two
+ - story-three
+ - story-four
+ - story-five
+ - end
diff --git a/issues/rebelskhed/assets/background.jpg b/issues/rebelskhed/assets/background.jpg
new file mode 100644
index 00000000..89d4d019
Binary files /dev/null and b/issues/rebelskhed/assets/background.jpg differ
diff --git a/issues/rebelskhed/assets/background_large.jpg b/issues/rebelskhed/assets/background_large.jpg
new file mode 100644
index 00000000..bfab610a
Binary files /dev/null and b/issues/rebelskhed/assets/background_large.jpg differ
diff --git a/issues/rebelskhed/assets/badge_itunes.svg b/issues/rebelskhed/assets/badge_itunes.svg
new file mode 100644
index 00000000..518eeb14
--- /dev/null
+++ b/issues/rebelskhed/assets/badge_itunes.svg
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/rebelskhed/assets/custom.scss b/issues/rebelskhed/assets/custom.scss
new file mode 100644
index 00000000..8c340634
--- /dev/null
+++ b/issues/rebelskhed/assets/custom.scss
@@ -0,0 +1,184 @@
+#rebelskhed-issue {
+ .product-set li {
+ overflow: hidden;
+ }
+
+ [data-page="index"] {
+ h1.title {
+ font-size: 40px;
+ }
+
+ h2.brand {
+ font-size: 20px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ h1.title {
+ font-size: 100px;
+ }
+
+ h2.brand {
+ font-size: 40px;
+ }
+ }
+ }
+
+ [data-page="toc"] {
+ .menu .head {
+ display: none;
+ }
+
+ .menu li:first-of-type {
+ padding-top: 20px;
+ }
+
+ .cover-area {
+ min-height: 192px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .cover-area {
+ min-height: 306px;
+ }
+ }
+
+ @media only screen and (min-width: 768px) and (orientation: landscape) {
+ .cover-area {
+ min-height: 408px;
+ }
+ }
+ }
+
+ [data-page="story-two/1"] {
+ @media only screen and (min-width: 768px) {
+ .title {
+ text-shadow: 1px 1px 20px rgba(0,0,0,0.4);
+ }
+ }
+ }
+
+ [data-page="end"] {
+ text-align: center;
+
+ img[data-media-id] {
+ display: block;
+ margin: 10% auto;
+ }
+ }
+
+ /*
+ Polaroid
+ */
+
+ ul.polaroids {
+ margin: 0;
+ padding: 0;
+ }
+
+ .polaroid-wrap {
+ list-style: none;
+ }
+
+ figure.polaroid {
+ display: inline;
+ float: left;
+ margin: 0 -5% -10% 1%;
+ max-width: 48%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ -webkit-transition: all .15s linear;
+ -moz-transition: all .15s linear;
+ transition: all .15s linear;
+
+ -webkit-transform: rotate(-2deg);
+ -moz-transform: rotate(-2deg);
+ transform: rotate(-2deg);
+
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -5% 5%;
+ padding-left: 20px;
+ max-width: 24%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(4) figure {
+ clear: left;
+ }
+
+ .polaroid-wrap:nth-child(5) figure {
+ position: relative;
+ top: 0;
+ left: 2vh;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+
+ .polaroid-wrap:nth-child(6) figure {
+ left: -2vh;
+
+ -webkit-transform: rotate(6deg);
+ -moz-transform: rotate(6deg);
+ transform: rotate(6deg);
+ }
+
+ .polaroid-wrap:nth-child(8) figure {
+ position: relative;
+ top: 5vh;
+ left: -2vh;
+
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+}
diff --git a/issues/rebelskhed/assets/end.gif b/issues/rebelskhed/assets/end.gif
new file mode 100644
index 00000000..de5760aa
Binary files /dev/null and b/issues/rebelskhed/assets/end.gif differ
diff --git a/issues/rebelskhed/assets/madhouse/1.jpg b/issues/rebelskhed/assets/madhouse/1.jpg
new file mode 100644
index 00000000..cfc3f0c4
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/1.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/2.jpg b/issues/rebelskhed/assets/madhouse/2.jpg
new file mode 100644
index 00000000..76357f79
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/2.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/3.jpg b/issues/rebelskhed/assets/madhouse/3.jpg
new file mode 100644
index 00000000..4c942e9d
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/3.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/4.jpg b/issues/rebelskhed/assets/madhouse/4.jpg
new file mode 100644
index 00000000..34880a07
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/4.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/_IK_5133.jpg b/issues/rebelskhed/assets/madhouse/_IK_5133.jpg
new file mode 100644
index 00000000..d6313388
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/_IK_5133.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/_IK_5165.jpg b/issues/rebelskhed/assets/madhouse/_IK_5165.jpg
new file mode 100644
index 00000000..c732354c
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/_IK_5165.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/_IK_5222.jpg b/issues/rebelskhed/assets/madhouse/_IK_5222.jpg
new file mode 100644
index 00000000..ce16ad1f
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/_IK_5222.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/cover.jpg b/issues/rebelskhed/assets/madhouse/cover.jpg
new file mode 100644
index 00000000..f0465948
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/cover.jpg differ
diff --git a/issues/rebelskhed/assets/madhouse/thumb.jpg b/issues/rebelskhed/assets/madhouse/thumb.jpg
new file mode 100644
index 00000000..372bab0f
Binary files /dev/null and b/issues/rebelskhed/assets/madhouse/thumb.jpg differ
diff --git a/issues/rebelskhed/assets/preview.mp4 b/issues/rebelskhed/assets/preview.mp4
new file mode 100755
index 00000000..8aeb0dd7
Binary files /dev/null and b/issues/rebelskhed/assets/preview.mp4 differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-1.jpg b/issues/rebelskhed/assets/shopping/p1-product-1.jpg
new file mode 100644
index 00000000..b20faaa7
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-1.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-2.jpg b/issues/rebelskhed/assets/shopping/p1-product-2.jpg
new file mode 100644
index 00000000..3bc67ff2
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-2.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-3.jpg b/issues/rebelskhed/assets/shopping/p1-product-3.jpg
new file mode 100644
index 00000000..c2b5acb8
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-3.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-4.jpg b/issues/rebelskhed/assets/shopping/p1-product-4.jpg
new file mode 100644
index 00000000..021479c5
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-4.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-5.jpg b/issues/rebelskhed/assets/shopping/p1-product-5.jpg
new file mode 100644
index 00000000..8edd6088
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-5.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p1-product-6.jpg b/issues/rebelskhed/assets/shopping/p1-product-6.jpg
new file mode 100644
index 00000000..8180253d
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p1-product-6.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-1.jpg b/issues/rebelskhed/assets/shopping/p2-product-1.jpg
new file mode 100644
index 00000000..d70efe38
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-1.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-2.jpg b/issues/rebelskhed/assets/shopping/p2-product-2.jpg
new file mode 100644
index 00000000..b198a51a
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-2.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-3.jpg b/issues/rebelskhed/assets/shopping/p2-product-3.jpg
new file mode 100644
index 00000000..4c3ffc3e
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-3.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-4.jpg b/issues/rebelskhed/assets/shopping/p2-product-4.jpg
new file mode 100644
index 00000000..a1ee4aa9
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-4.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-5.jpg b/issues/rebelskhed/assets/shopping/p2-product-5.jpg
new file mode 100644
index 00000000..822651c8
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-5.jpg differ
diff --git a/issues/rebelskhed/assets/shopping/p2-product-6.jpg b/issues/rebelskhed/assets/shopping/p2-product-6.jpg
new file mode 100644
index 00000000..c7cb0a58
Binary files /dev/null and b/issues/rebelskhed/assets/shopping/p2-product-6.jpg differ
diff --git a/issues/rebelskhed/assets/shopping_thumb.jpg b/issues/rebelskhed/assets/shopping_thumb.jpg
new file mode 100644
index 00000000..d63c2bc0
Binary files /dev/null and b/issues/rebelskhed/assets/shopping_thumb.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/1.jpg b/issues/rebelskhed/assets/spotted/1.jpg
new file mode 100644
index 00000000..02f653d1
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/1.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/2.jpg b/issues/rebelskhed/assets/spotted/2.jpg
new file mode 100644
index 00000000..a89e4ea8
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/2.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/3.jpg b/issues/rebelskhed/assets/spotted/3.jpg
new file mode 100644
index 00000000..b3f87c71
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/3.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/4.jpg b/issues/rebelskhed/assets/spotted/4.jpg
new file mode 100644
index 00000000..733d4141
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/4.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/5.jpg b/issues/rebelskhed/assets/spotted/5.jpg
new file mode 100644
index 00000000..faad281a
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/5.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/6.jpg b/issues/rebelskhed/assets/spotted/6.jpg
new file mode 100644
index 00000000..2466db92
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/6.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/7.jpg b/issues/rebelskhed/assets/spotted/7.jpg
new file mode 100644
index 00000000..7f21400d
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/7.jpg differ
diff --git a/issues/rebelskhed/assets/spotted/8.jpg b/issues/rebelskhed/assets/spotted/8.jpg
new file mode 100644
index 00000000..66e77fbd
Binary files /dev/null and b/issues/rebelskhed/assets/spotted/8.jpg differ
diff --git a/issues/rebelskhed/assets/story_one/1_b.jpg b/issues/rebelskhed/assets/story_one/1_b.jpg
new file mode 100644
index 00000000..dcd6aea0
Binary files /dev/null and b/issues/rebelskhed/assets/story_one/1_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_one/europe2014.jpg b/issues/rebelskhed/assets/story_one/europe2014.jpg
new file mode 100644
index 00000000..d900815c
Binary files /dev/null and b/issues/rebelskhed/assets/story_one/europe2014.jpg differ
diff --git a/issues/rebelskhed/assets/story_one/thumb.jpg b/issues/rebelskhed/assets/story_one/thumb.jpg
new file mode 100644
index 00000000..36819be8
Binary files /dev/null and b/issues/rebelskhed/assets/story_one/thumb.jpg differ
diff --git a/issues/rebelskhed/assets/story_one/woolmark-judges.jpg b/issues/rebelskhed/assets/story_one/woolmark-judges.jpg
new file mode 100644
index 00000000..022dc381
Binary files /dev/null and b/issues/rebelskhed/assets/story_one/woolmark-judges.jpg differ
diff --git a/issues/rebelskhed/assets/story_one/woolmark.jpg b/issues/rebelskhed/assets/story_one/woolmark.jpg
new file mode 100644
index 00000000..cbf5c55e
Binary files /dev/null and b/issues/rebelskhed/assets/story_one/woolmark.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/10_i.jpg b/issues/rebelskhed/assets/story_two/10_i.jpg
new file mode 100644
index 00000000..e8b47d1a
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/10_i.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/19_b.jpg b/issues/rebelskhed/assets/story_two/19_b.jpg
new file mode 100644
index 00000000..32d0357d
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/19_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/20_b.jpg b/issues/rebelskhed/assets/story_two/20_b.jpg
new file mode 100644
index 00000000..559ec680
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/20_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/3_b.jpg b/issues/rebelskhed/assets/story_two/3_b.jpg
new file mode 100644
index 00000000..a8353242
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/3_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/5_b.jpg b/issues/rebelskhed/assets/story_two/5_b.jpg
new file mode 100644
index 00000000..f51b3aa4
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/5_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/7_b.jpg b/issues/rebelskhed/assets/story_two/7_b.jpg
new file mode 100644
index 00000000..5218108e
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/7_b.jpg differ
diff --git a/issues/rebelskhed/assets/story_two/bg_nweb2.png b/issues/rebelskhed/assets/story_two/bg_nweb2.png
new file mode 100644
index 00000000..26d0f11b
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/bg_nweb2.png differ
diff --git a/issues/rebelskhed/assets/story_two/bg_nweb4.png b/issues/rebelskhed/assets/story_two/bg_nweb4.png
new file mode 100644
index 00000000..50f5d109
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/bg_nweb4.png differ
diff --git a/issues/rebelskhed/assets/story_two/teaser.png b/issues/rebelskhed/assets/story_two/teaser.png
new file mode 100644
index 00000000..1b4c1a28
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/teaser.png differ
diff --git a/issues/rebelskhed/assets/story_two/thumb.jpg b/issues/rebelskhed/assets/story_two/thumb.jpg
new file mode 100644
index 00000000..1b4ce0b8
Binary files /dev/null and b/issues/rebelskhed/assets/story_two/thumb.jpg differ
diff --git a/issues/rebelskhed/assets/toc.png b/issues/rebelskhed/assets/toc.png
new file mode 100644
index 00000000..1d38d34d
Binary files /dev/null and b/issues/rebelskhed/assets/toc.png differ
diff --git a/issues/rebelskhed/assets/toc_header_480.mov b/issues/rebelskhed/assets/toc_header_480.mov
new file mode 100644
index 00000000..0d4a8434
Binary files /dev/null and b/issues/rebelskhed/assets/toc_header_480.mov differ
diff --git a/issues/rebelskhed/assets/toc_header_480.mp4 b/issues/rebelskhed/assets/toc_header_480.mp4
new file mode 100644
index 00000000..8e305e39
Binary files /dev/null and b/issues/rebelskhed/assets/toc_header_480.mp4 differ
diff --git a/issues/rebelskhed/assets/toc_header_480_1.mp4 b/issues/rebelskhed/assets/toc_header_480_1.mp4
new file mode 100644
index 00000000..33a54d11
Binary files /dev/null and b/issues/rebelskhed/assets/toc_header_480_1.mp4 differ
diff --git a/issues/rebelskhed/assets/video-heat/zyra.png b/issues/rebelskhed/assets/video-heat/zyra.png
new file mode 100644
index 00000000..4b383c3b
Binary files /dev/null and b/issues/rebelskhed/assets/video-heat/zyra.png differ
diff --git a/issues/rebelskhed/assets/video_thumb.jpg b/issues/rebelskhed/assets/video_thumb.jpg
new file mode 100644
index 00000000..252f752c
Binary files /dev/null and b/issues/rebelskhed/assets/video_thumb.jpg differ
diff --git a/issues/rebelskhed/data/end.md b/issues/rebelskhed/data/end.md
new file mode 100644
index 00000000..cdef0c3c
--- /dev/null
+++ b/issues/rebelskhed/data/end.md
@@ -0,0 +1,24 @@
+---
+
+ title: End
+
+ images:
+ - url: assets/end.gif
+
+ links:
+ - http://asgerjuellarsen.com/
+
+ layout:
+ type: one-column
+ nav: false
+ image_style: background
+ content_style: white
+ content_height: full
+ content_align: center
+ content_valign: middle
+
+---
+
+
+
+
diff --git a/issues/rebelskhed/data/shopping.md b/issues/rebelskhed/data/shopping.md
new file mode 100644
index 00000000..d1a80676
--- /dev/null
+++ b/issues/rebelskhed/data/shopping.md
@@ -0,0 +1,51 @@
+---
+
+ title: Dark and Sinister
+ category: Shop the look
+ cover_url: assets/madhouse/3.jpg
+ thumb_url: assets/shopping_thumb.jpg
+
+ products:
+ - link: "http://asgerjuellarsen.com/Webshop/?id=189"
+ image_url: assets/shopping/p1-product-1.jpg
+ title: "CHAMPION BELLY GIRL"
+ description: "Oversized tee with front print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen"
+ price: "€67"
+
+ - link: "http://asgerjuellarsen.com/Webshop/?id=188"
+ image_url: assets/shopping/p1-product-2.jpg
+ title: "AINT SHIT FINGER"
+ description: Sweatshirt with front and sleeve print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen. Features a ribbed round neck, long sleeves and a ribbed hem and cuffs.
+ price: "€110"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=190
+ image_url: assets/shopping/p1-product-3.jpg
+ title: CHAMPION BELLY GUY
+ description: Oversized tee with front print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€67"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=196
+ image_url: assets/shopping/p1-product-4.jpg
+ title: WORLDWIDE TORSO GIRL
+ description: Tee with front and back print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€60"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=212
+ image_url: assets/shopping/p1-product-5.jpg
+ title: EVERLARSEN THIGH GIRL
+ description: Shorts with front print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "$500"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=191
+ image_url: assets/shopping/p1-product-6.jpg
+ title: CHAMPION SHIN GUY
+ description: Sweatpants with front and back print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€110"
+
+ layout:
+ type: two-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
+---
diff --git a/issues/rebelskhed/data/shopping/1.md b/issues/rebelskhed/data/shopping/1.md
new file mode 100644
index 00000000..20640aaa
--- /dev/null
+++ b/issues/rebelskhed/data/shopping/1.md
@@ -0,0 +1,52 @@
+---
+
+ title: Everlarsen Flames
+ category: shopping
+ cover_url: assets/madhouse/4.jpg
+ thumb_url: assets/madhouse/4.jpg
+
+ products:
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=199
+ image_url: assets/shopping/p2-product-1.jpg
+ title: "FLAMES FINGER GUY"
+ description: "Sweatshirt with all-over print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen. Features a ribbed round neck, long sleeves and a ribbed hem and cuffs"
+ price: "€120"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=211
+ image_url: assets/shopping/p2-product-2.jpg
+ title: "FLAMES FINGER GIRL"
+ description: Sweatshirt with all-over print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen. Features a ribbed round neck, long sleeves and a ribbed hem and cuffs
+ price: "€120"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=198
+ image_url: assets/shopping/p2-product-3.jpg
+ title: FLAMES BELLY GUY
+ description: Oversized tee with all over print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€67"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=205
+ image_url: assets/shopping/p2-product-4.jpg
+ title: FLAMES BELLY GIRL
+ description: Oversized tee with front print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€67"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=193
+ image_url: assets/shopping/p2-product-5.jpg
+ title: FLAMES THIGH GUY
+ description: Shorts with front print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€80"
+
+ - link: http://asgerjuellarsen.com/Webshop/?id=202
+ image_url: assets/shopping/p2-product-6.jpg
+ title: FLAMES SHIN GUY
+ description: Sweatpants with all-over print from A.J.L Madhouse, a non-season based and unisex diffussion line from Asger Juel Larsen
+ price: "€120"
+
+ layout:
+ type: two-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
+---
diff --git a/issues/rebelskhed/data/story-four.md b/issues/rebelskhed/data/story-four.md
new file mode 100644
index 00000000..5f029668
--- /dev/null
+++ b/issues/rebelskhed/data/story-four.md
@@ -0,0 +1,39 @@
+---
+
+ category: Social
+ title: "#AJL Spotted"
+
+ thumb_url: assets/spotted/3.jpg
+
+ images:
+ - url: assets/spotted/1.jpg
+ - url: assets/spotted/2.jpg
+ - url: assets/spotted/3.jpg
+ - url: assets/spotted/4.jpg
+ - url: assets/spotted/5.jpg
+ - url: assets/spotted/6.jpg
+ - url: assets/spotted/7.jpg
+ - url: assets/spotted/8.jpg
+
+ layout:
+ type: custom
+
+---
+
+
+
+ {{ category }}
+ {{ title }}
+
+
+
+ {{#images}}
+
+
+
+ {{ caption }}
+
+
+ {{/images}}
+
+
diff --git a/issues/rebelskhed/data/story-one.md b/issues/rebelskhed/data/story-one.md
new file mode 100644
index 00000000..32884c4b
--- /dev/null
+++ b/issues/rebelskhed/data/story-one.md
@@ -0,0 +1,28 @@
+---
+
+ category: Featured
+ title: Asger wins Woolmark
+
+ byline: By Zyra Bacani
+
+ cover_url: assets/story_one/woolmark.jpg
+ thumb_url: assets/story_one/thumb.jpg
+
+ images:
+ - url: assets/story_one/woolmark-judges.jpg
+
+ layout:
+ type: two-column
+ image_style: cover
+
+---
+
+Asger’s burst of individuality and expression has become widely embraced on an international level, having recently won the highly acclaimed 2014/15 International Woolmark Prize in the European Regional Menswear sector. Previous winners include Karl Lagerfeld and Yves Saint Laurent.
+
+According to Director of the masculine world of Hermès, Véronique Nichanian, said that the decision was unanimous because Asger’s presentation was very well articulated and his research on fabrics and textures were elaborate and accomplished.
+
+Having deservingly won the menswear contest between 20 promising talents in European design, Asger was given a generous financial contribution but even more thrillingly, the opportunity to represent Europe and compete in the prestigious international final for menswear which will be held in London Collections: Men on January 2015.
+
+Keep those eyes on a close look-out because for the next six to eight months, Asger will be developing his capsule collection in Merino wool. His exceptional pieces will be showcased in another event, where it will highlight the five finalists which will be selected from across the world for both menswear and womenswear.
+
+
diff --git a/issues/rebelskhed/data/story-one/1.md b/issues/rebelskhed/data/story-one/1.md
new file mode 100644
index 00000000..6527d98b
--- /dev/null
+++ b/issues/rebelskhed/data/story-one/1.md
@@ -0,0 +1,12 @@
+---
+
+ cover_url: assets/story_one/europe2014.jpg
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: right
+ content_valign: bottom
+ content_style: black
+
+---
diff --git a/issues/rebelskhed/data/story-three.md b/issues/rebelskhed/data/story-three.md
new file mode 100644
index 00000000..dd1e1c56
--- /dev/null
+++ b/issues/rebelskhed/data/story-three.md
@@ -0,0 +1,19 @@
+---
+
+ category: Lookbook
+ title: A.J.L Madhouse
+
+ cover_url: assets/madhouse/cover.jpg
+ thumb_url: assets/madhouse/thumb.jpg
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: center
+ content_valign: middle
+ content_style: black
+
+---
+
+Ever watched ‘Party Monster’ and dreamt of a world where we could all be stars in the dope show, where rollerblading your way into an interview met immediate promotion, East End London boasted trend setting zombies, and telling people to “fuck off” was Class A chivalry? If so you might want to book yourself into the Madhouse, a tripped out Travelodge where metalheads, rebels, night terrors and “whateva’s” have the ultimate slumber party.
+
diff --git a/issues/rebelskhed/data/story-three/1.md b/issues/rebelskhed/data/story-three/1.md
new file mode 100644
index 00000000..9605b03a
--- /dev/null
+++ b/issues/rebelskhed/data/story-three/1.md
@@ -0,0 +1,13 @@
+---
+
+ cover_url: assets/madhouse/1.jpg
+ thumb_url: assets/madhouse/1.jpg
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: right
+ content_valign: bottom
+ content_style: black
+
+---
diff --git a/issues/rebelskhed/data/story-three/2.md b/issues/rebelskhed/data/story-three/2.md
new file mode 100644
index 00000000..141335ff
--- /dev/null
+++ b/issues/rebelskhed/data/story-three/2.md
@@ -0,0 +1,13 @@
+---
+
+ cover_url: assets/madhouse/2.jpg
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: right
+ content_valign: bottom
+ content_style: black
+
+---
+
diff --git a/issues/rebelskhed/data/story-two.md b/issues/rebelskhed/data/story-two.md
new file mode 100644
index 00000000..c66bbcb4
--- /dev/null
+++ b/issues/rebelskhed/data/story-two.md
@@ -0,0 +1,15 @@
+---
+
+ title: Artic Suburb Manual
+ category: Lookbook AW14
+
+ thumb_url: assets/story_two/thumb.jpg
+ cover_url: assets/story_two/10_i.jpg
+
+---
+
+Take the associations with looking up into space, and bring this elusive and ambiguous frame of mind to gravity. This is a story of survival from the unlikeliest explorers. Rebels who are belittled and befriended by their new surroundings. Boundaries and morals are blurred in the extreme cold conditions, creating an aesthetic that is severe, arctic, and somewhere altogether sci-fi. Getting lost has never made so much sense...and who says camouflage can’t stand out?
+
+Asger’s SS14 collection has a psychotic bliss about it.
+
+Society has become a dystopian dagger to the senses, defining imagination as treason and establishing mindless existence as propaganda for the ‘proper’. In a city that was created by a generic computer game click, those brave few that thought ‘fuck it’ to that bleak bubble, burst it by going out headbanging, chewing some gum, and encouraging a rave in a supermarket car park. They were sent to the mental hospital and forced to watch daytime TV in straight jackets... little did the system realize that these rebels were busy creating a world of their own.
diff --git a/issues/rebelskhed/data/story-two/1.md b/issues/rebelskhed/data/story-two/1.md
new file mode 100644
index 00000000..b8922fc3
--- /dev/null
+++ b/issues/rebelskhed/data/story-two/1.md
@@ -0,0 +1,16 @@
+---
+
+ title: Rebels who are belittled and befriended by their new surroundings.
+
+ cover_url: assets/story_two/5_b.jpg
+
+ layout:
+ type: two-column
+ image_style: background
+ content_style: black
+ content_align: center
+ content_valign: middle
+ content_height: auto
+ content_transparent: "1"
+
+---
diff --git a/issues/rebelskhed/data/story-two/2.md b/issues/rebelskhed/data/story-two/2.md
new file mode 100644
index 00000000..faffb50a
--- /dev/null
+++ b/issues/rebelskhed/data/story-two/2.md
@@ -0,0 +1,15 @@
+---
+
+ cover_url: assets/story_two/3_b.jpg
+
+ images:
+ - url: assets/story_two/19_b.jpg
+
+ layout:
+ type: two-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+
diff --git a/issues/rebelskhed/data/story-two/3.md b/issues/rebelskhed/data/story-two/3.md
new file mode 100644
index 00000000..322f5304
--- /dev/null
+++ b/issues/rebelskhed/data/story-two/3.md
@@ -0,0 +1,23 @@
+---
+
+ category: Pre-show teaser
+ title: AW14 - Artic Sburb Manual
+
+ videos:
+ - link: http://vimeo.com/94383607
+ thumb_url: assets/story_two/teaser.png
+ type: video/vimeo
+ autoplay: true
+
+ layout:
+ type: one-column
+ image_style: cover
+ content_style: black
+
+---
+
+
+
+Imagine a decadent like wallpaper that has stinging nettles made of iron growing out from it. This print is like a web of deconstructed handcuffs with a playful swirl in its sting. A stained glass church window is also broken into bits of coding, creating a liquidated, winter blue Tetris print.
+
+This survival manual is a testament to the designer’s alternative utopia, nurturing a unique aesthetic of his own. Streetwear is taken out of its comfort zone and given a cold touch, showcasing a warfare against the elements. Getting lost has never made so much sense...and who says camouflage can't stand out?
diff --git a/issues/rebelskhed/data/toc.md b/issues/rebelskhed/data/toc.md
new file mode 100644
index 00000000..7edc3baa
--- /dev/null
+++ b/issues/rebelskhed/data/toc.md
@@ -0,0 +1,22 @@
+---
+
+ title: "A.J.L. MADHOUSE Issue #1"
+
+ thumb_url: assets/toc.png
+
+ videos:
+ - url: assets/toc_header_480.mp4
+ thumb_url: assets/toc.png
+ type: video
+ cover: true
+ autoplay: true
+ loop: true
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+Asger Juel Larsen is a designer that marks and merits the adventurous and rule breaking reinvention of modern menswear. The attitude of the aesthetic is ambitious, ambiguous, and charged with statement on both a visual and emotional level. Music, performance, history and propaganda play both a central and collaborative role in the collections. Asger's new breed of tailoring offers unconventional sporty structure for a modern mood and generation.
+This is heritage that truly hopes you hellraise.
diff --git a/issues/rebelskhed/data/video-heat.md b/issues/rebelskhed/data/video-heat.md
new file mode 100644
index 00000000..3aa54aa7
--- /dev/null
+++ b/issues/rebelskhed/data/video-heat.md
@@ -0,0 +1,21 @@
+---
+
+ category: video
+ title: Feel the HEAT
+ author_name: Zyralyn Bacani
+ #author_icon: assets/video-heat/zyra.png
+
+ thumb_url: assets/video_thumb.jpg
+
+ videos:
+ - thumb_url: http://i.vimeocdn.com/video/479274132_640.jpg
+ link: http://vimeo.com/98524032
+ type: video/vimeo
+ cover: true
+
+ layout:
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/rebelskhed/issue.yaml b/issues/rebelskhed/issue.yaml
new file mode 100644
index 00000000..1ad64719
--- /dev/null
+++ b/issues/rebelskhed/issue.yaml
@@ -0,0 +1,22 @@
+title: REBELSKHED
+description: "Modern Menswear from Asger Juel Larsen"
+
+magazine_handle: asgerjuellarsen
+magazine_title: Asger Juel Larsen
+
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+
+paths:
+ - index
+ - toc
+ - story-one
+ - story-two
+ - story-three
+ - shopping
+ - story-four
+ - video-heat
+ - end
diff --git a/issues/reveal/assets/background.jpg b/issues/reveal/assets/background.jpg
new file mode 100644
index 00000000..dc0d6dd5
Binary files /dev/null and b/issues/reveal/assets/background.jpg differ
diff --git a/issues/reveal/assets/background_large.jpg b/issues/reveal/assets/background_large.jpg
new file mode 100644
index 00000000..33d7b0cf
Binary files /dev/null and b/issues/reveal/assets/background_large.jpg differ
diff --git a/issues/reveal/assets/custom.js b/issues/reveal/assets/custom.js
new file mode 100644
index 00000000..e69de29b
diff --git a/issues/reveal/assets/custom.scss b/issues/reveal/assets/custom.scss
new file mode 100644
index 00000000..c6359380
--- /dev/null
+++ b/issues/reveal/assets/custom.scss
@@ -0,0 +1,233 @@
+#reveal-issue {
+ p {
+ font-family: georgia;
+ font-size: 18px;
+ line-height: 1.4;
+ }
+
+ p:empty {
+ display: none;
+ }
+
+ // Start Cover
+ [data-page=index] {
+ .title {
+ font-family: "HelveticaNeue-CondensedBold", "sans-serif-condensed";
+ font-size: 48px;
+ font-weight: bolder;
+ letter-spacing: 4px;
+ text-shadow: 1px 1px 30px rgba(0, 0, 0, 0.1);
+ }
+
+ .description {
+ text-transform: uppercase;
+ padding: 5px 0;
+ margin: 0 auto;
+ }
+
+ .issue-logo {
+ display: none;
+ }
+
+ // @media only screen and (min-width: 768px) {
+ // }
+ }
+ // End Cover
+
+ // Start TOC
+ [data-page='toc'] {
+ .menu a.toc .story {
+ text-decoration: none;
+ }
+ }
+ // End TOC
+
+ [data-page='story-three'] {
+ height: auto;
+ overflow: hidden;
+
+ div.cover {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ }
+
+ @media only screen and (min-width: 768px) {
+ height: 100%;
+ }
+ }
+
+ [data-page='story-four'],
+ [data-page='story-four/1'] {
+ .cover-area {
+ display: block;
+ height: 100%;
+
+ backface-visibility: hidden;
+ perspective: 1000;
+ transform: translate3d(0, 0, 0);
+
+ background-position: 0px 0px;
+ background-repeat: repeat-x;
+
+ .container {
+ background-color: rgba(0, 0, 0, 0.3);
+ }
+
+ header {
+ max-width: 45em;
+ margin: 0 auto;
+ position: relative;
+ top: 50%;
+ padding: 0 10px;
+
+ transform: translateY(-50%);
+
+ .title, .subtitle, .category {
+ color: white;
+ }
+
+ .title {
+ font-size: 26px;
+ font-weight: bold;
+ padding: 0;
+ margin-bottom: 30px;
+ }
+
+ .subtitle {
+ font-family: proxima-nova;
+ font-weight: lighter;
+ font-style: normal;
+ text-align: left;
+ }
+ }
+ }
+
+ &.current .cover-area {
+ animation: animatedBackground 50s linear infinite;
+ }
+ }
+
+ [data-page='story-four/1'] {
+ // &.current .cover-area {
+ .cover-area {
+ animation: animatedBackground 15s linear infinite;
+ }
+ }
+
+ // [data-page='abc'] {
+ // @media only screen and (min-width: 768px) {
+ // }
+
+ // @media only screen and (min-width: 768px) and (orientation: portrait) {
+ // }
+ // }
+ // End
+
+ /*
+ Polaroid
+ */
+
+ article.page ul.polaroids {
+ padding: 0;
+ margin: 0;
+ }
+
+ .polaroid-wrap {
+ display: inline-block;
+ list-style: none;
+ max-width: 46%;
+ }
+
+ figure.polaroid {
+ display: inline-block;
+ margin: 0;
+ max-width: 80%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ transition: all .15s linear;
+ transform: rotate(-2deg);
+
+ backface-visibility: hidden;
+ perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -4% 5%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap {
+ width: 30%;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(5) figure {
+ position: relative;
+ left: 2vh;
+ transform: none;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+ transform: scale(1.5);
+ }
+}
+
+// Overwrites default slide in animation
+@keyframes slidein-layer {
+ 0% {
+ opacity: 0;
+ transform: translateY(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+
+@keyframes animatedBackground {
+ 0% { background-position: 0 0; }
+ 50% { background-position: 100% 0; }
+ 100% { background-position: 0 0; }
+}
+
+@keyframes videoFadeIn {
+ from { opacity: 0; }
+ to { opacity: 1; }
+}
diff --git a/issues/reveal/assets/placeholder.jpg b/issues/reveal/assets/placeholder.jpg
new file mode 100644
index 00000000..506039f4
Binary files /dev/null and b/issues/reveal/assets/placeholder.jpg differ
diff --git a/issues/reveal/assets/product.jpg b/issues/reveal/assets/product.jpg
new file mode 100644
index 00000000..fc429ac7
Binary files /dev/null and b/issues/reveal/assets/product.jpg differ
diff --git a/issues/reveal/assets/story-four/arkaba-homestead.jpg b/issues/reveal/assets/story-four/arkaba-homestead.jpg
new file mode 100644
index 00000000..50ecbcd6
Binary files /dev/null and b/issues/reveal/assets/story-four/arkaba-homestead.jpg differ
diff --git a/issues/reveal/assets/story-four/audi-tt.jpg b/issues/reveal/assets/story-four/audi-tt.jpg
new file mode 100644
index 00000000..72f6031e
Binary files /dev/null and b/issues/reveal/assets/story-four/audi-tt.jpg differ
diff --git a/issues/reveal/assets/story-four/jazz-ambient.mp3 b/issues/reveal/assets/story-four/jazz-ambient.mp3
new file mode 100644
index 00000000..31d5b8e5
Binary files /dev/null and b/issues/reveal/assets/story-four/jazz-ambient.mp3 differ
diff --git a/issues/reveal/data/end.md b/issues/reveal/data/end.md
new file mode 100644
index 00000000..9037bb23
--- /dev/null
+++ b/issues/reveal/data/end.md
@@ -0,0 +1,18 @@
+---
+
+ title: End
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ custom_html: true
+
+ layout:
+ type: one-column
+ image_style: background
+ content_valign: top
+ content_align: center
+ content_style: black
+ custom_class: transparent
+
+---
diff --git a/issues/reveal/data/optional.md b/issues/reveal/data/optional.md
new file mode 100644
index 00000000..b519de68
--- /dev/null
+++ b/issues/reveal/data/optional.md
@@ -0,0 +1,17 @@
+---
+
+ title: Optional
+ summary: With product info and call to action
+
+ thumb_url: 'assets/placeholder.jpg'
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: two-column
+ content_valign: middle
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
diff --git a/issues/reveal/data/story-five.md b/issues/reveal/data/story-five.md
new file mode 100644
index 00000000..3f49f3e0
--- /dev/null
+++ b/issues/reveal/data/story-five.md
@@ -0,0 +1,15 @@
+---
+
+ title: Story Five
+ summary: guide to man style dressing
+
+ thumb_url: 'assets/placeholder.jpg'
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: two-column
+ content_valign: middle
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
diff --git a/issues/reveal/data/story-five/1.md b/issues/reveal/data/story-five/1.md
new file mode 100644
index 00000000..6bb2868d
--- /dev/null
+++ b/issues/reveal/data/story-five/1.md
@@ -0,0 +1,16 @@
+---
+
+ cover_url: 'assets/placeholder.jpg'
+
+ images:
+ - url: 'assets/placeholder.jpg'
+
+ layout:
+ type: two-column
+ image_align: right
+ content_valign: middle
+
+---
+
+A LongLine Blazer + A ButtonUp Shirt
+
diff --git a/issues/reveal/data/story-five/2.md b/issues/reveal/data/story-five/2.md
new file mode 100644
index 00000000..68db94aa
--- /dev/null
+++ b/issues/reveal/data/story-five/2.md
@@ -0,0 +1,15 @@
+---
+
+ cover_url: 'assets/placeholder.jpg'
+
+ images:
+ - url: 'assets/placeholder.jpg'
+
+ layout:
+ type: two-column
+ content_valign: middle
+
+---
+
+A Sleeveless Vest + A Pair of Trousers
+
diff --git a/issues/reveal/data/story-five/3.md b/issues/reveal/data/story-five/3.md
new file mode 100644
index 00000000..6d50bd59
--- /dev/null
+++ b/issues/reveal/data/story-five/3.md
@@ -0,0 +1,47 @@
+---
+
+ title: Shop the Whole Look
+ cover_url: 'assets/placeholder.jpg'
+
+ products:
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ - link: "http://shop.davidjones.com.au/djs/ProductDisplay?urlRequestType=Base&catalogId=10051&categoryId=26551&productId=6079070&errorViewName=ProductDisplayErrorView&urlLangId=-1&langId=-1&top_category=26551&parent_category_rn=&storeId=10051"
+ image_url: assets/product.jpg
+ description: "The Retail Price or RRP displayed for this item is the original price instore and may not have applied immediately prior to this sale - an intermediate price reduction may have occurred."
+ title: Diane von Furstenberg Ahiga Slim Knit
+ price: 314.30 AUD
+
+ layout:
+ type: two-column
+
+---
+
diff --git a/issues/reveal/data/story-four.md b/issues/reveal/data/story-four.md
new file mode 100644
index 00000000..56130194
--- /dev/null
+++ b/issues/reveal/data/story-four.md
@@ -0,0 +1,35 @@
+---
+
+ category: Utlimate Outback
+ title: Arkaba Homestead
+ summary: Dating back to the 1850s, Arkaba Homestead's 5 ensuite bedrooms have been tastefully restored in tune with the property's pioneering history.
+
+ images:
+ - url: "assets/story-four/arkaba-homestead.jpg"
+ cover: true
+
+ audios:
+ - url: "assets/story-four/jazz-ambient.mp3"
+ autoplay: true
+ controls: false
+
+ custom_html: true
+
+ layout:
+ type: custom
+ image_style: background
+ content_style: black
+ custom_class: one-column page-snap
+
+---
+
+
+
+ {{category}}
+ {{title}}
+ {{summary}}
+
+
+
+
+
diff --git a/issues/reveal/data/story-four/1.md b/issues/reveal/data/story-four/1.md
new file mode 100644
index 00000000..92c837ba
--- /dev/null
+++ b/issues/reveal/data/story-four/1.md
@@ -0,0 +1,24 @@
+---
+
+ title: Audi TT
+
+ images:
+ - url: "assets/story-four/audi-tt.jpg"
+ cover: true
+
+ custom_html: true
+
+ layout:
+ type: custom
+ image_style: background
+ content_style: black
+ custom_class: one-column page-snap
+
+---
+
+
+
+
+
diff --git a/issues/reveal/data/story-one.md b/issues/reveal/data/story-one.md
new file mode 100644
index 00000000..ec2964d9
--- /dev/null
+++ b/issues/reveal/data/story-one.md
@@ -0,0 +1,22 @@
+---
+
+ title: Feature
+ summary:
+ 'full page image'
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: right
+ content_valign: middle
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
diff --git a/issues/reveal/data/story-one/1.md b/issues/reveal/data/story-one/1.md
new file mode 100644
index 00000000..88810f6a
--- /dev/null
+++ b/issues/reveal/data/story-one/1.md
@@ -0,0 +1,33 @@
+---
+
+ title: Story One Subpage 1
+ summary: learn how to make it fashion + quotes
+
+ layout:
+ type: two-column
+ content_valign: middle
+ content_overflow: paginate
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
diff --git a/issues/reveal/data/story-three.md b/issues/reveal/data/story-three.md
new file mode 100644
index 00000000..ac224819
--- /dev/null
+++ b/issues/reveal/data/story-three.md
@@ -0,0 +1,15 @@
+---
+
+ title: Designer
+ summary: cover of Bianca Spender
+
+ thumb_url: 'assets/placeholder.jpg'
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: right
+ content_valign: middle
+
+---
diff --git a/issues/reveal/data/story-three/1.md b/issues/reveal/data/story-three/1.md
new file mode 100644
index 00000000..32b578eb
--- /dev/null
+++ b/issues/reveal/data/story-three/1.md
@@ -0,0 +1,16 @@
+---
+
+ title: 'Video: Desiner Subpage 1'
+ thumb_url: 'assets/placeholder.jpg'
+
+ videos:
+ - type: video/youtube
+ link: "https://www.youtube.com/watch?v=knoMFyBH8jc"
+ thumb_url: 'assets/placeholder.jpg'
+ cover: true
+
+ layout:
+ type: one-column
+ image_style: background
+
+---
diff --git a/issues/reveal/data/story-three/2.md b/issues/reveal/data/story-three/2.md
new file mode 100644
index 00000000..54fe8743
--- /dev/null
+++ b/issues/reveal/data/story-three/2.md
@@ -0,0 +1,14 @@
+---
+
+ title: 'Video: Desiner Subpage 2'
+ summary: 'Design Inspirations + Interview'
+
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ image_align: right
+ content_valign: middle
+
+---
diff --git a/issues/reveal/data/story-two.md b/issues/reveal/data/story-two.md
new file mode 100644
index 00000000..370f8574
--- /dev/null
+++ b/issues/reveal/data/story-two.md
@@ -0,0 +1,18 @@
+---
+
+ title: Ambassador
+ summary:
+ 'ambassador shoot'
+
+ cover_url: 'assets/placeholder.jpg'
+ thumb_url: 'assets/placeholder.jpg'
+
+ custom_html: true
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: left
+ content_valign: middle
+
+---
diff --git a/issues/reveal/data/story-two/1.md b/issues/reveal/data/story-two/1.md
new file mode 100644
index 00000000..725decd1
--- /dev/null
+++ b/issues/reveal/data/story-two/1.md
@@ -0,0 +1,19 @@
+---
+
+ title: Ambassador Subpage 1
+ summary:
+ 'Quote from Zanita + 2 images'
+
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ image_align: right
+ content_valign: middle
+
+---
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
diff --git a/issues/reveal/data/story-two/2.md b/issues/reveal/data/story-two/2.md
new file mode 100644
index 00000000..11763c42
--- /dev/null
+++ b/issues/reveal/data/story-two/2.md
@@ -0,0 +1,18 @@
+---
+
+ title: Ambassador Subpage 2
+ summary:
+ 'Interview w/ Montana Cox'
+
+ cover_url: 'assets/placeholder.jpg'
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quasi fugit quae, reiciendis ut amet voluptatem, vero temporibus sequi fuga quia provident. Atque error rerum, maxime doloribus laboriosam! Quo, quaerat. Deserunt!
+
diff --git a/issues/reveal/data/toc.md b/issues/reveal/data/toc.md
new file mode 100644
index 00000000..e69de29b
diff --git a/issues/reveal/issue.yaml b/issues/reveal/issue.yaml
new file mode 100644
index 00000000..14e6e0cb
--- /dev/null
+++ b/issues/reveal/issue.yaml
@@ -0,0 +1,21 @@
+title: Reveal
+magazine_title: David Jones
+magazine_handle: davidjones
+
+thumb_url: assets/background.jpg
+cover_url: assets/background_large.jpg
+
+assets:
+ - 'custom.css'
+ - 'custom.js'
+
+paths:
+ - index
+ - toc
+ - story-one
+ - story-two
+ - story-three
+ - story-four
+ - story-five
+ - optional
+ - end
diff --git a/issues/set-the-table/assets/icon.png b/issues/set-the-table/assets/icon.png
new file mode 100644
index 00000000..d37a0905
Binary files /dev/null and b/issues/set-the-table/assets/icon.png differ
diff --git a/issues/spread/assets/ad/background.jpg b/issues/spread/assets/ad/background.jpg
new file mode 100644
index 00000000..a3509c10
Binary files /dev/null and b/issues/spread/assets/ad/background.jpg differ
diff --git a/issues/spread/assets/ad/brand_product.svg b/issues/spread/assets/ad/brand_product.svg
new file mode 100644
index 00000000..b82b39c1
--- /dev/null
+++ b/issues/spread/assets/ad/brand_product.svg
@@ -0,0 +1,5884 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spread/assets/ad/call-to-action.svg b/issues/spread/assets/ad/call-to-action.svg
new file mode 100644
index 00000000..5e908959
--- /dev/null
+++ b/issues/spread/assets/ad/call-to-action.svg
@@ -0,0 +1,739 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spread/assets/ad/message.svg b/issues/spread/assets/ad/message.svg
new file mode 100644
index 00000000..41d00622
--- /dev/null
+++ b/issues/spread/assets/ad/message.svg
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spread/assets/background.jpg b/issues/spread/assets/background.jpg
new file mode 100644
index 00000000..e806b608
Binary files /dev/null and b/issues/spread/assets/background.jpg differ
diff --git a/issues/spread/assets/background_large.jpg b/issues/spread/assets/background_large.jpg
new file mode 100644
index 00000000..0bc087e8
Binary files /dev/null and b/issues/spread/assets/background_large.jpg differ
diff --git a/issues/spread/assets/custom.scss b/issues/spread/assets/custom.scss
new file mode 100644
index 00000000..6a67b87a
--- /dev/null
+++ b/issues/spread/assets/custom.scss
@@ -0,0 +1,263 @@
+#spread-issue {
+ article.page {
+ ol, ul {
+
+ p {
+ margin-bottom: 0.5em;
+ }
+
+ ol, ul {
+ margin: 0.5em 0 0.5em;
+ }
+ }
+
+ p:empty {
+ display: none;
+ }
+ }
+
+ [data-page="index"] {
+ .brand {
+ display: block;
+ background: url(spread.svg) no-repeat;
+ background-size: 100%;
+ width: 22vmin;
+ height: 9vmin;
+ margin: 20px auto 0;
+ color: transparent;
+ text-shadow: none;
+ }
+
+ .title {
+ display: block;
+ background: url(title.svg) no-repeat;
+ background-size: 100%;
+ width: 65vmin;
+ height: 20vmin;
+ margin: 0 auto;
+ color: transparent;
+ text-shadow: none;
+ }
+ }
+
+ [data-page="toc"] {
+ header {
+ display: none;
+ }
+
+ p img {
+ margin: 0;
+ }
+ }
+
+ [data-page="story-one/1"] {
+ background: #fdfdfb;
+ }
+
+ [data-page="story-one/2"] {
+ ul.polaroids {
+ margin-top: 10%;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .cover-area {
+ float: left;
+ }
+
+ ul.polaroids {
+ margin-top: 20%;
+ }
+
+ figure.polaroid {
+ padding-left: 15px;
+ }
+ }
+ }
+
+ [data-page="end"] {
+ .content .title {
+ font-family: "proxima-nova";
+ letter-spacing: 1px;
+ font-weight: bold;
+ }
+
+ .content header {
+ padding-top: 10%;
+ }
+
+ @media only screen and (min-width: 768px) {
+ ul.polaroids li:first-of-type > figure {
+ margin-left: 4%;
+ padding-left: 0;
+ }
+ }
+ }
+
+ // Ad Page
+
+ [data-page="ad"] {
+ header {
+ display: none;
+ }
+
+ .cover-area {
+ min-height: initial;
+ height: 100%;
+ }
+
+ .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: none;
+
+ .body {
+ position: relative;
+ height: 100%;
+ }
+
+ img {
+ position: absolute;
+ width: 100%;
+ }
+
+ img:nth-of-type(1) {
+ top: 20px;
+ right: 0;
+ }
+
+ img:nth-of-type(2) {
+ left: 0;
+ bottom: 16px;
+ max-width: 200px;
+ }
+
+ img:nth-of-type(3) {
+ right: 0;
+ bottom: 0;
+ max-width: 100px;
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content {
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ max-width: initial;
+ max-height: initial;
+
+ img:nth-of-type(1) {
+ max-width: 600px;
+ }
+
+ img:nth-of-type(2) {
+ bottom: 30px;
+ max-width: 350px;
+ }
+
+ img:nth-of-type(3) {
+ right: 50px;
+ max-width: 150px;
+ }
+ }
+ }
+ }
+
+ /*
+ Polaroid
+ */
+
+ ul.polaroids {
+ margin: 0;
+ padding: 0;
+ }
+
+ .polaroid-wrap {
+ list-style: none;
+ display: inline-block;
+ max-width: 48%;
+ }
+
+ figure.polaroid {
+ display: inline;
+ float: left;
+ margin: 0;
+ max-width: 80%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ -webkit-transition: all .15s linear;
+ -moz-transition: all .15s linear;
+ transition: all .15s linear;
+
+ -webkit-transform: rotate(-2deg);
+ -moz-transform: rotate(-2deg);
+ transform: rotate(-2deg);
+
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -5% 5%;
+ padding-left: 20px;
+ max-width: 24%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap {
+ display: inline;
+ max-width: initial;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(4) figure {
+ clear: left;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+}
diff --git a/issues/spread/assets/end-bg.jpg b/issues/spread/assets/end-bg.jpg
new file mode 100644
index 00000000..76b01961
Binary files /dev/null and b/issues/spread/assets/end-bg.jpg differ
diff --git a/issues/spread/assets/icon.png b/issues/spread/assets/icon.png
new file mode 100644
index 00000000..5fc4c277
Binary files /dev/null and b/issues/spread/assets/icon.png differ
diff --git a/issues/spread/assets/instagram-512.png b/issues/spread/assets/instagram-512.png
new file mode 100644
index 00000000..2a289d28
Binary files /dev/null and b/issues/spread/assets/instagram-512.png differ
diff --git a/issues/spread/assets/preview.jpg b/issues/spread/assets/preview.jpg
new file mode 100644
index 00000000..25753c02
Binary files /dev/null and b/issues/spread/assets/preview.jpg differ
diff --git a/issues/spread/assets/shopping/p1-1.jpg b/issues/spread/assets/shopping/p1-1.jpg
new file mode 100644
index 00000000..88c844ce
Binary files /dev/null and b/issues/spread/assets/shopping/p1-1.jpg differ
diff --git a/issues/spread/assets/shopping/p1-2.jpg b/issues/spread/assets/shopping/p1-2.jpg
new file mode 100644
index 00000000..c985cd0f
Binary files /dev/null and b/issues/spread/assets/shopping/p1-2.jpg differ
diff --git a/issues/spread/assets/shopping/p1-3.jpg b/issues/spread/assets/shopping/p1-3.jpg
new file mode 100644
index 00000000..a2b5c26e
Binary files /dev/null and b/issues/spread/assets/shopping/p1-3.jpg differ
diff --git a/issues/spread/assets/shopping/p1-4.jpg b/issues/spread/assets/shopping/p1-4.jpg
new file mode 100644
index 00000000..8d00f646
Binary files /dev/null and b/issues/spread/assets/shopping/p1-4.jpg differ
diff --git a/issues/spread/assets/shopping/p1-5.jpg b/issues/spread/assets/shopping/p1-5.jpg
new file mode 100644
index 00000000..6f255ea8
Binary files /dev/null and b/issues/spread/assets/shopping/p1-5.jpg differ
diff --git a/issues/spread/assets/shopping/p1-6.jpg b/issues/spread/assets/shopping/p1-6.jpg
new file mode 100644
index 00000000..08c4eed2
Binary files /dev/null and b/issues/spread/assets/shopping/p1-6.jpg differ
diff --git a/issues/spread/assets/shopping/p1-7.jpg b/issues/spread/assets/shopping/p1-7.jpg
new file mode 100644
index 00000000..05d0bb77
Binary files /dev/null and b/issues/spread/assets/shopping/p1-7.jpg differ
diff --git a/issues/spread/assets/spread.svg b/issues/spread/assets/spread.svg
new file mode 100644
index 00000000..aac20ff1
--- /dev/null
+++ b/issues/spread/assets/spread.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spread/assets/story-one/p1-1.jpg b/issues/spread/assets/story-one/p1-1.jpg
new file mode 100644
index 00000000..1c3692a8
Binary files /dev/null and b/issues/spread/assets/story-one/p1-1.jpg differ
diff --git a/issues/spread/assets/story-one/p2-1.jpg b/issues/spread/assets/story-one/p2-1.jpg
new file mode 100755
index 00000000..c39e57f8
Binary files /dev/null and b/issues/spread/assets/story-one/p2-1.jpg differ
diff --git a/issues/spread/assets/story-one/p3-1.jpg b/issues/spread/assets/story-one/p3-1.jpg
new file mode 100644
index 00000000..f5ac5e6f
Binary files /dev/null and b/issues/spread/assets/story-one/p3-1.jpg differ
diff --git a/issues/spread/assets/story-one/p3-2.jpg b/issues/spread/assets/story-one/p3-2.jpg
new file mode 100644
index 00000000..678f37a5
Binary files /dev/null and b/issues/spread/assets/story-one/p3-2.jpg differ
diff --git a/issues/spread/assets/story-one/p3-3.jpg b/issues/spread/assets/story-one/p3-3.jpg
new file mode 100644
index 00000000..14a5a7bb
Binary files /dev/null and b/issues/spread/assets/story-one/p3-3.jpg differ
diff --git a/issues/spread/assets/story-one/p3-4.jpg b/issues/spread/assets/story-one/p3-4.jpg
new file mode 100644
index 00000000..d44d66c4
Binary files /dev/null and b/issues/spread/assets/story-one/p3-4.jpg differ
diff --git a/issues/spread/assets/story-one/p3-5.jpg b/issues/spread/assets/story-one/p3-5.jpg
new file mode 100644
index 00000000..ae2dd25c
Binary files /dev/null and b/issues/spread/assets/story-one/p3-5.jpg differ
diff --git a/issues/spread/assets/story-one/p3-6.jpg b/issues/spread/assets/story-one/p3-6.jpg
new file mode 100644
index 00000000..7e87d6da
Binary files /dev/null and b/issues/spread/assets/story-one/p3-6.jpg differ
diff --git a/issues/spread/assets/story-three/p1-1.jpg b/issues/spread/assets/story-three/p1-1.jpg
new file mode 100644
index 00000000..5d230c72
Binary files /dev/null and b/issues/spread/assets/story-three/p1-1.jpg differ
diff --git a/issues/spread/assets/story-three/p2-1.jpg b/issues/spread/assets/story-three/p2-1.jpg
new file mode 100644
index 00000000..0ca3a784
Binary files /dev/null and b/issues/spread/assets/story-three/p2-1.jpg differ
diff --git a/issues/spread/assets/story-three/p3-1.jpg b/issues/spread/assets/story-three/p3-1.jpg
new file mode 100644
index 00000000..c797ac9d
Binary files /dev/null and b/issues/spread/assets/story-three/p3-1.jpg differ
diff --git a/issues/spread/assets/story-three/p4-1.jpg b/issues/spread/assets/story-three/p4-1.jpg
new file mode 100644
index 00000000..8d20c140
Binary files /dev/null and b/issues/spread/assets/story-three/p4-1.jpg differ
diff --git a/issues/spread/assets/story-three/p4-2.jpg b/issues/spread/assets/story-three/p4-2.jpg
new file mode 100644
index 00000000..94a7fe50
Binary files /dev/null and b/issues/spread/assets/story-three/p4-2.jpg differ
diff --git a/issues/spread/assets/story-two/p1-1.jpg b/issues/spread/assets/story-two/p1-1.jpg
new file mode 100644
index 00000000..a3686126
Binary files /dev/null and b/issues/spread/assets/story-two/p1-1.jpg differ
diff --git a/issues/spread/assets/story-two/p2-1.jpg b/issues/spread/assets/story-two/p2-1.jpg
new file mode 100644
index 00000000..022e2b38
Binary files /dev/null and b/issues/spread/assets/story-two/p2-1.jpg differ
diff --git a/issues/spread/assets/story-two/p3-1.jpg b/issues/spread/assets/story-two/p3-1.jpg
new file mode 100644
index 00000000..4877009b
Binary files /dev/null and b/issues/spread/assets/story-two/p3-1.jpg differ
diff --git a/issues/spread/assets/story-two/p4-1.jpg b/issues/spread/assets/story-two/p4-1.jpg
new file mode 100644
index 00000000..3ef38bb7
Binary files /dev/null and b/issues/spread/assets/story-two/p4-1.jpg differ
diff --git a/issues/spread/assets/title.svg b/issues/spread/assets/title.svg
new file mode 100644
index 00000000..d420e993
--- /dev/null
+++ b/issues/spread/assets/title.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spread/assets/toc/signiture.png b/issues/spread/assets/toc/signiture.png
new file mode 100644
index 00000000..79875bca
Binary files /dev/null and b/issues/spread/assets/toc/signiture.png differ
diff --git a/issues/spread/assets/toc/smudge-girls.jpg b/issues/spread/assets/toc/smudge-girls.jpg
new file mode 100644
index 00000000..a2349e2b
Binary files /dev/null and b/issues/spread/assets/toc/smudge-girls.jpg differ
diff --git a/issues/spread/assets/video-your-way.jpg b/issues/spread/assets/video-your-way.jpg
new file mode 100644
index 00000000..d5b98e9c
Binary files /dev/null and b/issues/spread/assets/video-your-way.jpg differ
diff --git a/issues/spread/assets/video.png b/issues/spread/assets/video.png
new file mode 100644
index 00000000..adac8ba1
Binary files /dev/null and b/issues/spread/assets/video.png differ
diff --git a/issues/spread/data/ad.md b/issues/spread/data/ad.md
new file mode 100644
index 00000000..04b50ee1
--- /dev/null
+++ b/issues/spread/data/ad.md
@@ -0,0 +1,23 @@
+---
+
+ title: Ads
+ cover_url: assets/ad/background.jpg
+
+ images:
+ - url: assets/ad/message.svg
+ - url: assets/ad/call-to-action.svg
+ - url: assets/ad/brand_product.svg
+
+ layout:
+ type: one-column
+ image_style: background
+ content_transparent: "1"
+ nav: false
+
+---
+
+
+
+
+
+
diff --git a/issues/spread/data/end.md b/issues/spread/data/end.md
new file mode 100644
index 00000000..9fb5b684
--- /dev/null
+++ b/issues/spread/data/end.md
@@ -0,0 +1,61 @@
+---
+
+ category: SHARE YOUR STORY
+ title: "#MySpread"
+
+ thumb_url: assets/end-bg.jpg
+ cover_url: assets/end-bg.jpg
+
+ images:
+ - url: assets/story-one/p3-1.jpg
+ - url: assets/story-one/p3-2.jpg
+ - url: assets/story-one/p3-3.jpg
+ - url: assets/end-bg.jpg
+ cover: true
+ - url: assets/instagram-512.png
+ layout: true
+
+ custom_html: true
+
+ layout:
+ type: custom
+ image_style: background
+ content_style: black
+ content_align: left
+ content_valign: middle
+ content_transparent: "1"
+ custom_class: one-column image-background transparent center middle
+
+---
+
+
+
+
+
+ {{ category }}
+ {{ title }}
+ Thanks for making time to sit down with Spread. Each month we will bring you inspiring features about family life and effortless entertaining. In our pages you’ll also find fabulously simple recipes that will get the whole family cooking.
+
+
+ Share your memories with us on Instagram
+
+
+ We hope you’ve enjoyed this special Dad’s Day edition of Spread. We’d love to see what you got up to with the special Dads in your life. Post your Father’s Day celebration photos on Instagram, using the hashtag #myspread and using the tag @smudgepublishing to share them with us. We will select the best photos and publish them in next month’s issue.
+
+
+
+ {{#images}}
+ {{^layout}}
+
+
+
+ {{ caption }}
+
+
+ {{/layout}}
+ {{/images}}
+
+
+
+
+
diff --git a/issues/spread/data/forward.html b/issues/spread/data/forward.html
new file mode 100644
index 00000000..93b07c3d
--- /dev/null
+++ b/issues/spread/data/forward.html
@@ -0,0 +1,1011 @@
+
forward
+title: Forward
+
+
+There’s nothing more luxurious than being served breakfast in bed, especially when the menu is naughty cup-cakes with creamy, sweet icing, baked at home by yourself and the kids. Accompany this with some specialty coffee, and your thoughtful gesture will be remembered forever. Instead of a shop-bought card, how about taking some photos of the fun you and the kids had with the flour, eggs and cream cheese? Print these at home and get the kids to write special messages to Dad. You could also add the photos to your Facebook page, showing everyone the fun you had preparing for Dad’s special day.
+For lunch, there is nothing more boyish than a burger – and again the home-made variety will be prized. We have provided the tips and recipes to make all this happen – and Dad can join in the fun by manning the barbecue to discover how magical it is when the family joins forces and spends fun time together.
+These are the experiences that start family traditions – and it is the strength of these threads that build strong relationships. It is also what memories are made from. And after all, it’s the memories in life that, woven together, make your story (or life) special.
+As guest editor, I have enjoyed pulling these family stories together on this new digital platform. I have also had fun playing with the interactive elements to produce a more personal experience for you. Have fun until next month – and enjoy these special moments with your family.
+Daniele Wilton
+Editor of Spread
\ No newline at end of file
diff --git a/issues/spread/data/forward.md b/issues/spread/data/forward.md
new file mode 100644
index 00000000..11097c14
--- /dev/null
+++ b/issues/spread/data/forward.md
@@ -0,0 +1,17 @@
+---
+
+ title: Forward
+
+---
+
+There’s nothing more luxurious than being served breakfast in bed, especially when the menu is naughty cup-cakes with creamy, sweet icing, baked at home by yourself and the kids. Accompany this with some specialty coffee, and your thoughtful gesture will be remembered forever. Instead of a shop-bought card, how about taking some photos of the fun you and the kids had with the flour, eggs and cream cheese? Print these at home and get the kids to write special messages to Dad. You could also add the photos to your Facebook page, showing everyone the fun you had preparing for Dad’s special day.
+
+For lunch, there is nothing more boyish than a burger – and again the home-made variety will be prized. We have provided the tips and recipes to make all this happen – and Dad can join in the fun by manning the barbecue to discover how magical it is when the family joins forces and spends fun time together.
+
+These are the experiences that start family traditions – and it is the strength of these threads that build strong relationships. It is also what memories are made from. And after all, it’s the memories in life that, woven together, make your story (or life) special.
+
+As guest editor, I have enjoyed pulling these family stories together on this new digital platform. I have also had fun playing with the interactive elements to produce a more personal experience for you. Have fun until next month – and enjoy these special moments with your family.
+
+Daniele Wilton
+
+Editor of Spread
diff --git a/issues/spread/data/little-guy.md b/issues/spread/data/little-guy.md
new file mode 100644
index 00000000..fd7e160e
--- /dev/null
+++ b/issues/spread/data/little-guy.md
@@ -0,0 +1,41 @@
+---
+
+ category: Show me how
+ title: The Little Guy
+ cover_url: "assets/brunch/little-guy-method.jpg"
+
+ layout:
+ type: two-column
+
+ image_align: right
+---
+
+The Little Guy is the perfect tool for making cafe quality espresso at home. Its internal brewing system accurately controls pressure and temperature, allowing you to extract two full-bodied espresso shots and texture milk to perfection.
+
+Grind: Fine
+
+Brewing Time: 12 minutes to heat up boiler, 90 second extraction.
+
+
+### YOU WILL NEED:
+
+- The Little Guy
+- Freshly Ground Coffee
+- Water
+- Milk
+- Your Favourite Mug
+
+### Method:
+
+1. Fill your boiler with cold water and replace cap.
+
+2. Add your ground coffee to the basket and tamp firmly and evenly.
+
+3. Lock the group handle into place and place mat and jug underneath before turning on heat source.
+
+4. Collect the coffee and pour into your cup.
+
+5. To texture milk insert steam arm into milk jug and turn the steam arm on full. Milk is ready when the side of the jug is just too hot to touch.
+
+6. Pour milk into your coffee cup and enjoy.
+
diff --git a/issues/spread/data/shopping.html b/issues/spread/data/shopping.html
new file mode 100644
index 00000000..5b6406be
--- /dev/null
+++ b/issues/spread/data/shopping.html
@@ -0,0 +1,1054 @@
+
shopping
+category: “Father’s Day”
+title: Gifts for Dad
+
+cover_url: assets/shopping/p1-1.jpg
+cover_caption: “Disclaimer: The links below/above are for websites which are not associated with Mondelēz International. Mondelēz International does not endorse any of the third party’s products/services.”
+
+thumb_url: assets/shopping/p1-1.jpg
+
+products:
+ - title: Happy Socks for Dad
+ url: http://www.top3.com.au/categories/accessories-and-jewellery/socks-and-jocks/happy-socks/bd01-068-4146
+ description: It all started under the cloud-ridden April sky of yet another belayed Swedish Spring in 2008. A vision to spread happiness by turning an everyday essential into a colourful design piece. A rigid standard of ultimate quality, craftsmanship, and creativity. A philosophy brought to perfection by the Happy Socks collective of creators, most recently spotted in a 400 year-old shrieking red cottage among the cherry trees and berry bushes in a park located in the midst of Stockholm.
+ image_url: http://assets.top3.com.au/800/happy_socks_big_dot_bl_org_yell_xz1.jpg
+ price: $17
+
+ - title: Braun Watch
+ url: http://www.top3.com.au/categories/accessories-and-jewellery/watches—classic/braun-watch-series/bn0021bkbkg
+ image_url: http://assets.top3.com.au/800/braun_classic_watch_38mm_black_xz1.jpg
+ description: This Braun classic watch has a thick matt stainless steel case, and features a leather strap. It has a quartz 3 hand movement and a 50m water resistance, with a scratch resistant mineral glass.
+ price: $175
+
+ - url: “http://www.smudgepub.com.au/#!product/prd12/2604218831/the-burger-book—victoria”
+ image_url: ‘assets/shopping/The-Burger-Book-Victoria.jpg’
+ title: “The Burger Book Victoria”
+ description: Your guide to the humble hamburger in all its forms. We’ve searched through pubs and parlours, trekked from cafés to corner stores and roamed from restaurants to bars to compile this book about the best burgers Victoria has to offer.
+ price: “$39.99”
+
+ - url: “http://www.smudgepub.com.au/#!product/prd12/2604218781/coffee-encounters”
+ image_url: ‘assets/shopping/Coffee-Encounters-Adventures-to-Origin.jpg’
+ title: Coffee Encounters, Adventures To Origin
+ description: Welcome to the world of coffee – from crop to cup. Enjoy the journey through Latin America and Indonesia, following the humble coffee bean’s journey and the passion that has gone into producing the coffee you love to drink.
+ price: “$69.99”
+
+ - url: “https://www.thelittleguy.info/”
+ image_url: ‘assets/shopping/little-guy.jpg’
+ title: The Little Guy
+ description: An award-winning premium espresso system for home use. The quality of the espresso shots and the milk texture equal or better any machine in the world, commercial machines included. The Little Guy has no moving parts, ensuring near zero servicing and perfect performance for the rest of your life.
+ price: “$699”
+
+ - url: http://www.top3.com.au/categories/bar-and-wine-and-water/beer-and-accessories/menu-beer-foamer/men4690239
+ title: Menu Beer Foamer Copper
+ description: The Beer Foamer gets you as close to the Pub experience as you can without leaving your home. Denser beer foam will significantly increase the taste, aroma and feeling of the beer - just like beer fresh from the tap.
+ image_url: “http://assets.top3.com.au/800/73582559814-menu_beer-foamer_xz3.jpg”
+ price: “$99”
+
+
+layout:
+ type: three-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
\ No newline at end of file
diff --git a/issues/spread/data/shopping.md b/issues/spread/data/shopping.md
new file mode 100644
index 00000000..225e82af
--- /dev/null
+++ b/issues/spread/data/shopping.md
@@ -0,0 +1,54 @@
+---
+
+ category: "Father's Day"
+ title: Gifts for Dad
+
+ cover_url: assets/shopping/p1-1.jpg
+ cover_caption: "Disclaimer: The links below/above are for websites which are not associated with Mondelēz International. Mondelēz International does not endorse any of the third party’s products/services."
+
+ thumb_url: assets/shopping/p1-1.jpg
+
+ products:
+ - title: Happy Socks for Dad
+ link: http://www.top3.com.au/categories/accessories-and-jewellery/socks-and-jocks/happy-socks/bd01-068-4146
+ description: It all started under the cloud-ridden April sky of yet another belayed Swedish Spring in 2008. A vision to spread happiness by turning an everyday essential into a colourful design piece. A rigid standard of ultimate quality, craftsmanship, and creativity. A philosophy brought to perfection by the Happy Socks collective of creators, most recently spotted in a 400 year-old shrieking red cottage among the cherry trees and berry bushes in a park located in the midst of Stockholm.
+ image_url: assets/shopping/p1-2.jpg
+ price: $17
+
+ - title: Braun Watch
+ link: http://www.top3.com.au/categories/accessories-and-jewellery/watches---classic/braun-watch-series/bn0021bkbkg
+ image_url: assets/shopping/p1-3.jpg
+ description: This Braun classic watch has a thick matt stainless steel case, and features a leather strap. It has a quartz 3 hand movement and a 50m water resistance, with a scratch resistant mineral glass.
+ price: $175
+
+ - link: "http://www.smudgepub.com.au/#!product/prd12/2604218831/the-burger-book---victoria"
+ image_url: assets/shopping/p1-4.jpg
+ title: "The Burger Book Victoria"
+ description: Your guide to the humble hamburger in all its forms. We’ve searched through pubs and parlours, trekked from cafés to corner stores and roamed from restaurants to bars to compile this book about the best burgers Victoria has to offer.
+ price: "$39.99"
+
+ - link: "http://www.smudgepub.com.au/#!product/prd12/2604218781/coffee-encounters"
+ image_url: assets/shopping/p1-5.jpg
+ title: Coffee Encounters, Adventures To Origin
+ description: Welcome to the world of coffee – from crop to cup. Enjoy the journey through Latin America and Indonesia, following the humble coffee bean’s journey and the passion that has gone into producing the coffee you love to drink.
+ price: "$69.99"
+
+ - link: "https://www.thelittleguy.info/"
+ image_url: assets/shopping/p1-6.jpg
+ title: The Little Guy
+ description: An award-winning premium espresso system for home use. The quality of the espresso shots and the milk texture equal or better any machine in the world, commercial machines included. The Little Guy has no moving parts, ensuring near zero servicing and perfect performance for the rest of your life.
+ price: "$699"
+
+ - link: http://www.top3.com.au/categories/bar-and-wine-and-water/beer-and-accessories/menu-beer-foamer/men4690239
+ title: Menu Beer Foamer Copper
+ description: The Beer Foamer gets you as close to the Pub experience as you can without leaving your home. Denser beer foam will significantly increase the taste, aroma and feeling of the beer - just like beer fresh from the tap.
+ image_url: assets/shopping/p1-7.jpg
+ price: "$99"
+
+ layout:
+ type: three-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
+---
diff --git a/issues/spread/data/story-four.md b/issues/spread/data/story-four.md
new file mode 100644
index 00000000..3d108618
--- /dev/null
+++ b/issues/spread/data/story-four.md
@@ -0,0 +1,18 @@
+---
+
+ category: "Q&A"
+ title: "Interview: New Dad"
+
+---
+
+
+1. What is the best thing about being a new dad?
+2. Are there any traditions your Dad started with you that you will continue with your own child?
+3. What do you want for father’s day?
+4. What is the scariest thing about being a new dad?
+5. If your child could speak, what one word would they use to describe you?
+6. What is the most important thing you would like to teach your child?
+7. What toppings would be on your ultimate father’s burger?
+8. Who is your favourite celebrity Dad?
+9. What are your fondest memories of your own father?
+10. Were you nervous about becoming a first time father?
diff --git a/issues/spread/data/story-one.md b/issues/spread/data/story-one.md
new file mode 100644
index 00000000..2c1584d7
--- /dev/null
+++ b/issues/spread/data/story-one.md
@@ -0,0 +1,17 @@
+---
+
+ category: Family
+ title: Building Family Food Culture
+
+ cover_url: assets/story-one/p1-1.jpg
+ thumb_url: assets/story-one/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_transparent: "1"
+ content_valign: middle
+
+---
+
+Food nourishes us, comforts us, and can bring us together in a way that nothing else can. So it’s no surprise that it plays such an important role in family life.
diff --git a/issues/spread/data/story-one/1.md b/issues/spread/data/story-one/1.md
new file mode 100644
index 00000000..f2592151
--- /dev/null
+++ b/issues/spread/data/story-one/1.md
@@ -0,0 +1,41 @@
+---
+
+ cover_url: assets/story-one/p2-1.jpg
+
+ layout:
+ type: two-column
+ image_style: cover
+
+---
+
+### What makes family food culture so important?
+
+The foods you choose for your family as well as how you source them, prepare them and enjoy them together form the basis of your food culture. We've prepared some tips below to help you start building a healthy food culture for your family.
+
+### What's on your shopping list?
+
+If you were to open your family's fridge what would you see? How far has the food that sits in it travelled to get to you? Is it full of fresh, local produce or imported fruits and veg?
+
+Creating a healthy food culture starts long before you sit down to a meal. Here are a few tips to help get your started:
+
+- Try sitting down as a family and talk about your food choices focusing on what is in season and can be sourced locally.
+- When possible, visit a local farmer’s market.
+
+Markets provide the opportunity not only source fresh local produce, but in many cases to also meet the growers and farmers who are producing your food. It's a great opportunity to teach kids where their food comes from.
+
+### Make Cooking a Family Affair
+
+Preparing your food together as a family is another great way to build your family food culture. The aromas and rituals associated with cooking can build beautiful memories and help you to create family traditions that can be passed down from generation to generation.
+
+Think about food traditions that you can pass down, like a secret family recipe or a dish that celebrates your family's history and heritage. Also consider new traditions that you can create together, like cooking together as a family this Father's Day.
+
+
+### Making Time to Chew the Fat
+
+Modern life can be hectic. Busy schedules and demanding work commitments can make it difficult to find the time sit down together and break bread. However, recent research has shown that families who eat together at least 5 times a week are happier and healthier. Here are our top tips for making the most of mealtime with your family:
+
+-
Keep it simple . Family meals needn't be elaborate. Keep the focus on fresh, nourishing food that is easy to prepare.
+
+-
Turn off the technology . Meal times are an opportunity for you to tune in and connect with each other. Make sure that you aren't distracted with television, cells phones, tablets or laptops.
+
+-
Get talking . Have every family member share news of their day, be an active listener and use this time to make plans together as a family.
diff --git a/issues/spread/data/story-one/2.md b/issues/spread/data/story-one/2.md
new file mode 100644
index 00000000..e034fa1f
--- /dev/null
+++ b/issues/spread/data/story-one/2.md
@@ -0,0 +1,61 @@
+---
+
+ category: Tips & Tricks
+ title: Cooking with Kids
+
+ images:
+ - url: assets/story-one/p3-1.jpg
+ - url: assets/story-one/p3-2.jpg
+ - url: assets/story-one/p3-3.jpg
+ - url: assets/story-one/p3-4.jpg
+ - url: assets/story-one/p3-5.jpg
+ - url: assets/story-one/p3-6.jpg
+
+ custom_html: true
+
+ layout:
+ type: custom
+ custom_class: three-column
+
+---
+
+
+
+ {{#images}}
+
+
+
+ {{ caption }}
+
+
+ {{/images}}
+
+
+
+
+
+ {{ category }}
+ {{ title }}
+
+
+
+
Safety First
+
+
Supervise kids cooking at all times and consider safety when delegating
+ tasks. Have kids do jobs such stirring, rolling and decorating and keep
+ sharp knives and heat sources out of easy reach. Always supervise the
+ use of electrical appliances.
+
+
Don’t rush
+
+
Cooking with your kids is more about the experience itself rather than
+ the end product. So take your time, be patient with them and use this
+ as an opportunity to connect each other.
+
+
Don’t Expect Perfection
+
+
So what if your cake is lopsided or your icing is more blood red than
+ pale pink. Praise kids for their efforts and use mistakes as learning
+ opportunities rather than setbacks.
+
+
diff --git a/issues/spread/data/story-three.md b/issues/spread/data/story-three.md
new file mode 100644
index 00000000..5acfe922
--- /dev/null
+++ b/issues/spread/data/story-three.md
@@ -0,0 +1,19 @@
+---
+
+ category: "Dude Food"
+ title: "Ultimate Burger for Dad"
+
+ cover_url: assets/story-three/p1-1.jpg
+ thumb_url: assets/story-three/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_align: center
+ content_valign: middle
+
+---
+
+Treat Dad to one of his all-time favourite meals, burgers on the BBQ! Making a great burger is easier than you think. It’s all about using the freshest ingredients like high quality beef and the freshest produce and bakery bun. Our Father’s Day burger recipe also includes a molten jalapeno cheese center that delivers a deliciously creamy flavor hit.
+
+For those with a sweet tooth, there’s our Picnic and Caramel Cheesecake Slice. No-one will ever guess that it took only 40 minutes to prepare. And since the family can gather round the BBQ while burgers are being turned, it means more time together and less time slaving in the kitchen.
diff --git a/issues/spread/data/story-three/1.md b/issues/spread/data/story-three/1.md
new file mode 100644
index 00000000..c730c52d
--- /dev/null
+++ b/issues/spread/data/story-three/1.md
@@ -0,0 +1,45 @@
+---
+ category: Recipe
+ title: Ultimate Burger Recipe
+
+ cover_url: assets/story-three/p2-1.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+
+---
+
+### RECIPES
+
+Ultimate Burger Recipe - serves 8
+
+Ingredients
+
+- 800g high quality beef mince (for a special treat look for grass-fed beef)
+- 2 cloves garlic, chopped finely
+- 1 small handful of parsley, chopped finely
+- Good pinch of salt and pepper
+- 1 cup breadcrumbs
+- 4 tablespoons tomato sauce
+- 1 free range egg
+- 1 cups seeded and chopped jalapeno peppers (canned are okay)
+- 250 grams of PHILADELPHIA Original Block Cream Cheese, softened
+- 8 burger buns (brioche buns are a yummy splurge)
+- Sliced, fresh tomatoes, onions and iceberg lettuce to serve
+- ZOOSH’s Hey Ho Free Range Egg Garlic Aioli
+
+### Make it
+
+1. In a medium bowl, stir together jalapenos and cream cheese
+2. Place your beef in a large mixing bowl, this will bring it closer to room temperature and make it easier to work with.
+3. Chop up your garlic and parsley finely, and add to the mixing bowl.
+4. Add your breadcrumbs, tomato sauce, and egg to the mix.
+5. This is the point where you get to get your hands dirty and mix your beef patties by hand. Make sure the mix is well combined before forming into burger patties.
+6. Divide your meat mixture into 16 portions and pat out each to ¼ inch thick.
+7. Place a heaping spoon of the cream cheese mixture onto the center of 8 of the patties. Top with the remaining patties, pressing the edges together to seal.
+8. You can now leave the burgers covered in the refrigerator while you prepare all your sides.
+9. Once you are ready to cook, you’ll want to fire up your BBQ grill or frying pan to a high heat.
+10. Cook the burgers around 3 to 5 minutes each side and then rest them approx. 3-5 minutes after cooking to ensure that they are super juicy.
+11. This provides a good opportunity to halve your brioche buns and warm them through on the grill.
+12. Serve burgers with ZOOSH’s Hey Ho Garlic Aioli, fresh tomatoes, onions and lettuce and any other toppings your heart desires.
diff --git a/issues/spread/data/story-three/2.md b/issues/spread/data/story-three/2.md
new file mode 100644
index 00000000..b5c5bdf8
--- /dev/null
+++ b/issues/spread/data/story-three/2.md
@@ -0,0 +1,36 @@
+---
+ category: Recipe
+ title: Picnic and Caramel Cheesecake Slice
+
+ cover_url: assets/story-three/p3-1.jpg
+
+ layout:
+ image_style: cover
+ content_style: white
+ type: three-column
+
+---
+
+Preparation time: 30 minutes
+Cooking time: 10 minutes
+
+### Ingredients
+
+- 1 cup chocolate biscuit crumbs
+- ¼ cup finely chopped peanuts
+- 80g butter, melted
+- 500g PHILADELPHIA Block Cream Cheese, softened
+- ¾ cup caramel or butterscotch dessert sauce
+- 2 tablespoon brown sugar
+- 3 teaspoons gelatine dissolved in 1/4 cup boiling water
+- 1 cup thickened cream, softly whipped
+- 4 x 46g CADBURY Picnic, roughly chopped
+- White chocolate ice cream topping, if desired
+
+### Method
+
+- COMBINE the biscuit crumbs, peanuts and butter then press into the base of a greased and lined 28cm x 18cm slice pan. Chill until firm.
+- BEAT the PHILADELPHIA, caramel sauce and sugar with an electric mixer until smooth. Stir in the gelatine then fold through the cream.
+- POUR over the prepared base the top with the chopped Picnic and a drizzle of the ice cream topping. Refrigerate for 3 hours or until set.
+
+NB: You’ll find the caramel and butterscotch dessert sauces near the ice cream toppings etc.
diff --git a/issues/spread/data/story-three/3.md b/issues/spread/data/story-three/3.md
new file mode 100644
index 00000000..6379db5f
--- /dev/null
+++ b/issues/spread/data/story-three/3.md
@@ -0,0 +1,22 @@
+---
+
+ title: "Style It"
+
+ cover_url: assets/story-three/p4-1.jpg
+
+ images:
+ - url: assets/story-three/p4-2.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+
+---
+
+
+
+- BBQ’s are not meant to be formal so leave the fancy crockery in the cupboard and use your everyday plates.
+- Nothing goes better with burgers than ice-cold beer. Make sure you chill them in ice water at least 30 minutes before your BBQ begins.
+- Make sure you put out serviettes, these are going to be juicy burgers!
+- Put out condiments and burger toppings in bowls at the table so that everyone can build their own perfect burger – have a competition to see whose is best!
+- Set-up dessert indoors on the kitchen bench so that people can serve themselves when ready and you can relax.
diff --git a/issues/spread/data/story-two.md b/issues/spread/data/story-two.md
new file mode 100644
index 00000000..1140f0fb
--- /dev/null
+++ b/issues/spread/data/story-two.md
@@ -0,0 +1,18 @@
+---
+
+ category: Show me how
+ title: Easy Does It Brunch
+
+ thumb_url: assets/story-two/p1-1.jpg
+ cover_url: assets/story-two/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_style: white
+ content_valign: middle
+ content_align: center
+
+---
+
+A casual morning brunch is one of the easiest and most flexible ways to entertain. Our menu keeps things simple with a back-to-basics cupcake recipe topped with delicious PHILADELPHIA cream cheese icing and specialty roast coffee (or hot chocolate for the kids).
diff --git a/issues/spread/data/story-two/1.md b/issues/spread/data/story-two/1.md
new file mode 100644
index 00000000..88d5c8a7
--- /dev/null
+++ b/issues/spread/data/story-two/1.md
@@ -0,0 +1,42 @@
+---
+
+ category: Recipe
+ title: Cupcakes with Philly Cream Cheese Icing
+ cover_url: assets/story-two/p2-1.jpg
+
+ layout:
+ type: two-column
+ image_align: right
+
+---
+
+Our cupcake recipe is a perfect one to do with the kids (and even Dad) and it's a great way to share the workload and bond as a family before you begin the celebrations. See our handy tips on
cooking with kids .
+
+### Ingredients
+
+- 200 grams butter, room temperature
+- 1 cup sugar
+- 2 ½ cups self-raising flour
+- 3 eggs
+- ½ cup milk
+- 250g PHILADELPHIA Original Block Cream Cheese, softened
+- ¼ cup butter or margarine, softened
+- 1 teaspoon vanilla essence
+- 4 cups icing sugar, sifted
+
+### Method
+
+Preheat the oven to 180°C. Place patty pans on a baking tray or inside a muffin tray. Gradually cream the sugar into the butter until the mixture is light and fluffy and the butter has become almost white in colour. Beat the eggs in separate bowl and then beat them into the butter/sugar mixture until incorporated. Sift in the self-raising flour and add the milk ¼ cup at a time, stirring to incorporate.
+
+Spoon your batter into the prepared patty pans and bake in the oven 15-17 minutes for large cupcakes or 10-12 minutes for mini cupcakes. You will know your cupcakes are ready if they spring back when touched lightly with your fingertip.
+
+While cupcakes are baking, make the icing:
+
+1.
BEAT cream cheese, butter and vanilla in large bowl with mixer until well blended.
+2.
ADD sugar gradually, beating until well blended after each addition.
+3.
TRY one or all of the variations below for your cupcake bar:
+
+ - Stir in ½ cup toasted coconut
+ - Beat in ½ cup cocoa powder
+ - Beat in 2 tablespoons of orange juice and 1 teaspoon of orange zest
+ - Does your Dad have a favourite colour? Beat 2-3 drops of food colouring into your icing to get the desired shade
diff --git a/issues/spread/data/story-two/2.md b/issues/spread/data/story-two/2.md
new file mode 100644
index 00000000..d02d74b6
--- /dev/null
+++ b/issues/spread/data/story-two/2.md
@@ -0,0 +1,25 @@
+---
+
+ title: Style It
+ cover_url: assets/story-two/p3-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_transparent: "1"
+ content_align: left
+
+---
+
+- Display the iced cupcakes on a flat tray or tiered cake tray
+
+- Fill little bowls with cupcake toppings that guests can add themselves. Here are some ideas:
+ - Chocolate sprinkles
+
+ - Coconut flakes
+
+ - Berries
+
+- Line up coffee cups, stir spoons and saucers – don’t feel the need to be too formal, mismatched serviceware can look lovely and add colour to the table.
+
+- If the mood strikes, why not include a few bottles of specialty liquor that guests can add to their coffee such as Baileys, Tia Maria and Cointreau. It is a celebration, just make sure that your guests enjoy the spirits responsibly.
diff --git a/issues/spread/data/story-two/3.md b/issues/spread/data/story-two/3.md
new file mode 100644
index 00000000..41c18a6c
--- /dev/null
+++ b/issues/spread/data/story-two/3.md
@@ -0,0 +1,32 @@
+---
+
+ category: Show me how
+ title: French Press
+ cover_url: assets/story-two/p4-1.jpg
+
+ layout:
+ type: three-column
+ content_style: white
+ image_align: right
+
+---
+
+This is one of the easiest ways to start brewing coffee at home. All you will need is fresh coffee, scales, a grinder, plunger and water. The Result is a heavy-bodied coffee with a super simple process.
+
+Grind: Coarsely ground (22g)
+Brewing Time: 4½minutes
+
+YOU WILL NEED:
+- Three Cup Glass Plunger (400ml)
+- Water (350ml)
+-Stirrer
+- Fresh Coffee (22g)
+- Your Favourite Mug
+
+1. Measure out your coffee (22g) and water (350ml). Grind your coffee a little coarser than you would for a drip grind.
+
+2. Preheat your plunger with hot water then discard it and add your ground coffee.
+
+3. Pour the water you measured out on top of your grounds right up to the top, ensuring even coverage and that everything is saturated. Once you’ve poured in the water wait 30 seconds then knock down the bloom by folding the coffee down with a spoon to make sure everything extracts evenly.
+
+4. Put the lid on it so the heat doesn’t escape and twiddle your thumbs for 4 minutes. Once 4 minutes is up, push your plunger down and pour into your cup. If you’re not going to drink it all at once, make sure you still pour out all the coffee. If the water is in contact with the coffee it’s still brewing and can become pretty bitter.
diff --git a/issues/spread/data/toc.md b/issues/spread/data/toc.md
new file mode 100644
index 00000000..0698bea4
--- /dev/null
+++ b/issues/spread/data/toc.md
@@ -0,0 +1,31 @@
+---
+
+ title: Table of Content
+
+ cover_url: assets/toc/smudge-girls.jpg
+ thumb_url: assets/toc/smudge-girls.jpg
+
+ images:
+ - assets/toc/signiture.png
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+
+Welcome to the first edition of Spread. Given that Father's Day is just around the corner, we've pulled together stories that celebrate all things family and given you the ingredients for a wonderful day of food and memories - something every Dad will treasure.
+
+There's nothing more luxurious than being served breakfast in bed, especially when naughty cupcakes homemade by you and the kids and a perfect cup of coffee are on the menu. Our Easy Does It Brunch menu has got you covered.
+
+Maybe you'd prefer to spoil Dad with something a bit more substantial. Well look no further than our feature 'Dude Food: Building the Ultimate Burger ' where you'll find tips to make delicious homemade burgers and host a stress-free BBQ. Dad can even join in on the fun by manning the BBQ.
+
+I hope you enjoy reading these stories as much as we've enjoyed creating them, and that this issue inspires you create beautiful memories with your family. Until next time...
+
+
+
+
+
+*Editor of Spread, Smudge Publishing*
+
diff --git a/issues/spread/data/video-one.md b/issues/spread/data/video-one.md
new file mode 100644
index 00000000..fc344a04
--- /dev/null
+++ b/issues/spread/data/video-one.md
@@ -0,0 +1,20 @@
+---
+
+ category: video
+ title: Do Your Thing
+
+ thumb_url: assets/video-your-way.jpg
+
+ videos:
+ - thumb_url: assets/video-your-way.jpg
+ link: https://www.youtube.com/watch?v=IZjhUzv1YKw
+ type: video/youtube
+ autoplay: true
+ cover: true
+
+ layout:
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/spread/data/video-six.md b/issues/spread/data/video-six.md
new file mode 100644
index 00000000..df0e9db3
--- /dev/null
+++ b/issues/spread/data/video-six.md
@@ -0,0 +1,19 @@
+---
+
+ category: video
+ title: How Do You Do Your Burger?
+
+ videos:
+ - thumb_url: assets/video.png
+ link: http://vimeo.com/81574420
+ type: video/vimeo
+ autoplay: true
+ cover: true
+
+
+ layout:
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/spread/issue.yaml b/issues/spread/issue.yaml
new file mode 100644
index 00000000..375bf950
--- /dev/null
+++ b/issues/spread/issue.yaml
@@ -0,0 +1,25 @@
+title: Dad's Day
+description: ""
+
+magazine_handle: spread
+magazine_title: Spread
+
+theme: fashion
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+ - "spread.svg"
+ - "title.svg"
+
+paths:
+ - index
+ - toc
+ - story-two
+ - video-one
+ - story-three
+ - ad
+ - story-one
+ - shopping
+ - end
diff --git a/issues/spring/assets/ad/background.jpg b/issues/spring/assets/ad/background.jpg
new file mode 100644
index 00000000..3406d28b
Binary files /dev/null and b/issues/spring/assets/ad/background.jpg differ
diff --git a/issues/spring/assets/ad/brand_product.svg b/issues/spring/assets/ad/brand_product.svg
new file mode 100644
index 00000000..a6dda71e
--- /dev/null
+++ b/issues/spring/assets/ad/brand_product.svg
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spring/assets/ad/call-to-action.svg b/issues/spring/assets/ad/call-to-action.svg
new file mode 100644
index 00000000..2d899cd0
--- /dev/null
+++ b/issues/spring/assets/ad/call-to-action.svg
@@ -0,0 +1,742 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spring/assets/ad/message.png b/issues/spring/assets/ad/message.png
new file mode 100644
index 00000000..02722b64
Binary files /dev/null and b/issues/spring/assets/ad/message.png differ
diff --git a/issues/spring/assets/ad/product.png b/issues/spring/assets/ad/product.png
new file mode 100644
index 00000000..8f4767bc
Binary files /dev/null and b/issues/spring/assets/ad/product.png differ
diff --git a/issues/spring/assets/ad/product.svg b/issues/spring/assets/ad/product.svg
new file mode 100644
index 00000000..978cd3f4
--- /dev/null
+++ b/issues/spring/assets/ad/product.svg
@@ -0,0 +1,11198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spring/assets/background.jpg b/issues/spring/assets/background.jpg
new file mode 100644
index 00000000..86405fc0
Binary files /dev/null and b/issues/spring/assets/background.jpg differ
diff --git a/issues/spring/assets/background_large.jpg b/issues/spring/assets/background_large.jpg
new file mode 100644
index 00000000..055a6fd3
Binary files /dev/null and b/issues/spring/assets/background_large.jpg differ
diff --git a/issues/spring/assets/custom.scss b/issues/spring/assets/custom.scss
new file mode 100644
index 00000000..2b349bcc
--- /dev/null
+++ b/issues/spring/assets/custom.scss
@@ -0,0 +1,337 @@
+div.popover a[href="https://www.philly.com.au/products/introducing-new-pourover-flavours/"],
+div.popover a[href="http://www2.woolworthsonline.com.au/Shop/ProductDetails?Stockcode=140784"] {
+ display: none;
+}
+
+#spring-issue {
+ [data-page="index"] {
+ .brand {
+ display: block;
+ background: url(spread.svg) no-repeat;
+ background-size: contain;
+ background-position: center;
+ width: 22vmin;
+ height: 9vmin;
+ margin: 20px auto 0;
+ color: transparent;
+ text-shadow: none;
+ }
+
+ .title {
+ display: block;
+ background: url(title.svg) no-repeat;
+ background-size: contain;
+ background-position: center;
+ width: 65vmin;
+ height: 20vmin;
+ margin: 0 auto;
+ color: transparent;
+ text-shadow: none;
+ }
+ }
+
+ [data-page="toc"] {
+ .menu li .story {
+ text-decoration: initial;
+ text-transform: initial;
+ }
+
+ .cover-area {
+ min-height: 350px;
+ }
+
+ .content {
+ header {
+ display: none;
+ }
+
+ h1 {
+ text-align: center;
+ }
+
+ .author {
+ width: 150px;
+ margin: 0;
+ }
+
+ .contributors {
+ overflow: hidden;
+ padding: 0;
+ list-style-type: none;
+ text-align: center;
+ }
+
+ .contributors li {
+ box-sizing: border-box;
+ padding: 5px 0 5px 80px;
+ width: 100%;
+ text-align: left;
+ }
+
+ .contributors .avatar {
+ position: absolute;
+ margin-left: -65px;
+ }
+
+ .contributors .description {
+ color: #555;
+ font-style: italic;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .contributors li {
+ float: left;
+ width: 50%;
+ }
+ }
+ }
+ }
+
+ [data-page="story-two/1"] {
+ .content figcaption {
+ text-align: center;
+ }
+ }
+
+ [data-page="story-two/2"] {
+ @media only screen and (min-width: 768px) {
+ .cover-area > .inset {
+ right: initial;
+ left: 0;
+ }
+ }
+ }
+
+ [data-page="story-four/2"] {
+ .content {
+ display: block;
+
+ &:before {
+ content: initial;
+ }
+
+ .body {
+ height: 70%;
+ height: 70vh;
+ }
+
+ .image {
+ height: 100%;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center;
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content {
+ padding: 0;
+
+ .body {
+ height: 100%;
+ height: 100vh;
+ }
+
+ .image {
+ background-size: cover;
+ }
+ }
+ }
+ }
+
+ // Ad Page
+
+ [data-page="ad"] {
+ header {
+ display: none;
+ }
+
+ .cover-area {
+ min-height: initial;
+ height: 100%;
+ }
+
+ .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ max-width: initial;
+ max-height: initial;
+ background: none;
+
+ .body {
+ position: relative;
+ height: 100%;
+ }
+
+ img {
+ margin: 0;
+ }
+
+ a {
+ position: absolute;
+ text-decoration: none;
+ }
+
+ .message {
+ top: 0;
+ left: 0;
+ opacity: 0.9;
+
+ img {
+ max-width: 70%;
+ }
+ }
+
+ .product {
+ left: 0;
+ bottom: 2%;
+ max-width: 80%;
+
+ p {
+ margin: 0;
+ color: #0F3553;
+ padding-left: 10px;
+ font-family: serif;
+ text-shadow: 0 0 1px rgba(0,0,0,0.2);
+ }
+
+ img {
+ max-width: 90%;
+ }
+
+ .trademark {
+ font-size: 10px;
+ }
+ }
+
+ .brand {
+ right: 0;
+ bottom: 2%;
+ width: 20%;
+
+ img {
+ width: 100%;
+ }
+ }
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content {
+ .message {
+ top: -5%;
+ left: 5%;
+ }
+
+ .product {
+ p {
+ display: block;
+ }
+
+ img {
+ max-width: 55%;
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ Polaroid
+ */
+
+ ul.polaroids {
+ margin: 0;
+ padding: 0;
+ }
+
+ .polaroid-wrap {
+ list-style: none;
+ display: inline-block;
+ max-width: 48%;
+ }
+
+ figure.polaroid {
+ display: inline;
+ float: left;
+ margin: 0;
+ max-width: 80%;
+ max-height: 300px;
+ width: auto;
+ color: #333;
+ text-align: center;
+ text-decoration: none;
+
+ font-size: 18px;
+ font-family: "Marker Felt", sans-serif;
+
+ -webkit-transition: all .15s linear;
+ -moz-transition: all .15s linear;
+ transition: all .15s linear;
+
+ -webkit-transform: rotate(-2deg);
+ -moz-transform: rotate(-2deg);
+ transform: rotate(-2deg);
+
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ }
+
+ figure.polaroid figcaption {
+ text-align: center;
+ text-decoration: none;
+ }
+
+ figure.polaroid img {
+ padding: 6px;
+ width: 100%;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+ vertical-align: middle;
+ }
+
+ .polaroid-wrap:nth-child(even) figure {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+ }
+
+ @media only screen and (min-width: 768px) {
+ figure.polaroid {
+ margin: 0 0% -5% 5%;
+ padding-left: 20px;
+ max-width: 24%;
+ max-height: 25vw;
+ }
+
+ figure.polaroid img {
+ padding: 15px 15px 20px;
+ }
+
+ .polaroid-wrap {
+ display: inline;
+ max-width: initial;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+
+ .polaroid-wrap:nth-child(4) figure {
+ clear: left;
+ }
+ }
+
+ .polaroid-wrap:hover figure {
+ position: relative;
+ z-index: 5;
+
+ -webkit-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+}
diff --git a/issues/spring/assets/end/background.jpg b/issues/spring/assets/end/background.jpg
new file mode 100644
index 00000000..99f8f0de
Binary files /dev/null and b/issues/spring/assets/end/background.jpg differ
diff --git a/issues/spring/assets/end/instagram-512.png b/issues/spring/assets/end/instagram-512.png
new file mode 100644
index 00000000..2a289d28
Binary files /dev/null and b/issues/spring/assets/end/instagram-512.png differ
diff --git a/issues/spring/assets/end/story-five-cover.jpg b/issues/spring/assets/end/story-five-cover.jpg
new file mode 100644
index 00000000..075f2783
Binary files /dev/null and b/issues/spring/assets/end/story-five-cover.jpg differ
diff --git a/issues/spring/assets/end/story-four-cover.jpg b/issues/spring/assets/end/story-four-cover.jpg
new file mode 100644
index 00000000..a2083648
Binary files /dev/null and b/issues/spring/assets/end/story-four-cover.jpg differ
diff --git a/issues/spring/assets/end/story-one-cover.jpg b/issues/spring/assets/end/story-one-cover.jpg
new file mode 100644
index 00000000..a84780f3
Binary files /dev/null and b/issues/spring/assets/end/story-one-cover.jpg differ
diff --git a/issues/spring/assets/end/story-six-cover.jpg b/issues/spring/assets/end/story-six-cover.jpg
new file mode 100644
index 00000000..a916f00f
Binary files /dev/null and b/issues/spring/assets/end/story-six-cover.jpg differ
diff --git a/issues/spring/assets/end/story-three-cover.jpg b/issues/spring/assets/end/story-three-cover.jpg
new file mode 100644
index 00000000..b2b9883a
Binary files /dev/null and b/issues/spring/assets/end/story-three-cover.jpg differ
diff --git a/issues/spring/assets/end/story-two-cover.jpg b/issues/spring/assets/end/story-two-cover.jpg
new file mode 100644
index 00000000..9099cb8c
Binary files /dev/null and b/issues/spring/assets/end/story-two-cover.jpg differ
diff --git a/issues/spring/assets/icon.png b/issues/spring/assets/icon.png
new file mode 100644
index 00000000..cf419cc0
Binary files /dev/null and b/issues/spring/assets/icon.png differ
diff --git a/issues/spring/assets/nibble/bagel-chips-thumb.jpg b/issues/spring/assets/nibble/bagel-chips-thumb.jpg
new file mode 100644
index 00000000..161fbe8f
Binary files /dev/null and b/issues/spring/assets/nibble/bagel-chips-thumb.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_1.jpg b/issues/spring/assets/nibble/bagel_1.jpg
new file mode 100644
index 00000000..33870ca7
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_1.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_2.jpg b/issues/spring/assets/nibble/bagel_2.jpg
new file mode 100644
index 00000000..d57423a7
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_2.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_3.jpg b/issues/spring/assets/nibble/bagel_3.jpg
new file mode 100644
index 00000000..4928459f
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_3.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_4.jpg b/issues/spring/assets/nibble/bagel_4.jpg
new file mode 100644
index 00000000..18acb22b
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_4.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_5.jpg b/issues/spring/assets/nibble/bagel_5.jpg
new file mode 100644
index 00000000..837988c5
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_5.jpg differ
diff --git a/issues/spring/assets/nibble/bagel_chips.jpg b/issues/spring/assets/nibble/bagel_chips.jpg
new file mode 100644
index 00000000..b7f49139
Binary files /dev/null and b/issues/spring/assets/nibble/bagel_chips.jpg differ
diff --git a/issues/spring/assets/nibble/crackers-thumb.jpg b/issues/spring/assets/nibble/crackers-thumb.jpg
new file mode 100644
index 00000000..bc9fb948
Binary files /dev/null and b/issues/spring/assets/nibble/crackers-thumb.jpg differ
diff --git a/issues/spring/assets/nibble/crackers.jpg b/issues/spring/assets/nibble/crackers.jpg
new file mode 100644
index 00000000..185ca6f0
Binary files /dev/null and b/issues/spring/assets/nibble/crackers.jpg differ
diff --git a/issues/spring/assets/nibble/crackers_1.jpg b/issues/spring/assets/nibble/crackers_1.jpg
new file mode 100644
index 00000000..df82dd56
Binary files /dev/null and b/issues/spring/assets/nibble/crackers_1.jpg differ
diff --git a/issues/spring/assets/nibble/crackers_2.jpg b/issues/spring/assets/nibble/crackers_2.jpg
new file mode 100644
index 00000000..a605bc6f
Binary files /dev/null and b/issues/spring/assets/nibble/crackers_2.jpg differ
diff --git a/issues/spring/assets/preview.jpg b/issues/spring/assets/preview.jpg
new file mode 100644
index 00000000..1b2ccbd0
Binary files /dev/null and b/issues/spring/assets/preview.jpg differ
diff --git a/issues/spring/assets/spread.svg b/issues/spring/assets/spread.svg
new file mode 100644
index 00000000..aac20ff1
--- /dev/null
+++ b/issues/spring/assets/spread.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spring/assets/story-five/cover.jpg b/issues/spring/assets/story-five/cover.jpg
new file mode 100644
index 00000000..5c044035
Binary files /dev/null and b/issues/spring/assets/story-five/cover.jpg differ
diff --git a/issues/spring/assets/story-five/p1-cover.jpg b/issues/spring/assets/story-five/p1-cover.jpg
new file mode 100644
index 00000000..d5a3bd2d
Binary files /dev/null and b/issues/spring/assets/story-five/p1-cover.jpg differ
diff --git a/issues/spring/assets/story-four/cover.jpg b/issues/spring/assets/story-four/cover.jpg
new file mode 100644
index 00000000..24d1903b
Binary files /dev/null and b/issues/spring/assets/story-four/cover.jpg differ
diff --git a/issues/spring/assets/story-four/p1-1.jpg b/issues/spring/assets/story-four/p1-1.jpg
new file mode 100644
index 00000000..234eb98f
Binary files /dev/null and b/issues/spring/assets/story-four/p1-1.jpg differ
diff --git a/issues/spring/assets/story-four/p1-2.jpg b/issues/spring/assets/story-four/p1-2.jpg
new file mode 100644
index 00000000..58a9e21e
Binary files /dev/null and b/issues/spring/assets/story-four/p1-2.jpg differ
diff --git a/issues/spring/assets/story-four/p2-1.jpg b/issues/spring/assets/story-four/p2-1.jpg
new file mode 100644
index 00000000..d6a00afb
Binary files /dev/null and b/issues/spring/assets/story-four/p2-1.jpg differ
diff --git a/issues/spring/assets/story-four/p2-cover.jpg b/issues/spring/assets/story-four/p2-cover.jpg
new file mode 100644
index 00000000..7da4e7a1
Binary files /dev/null and b/issues/spring/assets/story-four/p2-cover.jpg differ
diff --git a/issues/spring/assets/story-one/cover.jpg b/issues/spring/assets/story-one/cover.jpg
new file mode 100644
index 00000000..0028966f
Binary files /dev/null and b/issues/spring/assets/story-one/cover.jpg differ
diff --git a/issues/spring/assets/story-six/cover.jpg b/issues/spring/assets/story-six/cover.jpg
new file mode 100644
index 00000000..0bf0a4a0
Binary files /dev/null and b/issues/spring/assets/story-six/cover.jpg differ
diff --git a/issues/spring/assets/story-six/product-1.jpg b/issues/spring/assets/story-six/product-1.jpg
new file mode 100644
index 00000000..b4eb7eea
Binary files /dev/null and b/issues/spring/assets/story-six/product-1.jpg differ
diff --git a/issues/spring/assets/story-six/product-2.jpg b/issues/spring/assets/story-six/product-2.jpg
new file mode 100644
index 00000000..ec49a4fe
Binary files /dev/null and b/issues/spring/assets/story-six/product-2.jpg differ
diff --git a/issues/spring/assets/story-six/product-3.jpg b/issues/spring/assets/story-six/product-3.jpg
new file mode 100644
index 00000000..7b6b7892
Binary files /dev/null and b/issues/spring/assets/story-six/product-3.jpg differ
diff --git a/issues/spring/assets/story-six/product-4.jpg b/issues/spring/assets/story-six/product-4.jpg
new file mode 100644
index 00000000..ce02f9f9
Binary files /dev/null and b/issues/spring/assets/story-six/product-4.jpg differ
diff --git a/issues/spring/assets/story-six/product-5.jpg b/issues/spring/assets/story-six/product-5.jpg
new file mode 100644
index 00000000..3793255a
Binary files /dev/null and b/issues/spring/assets/story-six/product-5.jpg differ
diff --git a/issues/spring/assets/story-six/product-6.jpg b/issues/spring/assets/story-six/product-6.jpg
new file mode 100644
index 00000000..7672f9c5
Binary files /dev/null and b/issues/spring/assets/story-six/product-6.jpg differ
diff --git a/issues/spring/assets/story-three/cover.jpg b/issues/spring/assets/story-three/cover.jpg
new file mode 100644
index 00000000..cddfa4dd
Binary files /dev/null and b/issues/spring/assets/story-three/cover.jpg differ
diff --git a/issues/spring/assets/story-three/p1-1.jpg b/issues/spring/assets/story-three/p1-1.jpg
new file mode 100644
index 00000000..a432170f
Binary files /dev/null and b/issues/spring/assets/story-three/p1-1.jpg differ
diff --git a/issues/spring/assets/story-three/p1-cover.jpg b/issues/spring/assets/story-three/p1-cover.jpg
new file mode 100644
index 00000000..1cbdc15c
Binary files /dev/null and b/issues/spring/assets/story-three/p1-cover.jpg differ
diff --git a/issues/spring/assets/story-two/cover.jpg b/issues/spring/assets/story-two/cover.jpg
new file mode 100644
index 00000000..ff6d73df
Binary files /dev/null and b/issues/spring/assets/story-two/cover.jpg differ
diff --git a/issues/spring/assets/story-two/p1-1.jpg b/issues/spring/assets/story-two/p1-1.jpg
new file mode 100644
index 00000000..67505554
Binary files /dev/null and b/issues/spring/assets/story-two/p1-1.jpg differ
diff --git a/issues/spring/assets/story-two/p2-1.jpg b/issues/spring/assets/story-two/p2-1.jpg
new file mode 100644
index 00000000..6411f5a2
Binary files /dev/null and b/issues/spring/assets/story-two/p2-1.jpg differ
diff --git a/issues/spring/assets/story-two/p3-cover.jpg b/issues/spring/assets/story-two/p3-cover.jpg
new file mode 100644
index 00000000..5fc47107
Binary files /dev/null and b/issues/spring/assets/story-two/p3-cover.jpg differ
diff --git a/issues/spring/assets/story-two/product-1.jpg b/issues/spring/assets/story-two/product-1.jpg
new file mode 100644
index 00000000..058addca
Binary files /dev/null and b/issues/spring/assets/story-two/product-1.jpg differ
diff --git a/issues/spring/assets/story-two/product-2.jpg b/issues/spring/assets/story-two/product-2.jpg
new file mode 100644
index 00000000..cb822af9
Binary files /dev/null and b/issues/spring/assets/story-two/product-2.jpg differ
diff --git a/issues/spring/assets/story-two/product-3.jpg b/issues/spring/assets/story-two/product-3.jpg
new file mode 100644
index 00000000..e78ae211
Binary files /dev/null and b/issues/spring/assets/story-two/product-3.jpg differ
diff --git a/issues/spring/assets/story-two/product-4.jpg b/issues/spring/assets/story-two/product-4.jpg
new file mode 100644
index 00000000..79c5fbcd
Binary files /dev/null and b/issues/spring/assets/story-two/product-4.jpg differ
diff --git a/issues/spring/assets/story-two/product-5.jpg b/issues/spring/assets/story-two/product-5.jpg
new file mode 100644
index 00000000..742e5ab0
Binary files /dev/null and b/issues/spring/assets/story-two/product-5.jpg differ
diff --git a/issues/spring/assets/story-two/product-6.jpg b/issues/spring/assets/story-two/product-6.jpg
new file mode 100644
index 00000000..9c6740b6
Binary files /dev/null and b/issues/spring/assets/story-two/product-6.jpg differ
diff --git a/issues/spring/assets/title.svg b/issues/spring/assets/title.svg
new file mode 100644
index 00000000..d7896d79
--- /dev/null
+++ b/issues/spring/assets/title.svg
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/spring/assets/toc/cover.jpg b/issues/spring/assets/toc/cover.jpg
new file mode 100644
index 00000000..48e264f3
Binary files /dev/null and b/issues/spring/assets/toc/cover.jpg differ
diff --git a/issues/spring/assets/toc/emily-signature.jpg b/issues/spring/assets/toc/emily-signature.jpg
new file mode 100644
index 00000000..54b15b7f
Binary files /dev/null and b/issues/spring/assets/toc/emily-signature.jpg differ
diff --git a/issues/spring/assets/toc/emily.jpg b/issues/spring/assets/toc/emily.jpg
new file mode 100644
index 00000000..3d768410
Binary files /dev/null and b/issues/spring/assets/toc/emily.jpg differ
diff --git a/issues/spring/assets/video/cover.jpg b/issues/spring/assets/video/cover.jpg
new file mode 100644
index 00000000..6df9ec04
Binary files /dev/null and b/issues/spring/assets/video/cover.jpg differ
diff --git a/issues/spring/data/ad.md b/issues/spring/data/ad.md
new file mode 100644
index 00000000..24dc9ba6
--- /dev/null
+++ b/issues/spring/data/ad.md
@@ -0,0 +1,32 @@
+---
+
+ title: Ads
+ cover_url: assets/ad/background.jpg
+
+ images:
+ - url: assets/ad/message.png
+ - url: assets/ad/product.png
+ - url: assets/ad/call-to-action.svg
+ - url: assets/ad/brand_product.svg
+
+ layout:
+ type: one-column
+ image_style: background
+ content_transparent: "1"
+ nav: false
+
+---
+
+
+
+
+
+
+
+
+ DO YOUR THING is a trade mark of Mondelēz International Group used under licence.
+
+
+
+
+
diff --git a/issues/spring/data/end.md b/issues/spring/data/end.md
new file mode 100644
index 00000000..08bc1bc3
--- /dev/null
+++ b/issues/spring/data/end.md
@@ -0,0 +1,66 @@
+---
+
+ category: SHARE YOUR STORY
+ title: "#MySpread"
+
+ thumb_url: assets/end/background.jpg
+ cover_url: assets/end/background.jpg
+
+ images:
+ - url: assets/end/background.jpg
+ cover: true
+ - url: assets/end/instagram-512.png
+ layout: true
+ - url: assets/end/story-one-cover.jpg
+ - url: assets/end/story-two-cover.jpg
+ - url: assets/end/story-three-cover.jpg
+ - url: assets/end/story-four-cover.jpg
+ - url: assets/end/story-five-cover.jpg
+ - url: assets/end/story-six-cover.jpg
+
+ custom_html: true
+
+ layout:
+ type: custom
+ image_style: background
+ content_style: black
+
+ content_align: left
+ content_valign: middle
+ content_transparent: "1"
+
+ custom_class: one-column image-background center middle
+
+---
+
+
+
+
+
+ {{ category }}
+ {{ title }}
+
+ Thanks for making time to sit down with Spread. Each month we'll bring you features about life, food and effortless entertaining. In our pages you'll find fabulously delicious and simple recipes that will hopefully inspire your next entertaining spread.
+
+ Share your memories with us on Instagram
+
+
+ Follow Emily Tan's Food Adventures at Fuss Free Cooking
+
+
+
+ {{#images}}
+ {{^layout}}
+
+
+
+ {{ caption }}
+
+
+ {{/layout}}
+ {{/images}}
+
+
+
+
+
diff --git a/issues/spring/data/story-five.md b/issues/spring/data/story-five.md
new file mode 100644
index 00000000..04f6c241
--- /dev/null
+++ b/issues/spring/data/story-five.md
@@ -0,0 +1,21 @@
+---
+
+ category: Recipe
+ title: Chicken Meatballs With Rice Noodle Salad
+ author_name: Emily Tan
+
+ cover_url: assets/story-five/cover.jpg
+ thumb_url: assets/story-five/cover.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ hide_author: true
+
+---
+
+It’s not difficult to pick up that I love making meatballs and grilled them. Well today, my mince chicken has gone through the similar treatment: Thai style, meatballs and grilled. But this time I’ve coupled these tasty meatballs with rice noodle salad.
+
+This salad has lots of flavours: the crowd pleasing sweet chilli sauce, the tanginess from the white vinegar, the aromatic and very mildly bitter fresh lemongrass (yes you can eat lemongrass raw), coupled with rice noodles (vermicelli) which naturally soak up the flavours around them, citrusy fresh coriander leaves and last but not least, Thai red curry spiced grilled chicken meatballs. I’ve also added paper thin (sliced using a vegetable peeler) cucumber and carrots to further enhance the colour and texture to the salad.
+
+Needless to say, I am really into Thai style dishes lately. You can’t believe how much fresh coriander I have been keeping in my fridge. It’s crazy! I hope you’ll like this rice noodle salad recipe. Enjoy!
diff --git a/issues/spring/data/story-five/1.md b/issues/spring/data/story-five/1.md
new file mode 100644
index 00000000..7b6d59fd
--- /dev/null
+++ b/issues/spring/data/story-five/1.md
@@ -0,0 +1,49 @@
+---
+
+ category: Recipe
+ title: Ingredients & Method
+
+ cover_url: assets/story-five/p1-cover.jpg
+
+ layout:
+ type: two-column
+
+---
+
+### Meatballs:
+
+- 500g chicken mince
+- 1 slice of bread
+- 1 Tbsp Thai red curry paste (I use this brand for this recipe)
+- 1 tsp salt
+- Freshly ground black pepper
+
+### Rice Noodle Salad:
+
+- 125g dried rice noodles
+- Hot water to blanch the noodles
+- 1 lemongrass (the tender white part only), finely sliced
+- 1 small French shallot, thinly sliced
+- 1/2 cup sweet chilli sauce
+- 1/4 cup white vinegar
+- 300g cucumbers, thinly sliced with a peeler
+- 300g carrots, thinly sliced with a peeler
+- A handful of fresh coriander leaves
+
+## Method
+
+### Meatballs:
+
+1. In a small bowl, wet a slice of bread with some water and mash it into fine pieces with a fork. Alternatively you can process the bread in a food processor (without water) until resembles breadcrumbs.
+2. In a mixing bowl, add chicken mince, bread pieces (or fresh breadcrumbs), a tablespoon of Thai red curry paste, salt and pepper. Knead the meat dough until pliable.
+3. Roll a tablespoon of the meat dough into a ball and repeat this step to the remaining meat dough.
+4. Heat up a non-stick stir fry pan over a medium flame with a teaspoon of oil. Brown the meatballs until all surface has turned golden brown and cooked through. Remove from the pan and set aside.
+
+### To make the salad:
+
+1. While waiting for the meatballs to be cooked, I'd start prepping the salad ingredients.
+2. Start by re-hydrating the rice noodles in hot water in a bowl for about 10 minutes or until they are softened. Drain the water and set the noodles aside.
+3. Slice the lemongrass and French shallots. Add them to a separate bowl with sweet chilli sauce and white vinegar. Set aside.
+4. Peel the cucumber and carrot into paper thin slices, using a vegetable peeler.
+5. Add half of the dressing into the rice noodles and toss to mix evenly. Add sliced cucumber and carrots and toss gently.
+6. Divide the noodle salad in 4 small plates (as appetizers or two as main meal) , top with the meatballs and coriander leaves (roughly torn). Drizzle with the remaining sweet chilli dressing and serve immediately.
diff --git a/issues/spring/data/story-four.md b/issues/spring/data/story-four.md
new file mode 100644
index 00000000..20d5b424
--- /dev/null
+++ b/issues/spring/data/story-four.md
@@ -0,0 +1,17 @@
+---
+
+ category: Do It Yourself
+ title: "Double Life: Candle holder vases"
+ author_name: Emily Tan
+
+ cover_url: assets/story-four/cover.jpg
+ thumb_url: assets/story-four/cover.jpg
+
+ layout:
+ type: three-column
+ image_style: fit
+ content_align: right
+ content_valign: middle
+ hide_author: true
+
+---
diff --git a/issues/spring/data/story-four/1.md b/issues/spring/data/story-four/1.md
new file mode 100644
index 00000000..6fe07019
--- /dev/null
+++ b/issues/spring/data/story-four/1.md
@@ -0,0 +1,26 @@
+---
+
+ images:
+ - url: assets/story-four/p1-1.jpg
+ - url: assets/story-four/p1-2.jpg
+ caption: "{ my miniature dining table centerpiece on top of a silver round placemat }"
+
+ layout:
+ type: two-column
+ content_overflow: paginate
+
+---
+
+
+
+I love the liveliness that fresh flowers can bring to a space, especially in Spring when you can pick them from your own garden! My past preference has always steered towards a tall and majestic flower arrangement. With that being said, it is an impractical choice for casual dining or as a coffee table centerpiece. As much as we all love fresh Spring flowers, we don’t want to peer through the flowers to see each other across the table and television shows right?
+
+I started to look around for a short vase. Surprisingly, it is not easy to find an affordable and decorative short vase! (And I don’t want the clear glass ones). Talk about not finding something when you are looking.
+
+Then I came across these rounded candle holders at a discount store. I love the blush and neutral colour palettes and its reflective surface is a bonus too! Since the candles holders are made of glass, there is no reason that they can’t double as vases. They are a perfect for small arrangements with flowers from your garden.
+
+### Be Creative
+
+Candleholders aren’t the only things around the house that can make great vases for fresh flowers. Check out some of the other simple and crafty ideas the team at Spread have found as homeware inspiration for your next bunch of fresh flowers.
+
+
diff --git a/issues/spring/data/story-four/2.md b/issues/spring/data/story-four/2.md
new file mode 100644
index 00000000..03318c94
--- /dev/null
+++ b/issues/spring/data/story-four/2.md
@@ -0,0 +1,13 @@
+---
+
+ cover_url: assets/story-four/p2-cover.jpg
+
+ images:
+ - url: assets/story-four/p2-1.jpg
+
+ layout:
+ content_valign: middle
+
+---
+
+
diff --git a/issues/spring/data/story-one.md b/issues/spring/data/story-one.md
new file mode 100644
index 00000000..f1b27d04
--- /dev/null
+++ b/issues/spring/data/story-one.md
@@ -0,0 +1,123 @@
+---
+
+ category: recipe
+ title: Spring Party Nibbles
+ author_name: Emily Tan
+
+ cover_url: assets/story-one/cover.jpg
+ cover_caption: "Credits: Photo from
visitvictoria.com "
+ thumb_url: assets/story-one/cover.jpg
+
+ images:
+ - url: assets/nibble/crackers-thumb.jpg
+ - url: assets/nibble/bagel-chips-thumb.jpg
+ - url: assets/nibble/bagel_1.jpg
+ - url: assets/nibble/bagel_2.jpg
+ - url: assets/nibble/bagel_3.jpg
+ - url: assets/nibble/bagel_4.jpg
+ - url: assets/nibble/bagel_5.jpg
+ - url: assets/nibble/crackers.jpg
+ - url: assets/nibble/crackers_1.jpg
+ - url: assets/nibble/crackers_2.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+ hide_author: true
+
+---
+
+Since I am now living in Melbourne, it is only natural to be all festive about the Melbourne Cup. Despite my zero knowledge in horse racing, I love to follow the fashion at the races. Beautiful dresses and colourful fascinators, what’s not too love?
+
+Besides the dresses and fascinators, party nibbles are what I would associate spring races with. So in the spirit of the upcoming Carnival I wanted to share my take on fuss free party nibbles recipes.
+
+
+
+
+
Chickpea & Polenta Homemade Crackers
+
View recipe
+
+
+
+
+
+
Bagel Chips With Walnut Dukkah Crusted Cream Cheese
+
View recipe
+
+
+
+
+
Bagel Chips with Walnut Dukkah Crusted Cream Cheese
+
+
Ingredients
+
Bagel Chips:
+
+ 3 plain bagels
+ Olive oil
+
+
Walnut Dukkah Crusted Cream Cheese:
+
+ 15g walnut
+ 1 tsp cumin seeds
+ 2 tsps sesame seeds
+ Light sprinkling of paprika optional
+ 150g tub of PHILADELPHIA Spreadable Chive & Onion Cream Cheese
+
+
+ N.B. For larger groups, use the 250g tub of PHILADELPHIA Spreadable, or for a different flavour you can also try this nibbles dish with PHILLY’s 150g Smoked Salmon and Dill or Garlic and Herb Spreadable!
+
+
Instructions
+
To make bagel chips:
+
+ Preheat oven to 180C (convection oven) / 160C (fan force oven). Line baking tray with baking paper and set aside.
+ Slice bagel into half a centimetre rounds using a serrated knife (I used a steak knife). Then arrange them on the prepared baking tray. Lightly drizzle with some olive oil and bake them for 10 minutes or until they turned crispy and golden brown. Remove from the oven and allow the bagel chips to cool completely. Then, store them in an airtight container until you're ready to serve.
+
+
To make the walnut dukkah crusted cream cheese:
+
+ Toast the walnut, cumin seeds and sesame seeds until slightly aromatic and transfer to a plate to cool. Process the walnut-seeds mixture in a small processor until resembles coarse breadcrumbs.
+ Remove the PHILADELPHIA cream cheese from its container (as a whole). Line the container with cling wrap and press the walnut dukkah on the base and the side of the container. Carefully transfer the cream cheese back to the container and press gently to fit the cream cheese in the container snugly. Refrigerate the cream cheese until you are ready to serve.
+
+
+
+
+
+
+
Emily Tan is the special editor of the Spread magazine with thanks to PHILADELPHIA Australia for supporting her contents and sending her samples of PHILADELPHIA CREAM CHEESE products
+
+
+
+
+
+
+
Chickpea & Polenta Homemade Crackers
+
+
The amount of crackers are designed to go with the 220g PHILADELPHIA Pourovers.
+
Ingredients
+
+ Olive oil
+ 2 cups chickpea flour + extra for dusting
+ 1 cup instant polenta
+ A pinch of salt
+ Freshly milled black pepper
+ 1 cup cold water
+
+
Instructions
+
+ Preheat oven to 160C Fan Force/ 180C Convection Oven. Line baking tray with a baking paper and drizzle some olive oil over it. Set aside.
+ In a mixing bowl, add chickpea flour, polenta, salt, pepper and stir to combine with a fork.
+ Slowly stir in cold water until a dough is form. Use your hand to knead until the dough is pliable. If the dough feels sticky, add more chickpea flour.
+ Dust the rolling pin and the pastry board generously with chickpeas flour. Pinch a quarter portion of the dough and dust it with chickpea flour. Flatten the dough with a rolling pin as flat as you can without breaking the dough. Use a knife to cut into squares or rectangles. Repeat this step with the remaining dough.
+ Place them on the prepared baking tray and gently prick the surface with a fork. Lightly drizzle with olive oil. Bake in the preheated oven for 10 to 15 minutes until the crackers become golden brown.
+ Serve these crackers with your choice of dips or in my case, with the super saucy and delicious Mexican Salsa PHILADELPHIA Pourover.
+
+
+
+
Emily Tan is the special editor of the Spread magazine with thanks to PHILADELPHIA Australia for supporting her contents and sending her samples of PHILADELPHIA CREAM CHEESE products
+
+
+
diff --git a/issues/spring/data/story-six.md b/issues/spring/data/story-six.md
new file mode 100644
index 00000000..40464897
--- /dev/null
+++ b/issues/spring/data/story-six.md
@@ -0,0 +1,58 @@
+---
+
+ category: Style & Shopping
+ title: Turkish Delight
+ author_name: Emily Tan
+
+ thumb_url: assets/story-six/cover.jpg
+ cover_url: assets/story-six/cover.jpg
+
+ products:
+ - link: "http://www.petersofkensington.com.au/Public/Le-Souk-Ceramique-Tabarka-Sauce-Dish-Set-4pce.aspx"
+ image_url: assets/story-six/product-1.jpg
+ title: "Le Souk Ceramique - Tabarka Sauce Dish Set 4pce"
+ price: "$32 AUD"
+ description:
+ "Le Souk Ceramique is a truly hidden gem within the world of ceramics. Originating from Tunisia, just a little way away from the Mediterranean coast, Le Souk Ceramique’s tidy little studio is a marvel of hands-on artisans throwing clay and painting fired works without the aid of expensive machinery. Pots and bowls are still made on a traditional potter’s wheel; the only modern innovations are the high-tech paints and glazes."
+
+ - link: "http://www.zanui.com.au/Turkish-Damask-Tea-Glass-Set-of-6-85575.html"
+ image_url: assets/story-six/product-2.jpg
+ title: "Turkish Damask Tea Glass (Set of 6)"
+ price: "$23.96 AUD"
+
+ - link: "http://www.williams-sonoma.com.au/copper-moscow-mule-mug.html"
+ image_url: assets/story-six/product-3.jpg
+ title: "Copper mug"
+ price: "$36 AUD"
+ description:
+ "These polished copper mugs are classics for serving iced cocktails such as the Moscow Mule, a blend of vodka, ginger beer and lime juice. The metal keeps cocktails and other refreshments ice-cold. Our mugs are handcrafted by artisans in Turkey who carry on the ancient traditions of Anatolian metalworking. Each is spun and hammered by hand of solid copper, with riveted handles and a tin lining. The copper will age naturally to a rich bronze patina."
+
+ - link: "http://www.t2tea.com/shop/teaware-2/cups-and-saucers/turkish-delight-cherry/"
+ image_url: assets/story-six/product-4.jpg
+ title: "Turkish Delight Cherry"
+ price: "$20.00 AUD"
+ description:
+ "So Delightful! Turkish Delight Cup & Saucer is sure to impress. Mix and match this colourful range or add to your existing set. Now there's an excuse to purchase more than one colour!"
+
+ - link: "http://www.kitchenwaredirect.com.au/Tabletop/Coasters-Placemats/Rapee-Coaster-Set-of-4-Mosaic-Flower-Black"
+ image_url: assets/story-six/product-5.jpg
+ title: "Mosaic Flower Coaster"
+ price: "$11.95 AUD"
+ description:
+ "Coasters by Rapee. Protect your table with these eye-catching Mosaic Flower Coasters in Black. The set of four is made from PVC and features a moulded pattern. Each coaster is 10cm by 10cm in size. From high end to everyday ware, Rapee caters to all tastes and budgets with their specialist range of cushions, napery, outdoor and home furnishings. Inspiration is drawn from around the world with overseas fashion trends influencing their innovative array of homewares and accessories."
+
+ - link: "http://www.petersofkensington.com.au/Public/Le-Souk-Ceramique-Tabarka-Pitcher.aspx"
+ image_url: assets/story-six/product-6.jpg
+ title: "Le Souk Ceramique – Tabarka Pitcher"
+ price: "$23 AUD"
+ description:
+ "Le Souk Ceramique is a truly hidden gem within the world of ceramics. Originating from Tunisia, just a little way away from the Mediterranean coast, Le Souk Ceramique’s tidy little studio is a marvel of hands-on artisans throwing clay and painting fired works without the aid of expensive machinery. Pots and bowls are still made on a traditional potter’s wheel; the only modern innovations are the high-tech paints and glazes."
+
+ layout:
+ type: three-column
+ image_style: cover
+ hide_author: true
+
+---
+
+Day to day I can be somewhat conservative when it comes to dinnerware. However, as the sun starts to shine I like to keep a look out for some bright and colourful touches to add to my dinner table. Recently I’ve fallen in love with Turkish inspired pieces - I can’t help but fall in love with the vibrancy of colours and exotic patterns! These beautiful pieces will be making their way out this Spring!
diff --git a/issues/spring/data/story-three.md b/issues/spring/data/story-three.md
new file mode 100644
index 00000000..710b3922
--- /dev/null
+++ b/issues/spring/data/story-three.md
@@ -0,0 +1,21 @@
+---
+
+ category: Recipe
+ title: Passionfruit Cheesecake with Caramelised Pineapple
+ author_name: Emily Tan
+
+ cover_url: assets/story-three/cover.jpg
+ thumb_url: assets/story-three/cover.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_align: center
+
+---
+
+Being born and raised in Malaysia, I will always have a soft spot for tropical fruits. Melbourne has had a sunny start to Spring, which has made me reminisce of summer in Orange.
+
+Personally, I am up for a tropical themed cheesecake at any occasion and season. But when the weather gets warmer I crave for a lighter and refreshing dessert. I love how the tang from passionfruit and pineapple mellows the richness of the cheesecake which makes an ideal dessert to cool off a warm backyard barbecue meal. Furthermore, I love the colors they bring to the cheesecake, coupled with a drizzling of maple syrup, it feels like this cheesecake has been sun-kissed!
+
+It took me a while to discover how to use almond meal to make a crust. Seriously, it is so delicious and totally fits with my fuss free theme. I love the added nuttiness almond meal crust brings. In fact it is so delicious that I think I can eat the crust on its own! I also love the convenience of not having to process biscuits, which makes the cheesecake gluten free, which also means that more people can enjoy this sweet, tart and summery dessert!
diff --git a/issues/spring/data/story-three/1.md b/issues/spring/data/story-three/1.md
new file mode 100644
index 00000000..84e886be
--- /dev/null
+++ b/issues/spring/data/story-three/1.md
@@ -0,0 +1,74 @@
+---
+
+ category: recipe
+ title: Ingredients & Method
+
+ cover_url: assets/story-three/p1-cover.jpg
+
+ images:
+ - url: assets/story-three/p1-1.jpg
+
+ layout:
+ type: two-column
+
+---
+
+Prep Time:
30 minutes
+Cook Time:
1 hour, 10 minutes
+Utensils:
One 20-cm (8 inched) cheesecake
+
+### Crust Ingredients:
+
+- 2½ cups almond meal
+- 125g unsalted butter, melted & cooled
+- 3 tbsps brown sugar
+
+### Cheesecake Ingredients:
+
+- 500g PHILADELPHIA Cream Cheese, softened
+- ½ cup caster sugar
+- 2 eggs
+- 2 tsps vanilla extract
+- 85g passionfruit pulp (½ of 170g canned passionfruit pulp)
+
+### Caramelised PineappleTopping:
+
+- 150g pineapple, diced
+- ¼ cup maple syrup plus extra for final drizzling
+- 85g passionfruit pulp (remaining ½ of 170g canned passionfruit pulp)
+
+
+
+## Method
+
+### Crust:
+
+1. Preheat oven to 180°C for convection oven or 160°C for fan force oven. Line the bottom of a 20cm springform pan with baking paper and grease the side of the pan with melted butter. Set aside.
+2. Add almond meal, butter and brown sugar. Mix until well combined.
+3. Press the almond meal crumbs over base and the side of the prepared pan.
+4. Bake in the preheated oven for 10 minutes or until lightly golden brown. Set aside to cool.
+
+### Cheesecake:
+
+1. Preheat oven to 160°C for convection oven or 140°C for fan force oven.
+2. In a large mixing bowl, cream PHILADELPHIA Cream Cheese and caster with a handheld/stand mixer until light and fluffy.
+3. Add eggs, one at a time, and beat until well combined.
+4. Add vanilla extract and passionfruit pulp. Continue beating until all the ingredients are well combined.
+5. Transfer the cream cheese batter onto the cooled almond meal crust.
+6. Place the spring form pan on a flat cookie pan to avoid leakage. Bake the cheesecake on the bottom rack (this is to prevent the surface from cracking) for an hour, or until the surface of the cheesecake appears to be light golden brown.
+7. Transfer the cheesecake onto a plate to cool completely.
+8. Refrigerate the cheesecakes for at least 3 hours, until it is fully set.
+9. Caramelised Pineapple Topping:
+10. In a non-stick pan, add ¼ cup of maple syrup and cook over medium heat until it starts to bubble.
+11. Add pineapple and cook to reduce the maple syrup to a toffee like consistency. Transfer the caremelised pineapple onto a plate to cool.
+12. Meanwhile, add the remaining passionfruit onto the same pan and cook until jam consistency is achieved.
+
+### To Serve:
+
+Add the cooled caramelised pineapple onto the cheesecake, followed by the passionfruit. Drizzle with more maple syrup if preferred and serve immediately.
+
+### Notes:
+
+Please make allowance for at least 3 hours of refrigeration time before serving.
+
+
Emily Tan is the special editor of the Spread magazine with thanks to PHILADELPHIA Australia for supporting her contents and sending her samples of PHILADELPHIA CREAM CHEESE products
diff --git a/issues/spring/data/story-two.md b/issues/spring/data/story-two.md
new file mode 100644
index 00000000..deabf054
--- /dev/null
+++ b/issues/spring/data/story-two.md
@@ -0,0 +1,17 @@
+---
+
+ category: Inspiration
+ title: Spring Activities
+
+ cover_url: assets/story-two/cover.jpg
+ cover_caption: "Credits: © The Grounds of Alexandria"
+ thumb_url: assets/story-two/cover.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Fellow sunshine enthusiasts if there is one country in the world that knows how to celebrate Spring it is definitely Australia. Our streets are bursting at the seams with new and exciting sounds and sites to visit. A couple of the Spread Team's local favourites include The Grounds in Alexandria, Sydney and Cafe Gratitude in Melbourne. What’s happening in your local area this weekend?
diff --git a/issues/spring/data/story-two/1.md b/issues/spring/data/story-two/1.md
new file mode 100644
index 00000000..377f5000
--- /dev/null
+++ b/issues/spring/data/story-two/1.md
@@ -0,0 +1,20 @@
+---
+
+ category: Inspiration
+ title: Royal Botanic Garden
+
+ cover_url: assets/story-two/p1-1.jpg
+ cover_caption: "Credits: © Steve Back; Destination NSW"
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: left
+ content_valign: middle
+ content_style: black
+
+---
+
+Spring is here ladies. Can you feel it? Warm rays and yellow sunshine. If you haven’t seen it, check out “59 Reasons Why Living In Sydney Ruins you for Life”. No 12 takes the cake as it reminds our lucky seaside occupants that Sydney’s prime real estate The Royal Botanical Gardens is free and open to all.
+
+A wondrous time to pull out those picnic blankets don't you think? Our country is home to hundreds of green and grassy landscapes, manicured and eagerly anticipating your friends and families picnic blankets and ball games. What are you doing this weekend? A picnic for two...
diff --git a/issues/spring/data/story-two/2.md b/issues/spring/data/story-two/2.md
new file mode 100644
index 00000000..549e7c76
--- /dev/null
+++ b/issues/spring/data/story-two/2.md
@@ -0,0 +1,30 @@
+---
+
+ category: Inspiration
+ title: Carlton Gardens
+ summary: Melbourne, Victoria
+
+ cover_url: assets/story-two/p2-1.jpg
+ cover_caption: "Credits: © Carlton Gardens, Wikipedia"
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: right
+ content_valign: bottom
+ content_style: black
+
+---
+
+Now it wouldn’t be fair to reference picnics without acknowledging Melbourne, The Garden City of Australia and its famous Carlton Gardens. The major Victorian era landscaped gardens present a myriad of activity areas, fun for the whole family:
+
+- An ornamental lake
+- Kiosk and cafe
+- Conservatory
+- Cooks' Cottage - a house where the parents of James Cook lived. (the cottage was in England at that time).
+- Sinclair’s Cottage
+- Model Tudor village
+- Fountains and sculptures
+- Band Pavilion
+- The Rotunda
+- The fairies’ tree
diff --git a/issues/spring/data/story-two/3.md b/issues/spring/data/story-two/3.md
new file mode 100644
index 00000000..46f51946
--- /dev/null
+++ b/issues/spring/data/story-two/3.md
@@ -0,0 +1,52 @@
+---
+
+ category: Inspiration
+ title: The Picnic Essentials
+
+ cover_url: assets/story-two/p3-cover.jpg
+
+ products:
+ - link: "http://shop.davidjones.com.au/djs/en/davidjones/neon-water-bottle"
+ image_url: assets/story-two/product-1.jpg
+ title: "Maxwell & Williams Neon Water Bottle 1l"
+ price: "$7.95 AUD"
+ description:
+ "Available in a range of colours, this water bottle from Maxwell & William's Neon range will make a stylish addition to your home."
+
+ - link: "http://shop.davidjones.com.au/djs/en/davidjones/porto-picnic-blanket"
+ image_url: assets/story-two/product-2.jpg
+ title: "Porto Picnic Blanket | David Jones "
+ price: "$19.95 AUD"
+
+ - link: "http://shop.davidjones.com.au/djs/en/davidjones/porto-2-person-picnic-basket"
+ image_url: assets/story-two/product-3.jpg
+ title: "Porto 2 Person Picnic Basket | David Jones"
+ price: "$99.95 AUD"
+ description:
+ "This picnic hamper is the perfect getaway for two. Made of 100% wicker with a material lining and featuring two buckle twist clasps for an easy and efficient day in the sun."
+
+ - link: "https://www.philly.com.au/products/introducing-new-pourover-flavours/"
+ image_url: assets/story-two/product-4.jpg
+ title: "PHILADELPHIA Chilli PHILLY Pourover"
+ description:
+ "Not only does it rhyme, but it also tastes sinfully satisfying. Sweet Chilly PHILLY is a match made in heaven, dare we say. Feisty chilly with a soothing, cool PHILLY twist. Perfect. The essential center-piece to any pre-dinner nibbles, it can also be turned into delicious dips, pleasurable pastas or eaten with a spoon."
+
+ - link: "http://shop.davidjones.com.au/djs/en/davidjones/eu-2-bottle-australian-wine-pack-%28red%29"
+ image_url: assets/story-two/product-5.jpg
+ title: "EU 2 Bottle Australian Wine Pack (Red) | David Jones"
+ price: "$199.00 AUD"
+ description:
+ "This wine gift pack consists of two stunning Aussie red wines. Contains: Rosemount Founders Selection Shiraz 2013 750ml, Lindemans Winemakers Release Shiraz Cabernet Sauvignon 2013 750ml. Glass not included. Liquor vintages as per product listing, images indicative of brand and range only."
+
+ - link: "http://www2.woolworthsonline.com.au/Shop/ProductDetails?Stockcode=140784"
+ image_url: assets/story-two/product-6.jpg
+ title: "Captains Table Water Cracker 125g"
+ price: "$1.99 AUD"
+
+ layout:
+ type: three-column
+ image_style: cover
+
+---
+
+Here at Spread when Spring comes around we think of freshly cut grass and being outdoors as gardens and parks come to life. What better way to enjoy this time of year than by dusting off the picnic rug and pulling together an alfresco spread. Here are some of the essentials we think make up a great picnic
diff --git a/issues/spring/data/toc.md b/issues/spring/data/toc.md
new file mode 100644
index 00000000..bb0f5552
--- /dev/null
+++ b/issues/spring/data/toc.md
@@ -0,0 +1,29 @@
+---
+
+ title: Table of Content
+
+ thumb_url: assets/toc/cover.jpg
+ cover_url: assets/toc/cover.jpg
+
+ images:
+ - url: assets/toc/emily-signature.jpg
+ - url: assets/toc/emily.jpg
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+Hello! Welcome to the second edition of Spread! The days are getting longer and the sun is shining which can only mean one thing – Spring is here! I love that the change in season doesn’t only affect the weather but also brings fresher, lighter food, plenty of fresh flowers and long lazy Sunday afternoons in the garden. I’ve put together some of my favourite recipes and tips to celebrate Spring!
+
+
+Guest Editor
+
+
+
+
+ Emily Tan
+ Fuss Free Cooking
+
+
diff --git a/issues/spring/data/video.md b/issues/spring/data/video.md
new file mode 100644
index 00000000..77f627c5
--- /dev/null
+++ b/issues/spring/data/video.md
@@ -0,0 +1,20 @@
+---
+
+ category: video
+ title: Do Your Thing
+
+ thumb_url: assets/video/cover.jpg
+
+ videos:
+ - thumb_url: assets/video/cover.jpg
+ link: https://www.youtube.com/watch?v=IZjhUzv1YKw
+ type: video/youtube
+ autoplay: true
+ cover: true
+
+ layout:
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/spring/issue.yaml b/issues/spring/issue.yaml
new file mode 100644
index 00000000..4c1fd338
--- /dev/null
+++ b/issues/spring/issue.yaml
@@ -0,0 +1,27 @@
+title: Spring
+description: ""
+
+magazine_handle: spread
+magazine_title: Spread
+
+theme: fashion
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+ - "spread.svg"
+ - "title.svg"
+
+paths:
+ - index
+ - toc
+ - story-one
+ - story-two
+ - ad
+ - story-three
+ - story-four
+ - story-five
+ - story-six
+ - video
+ - end
diff --git a/issues/template/assets/background.jpg b/issues/template/assets/background.jpg
new file mode 100644
index 00000000..1ae28e58
Binary files /dev/null and b/issues/template/assets/background.jpg differ
diff --git a/issues/template/assets/background_large.jpg b/issues/template/assets/background_large.jpg
new file mode 100644
index 00000000..1ae28e58
Binary files /dev/null and b/issues/template/assets/background_large.jpg differ
diff --git a/issues/template/assets/badge_itunes.svg b/issues/template/assets/badge_itunes.svg
new file mode 100644
index 00000000..518eeb14
--- /dev/null
+++ b/issues/template/assets/badge_itunes.svg
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/issues/template/assets/books.jpg b/issues/template/assets/books.jpg
new file mode 100644
index 00000000..eb425204
Binary files /dev/null and b/issues/template/assets/books.jpg differ
diff --git a/issues/template/assets/college.jpg b/issues/template/assets/college.jpg
new file mode 100644
index 00000000..2db19983
Binary files /dev/null and b/issues/template/assets/college.jpg differ
diff --git a/issues/template/assets/custom.scss b/issues/template/assets/custom.scss
new file mode 100644
index 00000000..3ecd2a80
--- /dev/null
+++ b/issues/template/assets/custom.scss
@@ -0,0 +1,141 @@
+
+
+
+/*
+ Polaroid
+*/
+
+.polaroid-wrap {
+ list-style: none;
+}
+
+article.page ul.polaroids {
+ padding: 0;
+ margin: 0;
+}
+
+figure.polaroid {
+ float: left;
+
+ -webkit-backface-visibility: hidden;
+ -webkit-perspective: 1000;
+
+ display: inline-block;
+
+ max-width: 48%;
+ max-height: 300px;
+
+ display: inline;
+ float: left;
+
+ margin: 0 -5% -10% 1%;
+ width: auto;
+
+ font-size: 18px;
+ text-align: center;
+ font-family: "Marker Felt", sans-serif;
+ text-decoration: none;
+ color: #333;
+
+ -webkit-transform: rotate(-2deg);
+ -webkit-transition: all .15s linear;
+
+ -moz-transform: rotate(-2deg);
+ -moz-transition: all .15s linear;
+
+ transition: all .15s linear;
+}
+
+figure.polaroid figcaption {
+ text-decoration: none;
+ text-align: center;
+}
+
+figure.polaroid img {
+
+ width: 100%;
+ padding: 15px 15px 20px;
+ background: #fff;
+ box-shadow: 0 3px 6px rgba(0,0,0,.25);
+
+ vertical-align: middle;
+ width: 100%;
+}
+
+.polaroid-wrap:hover figure {
+ -webkit-transform: scale(1.7);
+ -moz-transform: scale(1.7);
+ transform: scale(1.7);
+ position: relative;
+ z-index: 5;
+}
+
+@media only screen and (min-width: 768px) {
+ figure.polaroid {
+ max-width: 24%;
+ margin: 0 0% -5% 5%;
+ max-height: 25vw;
+ }
+
+ .polaroid-wrap:nth-child(3n+1) {
+ clear: both;
+ }
+}
+
+.polaroid-wrap:nth-child(even) {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+}
+
+.polaroid-wrap:nth-child(5) {
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+
+ position: relative;
+ top: 14vh;
+ left: 2vh;
+}
+
+.polaroid-wrap:nth-child(8) {
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+
+ position: relative;
+ top: 5vh;
+ left: -2vh;
+}
+
+.polaroid-wrap:nth-child(4) figure {
+ clear: left;
+}
+
+.polaroid-wrap:nth-child(11) {
+ -webkit-transform: rotate(3deg);
+ -moz-transform: rotate(3deg);
+ transform: rotate(3deg);
+
+ position: relative;
+ left: -2vh;
+}
+
+.polaroid-wrap:nth-child(12) {
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+
+ position: relative;
+ left: 5vh;
+}
+
+.polaroid-wrap:nth-child(13) {
+ -webkit-transform: none;
+ -moz-transform: none;
+ transform: none;
+
+ position: relative;
+ top: -8vh;
+ left: 2vh;
+}
diff --git a/issues/template/assets/distribution.jpg b/issues/template/assets/distribution.jpg
new file mode 100644
index 00000000..c79801ae
Binary files /dev/null and b/issues/template/assets/distribution.jpg differ
diff --git a/issues/template/assets/highschool.jpg b/issues/template/assets/highschool.jpg
new file mode 100644
index 00000000..193b728c
Binary files /dev/null and b/issues/template/assets/highschool.jpg differ
diff --git a/issues/template/assets/highschool2.jpg b/issues/template/assets/highschool2.jpg
new file mode 100644
index 00000000..464066d4
Binary files /dev/null and b/issues/template/assets/highschool2.jpg differ
diff --git a/issues/template/assets/storytelling.jpg b/issues/template/assets/storytelling.jpg
new file mode 100644
index 00000000..e4d935e4
Binary files /dev/null and b/issues/template/assets/storytelling.jpg differ
diff --git a/issues/template/assets/storytelling2.jpg b/issues/template/assets/storytelling2.jpg
new file mode 100644
index 00000000..30ad0d3b
Binary files /dev/null and b/issues/template/assets/storytelling2.jpg differ
diff --git a/issues/template/data/shopping.md b/issues/template/data/shopping.md
new file mode 100644
index 00000000..90dc4ef1
--- /dev/null
+++ b/issues/template/data/shopping.md
@@ -0,0 +1,66 @@
+---
+
+ title: My Style Pick
+ category: shopping
+ cover_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_b.jpg
+ thumb_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_m.jpg
+
+ products:
+
+ - link: "#1"
+ image_url: 'http://cl.ly/image/3740122Z2G2j/Screen%20Shot%202013-12-13%20at%2011.51.59%20am.png'
+ title: "Product 1"
+ description:
+ price: "$100"
+
+ - link: "#2"
+ image_url: 'http://cl.ly/image/0W2z1x231p2D/Screen%20Shot%202013-12-18%20at%206.28.32%20pm.png'
+ title: "Product 2"
+ description:
+ price: "$200"
+
+ - link: "#3"
+ image_url: 'http://cl.ly/image/16260q391k3t/Screen%20Shot%202013-12-13%20at%2011.31.23%20am.png'
+ title: "Product 3"
+ description:
+ price: "$300"
+
+ - link: "#4"
+ image_url: 'http://cl.ly/image/0E1D2G2z2w3g/Screen%20Shot%202013-12-13%20at%2011.32.49%20am.png'
+ title: "Product 4"
+ description:
+ price: "$400"
+
+ - link: "#5"
+ image_url: 'http://cl.ly/image/3I3k0r000g0p/Screen%20Shot%202013-12-13%20at%2012.09.59%20pm.png'
+ title: "Product 5"
+ description:
+ price: "$500"
+
+ - link: "#6"
+ image_url: 'http://cl.ly/image/2a2B1x2Y192R/Screen%20Shot%202013-12-13%20at%2011.32.09%20am.png'
+ title: "Product 6"
+ description:
+ price: "$600"
+
+ layout:
+ type: two-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
diff --git a/issues/template/data/story-five.md b/issues/template/data/story-five.md
new file mode 100644
index 00000000..6b8d6fd7
--- /dev/null
+++ b/issues/template/data/story-five.md
@@ -0,0 +1,26 @@
+---
+
+ title: Map
+ category: Where Am I
+
+ thumb_url: assets/Sweet-Chargrilled-Peaches-Sourdough.jpg
+ cover_url: assets/Sweet-Chargrilled-Peaches-Sourdough.jpg
+
+
+
+---
+
+
+
+
+
diff --git a/issues/template/data/story-four.md b/issues/template/data/story-four.md
new file mode 100644
index 00000000..813633ee
--- /dev/null
+++ b/issues/template/data/story-four.md
@@ -0,0 +1,48 @@
+---
+
+ category: "#HashTag"
+ title: "#Fridge Shelfies"
+
+ thumb_url: http://media-cache-ak0.pinimg.com/236x/02/46/91/024691df69af6a545eb7d5060ac7e87c.jpg
+
+ images:
+
+ - caption: Box lay
+ url: http://media-cache-ec0.pinimg.com/736x/b1/4c/1a/b14c1a4c0e0d17924704cf933b6d6583.jpg
+
+ - caption: Box
+ url: http://media-cache-ak0.pinimg.com/736x/b7/ed/a8/b7eda8ca023e3a320e2d7d78883f3787.jpg
+
+ - caption: couch
+ url: http://media-cache-cd0.pinimg.com/736x/6d/d0/ca/6dd0ca6d4e3d8af460d896433464a1ac.jpg
+
+ - caption: pose
+ url: http://media-cache-ak0.pinimg.com/236x/02/46/91/024691df69af6a545eb7d5060ac7e87c.jpg
+
+ - caption: back
+ url: http://media-cache-ak0.pinimg.com/236x/16/76/37/1676371e5b71317a7779782cc8ffa4a0.jpg
+
+ - caption: lay down
+ url: http://media-cache-ec0.pinimg.com/236x/13/9a/ec/139aec0681356f3feac7cfb0e5b5f74b.jpg
+
+ layout:
+ nav: true
+ type: custom
+
+---
+
+
+
+
+ {{#images}}
+
+
+
+ {{ caption }}
+
+
+ {{/images}}
+
+
diff --git a/issues/template/data/story-one.md b/issues/template/data/story-one.md
new file mode 100644
index 00000000..6011be61
--- /dev/null
+++ b/issues/template/data/story-one.md
@@ -0,0 +1,35 @@
+---
+
+ title: Where it all begins
+ author_name: Steve Jobs
+ author_icon: http://www.turnjs.com/samples/steve-jobs/pics/young.jpg
+
+ byline: By Steve Jobs
+
+ cover_url: http://azatty.files.wordpress.com/2013/11/desk-messy-steve-jobs.jpg
+ thumb_url: http://lorempixel.com/200/150
+
+ images:
+ - url: assets/books.jpg
+ caption: book by stage
+
+ layout:
+ type: one-column
+ image_style: cover
+
+---
+
+Steve Jobs is the authorized biography of Steve Jobs. The biography was written at the request of Jobs by acclaimed biographer Walter Isaacson, a former executive at CNN and Time who has written best-selling biographies about Benjamin Franklin and Albert Einstein.
+
+Based on more than forty interviews with Jobs conducted over two years—in addition to interviews with more than one hundred family members, friends, adversaries, competitors, and colleagues—Isaacson was given "exclusive and unprecedented" access to Jobs's life. Jobs is said to have encouraged the people interviewed to speak honestly. Although Jobs cooperated with the book, he asked for no control over its content other than the book's cover, and waived the right to read it before it was published.
+
+The book is described as "[chronicling] the roller-coaster life and searingly intense personality of a creative entrepreneur whose passion for perfection and ferocious drive revolutionized six industries: personal computers, animated movies, music, phones, tablet computing, and digital publishing."
+
+In just over 600 pages, the book covers Jobs' entire life, from his childhood in his adoptive parents' home in California to his three bouts with pancreatic cancer. Early chapters include one on his relationship with Steve Wozniak and Jobs' brief stint at Hewlett-Packard, Reed College, Atari, and a formative trip to India to find himself. A chapter each is devoted to the development of the Apple I, Apple II, Lisa, and the classic Macintosh during his early years, the founding of NeXT and funding of Pixar when he was ousted from Apple, and Jobs' triumphant and incredibly productive return to Apple starting in 1997. Following the latter "second coming" of Jobs, Isaacson chronicles the development
+
+
+
+of the iMac, iPod, iTunes, Apple Stores, and iPad.
+
+Jobs' abrasive personality, which simultaneously inspired and intimidated those around him, is a recurrent theme throughout. Details of his personal life are also included, including early relationships, his marriage of twenty years, and his four children and his early life.
+
diff --git a/issues/template/data/story-one/1.md b/issues/template/data/story-one/1.md
new file mode 100644
index 00000000..a3d9b888
--- /dev/null
+++ b/issues/template/data/story-one/1.md
@@ -0,0 +1,71 @@
+---
+ title: Youth
+
+ layout:
+ content_overflow: paginate
+
+---
+
+
+## The jobs family
+
+
+Steve Jobs was born on February 24, 1955, in the city of San Francisco. His biological mother was an unwed graduate student named Joanne Simpson, and his biological father was either a political science or mathematics professor, a native Syrian named Abdulfattah John Jandali.
+
+Being born out of wedlock in the puritan America of the 1950s, the baby was put up for adoption. Joanne had a college education, and she insisted that the future parents of her boy be just as well educated. Unfortunately, the candidates, Paul and Clara Jobs, did not meet her expectations: they were a lower-middle class couple that had settled in the Bay Area after the war. Paul was a machinist from the Midwest who had
+
+
+not even graduated from high school. In the end, Joanne agreed to have her baby adopted by them, under the firm condition that they later send him to college.
+
+Paul and Clara called their new son Steven Paul. While Steve was still a toddler, the couple moved to the Santa Clara county, later to be known as Silicon Valley. They adopted another baby, a girl called Patti, three years later in 1958.
+
+## Childhood
+
+
+Steve was quite a turbulent child. He really didn’t care about school for some time — until he reached the 4th grade, and had Imogene “Teddy” Hill as a teacher.
+
+She did bribe him, with candy and $5 bills from her own money. He quickly became hooked — so much so that he skipped the 5th grade and went straight to middle school, namely Crittenden Middle School. It was in a poor area. Most kids did not work much there, they were rather fond of bullying other kids, such as the young Steve. One day he came home and declared that if he wasn’t transferred to another school, he would stop going to school altogether. He was 11. Paul and Clara complied, and the Jobses moved to the cozier city of Los Altos, so that Steve could go to Cupertino Junior High. This proved to be decisive for Steve’s future.
+
+As Steve was growing up in Los Altos, he became increasingly curious about the world of electronics that filled his neighbors’ garages. His own father introduced him to Heathkits, which fascinated him.
+
+## Homestead High
+
+
+When Steve arrived in Homestead High School, he enrolled in a popular electronics class. His teacher was
+
+
+Mr. McCollum. McCollum later recalled of one time when his pupil Steve called up David Hewlett himself, co-founder of HP, to get spare parts for his homework, and even a summer job at HP’s factory. Steve’s entrepreneurial skills showed up early in his life indeed.
+
+
+
+At Homestead, Steve befriended Bill Fernandez, a neighbor who shared his interests in electronics. It was Bill who first introduced him to another computer whiz kid, an older guy named Stephen Wozniak, or — as everybody used to call him — Woz. Steve and Woz met in 1969, when they were respectively 14 and 19. At the time, Woz was building a little computer board with Bill Fernandez that they called “the Cream Soda Computer”.
+
+> Typically, it was really hard for me to explain to people the kind of design stuff I worked on, but Steve got it right away. And I liked him. He was kind of skinny and wiry and full of energy. [...] Steve and I got close right away, even though he was still in high school [...]. We talked electronics, we talked about music we liked, and we traded stories about pranks we’d pulled.
+* Steve Wozniak in iWoz *
+
+Woz and Steve later engaged in several pranks together, including putting a huge middle finger on one of the high school’s building.
+
+It was also at Homestead that Steve met Chris-Ann Brennan, his first steady girlfriend, with whom he stayed for several years. A couple of years later, Woz and Steve started their first entrepreneurial venture. It was 1972, and on US campuses, there was a lot of talk about “phone phreaks.” They were early computer
+
+hackers that managed to build “blue boxes” — little devices that fooled AT&T’s long-distance switching equipment, and allowed you to make phone calls for free.
+
+
+
+
+Woz read about them in an article which he showed to Steve. They both tried to build one, and to their surprise, it worked! It was Steve who came up with the idea of selling them; he and Woz would go from room to room in Berkeley’s dorms, where Woz was a student, and sell them to interested students. However, this business was illegal and the two of them stopped after they almost got caught by the police.
+
+## Reed College
+
+
+The following year, Steve finished high school and reached college age. He decided to go to the fancy Reed College, a private liberal arts college up in Oregon. However, the tuition for Reed was so expensive that Paul and Clara could hardly afford it. Yet they were bound by the promise they’d make to their son’s biological mother, so they spent almost their entire life’s savings on their son’s higher education.
+
+Steve only officially stayed for a couple of months at Reed. He dropped out before Christmas. However, that allowed him to “drop in” on classes he was not supposed to attend.
+
+It was at Reed that Steve started experimenting with Eastern mysticism. He delved into weird books and came to believe that if he ate only fruits, for example, he would eliminate all mucus and not need to shower
+
+anymore. He also started his habit of fasting for long periods of time (he would still do so ten years later, when he was a multi-millionaire). He occasionally used LSD, and became something of a laggard hippie. One of his best friends at Reed was Dan Kottke, who shared his interests in such philosophies.
+
+
+
+
+The following year, in 1974, Steve desperately needed money, so he got a job at Atari. Atari was arguably the first video game company: it was created by Nolan Bushnell in 1972, and one of its ␣rst employees was Al Acorn, the inventor of Pong. Steve was hired although he would often call his co-workers names and smell pretty bad. That’s why he was soon moved to the night shift.
diff --git a/issues/template/data/story-three.md b/issues/template/data/story-three.md
new file mode 100644
index 00000000..bcb74013
--- /dev/null
+++ b/issues/template/data/story-three.md
@@ -0,0 +1,44 @@
+---
+
+ title: Beautiful layouts
+
+ category: How to do
+ description: At a party for Noodles who is my friend Esther’s youngest, I had a blueberry cake that was utterly moist and delightful.
+
+ cover_url: assets/blueberry.jpg
+ thumb_url: assets/blueberry.jpg
+
+
+ layout:
+ type: two-column
+ image_style: background
+ content_align: center
+ content_style: black
+ content_overflow: paginate
+
+---
+
+
+```
+
+
+layout:
+
+ type: one-column | **two-column** | three-column | custom
+
+ image_style: background | **cover** | fit
+
+ image_align: **left** | right
+
+ content_style: **white** | black | transparent
+
+ content_height: **auto** | full
+
+ content_align: left | center | right
+
+ content_valign: top | middle | bottom
+
+ content_overflow: **scroll** | paginate
+
+
+```
diff --git a/issues/template/data/story-two.md b/issues/template/data/story-two.md
new file mode 100644
index 00000000..b256c47f
--- /dev/null
+++ b/issues/template/data/story-two.md
@@ -0,0 +1,21 @@
+---
+
+ title: Berry Cheesecake Parfait
+ description: Looking for a sweet treat? Look no further! Our delicious recipe for Berry Cheesecake Parfait made with Philadelphia Cream Cheese, mixed berries, Nilla wafers and Cool Whip is definitely the perfect treat!
+ category: Show me how
+
+ thumb_url: http://kitchenconfidante.com/wp-content/uploads/2012/04/Lemon-Berry-Cheesecake-Parfait-Kitchen-Confidante-Parfait.jpg
+
+ cover_url: http://kitchenconfidante.com/wp-content/uploads/2012/04/Lemon-Berry-Cheesecake-Parfait-Kitchen-Confidante-Parfait.jpg
+
+ videos:
+ - link: https://www.youtube.com/watch?v=d_eITVaO3jA
+ thumb_url: http://i1.ytimg.com/vi/d_eITVaO3jA/hqdefault.jpg
+ type: video/youtube
+
+
+---
+
+Looking for a sweet treat? Look no further! Our delicious recipe for Berry Cheesecake Parfait made with Philadelphia Cream Cheese, mixed berries, Nilla wafers and Cool Whip is definitely the perfect treat!
+
+
diff --git a/issues/template/data/toc.md b/issues/template/data/toc.md
new file mode 100644
index 00000000..24bbd5e3
--- /dev/null
+++ b/issues/template/data/toc.md
@@ -0,0 +1,21 @@
+---
+
+ title: Your story begins here
+
+ cover_url: http://38.media.tumblr.com/602b98ac6bb0131b0e5720edeb925aa0/tumblr_n8gyt99PoN1st5lhmo1_1280.jpg
+ thumb_url: http://38.media.tumblr.com/602b98ac6bb0131b0e5720edeb925aa0/tumblr_n8gyt99PoN1st5lhmo1_640.jpg
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+
+ Editor
+ My name
+
diff --git a/issues/template/data/video-six.md b/issues/template/data/video-six.md
new file mode 100644
index 00000000..91bb6e88
--- /dev/null
+++ b/issues/template/data/video-six.md
@@ -0,0 +1,20 @@
+---
+
+ title: Youtube Video
+ author_name: Zyralyn Bacani
+ author_icon: http://cl.ly/StPu/Image%202013.12.11%204%3A54%3A01%20pm.png
+
+ cover_url: http://i.vimeocdn.com/video/457264187_640.jpg
+
+ videos:
+ - thumb_url: http://i.vimeocdn.com/video/457264187_640.jpg
+ link: http://vimeo.com/81183852
+ type: video/vimeo
+
+ layout:
+ type: video
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/template/issue.yaml b/issues/template/issue.yaml
new file mode 100644
index 00000000..cd2dd34c
--- /dev/null
+++ b/issues/template/issue.yaml
@@ -0,0 +1,25 @@
+title: Template Issue
+description: "Copy this folder and you are ready to go"
+
+magazine_handle: official
+magazine_title: Official
+
+theme: fashion
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+ - "https://maps.googleapis.com/maps/api/js?key=AIzaSyBU8oz7xLt97BE9p1dm68z72t4sXQYAim4"
+
+paths:
+
+ - index
+ - toc
+ - story-one
+ - story-two
+ - story-three
+ - story-four
+ - story-five
+ - shopping
+ - video-six
diff --git a/issues/top3/assets/TerriWinter.jpg b/issues/top3/assets/TerriWinter.jpg
new file mode 100644
index 00000000..bf5351f7
Binary files /dev/null and b/issues/top3/assets/TerriWinter.jpg differ
diff --git a/issues/top3/assets/background.jpg b/issues/top3/assets/background.jpg
new file mode 100644
index 00000000..e8cd543a
Binary files /dev/null and b/issues/top3/assets/background.jpg differ
diff --git a/issues/top3/assets/background_large.jpg b/issues/top3/assets/background_large.jpg
new file mode 100644
index 00000000..e87602ac
Binary files /dev/null and b/issues/top3/assets/background_large.jpg differ
diff --git a/issues/top3/assets/brand.png b/issues/top3/assets/brand.png
new file mode 100644
index 00000000..9a0d25c9
Binary files /dev/null and b/issues/top3/assets/brand.png differ
diff --git a/issues/top3/assets/custom.scss b/issues/top3/assets/custom.scss
new file mode 100644
index 00000000..f8f7a98d
--- /dev/null
+++ b/issues/top3/assets/custom.scss
@@ -0,0 +1,72 @@
+/*
+ Top3 Issue Custom Styles
+*/
+
+#top3-issue {
+
+ /*
+ Basic elements
+ */
+
+ p > span {
+ font-style: normal;
+ font-size: 100%;
+ }
+
+ /*
+ Pages override
+ */
+
+ [data-page="index"] {
+ .brand {
+ display: block;
+ background: url(brand.png) no-repeat;
+ background-size: 100%;
+ width: 15vmin;
+ height: 10vmin;
+ margin: 10px auto;
+ color: transparent;
+ text-shadow: none;
+ }
+ }
+
+ [data-page="toc"] {
+ .signature {
+ font-family: 'JennaSue';
+ font-size: 32px;
+ }
+
+ .body img {
+ margin: 0;
+ }
+ }
+
+ [data-page="end"] {
+ .cover-area {
+ position: absolute;
+ display: inline-table;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-position: 75% 50%;
+ }
+
+ .content {
+ background: none;
+ position: absolute;
+ top: 50%;
+// margin-top: -64px;
+ }
+
+ @media only screen and (min-width: 768px) {
+ .content {
+ position: static;
+// margin-top: 0;
+ top: initial;
+ }
+ }
+ }
+}
diff --git a/issues/top3/assets/end.jpg b/issues/top3/assets/end.jpg
new file mode 100644
index 00000000..1d1ac65a
Binary files /dev/null and b/issues/top3/assets/end.jpg differ
diff --git a/issues/top3/assets/icon.png b/issues/top3/assets/icon.png
new file mode 100644
index 00000000..d4cb63ef
Binary files /dev/null and b/issues/top3/assets/icon.png differ
diff --git a/issues/top3/assets/preview.jpg b/issues/top3/assets/preview.jpg
new file mode 100644
index 00000000..2064b70c
Binary files /dev/null and b/issues/top3/assets/preview.jpg differ
diff --git a/issues/top3/assets/signature.png b/issues/top3/assets/signature.png
new file mode 100644
index 00000000..27ee6d84
Binary files /dev/null and b/issues/top3/assets/signature.png differ
diff --git a/issues/top3/assets/story-five/p1-1.jpg b/issues/top3/assets/story-five/p1-1.jpg
new file mode 100644
index 00000000..14c2373e
Binary files /dev/null and b/issues/top3/assets/story-five/p1-1.jpg differ
diff --git a/issues/top3/assets/story-five/p1-2.jpg b/issues/top3/assets/story-five/p1-2.jpg
new file mode 100644
index 00000000..41c86151
Binary files /dev/null and b/issues/top3/assets/story-five/p1-2.jpg differ
diff --git a/issues/top3/assets/story-five/p2-1.jpg b/issues/top3/assets/story-five/p2-1.jpg
new file mode 100644
index 00000000..b66a21cf
Binary files /dev/null and b/issues/top3/assets/story-five/p2-1.jpg differ
diff --git a/issues/top3/assets/story-five/p3-1.jpg b/issues/top3/assets/story-five/p3-1.jpg
new file mode 100644
index 00000000..556d39d1
Binary files /dev/null and b/issues/top3/assets/story-five/p3-1.jpg differ
diff --git a/issues/top3/assets/story-five/p4-1.jpg b/issues/top3/assets/story-five/p4-1.jpg
new file mode 100644
index 00000000..ecd58e61
Binary files /dev/null and b/issues/top3/assets/story-five/p4-1.jpg differ
diff --git a/issues/top3/assets/story-four/p1-1.jpg b/issues/top3/assets/story-four/p1-1.jpg
new file mode 100644
index 00000000..60624132
Binary files /dev/null and b/issues/top3/assets/story-four/p1-1.jpg differ
diff --git a/issues/top3/assets/story-one/p1-1.jpg b/issues/top3/assets/story-one/p1-1.jpg
new file mode 100644
index 00000000..d9dac62b
Binary files /dev/null and b/issues/top3/assets/story-one/p1-1.jpg differ
diff --git a/issues/top3/assets/story-one/p2-1.jpg b/issues/top3/assets/story-one/p2-1.jpg
new file mode 100644
index 00000000..26fa489e
Binary files /dev/null and b/issues/top3/assets/story-one/p2-1.jpg differ
diff --git a/issues/top3/assets/story-one/p2-2.jpg b/issues/top3/assets/story-one/p2-2.jpg
new file mode 100644
index 00000000..228179ef
Binary files /dev/null and b/issues/top3/assets/story-one/p2-2.jpg differ
diff --git a/issues/top3/assets/story-six/p1-1.jpg b/issues/top3/assets/story-six/p1-1.jpg
new file mode 100644
index 00000000..81b0bd2e
Binary files /dev/null and b/issues/top3/assets/story-six/p1-1.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-1.jpg b/issues/top3/assets/story-six/p1-product-1.jpg
new file mode 100644
index 00000000..c8f8251c
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-1.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-2.jpg b/issues/top3/assets/story-six/p1-product-2.jpg
new file mode 100644
index 00000000..89700016
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-2.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-3.jpg b/issues/top3/assets/story-six/p1-product-3.jpg
new file mode 100644
index 00000000..b392c1cb
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-3.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-4.jpg b/issues/top3/assets/story-six/p1-product-4.jpg
new file mode 100644
index 00000000..21d25f2c
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-4.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-5.jpg b/issues/top3/assets/story-six/p1-product-5.jpg
new file mode 100644
index 00000000..5799822b
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-5.jpg differ
diff --git a/issues/top3/assets/story-six/p1-product-6.jpg b/issues/top3/assets/story-six/p1-product-6.jpg
new file mode 100644
index 00000000..03191bfb
Binary files /dev/null and b/issues/top3/assets/story-six/p1-product-6.jpg differ
diff --git a/issues/top3/assets/story-six/p2-1.jpg b/issues/top3/assets/story-six/p2-1.jpg
new file mode 100644
index 00000000..960fae11
Binary files /dev/null and b/issues/top3/assets/story-six/p2-1.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-1.jpg b/issues/top3/assets/story-six/p2-product-1.jpg
new file mode 100644
index 00000000..3060dc44
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-1.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-2.jpg b/issues/top3/assets/story-six/p2-product-2.jpg
new file mode 100644
index 00000000..8eeff817
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-2.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-3.jpg b/issues/top3/assets/story-six/p2-product-3.jpg
new file mode 100644
index 00000000..b11ee821
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-3.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-4.jpg b/issues/top3/assets/story-six/p2-product-4.jpg
new file mode 100644
index 00000000..a55e2dee
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-4.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-5.jpg b/issues/top3/assets/story-six/p2-product-5.jpg
new file mode 100644
index 00000000..912729fb
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-5.jpg differ
diff --git a/issues/top3/assets/story-six/p2-product-6.jpg b/issues/top3/assets/story-six/p2-product-6.jpg
new file mode 100644
index 00000000..c1480663
Binary files /dev/null and b/issues/top3/assets/story-six/p2-product-6.jpg differ
diff --git a/issues/top3/assets/story-three/p1-1.jpg b/issues/top3/assets/story-three/p1-1.jpg
new file mode 100644
index 00000000..1649bd05
Binary files /dev/null and b/issues/top3/assets/story-three/p1-1.jpg differ
diff --git a/issues/top3/assets/story-three/p2-1.jpg b/issues/top3/assets/story-three/p2-1.jpg
new file mode 100644
index 00000000..7450c684
Binary files /dev/null and b/issues/top3/assets/story-three/p2-1.jpg differ
diff --git a/issues/top3/assets/story-three/p3-1.jpg b/issues/top3/assets/story-three/p3-1.jpg
new file mode 100644
index 00000000..9ddcd77a
Binary files /dev/null and b/issues/top3/assets/story-three/p3-1.jpg differ
diff --git a/issues/top3/assets/story-two/p1-1.jpg b/issues/top3/assets/story-two/p1-1.jpg
new file mode 100644
index 00000000..d2c5bfb6
Binary files /dev/null and b/issues/top3/assets/story-two/p1-1.jpg differ
diff --git a/issues/top3/assets/story-two/p2-1.jpg b/issues/top3/assets/story-two/p2-1.jpg
new file mode 100644
index 00000000..14023a2b
Binary files /dev/null and b/issues/top3/assets/story-two/p2-1.jpg differ
diff --git a/issues/top3/assets/story-two/p2-2.jpg b/issues/top3/assets/story-two/p2-2.jpg
new file mode 100644
index 00000000..4ca93222
Binary files /dev/null and b/issues/top3/assets/story-two/p2-2.jpg differ
diff --git a/issues/top3/assets/story-two/p4-1.png b/issues/top3/assets/story-two/p4-1.png
new file mode 100644
index 00000000..514644e9
Binary files /dev/null and b/issues/top3/assets/story-two/p4-1.png differ
diff --git a/issues/top3/data/end.md b/issues/top3/data/end.md
new file mode 100644
index 00000000..a4da443e
--- /dev/null
+++ b/issues/top3/data/end.md
@@ -0,0 +1,18 @@
+---
+
+ category: In the next Issue we explore
+ title: Normann Copenhagen
+
+ cover_url: assets/end.jpg
+ thumb_url: assets/end.jpg
+
+ layout:
+ type: one-column
+ image_style: background
+ content_style: transparent
+ content_height: auto
+ content_align: center
+ content_valign: middle
+ custom_class: black
+
+---
diff --git a/issues/top3/data/shopping.md b/issues/top3/data/shopping.md
new file mode 100644
index 00000000..90dc4ef1
--- /dev/null
+++ b/issues/top3/data/shopping.md
@@ -0,0 +1,66 @@
+---
+
+ title: My Style Pick
+ category: shopping
+ cover_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_b.jpg
+ thumb_url: http://farm7.staticflickr.com/6135/5959115552_18ede52780_m.jpg
+
+ products:
+
+ - link: "#1"
+ image_url: 'http://cl.ly/image/3740122Z2G2j/Screen%20Shot%202013-12-13%20at%2011.51.59%20am.png'
+ title: "Product 1"
+ description:
+ price: "$100"
+
+ - link: "#2"
+ image_url: 'http://cl.ly/image/0W2z1x231p2D/Screen%20Shot%202013-12-18%20at%206.28.32%20pm.png'
+ title: "Product 2"
+ description:
+ price: "$200"
+
+ - link: "#3"
+ image_url: 'http://cl.ly/image/16260q391k3t/Screen%20Shot%202013-12-13%20at%2011.31.23%20am.png'
+ title: "Product 3"
+ description:
+ price: "$300"
+
+ - link: "#4"
+ image_url: 'http://cl.ly/image/0E1D2G2z2w3g/Screen%20Shot%202013-12-13%20at%2011.32.49%20am.png'
+ title: "Product 4"
+ description:
+ price: "$400"
+
+ - link: "#5"
+ image_url: 'http://cl.ly/image/3I3k0r000g0p/Screen%20Shot%202013-12-13%20at%2012.09.59%20pm.png'
+ title: "Product 5"
+ description:
+ price: "$500"
+
+ - link: "#6"
+ image_url: 'http://cl.ly/image/2a2B1x2Y192R/Screen%20Shot%202013-12-13%20at%2011.32.09%20am.png'
+ title: "Product 6"
+ description:
+ price: "$600"
+
+ layout:
+ type: two-column
+ image_align: left
+ image_style: cover
+ content_align: left
+
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, sapiente nulla dignissimos animi velit quae dolorem non optio iusto voluptates quaerat sint illum repellendus possimus dolorum minima porro odio modi.
diff --git a/issues/top3/data/story-five.md b/issues/top3/data/story-five.md
new file mode 100644
index 00000000..b6cfb643
--- /dev/null
+++ b/issues/top3/data/story-five.md
@@ -0,0 +1,23 @@
+---
+
+ title: Adam Goodrum
+ category: interview
+
+ cover_url: assets/story-five/p1-1.jpg
+ thumb_url: assets/story-five/p1-1.jpg
+
+ images:
+ - url: assets/story-five/p1-2.jpg
+
+ layout:
+ type: three-column
+ image_align: right
+ content_valign: middle
+
+---
+
+After completing a degree in Industrial Design at UTS, Sydney based Goodrum went on to receive a Bombay Sapphire Design Discovery Award in 2005 for his Eve chair, and continues to create practical, well resolved and humorous products. Goodrum shot to fame after years of work on the now iconic stitch chair for Cappelini which went into production in 2008. He has recently been invited to judge a student competition at the Kortrijk XPO, an annual furniture exhibition in Belgium.
+
+
+
+
diff --git a/issues/top3/data/story-five/1.md b/issues/top3/data/story-five/1.md
new file mode 100644
index 00000000..14b65fc2
--- /dev/null
+++ b/issues/top3/data/story-five/1.md
@@ -0,0 +1,38 @@
+---
+
+ title: Adam Goodrum
+ category: interview
+
+ cover_url: assets/story-five/p2-1.jpg
+
+ layout:
+ type: two-column
+ content_valign: top
+
+---
+
+After completing a degree in Industrial Design at UTS, Sydney based Goodrum went on to receive a Bombay Sapphire Design Discovery Award in 2005 for his Eve chair, and continues to create practical, well resolved and humourous products. Goodrum shot to fame after years of work on the now iconic stitch chair for Cappelini that went into production in 2008. He has recently been invited to judge a student competition at the Kortrijk XPO, an annual furniture exhibition in Belgium.
+
+1 - You are an Australian father, how many children?
+
+I am the lucky father of two little boys, five and nine years old.
+
+2 - What does a typical fathers day look like in your home? Any traditions?
+
+Breakfast in bed with vegemite toast by the boys if I’m lucky and a relaxing atmosphere of both indoor and outdoor activities. Oh and always a homemade card. These make me smile every year.
+
+3 - Your products have been exhibited in Italy, UK, Belgium, Japan. What cultural learning’s have you picked up along the way to inspire your work?
+
+I am constantly inspired by The Italians, they are so proud of their families. A sibling is present in almost every meeting I attend as they are being trained to take over the family business one day. It is a beautiful display of the passing down of skills. After the meetings, I am always asked back into their homes. Being proud of both your home and your family is a strong take-away.
+
+4 - What product have you recently helped to design in which children or families needed to be considered as key users? How did that influence the design?
+
+PlaySam is the leading Scandinavian Design Company for executive wooden toy gifts. Together with Top3, I designed a colourful mini race car made from wood. I know how much my son loves to open and close things so I designed the toy to inspire the notion of ‘play’. I always try to include an element of fun in my designs.
+
+5- What's your favourite family product experience inside your home?
+
+Cooking is deeply integrated into our home culture. The kitchen is a special space where lots of sharing of stories and skills take place. The Kids chop carrots and set the table while we talk about what we all did and learned that day. It is this social interaction that inspired my design of the Timber Trivet for Normann Copenhagen.
+
+6 - What top3 item would be on the top of your father's day wish list?
+
+The Menu Flip Around Table/Chair. Beautiful craftsmanship with duel functionality - an honest reflection of Scandinavian Design.
diff --git a/issues/top3/data/story-five/2.md b/issues/top3/data/story-five/2.md
new file mode 100644
index 00000000..99506ee8
--- /dev/null
+++ b/issues/top3/data/story-five/2.md
@@ -0,0 +1,17 @@
+---
+
+ cover_url: assets/story-five/p3-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: left
+ content_valign: middle
+ content_style: black
+ content_transparent: "1"
+
+---
+
+> Goodrum’s designs hold their own among the Italian and Scandinavian classics in the Cult showroom.
+
+-- Dijana Kumurdian, Vogue
diff --git a/issues/top3/data/story-five/3.md b/issues/top3/data/story-five/3.md
new file mode 100644
index 00000000..cdec1612
--- /dev/null
+++ b/issues/top3/data/story-five/3.md
@@ -0,0 +1,20 @@
+---
+
+ title: Timber Trivet
+
+ cover_url: assets/story-five/p4-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_align: left
+ content_valign: top
+
+---
+
+Timber is a stylish and practical trivet with a beautifully designed finish by Adam Goodrum. Timber trivets are made of natural materials and are useful both in the kitchen and for laying the table with.
+
+Andrew enjoys using Trivet to share home cooked Indian spiced curries with his family at the dining table.
+
+Shop Now
+$33
diff --git a/issues/top3/data/story-one.md b/issues/top3/data/story-one.md
new file mode 100644
index 00000000..7ce8305b
--- /dev/null
+++ b/issues/top3/data/story-one.md
@@ -0,0 +1,16 @@
+---
+
+ title: Masculine Interiors
+ category: Inspire
+
+ cover_url: assets/story-one/p1-1.jpg
+ thumb_url: assets/story-one/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: cover
+ content_valign: middle
+
+---
+
+Welcome to the Man Cave, an interior compilation of strong forms and heavy materials. Inspired by our friends at Norm Architects, Copenhagen’s this imagery strives to inspire your senses and welcome Dad to a context of form follows function.
diff --git a/issues/top3/data/story-one/1.md b/issues/top3/data/story-one/1.md
new file mode 100644
index 00000000..e204c94a
--- /dev/null
+++ b/issues/top3/data/story-one/1.md
@@ -0,0 +1,16 @@
+---
+
+ cover_url: assets/story-one/p2-2.jpg
+
+ images:
+ - url: assets/story-one/p2-1.jpg
+
+ layout:
+ type: two-column
+ image_align: right
+ content_valign: middle
+ content_height: auto
+
+---
+
+
diff --git a/issues/top3/data/story-six.md b/issues/top3/data/story-six.md
new file mode 100644
index 00000000..aa69601b
--- /dev/null
+++ b/issues/top3/data/story-six.md
@@ -0,0 +1,54 @@
+---
+
+ category: Gift Guide
+ title: Top Dad
+
+ cover_url: assets/story-six/p1-1.jpg
+ thumb_url: assets/story-six/p1-1.jpg
+
+ products:
+ - link: http://top3.com.au/categories/bar-and-wine-and-water/beer-and-accessories/chillsner-beer-chiller/4002c
+ image_url: assets/story-six/p1-product-1.jpg
+ title: Chillsner Beer Chiller 2pk
+ description: Chillsner by Corkcicle. Just freeze, insert into any bottled beer and never suffer through another warm brew. Respect the beer. Chillsner is perfect for parties, tailgating and pretty much any occasion where beloved beers are enjoyed.
+ price: $40
+
+ - link: http://top3.com.au/categories/home-and-living/audio---bluetooth-speakers/elipson-bluetooth-speakers/elipsontimber
+ image_url: assets/story-six/p1-product-2.jpg
+ title: Elipson Timber
+ description: The Timber is a compact wireless speaker born from cooperation between Habitat & Elipson, that works according to the Bluetooth 2.1 protocol.
+ price: $499
+
+ - link: http://top3.com.au/categories/bar-and-wine-and-water/bottle-openers/areaware-sphere-bottle-opener/aw-fsbon
+ image_url: assets/story-six/p1-product-3.jpg
+ title: Sphere Bottle Opener Natural
+ brand: Fort Standard for Areaware
+ price: $30
+ description: A smooth, ergonomic bottle opener that fits perfectly in the palm of your hand. Made From Beechwood.
+
+ - link: http://top3.com.au/categories/bar-and-wine-and-water/drinks---cooling-accessories/whisky-stones/whiskystone
+ image_url: assets/story-six/p1-product-4.jpg
+ title: Whisky stones
+ price: $30
+ description: Ideal for chilling your favorite spirit without diluting its flavor with melting ice.
+
+ - link: http://top3.com.au/categories/bar-and-wine-and-water/bar-trolleys/nm-block-table/602205
+ image_url: assets/story-six/p1-product-5.jpg
+ title: Block Table by Norman Copenhagen
+ description: The Block table by Normann Copenhagen is a versatile and mobile table - perfect for use as a bar trolley, or for countless other uses in the home.
+ price: $465
+
+ - link: http://top3.com.au/categories/bar-and-wine-and-water/beer-and-accessories/menu-beer-foamer/men4690239
+ image_url: assets/story-six/p1-product-6.jpg
+ title: Beer Foamer Copper by Menu
+ brand: Norm Architect DK for Menu
+ description: The Beer Foamer gets you as close to the Pub experience as you can without leaving your home. Denser beer foam will significantly increase the taste, aroma and feeling of the beer - just like beer fresh from the tap.
+ price: AUD $99
+
+ layout:
+ type: three-column
+ image_align: right
+
+---
+
+Set Dad up with an uber- cool home bar and provide him with the tunes he needs to unwind at home. From playful accessories to sophisticated bar essentials let your thoughts wander about the types of activities Dad likes to do when he gets home.
diff --git a/issues/top3/data/story-six/1.md b/issues/top3/data/story-six/1.md
new file mode 100644
index 00000000..ef6007e6
--- /dev/null
+++ b/issues/top3/data/story-six/1.md
@@ -0,0 +1,57 @@
+---
+
+ category: Gift Guide
+ title: Smart Dad
+
+ cover_url: assets/story-six/p2-1.jpg
+
+ products:
+
+ - link: http://top3.com.au/categories/accessories-and-jewellery/watches---concept/im-watch/imwalb02c03
+ image_url: assets/story-six/p2-product-1.jpg
+ title: IM Watch Black
+ description: WILL BE HERE FOR FATHER'S DAY!! The i'm watch is the world s first real smartwatch, it connects via Bluetooth and brings you calls, SMS, e-mails, notifications and a collection of apps directly to your wrist and without trying performs a thousand things that all sorts of fancy sports devices offer.
+ price: $399
+
+ - link: http://top3.com.au/categories/accessories-and-jewellery/watches---classic/braun-watch-series/bn0021bkbkg
+ image_url: assets/story-six/p2-product-2.jpg
+ title: Braun Watch
+ brand: Dieter Rams for Braun
+ description: The infamous German industrial designers, Dieter Rams and Deitrich Lubs were the masterminds behind the Braun watch project. With their "Less is more" design philosophy, every feature directly reflects a function. Braun watches and clocks were awarded a total of thirteen prestigious Red Dot awards and two acclaimed Red Dot 'honourable mentions', as well as six iF awards in 2012.
+ price: $175
+
+ - link: http://top3.com.au/categories/accessories-and-jewellery/keyrings/orbitkey-elastomer/orb-lth-bt
+ image_url: assets/story-six/p2-product-3.jpg
+ title: Orbitkey leather blk-tan stit
+ description: Orbitkey changes the way you interact with your keys. Orbitkey is beautiful. A key accessory you can be proud to carry. Stop the jingle of keys in your pockets. Orbitkey is silent.
+ price: $40
+
+ - link: http://top3.com.au/categories/travel-and-work-and-play/headphones/aedle-headphones/vk-1-valkyrie
+ image_url: assets/story-six/p2-product-4.jpg
+ title: Aedle Headphone Classic
+ description: Aedle is a collaboration between two very passionate French Men with a vision. They wanted to create a set of headphones that did not compromise on sound quality OR design. They used the highest grade materials and parts, the most experienced audio engineers and a passionate team to produce these incredible headphones.
+ brand: Aedle
+ price: $599
+
+ - link: http://top3.com.au/categories/accessories-and-jewellery/ties/remember-silk-ties/sk01
+ image_url: assets/story-six/p2-product-5.jpg
+ title: Silk Tie Stripes Grey
+ brand: Remember
+ description: Noble and elegant yet with a designer edge. Remember neckties are a real eyecatcher! Every REMEMBER tie is made from the finest quality 100% pure silk and comes packaged in a gift box.
+ price: $127
+
+ - link: http://top3.com.au/categories/accessories-and-jewellery/wallets---leather/secrid-wallets/se1030
+ image_url: assets/story-six/p2-product-6.jpg
+ title: Secrid mini wallet cognac
+ brand: Secrid
+ description: In recent years we have seen the revolution of wallet contents. Traditional coins and banknotes have largely been replaced by cards with computer chips, but as convenience has increased so too have the risks. This range of wallets has been designed to protect both your money, and your privacy.
+ price: AUD $109
+
+ layout:
+
+ type: three-column
+ image_align: right
+
+---
+
+Spoil Dad with a sophisticated dose of items that celebrate leathers and wood and brass. This selection of tailored gift ideas are perfect for the Dads who appreciate great attention to detail.
diff --git a/issues/top3/data/story-three.md b/issues/top3/data/story-three.md
new file mode 100644
index 00000000..e71d824e
--- /dev/null
+++ b/issues/top3/data/story-three.md
@@ -0,0 +1,20 @@
+---
+
+ category: Designer's Den
+ title: Arne Jcobsen
+ cover_url: assets/story-three/p1-1.jpg
+ thumb_url: assets/story-three/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_style: transparent
+ content_height: auto
+ content_valign: middle
+ custom_class: black
+
+---
+
+> Arne Jacobsen is the father of modern Danish design"
+
+-- Terri Winter, Top 3 by Design
diff --git a/issues/top3/data/story-three/1.md b/issues/top3/data/story-three/1.md
new file mode 100644
index 00000000..2536d15b
--- /dev/null
+++ b/issues/top3/data/story-three/1.md
@@ -0,0 +1,25 @@
+---
+
+ title: Arne Jacobsen
+ category: It’s a Mans World
+ cover_url: assets/story-three/p2-1.jpg
+
+ layout:
+ type: two-column
+ image_style: fit
+
+---
+
+Arne Jacobsen (11 February 1902 – 24 March 1971)
+
+Arne Emil Jacobsen, Hon. FAIA was a Danish architect and designer. He is remembered for his contribution to architectural Functionalism as well as for the worldwide success he enjoyed with simple but effective chair designs. He was one of the most influential Danish architects and designers of the 20th century.
+
+His father Johan was a wholesale trader in safety pins and snap fasteners. His mother Pouline was a bank teller whose hobby was painting floral motifs
+
+Arne Jacobsen put his modernist stamp on architecture and design for more than 50 years - not only in Denmark but also internationally. His output was enormous, originating in a philosophy of creating total concepts, where everything was thoroughly designed, with a common thread between the building, the furniture and other interior decor. This philosophy is evident in the Royal Hotel (1960) and Danmarks Nationalbank (the Danish central bank) (1971), for instance.
+
+He was the ambitious individual who refused to compromise on quality and very much challenged his partners and manufacturers to create unique products.
+
+Arne Jacobsen's productions are more relevant than ever - and have enjoyed a strong revival over the last 20 years. He embodies the balancing act of elite creator and household name.
+
+Fun fact: Arne Jacobsen never used the word 'designer', notoriously disliking it.
diff --git a/issues/top3/data/story-three/2.md b/issues/top3/data/story-three/2.md
new file mode 100644
index 00000000..cf08c1ff
--- /dev/null
+++ b/issues/top3/data/story-three/2.md
@@ -0,0 +1,19 @@
+---
+
+ title: Cylinda-Line and Arne Jacobsen
+ category: Jacobsen as a step father
+
+ cover_url: assets/story-three/p3-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_style: black
+ content_align: left
+ content_valign: top
+
+---
+
+Peter Holmblad tried repeatedly to convince Arne Jacobsen to design something new for Stelton. He only succeeded, however, once he showed some of his own drawing to his stepfather. Arne Jacobsen found these so hopeless that he began designing something else. The brief was to create a tea and coffee service, as well as bowls, an ice bucket and pitchers for the dining table and bar - all in stainless steel.
+
+Stelton launched the new products three years later as Cylinda-Line. The new series immediately made a splash as a major innovation within its category. The simplicity of cylindrical shapes and specially designed plastic handles characterized the line which, along with its brushed steel surfaces, stood in striking contrast to the highly polished curves of its day. Cylinda-Line was awarded the ID Prize in 1967.
diff --git a/issues/top3/data/story-three/3.md b/issues/top3/data/story-three/3.md
new file mode 100644
index 00000000..18815c2a
--- /dev/null
+++ b/issues/top3/data/story-three/3.md
@@ -0,0 +1,18 @@
+---
+
+ category: By Arne Jacobsen
+ title: Cylinda Teapot
+
+ cover_url: assets/story-four/p1-1.jpg
+ thumb_url: assets/story-four/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+
+---
+
+Part of the Cylinda-Line series, the stelton teapot is the most classic piece in the series by Arne Jacobsen.
+
+shop now
+$480
diff --git a/issues/top3/data/story-two.md b/issues/top3/data/story-two.md
new file mode 100644
index 00000000..fa05c6e5
--- /dev/null
+++ b/issues/top3/data/story-two.md
@@ -0,0 +1,22 @@
+---
+
+ title: Norm Architects Copenhagen
+ category: Featured Designers
+
+ cover_url: assets/story-two/p1-1.jpg
+ thumb_url: assets/story-two/p1-1.jpg
+
+ layout:
+ type: three-column
+ image_style: background
+ content_style: white
+ content_align: left
+ content_valign: top
+
+---
+
+NORM.ARCHITECTS was founded in 2008 and represents the vision of Jonas Bjerre-Poulsen and Kasper Rønn.
+
+In spirit with the tradition for Scandinavian simplicity NORM strives to cut to the bone in their designs. To find the simplest shape for a given task without forgetting the beauty of the shape and the details, in order to reach a point where there is nothing to add and nothing to take away that can make the product better. Like true Scandinavians they pride themselves in their culture and history, and hope and aspire to create new norms for Nordic design.
+
+They want their designs to not only be of good materials and good craftsmanship, but to embody beauty, history and, most importantly, outlive fleeting trends.
diff --git a/issues/top3/data/story-two/1.md b/issues/top3/data/story-two/1.md
new file mode 100644
index 00000000..7ec1fc9a
--- /dev/null
+++ b/issues/top3/data/story-two/1.md
@@ -0,0 +1,18 @@
+---
+
+ cover_url: assets/story-two/p4-1.png
+
+ layout:
+ type: two-column
+ image_style: fit
+ content_style: white
+ content_height: auto
+ content_valign: middle
+
+---
+
+
+ WE BRIDGE THE MASCULINE AND THE FEMININE WITH AN OBSESSIVE ATTENTION TO DETAIL. AND WE AIM AT CREATING FUNCTIONAL OBJECTS THAT DO NOT ONLY MEET THE NEED, BUT ALSO PROVIDE JOY.
+
+
+WE CALL IT SOFT MINIMALISM.
diff --git a/issues/top3/data/toc.md b/issues/top3/data/toc.md
new file mode 100644
index 00000000..c415c4ed
--- /dev/null
+++ b/issues/top3/data/toc.md
@@ -0,0 +1,31 @@
+---
+
+ title: Table of Content
+ cover_url: assets/TerriWinter.jpg
+ thumb_url: assets/TerriWinter.jpg
+
+ images:
+ - url: assets/signature.png
+
+ layout:
+ type: toc
+ content_overflow: scroll
+
+---
+
+Builders, lawyers, doctors, teachers..
+Fathers come in all shapes and sizes and this September we are celebrating all of them.
+
+My dad is a builder. He lives on a property up North with my mum. As a builder, it makes sense that he is an inquisitive type, constantly checking and rechecking how objects are crafted. He appreciates how things are made and even though he isn’t a regular in my store he loves special pieces of design I share with him.
+
+Father’s day is a special opportunity to uncover the disguised interests of the men in our lives and show them we notice. Whether it is a pair of whisky glasses to compliment his evening nips or comfy slippers for story time with the kids, we’ve got it covered this spring.
+
+In this Issue we share with you some of our favorite masculine interiors, pay tribute to the father of modern Danish Design and speak to Award wining Industrial Designer Adam Goodrum about a typical Fathers Day inside his Aussie home.
+
+Until next month, Happy Family filled Father’s day everyone.
+
+Terri Winter
+
+*Founder of Top3 by Design*
+
+
diff --git a/issues/top3/data/video-1.md b/issues/top3/data/video-1.md
new file mode 100644
index 00000000..23ac12d6
--- /dev/null
+++ b/issues/top3/data/video-1.md
@@ -0,0 +1,20 @@
+---
+
+ category: video
+ title: Georg Jensen & Alfredo Häberli
+
+ thumb_url: http://img.youtube.com/vi/LysSN4DKqyE/maxresdefault.jpg
+
+ videos:
+ - thumb_url: http://img.youtube.com/vi/LysSN4DKqyE/maxresdefault.jpg
+ link: https://www.youtube.com/watch?v=LysSN4DKqyE
+ type: video/youtube
+ autoplay: true
+ cover: true
+
+ layout:
+ image_style: background
+ content_valign: middle
+ content_align: center
+
+---
diff --git a/issues/top3/issue.yaml b/issues/top3/issue.yaml
new file mode 100644
index 00000000..e2568f91
--- /dev/null
+++ b/issues/top3/issue.yaml
@@ -0,0 +1,23 @@
+title: Father's Day
+description:
+
+magazine_handle: top3
+magazine_title: Top3 by Design
+
+theme:
+thumb_url: "assets/background.jpg"
+cover_url: "assets/background_large.jpg"
+
+assets:
+ - "custom.css"
+ - "brand.png"
+
+paths:
+ - index
+ - toc
+ - story-one
+ - story-two
+ - story-three
+ - story-five
+ - story-six
+ - end
diff --git a/issues/wall-pockets/assets/background_large.jpg b/issues/wall-pockets/assets/background_large.jpg
new file mode 100644
index 00000000..ee3a5c2b
Binary files /dev/null and b/issues/wall-pockets/assets/background_large.jpg differ
diff --git a/issues/wall-pockets/assets/icon.jpg b/issues/wall-pockets/assets/icon.jpg
new file mode 100644
index 00000000..65809e2e
Binary files /dev/null and b/issues/wall-pockets/assets/icon.jpg differ
diff --git a/issues/wall-pockets/assets/instagram.jpg b/issues/wall-pockets/assets/instagram.jpg
new file mode 100644
index 00000000..492c263f
Binary files /dev/null and b/issues/wall-pockets/assets/instagram.jpg differ
diff --git a/lib/issue/page_view.rb b/lib/issue/page_view.rb
new file mode 100644
index 00000000..ad8cd66b
--- /dev/null
+++ b/lib/issue/page_view.rb
@@ -0,0 +1,584 @@
+require 'active_support/core_ext/object/to_param'
+require 'active_support/core_ext/object/to_query'
+require 'active_support/core_ext/object/blank'
+require 'fastimage'
+require 'mustache'
+require 'nokogiri'
+require 'timeout'
+require 'uri'
+
+begin
+ Issue
+rescue NameError
+ Issue = Module.new
+end
+
+Struct.new('Author', :name, :icon)
+
+class Issue::PageView
+
+ # FIXME unstable API
+ def custom_html?
+ page.custom_html.present?
+ end
+ # end FIXME unstable API
+
+ attr_reader :page
+ attr_accessor :context, :edit_mode
+
+ def initialize page, context=nil, edit_mode=false
+ @page = page
+ @context = context
+ @edit_mode = edit_mode
+ end
+
+ def class; page.class; end
+ def method_missing(name, *args, &block); page.send(name, *args, &block); end
+ def respond_to?(name, include_private=false); page.send('respond_to?', name, include_private); end
+ def respond_to_missing?(name, include_private=false); page.send('respond_to_missing?', name, include_private); end
+
+ def dom_id
+ "s#{path.parameterize}"
+ end
+
+ def layout_class options={}
+ has_header = !empty_content?(title) || !empty_content?(summary)
+ has_content = !empty_content?(page.content) || !empty_content?(page.custom_html)
+ has_product = page.product_set?
+ has_cover = page.cover_url && page.layout.image_style != "none"
+ editing = options[:editing]
+
+ classes = ["page", "page-fadein", page.type, page.layout.custom_class]
+
+ # HACK: Migrate all page type video with one column, use video.cover = true instead
+ page.layout.type = "one-column" if page.layout.type == "video"
+
+ classes << (page.layout.type || 'two-column') unless page.toc?
+
+ classes << 'toc' if page.toc?
+ classes << 'has-product' if has_product
+ classes << 'no-header' if !editing && !has_header
+ classes << 'no-content ' if !editing && !has_content
+ classes << 'no-image' if !editing && !has_cover
+
+ classes << (page.layout.content_style || 'white')
+ classes << ('transparent') if page.layout.content_transparent == "1"
+
+ if page.layout.type != "custom"
+ classes << (page.layout.content_overflow || 'scroll')
+ classes << (page.layout.content_align || 'left')
+ classes << (page.layout.content_valign || 'middle')
+
+ classes << ("height-#{page.layout.content_height || 'auto'}")
+ classes << "image-#{page.layout.image_style}" if page.layout.image_style
+ classes << ("cover-#{page.layout.image_align || "left" }")
+ end
+
+ classes.join(' ').squeeze(' ')
+ end
+
+ def show_author?
+ hide_author = [/true/i, /yes/i, '1'].any?{|v| v === layout.hide_author.to_s}
+ ! hide_author && root_page? && author
+ end
+
+ def author
+ return page.author if page.author
+
+ name = page.author_name
+ icon = page.author_icon if page.respond_to? 'author_icon'
+
+ if name
+ Struct::Author.new(name, icon)
+ end
+ end
+
+ def column_break_count
+ count = 0
+
+ has_cover_url = ! page.cover_url.blank?
+
+ count += 1 if has_cover_url || product_set?
+ count += 1 if layout.type == 'three-column' && has_cover_url
+
+ count
+ end
+
+ def custom_html json=nil, html_safe=true
+ json ||= send('json')
+ render_html(page.custom_html, json, html_safe)
+ end
+
+ def content_html json=nil, html_safe=true
+ json ||= send('json')
+ render_html(page.content, json, html_safe)
+ end
+
+ def cover_html
+ return unless (cover = page.cover)
+
+ container_class = "cover-area #{cover.type.to_s.split('/').first}".squeeze(' ')
+ container_class << ' play' if cover.autoplay
+
+ container_background = "background-image: url('#{asset_url(cover, 'thumb' => cover.type.to_s.include?('video'))}')"
+
+ attributes = {:class => container_class, :style => container_background}
+ figure = create_element('figure', attributes)
+
+ # TODO unsure what to do with this?
+ # <% if page.cover.style == 'overlay' %>
+ # <%= header_area %>
+ # <% end %>
+ # end TODO unsure what to do with this?
+
+ if cover.type.include? 'video'
+ if embed_video? cover.link
+ params = cover.respond_to?('to_hash') ? cover.to_hash : cover.attributes
+ params.key?('autoplay') || (params['autoplay'] = true)
+ params.key?('muted') || (params['muted'] = false)
+
+ figure << video_iframe_html(cover.link, params)
+ else
+ attributes = {
+ :src => asset_url(cover),
+ 'data-media-id' => cover.id,
+ :poster => asset_url(cover, 'thumb' => true)
+ }
+ attributes['data-autoplay'] = '' if cover.autoplay
+ attributes['loop'] = '' if cover.loop
+
+ figure << create_element('video', attributes)
+ end
+ end
+
+ if cover.caption.present?
+ figure << create_element('figcaption', :class => 'inset') do |figcaption|
+ figcaption << cover.caption
+ end
+ end
+
+ html = figure.to_html.gsub(%r{https?://[^"]+}) {|url| CGI.unescape_html(url) }
+ html = html.html_safe if html.respond_to? :html_safe
+ html
+ end
+
+ def product_set_html
+ container_class = 'product-set'
+ container_class << " set-#{(page.products.to_a.count/2.0).ceil*2}"
+ container_class << ' cover-area' unless page.cover
+
+ fragment = create_element('ul', :class => container_class) do |ul|
+ page.products.each_with_index do |product, index|
+ ul << create_element('li') do |li|
+ attributes = product_hotspot_attributes(product)
+
+ li << create_element('a', attributes) do |a|
+ a << create_element('img', :src => attributes[:'data-image'])
+ a << create_element('span', index + 1, :class => 'tag')
+ end
+ end
+ end
+ end
+
+ html = fragment.to_html
+ html = html.html_safe if html.respond_to? :html_safe
+ html
+ end
+
+ def json
+ if page.respond_to? 'to_hash'
+ hash = page.to_hash
+ else
+ hash = page.as_json(methods: [:cover_url, :cover_caption, :thumb_url, :link])
+ hash['id'] = hash.delete('_id')
+ end
+
+ hash['parentTitle'] = page.parent.title if page.parent
+
+ hash["cover_url"] = asset_path(hash["cover_url"])
+ hash["thumb_url"] = asset_path(hash["thumb_url"])
+
+ if show_author?
+ hash['byline'] = "by #{author.name}"
+ hash['author_icon'] = author.icon
+ hash['show_author'] = true
+ end
+
+ hash['layout'] = layout
+
+ %w[images videos].each do |element|
+ next unless hash[element]
+
+ # make cover on top level
+ hash['cover'] ||= hash[element].find{|m| m['cover'] }
+
+ page_element = page.send(element)
+ hash[element].each_with_index do |object, i|
+
+ object["thumb_url"] = asset_url(page_element[i], thumb: true)
+ object['url'] = asset_url(page_element[i])
+ end
+ end
+
+ %w[products links].each do |element|
+ next unless hash[element]
+
+ page_element = page.send(element)
+ hash[element].each_with_index do |object, i|
+ object['index'] = i + 1
+ object['image_url'] = asset_url(page_element[i], 'image' => true)
+ object['url'] = object['link']
+ object['description'] = object['summary']
+ end
+ end
+
+ # Convert ObjectId, Date to string
+ hash = hash.as_json if hash.respond_to? 'as_json'
+
+ hash
+ end
+
+ private
+
+ def render_html content, json, html_safe
+ html = Mustache.render(content, json)
+ html = decorate_media(html).gsub(%r{https?://[^"]+}) do |url|
+ CGI.unescape_html url
+ end
+
+ html = html.html_safe if html_safe && html.respond_to?(:html_safe)
+ html
+ end
+
+ def asset_path value
+ value = context.asset_path(value) if context.respond_to? 'asset_path'
+ value
+ end
+
+ def asset_url object, options={}
+ if thumb = options['thumb'] || options[:thumb]
+ url = object['thumb_url'] || object.thumb.try('url')
+
+ # product, link
+ elsif image = options['image'] || options[:image]
+ url = object['image_url'] || object.image.try('url')
+
+ # media: image, video, audio
+ else
+ url = object['url'] || object['file_url'] || object.file.try('url')
+ end
+
+ asset_path url
+ end
+
+ # Swap data-media-id
+ # audios:1
+ # images:1
+ # videos:1
+ def decorate_media content
+ return unless content
+
+ doc = Nokogiri::HTML.fragment('' << content << '
')
+
+ doc.search('[data-media-id]').each do |node|
+
+ asset, media = page.find_element(node['data-media-id'])
+
+ unless media
+ log_method.call("Media not found: #{node['data-media-id']}")
+ next
+ end
+
+ case asset
+ when 'images'
+ decorate_image(node, media)
+
+ when "videos"
+ decorate_video(node, media)
+
+ when "audios"
+ decorate_audio(node, media)
+
+ else
+ log_method.call("Fail to decorate unknown asset: #{asset}")
+ end
+ end
+
+ doc.child.inner_html
+ end
+
+ def affiliate_url url
+ return url unless issue
+
+ @affiliate_urls ||= begin
+ data_path = File.join(issue.path, 'affiliate_products.yml')
+ File.readable?(data_path) && YAML.load_file(data_path) || {}
+ end
+
+ @affiliate_urls[url] || url
+ end
+
+ def product_hotspot_attributes product
+ {
+ :href => affiliate_url(product['link']),
+ :class => 'product hotspot',
+ :title => product.title,
+ :'data-track' => 'hotspot:click',
+ :'data-action' => product[:action],
+ :'data-url' => product['link'],
+ :'data-image' => asset_url(product, 'image' => true),
+ :'data-price' => product[:price],
+ :'data-currency' => product[:currency],
+ :'data-description' => product[:description],
+ }
+ end
+
+ def empty_content? content
+ fragment = Nokogiri::HTML.fragment(content)
+
+ fragment.inner_text.blank? &&
+ #fragment.css('img,video,[data-media-id]').length == 0 &&
+ fragment.css('img').length == 0 &&
+ fragment.css('video').length == 0 &&
+ fragment.css('[data-media-id]').length == 0
+ end
+
+ # https://gist.github.com/markgk629/702537b2b48bd9a6254f
+ def decorate_image node, image
+ if node.name == 'img'
+ node['src'] = asset_url(image)
+ end
+
+ return node if edit_mode
+
+ if node['data-background-image']
+ node['style'] = "background-size: cover; background-image:url(#{asset_url image})"
+ end
+
+ return node if node['data-original'] || node.matches?('.cover-area')
+
+ caption_options = {}
+ caption_options[:class] = 'inset' if image['caption_inset']
+
+ width, height, aspect_ratio = image_get_size(image)
+ max_dimension = "max-height: #{height}px; max-width: #{width}px"
+ padding = 100/(aspect_ratio || 1.5)
+
+ if node.parent && node.parent.name == 'figure'
+ figure = node.parent.clone
+ figure['style'] = max_dimension
+ figure.inner_html = node.to_s
+
+ elsif node.name != 'figure'
+ figure = create_element('figure', class: 'image', style: max_dimension)
+ figure.inner_html = node.to_s
+ end
+
+ figure << create_element('div',
+ class: 'aspect-ratio',
+ style: "padding-bottom: #{padding}%; max-height: #{height}px"
+ )
+
+ figure << create_element('figcaption', image["caption"], caption_options) if image["caption"].present?
+
+ figure << create_geo_tag(image['location']) if image['location'].present?
+
+ node.replace figure
+ end
+
+ #
+ #
+ #
+ #
+ # Christina’s newest album ‘Head or Heart' is set for release in February 2014
+ #
+
+ # Params:
+ # autoplay: true | false
+ # controls: true | false
+ # loop: true | false
+ def decorate_video node, video
+ if edit_mode
+ decorated = create_element('video',
+ poster: asset_path('ui/video-play.svg'),
+ 'data-media-id' => node['data-media-id'],
+ style: "background-image: url('#{asset_url(video, 'thumb' => true)}')"
+ )
+ else
+ # TODO: Double check video url & link
+ video_url = video['url'] || video['link']
+
+ options = {
+ type: video['type'],
+ :'data-src' => video_url,
+ 'autoplay' => extract_value_from(video, key='autoplay', default=true),
+ controls: extract_value_from(video, key='controls', default=false),
+ width: video['width'],
+ height: video['height'],
+ loop: video['loop'],
+ muted: video['muted'],
+ }
+
+ decorated = create_element('figure', class: "video",
+ style: "background-image: url('#{asset_url(video, 'thumb' => true)}')"
+ )
+
+ if embed_video? video_url
+ decorated << video_iframe_html(video_url, options)
+
+ else
+ options[:'data-autoplay'] = true if options.delete(:autoplay)
+
+ decorated << create_element('video', options)
+ end
+
+ if video['caption'].present?
+ options = {}
+ options[:class] = 'inset' if video['caption_inset']
+ decorated << create_element('figcaption', video['caption'], options)
+ end
+
+ decorated << create_geo_tag(video['location']) if video['location'].present?
+ end
+
+ node.replace decorated
+ end
+
+ def video_iframe_html url, params={}
+ width = params.delete(:width) || params.delete('width') || '100%'
+ height = params.delete(:height) || params.delete('height') || '100%'
+
+ whitelist = ['autoplay', 'controls', 'loop', 'muted']
+ params = params.slice(*whitelist)
+ whitelist.each do |name|
+ params[name] = params[name] ? 1 : 0
+ end
+
+ case url
+ when /youtube\.com\/watch\?v=(.+)/
+ # player parameters
+ # https://developers.google.com/youtube/player_parameters?csw=1
+ params.delete 'muted'
+ params = params.merge(
+ playlist: $1,
+ autohide: 1,
+ color: 'white',
+ enablejsapi: 1,
+ hd: 1,
+ iv_load_policy: 3,
+ origin: 'https://issueapp.com',
+ rel: 0,
+ showinfo: 0,
+ wmode: 'transparent',
+ )
+ embed_url = "http://youtube.com/embed/#{$1}"
+
+ when /vimeo\.com\/([^\/]+)/
+ params = params.merge(
+ byline: 0,
+ portrait: 0,
+ )
+ embed_url = "http://player.vimeo.com/video/#{$1}"
+
+ else
+ raise ArgumentError, "Unsupported url: #{url}"
+ end
+
+ embed_url << "?#{params.to_param}"
+
+ source = %{data-src="#{embed_url}"}
+
+ %{}
+ end
+
+ def decorate_audio node, audio
+ # Setup audio params
+ options = {
+ type: audio['type'],
+ src: asset_url(audio),
+ 'data-autoplay': audio['autoplay'] ? true : nil,
+ controls: audio['controls'] ? true : nil,
+ loop: audio['loop'],
+ muted: audio['muted']
+ }.delete_if { |k, v| v.nil? }
+
+ figure = create_element('figure', :class => 'audio')
+ figure << create_element('img', class: 'thumbnail', src: asset_url(audio, 'thumb' => true))
+
+ audio = create_element('audio', options)
+ figure << audio
+
+ if audio['caption']
+ options = {}
+ options[:class] = 'inset' if audio['caption_inset']
+ figure << create_element('figcaption', audio['caption'], options)
+ end
+
+ node.replace figure
+ end
+
+ def create_geo_tag location
+ geo_uri = "geo:#{location['coordinates'].join(',')}?label=#{location['name']}"
+ create_element('a', nil, href: geo_uri, class: 'geo')
+ end
+
+ def extract_value_from object, key, default
+ if object.respond_to? 'fetch'
+ object.fetch(key) { default }
+ elsif object.respond_to? 'has_attribute?'
+ object.has_attribute?(key) ? object[key] : default
+ else
+ default
+ end
+ end
+
+ def embed_video? url
+ return false unless url
+ !! (url.match(/youtube\.com\/watch\?v=(.+)/) || url.match(/vimeo\.com\/([^\/]+)/))
+ end
+
+ def create_element *args, &block
+ doc = Nokogiri::HTML('')
+ doc.encoding = 'utf-8'
+ doc.create_element(*args, &block)
+ end
+
+ def image_get_size image
+ if image.width && image.height
+ return [image.width, image.height, image.aspect_ratio.to_f]
+ end
+
+ unless issue
+ if defined? RSpec
+ log_method.call('Issue not found.')
+ return
+ else
+ raise 'Issue not found'
+ end
+ end
+
+ file = File.join(issue.path, image['url'])
+ raise "local image not found: #{file}" unless File.exist? file
+
+ Timeout::timeout(0.2) do
+ width, height = FastImage.size(file)
+
+ # FastImage is unable to detect width and height for svg
+ # https://github.com/sdsykes/fastimage/issues/49
+ return unless width && height
+
+ aspect_ratio = width.to_f / height
+
+ [width, height, aspect_ratio]
+ end
+ end
+
+ def log_method
+ @log_method ||=
+ if defined? Rails
+ Rails.logger.method :debug
+ else
+ method :puts
+ end
+ end
+end
diff --git a/lib/local_issue.rb b/lib/local_issue.rb
new file mode 100644
index 00000000..bf6f9204
--- /dev/null
+++ b/lib/local_issue.rb
@@ -0,0 +1,122 @@
+require 'active_support/core_ext/hash'
+require 'active_support/core_ext/string'
+require 'active_support/core_ext/object/try'
+require 'hashie'
+require 'pathname'
+require 'yaml'
+
+class LocalIssue < Hashie::Mash
+
+ def self.all
+ issues_path = Pathname(File.expand_path("../../issues", __FILE__))
+
+ Dir.glob("#{issues_path}/*/issue.yaml").map do |file|
+ issue_path = file.split("/").first
+
+ find issue_path
+ end
+ end
+
+ # music
+ # insight/guide
+ def self.find path
+ issue_handle = path.split("/").last
+
+ # cd issues/music
+ issue_path = Pathname(File.expand_path("../../issues/#{issue_handle}", __FILE__))
+
+ if issue_path.exist?
+ # Dir.chdir issue_path
+ yaml = issue_path.join("issue.yaml")
+
+ if yaml.exist?
+ attributes = YAML.load_file(yaml)
+
+ # Build default labels
+ attributes["handle"] ||= issue_handle
+ attributes["magazine_handle"] ||= attributes["magazine_title"].parameterize
+
+ attributes["id"] ||= Digest::MD5.hexdigest("#{attributes["handle"]}/#{attributes["magazine_handle"]}")
+ attributes["assets"] ||= []
+
+ local = new
+ local.update attributes.except('collaborators')
+ local.regular_writer('collaborators', attributes['collaborators'])
+ local
+ end
+ end
+ end
+
+ def theme
+ self[:theme] || "default"
+ end
+
+ def path
+ Pathname(File.expand_path("../../issues/#{handle}/", __FILE__))
+ end
+
+ def pages_count
+ pages.map(&:children).flatten.count + pages.count
+ end
+
+ def all_pages options={}
+ excluded = options['exclude'] || options[:exclude] || []
+ root = options['root'] || options[:root]
+ layout_nav = options['layout_nav'] || options[:layout_nav] || true
+
+ pages = self.pages
+ pages.select!(&:root_page?) if root
+
+ pages.select! do |page|
+ ! excluded.include?(page.handle) && page.layout.try('nav') == layout_nav
+ end
+
+ pages
+ end
+
+ def pages
+ self[:paths].to_a.map do |handle|
+ LocalIssue::Page.find(handle, issue: self).tap do |p|
+ if p.handle == "index"
+ p.thumb_url = self.thumb_url
+ p.cover_url = self.cover_url
+ end
+ end
+ end
+ end
+
+ def paths
+ self.pages.reduce([]) do |result, page|
+ result << (page.path || page.handle)
+
+ unless page.children.empty?
+ result += page.children.map(&:path)
+ end
+
+ result
+ end
+ end
+
+ def to_hash options={}
+ hash = super.except("id", "featured")
+
+ return hash unless options[:local_path]
+
+ convert_local_path! hash
+
+ Array(hash['collaborators']).each do |h|
+ convert_local_path! h
+ end
+
+ hash
+ end
+
+ def convert_local_path! hash
+ hash.keys.each do |key|
+ next unless is_local = key.end_with?('_url') && ! String(hash[key]).start_with?('http://', 'https://')
+
+ url = hash.delete(key)
+ hash[key.sub(/_url$/, '')] = path.join(url)
+ end
+ end
+end
diff --git a/lib/local_issue/page.rb b/lib/local_issue/page.rb
new file mode 100644
index 00000000..708b713d
--- /dev/null
+++ b/lib/local_issue/page.rb
@@ -0,0 +1,347 @@
+require 'rdiscount'
+require 'nokogiri'
+require 'local_issue'
+
+class LocalIssue::Page < Hashie::Mash
+
+ # title
+ # handle
+ # summary
+ # content
+ # thumbnail (320x#) 4x3
+ #
+ # images
+ # - logo.png "company logo"
+ # - something.jpg "italian river" cover: true
+ # - whatelse.png "what to do in bali" cover: true
+ #
+ # virtual
+ # cover -> images.where(cover:true)
+
+ def self.default_layout
+ {
+ 'content_style' => 'white',
+ 'type' => 'two-column',
+ 'image_style' => 'cover',
+ 'image_align' => 'left',
+ 'content_align' => 'left',
+ 'content_valign' => 'top',
+ 'content_height' => 'auto',
+ 'content_overflow' => 'scroll',
+ 'content_transparent_bg' => 'scroll',
+ 'nav' => true
+ }
+ end
+
+ # Page elements: media and entities
+ def self.elements
+ ["images", "audios", "videos", "products", "links"]
+ end
+
+ def self.index
+ new(title: "Cover", handle: "index", thumb_url: "assets/background.jpg")
+ end
+
+ # TODO should this be scoped to an issue?
+ #def self.all
+ # cache = {}
+
+ # pages = recursive_build('data', cache).uniq
+ # toc = pages.find{|p| p.handle == "toc" }
+
+ # pages.delete(toc)
+
+ # [index, toc].compact + pages
+ #end
+
+ def self.find path, options={}
+ return index if path == "index"
+
+ parent_path, child_path = path.split("/")
+
+ page = self.build(path, options)
+ page.parent_path = parent_path if child_path
+
+ page.issue = options[:issue]
+ page.children = self.recursive_build(path, {}, options)
+
+ page.children.each do |child|
+ child.issue = page.issue
+ child.parent_path = parent_path
+
+ # Rails.logger.info "Set page child: #{path}"
+ # child.parent = page
+ end
+
+ page
+
+ #rescue Exception => e
+ # puts e.inspect
+ # puts e.backtrace.join("\n")
+ # raise path.inspect
+ end
+
+ # Convert page data from file into memory
+ def self.build path, options={}, source=nil
+ source ||= data_path(path, options).read
+ issue = options[:issue]
+ parent_path, child_path = path.split("/")
+
+ ## Build attributes from YAML
+ meta, content = source.split(/---\n(.+?)---\n/m)[1,2]
+ content = content.to_s
+ attributes = meta ? YAML.load(meta) : {}
+
+ # Add index and summary to products
+ Array(attributes['products']).each_with_index do|p, i|
+ # p['index'] = i + 1
+ p['summary'] = p.delete('description')
+ end
+
+ # Convert media and entity url array into hash
+ self.elements.each do |element|
+ attributes[element] = attributes[element].to_a.map do |object|
+ if object.is_a? String
+ if element == 'links'
+ key = 'link'
+ elsif element == 'images'
+ key = 'url'
+ else
+ raise "Unsupported element: #{element}"
+ end
+
+ object = {key => object}
+ end
+
+ Hashie::Mash.new(object)
+ end
+ end
+
+ # Add cover url into images
+ if attributes["cover_url"]
+ cover = Hashie::Mash.new(
+ "caption" => attributes.delete("cover_caption"),
+ "url" => attributes["cover_url"],
+ "thumb_url" => attributes["thumb_url"],
+ "cover" => true
+ )
+ attributes["images"].push(cover)
+ end
+
+ attributes["images"].map! do |image|
+ image.layout ||= !!image.cover
+ image.type ||= "image"
+ image
+ end
+
+ attributes["videos"].map! do |video|
+ video.type ||= "video"
+ video
+ end
+
+ # Find cover from video/image
+ if !attributes["cover_url"]
+ cover = (attributes["images"] + attributes["videos"]).compact.find{|img| img.cover }
+ attributes["cover_url"] = cover.try(:url)
+ end
+ attributes["cover"] = cover
+
+ # construct HTML-mustache for content or custom_html
+ if attributes.key? 'custom_html'
+ attributes['custom_html'] = content
+ else
+ attributes['content'] = RDiscount.new(content).to_html
+ end
+
+ layout = self.default_layout.merge(attributes['layout'] || {})
+ layout.merge!(options['layout'] || options[:layout] || {})
+
+ attributes.merge!(
+ "issue" => issue,
+ "handle" => path.split('/').last,
+ "path" => path,
+ "layout" => layout,
+ )
+
+ new attributes
+
+ #rescue Exception => e
+ # raise "Page: #{path} failed to build, #{e.inspect}"
+ end
+
+ def self.recursive_build path, cache={}, options={}
+ issue = options[:issue]
+
+ data_path = data_path(path, options).sub_ext('')
+
+ Dir.glob("#{data_path}/*").sort.map do |child_path|
+ if File.directory? child_path
+ page = cache[child_path + '.md'] = build(child_path, options)
+ page.children = recursive_build(child_path, cache, options)
+
+ elsif ! cache[child_path]
+ page = cache[child_path] = build("#{path}/#{File.basename(child_path, '.md')}", options)
+
+ else
+ page = cache[child_path]
+ end
+
+ page
+ end
+ end
+
+ def self.data_path path, options={}
+ if issue = options[:issue]
+ full_path = issue.path.join("data/#{path}.md")
+ else
+ full_path = "data/#{path}.md"
+ end
+
+ Pathname full_path
+ end
+
+ def self.boolean_value value
+ value = value.to_s.strip
+ [/true/i, /yes/i, '1'].any?{|v| v === value}
+ end
+
+ def initialize *args
+ super
+
+ self["layout"] ||= Hashie::Mash.new(self.class.default_layout)
+ end
+
+ def find_element id
+ return unless id
+
+ asset, index = id.split(':')
+ media = self[asset].try('[]', index.to_i - 1)
+
+ if media
+ [asset, media]
+ end
+ end
+
+ def toc?
+ handle == 'toc'
+ end
+
+ def cover
+ images.to_a.find {|media| media['cover'] } ||
+ videos.to_a.find {|media| media['cover'] }
+ end
+
+ def cover_url
+ if !self["cover_url"] && cover
+ cover.type.try(:include?, "video") ? cover.thumb_url : cover.url
+ else
+ self["cover_url"]
+ end
+ end
+
+ def root_page?
+ ! parent_path
+ end
+
+ def child_page?
+ ! root_page?
+ end
+
+ def parent
+ @parent ||= LocalIssue::Page.find(parent_path, issue: issue) if parent_path
+ end
+
+ def summary
+ self['summary'] || self['description']
+ end
+
+ def number
+ if parent
+ count = parent.children.map(&:handle).index(handle) + 1
+ count = count + parent.number
+ else
+ issue.pages.index(self) + 1
+ end
+ end
+
+ def byline
+ if author_name
+ "by #{author_name}"
+ else
+ self[:byline]
+ end
+ end
+
+ def issue=(issue)
+ self[:issue] ||= issue
+ end
+
+ def product_set?
+ products.to_a.select{|p| !p.hotspot }.length > 0
+ end
+
+ def hotspots
+ products = products.to_a.select{|p| !p.hotspot }
+
+ hotspots = (products.to_a + self.links.to_a).select{|p| p.hotspot }.map do |p|
+ left, right, radius = p.hotspot.split(',').map(&:strip)
+ p.hotspot = { left: left, right: right, radius: radius }
+ p
+ end
+ end
+
+ def children
+ self[:children] || []
+ end
+
+ def theme
+ dark_themes = ["black", "transparent", "dark"]
+
+ if dark_themes.include? layout.try(:content_style)
+ "black"
+ else
+ "white"
+ end
+ end
+
+ def url
+ self.handle
+ end
+
+ # Map attributes for import
+ #
+ def to_hash options={}
+ #hash = super.except("id", "issue", "cover_url", "thumb_url", "cover")
+ hash = super
+ hash['title'] ||= 'Table of Content' if toc?
+ hash['summary'] ||= hash.delete('description') if hash['description']
+
+ return hash unless options[:local_path]
+
+ self.class.elements.each do |element|
+ Array(hash[element]).each_with_index do |asset, index|
+ convert_local_path!(asset)
+ hash[element][index] = asset
+ end
+ end
+
+ hash['children'] = children.map do |page|
+ page.to_hash(options)
+ end
+
+ hash
+ end
+
+ def convert_local_path! asset
+ asset.keys.each do |key|
+ next unless is_local = (key.end_with?('_url') || key == 'url') && asset[key] && ! asset[key].start_with?('http://', 'https://')
+
+ field = key.end_with?('_url') ? key.sub(/_url$/, '') : 'file'
+ url = asset.delete(key)
+
+ asset[field] = issue.path.join(url)
+ end
+
+ asset
+ end
+end
diff --git a/lib/preview.rb b/lib/preview.rb
new file mode 100644
index 00000000..d9a2d017
--- /dev/null
+++ b/lib/preview.rb
@@ -0,0 +1,229 @@
+$: << File.expand_path("../", __FILE__)
+
+require 'sinatra/base'
+require 'sinatra/content_for'
+
+require 'bourbon'
+require 'hashie/mash'
+require 'local_issue'
+require 'local_issue/page'
+require 'issue/page_view'
+
+class IssuePreview < Sinatra::Base
+
+ unless defined?(Rails)
+ require 'sinatra/asset_pipeline'
+ register Sinatra::AssetPipeline
+ end
+
+ helpers Sinatra::ContentFor
+
+ set :root, File.expand_path("../../", __FILE__)
+ set :protection, :except => :frame_options
+
+ helpers do
+ def render(*args)
+ if args.first.is_a?(Hash) && args.first.keys.include?(:partial)
+ return erb "#{args.first[:partial]}".to_sym, :layout => false, locals: { issue: current_issue }
+ else
+ super
+ end
+ end
+ end
+
+ get '/magazines.json' do
+ @issues = LocalIssue.all.each do |i|
+ i.cover_url = "/issues/#{issue_path}/#{i.cover_url}"
+ i.url = "/issues/#{issue_path}/"
+ end
+
+ if params[:q]
+ pattern = Regexp.compile(params[:q], Regexp::IGNORECASE)
+
+ @issues.select! do |issue|
+ if params[:filter] == "featured"
+ issue.featured
+ else
+ pattern.match("#{issue.edition_title} #{issue.title}")
+ end
+ end
+ end
+
+ @issues.to_json
+ end
+
+ get '/:magazine/:issue/products.json' do
+ current_issue.pages.map(&:products).flatten.compact
+ end
+
+ get "/:magazine/:issue/index/?" do
+ erb :"issue/_cover.html", layout: issue_layout, locals: { issue: current_issue }
+ end
+
+ get "/:magazine/:issue/?" do
+ erb :"issue/_cover.html", layout: issue_layout, locals: { issue: current_issue }
+ end
+
+ get "/:magazine/:issue/_menu" do
+ erb :"issue/_menu.html", locals: { issue: current_issue }, layout: issue_layout
+ end
+
+ get "/:magazine/:issue/issue.json" do
+ if params[:callback]
+ "#{params[:callback]}(#{current_issue.to_json})";
+ else
+ current_issue.to_json
+ end
+ end
+
+ # /official/great-escape/assets/custom.css
+ # assets/custom.scss
+ #
+ # params:
+ # splat: [custom.scss]
+ #
+ # search paths:
+ #
+ # app/assets/images,
+ # app/assets/spreadsheets,
+ # app/assets/javascripts,
+ # issues/music/assets
+ # issues/great-escape/assets
+ #
+ # Cache assets for 1H (cloudfront)
+ get "/:magazine/:issue/assets/*" do
+ require 'mime/types'
+
+ # response.headers['Cache-Control'] = 'public, max-age=3600'
+ #
+
+ # Append issue asset path and remember current search paths
+ preview_paths = sprockets.paths
+ sprockets.append_path(current_issue.path.join('assets'))
+
+ # Serve asset via sprockets
+ file = params[:splat].first
+ asset = sprockets[file]
+
+ # Restore previous asset path
+ sprockets.clear_paths
+ preview_paths.each do |path|
+ sprockets.append_path path
+ end
+
+ # asset_path = request.path_info.gsub(/^\/#{params[:magazine]}/, "issues")
+ # file = File.expand_path("../../#{CGI.unescape(asset_path)}", __FILE__)
+
+ mime_type = MIME::Types.type_for(file).first.content_type
+
+ if mime_type == "application/mp4"
+ return send_file current_issue.path.join('assets').join(file), type: "video/mp4"
+ elsif mime_type.include?('css')
+ source = AutoprefixerRails.process(asset.to_s, from: 'custom.css', browsers: ['> 1%', 'ie 10']).css
+ else
+ source = asset.to_s
+ end
+
+ content_type mime_type
+ source
+ end
+
+ # Page and subpage
+ get %r{/(?[^\/]+)/(?[^\/]+)/(?[^\/]+)(?:\/(?[^\/]+))?} do
+ issue = current_issue
+ path = File.join(params.values_at('page', 'subpage').compact)
+ page = LocalIssue::Page.find(path, issue: issue)
+ page = Issue::PageView.new(page, self)
+
+ layout = request.xhr? ? nil : :"/layouts/_app.html"
+
+ erb page_template(page), locals: {issue: issue, page: page}, layout: layout
+ end
+
+ # usage:
+ # issue level asset_path('custom.js')
+ # app level asset_path('issue.js', global: true)
+ def asset_path path, options={}
+ return path if path.nil? || path.start_with?('http:', 'https:')
+
+ global = options[:global] || options['global']
+
+ path = path.sub('assets/', '') # Sub page has incorrect asset path "../assets/assets/logo.png"
+
+ if defined? Rails
+ if global_online = (!Rails.application.config.offline_assets && global)
+ return ActionController::Base.helpers.asset_path(path)
+ end
+
+ prefix = params[:subpage] ? "../" : ""
+ path = File.join("#{prefix}assets", path) unless path.include?("#{prefix}assets/")
+
+ return path
+ end
+
+ asset_host = ENV["ASSET_HOST"] || request.base_url
+ asset_path = global ? "assets/#{path}" : issue_path(path)
+ asset_path = asset_path.sub('assets/assets', 'assets')
+
+ File.join(asset_host, asset_path)
+ end
+
+ private
+
+ def current_issue
+ @issue = LocalIssue.find("#{params[:magazine]}/#{params[:issue]}")
+
+ apply_asset_path!(@issue, :thumb_url, :cover_url)
+ @issue
+ end
+
+ def apply_asset_path!(issue, *attrs)
+ attrs.each do |attribute|
+ issue.send("#{attribute}=", asset_path(issue.send(attribute)))
+ end
+ end
+
+ def page_ext
+ offline? ? ".html" : ""
+ end
+
+ def offline?
+ (defined?(Rails) && Rails.application.config.offline_assets) || params[:offline]
+ end
+
+ def webview?
+ params[:webview] == "1" # || %r{issue://} === request.original_url
+ end
+
+ def issue_path path=nil
+ asset = File.expand_path("../../issues/#{params[:issue]}/assets#{path}", __FILE__)
+
+ if add_cache_buster = (File.exist?(asset) && !path.nil? && !path.empty?)
+ path << "?#{File.mtime(asset).to_i}"
+ end
+
+ "#{request.script_name}/#{params[:magazine]}/#{params[:issue]}/assets/#{path}".squeeze('/')
+ end
+
+ def issue_url(path = "")
+ "#{request.base_url}#{request.script_name}/#{params[:magazine]}/#{params[:issue]}"
+ end
+
+ def issue_layout
+ !request.xhr? && :"/layouts/_app.html"
+ end
+
+ def page_template page
+ if page.layout.type == "cover"
+ :"issue/_cover.html"
+ elsif page.layout.type == "toc"
+ :"issue/_toc.html"
+ else
+ :"issue/_page.html"
+ end
+ end
+
+ def sprockets
+ @sprockets ||= Sprockets::Environment.new
+ end
+end
diff --git a/preview.rb b/preview.rb
deleted file mode 100644
index 521eb56d..00000000
--- a/preview.rb
+++ /dev/null
@@ -1,256 +0,0 @@
-require 'rdiscount'
-require 'hashie/mash'
-require 'sinatra/base'
-require 'sinatra/content_for'
-require 'sinatra/asset_pipeline'
-
-require 'nokogiri'
-
-class IssuePreview < Sinatra::Base
- register Sinatra::AssetPipeline
- helpers Sinatra::ContentFor
- set :protection, :except => :frame_options
-
- helpers do
- def render(*args)
- if args.first.is_a?(Hash) && args.first.keys.include?(:partial)
- return erb "#{args.first[:partial]}".to_sym, :layout => false, locals: { issue: current_issue }
- else
- super
- end
- end
- end
-
- get %r{/viewer/(?[^\/]+)/?(?[^\/]+)?(?:\/(?[^\/]+))?} do
- @path = params.slice("issue", "page", "subpage").values.compact.join
- erb :"issue/viewer.html", layout: :"/layouts/_docs.html", locals: { path: "/issues/#{@path}", issue: current_issue }
- end
-
- get '/magazines.json' do
- @issues = Dir.glob('issues/*/issue.yaml').map do |file|
- issue_path = file.split("/")[1]
-
- issue = Hashie::Mash.new(YAML.load_file(file)).tap do |i|
- i.background_url = "/issues/#{issue_path}/#{i.background_url}"
- i.url = "/issues/#{issue_path}/"
- end
- end
-
- if params[:q]
- @issues.select! do |issue|
- text = "#{issue.edition_title} #{issue.title}"
- pattern = Regexp.compile(params[:q], Regexp::IGNORECASE)
-
- result = text.match( pattern )
-
-
- if params[:filter] == "featured"
- result = issue.featured
- end
-
- result
- end
- end
-
- @issues.to_json
- end
-
- get '/:magazine/?' do
- @issues = Dir.glob('issues/*/issue.yaml').map do |file|
- issue_path = file.split("/")[1]
-
- issue = Hashie::Mash.new(YAML.load_file(file)).tap do |i|
- i.image_url = "#{issue_path}/#{i.image_url}"
- end
- end
-
- erb :"issue/list.html", layout: :"/layouts/_docs.html"
- end
-
-
- get '/:magazine/:issue/products.json' do
- cache = {}
- # pages = recursive_build("issues/#{params[:issue]}", cache).uniq
- content_type :json
-
- files = Dir.glob("issues/#{params[:issue]}/data/*/*.{md}") + Dir.glob("issues/#{params[:issue]}/data/*.{md}")
- pages = files.map {|path| find_page(path) }
- products = pages.map(&:products).flatten.compact
-
- products.to_json
- end
-
- get "/:magazine/:issue/index" do
- redirect to("/#{params[:magazine]}/#{params[:issue]}/")
- end
-
- get "/:magazine/:issue" do
- redirect to("/#{params[:magazine]}/#{params[:issue]}/")
- end
-
- get "/:magazine/:issue/" do
- erb :"issue/_cover.html", layout: :"/layouts/_app.html", locals: { issue: current_issue}
- end
-
- get "/:magazine/:issue/_menu" do
- erb :"issue/_menu.html", layout: false, locals: { issue: current_issue}
- end
-
- get "/:magazine/:issue/issue.json" do
-
- pages = current_issue.items.reduce([]) do |result, item|
- result << item["handle"] #.gsub('/issue/', '')
-
- if item["pages"]
- result += item["pages"].map{|p|
- p["path"] || item["handle"] + "/" + p["handle"]
- }
- end
-
- result
- end
-
- data = current_issue.to_h
- data.delete("items")
- data["pages"] = [ "index" ] + pages
-
- path = "#{request.base_url}/#{params[:issue]}/#{params[:issue]}"
-
-
- data["menu_html"] = erb :"issue/_menu.html", layout: false, locals: { issue: current_issue, path: path }
-
- if params[:callback]
- "#{params[:callback]}(#{data.to_json})";
- else
- data.to_json
- end
- end
-
- # Page and subpage
- get %r{/(?[^\/]+)/(?[^\/]+)/(?[^\/]+)(?:\/(?[^\/]+))?} do
- if params["page"] == "assets"
- asset_path = request.path_info.gsub(/^\/#{params[:magazine]}/, "issues")
- return send_file File.expand_path("../#{asset_path}", __FILE__)
- end
-
- @path = [params["issue"], "data", params["page"], params["subpage"]].compact.join('/')
-
- file_path = File.expand_path("../issues/#{@path}.md", __FILE__)
- page = find_page(file_path)
-
- page.handle = [params["page"], params["subpage"]].compact.join('/')
-
- erb page_template(page), locals: { issue: current_issue, page: page }, layout: :"/layouts/_app.html"
- end
-
- private
-
- def current_issue
- issue = YAML.load_file(File.expand_path("../issues/#{params[:issue]}/issue.yaml", __FILE__))
- items = issue.fetch("items", []).map do |page|
- page["url"] = "#{page["handle"]}"
- page["image_url"] = asset_path(page["image_url"])
-
- page
- end
-
- issue.merge!(
- "image_url" => asset_path(issue["image_url"]),
- "items" => items
- )
-
- Hashie::Mash.new(issue)
- end
-
- # Find page data file and turn yaml in heading into page attribute, body as page content
- def find_page(path)
- source = open(path).read
-
- if "1.9".respond_to? :encode
- source = source.force_encoding('binary')
- end
-
- meta, content = source.split(/---\s?\n(.+?)---\n/nm)[1,2]
- content = content.to_s.strip
-
- ## Parse YAML
- if meta
- attributes = YAML.load(meta)
- else
- attributes = {}
- end
-
- author_icon = attributes["author_icon"] ? asset_path(attributes["author_icon"]) : nil
- brand_image_url = attributes["brand_image_url"] ? asset_path(attributes["brand_image_url"]) : nil
-
- if products = attributes["products"]
- products.each_with_index do |product, i|
- product["image_url"] = asset_path(product["image_url"])
- product["index"] = i + 1
- end
- end
-
- id = [params[:page], params[:subpage]].compact.join('/')
-
- attributes.merge!(
- "id" => "#{id}",
- "issue_url" => issue_url,
- "page_url" => "#{issue_url}/#{params[:page]}",
- "image_url" => attributes["image_url"] && asset_path(attributes["image_url"]), # remove preview rendering
- "author_icon" => author_icon,
- "brand_image_url" => brand_image_url,
- "products" => products,
- "published_at" => attributes["published_at"] || File.mtime(path),
- "layout" => attributes.fetch("layout", {})
- )
-
- # Render content part
- content = Mustache.render(content, attributes)
- doc = Nokogiri::HTML(content)
- content = content.empty? ? nil : (RDiscount.new(content).to_html.to_s + doc.search('style')[0].to_s + doc.search('script')[0].to_s )
-
- attributes["content"] = content
-
- if params[:layout]
- attributes["layout"].merge!(params[:layout])
- end
-
- Hashie::Mash.new(attributes)
- end
-
- def asset_path(path)
- if path =~ /^https?:/
- path
- elsif path
- "#{issue_url}/#{path}"
- end
- end
-
- def issue_url
- "#{request.base_url}/#{params[:magazine]}/#{params[:issue]}"
- end
-
- def page_template(page)
- if page.layout.type == "cover"
- :"issue/_cover.html"
- elsif page.layout.type == "toc"
- :"issue/_toc.html"
- else
- :"issue/_page.html"
- end
- end
-
- def recursive_build(start_path, cache)
- Dir.glob("#{start_path}/*").map do |path|
- if File.directory?(path) && File.exists?(path + '.md')
- page = cache[path + '.md'] = find_page(path + '.md')
- page.children = recursive_build(path, cache)
- elsif !cache[path] && File.exists?(path + '.md')
- page = cache[path] = find_page(path)
- else
- page = cache[path]
- end
- page
- end
- end
-end
diff --git a/public/accelerator.html b/public/accelerator.html
new file mode 100644
index 00000000..fcf1abcc
--- /dev/null
+++ b/public/accelerator.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/au/external_viewer.html b/public/au/external_viewer.html
new file mode 100644
index 00000000..d0131159
--- /dev/null
+++ b/public/au/external_viewer.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/external_viewer.html b/public/external_viewer.html
index d0131159..72238246 100644
--- a/public/external_viewer.html
+++ b/public/external_viewer.html
@@ -1,6 +1,8 @@
+
+
@@ -29,13 +31,14 @@
-
+
+
-
\ No newline at end of file
+