[
  {
    "path": ".gitignore",
    "content": ".DS_Store\n.DS_Store?\n._*\nThumbs.db\nIcon?\n.Trashes\nehthumbs.db\n*.log\n*.log*\n*.swp\n.idea\ndist\nnode_modules"
  },
  {
    "path": "LICENCE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2018 Vladimir Ković\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "# Computer store e-commerce template\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/vkovic/uikit-computer-store-template/blob/master/LICENSE)\n\n### Computer store e-commerce template built with `UIkit` using `Sass`\n\nThis theme is port of\n[chekromul/uikit-ecommerce-template](https://github.com/chekromul/uikit-ecommerce-template)\nto use `Sass` instead of `Less`.\n\nAfter I found this great e-commerce theme, I decided to spend some time adopting it to `Sass` preprocessor since lot of\nus are preferring it over `Less`.\n\nDemo: [https://vkovic.github.io/uikit-computer-store-template](https://vkovic.github.io/uikit-computer-store-template)\n\n[![Computer store e-commerce template](https://raw.githubusercontent.com/vkovic/uikit-computer-store-template/gh-pages/images/preview.png \"Computer store e-commerce template\")](https://raw.githubusercontent.com/vkovic/uikit-computer-store-template/gh-pages/images/preview.png \"Computer store e-commerce template\")\n\n---\n\n## Compatibility\n\nThis theme requires `Node.js` version `>= 8.2`\n\n## Technologies\n\n- [UIkit](https://getuikit.com)\n- [Pug](https://pugjs.org)\n- [Sass](https://sass-lang.com/)\n- [Gulp](https://gulpjs.com)\n\n## Installation\n\nTo install theme first clone this repo\n\n```bash\ngit clone https://github.com/vkovic/uikit-computer-store-template.git\n```\n\nand go to directory\n\n```bash\ncd uikit-computer-store-template\n```\n\nAfter this, there is 2 ways of installing it either using `npm` or `yarn`\n\n### Install via `npm`\n\nInstall required packages via `npm`:\n\n```bash\nnpm install\n```\n\nCompile project\n\n```bash\nnpm run build\n```\n\n### Install via `yarn`\n\nInstall required packages via `yarn`:\n\n```bash\nyarn\n```\n\nCompile project\n\n```bash\nyarn build\n```\n\n## Copyright and Credits\n\n- [Original (Less version) Theme Developer](https://github.com/chekromul)\n- [Shopping Categories Colection](https://thenounproject.com/jarosigrist/collection/shopping-categories) icons by\nJaro Sigrist from Noun Project. Licensed under Creative Commons Attribution 3.0.\n"
  },
  {
    "path": "gulpfile.js",
    "content": "var gulp = require('gulp'),\n    clean = require('gulp-clean'),\n    include = require('gulp-include'),\n    pug = require('gulp-pug'),\n    sass = require('gulp-sass'),\n    server = require('gulp-webserver'),\n    tildeImporter = require('node-sass-tilde-importer');\n\n// Remove previous dist folder if exists\ngulp.task('clean', function () {\n    return gulp.src('dist', {read: false, allowEmpty: true})\n        .pipe(clean());\n});\n\n// Compile pug templates into HTML\ngulp.task('html', function () {\n    return gulp.src('src/templates/pages/*.pug')\n        .pipe(pug({\n            basedir: 'src/templates',\n            pretty: true\n        }))\n        .pipe(gulp.dest('dist'));\n});\n\n// Copy images to dist\ngulp.task('images', function () {\n    return gulp.src('src/img/**/*')\n        .pipe(gulp.dest('dist/images'));\n});\n\n// Compile scss files into css\ngulp.task('styles', function () {\n    return gulp.src('src/sass/style.scss')\n        .pipe(sass({importer: tildeImporter}))\n        .pipe(gulp.dest('dist/styles'));\n});\n\n// Compile js files\ngulp.task('scripts', function () {\n    return gulp.src('src/js/*.js')\n        .pipe(include({\n            extensions: 'js',\n            hardFail: true,\n            includePaths: [\n                __dirname + '/node_modules',\n                __dirname + '/src/js'\n            ]\n        }))\n        .pipe(gulp.dest('dist/scripts'));\n});\n\n// Run server from dist directory and open browser\ngulp.task('server', function () {\n    gulp.src('dist').pipe(server({open: true}));\n});\n\n// Compile project by combining tasks above\ngulp.task('build',\n    gulp.series(\n        'clean',\n        gulp.parallel('html', 'images', 'styles', 'scripts'), // Parallel tasks\n        'server'\n    )\n);"
  },
  {
    "path": "package.json",
    "content": "{\n    \"name\": \"uikit-computer-store-template\",\n    \"version\": \"1.0.0\",\n    \"description\": \"Computer store e-commerce template built with UIkIt, Sass and JS\",\n    \"author\": \"Vladimir Ković\",\n    \"license\": \"MIT\",\n    \"homepage\": \"https://github.com/vkovic/uikit-computer-store-template\",\n    \"main\": \"index.html\",\n    \"scripts\": {\n        \"build\": \"gulp build\"\n    },\n    \"repository\": {\n        \"type\": \"git\",\n        \"url\": \"https://github.com/vkovic/uikit-computer-store-template.git\"\n    },\n    \"engines\": {\n        \"node\": \">=8.2\"\n    },\n    \"devDependencies\": {\n        \"gulp\": \"^4.0.0\",\n        \"gulp-autoprefixer\": \"^6.0.0\",\n        \"gulp-clean\": \"^0.4.0\",\n        \"gulp-include\": \"^2.3.1\",\n        \"gulp-pug\": \"^4.0.1\",\n        \"gulp-sass\": \"^4.0.2\",\n        \"gulp-webserver\": \"^0.9.1\",\n        \"node-sass-tilde-importer\": \"^1.0.2\"\n    },\n    \"dependencies\": {\n        \"uikit\": \"^3.0.0-rc.26\"\n    }\n}\n"
  },
  {
    "path": "src/js/script.js",
    "content": "// Google Maps\nfunction initMap() {\n    var elements = document.querySelectorAll('.js-map');\n    Array.prototype.forEach.call(elements, function (el) {\n        var lat = +el.dataset.latitude,\n            lng = +el.dataset.longitude,\n            zoom = +el.dataset.zoom;\n\n        if ((lat !== '') && (lng !== '') && (zoom > 0)) {\n            var map = new google.maps.Map(el, {\n                zoom: zoom,\n                center: {lat: lat, lng: lng},\n                disableDefaultUI: true\n            });\n\n            var marker = new google.maps.Marker({\n                map: map,\n                animation: google.maps.Animation.DROP,\n                position: {lat: lat, lng: lng}\n            });\n        }\n    });\n}\n\n// Change view\n(function () {\n    var container = document.getElementById('products');\n\n    if (container) {\n        var grid = container.querySelector('.js-products-grid'),\n            viewClass = 'tm-products-',\n            optionSwitch = Array.prototype.slice.call(container.querySelectorAll('.js-change-view a'));\n\n        function init() {\n            optionSwitch.forEach(function (el, i) {\n                el.addEventListener('click', function (ev) {\n                    ev.preventDefault();\n                    _switch(this);\n                }, false);\n            });\n        }\n\n        function _switch(opt) {\n            optionSwitch.forEach(function (el) {\n                grid.classList.remove(viewClass + el.getAttribute('data-view'));\n            });\n            grid.classList.add(viewClass + opt.getAttribute('data-view'));\n        }\n\n        init();\n    }\n})();\n\n// Increment\nfunction increment(incrementor, target) {\n    var value = parseInt(document.getElementById(target).value, 10);\n    value = isNaN(value) ? 0 : value;\n\n    if (incrementor < 0 && value > 1) {\n        value += incrementor;\n    } else {\n        value += incrementor;\n    }\n    document.getElementById(target).value = value;\n}\n\n// Scroll to description\n(function () {\n    UIkit.scroll('.js-scroll-to-description', {\n        duration: 300,\n        offset: 58\n    });\n})();\n\n// Update sticky tabs\n(function () {\n    UIkit.util.on('.js-product-switcher', 'show', function () {\n        UIkit.update();\n    });\n})();\n\n// Add to cart\n(function () {\n    var addToCartButtons = document.querySelectorAll('.js-add-to-cart');\n\n    Array.prototype.forEach.call(addToCartButtons, function (el) {\n        el.onclick = function () {\n            UIkit.offcanvas('#cart-offcanvas').show();\n        };\n    });\n})();\n\n// Action buttons\n(function () {\n    var addToButtons = document.querySelectorAll('.js-add-to');\n\n    Array.prototype.forEach.call(addToButtons, function (el) {\n        var link,\n            message = '<span class=\"uk-margin-small-right\" uk-icon=\\'check\\'></span>Added to ',\n            links = {\n                favorites: '<a href=\"/favorites\">favorites</a>',\n                compare: '<a href=\"/compare\">compare</a>'\n            };\n\n        if (el.classList.contains('js-add-to-favorites')) {\n            link = links.favorites;\n        }\n\n        if (el.classList.contains('js-add-to-compare')) {\n            link = links.compare;\n        }\n\n        el.onclick = function () {\n            if (!this.classList.contains('js-added-to')) {\n                UIkit.notification({\n                    message: message + link,\n                    pos: 'bottom-right'\n                });\n            }\n            this.classList.toggle('tm-action-button-active');\n            this.classList.toggle('js-added-to');\n        };\n    });\n})();\n\n\n"
  },
  {
    "path": "src/js/uikit-icons.js",
    "content": "//=require ../../node_modules/uikit/dist/js/uikit-icons.js"
  },
  {
    "path": "src/js/uikit.js",
    "content": "//=require ../../node_modules/uikit/dist/js/uikit.js"
  },
  {
    "path": "src/sass/custom.scss",
    "content": "//\n// Custom variables\n//\n\n// Breakpoints\n$breakpoint-tablet: 768px;\n\n// Product card\n$product-card-title-max-lines: 3;\n$product-card-title-font-size: 16px;\n$product-card-title-line-height: 22px;\n$product-card-title-max-height: $product-card-title-max-lines * $product-card-title-line-height;\n$product-card-title-font-size-s: 18px;\n$product-card-title-line-height-s: 24px;\n$product-card-title-max-height-s: $product-card-title-max-lines * $product-card-title-line-height-s;\n$product-card-price-font-size: 20px;\n$product-card-add-button-width: 36px;\n$product-card-add-button-height: 36px;\n\n// List view product card\n$list-view-product-card-media-width: 33.3%;\n$list-view-product-card-media-min-width: 170px;\n$list-view-product-card-price-font-size: 24px;\n\n// Scrollbox\n$scrollbox-max-height: 300px;\n\n// Checkbox, radio\n$control-checkbox-image: \"../../images/backgrounds/form-checkbox.svg\";\n$control-radio-image: \"../../images/backgrounds/form-radio.svg\";\n$control-inputs-size: 16px;\n$control-inputs-hover: #F8F8F8;\n\n// Ratio\n$ratio-1-1: 100%;\n$ratio-3-2: 66.66%;\n$ratio-4-3: 75%;\n$ratio-16-9: 56.25%;\n\n//\n// Custom mixins\n//\n\n@mixin center($horizontal: true, $vertical: true) {\n    position: absolute;\n\n    @if $horizontal == true and $vertical == true {\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n    }\n\n    @if $horizontal == true and $vertical == false {\n        left: 50%;\n        transform: translate(-50%, 0);\n    }\n\n    @if $horizontal == false and $vertical == true {\n        top: 50%;\n        transform: translate(0, -50%);\n    }\n}\n\n/* Tablet landscape and bigger */\n@media (min-width: $breakpoint-medium) {\n    h3, .uk-h3 {\n        font-size: $base-h3-font-size-m;\n    }\n}\n\n\n//\n// Toolbar\n//\n\n.tm-toolbar-container:not(.uk-navbar-transparent) {\n    background: $global-secondary-background;\n}\n\n.tm-toolbar-container .uk-navbar-item {\n    color: $navbar-nav-item-color;\n}\n\n.tm-toolbar-container .uk-navbar-nav > li > a {\n    text-transform: none;\n}\n\n.tm-toolbar-container .uk-navbar-nav > li > a,\n.tm-toolbar-container .uk-navbar-item,\n.tm-toolbar-container .uk-navbar-toggle {\n    height: 40px;\n}\n\n//\n// Navbar\n//\n\n.tm-navbar-container:not(.uk-navbar-transparent) {\n    background: $global-background;\n}\n\n.tm-navbar-container {\n    border-bottom: $global-border-width solid $global-border;\n}\n\n.tm-navbar-container-fixed {\n    z-index: $global-z-index + 5;\n}\n\n.tm-navbar-container .uk-navbar-nav > li > a,\n.tm-navbar-container .uk-navbar-item,\n.tm-navbar-container .uk-navbar-toggle {\n    height: 60px;\n}\n\n//\n// Navbar button\n//\n\n.tm-navbar-button {\n    position: relative;\n    padding: 0 10px;\n\n    @media (min-width: $breakpoint-small) {\n        padding: 0 15px;\n    }\n\n    .uk-badge {\n        font-size: .625rem;\n        position: absolute;\n        top: 10px;\n        right: 5px;\n        min-width: 18px;\n        height: 18px;\n    }\n}\n\n//\n// Link to all\n//\n\n.tm-link-to-all {\n    & > * {\n        vertical-align: middle;\n    }\n\n    & > .uk-icon {\n        position: relative;\n        left: 0;\n        margin-left: 3px;\n        transition: left 60ms;\n    }\n\n    &:hover > .uk-icon {\n        left: 2px;\n    }\n}\n\n//\n// Aside column\n//\n\n.tm-aside-column {\n    min-width: 270px;\n}\n\n//\n// Change view\n//\n\n.tm-change-view {\n    display: none;\n\n    @media(min-width: $breakpoint-tablet) {\n        display: flex;\n    }\n}\n\n//\n// Product card\n//\n\n.tm-product-card {\n    display: flex;\n    flex-direction: row;\n    transition: box-shadow $box-shadow-duration ease-in-out;\n    background-color: $global-background;\n    border-left: $global-border-width solid $global-border;\n    border-bottom: $global-border-width solid $global-border;\n    //box-shadow: 0 0 0 $global-border-width $global-border;\n\n    &.uk-first-column {\n        border-left: none;\n    }\n\n    @media (max-width: $breakpoint-tablet - 1) {\n        width: 100%;\n    }\n\n    @media (min-width: $breakpoint-tablet) {\n        flex-direction: column;\n\n        &:hover {\n            z-index: 2;\n            box-shadow: $global-xlarge-box-shadow;\n        }\n    }\n}\n\n// Media\n.tm-product-card-media {\n    position: relative;\n    box-sizing: border-box;\n    width: 40%;\n    flex-shrink: 0;\n\n    & > .tm-ratio {\n        height: 100%;\n    }\n\n    & > .tm-ratio > .tm-media-box {\n        padding: 15px;\n    }\n\n    @media (min-width: $breakpoint-small) {\n        & > .tm-ratio > .tm-media-box {\n            padding: 20px;\n        }\n    }\n\n    @media (min-width: $breakpoint-tablet) {\n        width: 100%;\n    }\n}\n\n// Body\n.tm-product-card-body {\n    display: flex;\n    flex-direction: column;\n    padding: 15px 15px 15px 0;\n    flex-grow: 1;\n\n    @media (min-width: $breakpoint-small) {\n        padding: 20px 20px 20px 0;\n    }\n\n    @media (min-width: $breakpoint-tablet) {\n        padding: 0 20px 20px 20px;\n    }\n}\n\n// Title\n.tm-product-card-title {\n    font-size: $product-card-title-font-size;\n    line-height: $product-card-title-line-height;\n    display: -webkit-box;\n    display: -ms-flexbox;\n    overflow: hidden;\n    max-height: $product-card-title-max-height;\n    margin: 0 0 20px;\n    text-overflow: ellipsis;\n    color: inherit;\n    -webkit-line-clamp: $product-card-title-max-lines;\n    -webkit-box-orient: vertical;\n\n    @media (min-width: $breakpoint-small) {\n        font-size: $product-card-title-font-size-s;\n        line-height: $product-card-title-line-height-s;\n        max-height: $product-card-title-max-height-s;\n    }\n}\n\n.tm-product-card-properties {\n    display: none;\n    margin: 0;\n\n    & > li:nth-child(n+2) {\n        margin-top: 5px;\n    }\n}\n\n.tm-product-card-shop {\n    display: flex;\n    margin-top: auto;\n    align-items: flex-end;\n}\n\n.tm-product-card-prices {\n    flex-grow: 1;\n}\n\n.tm-product-card-price {\n    font-size: $product-card-price-font-size;\n    font-weight: 500;\n    line-height: 1;\n}\n\n.tm-product-card-add {\n    display: flex;\n    margin-left: 10px;\n    align-items: flex-end;\n    flex-shrink: 0;\n}\n\n.tm-product-card-add-button {\n    position: relative;\n    bottom: -8px;\n    display: inline-flex;\n    width: $product-card-add-button-width;\n    height: $product-card-add-button-height;\n    padding: 0;\n    border-radius: 500px;\n    justify-content: center;\n    align-items: center;\n}\n\n.tm-product-card-add-button-text {\n    display: none;\n}\n\n// Labels\n.tm-product-card-labels {\n    position: absolute;\n    z-index: 1;\n    top: 20px;\n    right: 20px;\n\n    & > .uk-label {\n        font-size: 10px;\n        display: table;\n        margin-bottom: 3px;\n        margin-left: auto;\n        padding: 0 3px;\n\n        &:last-child {\n            margin-bottom: 0;\n        }\n    }\n}\n\n// Actions\n.tm-product-card-actions {\n    margin-right: 10px;\n    margin-bottom: 2px;\n\n    &:only-child {\n        margin-right: 0;\n    }\n}\n\n.tm-product-card-action {\n    margin-right: 10px;\n\n    &:last-child {\n        margin-right: 0;\n    }\n}\n\n.tm-product-card-action-text {\n    display: none;\n    border-bottom: 1px dotted;\n}\n\n// List view\n.tm-products-list .tm-product-card {\n    width: 100%;\n    border-bottom: $global-border-width solid $global-border;\n    box-shadow: none;\n\n    &:last-child {\n        border-bottom: none;\n    }\n\n    &:hover {\n        box-shadow: none;\n    }\n}\n\n@media (min-width: $breakpoint-tablet) {\n\n    .tm-products-list .tm-product-card {\n        flex-direction: row;\n    }\n\n    .tm-products-list .tm-product-card-media {\n        width: 33.3%;\n    }\n\n    .tm-products-list .tm-product-card-body {\n        flex-direction: row;\n        padding: 20px 20px 20px 0;\n    }\n\n    .tm-products-list .tm-product-card-info {\n        padding-right: 20px;\n        flex-grow: 1;\n        flex-basis: 0%; // for IE\n    }\n\n    .tm-products-list .tm-product-card-properties {\n        display: block;\n    }\n\n    .tm-products-list .tm-product-card-shop {\n        display: block;\n        box-sizing: border-box;\n        width: $list-view-product-card-media-width;\n        min-width: $list-view-product-card-media-min-width;\n        margin: 0;\n        padding-left: 20px;\n        border-left: $global-border-width solid $global-border;\n        flex-shrink: 0;\n    }\n\n    .tm-products-list .tm-product-card-price {\n        font-size: 24px;\n    }\n\n    .tm-products-list .tm-product-card-add {\n        flex-direction: column;\n        margin-top: 10px;\n        margin-left: 0;\n    }\n\n    .tm-products-list .tm-product-card-add-button {\n        bottom: 0;\n        width: 100%;\n        height: auto;\n        padding: 0px $button-padding-horizontal;\n        border-radius: $border-rounded-border-radius;\n    }\n\n    .tm-products-list .tm-product-card-add-button-icon {\n        display: none;\n    }\n\n    .tm-products-list .tm-product-card-add-button-text {\n        display: block;\n    }\n\n    .tm-products-list .tm-product-card-actions {\n        display: flex;\n        flex-direction: column;\n        width: 100%;\n        margin-top: 10px;\n        margin-right: 0;\n        margin-bottom: 0;\n        order: 1;\n        align-self: flex-start;\n\n        &:only-child {\n            margin-top: 0;\n        }\n    }\n\n    .tm-products-list .tm-product-card-action {\n        margin-right: 0;\n        margin-bottom: 10px;\n\n        &:last-child {\n            margin-bottom: 0;\n        }\n    }\n\n    .tm-products-list .tm-product-card-action-text {\n        display: inline;\n        margin-left: 5px;\n    }\n}\n\n//\n// Actions buttons\n//\n\n.tm-action-button-active,\n.tm-action-button-active > * {\n    color: $text-danger-color;\n}\n\n//\n// Filters\n//\n\n.tm-filters {\n    display: none;\n}\n\n.tm-filters .uk-accordion > * {\n    margin-top: 0;\n    border-top: $global-border-width solid $global-border;\n\n    &:first-child {\n        border-top: none;\n    }\n}\n\n// Offcanvas\n.tm-filters.uk-offcanvas.uk-open {\n    margin: 0;\n    padding: 0;\n}\n\n.tm-filters.uk-offcanvas.uk-offcanvas-overlay:before {\n    position: fixed;\n}\n\n@media (min-width: $breakpoint-medium) {\n\n    .tm-filters.uk-offcanvas {\n        position: static;\n        display: block;\n    }\n\n    .tm-filters.uk-offcanvas .uk-offcanvas-bar {\n        position: static;\n        overflow: visible;\n        width: auto;\n        transform: none;\n        background: none;\n    }\n\n    .tm-filters.uk-offcanvas .uk-offcanvas-bar > .uk-card > .uk-card-header {\n        display: none;\n    }\n\n}\n\n//\n// Scrollbox\n//\n\n.tm-scrollbox {\n    overflow: auto;\n    max-height: $scrollbox-max-height;\n    background: linear-gradient(#FFF 30%, rgba(255, 255, 255, 0)),\n    linear-gradient(rgba(255, 255, 255, 0), #FFF 70%) 0 100%,\n    radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)),\n    radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;\n    background-color: $global-background;\n    background-repeat: no-repeat;\n    background-attachment: local, local, scroll, scroll;\n    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n}\n\n//\n// Checkbox, radio\n//\n\n.tm-checkbox,\n.tm-radio {\n    display: none;\n\n    & + label {\n        position: relative;\n        display: inline-flex;\n        cursor: pointer;\n    }\n\n    & + label::before,\n    & + label::after {\n        content: \"\";\n        display: block;\n        width: $control-inputs-size;\n        height: $control-inputs-size;\n    }\n\n    & + label::before {\n        margin-top: 3px;\n        margin-right: $global-small-margin;\n        border: $global-border-width solid $global-border;\n        flex-shrink: 0;\n    }\n\n    &:hover + label::before {\n        background-color: $control-inputs-hover;\n    }\n\n    &:checked + label::before {\n        border-color: transparent;\n        background-color: $global-primary-background;\n    }\n\n    & + label::after {\n        position: absolute;\n        top: 3px;\n        left: 0;\n        border: 1px solid transparent;\n    }\n\n    &:checked + label::after {\n        background-color: transparent;\n        background-repeat: no-repeat;\n        background-position: 50% 50%;\n    }\n}\n\n.tm-checkbox + label::before {\n    border-radius: $border-rounded-border-radius;\n}\n\n.tm-radio + label::before {\n    border-radius: 50%;\n}\n\n.tm-checkbox:checked + label::after {\n    @include svg-fill($control-checkbox-image, \"#000\", $global-inverse-color);\n}\n\n.tm-radio:checked + label::after {\n    @include svg-fill($control-radio-image, \"#000\", $global-inverse-color);\n}\n\n//\n// Help icon\n//\n\n.tm-help-icon {\n    position: relative;\n    margin-left: $global-xsmall-margin;\n    cursor: pointer;\n    color: $global-muted-color;\n    border-radius: 100%;\n    background-color: $global-muted-background;\n\n    &:hover {\n        color: $global-color;\n    }\n}\n\n//\n// Slider\n//\n\n.tm-slider-items {\n\n    .tm-media-box-frame {\n        padding: $global-xsmall-gutter;\n        transition: 0.25s linear;\n        transition-property: opacity;\n        opacity: 0.75;\n    }\n\n    & > :hover .tm-media-box-frame {\n        opacity: 1;\n    }\n\n    & > .uk-active .tm-media-box-frame {\n        opacity: 1;\n        border-color: $global-primary-background;\n    }\n}\n\n//\n// Variations\n//\n\n.tm-variations {\n    margin: 0 0 0 -10px;\n\n    & > * {\n        padding-left: 10px;\n    }\n\n    & > * > :first-child {\n        color: $global-color;\n        border: $global-border-width solid $global-border;\n    }\n\n    & > .uk-active > a {\n        color: $global-color;\n        border-color: $global-primary-background;\n        background-color: transparent;\n    }\n\n    & > * > .tm-variation-color {\n        padding: 5px;\n        border-radius: 50%;\n    }\n}\n\n.tm-variation-color > div {\n    width: 20px;\n    height: 20px;\n    border-radius: 50%;\n}\n\n//\n// Product\n//\n\n.tm-product-info {\n    border-top: $global-border-width solid $global-border;\n\n    @media (min-width: $breakpoint-medium) {\n        min-width: 390px;\n        border-top: none;\n        border-left: $global-border-width solid $global-border;\n    }\n}\n\n// Price\n.tm-product-price {\n    font-size: 32px;\n    font-weight: 500;\n    line-height: 1;\n}\n\n// Add to card button\n.tm-product-add-button {\n    padding: 0 15px;\n\n    @media(min-width: 420px) {\n        padding: 0 25px;\n    }\n}\n\n// Description\n.tm-product-description {\n    border-top: $global-border solid $global-border-width;\n}\n\n// Nav\n.tm-product-nav {\n    display: flex;\n    overflow: auto;\n    background-color: $global-background;\n\n    & > .uk-subnav {\n        display: flex;\n        margin: 0 auto;\n        padding: 10px 15px;\n        flex-wrap: nowrap;\n        flex-shrink: 0;\n\n        @media(min-width: $breakpoint-small) {\n            padding: 20px;\n        }\n\n        & > :first-child {\n            padding-left: 0;\n        }\n    }\n}\n\n.tm-product-nav-fixed {\n    transition: box-shadow 0.1s ease-in-out;\n    box-shadow: inset 0 -$global-border-width 0 0 $global-border;\n}\n\n//\n// Quantity\n//\n\n.tm-quantity-input {\n    width: 60px;\n    margin: 0 $global-xsmall-margin;\n    text-align: center;\n}\n\n//\n// Slidenav\n//\n\n.tm-slidenav.uk-invisible {\n    visibility: visible !important;\n    pointer-events: none;\n    opacity: 0.3;\n}\n\n//\n// Checkout\n//\n\n.tm-checkout {\n    counter-reset: list;\n}\n\n.tm-checkout-title::before {\n    content: counter(list) \". \";\n    counter-increment: list;\n    color: $global-muted-color;\n}\n\n//\n// Choose\n//\n\n.tm-choose {\n    position: relative;\n    width: 100%;\n    padding: 40px 20px 10px;\n    cursor: pointer;\n    border: $global-border-width solid $global-border;\n    border-radius: $border-rounded-border-radius;\n\n    &.uk-active {\n        border-color: $global-primary-background;\n    }\n\n    &:not(.uk-active):hover,\n    &:not(.uk-active):focus {\n        background-color: $global-muted-background;\n    }\n\n    &::before,\n    &::after {\n        content: \"\";\n        position: absolute;\n        top: 12px;\n        left: 50%;\n        display: block;\n        width: $control-inputs-size;\n        height: $control-inputs-size;\n        cursor: pointer;\n        transform: translate(-50%, 0);\n    }\n\n    &::before {\n        border: $global-border-width solid $global-border;\n        border-radius: 50%;\n        flex-shrink: 0;\n    }\n\n    &:hover::before {\n        background-color: $control-inputs-hover;\n    }\n\n    &.uk-active::before {\n        border-color: transparent;\n        background-color: $global-primary-background;\n    }\n\n    &::after {\n        position: absolute;\n        border: 1px solid transparent;\n    }\n\n    &.uk-active::after {\n        background-color: transparent;\n        background-repeat: no-repeat;\n        background-position: 50% 50%;\n        @include svg-fill($control-radio-image, \"#000\", $global-inverse-color);\n    }\n\n    .tm-choose-title {\n        font-size: $global-small-font-size;\n        text-align: center;\n        text-transform: uppercase;\n        color: $global-muted-color;\n    }\n\n    &.uk-active .tm-choose-title {\n        color: $global-color;\n    }\n\n    .tm-choose-description {\n        font-size: $global-xsmall-font-size;\n        margin-top: $global-xsmall-margin;\n        text-align: center;\n        color: $global-muted-color;\n    }\n}\n\n//\n// Wrapper\n//\n\n// Small card\n.uk-card-body.uk-card-small .tm-wrapper,\n.uk-card-small .uk-card-body .tm-wrapper {\n    margin-right: -$card-small-body-padding-horizontal;\n    margin-left: -$card-small-body-padding-horizontal;\n}\n\n.uk-card-body.uk-card-small .tm-wrapper:first-child,\n.uk-card-small .uk-card-body .tm-wrapper:first-child {\n    margin-top: -$card-small-body-padding-vertical;\n}\n\n.uk-card-body.uk-card-small .tm-wrapper:last-child,\n.uk-card-small .uk-card-body .tm-wrapper:last-child {\n    margin-bottom: -$card-small-body-padding-vertical;\n}\n\n.uk-card-body.uk-card-small .tm-wrapper figcaption,\n.uk-card-small .uk-card-body .tm-wrapper figcaption {\n    margin-right: $card-small-body-padding-horizontal;\n    margin-left: $card-small-body-padding-horizontal;\n}\n\n// Normal card\n.uk-card-body .tm-wrapper {\n    margin-right: -$card-body-padding-horizontal;\n    margin-left: -$card-body-padding-horizontal;\n}\n\n.uk-card-body .tm-wrapper:first-child {\n    margin-top: -$card-body-padding-vertical;\n}\n\n.uk-card-body .tm-wrapper:last-child {\n    margin-bottom: -$card-body-padding-vertical;\n}\n\n.uk-card-body .tm-wrapper figcaption {\n    margin-top: $global-xsmall-margin;\n    margin-right: $card-body-padding-horizontal;\n    margin-left: $card-body-padding-horizontal;\n    text-align: center;\n    color: $global-muted-color;\n}\n\n@media (min-width: $breakpoint-large) {\n\n    .uk-card-body .tm-wrapper {\n        margin-right: -$card-body-padding-horizontal-l;\n        margin-left: -$card-body-padding-horizontal-l;\n    }\n\n    .uk-card-body .tm-wrapper:first-child {\n        margin-top: -$card-body-padding-vertical-l;\n    }\n\n    .uk-card-body .tm-wrapper:last-child {\n        margin-bottom: -$card-body-padding-vertical-l;\n    }\n\n}\n\n//\n// Compare table\n//\n\n.tm-compare-table {\n    height: 0;\n\n    td,\n    th {\n        vertical-align: top;\n    }\n\n    td:not(:first-child) {\n        //border-left: $table-striped-border-width solid $table-striped-border;\n    }\n\n    th {\n        font-size: $global-font-size;\n        text-transform: none;\n    }\n\n    tbody > tr:nth-of-type(even) {\n        background-color: $table-striped-row-background;\n    }\n}\n\n.tm-compare-table-column {\n    min-width: 240px;\n}\n\n//\n// Rating\n//\n\n.tm-rating {\n    margin-left: -3px;\n    color: $global-muted-color;\n\n    & > * {\n        padding-left: 3px;\n    }\n}\n\n//\n// Reviews\n//\n\n.tm-reviews-column {\n    min-width: 200px;\n}\n\n//\n// Cart\n//\n\n.tm-cart-quantity-column {\n    min-width: 115px !important;\n}\n\n//\n// Nav\n//\n\n.tm-nav > li > a {\n    padding: 10px 0;\n}\n\n.tm-nav > li.uk-active > a,\n.tm-nav > li > a:hover {\n    box-shadow: inset 2px 0 0 $global-primary-background;\n}\n\n.tm-nav > li.uk-active > a {\n    font-weight: 500;\n}\n\n//\n// Ratio\n//\n\n.tm-ratio {\n    position: relative;\n\n    &::before {\n        content: \"\";\n        display: block;\n        width: 100%;\n    }\n\n    & > * {\n        position: absolute;\n        top: 0;\n        right: 0;\n        bottom: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n}\n\n.tm-ratio-1-1::before {\n    padding-top: $ratio-1-1;\n}\n\n.tm-ratio-3-2::before {\n    padding-top: $ratio-3-2;\n}\n\n.tm-ratio-4-3::before {\n    padding-top: $ratio-4-3;\n}\n\n.tm-ratio-16-9::before {\n    padding-top: $ratio-16-9;\n}\n\n//\n// Media box\n//\n\n.tm-media-box {\n    display: block;\n    box-sizing: border-box;\n    height: 100%;\n}\n\n.tm-media-box-frame {\n    border: $global-border-width solid $global-border;\n    border-radius: $border-rounded-border-radius;\n}\n\n.tm-media-box-zoom {\n    cursor: zoom-in;\n}\n\n.tm-media-box-wrap {\n    position: relative;\n    height: 100%;\n    margin: 0;\n\n    & > * {\n        @include center();\n        display: block;\n        max-width: 100%;\n        max-height: 100%;\n    }\n}\n\n//\n// Pseudo\n//\n\n.tm-pseudo {\n    border-bottom: $global-border-width dotted;\n}\n\n//\n// Ignore container\n//\n\n.tm-ignore-container {\n    @media(max-width: $breakpoint-small) {\n        margin-right: -$container-padding-horizontal;\n        margin-left: -$container-padding-horizontal;\n        border-radius: 0;\n    }\n}\n\n//\n// Remove shadow\n//\n\n.tm-shadow-remove {\n    box-shadow: none;\n}\n\n//\n// Shine effect\n//\n\n.tm-shine {\n    position: relative;\n    overflow: hidden;\n\n    &::after {\n        content: \"\";\n        position: absolute;\n        top: 0;\n        left: -30px;\n        width: 30px;\n        height: 100%;\n        transform: skew(-10deg, 0deg);\n        opacity: 0.3;\n        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%,\n                rgba(255, 255, 255, 0.03) 1%,\n                rgba(255, 255, 255, 0.6) 30%,\n                rgba(255, 255, 255, 0.85) 50%,\n                rgba(255, 255, 255, 0.85) 70%,\n                rgba(255, 255, 255, 0.85) 71%,\n                rgba(255, 255, 255, 0) 100%);\n    }\n\n    &:hover::after {\n        left: 100%;\n        transition: .6s ease-out;\n    }\n}\n\n//\n// Grayscale\n//\n\n.tm-grayscale {\n    filter: grayscale(100%) opacity(50%);\n\n    &:hover {\n        filter: none;\n    }\n}"
  },
  {
    "path": "src/sass/style.scss",
    "content": "// UIkit variables and custom variable overrides\n@import \"uikit-theme/variables\";\n\n// UIkit mixins\n@import \"~uikit/src/scss/mixins-theme.scss\";\n\n// Custom mixins for components override (using hooks)\n// (see: https://getuikit.com/docs/sass#use-hooks)\n@import \"uikit-theme/mixins/import\";\n\n// Partial import of UIkit components needed by our theme\n@import \"uikit-components\";\n\n// Our custom styles\n@import \"custom\";"
  },
  {
    "path": "src/sass/uikit-components.scss",
    "content": "// Base\n@import \"~uikit/src/scss/components/mixin\";\n@import \"~uikit/src/scss/components/base\";\n\n// Elements\n@import \"~uikit/src/scss/components/link\";\n@import \"~uikit/src/scss/components/heading\";\n//@import \"~uikit/src/scss/components/divider\";\n@import \"~uikit/src/scss/components/list\";\n@import \"~uikit/src/scss/components/description-list\";\n@import \"~uikit/src/scss/components/table\";\n@import \"~uikit/src/scss/components/icon\";\n//@import \"~uikit/src/scss/components/form-range\";\n@import \"~uikit/src/scss/components/form\"; // After: Icon, Form Range\n@import \"~uikit/src/scss/components/button\";\n\n// Layout\n@import \"~uikit/src/scss/components/section\";\n@import \"~uikit/src/scss/components/container\";\n@import \"~uikit/src/scss/components/grid\";\n//@import \"~uikit/src/scss/components/tile\";\n@import \"~uikit/src/scss/components/card\";\n\n// Common\n@import \"~uikit/src/scss/components/close\"; // After: Icon\n@import \"~uikit/src/scss/components/spinner\"; // After: Icon\n//@import \"~uikit/src/scss/components/totop\"; // After: Icon\n//@import \"~uikit/src/scss/components/marker\"; // After: Icon\n//@import \"~uikit/src/scss/components/alert\"; // After: Close\n@import \"~uikit/src/scss/components/badge\";\n@import \"~uikit/src/scss/components/label\";\n@import \"~uikit/src/scss/components/overlay\"; // After: Icon\n@import \"~uikit/src/scss/components/article\"; // After: Subnav\n//@import \"~uikit/src/scss/components/comment\"; // After: Subnav\n@import \"~uikit/src/scss/components/search\"; // After: Icon\n\n// Navs\n@import \"~uikit/src/scss/components/nav\";\n@import \"~uikit/src/scss/components/navbar\"; // After: Card, Grid, Nav, Icon, Search\n@import \"~uikit/src/scss/components/subnav\";\n@import \"~uikit/src/scss/components/breadcrumb\";\n@import \"~uikit/src/scss/components/pagination\";\n@import \"~uikit/src/scss/components/tab\";\n@import \"~uikit/src/scss/components/slidenav\"; // After: Icon\n@import \"~uikit/src/scss/components/dotnav\";\n//@import \"~uikit/src/scss/components/thumbnav\";\n\n// JavaScript\n@import \"~uikit/src/scss/components/accordion\";\n@import \"~uikit/src/scss/components/drop\"; // After: Card\n@import \"~uikit/src/scss/components/dropdown\"; // After: Card\n@import \"~uikit/src/scss/components/modal\"; // After: Close\n@import \"~uikit/src/scss/components/lightbox\"; // After: Close\n@import \"~uikit/src/scss/components/slideshow\";\n@import \"~uikit/src/scss/components/slider\";\n@import \"~uikit/src/scss/components/sticky\";\n@import \"~uikit/src/scss/components/offcanvas\";\n@import \"~uikit/src/scss/components/switcher\";\n//@import \"~uikit/src/scss/components/leader\";\n// Scrollspy\n// Toggle\n// Scroll\n\n// Additional\n@import \"~uikit/src/scss/components/iconnav\";\n@import \"~uikit/src/scss/components/notification\";\n@import \"~uikit/src/scss/components/tooltip\";\n//@import \"~uikit/src/scss/components/placeholder\";\n//@import \"~uikit/src/scss/components/progress\";\n//@import \"~uikit/src/scss/components/sortable\";\n//@import \"~uikit/src/scss/components/countdown\";\n\n// Utilities\n//@import \"~uikit/src/scss/components/animation\";\n@import \"~uikit/src/scss/components/width\";\n@import \"~uikit/src/scss/components/height\";\n@import \"~uikit/src/scss/components/text\";\n@import \"~uikit/src/scss/components/column\";\n@import \"~uikit/src/scss/components/cover\";\n@import \"~uikit/src/scss/components/background\";\n//@import \"~uikit/src/scss/components/align\";\n//@import \"~uikit/src/scss/components/svg\";\n@import \"~uikit/src/scss/components/utility\";\n@import \"~uikit/src/scss/components/flex\"; // After: Utility\n@import \"~uikit/src/scss/components/margin\";\n@import \"~uikit/src/scss/components/padding\";\n@import \"~uikit/src/scss/components/position\";\n//@import \"~uikit/src/scss/components/transition\";\n@import \"~uikit/src/scss/components/visibility\";\n@import \"~uikit/src/scss/components/inverse\";\n\n// Need to be loaded last\n//@import \"~uikit/src/scss/components/print\";"
  },
  {
    "path": "src/sass/uikit-theme/mixins/_import.scss",
    "content": "@import \"accordion\";\n@import \"article\";\n@import \"background\";\n@import \"base\";\n@import \"breadcrumb\";\n@import \"button\";\n@import \"card\";\n@import \"form\";\n@import \"margin\";\n@import \"notification\";\n@import \"offcanvas\";\n@import \"section\";\n@import \"subnav\";\n@import \"table\";\n@import \"text\";"
  },
  {
    "path": "src/sass/uikit-theme/mixins/accordion.scss",
    "content": "@mixin hook-accordion-title() {\n    cursor: pointer;\n\n    overflow: hidden;\n\n    &::before {\n        content: \"\";\n        width: ($accordion-title-line-height * 1em);\n        height: ($accordion-title-line-height * 1em);\n        margin-left: $accordion-icon-margin-left;\n        float: right;\n        @include svg-fill($internal-accordion-close-image, \"#000\", $accordion-icon-color);\n        background-repeat: no-repeat;\n        background-position: 50% 50%;\n    }\n\n    .uk-open > &::before { @include svg-fill($internal-accordion-open-image, \"#000\", $accordion-icon-color); }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/article.scss",
    "content": "@mixin hook-article-misc() {\n    .uk-article-body {\n\n        &:not(:first-child) {\n            margin-top: $global-margin;\n        }\n\n        & > p,\n        & > ul,\n        & > ol,\n        & > dl,\n        & > h1,\n        & > h2,\n        & > h3,\n        & > h4,\n        & > h5,\n        & > h6,\n        & > blockquote,\n        & > pre,\n        & > iframe,\n        & > figure,\n        & > table,\n        & > hr,\n        & > twitterwidget {\n            width: 100%;\n            max-width: $breakpoint-small;\n            margin-right: auto;\n            margin-left: auto;\n        }\n\n        :first-child {\n            margin-top: 0;\n        }\n\n        :last-child {\n            margin-bottom: 0;\n        }\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/background.scss",
    "content": "@mixin hook-background-misc() {\n    .uk-background-primary-lighten {\n        background-color: $background-primary-background-lighten;\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/base.scss",
    "content": "@mixin hook-base-body() {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    text-rendering: optimizeLegibility;\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/breadcrumb.scss",
    "content": "@mixin hook-breadcrumb-misc() {\n    .uk-breadcrumb > :nth-last-child(2):not(.uk-first-column)::before {\n        @media (max-width: $breakpoint-small) {\n            content: \"←\";\n            margin: 0 10px 0 -20px;\n        }\n    }\n\n    .uk-breadcrumb > :not(:nth-last-child(2)) {\n        display: none;\n\n        @media (min-width: $breakpoint-small) {\n            display: inline;\n        }\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/button.scss",
    "content": "@mixin hook-button() {\n    border-radius: $border-rounded-border-radius;\n    text-transform: $button-text-transform;\n    transition: 0.1s ease-in-out;\n    transition-property: color, background-color, border-color;\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/card.scss",
    "content": "@mixin hook-card-default() {\n    border-radius: $border-rounded-border-radius;\n    box-shadow: $card-default-box-shadow;\n}\n\n@mixin hook-card-media() {\n    margin: 0;\n}\n\n@mixin hook-card-misc() {\n    .uk-card-body + .uk-card-body {\n        border-top: $global-border-width solid $global-border;\n    }\n\n    /*\n     * Default\n     */\n\n    .uk-card-body > .uk-nav-default {\n        margin-left: (-$card-body-padding-horizontal);\n        margin-right: (-$card-body-padding-horizontal);\n    }\n    .uk-card-body > .uk-nav-default:only-child {\n        margin-top: (-$card-body-padding-vertical + 15px);\n        margin-bottom: (-$card-body-padding-vertical + 15px);\n    }\n\n    .uk-card-body .uk-nav-default > li > a,\n    .uk-card-body .uk-nav-default .uk-nav-header,\n    .uk-card-body .uk-nav-default .uk-nav-divider {\n        padding-left: $card-body-padding-horizontal;\n        padding-right: $card-body-padding-horizontal;\n    }\n\n    .uk-card-body .uk-nav-default .uk-nav-sub { padding-left: $nav-sublist-deeper-padding-left + $card-body-padding-horizontal; }\n\n\n    /* Desktop and bigger */\n    @media (min-width: $breakpoint-large) {\n\n        .uk-card-body > .uk-nav-default {\n            margin-left: (-$card-body-padding-horizontal-l);\n            margin-right: (-$card-body-padding-horizontal-l);\n        }\n        .uk-card-body > .uk-nav-default:only-child {\n            margin-top: (-$card-body-padding-vertical-l + 15px);\n            margin-bottom: (-$card-body-padding-vertical-l + 15px);\n        }\n\n        .uk-card-body .uk-nav-default > li > a,\n        .uk-card-body .uk-nav-default .uk-nav-header,\n        .uk-card-body .uk-nav-default .uk-nav-divider {\n            padding-left: $card-body-padding-horizontal-l;\n            padding-right: $card-body-padding-horizontal-l;\n        }\n\n        .uk-card-body .uk-nav-default .uk-nav-sub { padding-left: $nav-sublist-deeper-padding-left + $card-body-padding-horizontal-l; }\n\n    }\n\n    /*\n     * Small\n     */\n\n    .uk-card-small > .uk-nav-default {\n        margin-left: (-$card-small-body-padding-horizontal);\n        margin-right: (-$card-small-body-padding-horizontal);\n    }\n    .uk-card-small > .uk-nav-default:only-child {\n        margin-top: (-$card-small-body-padding-vertical + 15px);\n        margin-bottom: (-$card-small-body-padding-vertical + 15px);\n    }\n\n    .uk-card-small .uk-nav-default > li > a,\n    .uk-card-small .uk-nav-default .uk-nav-header,\n    .uk-card-small .uk-nav-default .uk-nav-divider {\n        padding-left: $card-small-body-padding-horizontal;\n        padding-right: $card-small-body-padding-horizontal;\n    }\n\n    .uk-card-small .uk-nav-default .uk-nav-sub { padding-left: $nav-sublist-deeper-padding-left + $card-small-body-padding-horizontal; }\n\n    /*\n     * Large\n     */\n\n    /* Desktop and bigger */\n    @media (min-width: $breakpoint-large) {\n\n        .uk-card-large > .uk-nav-default { margin: 0; }\n        .uk-card-large > .uk-nav-default:only-child { margin: 0; }\n\n        .uk-card-large .uk-nav-default > li > a,\n        .uk-card-large .uk-nav-default .uk-nav-header,\n        .uk-card-large .uk-nav-default .uk-nav-divider {\n            padding-left: 0;\n            padding-right: 0;\n        }\n\n        .uk-card-large .uk-nav-default .uk-nav-sub { padding-left: $nav-sublist-deeper-padding-left; }\n\n    }\n}\n"
  },
  {
    "path": "src/sass/uikit-theme/mixins/form.scss",
    "content": "@mixin hook-form() {\n    border-radius: $border-rounded-border-radius;\n    border: $form-border-width solid $form-border;\n    transition: 0.2s ease-in-out;\n    transition-property: color, background-color, border;\n}\n\n@mixin hook-form-misc() {\n    .uk-form-label-required::after {\n        content: \"*\";\n        margin-left: $global-xsmall-margin;\n        color: $form-danger-color;\n    }\n\n    .uk-input[type=number] {\n        -moz-appearance: textfield;\n\n        &::-webkit-inner-spin-button,\n        &::-webkit-outer-spin-button {\n            margin: 0;\n            -webkit-appearance: none;\n        }\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/margin.scss",
    "content": "@mixin hook-margin-misc() {\n    .uk-margin-xsmall {\n        margin-bottom: $margin-xsmall-margin;\n    }\n\n    * + .uk-margin-xsmall {\n        margin-top: $margin-xsmall-margin !important;\n    }\n\n    .uk-margin-xsmall-top {\n        margin-top: $margin-xsmall-margin !important;\n    }\n\n    .uk-margin-xsmall-bottom {\n        margin-bottom: $margin-xsmall-margin !important;\n    }\n\n    .uk-margin-xsmall-left {\n        margin-left: $margin-xsmall-margin !important;\n    }\n\n    .uk-margin-xsmall-right {\n        margin-right: $margin-xsmall-margin !important;\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/notification.scss",
    "content": "@mixin hook-notification-message() {\n    box-shadow: $global-small-box-shadow;\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/offcanvas.scss",
    "content": "@mixin hook-offcanvas-misc() {\n    .uk-offcanvas-bar .uk-card-header {\n        min-height: 60px;\n        padding-top: 0;\n        padding-bottom: 0;\n\n        // fixed bug in IE with \"align-items: center\"\n        &::after {\n            content: \"\";\n            font-size: 0;\n            display: block;\n            min-height: inherit;\n        }\n    }\n\n    .uk-offcanvas-bar .uk-card-header .uk-offcanvas-close {\n        position: static;\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/section.scss",
    "content": "@mixin hook-section-misc() {\n    .uk-section-small {\n        padding-top: $section-small-padding-vertical;\n        padding-bottom: $section-small-padding-vertical;\n    }\n\n    /* Tablet landscape and bigger */\n    @media (min-width: $breakpoint-medium) {\n        .uk-section-small {\n            padding-top: $global-medium-margin;\n            padding-bottom: $global-medium-margin;\n        }\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/subnav.scss",
    "content": "@mixin hook-subnav-item() {\n    border-radius: $border-rounded-border-radius;\n    font-size: $subnav-item-font-size;\n    text-transform: $subnav-item-text-transform;\n    transition: 0.1s ease-in-out;\n    transition-property: color, background-color;\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/table.scss",
    "content": "@mixin hook-table-misc() {\n    .uk-table tbody th {\n        font-size: $global-font-size;\n        vertical-align: top;\n        text-transform: none;\n    }\n\n    .uk-table tbody tr {\n        transition: background-color 0.1s linear;\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/mixins/text.scss",
    "content": "@mixin hook-text-misc() {\n    .uk-text-xsmall {\n        font-size: $global-xsmall-font-size;\n        line-height: 1.2;\n    }\n\n    .uk-text-bolder {\n        font-weight: 500;\n    }\n}"
  },
  {
    "path": "src/sass/uikit-theme/variables.scss",
    "content": "//\n// UIkit global variables definitions\n//\n// Default variables with default values needed for custom variables below (\"Theme\" section)\n// (check \"~node_modules/uikit/src/scss/variables.scss\" for list of all available variables)\n//\n\n$global-background: #FFF;\n$global-border-width: 1px;\n$global-border-width: 1px;\n$global-border: #E5E5E5;\n$global-control-height: 40px;\n$global-control-large-height: 55px;\n$global-font-family: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n$global-large-font-size: 1.5rem;\n$global-large-font-size: 1.5rem;\n$global-margin: 20px;\n$global-margin: 20px;\n$global-medium-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);\n$global-medium-margin: 40px;\n$global-medium-margin: 40px;\n$global-muted-background: #F8F8F8;\n$global-muted-color: #999;\n$global-primary-background: #1e87f0;\n$global-small-font-size: 0.875rem;\n$global-xlarge-font-size: 2rem;\n$global-xsmall-font-size: 0.6875rem; // 11px\n$global-xsmall-gutter: 10px;\n$global-xsmall-margin: 5px;\n$global-xxlarge-font-size: 2.625rem;\n\n//\n// UIkit default variable overrides\n//\n\n$border-rounded-border-radius: 4px;\n\n//\n// Theme overrides\n//\n\n// Base\n$base-body-background: $global-muted-background;\n$base-h1-font-size-m: $global-xxlarge-font-size;\n$base-h1-font-size: $base-h1-font-size-m * 0.6;\n$base-h2-font-size-m: $global-xlarge-font-size;\n$base-h2-font-size: $base-h2-font-size-m * 0.7;\n$base-h3-font-size-m: $global-large-font-size;\n$base-h3-font-size: $base-h3-font-size-m * 0.8;\n$base-link-hover-text-decoration: none;\n\n// Section\n$section-primary-color-mode: none;\n$section-secondary-color-mode: none;\n$section-small-padding-vertical: $global-margin;\n\n// Card\n$card-default-background: $global-background;\n$card-primary-color-mode: none;\n$card-secondary-color-mode: none;\n\n// Article\n$article-title-font-size-m: $global-xxlarge-font-size;\n$article-title-font-size: $global-xxlarge-font-size * 0.6;\n\n// Button\n$button-border-width: $global-border-width;\n$button-default-background: transparent;\n$button-font-size: $global-small-font-size;\n$button-large-font-size: $global-small-font-size;\n$button-large-line-height: $global-control-large-height - ($button-border-width * 2) !default;\n$button-line-height: $global-control-height - ($button-border-width * 2);\n\n// Form\n$form-background: $global-background;\n$form-focus-background: $global-background;\n$form-stacked-margin-bottom: 5px;\n\n// Table\n$table-header-cell-font-weight: normal;\n$table-header-cell-color: $global-muted-color;\n\n// Lightbox\n$lightbox-background: #FFF;\n$lightbox-button-background: none;\n$lightbox-button-color: rgba(0, 0, 0, 0.7);\n$lightbox-button-hover-color: #000;\n$lightbox-item-color: rgba(0, 0, 0, 0.7);\n$lightbox-toolbar-background: transparent;\n$lightbox-toolbar-color: rgba(0, 0, 0, 0.7);\n$lightbox-toolbar-icon-color: rgba(0, 0, 0, 0.7);\n$lightbox-toolbar-icon-hover-color: #000;\n\n// Offcanvas\n$offcanvas-bar-background: $global-background;\n$offcanvas-bar-color-mode: none;\n\n// Notification\n$notification-message-background: $global-background;\n\n// Background\n$background-primary-background-lighten: lighten($global-primary-background, 40%);\n\n// Margin\n$margin-xsmall-margin: $global-xsmall-margin;\n\n// Navbar\n$navbar-nav-item-font-size: $global-small-font-size !default;\n$navbar-nav-item-height: 40px;\n\n// Overlay\n$overlay-primary-color-mode: none;\n\n// Import variables\n@import \"../../../node_modules/uikit/src/scss/variables-theme\";"
  },
  {
    "path": "src/templates/components/_navbar.pug",
    "content": "div.uk-navbar-container.tm-navbar-container(uk-sticky=\"cls-active: tm-navbar-container-fixed\")\n  div.uk-container(uk-navbar)\n\n    div.uk-navbar-left\n\n      //- Hamburger\n      button(class=\"uk-navbar-toggle uk-hidden@m\"\n             uk-toggle=\"target: #nav-offcanvas\"\n             uk-navbar-toggle-icon)\n\n      //- Logo\n      a.uk-navbar-item.uk-logo(href=\"index.html\")\n        img(src=\"images/logo.svg\" width=\"90\" height=\"32\" alt=\"Logo\")\n\n      //- Navigation\n      nav(class=\"uk-visible@m\")\n        ul.uk-navbar-nav\n          each item in navbarMenu\n            li\n              a(href= item.href)= item.name\n                if item.items\n                  +icon('chevron-down', '.75')(class=\"uk-margin-xsmall-left\")\n              if item.items\n                div(class=\"uk-navbar-dropdown uk-margin-remove uk-padding-remove-vertical\"\n                    uk-drop=\"pos: bottom-justify;\" +\n                            \"delay-show: 125;\" +\n                            \"delay-hide: 50;\" +\n                            \"duration: 75;\" +\n                            \"boundary: .tm-navbar-container;\" +\n                            \"boundary-align: true;\" +\n                            \"pos: bottom-justify;\" +\n                            \"flip: x\")\n\n                  if item.name === \"Catalog\"\n                    div.uk-container\n                      ul.uk-navbar-dropdown-grid.uk-child-width-1-5(uk-grid)\n                        each category in item.items\n                          li\n                            div.uk-margin-top.uk-margin-bottom\n                              a.uk-link-reset(href= category.href)\n                                if category.image\n                                  img(class=\"uk-display-block uk-margin-auto uk-margin-bottom\"\n                                      src= category.image\n                                      alt= category.name\n                                      width=\"80\"\n                                      height=\"80\")\n                                div.uk-text-bolder= category.name\n                              if category.items\n                                ul.uk-nav.uk-nav-default\n                                  each subcategory in category.items\n                                    li\n                                      a(href=\"subcategory.html\")= subcategory\n\n                  if item.name === \"Brands\"\n                    div.uk-container.uk-container-small.uk-margin-top.uk-margin-bottom\n                      ul.uk-grid-small.uk-child-width-1-6(uk-grid)\n                        each brand in item.items\n                          li\n                            div.tm-ratio.tm-ratio-4-3\n                              a(class=\"uk-link-muted \" +\n                                      \"uk-text-center \" +\n                                      \"uk-display-block \" +\n                                      \"uk-padding-small \" +\n                                      \"uk-box-shadow-hover-large \" +\n                                      \"tm-media-box\"\n                                href=\"#\"\n                                title= brand.name)\n                                figure.tm-media-box-wrap\n                                  img(src= brand.image alt= brand.name)\n                      div.uk-text-center.uk-margin\n                        +link-to-all('See all brands', item.href)\n\n                  if item.name === \"Pages\"\n                    div.uk-container.uk-container-small.uk-margin-top.uk-margin-bottom\n                      ul.uk-nav.uk-nav-default.uk-column-1-3\n                        each page in item.items\n                          li\n                            a(href= page.href)= page.name\n\n    div.uk-navbar-right\n\n      //- Search\n      a.uk-navbar-toggle.tm-navbar-button(href=\"#\" uk-search-icon)\n      div.uk-navbar-dropdown.uk-padding-small.uk-margin-remove(\n        uk-drop=\"mode: click;\" +\n                \"cls-drop: uk-navbar-dropdown;\" +\n                \"boundary: .tm-navbar-container;\" +\n                \"boundary-align: true;\" +\n                \"pos: bottom-justify;\" +\n                \"flip: x\")\n        div.uk-container\n          div.uk-grid-small.uk-flex-middle(uk-grid)\n            div.uk-width-expand\n              form.uk-search.uk-search-navbar.uk-width-1-1\n                input.uk-search-input(type=\"search\" placeholder=\"Search…\" autofocus)\n            div.uk-width-auto\n              a.uk-navbar-dropdown-close(href=\"#\" uk-close)\n\n      //- Compare\n      a(class=\"uk-navbar-item uk-link-muted uk-visible@m tm-navbar-button\"\n        href=\"compare.html\")\n        span(uk-icon=\"copy\")\n        span.uk-badge 3\n\n      //- User\n      a.uk-navbar-item.uk-link-muted.tm-navbar-button(href=\"account.html\" uk-icon=\"user\")\n      div(class=\"uk-padding-small uk-margin-remove\"\n          uk-dropdown=\"pos: bottom-right; offset: -10; delay-hide: 200;\"\n          style=\"min-width: 150px;\")\n        ul.uk-nav.uk-dropdown-nav\n          li\n            a(href=\"account.html\") Orders\n              |\n              |\n              span (2)\n          li\n            a(href=\"favorites.html\") Favorites\n              |\n              |\n              span (3)\n          li\n            a(href=\"personal.html\") Personal\n          li\n            a(href=\"settings.html\") Settings\n          li.uk-nav-divider\n          li\n            a(href=\"#\") Log out\n\n      //- Cart\n      a.uk-navbar-item.uk-link-muted.tm-navbar-button(\n        href=\"cart.html\"\n        uk-toggle=\"target: #cart-offcanvas\"\n        onclick=\"return false\")\n        span(uk-icon=\"cart\")\n        span.uk-badge 2"
  },
  {
    "path": "src/templates/components/_toolbar.pug",
    "content": "include ../mixins/_icon\n\ndiv(class=\"uk-navbar-container \" +\n          \"uk-light \" +\n          \"uk-visible@m \" +\n          \"tm-toolbar-container\")\n  div.uk-container(uk-navbar)\n\n    div.uk-navbar-left\n      nav\n        ul.uk-navbar-nav\n\n          //- Phone\n          li\n            a(href=\"#\")\n              +icon(\"receiver\", \".75\")(class=\"uk-margin-xsmall-right\")\n              span.tm-pseudo= shopInfo.phone\n\n          //- Address\n          li\n            a(href=\"contacts.html\" onclick=\"return false\")\n              +icon(\"location\", \".75\")(class=\"uk-margin-xsmall-right\")\n              span.tm-pseudo Store in St. Petersburg\n              +icon(\"triangle-down\", \".75\")\n            div.uk-margin-remove(uk-drop=\"mode: click; pos: bottom-center;\")\n              div(class=\"uk-card \" +\n                        \"uk-card-default \" +\n                        \"uk-card-small \" +\n                        \"uk-box-shadow-xlarge \" +\n                        \"uk-overflow-hidden \" +\n                        \"uk-padding-small \" +\n                        \"uk-padding-remove-horizontal \" +\n                        \"uk-padding-remove-bottom\")\n                figure.uk-card-media-top.uk-height-small.js-map(\n                  data-latitude= shopInfo.latitude\n                  data-longitude= shopInfo.longitude\n                  data-zoom=\"14\")\n                div.uk-card-body\n                  div.uk-text-small\n                    div.uk-text-bolder= shopInfo.storeName\n                    div!= shopInfo.address\n                    div= shopInfo.openingHours\n                  div.uk-margin-small\n                    +link-to-all(\"contacts\", \"contacts.html\")(class=\"uk-link-reset\")\n\n          //- Opening hours\n          li\n            div.uk-navbar-item\n              +icon(\"clock\", \".75\")(class=\"uk-margin-xsmall-right\")\n              | #{shopInfo.openingHours}\n\n    div.uk-navbar-right\n      nav\n        ul.uk-navbar-nav\n          each item in toolbarMenu\n            li: a(href= item.href)= item.name"
  },
  {
    "path": "src/templates/data/_data.pug",
    "content": "-\n  var shopInfo = {\n    phone: '8 800 799 99 99',\n    email: 'example@example.com',\n    address: 'St.&nbsp;Petersburg, Nevsky&nbsp;Prospect&nbsp;28',\n    openingHours: 'Daily 10:00–22:00',\n    storeName: 'Store Name',\n    latitude: 59.9356728,\n    longitude: 30.3258604\n  }\n\n  var catalog = [{\n    name: 'Laptops & Tablets',\n    id: 'laptops-tablets',\n    href: 'category.html',\n    image: 'images/catalog/computers.svg',\n    quantity: 367,\n    items: [\n      'Laptops',\n      'Tablets',\n      'Peripherals',\n      'Keyboards',\n      'Accessories'\n    ]\n  }, {\n    name: 'Phones & Gadgets',\n    id: 'phones-gadgets',\n    href: 'category.html',\n    image: 'images/catalog/phones.svg',\n    quantity: 144,\n    items: [\n      'Smartphones',\n      'Mobile Phones',\n      'Smart watches',\n      'Charging and batteries',\n      'Accessories'\n    ]\n  }, {\n    name: 'TV & Video',\n    id: 'tv-video',\n    href: 'category.html',\n    image: 'images/catalog/tv.svg',\n    quantity: 58,\n    items: [\n      'TV',\n      'Home Cinema',\n      'Satellite & Cable TV',\n      'Projectors',\n      'DVD & Blu-ray',\n      'Accessories'\n    ]\n  }, {\n    name: 'Games & Entertainment',\n    id: 'games-entertainment',\n    href: 'category.html',\n    image: 'images/catalog/games.svg',\n    quantity: 13,\n    items: [\n      'Gaming consoles',\n      'Games',\n      'Software',\n      'Joysticks & gamepads',\n      'Accessories'\n    ]\n  }, {\n    name: 'Photo',\n    id: 'photo',\n    href: 'category.html',\n    image: 'images/catalog/photo.svg',\n    quantity: 59,\n    items: [\n      'Cameras',\n      'Lenses',\n      'Accessories'\n    ]\n  }]\n\n  var brands = [{\n    name: 'Apple',\n    image: 'images/brands/apple.svg',\n  }, {\n    name: 'Samsung',\n    image: 'images/brands/samsung.svg'\n  }, {\n    name: 'Sony',\n    image: 'images/brands/sony.svg'\n  }, {\n    name: 'Microsoft',\n    image: 'images/brands/microsoft.svg'\n  }, {\n    name: 'Intel',\n    image: 'images/brands/intel.svg'\n  }, {\n    name: 'HP',\n    image: 'images/brands/hp.svg'\n  }, {\n    name: 'LG',\n    image: 'images/brands/lg.svg'\n  }, {\n    name: 'Lenovo',\n    image: 'images/brands/lenovo.svg'\n  }, {\n    name: 'ASUS',\n    image: 'images/brands/asus.svg'\n  }, {\n    name: 'Acer',\n    image: 'images/brands/acer.svg'\n  }, {\n    name: 'Dell',\n    image: 'images/brands/dell.svg'\n  }, {\n    name: 'Canon',\n    image: 'images/brands/canon.svg'\n  }]\n\n  var toolbarMenu = [{\n    name: 'News',\n    href: 'news.html'\n  }, {\n    name: 'FAQ',\n    href: 'faq.html'\n  }, {\n    name: 'Payment',\n    href: '#'\n  }]\n\n  var navbarMenu = [{\n    name: 'Catalog',\n    href: 'catalog.html',\n    items: catalog\n  }, {\n    name: 'Brands',\n    href: 'brands.html',\n    items: brands\n  }, {\n    name: 'Pages',\n    href: '#',\n    items: [{\n      name: 'Catalog',\n      href: 'catalog.html'\n    }, {\n      name: 'Category',\n      href: 'category.html'\n    }, {\n      name: 'Subcategory',\n      href: 'subcategory.html'\n    }, {\n      name: 'Product',\n      href: 'product.html'\n    }, {\n      name: 'Cart',\n      href: 'cart.html'\n    }, {\n      name: 'Checkout',\n      href: 'checkout.html'\n    }, {\n      name: 'Compare',\n      href: 'compare.html'\n    }, {\n      name: 'Brands',\n      href: 'brands.html'\n    }, {\n      name: 'Compare',\n      href: 'compare.html'\n    }, {\n      name: 'Account',\n      href: 'account.html'\n    }, {\n      name: 'Favorites',\n      href: 'favorites.html'\n    }, {\n      name: 'Personal',\n      href: 'personal.html'\n    }, {\n      name: 'Settings',\n      href: 'settings.html'\n    }, {\n      name: 'About',\n      href: 'about.html'\n    }, {\n      name: 'Contacts',\n      href: 'contacts.html'\n    }, {\n      name: 'Blog',\n      href: 'blog.html'\n    }, {\n      name: 'News',\n      href: 'news.html'\n    }, {\n      name: 'Article',\n      href: 'article.html'\n    }, {\n      name: 'FAQ',\n      href: 'faq.html'\n    }, {\n      name: 'Delivery',\n      href: 'delivery.html'\n    }, {\n      name: '404',\n      href: '404.html'\n    }]\n  }, {\n    name: 'Blog',\n    href: 'blog.html'\n  }, {\n    name: 'About',\n    href: 'about.html'\n  }, {\n    name: 'Contacts',\n    href: 'contacts.html'\n  }]\n\n  var footerMenuLeft = [{\n    name: 'Catalog',\n    href: 'catalog.html'\n  }, {\n    name: 'Brands',\n    href: 'brands.html'\n  }, {\n    name: 'Delivery',\n    href: 'delivery.html'\n  }, {\n    name: 'FAQ',\n    href: 'faq.html'\n  }, {\n    name: 'Payment',\n    href: '#'\n  }]\n\n  var footerMenuRight = [{\n    name: 'About',\n    href: 'about.html'\n  }, {\n    name: 'Contacts',\n    href: 'contacts.html'\n  }, {\n    name: 'Blog',\n    href: 'blog.html'\n  }, {\n    name: 'News',\n    href: 'news.html'\n  }]\n\n  var socials = [{\n    name: 'Facebook',\n    icon: 'facebook'\n  }, {\n    name: 'Twitter',\n    icon: 'twitter'\n  }, {\n    name: 'YouTube',\n    icon: 'youtube'\n  }, {\n    name: 'Instagram',\n    icon: 'instagram'\n  }]\n\n  var products = [{\n    id: 1,\n    name: 'Apple MacBook Pro 15\" Touch Bar MPTU2LL/A 256GB (Silver)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/1/1-small.jpg',\n      medium: 'images/products/1/1-medium.jpg',\n      large: 'images/products/1/1-large.jpg',\n    },\n    additionalImages: [{\n      small: 'images/products/1/1-add-1-small.jpg',\n      large: 'images/products/1/1-add-1-large.jpg',\n    }, {\n      small: 'images/products/1/1-add-2-small.jpg',\n      large: 'images/products/1/1-add-2-large.jpg',\n    }, {\n      small: 'images/products/1/1-add-3-small.jpg',\n      large: 'images/products/1/1-add-3-large.jpg',\n    }, {\n      small: 'images/products/1/1-add-4-small.jpg',\n      large: 'images/products/1/1-add-4-large.jpg',\n    }],\n    price: '$1599.00',\n    oldPrice: '$1899.00',\n    brand: {\n      name: 'Apple',\n      image: 'images/brands/apple.svg',\n      href: '#',\n    },\n    variations: [{\n      name: 'Color',\n      values: [{\n        name: 'Space Grey',\n        value: '#aaaeb1'\n      }, {\n        name: 'Silver',\n        value: '#dddfde'\n      }]\n    }, {\n      name: 'SSD Storage',\n      values: [{\n        name: '256 GB',\n        value: '256 GB'\n      }, {\n        name: '512 GB',\n        value: '512 GB'\n      }]\n    }],\n    specifications: [{\n    name: 'Performance',\n    properties: {\n      'Processor': 'Intel&nbsp;Core i7&nbsp;Quad-Core',\n      'Base Clock Speed': '2.8&nbsp;GHz',\n      'Maximum Boost Speed': '3.8&nbsp;GHz',\n      'Total Installed Memory': '16&nbsp;GB',\n      'Memory Type': 'LPDDR3&nbsp;SDRAM',\n      'Memory Speed': '2133&nbsp;MHz',\n      'Onboard Memory': '16&nbsp;GB',\n      'Available Memory Slots': '—',\n      'Graphics Type': 'Hybrid',\n      'GPU': 'AMD Radeon&nbsp;Pro 555 with 2&nbsp;GB&nbsp;GDDR5 VRAM,<br>Intel HD Graphics&nbsp;630'\n      }\n    }, {\n    name: 'Display',\n    properties: {\n      'Panel Type': 'IPS',\n      'Size': '15.4\"',\n      'Aspect Ratio': '16:10',\n      'Native Resolution': '2880×1800',\n      'Touchscreen': '—',\n      'Finish': 'Glossy',\n      'Brightness': '500&nbsp;cd/m<sup>2</sup>'\n      }\n    }, {\n    name: 'Drives',\n    properties: {\n      'Available Slots': '—',\n      'Total Capacity': '256&nbsp;GB',\n      'Solid State Storage': '1 × 256&nbsp;GB&nbsp;Integrated PCIe',\n      'Optical Drive': '—'\n      }\n    }, {\n    name: 'Input/ Output Connectors',\n    properties: {\n      'Ports': '4 × Thunderbolt 3&nbsp;via USB Type-C',\n      'Display': '4 × DisplayPort&nbsp;via Type-C',\n      'Audio': '1 × 1/8\" (3.5&nbsp;mm) Headphone Output,<br>2 × Integrated Speaker,<br>3 × Integrated Microphone',\n      'Expansion Slots': '—',\n      'Media Card Slots': '—'\n      }\n    }, {\n    name: 'Communications',\n    properties: {\n      'Network': '—',\n      'Modem': '—',\n      'Wi-Fi': '802.11ac; Dual-Band',\n      'Bluetooth': 'Bluetooth 4.2',\n      'Mobile Broadband': '—',\n      'GPS': 'Not Specified by Manufacturer',\n      'NFC': 'Not Specified by Manufacturer',\n      'Webcam': 'User-Facing: 720p Video'\n      }\n    }, {\n    name: 'Battery',\n    properties: {\n      'Battery Chemistry': 'Lithium-Ion Polymer',\n      'Watt Hours / Type': '76&nbsp;Wh&nbsp;Non-Removable',\n      'Maximum Runtime': '10&nbsp;Hours',\n      'Power Requirements': '100-240&nbsp;VAC, 50-60&nbsp;Hz',\n      'Power Supply': '1 × 87&nbsp;W',\n      }\n    }, {\n    name: 'General',\n    properties: {\n      'Operating System': 'macOS High Sierra',\n      'Security': 'Not specified',\n      'Keyboard': 'Keys: 64,<br>Type: Standard Notebook Keyboard,<br>Features: Backlight',\n      'Pointing Device': 'Force Touch Trackpad',\n      'Dimensions (W × H × D)': '13.8 × 0.6 × 9.5\"&nbsp;/&nbsp;35.1 × 1.5 × 24.1&nbsp;cm',\n      'Weight': '4.02&nbsp;lb&nbsp;/&nbsp;1.82&nbsp;kg',\n      }\n    }, {\n    name: 'Packaging Info',\n    properties: {\n      'Package Weight': '7.55&nbsp;lb',\n      'Box Dimensions (L × W × H)': '16.2 × 11.6 × 3.7\"'\n      }\n    }],\n    reviews: [{\n      author: 'Thomas Bruns',\n      date: 'May 21, 2018',\n      text: '<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>',\n      likes: 14,\n      dislikes: 2\n    }, {\n      author: 'George Clanton',\n      date: 'May 24, 2018',\n      text: '<p>Nunc interdum odio non erat commodo lacinia. Aliquam nec tincidunt lorem. Nunc quis scelerisque nulla. Nam nulla ante, luctus non dignissim a, luctus quis sem. Curabitur consectetur porttitor leo. Donec molestie nisl vitae lorem porttitor vehicula. Etiam feugiat a magna ac dapibus. Donec vitae sollicitudin lectus.</p><p>Sed mollis ex tincidunt posuere blandit. Mauris sed tellus dolor. Suspendisse nibh mi, dignissim et molestie id, dictum in arcu. Duis sodales scelerisque quam, quis lobortis felis egestas eu. Sed nibh nulla, aliquet ac leo vel, rutrum dignissim metus. Sed non rhoncus ex. Curabitur accumsan porta lacus non viverra. Etiam feugiat sapien ut purus luctus, eu porttitor neque volutpat.</p>',\n      likes: 5,\n      dislikes: 0\n    }],\n    questions: [{\n      question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit?',\n      answer: 'Vivamus imperdiet venenatis est. Phasellus vitae mauris imperdiet, condimentum eros vel, ullamcorper turpis. Maecenas sed libero quis orci egestas vehicula fermentum id diam.'\n    }, {\n      question: 'Nullam massa sem, mollis ut luctus at, tincidunt a lorem?',\n      answer: 'Aliquam sed dictum elit, quis consequat metus. Proin in mauris finibus urna lacinia laoreet sed id orci.'\n    }, {\n      question: 'Aliquam pretium diam et ullamcorper malesuada?',\n      answer: 'Praesent feugiat lectus faucibus tellus congue pharetra. In viverra vehicula pellentesque. Etiam consectetur ultricies magna at bibendum.'\n    }, {\n      question: 'Nulla fringilla sollicitudin mauris eu volutpat?',\n      answer: 'Mauris quis neque nec lectus aliquet malesuada. Nunc ullamcorper purus id gravida aliquam. Integer eget blandit urna.'\n    }, {\n      question: 'Nam luctus velit ante, id pulvinar nisl gravida eget?',\n      answer: 'Vestibulum gravida nisi tempor malesuada iaculis. Phasellus finibus, nisl quis pellentesque scelerisque, erat erat mollis massa, eu semper diam eros id risus. Cras vitae nisi porta.'\n    }],\n    isNotAvailable: false,\n    isOnSale: true,\n    isAddedToCart: true,\n    isAddedToFavorites: true,\n    isAddedToCompare: true,\n    statuses: ['top selling', 'trade-in'],\n    properties: {\n      'Diagonal display': '15.4\"',\n      'CPU': 'Intel®&nbsp;Core™ i7',\n      'RAM': '16&nbsp;GB',\n      'Video Card': 'AMD Radeon Pro 555'\n    }\n  }, {\n    id: 2,\n    name: 'Apple MacBook 12\" MNYN2LL/A 512GB (Rose Gold)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/2/2-small.jpg',\n      medium: 'images/products/2/2-medium.jpg',\n      large: 'images/products/2/2-large.jpg'\n    },\n    additionalImages: [],\n    price: '$1549.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: false,\n    isAddedToCart: true,\n    isAddedToFavorites: true,\n    isAddedToCompare: true,\n    statuses: ['new', 'trade-in'],\n    properties: {\n      'Diagonal display': '12\"',\n      'CPU': 'Intel®&nbsp;Core™ i5',\n      'RAM': '8&nbsp;GB',\n      'Video Card': 'Intel® HD Graphics 615'\n    }\n  }, {\n    id: 3,\n    name: 'Lenovo IdeaPad YOGA 920-13IKB 80Y7001RRK (Copper)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/3/3-small.jpg',\n      medium: 'images/products/3/3-medium.jpg',\n      large: 'images/products/3/3-large.jpg'\n    },\n    additionalImages: [],\n    price: '$1199.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: false,\n    isAddedToCart: false,\n    isAddedToFavorites: true,\n    isAddedToCompare: false,\n    statuses: '',\n    properties: {\n      'Diagonal display': '13.9\"',\n      'CPU': 'Intel®&nbsp;Core™ i7 8550U',\n      'RAM': '16&nbsp;GB',\n      'Video Card': 'Intel® HD Graphics 620'\n    }\n  }, {\n    id: 4,\n    name: 'ASUS Zenbook UX330UA-FC020T (Rose Gold)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/4/4-small.jpg',\n      medium: 'images/products/4/4-medium.jpg',\n      large: 'images/products/4/4-large.jpg'\n    },\n    additionalImages: [],\n    price: '$749.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: false,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: false,\n    statuses: ['top selling'],\n    properties: {\n      'Diagonal display': '13.3\"',\n      'CPU': 'Intel®&nbsp;Core™ i7-6500U',\n      'RAM': '8&nbsp;GB',\n      'Video Card': 'Intel® HD Graphics 520'\n    }\n  }, {\n    id: 5,\n    name: 'Dell XPS 15 9560-8968 (Silver)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/5/5-small.jpg',\n      medium: 'images/products/5/5-medium.jpg',\n      large: 'images/products/5/5-large.jpg'\n    },\n    additionalImages: [],\n    price: '$949.00',\n    oldPrice: '$999.00',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: true,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: false,\n    statuses: '',\n    properties: {\n      'Diagonal display': '15.6\"',\n      'CPU': 'Intel®&nbsp;Core™ i7 7700HQ',\n      'RAM': '16&nbsp;GB',\n      'Video Card': 'NVIDIA GeForce GTX 960M'\n    }\n  }, {\n    id: 6,\n    name: 'Apple MacBook Air 13\" MQD32LL/A 128GB (Silver)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/6/6-small.jpg',\n      medium: 'images/products/6/6-medium.jpg',\n      large: 'images/products/6/6-large.jpg'\n    },\n    additionalImages: [],\n    price: '$849.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: false,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: true,\n    statuses: ['trade-in'],\n    properties: {\n      'Diagonal display': '13.3\"',\n      'CPU': 'Intel®&nbsp;Core™ i5',\n      'RAM': '8&nbsp;GB',\n      'Video Card': 'Intel® HD Graphics 6000'\n    }\n  }, {\n    id: 7,\n    name: 'Dell Inspiron 5378-2063 (Gray)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/7/7-small.jpg',\n      medium: 'images/products/7/7-medium.jpg',\n      large: 'images/products/7/7-large.jpg'\n    },\n    additionalImages: [],\n    price: '$579.00',\n    oldPrice: '$599.00',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: true,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: false,\n    statuses: '',\n    properties: {\n      'Diagonal display': '13.3\"',\n      'CPU': 'Intel®&nbsp;Core™ i3-7100U',\n      'RAM': '4&nbsp;GB',\n      'HDD Capacity': '1&nbsp;TB'\n    }\n  }, {\n    id: 8,\n    name: 'Lenovo Yoga 720-13IKB 80X60059RK (Silver)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: {\n      small: 'images/products/8/8-small.jpg',\n      medium: 'images/products/8/8-medium.jpg',\n      large: 'images/products/8/8-large.jpg'\n    },\n    additionalImages: [],\n    price: '$1099.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: false,\n    isOnSale: false,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: false,\n    statuses: ['new'],\n    properties: {\n      'Diagonal display': '13.3\"',\n      'CPU': 'Intel®&nbsp;Core™ i5-7200U',\n      'RAM': '8&nbsp;GB',\n      'Video Card': 'Intel® HD Graphics 620'\n    }\n  }, {\n    id: 9,\n    name: 'Lenovo ThinkPad X380 Yoga 20LH000MUS (Black)',\n    type: 'Laptop',\n    href: 'product.html',\n    image: '',\n    additionalImages: [],\n    price: '$2239.00',\n    oldPrice: '',\n    brand: {},\n    variations: [],\n    specifications: [],\n    reviews: [],\n    questions: [],\n    isNotAvailable: true,\n    isOnSale: false,\n    isAddedToCart: false,\n    isAddedToFavorites: false,\n    isAddedToCompare: false,\n    statuses: '',\n    properties: {\n      'Diagonal display': '13.3\"',\n      'CPU': 'Intel®&nbsp;Core™ i7 8550U',\n      'RAM': '4&nbsp;GB',\n      'Video Card': 'Intel® UHD Graphics 620'\n    }\n  }]\n\n  var filters = [{\n    id: 1,\n    name: 'brand',\n    title: 'Brands',\n    isOpen: true,\n    items: [{\n      id: 1,\n      name: 'Acer',\n      quantity: 177\n    }, {\n      id: 2,\n      name: 'Apple',\n      quantity: 18\n    }, {\n      id: 3,\n      name: 'ASUS',\n      quantity: 150\n    }, {\n      id: 4,\n      name: 'Dell',\n      quantity: 170\n    }, {\n      id: 5,\n      name: 'HP',\n      quantity: 498\n    }, {\n      id: 6,\n      name: 'MSI',\n      quantity: 54\n    }, {\n      id: 7,\n      name: 'Samsung',\n      quantity: 1\n    }, {\n      id: 8,\n      name: 'Sony',\n      quantity: 1\n    }]\n  }, {\n    id: 2,\n    name: 'type',\n    title: 'Type',\n    description: 'A small description for this property',\n    isOpen: true,\n    items: [{\n      id: 1,\n      name: 'Notebook',\n      quantity: 150\n    }, {\n      id: 2,\n      name: 'Ultrabook',\n      quantity: 18\n    }, {\n      id: 3,\n      name: 'Transformer',\n      quantity: 6\n    }]\n  }, {\n    id: 3,\n    name: 'screen-size',\n    title: 'Screen Size',\n    description: 'A small description for this property',\n    isOpen: false,\n    items: [{\n      id: 1,\n      name: '11.6\" and smaller',\n      quantity: 45\n    }, {\n      id: 2,\n      name: '12\" - 13.5\"',\n      quantity: 178\n    }, {\n      id: 3,\n      name: '14\" - 14.5\"',\n      quantity: 461\n    }, {\n      id: 4,\n      name: '15\" - 15.6\"',\n      quantity: 148\n    }, {\n      id: 5,\n      name: '17\" - 17.3\"',\n      quantity: 73\n    }, {\n      id: 6,\n      name: '18.4\" and larger',\n      quantity: 54\n    }]\n  }, {\n    id: 3,\n    name: 'screen-resolution',\n    title: 'Screen Resolution',\n    description: 'A small description for this property',\n    isOpen: false,\n    items: [{\n      id: 1,\n      name: '3840×2160',\n      quantity: 12\n    }, {\n      id: 2,\n      name: '3200×1800\"',\n      quantity: 12\n    }, {\n      id: 3,\n      name: '2880×1800',\n      quantity: 10\n    }, {\n      id: 4,\n      name: '2560×1600',\n      quantity: 7\n    }, {\n      id: 5,\n      name: '2560×1440',\n      quantity: 13\n    }, {\n      id: 6,\n      name: '1920×1080',\n      quantity: 341\n    }, {\n      id: 7,\n      name: '1600×900',\n      quantity: 11\n    }, {\n      id: 8,\n      name: '1440×900',\n      quantity: 13\n    }, {\n      id: 9,\n      name: '1366×768',\n      quantity: 237\n    }, {\n      id: 10,\n      name: '1024×600',\n      quantity: 5\n    }]\n  }, {\n    id: 4,\n    name: 'cpu',\n    title: 'CPU',\n    description: 'A small description for this property',\n    isOpen: false,\n    items: [{\n      id: 1,\n      name: 'AMD A-series',\n      quantity: 102\n    }, {\n      id: 2,\n      name: 'AMD E-series',\n      quantity: 21\n    }, {\n      id: 3,\n      name: 'AMD FX',\n      quantity: 1\n    }, {\n      id: 4,\n      name: 'AMD Ryzen',\n      quantity: 1\n    }, {\n      id: 5,\n      name: 'Intel Atom',\n      quantity: 8\n    }, {\n      id: 6,\n      name: 'Intel Celeron',\n      quantity: 38\n    }, {\n      id: 7,\n      name: 'Intel Core M',\n      quantity: 6\n    }, {\n      id: 8,\n      name: 'Intel Core i3',\n      quantity: 143\n    }, {\n      id: 9,\n      name: 'Intel Core i5',\n      quantity: 273\n    }, {\n      id: 10,\n      name: 'Intel Core i7',\n      quantity: 218\n    }, {\n      id: 11,\n      name: 'Intel Xeon',\n      quantity: 3\n    }, {\n      id: 12,\n      name: 'Intel Pentium',\n      quantity: 86\n    }]\n  }, {\n    id: 5,\n    name: 'ram',\n    title: 'RAM',\n    description: 'A small description for this property',\n    isOpen: false,\n    items: [{\n      id: 1,\n      name: '2 GB',\n      quantity: 17\n    }, {\n      id: 2,\n      name: '4 GB',\n      quantity: 359\n    }, {\n      id: 3,\n      name: '6 GB',\n      quantity: 81\n    }, {\n      id: 4,\n      name: '8 GB',\n      quantity: 346\n    }, {\n      id: 5,\n      name: '12 GB',\n      quantity: 13\n    }, {\n      id: 6,\n      name: '16 GB',\n      quantity: 72\n    }, {\n      id: 7,\n      name: '24 GB',\n      quantity: 1\n    }, {\n      id: 8,\n      name: '32 GB',\n      quantity: 11\n    }]\n  }]\n\n  var compare = [{\n    name: 'Performance',\n    properties: {\n      'Processor': ['Intel&nbsp;Core i7&nbsp;Quad-Core', 'Intel&nbsp;Core i5&nbsp;Dual-Core', 'Intel&nbsp;Core i5&nbsp;Dual-Core'],\n      'Base Clock Speed': ['2.8&nbsp;GHz', '1.3&nbsp;GHz', '1.8&nbsp;GHz'],\n      'Maximum Boost Speed': ['3.8&nbsp;GHz', '3.2&nbsp;GHz', '2.9&nbsp;GHz'],\n      'Total Installed Memory': ['16&nbsp;GB', '8&nbsp;GB', '8&nbsp;GB'],\n      'Memory Type': ['LPDDR3&nbsp;SDRAM', 'LPDDR3&nbsp;SDRAM', 'LPDDR3&nbsp;SDRAM'],\n      'Memory Speed': ['2133&nbsp;MHz', '1866&nbsp;MHz', '1600&nbsp;MHz'],\n      'Onboard Memory': ['16&nbsp;GB', '8&nbsp;GB', '8&nbsp;GB'],\n      'Available Memory Slots': ['—', '—', '—'],\n      'Graphics Type': ['Hybrid', 'Integrated', 'Integrated'],\n      'GPU': ['AMD Radeon&nbsp;Pro 555 with 2&nbsp;GB&nbsp;GDDR5 VRAM,<br>Intel HD Graphics&nbsp;630',\n              'Intel HD Graphics&nbsp;615',\n              'Intel HD Graphics&nbsp;6000']\n    }\n  }, {\n    name: 'Display',\n    properties: {\n      'Graphics Type': ['IPS', 'IPS', 'Not specified'],\n      'Size': ['15.4\"', '12\"', '13.3\"'],\n      'Aspect Ratio': ['16:10', '16:10', '16:10'],\n      'Native Resolution': ['2880×1800', '2304×1440', '1440×900'],\n      'Touchscreen': ['—', '—', '—'],\n      'Finish': ['Glossy', 'Glossy', 'Glossy'],\n      'Brightness': ['500&nbsp;cd/m<sup>2</sup>', 'Not specified', 'Not specified'],\n      'Viewing Angle': ['Not specified', 'Not specified', 'Not specified'],\n      'Refresh Rate': ['Not specified', 'Not specified', 'Not specified'],\n      'Response Time': ['Not specified', 'Not specified', 'Not specified'],\n      'Adaptive Sync Technology': ['Not specified', 'Not specified', 'Not specified'],\n      'External Resolution': ['Not specified', 'Not specified', 'Not specified']\n    }\n  }, {\n    name: 'Drives',\n    properties: {\n      'Available Slots': ['—', '—', '—'],\n      'Total Capacity': ['256&nbsp;GB', '512&nbsp;GB', '128&nbsp;GB'],\n      'Solid State Storage': ['1 × 256&nbsp;GB&nbsp;Integrated PCIe',\n                              '1 × 512&nbsp;GB&nbsp;Integrated PCIe',\n                              '1 × 128&nbsp;GB&nbsp;Integrated PCIe'],\n      'Optical Drive': ['—', '—', '—']\n    }\n  }, {\n    name: 'Input/ Output Connectors',\n    properties: {\n      'Ports': ['4 × Thunderbolt 3&nbsp;via USB Type-C',\n                '1 × USB 3.1 Gen 1&nbsp;Type-C',\n                '2 × USB 3.1 Gen 1&nbsp;Type-A,<br>1 × Thunderbolt 2'],\n      'Display': ['4 × DisplayPort&nbsp;via Type-C',\n                  '1 × DisplayPort&nbsp;1.2&nbsp;via Optional Cable,<br>1 × HDMI&nbsp;via Optional Cable,<br>1 × VGA&nbsp;via Optional Cable',\n                  '1 × Mini DisplayPort&nbsp;via Thunderbolt Port'],\n      'Audio': ['1 × 1/8\" (3.5&nbsp;mm) Headphone Output,<br>2 × Integrated Speaker,<br>3 × Integrated Microphone',\n                '1 × 1/8\" (3.5&nbsp;mm) Headphone Output,<br>2 × Integrated Speaker,<br>2 × Integrated Microphone',\n                '1 × 1/8\" (3.5&nbsp;mm) Headphone Output,<br>2 × Integrated Speaker,<br>2 × Integrated Microphone'],\n      'Expansion Slots': ['—', '—', '—'],\n      'Media Card Slots': ['—', '—', 'SD/SDHC/SDXC']\n    }\n  }, {\n    name: 'Communications',\n    properties: {\n      'Network': ['—', '—', '—'],\n      'Modem': ['—', '—', '—'],\n      'Wi-Fi': ['802.11ac; Dual-Band', '802.11ac; Dual-Band', '802.11ac; Dual-Band'],\n      'Bluetooth': ['Bluetooth 4.2', 'Bluetooth 4.2', 'Bluetooth 4.0'],\n      'Mobile Broadband': ['—', '—', '—'],\n      'GPS': ['Not specified', '—', 'Not specified'],\n      'NFC': ['Not specified', '—', 'Not specified'],\n      'Webcam': ['User-Facing: 720p Video', 'User-Facing: 480p Video', 'User-Facing: 720p Video'],\n    }\n  }, {\n    name: 'Battery',\n    properties: {\n      'Battery Chemistry': ['Lithium-Ion Polymer', 'Lithium-Ion Polymer', 'Lithium-Ion Polymer'],\n      'Watt Hours / Type': ['76&nbsp;Wh&nbsp;Non-Removable', '41.4&nbsp;Wh&nbsp;Non-Removable', '54&nbsp;Wh&nbsp;Non-Removable'],\n      'Cells': ['Not specified', 'Not specified', 'Not specified'],\n      'Output Voltage': ['Not specified', 'Not specified', 'Not specified'],\n      'Maximum Runtime': ['10&nbsp;Hours', '10&nbsp;Hours', '12&nbsp;Hours'],\n      'Power Requirements': ['100-240&nbsp;VAC, 50-60&nbsp;Hz', '100-240&nbsp;VAC, 50-60&nbsp;Hz', '100-240&nbsp;VAC, 50-60&nbsp;Hz'],\n      'Power Supply': ['1 × 87&nbsp;W', '1 × 29&nbsp;W', '1 × 45&nbsp;W'],\n    }\n  }, {\n    name: 'General',\n    properties: {\n      'Operating System': ['macOS High Sierra', 'macOS High Sierra', 'macOS High Sierra'],\n      'Security': ['Not specified', 'Not specified', 'Not specified'],\n      'Keyboard': ['Keys: 64,<br>Type: Standard Notebook Keyboard,<br>Features: Backlight',\n                   'Keys: 78,<br>Type: Standard Notebook Keyboard,<br>Features: Backlight',\n                   'Keys: 78,<br>Type: Standard Notebook Keyboard,<br>Features: Backlight'],\n      'Pointing Device': ['Force Touch Trackpad', 'Force Touch Trackpad', 'TouchPad'],\n      'Dimensions (W × H × D)': ['13.8 × 0.6 × 9.5\"&nbsp;/&nbsp;35.1 × 1.5 × 24.1&nbsp;cm',\n                                 '11.0 × 0.5 × 7.7\"&nbsp;/&nbsp;27.9 × 1.3 × 19.6&nbsp;cm',\n                                 '12.8 × 0.7 × 8.9\"&nbsp;/&nbsp;32.5 × 1.8 × 22.6&nbsp;cm'],\n      'Weight': ['4.02&nbsp;lb&nbsp;/&nbsp;1.82&nbsp;kg', '2.03&nbsp;lb&nbsp;/&nbsp;.92&nbsp;kg', '2.96&nbsp;lb&nbsp;/&nbsp;1.34&nbsp;kg'],\n      'Warranty Length': ['Limited 1-Year Warranty', 'Limited 1-Year Warranty', 'Limited 1-Year Warranty']\n    }\n  }]\n\n  var articles = [{\n    title: 'Everything You Need to Know About the MacBook Pro',\n    description: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sodales eget ipsum id aliquam. Nam consectetur interdum nibh eget sodales. Cras volutpat efficitur ornare.</p>',\n    preview: 'images/articles/macbook-photo.jpg',\n    date: 'May 21, 2018',\n    href: 'article.html'\n  }, {\n    title: 'Apple introduces macOS Mojave',\n    description: '<p>Praesent consequat justo eu massa malesuada posuere. Donec ultricies tincidunt nisl, sed euismod nulla venenatis maximus. Maecenas sit amet semper tellus. Pellentesque imperdiet finibus sapien, a consectetur eros auctor a.</p>',\n    preview: 'images/articles/macos.jpg',\n    date: 'May 21, 2018',\n    href: 'article.html'\n  }]\n\n  var news = [{\n    title: 'Highlights from WWDC',\n    description: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sodales eget ipsum id aliquam. Nam consectetur interdum nibh eget sodales. Cras volutpat efficitur ornare.</p>',\n    date: 'June 4, 2018',\n    href: 'article.html'\n  }, {\n    title: 'Apple introduces macOS Mojave',\n    description: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sodales eget ipsum id aliquam. Nam consectetur interdum nibh eget sodales. Cras volutpat efficitur ornare.</p>',\n    date: 'June 4, 2018',\n    href: 'article.html'\n  }, {\n    title: 'iOS 11.4 brings stereo pairs and multi-room audio with AirPlay 2',\n    description: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sodales eget ipsum id aliquam. Nam consectetur interdum nibh eget sodales. Cras volutpat efficitur ornare.</p>',\n    date: 'May 29, 2018',\n    href: 'article.html'\n  }]\n\n  var profile = {\n    firstName: 'Thomas',\n    lastName: 'Bruns',\n    image: 'images/avatar.jpg',\n    registrationDate: 'June 6, 2018',\n    phone: '8 (800) 555-35-35',\n    dateOFBirth: '1990-01-01',\n    email: 'example@example.com'\n  }\n\n  var profileNav = [{\n    id: 1,\n    title: 'Orders',\n    amount: 2,\n    href: 'account.html'\n  }, {\n    id: 2,\n    title: 'Favorites',\n    amount: 3,\n    href: 'favorites.html'\n  }, {\n    id: 3,\n    title: 'Personal Info',\n    href: 'personal.html'\n  }]\n\n  var orders = [{\n    id: '36637649',\n    date: 'June 17, 2018',\n    items: 7,\n    shipping: 'Pick up from store',\n    payment: 'Online by card',\n    total: '$4896.00',\n    status: 'Processing'\n  }, {\n    id: '36637648',\n    date: 'June 16, 2018',\n    items: 2,\n    shipping: 'Pick up from store',\n    payment: 'Online by card',\n    total: '$599.00',\n    status: 'Canceled'\n  }]\n\n  var informationalNav = [{\n    id: 1,\n    title: 'About',\n    href: 'about.html'\n  }, {\n    id: 2,\n    title: 'Contacts',\n    href: 'contacts.html'\n  }, {\n    id: 3,\n    title: 'Blog',\n    href: 'blog.html'\n  }, {\n    id: 4,\n    title: 'News',\n    href: 'news.html'\n  }, {\n    id: 5,\n    title: 'FAQ',\n    href: 'faq.html'\n  }, {\n    id: 6,\n    title: 'Delivery',\n    href: 'delivery.html'\n  }]\n\n  var promo = [{\n    background: '#0b0a12',\n    image: 'images/promo/macbook-new.jpg',\n    title: 'New Macbook'\n  }, {\n    background: '#ce071e',\n    image: 'images/promo/iphone.jpg',\n    title: 'iPhone'\n  }, {\n    background: '#1f2024',\n    image: 'images/promo/ipad.jpg',\n    title: 'iPad'\n  }]\n\n  var categories = [{\n    title: 'Laptops',\n    href: 'subcategory.html',\n    comment: 'from $149',\n    image: 'images/catalog/laptops.png'\n  }, {\n    title: 'Smartphones',\n    href: 'subcategory.html',\n    comment: 'from $99',\n    image: 'images/catalog/smartphones.png'\n  }, {\n    title: 'Tablets',\n    href: 'subcategory.html',\n    comment: 'from $129',\n    image: 'images/catalog/tablets.png'\n  }, {\n    title: 'Smart Watches',\n    href: 'subcategory.html',\n    comment: 'from $49',\n    image: 'images/catalog/watches.png'\n  }, {\n    title: 'Gaming Consoles',\n    href: 'subcategory.html',\n    comment: 'from $399',\n    image: 'images/catalog/consoles.png'\n  }, {\n    title: 'Cameras',\n    href: 'subcategory.html',\n    comment: 'from $129',\n    image: 'images/catalog/cameras.png'\n  }]\n\n  var advantages = [{\n    title: 'Mauris placerat',\n    description: 'Donec mollis nibh dolor, sit amet auctor',\n    icon: 'star'\n  }, {\n    title: 'Lorem ipsum',\n    description: 'Sit amet, consectetur adipiscing elit',\n    icon: 'receiver'\n  }, {\n    title: 'Proin pharetra',\n    description: 'Nec quam a fermentum ut viverra',\n    icon: 'location'\n  }, {\n    title: 'Praesent ultrices',\n    description: 'Praesent ultrices, orci nec finibus',\n    icon: 'comments'\n  }, {\n    title: 'Duis condimentum',\n    description: 'Pellentesque eget varius arcu',\n    icon: 'happy'\n  }]\n\n\n"
  },
  {
    "path": "src/templates/layouts/_account.pug",
    "content": "extends _default\n\nblock vars\n\nblock default\n  section.uk-section.uk-section-small\n    div.uk-container\n      div.uk-grid-medium(uk-grid)\n\n        //- Profile column\n        div(class=\"uk-width-1-1 uk-width-1-4@m tm-aside-column\")\n          div.uk-card.uk-card-default.uk-card-small.tm-ignore-container(\n            uk-sticky=\"offset: 90; bottom: true; media: @m;\")\n\n            //- Profile\n            div.uk-card-header\n              div.uk-grid-small.uk-child-width-1-1(uk-grid)\n\n                section\n                  div(class=\"uk-width-1-3 \" +\n                            \"uk-width-1-4@s \" +\n                            \"uk-width-1-2@m \" +\n                            \"uk-margin-auto \" +\n                            \"uk-visible-toggle \" +\n                            \"uk-position-relative \" +\n                            \"uk-border-circle \" +\n                            \"uk-overflow-hidden \" +\n                            \"uk-light\")\n                    img.uk-width-1-1(src= profile.image)\n                    a(class=\"uk-link-reset \" +\n                            \"uk-overlay-primary \" +\n                            \"uk-position-cover \" +\n                            \"uk-hidden-hover\"\n                      href=\"#\")\n                      div.uk-position-center\n                        +icon(\"camera\", \"1.25\")\n\n                div.uk-text-center\n                  div.uk-h4.uk-margin-remove #{profile.firstName} #{profile.lastName}\n                  div.uk-text-meta Joined #{profile.registrationDate}\n\n                div\n                  div.uk-grid-small.uk-flex-center(uk-grid)\n\n                    div\n                      a.uk-button.uk-button-default.uk-button-small(href=\"settings.html\")\n                        +icon(\"cog\", \".75\")(class=\"uk-margin-xsmall-right\")\n                        span Settings\n\n                    div\n                      button.uk-button.uk-button-default.uk-button-small(\n                        href=\"#\"\n                        title=\"Log out\")\n                        +icon(\"sign-out\", \".75\")\n\n            div\n              nav\n                ul.uk-nav.uk-nav-default.tm-nav\n                  each item in profileNav\n                    li(class= {\"uk-active\": item.id == profileActivePage})\n                      a(href= item.href)= item.title\n                        if item.amount\n                          |\n                          |\n                          span (#{item.amount})\n\n        //- Content column\n        div(class=\"uk-width-1-1 uk-width-expand@m\")\n          div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n\n            header.uk-card-header\n              h1.uk-h2= page.title\n            block account"
  },
  {
    "path": "src/templates/layouts/_article.pug",
    "content": "extends _default\n\nblock vars\n\nblock default\n  section.uk-section.uk-section-small\n    div.uk-container\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n        section.uk-text-center\n\n          if page.breadcrumbs\n            ul.uk-breadcrumb.uk-flex-center.uk-margin-remove\n\n              li: a(href=\"index.html\") Home\n\n              each href, breadcrumb in page.breadcrumbs\n                li: a(href= href)= breadcrumb\n\n              if page.title\n                li: span= page.title\n\n        section\n          block article"
  },
  {
    "path": "src/templates/layouts/_checkout.pug",
    "content": "extends _index\n\nblock vars\n\nblock index\n\n  header\n    div.uk-navbar-container.tm-navbar-container\n      div.uk-container(uk-navbar)\n\n        div.uk-navbar-left\n          //- Logo\n          a.uk-navbar-item.uk-logo(href=\"index.html\")\n            img(src=\"images/logo.svg\" width=\"90\" height=\"32\" alt=\"Logo\")\n\n        div.uk-navbar-right\n          //- Phone\n          a.uk-navbar-item.uk-link-muted(href=\"#\")\n            +icon(\"receiver\", \".75\")(class=\"uk-margin-xsmall-right\")\n            span.tm-pseudo= shopInfo.phone\n\n\n  main\n    section.uk-section.uk-section-small\n      div.uk-container\n        div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n          section.uk-text-center\n            a.uk-link-muted.uk-text-small(href=\"cart.html\")\n              +icon(\"arrow-left\", \".75\")(class=\"uk-margin-xsmall-right\")\n              | Return to cart\n            h1.uk-margin-small-top.uk-margin-remove-bottom Checkout\n\n          section\n            block checkout\n\n  footer\n    div.uk-section.uk-section-secondary.uk-section-small.uk-light\n      div.uk-container\n        div.uk-flex-middle(uk-grid)\n\n          div.uk-width-expand\n            div © Company Name. All rights reserved\n\n          div\n            a.uk-link-muted(href=\"#\")\n              +icon(\"receiver\", \".75\")(class=\"uk-margin-xsmall-right\")\n              span.tm-pseudo= shopInfo.phone"
  },
  {
    "path": "src/templates/layouts/_default.pug",
    "content": "extends _index\n\nblock vars\n\nblock index\n\n  header\n    include ../partials/_header\n\n  main\n\n    block default\n\n    //- Advantages\n    section.uk-section.uk-section-default.uk-section-small\n      div.uk-container\n        div(uk-slider)\n          ul(class=\"uk-slider-items \" +\n                   \"uk-child-width-1-1 \" +\n                   \"uk-child-width-1-2@s \" +\n                   \"uk-child-width-1-5@m \" +\n                   \"uk-grid\")\n            each advantage in advantages\n              li\n                div(class=\"uk-grid-small uk-flex-center uk-flex-left@s\" uk-grid)\n                  div\n                    +icon(advantage.icon, \"2.5\")\n                  div(class=\"uk-text-center uk-text-left@s uk-width-expand@s\")\n                    div= advantage.title\n                    div.uk-text-meta= advantage.description\n          ul.uk-slider-nav.uk-dotnav.uk-flex-center.uk-margin-medium-top\n\n  footer\n    include /partials/_footer\n\n  include ../partials/_nav-offcanvas\n  include ../partials/_cart-offcanvas\n"
  },
  {
    "path": "src/templates/layouts/_index.pug",
    "content": "include ../data/_data\ninclude ../mixins/_import\n\ndoctype html\n\n//- Variables\nblock vars\n  - var page\n\n//- Template\nhtml(lang=\"en\")\n  head\n    include /partials/_head\n    link(rel=\"stylesheet\" href=\"//fonts.googleapis.com/css?family=Roboto:400,500\")\n    link(rel=\"stylesheet\" href=\"styles/style.css\")\n    script(src=\"scripts/uikit.js\")\n    script(src=\"scripts/uikit-icons.js\")\n\n  body\n    div.uk-offcanvas-content\n      block index\n\n    script(src=\"scripts/script.js\")\n    script(src=\"//maps.googleapis.com/maps/api/js?key=AIzaSyClyjCemJi4m2q78gNeGkhlckpdH1hzTYA&callback=initMap\"\n           async\n           defer)"
  },
  {
    "path": "src/templates/layouts/_informational.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n\nblock pages\n  div.uk-grid-medium(uk-grid)\n\n    //- Content\n    section(class=\"uk-width-1-1 uk-width-expand@m\")\n      block informational\n\n    //- Navigation\n    aside(class=\"uk-width-1-4 uk-visible@m tm-aside-column\")\n      section(class=\"uk-card \" +\n                    \"uk-card-default \" +\n                    \"uk-card-small\"\n              uk-sticky=\"offset: 90; bottom: true;\")\n        nav\n          ul.uk-nav.uk-nav-default.tm-nav\n            each item in informationalNav\n              li(class= {\"uk-active\": item.id == informationalActivePage})\n                a(href= item.href)= item.title"
  },
  {
    "path": "src/templates/layouts/_pages.pug",
    "content": "extends _default\n\nblock vars\n\nblock default\n  section.uk-section.uk-section-small\n    div.uk-container\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n        div.uk-text-center\n          if page.breadcrumbs\n            ul.uk-breadcrumb.uk-flex-center.uk-margin-remove\n              li: a(href=\"index.html\") Home\n              each href, breadcrumb in page.breadcrumbs\n                li: a(href= href)= breadcrumb\n              if page.title\n                li: span= page.title\n          if page.title\n            h1.uk-margin-small-top.uk-margin-remove-bottom= page.title\n          if page.quantity\n            div.uk-text-meta.uk-margin-xsmall-top #{page.quantity} items\n\n        div\n          block pages"
  },
  {
    "path": "src/templates/mixins/_article.pug",
    "content": "mixin article(article)\n\n  a(href= article.href)\n    article(class=\"uk-card \" +\n                  \"uk-card-default \" +\n                  \"uk-card-small \" +\n                  \"uk-article \" +\n                  \"uk-overflow-hidden \" +\n                  \"uk-box-shadow-hover-large \" +\n                  \"uk-height-1-1 \" +\n                  \"tm-ignore-container\")\n\n      //- Preview\n      if article.preview\n        div.tm-ratio.tm-ratio-16-9\n          figure.tm-media-box.uk-cover-container.uk-margin-remove\n            img(src= article.preview\n                alt= article.title\n                uk-cover)\n\n      div.uk-card-body\n        div.uk-article-body\n          //- Date\n          div.uk-article-meta.uk-margin-xsmall-bottom\n            time= article.date\n          //- Title\n          div\n            h3.uk-margin-remove= article.title\n          //- Description\n          if article.description\n            div.uk-margin-small-top!= article.description"
  },
  {
    "path": "src/templates/mixins/_icon.pug",
    "content": "mixin icon(name, ratio)\n\n  if !ratio\n    span(uk-icon= name)&attributes(attributes)\n  else\n    span(uk-icon=`icon: ${name}; ratio: ${ratio};`)&attributes(attributes)"
  },
  {
    "path": "src/templates/mixins/_import.pug",
    "content": "include _icon\ninclude _link-to-all\ninclude _product\ninclude _quantity\ninclude _product-small\ninclude _article"
  },
  {
    "path": "src/templates/mixins/_link-to-all.pug",
    "content": "mixin link-to-all(text, href)\n\n  a.uk-link-muted.uk-text-uppercase.tm-link-to-all(href= href)&attributes(attributes)\n    span= text\n    +icon(\"chevron-right\", \".75\")"
  },
  {
    "path": "src/templates/mixins/_product-small.pug",
    "content": "mixin product-small(product)\n\n  div.uk-grid-small.uk-height-1-1(uk-grid)\n\n    //- Image\n    div.uk-width-1-3\n      div.tm-ratio.tm-ratio-4-3\n        a.tm-media-box(href= product.href)\n          figure.tm-media-box-wrap\n            if product.image\n              img(src= product.image.small alt= product.name)\n            else\n              +icon(\"image\", \"3\")(class=\"uk-text-muted\")\n\n    //- Info\n    div.uk-width-expand\n      div.tm-product-card-body.uk-padding-remove.uk-height-1-1\n\n        div.tm-product-card-info\n          div.uk-text-meta.uk-margin-xsmall-bottom= product.type\n          a.tm-product-card-title(href= product.href)= product.name\n\n        div.tm-product-card-shop\n          div.tm-product-card-prices\n            if product.isNotAvailable\n              div.uk-text-muted Product not available\n            else\n              if product.oldPrice\n                del.uk-text-meta= product.oldPrice\n              div.tm-product-card-price= product.price\n          div.tm-product-card-add\n            if !product.isNotAvailable\n              button.uk-button.uk-button-primary.tm-product-card-add-button.tm-shine.js-add-to-cart\n                +icon(\"cart\")(class=\"tm-product-add-button-icon\")\n                span.tm-product-card-add-button-text add to cart"
  },
  {
    "path": "src/templates/mixins/_product.pug",
    "content": "mixin product(product)\n\n  article.tm-product-card\n\n    //- Media\n    div.tm-product-card-media\n      div.tm-ratio.tm-ratio-4-3\n        a.tm-media-box(href= product.href)\n\n          //- Labels\n          if product.statuses\n            div.tm-product-card-labels\n              each status in product.statuses\n                case status\n                  when \"new\"\n                    span.uk-label.uk-label-success= status\n                  when \"top selling\"\n                    span.uk-label.uk-label-warning= status\n                  when \"trade-in\"\n                    span.uk-label.uk-label-danger= status\n                  default\n                    span.uk-label= status\n\n          //- Image\n          figure.tm-media-box-wrap\n            if product.image\n              img(src= product.image.medium alt= product.name)\n            else\n              +icon(\"image\", \"3\")(class=\"uk-text-muted\")\n\n    //- Body\n    div.tm-product-card-body\n\n      //- Info\n      div.tm-product-card-info\n\n        //- Type\n        div.uk-text-meta.uk-margin-xsmall-bottom= product.type\n\n        //- Title\n        h3.tm-product-card-title\n          a.uk-link-heading(href= product.href)= product.name\n\n        //- Properties\n        if product.properties\n          ul.uk-list.uk-text-small.tm-product-card-properties\n            each value, property in product.properties\n              li\n                span.uk-text-muted!= property + \": \"\n                span!= value\n\n      //- Shop\n      div.tm-product-card-shop\n\n        //- Prices\n        div.tm-product-card-prices\n          if product.isNotAvailable\n            div.uk-text-muted Product not available\n          else\n            if product.oldPrice\n              del.uk-text-meta= product.oldPrice\n            div.tm-product-card-price= product.price\n\n        //- Actions buttons\n        div.tm-product-card-add\n          div.uk-text-meta.tm-product-card-actions\n\n            //- Favorite\n            a.tm-product-card-action.js-add-to.js-add-to-favorites(\n              class= { \"tm-action-button-active js-added-to\": product.isAddedToFavorites }\n              title=\"Add to favorites\")\n              +icon(\"heart\", \".75\")\n              span.tm-product-card-action-text Add to favorites\n\n            //- Compare\n            a.tm-product-card-action.js-add-to.js-add-to-compare(\n              class= { \"tm-action-button-active js-added-to\": product.isAddedToCompare }\n              title=\"Add to compare\")\n              +icon(\"copy\", \".75\")\n              span.tm-product-card-action-text Add to compare\n\n          //- Add to cart\n          if !product.isNotAvailable\n            button.uk-button.uk-button-primary.tm-product-card-add-button.tm-shine.js-add-to-cart\n              +icon(\"cart\")(class=\"tm-product-card-add-button-icon\")\n              span.tm-product-card-add-button-text add to cart\n"
  },
  {
    "path": "src/templates/mixins/_quantity.pug",
    "content": "mixin quantity(productId)\n  a(onclick=\"increment(-1, 'product-\" + productId + \"')\"\n    uk-icon=\"icon: minus; ratio: .75\")\n  input(id=\"product-\" + productId\n        class=\"uk-input tm-quantity-input\"\n        type=\"text\"\n        maxlength=\"3\"\n        value=\"1\")\n  a(onclick=\"increment(+1, 'product-\" + productId + \"')\"\n    uk-icon=\"icon: plus; ratio: .75\")"
  },
  {
    "path": "src/templates/pages/404.pug",
    "content": "extends /layouts/_default\n\nblock vars\n  -\n    page = {\n      title: '404 — Page not found'\n    }\n\nblock default\n  section.uk-section.uk-section-small\n    div.uk-container\n      div.uk-text-center\n        h1.uk-heading-hero 404\n        div.uk-text-lead Page not found\n        div.uk-margin-top Looks like the page you're trying to visit doesn't exist.\n          br\n          a(href=\"index.html\") Go back to Homepage"
  },
  {
    "path": "src/templates/pages/about.pug",
    "content": "extends /layouts/_article\n\nblock vars\n  -\n    page = {\n      title: 'About',\n      breadcrumbs: {}\n    }\n\nblock article\n  div\n    article(class=\"uk-card \" +\n                  \"uk-card-default \" +\n                  \"uk-card-body \" +\n                  \"uk-article \" +\n                  \"tm-ignore-container\")\n\n      header.uk-text-center\n        //- Title\n        h1.uk-article-title= page.title\n\n      div.uk-article-body\n        p.uk-text-lead.uk-text-center Urabitur justo diam, auctor vitae ornare sit amet, accumsan sed neque. Curabitur efficitur lacinia euismod. Nunc dictum sagittis lacus. Etiam ultrices nulla orci, in ultrices risus.\n        p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ac tortor sit amet nisi malesuada commodo. Phasellus et tempus justo. Sed iaculis dignissim lacinia. Nulla id felis vel ligula tempus sodales vel a ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas quis neque ac elit lacinia laoreet. Sed dolor sem, rutrum ac egestas non, tempor nec eros. Etiam lobortis porta viverra. Etiam ut suscipit sem, a volutpat mi. Maecenas euismod a lectus ut dapibus. Nulla mattis diam et leo lacinia dignissim.\n\n        h2.uk-text-center Our principles\n        ul.uk-list.uk-list-bullet\n          li Vestibulum ut mollis est. Fusce iaculis mauris ut tortor convallis sollicitudin. Suspendisse porta nulla nibh, id lacinia lacus tempus ut. Morbi non arcu aliquam, placerat sapien a, luctus diam. Etiam mattis cursus sem, eu maximus nisi bibendum nec. Vivamus ut turpis augue. Phasellus vehicula risus sit amet mi luctus malesuada.\n          li Curabitur justo diam, auctor vitae ornare sit amet, accumsan sed neque. Curabitur efficitur lacinia euismod. Nunc dictum sagittis lacus. Etiam ultrices nulla orci, in ultrices risus tincidunt ac. Cras et maximus mauris. Morbi aliquam efficitur maximus. Aenean orci diam, auctor a mattis eu, consectetur id urna.\n          li Morbi faucibus mattis ante. Donec varius neque sem, nec convallis mi dictum ut. Duis sit amet massa ac eros luctus egestas. Proin hendrerit aliquam metus, ac tincidunt risus viverra at. In viverra, ligula in facilisis interdum, dui arcu varius purus, eu blandit mi mi ut diam. Phasellus finibus metus sit amet lobortis dapibus. Nunc fringilla ac erat vitae elementum. Donec sagittis odio non mi vestibulum accumsan.\n\n        h2.uk-text-center Our team\n        div(class=\"uk-child-width-1-1 uk-child-width-1-2@s uk-child-width-1-3@m\"\n            uk-grid)\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/thomas.svg\"\n                    alt=\"Thomas Bruns\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div Thomas Bruns\n                div.uk-text-meta Co-founder & CEO\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/george.svg\"\n                    alt=\"George Clanton\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div George Clanton\n                div.uk-text-meta Co-founder & President\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/martin.svg\"\n                    alt=\"Martin Cade\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div Martin Cade\n                div.uk-text-meta Co-founder & CTO\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/carol.svg\"\n                    alt=\"Carol Issa\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div Carol Issa\n                div.uk-text-meta Former Commercial Director\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/patricia.svg\"\n                    alt=\"Patricia Kirk\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div Patricia Kirk\n                div.uk-text-meta Former Director of Strategy\n          div\n            div.uk-grid-small.uk-flex-middle(uk-grid)\n              div\n                img(src=\"images/about/nicole.svg\"\n                    alt=\"Nicole Yokoyama\"\n                    width=\"80\"\n                    height=\"80\")\n              div.uk-width-expand\n                div Nicole Yokoyama\n                div.uk-text-meta Product Marketing Manager\n\n        h2.uk-text-center Some stats\n        div(class=\"uk-child-width-1-1 uk-child-width-1-3@s uk-text-center\"\n            uk-grid)\n          div\n            div.uk-heading-primary.uk-text-warning 5+\n            div.uk-margin-small-top years on the market\n          div\n            div.uk-heading-primary.uk-text-warning 150+\n            div.uk-margin-small-top orders per day\n          div\n            div.uk-heading-primary.uk-text-warning 75000+\n            div.uk-margin-small-top clients\n\n        h2.uk-text-center Store\n        p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus imperdiet venenatis est. Phasellus vitae mauris imperdiet, condimentum eros vel, ullamcorper turpis. Maecenas sed libero quis orci egestas vehicula fermentum id diam.\n        figure\n          div.uk-text-bolder= shopInfo.storeName\n          div!= shopInfo.address\n          div= shopInfo.openingHours\n        div.tm-wrapper\n          figure.tm-ratio.tm-ratio-16-9.js-map(\n            data-latitude=\"59.9356728\"\n            data-longitude=\"30.3258604\"\n            data-zoom=\"14\")"
  },
  {
    "path": "src/templates/pages/account.pug",
    "content": "extends /layouts/_account\n\nblock vars\n  -\n    page = {\n      title: 'Orders'\n    }\n\n    profileActivePage = 1\n\nblock account\n  each order in orders\n    section.uk-card-body\n      h3\n        a.uk-link-heading(href=\"#\") ##{order.id}\n          |\n          |\n          span.uk-text-muted.uk-text-small from #{order.date}\n\n      table(class=\"uk-table \" +\n                  \"uk-table-small \" +\n                  \"uk-table-justify \" +\n                  \"uk-table-responsive \" +\n                  \"uk-table-divider \" +\n                  \"uk-margin-small-top \" +\n                  \"uk-margin-remove-bottom\")\n        tbody\n          tr\n            th.uk-width-medium Items\n            td= order.items\n          tr\n            th.uk-width-medium Shipping\n            td= order.shipping\n          tr\n            th.uk-width-medium Payment\n            td= order.payment\n          tr\n            th.uk-width-medium Total\n            td= order.total\n          tr\n            th.uk-width-medium Status\n            td: span.uk-label(class= {\"uk-label-danger\": order.status == \"Canceled\"})= order.status"
  },
  {
    "path": "src/templates/pages/article.pug",
    "content": "extends /layouts/_article\n\nblock vars\n  -\n    article = articles[0]\n\n    page = {\n      title: article.title,\n      breadcrumbs: {\n        'Blog': 'blog.html'\n      }\n    }\n\nblock article\n  div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n    //- Article\n    section\n      article(class=\"uk-card \" +\n                    \"uk-card-default \" +\n                    \"uk-card-body \" +\n                    \"uk-article \" +\n                    \"tm-ignore-container\")\n        header.uk-text-center\n          //- Title\n          h1.uk-article-title= article.title\n          //- Date\n          div.uk-article-meta\n            time= article.date\n        section.uk-article-body\n          include /partials/_article\n\n    //- Related articles\n    section\n      h2.uk-text-center Related Articles\n      div(class=\"uk-grid-medium \" +\n                \"uk-grid-match \" +\n                \"uk-child-width-1-1 \" +\n                \"uk-child-width-1-2@s \" +\n                \"uk-child-width-1-4@m\"\n          uk-grid)\n        each article in articles\n          div\n            a(href= article.href)\n              article(class=\"uk-card \" +\n                            \"uk-card-default \" +\n                            \"uk-card-small \" +\n                            \"uk-overflow-hidden \" +\n                            \"uk-link-heading \" +\n                            \"uk-display-block \" +\n                            \"uk-box-shadow-hover-large \" +\n                            \"uk-height-1-1 \" +\n                            \"tm-ignore-container\")\n                //- Preview\n                if article.preview\n                  div.uk-card-media-top\n                    figure.uk-margin-remove.tm-ratio.tm-ratio-16-9\n                      div.uk-cover-container\n                        img(src= article.preview alt= article.title uk-cover)\n                div.uk-card-body\n                  //- Date\n                  div.uk-article-meta.uk-margin-xsmall-bottom\n                    time= article.date\n                  //- Title\n                  h3.uk-h4.uk-margin-remove= article.title"
  },
  {
    "path": "src/templates/pages/blog.pug",
    "content": "extends /layouts/_informational\n\nblock vars\n  -\n    page = {\n      title: 'Blog',\n      breadcrumbs: {}\n    }\n\n    informationalActivePage = 3\n\nblock informational\n  div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n    each article in articles\n      div\n        +article(article)"
  },
  {
    "path": "src/templates/pages/brands.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Brands',\n      breadcrumbs: {}\n    }\n\nblock pages\n  div.uk-card.uk-card-default.tm-ignore-container\n\n    header.uk-card-header.uk-background-default\n      nav\n        ul.uk-subnav.uk-flex-center.uk-margin-remove\n          li: a(href=\"#number\") #\n          li: a(href=\"#A\") A\n          li: a(href=\"#B\") B\n          li: a(href=\"#C\") C\n          li: a(href=\"#D\") D\n          li: a(href=\"#E\") E\n          li: a(href=\"#F\") F\n          li: a(href=\"#G\") G\n          li: a(href=\"#H\") H\n          li: a(href=\"#I\") I\n          li: a(href=\"#J\") J\n          li: a(href=\"#K\") K\n          li: a(href=\"#L\") L\n          li: a(href=\"#M\") M\n          li: a(href=\"#N\") N\n          li: a(href=\"#O\") O\n          li: a(href=\"#P\") P\n          li: a(href=\"#Q\") Q\n          li: a(href=\"#R\") R\n          li: a(href=\"#S\") S\n          li: a(href=\"#T\") T\n          li: a(href=\"#U\") U\n          li: a(href=\"#V\") V\n          li: a(href=\"#W\") W\n          li: a(href=\"#X\") X\n          li: a(href=\"#Y\") Y\n          li: a(href=\"#Z\") Z\n\n    section.uk-card-body(id=\"A\")\n      div(uk-grid)\n\n        div(class=\"uk-width-1-1 uk-width-1-6@m\")\n          h2.uk-text-center A\n\n        div(class=\"uk-width-1-1 uk-width-expand@m\")\n          ul(class=\"uk-grid-small uk-child-width-1-2 uk-child-width-1-4@s uk-child-width-1-5@m\"\n             uk-grid)\n            each brand in brands\n              li\n                a(class=\"uk-link-muted \" +\n                        \"uk-text-center \" +\n                        \"uk-display-block \" +\n                        \"uk-padding-small \" +\n                        \"uk-box-shadow-hover-large\"\n                  href=\"#\")\n                  if brand.image\n                    div.tm-ratio.tm-ratio-4-3\n                      div.tm-media-box\n                        figure.tm-media-box-wrap\n                          img.item-brand(src= brand.image alt= brand.name)\n                    div.uk-margin-small-top.uk-text-truncate= brand.name\n\n    section.uk-card-body(id=\"B\")\n      div(uk-grid)\n\n        div(class=\"uk-width-1-1 uk-width-1-6@m\")\n          h2.uk-text-center B\n\n        div(class=\"uk-width-1-1 uk-width-expand@m\")\n\n    section.uk-card-body(id=\"C\")\n      div(uk-grid)\n\n        div(class=\"uk-width-1-1 uk-width-1-6@m\")\n          h2.uk-text-center C\n\n        div(class=\"uk-width-1-1 uk-width-expand@m\")"
  },
  {
    "path": "src/templates/pages/cart.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Cart',\n      breadcrumbs: []\n    }\n\nblock pages\n  div.uk-grid-medium(uk-grid)\n\n    //- Items\n    div.uk-width-1-1(class=\"uk-width-expand@m\")\n      div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n\n        //- Header\n        header(class=\"uk-card-header \" +\n                     \"uk-text-uppercase \" +\n                     \"uk-text-muted \" +\n                     \"uk-text-center \" +\n                     \"uk-text-small \" +\n                     \"uk-visible@m\")\n          div.uk-grid-small.uk-child-width-1-2(uk-grid)\n\n            //- Product cell\n            div product\n\n            //- Other cells\n            div\n              div.uk-grid-small.uk-child-width-expand(uk-grid)\n                div price\n                div.tm-quantity-column quantity\n                div sum\n                div.uk-width-auto\n                  div(style=\"width: 20px;\")\n\n        //- Body\n        each product in products\n          if product.isAddedToCart\n            div.uk-card-body\n              div(class=\"uk-grid-small \" +\n                        \"uk-child-width-1-1 \" +\n                        \"uk-child-width-1-2@m \" +\n                        \"uk-flex-middle\"\n                  uk-grid)\n\n                // Product cell\n                div\n                  div.uk-grid-small(uk-grid)\n\n                    //- Image\n                    div.uk-width-1-3\n                      div.tm-ratio.tm-ratio-4-3\n                        a.tm-media-box(href= product.href)\n                          figure.tm-media-box-wrap\n                            if product.image\n                              img(src= product.image.small alt= product.name)\n                            else\n                              +icon(\"image\", \"3\")(class=\"uk-text-muted\")\n\n                    //- Info\n                    div.uk-width-expand\n                      div.uk-text-meta= product.type\n                      a.uk-link-heading(href= product.href)= product.name\n\n                // Other cells\n                div\n                  div(class=\"uk-grid-small \" +\n                            \"uk-child-width-1-1 \" +\n                            \"uk-child-width-expand@s \" +\n                            \"uk-text-center\"\n                      uk-grid)\n\n                    //- Price\n                    div\n                      div.uk-text-muted(class=\"uk-hidden@m\") Price\n                      div= product.price\n\n                    //- Quantity\n                    div.tm-cart-quantity-column\n                      +quantity(product.id)\n\n                    //- Sum\n                    div\n                      div.uk-text-muted(class=\"uk-hidden@m\") Sum\n                      div= product.price\n\n                    //- Actions\n                    div(class=\"uk-width-auto@s\")\n                      a.uk-text-danger(uk-tooltip=\"Remove\")\n                        +icon(\"close\")\n\n        div.uk-card-footer\n          label\n            span.uk-form-label.uk-margin-small-right Promo Code\n            div.uk-inline\n              a.uk-form-icon.uk-form-icon-flip(href=\"#\" uk-icon=\"arrow-right\")\n              input.uk-input.uk-form-width-small(type=\"text\")\n\n    //- Checkout\n    div.uk-width-1-1.tm-aside-column(class=\"uk-width-1-4@m\")\n      div.uk-card.uk-card-default.uk-card-small.tm-ignore-container(\n        uk-sticky=\"offset: 30; bottom: true; media: @m;\")\n\n        div.uk-card-body\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand.uk-text-muted Subtotal\n            div $3148\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand.uk-text-muted Discount\n            div.uk-text-danger −$29\n\n        div.uk-card-body\n\n          div.uk-grid-small.uk-flex-middle(uk-grid)\n            div.uk-width-expand.uk-text-muted Total\n            div.uk-text-lead.uk-text-bolder $3119\n\n          a.uk-button.uk-button-primary.uk-margin-small.uk-width-1-1(\n            href=\"checkout.html\") checkout\n"
  },
  {
    "path": "src/templates/pages/catalog.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Catalog',\n      breadcrumbs: {},\n      quantity: 641\n    }\n\nblock pages\n  div.uk-grid-medium(uk-grid)\n\n    //- Navigation\n    aside(class=\"uk-width-1-4 uk-visible@m tm-aside-column\")\n      nav.uk-card.uk-card-default.uk-card-body.uk-card-small(uk-sticky=\"bottom: true; offset: 90\")\n        ul.uk-nav.uk-nav-default(uk-scrollspy-nav=\"closest: li; scroll: true; offset: 90\")\n          each category in catalog\n            li: a(href=\"#\" + category.id)= category.name\n\n    //- Categories\n    div(class=\"uk-width-1-1 uk-width-expand@m\")\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n        each category in catalog\n          section(id= category.id)\n            div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n\n              //- Header\n              header.uk-card-header\n                div.uk-grid-small.uk-flex-middle(uk-grid)\n                  if category.image\n                    a(href= category.href)\n                      img(src= category.image\n                          alt= category.name\n                          width=\"50\"\n                          height=\"50\")\n                  div.uk-width-expand\n                    h2.uk-h4.uk-margin-remove\n                      a.uk-link-heading(href= category.href)= category.name\n                    div.uk-text-meta= category.quantity + \" items\"\n\n              //- Body\n              if category.items\n                div.uk-card-body\n                  ul.uk-list\n                    each subCategory in category.items\n                      li: a(href=\"subcategory.html\")= subCategory"
  },
  {
    "path": "src/templates/pages/category.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Laptops & Tablets',\n      breadcrumbs: {\n        'Catalog': 'catalog.html'\n      },\n      quantity: 367\n    }\n\nblock pages\n  div.uk-grid-medium(uk-grid)\n\n    //- Filters\n    aside#filters.uk-width-1-4.tm-aside-column.tm-filters(\n      uk-offcanvas=\"overlay: true; \" +\n                   \"container: false;\")\n\n      div.uk-offcanvas-bar.uk-padding-remove\n        div(class=\"uk-card \" +\n                  \"uk-card-default \" +\n                  \"uk-card-small \" +\n                  \"uk-flex \" +\n                  \"uk-flex-column \" +\n                  \"uk-height-1-1\")\n\n          //- Header\n          header.uk-card-header.uk-flex.uk-flex-middle\n            div.uk-grid-small.uk-flex-1(uk-grid)\n              div.uk-width-expand\n                div.uk-h3 Filters\n              button.uk-offcanvas-close(type=\"button\" uk-close)\n\n          //- Accordion\n          div.uk-margin-remove.uk-flex-1.uk-overflow-auto(\n            uk-accordion=\"multiple: true; targets: > .js-accordion-section\"\n            style=\"flex-basis: auto\")\n\n            //- Categories\n            section.uk-card-small.uk-card-body\n              h4.uk-margin-small-bottom Categories\n              ul.uk-nav.uk-nav-default\n                each category in catalog\n                  each item in category.items\n                    li: a(href=\"subcategory.html\")= item\n                  - break\n\n            //- Prices\n            section.uk-card-body.uk-open.js-accordion-section\n              h4.uk-accordion-title.uk-margin-remove Prices\n              div.uk-accordion-content\n                div.uk-grid-small.uk-child-width-1-2.uk-text-small(uk-grid)\n                  div\n                    div.uk-inline\n                      span.uk-form-icon.uk-text-xsmall from\n                      input.uk-input(type=\"text\" placeholder=\"$59\")\n                  div\n                    div.uk-inline\n                      span.uk-form-icon.uk-text-xsmall to\n                      input.uk-input(type=\"text\" placeholder=\"$6559\")\n\n            //- Properties\n            each property in filters\n              if property.id= 1\n                section.uk-card-body.js-accordion-section(\n                  class= { \"uk-open\": property.isOpen })\n                  h4.uk-accordion-title.uk-margin-remove= property.title\n                    if property.description\n                      +icon(\"question\", \".75\")(\n                        class=\"tm-help-icon\"\n                        onclick=\"event.stopPropagation();\")\n                      div.uk-margin-remove(\n                        uk-drop=\"mode: click;\" +\n                                \"boundary-align: true; \" +\n                                \"boundary: !.uk-accordion-title; \" +\n                                \"pos: bottom-justify;\")\n                        div(class=\"uk-card \" +\n                                  \"uk-card-body \" +\n                                  \"uk-card-default \" +\n                                  \"uk-card-small \" +\n                                  \"uk-box-shadow-xlarge \" +\n                                  \"uk-text-small\")= property.description\n                  div.uk-accordion-content\n                    ul.uk-list.tm-scrollbox\n                      each item in property.items\n                        li\n                          input.tm-checkbox(\n                            id= property.name + \"-\" + item.id\n                            name= property.name\n                            value= item.id\n                            type=\"checkbox\")\n                          label(for= property.name + \"-\" + item.id)\n                            span= item.name\n                              |\n                              |\n                              span.uk-text-meta.uk-text-xsmall= item.quantity\n              - break\n\n            //- Reset filters\n            div.uk-card-body\n              button.uk-button.uk-button-default.uk-width-1-1\n                +icon(\"close\", \".75\")(class=\"uk-margin-xsmall-right\")\n                | Reset all filters\n\n    //- Content\n    div.uk-width-expand\n      include /partials/_products"
  },
  {
    "path": "src/templates/pages/checkout.pug",
    "content": "extends /layouts/_checkout\n\nblock vars\n  -\n    page = {\n      title: 'Checkout'\n    }\n\nblock checkout\n  div.uk-grid-medium(uk-grid)\n\n    //- Form\n    form.uk-form-stacked.uk-width-1-1.tm-checkout(class=\"uk-width-expand@m\")\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n        //- Contact Information\n        section\n          h2.tm-checkout-title Contact Information\n          div.uk-card.uk-card-default.uk-card-small.uk-card-body.tm-ignore-container\n            div(class=\"uk-grid-small \" +\n                      \"uk-child-width-1-1 \" +\n                      \"uk-child-width-1-2@s\"\n                uk-grid)\n\n              div\n                label\n                  div.uk-form-label.uk-form-label-required First Name\n                  input.uk-input(type=\"text\" required)\n\n              div\n                label\n                  div.uk-form-label.uk-form-label-required Last Name\n                  input.uk-input(type=\"text\" required)\n\n              div\n                label\n                  div.uk-form-label.uk-form-label-required Phone Number\n                  input.uk-input(type=\"tel\" required)\n\n              div\n                label\n                  div.uk-form-label.uk-form-label-required Email\n                  input.uk-input(type=\"email\" required)\n\n        //- Shipping\n        section\n          h2.tm-checkout-title Shipping\n          div.uk-card.uk-card-default.uk-card-small.uk-card-body.tm-ignore-container\n            div(class=\"uk-grid-small \" +\n                      \"uk-grid-match \" +\n                      \"uk-child-width-1-1 \" +\n                      \"uk-child-width-1-3@s \" +\n                      \"uk-flex-center\"\n                uk-switcher=\"toggle: > * > .tm-choose\"\n                uk-grid)\n\n              div\n                a.tm-choose(href=\"#\")\n                  div.tm-choose-title pick up from store\n                  div.tm-choose-description Free, tomorrow\n\n              div\n                a.tm-choose(href=\"#\")\n                  div.tm-choose-title delivery in city\n                  div.tm-choose-description Free, tomorrow\n\n              div\n                a.tm-choose(href=\"#\")\n                  div.tm-choose-title regional delivery\n                  div.tm-choose-description\n                    | Via Russian Post or postal courier services. Sending to any country\n\n            div.uk-switcher.uk-margin\n\n              //- Pick up\n              section\n                div(class=\"uk-grid-small uk-child-width-1-1 uk-child-width-1-2@s\"\n                    uk-grid)\n\n                  div\n                    figure.uk-card-media-top.tm-ratio.tm-ratio-16-9.js-map(\n                      data-latitude=\"59.9356728\"\n                      data-longitude=\"30.3258604\"\n                      data-zoom=\"14\")\n\n                  div.uk-text-small\n                    div.uk-text-bolder Store Name\n                    div!= shopInfo.address\n                    div= shopInfo.openingHours\n\n              //- Shipping in St Petersburg\n              section\n\n                div.uk-grid-small(uk-grid)\n\n                  div.uk-width-expand\n                    label\n                      div.uk-form-label.uk-form-label-required Street\n                      input.uk-input(type=\"text\")\n\n                  div(class=\"uk-width-1-3 uk-width-1-6@s\")\n                    label\n                      div.uk-form-label.uk-form-label-required House\n                      input.uk-input(type=\"text\")\n\n                div.uk-grid-small(class=\"uk-child-width-1-3 uk-child-width-1-4@s\" uk-grid)\n\n                  div\n                    label\n                      div.uk-form-label Building\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Entrance\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Floor\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Apartment\n                      input.uk-input(type=\"text\")\n\n                  div.uk-width-1-1\n                    label\n                      div.uk-form-label Comment\n                      textarea.uk-textarea(\n                        rows=\"5\"\n                        placeholder=\"Additional information: phone numbers or doorphone code\")\n\n                div.uk-grid-small(class=\"uk-child-width-1-2 uk-child-width-1-4@s\" uk-grid)\n\n                  div.uk-width-1-1.uk-text-meta Choose a convenient date and delivery interval\n\n                  div\n                    select.uk-select\n                      option Tomorrow\n                      option 25 May\n                      option 26 May\n                      option 27 May\n                      option 28 May\n                      option 29 May\n                      option 30 May\n                      option 1 June\n\n                  div\n                    select.uk-select\n                      option 09:00 – 12:00\n                      option 12:00 – 15:00\n                      option 15:00 – 18:00\n                      option 18:00 – 21:00\n                      option 21:00 – 23:00\n\n\n              //- Regional shipping\n              div\n\n                div.uk-grid-small(uk-grid)\n\n                  div.uk-width-1-1\n                    label\n                      div.uk-form-label.uk-form-label-required Country\n                      select.uk-select\n                        option Choose the country\n                        option(value=\"RU\") Russia\n\n                div.uk-grid-small(uk-grid)\n\n                  div.uk-width-expand\n                    label\n                      div.uk-form-label.uk-form-label-required City\n                      input.uk-input(type=\"text\")\n\n                  div(class=\"uk-width-1-3 uk-width-1-6@s\")\n                    label\n                      div.uk-form-label.uk-form-label-required Post Code\n                      input.uk-input(type=\"text\")\n\n                div.uk-grid-small(uk-grid)\n\n                  div.uk-width-expand\n                    label\n                      div.uk-form-label.uk-form-label-required Street\n                      input.uk-input(type=\"text\")\n\n                  div(class=\"uk-width-1-3 uk-width-1-6@s\")\n                    label\n                      div.uk-form-label.uk-form-label-required House\n                      input.uk-input(type=\"text\")\n\n                div.uk-grid-small(class=\"uk-child-width-1-3 uk-child-width-1-4@s\" uk-grid)\n\n                  div\n                    label\n                      div.uk-form-label Building\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Entrance\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Floor\n                      input.uk-input(type=\"text\")\n\n                  div\n                    label\n                      div.uk-form-label Apartment\n                      input.uk-input(type=\"text\")\n\n                  div.uk-width-1-1\n                    label\n                      div.uk-form-label Comment\n                      textarea.uk-textarea(\n                        rows=\"5\"\n                        placeholder=\"Additional information: phone numbers or doorphone code\")\n\n        //- Payment\n        section\n          h2.tm-checkout-title Payment\n          div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n            div.uk-card-body\n              div(class=\"uk-grid-small \" +\n                        \"uk-grid-match \" +\n                        \"uk-child-width-1-1 \" +\n                        \"uk-child-width-1-3@s \" +\n                        \"uk-flex-center\"\n                  uk-switcher=\"toggle: > * > .tm-choose\"\n                  uk-grid)\n\n                div\n                  a.tm-choose(href=\"#\")\n                    div.tm-choose-title payment upon receipt\n                    div.tm-choose-description Cash, credit card\n\n                div\n                  a.tm-choose(href=\"#\")\n                    div.tm-choose-title online by card\n                    div.tm-choose-description Visa, MasterCard\n\n                div\n                  a.tm-choose(href=\"#\")\n                    div.tm-choose-title electronic payment\n                    div.tm-choose-description PayPal, Yandex.Money, QIWI\n\n            div.uk-card-footer\n              div.uk-grid-small.uk-flex-middle.uk-flex-center.uk-text-center(uk-grid)\n\n                div.uk-text-meta\n                  +icon(\"lock\", \".75\")(class=\"uk-margin-xsmall-right\")\n                  | Security of payments is is provided by secure protocols\n\n                div\n                  img(src=\"images/verified-by-visa.svg\"\n                      title=\"Verified by Visa\"\n                      style=\"height: 25px;\")\n\n                div\n                  img(src=\"images/mastercard-securecode.svg\"\n                      title=\"MasterCard SecureCode\"\n                      style=\"height: 25px;\")\n\n    //- Checkout\n    div(class=\"uk-width-1-1 uk-width-1-4@m tm-aside-column\")\n      div.uk-card.uk-card-default.uk-card-small.tm-ignore-container(\n        uk-sticky=\"offset: 30; bottom: true; media: @m;\")\n\n        section.uk-card-body\n          h4 Items in order\n          each product in products\n            if product.isAddedToCart\n              div.uk-grid-small(uk-grid)\n                div.uk-width-expand\n                  div.uk-text-small= product.name\n                  div.uk-text-meta 1 × #{product.price}\n                div.uk-text-right\n                  div= product.price\n\n        section.uk-card-body\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand\n              div.uk-text-muted Shipping\n            div.uk-text-right\n              div Pick up from store\n              div.uk-text-meta Free, tomorrow\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand\n              div.uk-text-muted Payment\n            div.uk-text-right\n              div Online by card\n\n        section.uk-card-body\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand\n              div.uk-text-muted Subtotal\n            div.uk-text-right\n              div $3148\n\n          div.uk-grid-small(uk-grid)\n            div.uk-width-expand\n              div.uk-text-muted Discount\n            div.uk-text-right\n              div.uk-text-danger −$29\n\n        section.uk-card-body\n\n          div.uk-grid-small.uk-flex-middle(uk-grid)\n            div.uk-width-expand\n              div.uk-text-muted Total\n            div.uk-text-right\n              div.uk-text-lead.uk-text-bolder $3119\n\n          button.uk-button.uk-button-primary.uk-margin-small.uk-width-1-1 checkout"
  },
  {
    "path": "src/templates/pages/compare.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Compare',\n      breadcrumbs: {}\n    }\n\nblock pages\n  div.uk-card.uk-card-default.uk-overflow-auto.tm-ignore-container\n    table.uk-table.uk-table-divider.tm-compare-table\n\n      thead\n        tr.uk-child-width-1-4\n\n          td.uk-table-middle.uk-text-center.tm-compare-column\n            input.tm-checkbox(id=\"show-difference\" type=\"checkbox\")\n            label(for=\"show-difference\") Show differences only\n\n          each product in products\n            if product.isAddedToCompare\n              td.tm-compare-table-column\n                div.uk-height-1-1\n                  div.uk-grid-small.uk-child-width-1-1.uk-height-1-1(uk-grid)\n\n                    div.uk-text-center\n                      a.uk-text-small.uk-text-danger(href=\"#\")\n                        +icon(\"close\", \".75\")\n                        span.uk-margin-xsmall-left.tm-pseudo Delete\n\n                    div\n                      +product-small(product)\n\n      each group in compare\n        tbody\n          tr\n            th(colspan=\"4\")\n              h3.uk-margin-remove= group.name\n          each values, property in group.properties\n            tr\n              th= property\n              each value in values\n                td!= value"
  },
  {
    "path": "src/templates/pages/contacts.pug",
    "content": "extends /layouts/_informational\n\nblock vars\n  -\n    page = {\n      title: 'Contacts',\n      breadcrumbs: {}\n    }\n\n    informationalActivePage = 2\n\nblock informational\n  article(class=\"uk-card \" +\n                \"uk-card-default \" +\n                \"uk-card-small \" +\n                \"uk-card-body \" +\n                \"uk-article \" +\n                \"tm-ignore-container\")\n\n    div.tm-wrapper\n      figure.tm-ratio.tm-ratio-16-9.js-map(\n        data-latitude=\"59.9356728\"\n        data-longitude=\"30.3258604\"\n        data-zoom=\"14\")\n\n    div(class=\"uk-child-width-1-1 uk-child-width-1-2@s uk-margin-top\"\n            uk-grid)\n\n      section\n        h3 Store\n        ul.uk-list\n          li\n            a.uk-link-heading(href=\"#\")\n              +icon(\"receiver\")(class=\"uk-margin-small-right\")\n              span.tm-pseudo= shopInfo.phone\n          li\n            a.uk-link-heading(href=\"#\")\n              +icon(\"mail\")(class=\"uk-margin-small-right\")\n              span.tm-pseudo= shopInfo.email\n          li\n            div\n              +icon(\"location\")(class=\"uk-margin-small-right\")\n              span!= shopInfo.address\n          li\n            div\n              +icon(\"clock\")(class=\"uk-margin-small-right\")\n              span= shopInfo.openingHours\n\n      section\n        h3 Feedback\n        dl.uk-description-list\n          dt Cooperation\n          dd: a.uk-link-muted(href=\"#\") cooperation@example.com\n          dt Partners\n          dd: a.uk-link-muted(href=\"#\") partners@example.com\n          dt Press\n          dd: a.uk-link-muted(href=\"#\") press@example.com\n\n      section.uk-width-1-1\n        h2.uk-text-center Contact Us\n        form\n          div.uk-grid-small.uk-child-width-1-1(uk-grid)\n            div\n              label\n                div.uk-form-label.uk-form-label-required Name\n                input.uk-input(type=\"text\" required)\n            div\n              label\n                div.uk-form-label.uk-form-label-required Email\n                input.uk-input(type=\"email\" required)\n            div\n              label\n                div.uk-form-label Topic\n                select.uk-select\n                  option Customer service\n                  option Tech support\n                  option Other\n            div\n              label\n                div.uk-form-label Message\n                textarea.uk-textarea(rows=\"5\")\n            div.uk-text-center\n              button.uk-button.uk-button-primary Send"
  },
  {
    "path": "src/templates/pages/delivery.pug",
    "content": "extends /layouts/_informational\n\nblock vars\n  -\n    page = {\n      title: 'Delivery',\n      breadcrumbs: {}\n    }\n\n    informationalActivePage = 6\n\nblock informational\n  article(class=\"uk-card \" +\n                \"uk-card-default \" +\n                \"uk-card-small \" +\n                \"uk-card-body \" +\n                \"uk-article \" +\n                \"tm-ignore-container\")\n\n    h2 Pickup from store in St. Petersburg\n    p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus imperdiet venenatis est. Phasellus vitae mauris imperdiet, condimentum eros vel, ullamcorper turpis. Maecenas sed libero quis orci egestas vehicula fermentum id diam.\n\n    figure\n      div.uk-text-bolder= shopInfo.storeName\n      div!= shopInfo.address\n      div= shopInfo.openingHours\n\n    div.tm-wrapper\n      figure.tm-ratio.tm-ratio-16-9.js-map(\n        data-latitude=\"59.9356728\"\n        data-longitude=\"30.3258604\"\n        data-zoom=\"14\")\n\n    h2 Delivery in St. Petersburg\n    p Nullam massa sem, mollis ut luctus at, tincidunt a lorem. Aliquam sed dictum elit, quis consequat metus. Proin in mauris finibus urna lacinia laoreet sed id orci. Pellentesque volutpat tellus sit amet enim rutrum, vel eleifend metus consectetur. Sed lacinia urna a neque maximus placerat. Praesent blandit hendrerit dui non placerat.\n    ul\n      li Fusce eget lorem ex. Vivamus nisl eros, condimentum at mollis id, tempor a risus. Integer pellentesque bibendum est, dapibus lacinia lacus.\n      li Vivamus tellus nibh, mattis at aliquam et, vestibulum aliquet leo. Nunc cursus lectus ex, laoreet commodo ligula posuere nec.\n      li Suspendisse potenti. Vivamus fermentum vitae lacus ut vulputate. Mauris sed consectetur nibh.\n\n    h2 Regional Delivery\n    p Aliquam erat volutpat. Pellentesque sit amet risus odio. Vestibulum id porta libero, non interdum libero. Integer pretium tempus viverra. Nulla iaculis sed tellus vel luctus. Curabitur maximus quis nibh mattis pulvinar. Mauris convallis dapibus justo, at fringilla erat porta at. Vivamus at ante nec augue convallis consectetur at vitae orci.\n    p Sed a rhoncus felis, quis efficitur orci. Maecenas imperdiet non sapien a sagittis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce pretium ipsum posuere, congue leo sit amet, finibus sem. Morbi aliquam pellentesque egestas. Curabitur sit amet commodo ipsum."
  },
  {
    "path": "src/templates/pages/faq.pug",
    "content": "extends /layouts/_informational\n\nblock vars\n  -\n    page = {\n      title: 'FAQ',\n      breadcrumbs: {}\n    }\n\n    informationalActivePage = 5\n\nblock informational\n  article(class=\"uk-card \" +\n                \"uk-card-default \" +\n                \"uk-card-small \" +\n                \"uk-card-body \" +\n                \"uk-article \" +\n                \"tm-ignore-container\")\n\n    ul.uk-list-divider.uk-list-large(uk-accordion=\"multiple: true\")\n      li\n        a.uk-accordion-title(href=\"#\") Lorem ipsum dolor sit amet, consectetur adipiscing elit?\n        div.uk-accordion-content\n          p Vivamus imperdiet venenatis est. Phasellus vitae mauris imperdiet, condimentum eros vel, ullamcorper turpis. Maecenas sed libero quis orci egestas vehicula fermentum id diam. In sodales quam quis mi mollis eleifend id sit amet velit. Sed ultricies condimentum magna, vel commodo dolor luctus in. Aliquam et orci nibh. Nunc purus metus, aliquam vitae venenatis sit amet, porta non est. Proin vehicula nisi eu molestie varius. Pellentesque semper ex diam, at tristique ipsum varius sed. Pellentesque non metus ullamcorper, iaculis nibh quis, facilisis lorem. Sed malesuada eu lacus sit amet feugiat. Aenean iaculis dui sed quam consectetur elementum.\n      li\n        a.uk-accordion-title(href=\"#\") Nullam massa sem, mollis ut luctus at, tincidunt a lorem?\n        div.uk-accordion-content\n          p Aliquam sed dictum elit, quis consequat metus. Proin in mauris finibus urna lacinia laoreet sed id orci. Pellentesque volutpat tellus sit amet enim rutrum, vel eleifend metus consectetur. Sed lacinia urna a neque maximus placerat. Praesent blandit hendrerit dui non placerat. Sed malesuada sem sit amet arcu faucibus, sit amet accumsan nisl laoreet. Quisque auctor sit amet nisl rhoncus interdum. Nullam euismod odio sem, quis pulvinar purus gravida eget. Nullam molestie, lacus vel vehicula elementum, massa arcu bibendum lacus, vitae tempus justo orci id lectus. Duis justo neque, elementum eget ante in, condimentum condimentum ante. Maecenas quis eleifend risus. In hac habitasse platea dictumst. Nunc posuere ultrices dolor, at auctor lacus dignissim ut. Donec viverra imperdiet nisi, sit amet mattis massa pellentesque ac.\n      li\n        a.uk-accordion-title(href=\"#\") Aliquam pretium diam et ullamcorper malesuada?\n        div.uk-accordion-content\n          p Praesent feugiat lectus faucibus tellus congue pharetra. In viverra vehicula pellentesque. Etiam consectetur ultricies magna at bibendum. Sed posuere libero ut nulla ornare, faucibus pellentesque odio pulvinar. Vestibulum feugiat ex id ex elementum egestas. Integer laoreet mollis risus, id efficitur neque. Pellentesque quis dolor faucibus, ultrices tellus id, vestibulum neque. Sed eros purus, dignissim id fermentum ut, lacinia laoreet odio. Sed mi erat, aliquet at facilisis quis, laoreet in massa. Pellentesque eu massa accumsan, iaculis erat eu, tincidunt sem. Quisque id orci id dui congue pretium. Pellentesque iaculis, dolor aliquet tempor laoreet, enim metus tincidunt massa, ut porttitor sem dui sit amet arcu. Vestibulum sodales laoreet enim, sit amet vestibulum nisl porttitor a.\n      li\n        a.uk-accordion-title(href=\"#\") Etiam suscipit at nisi eget auctor?\n        div.uk-accordion-content\n          p Mauris id pellentesque metus. In quis arcu sed enim maximus pellentesque et eget velit. Etiam euismod enim vitae condimentum tristique.\n      li\n        a.uk-accordion-title(href=\"#\") Sed porta diam eget enim bibendum laoreet?\n        div.uk-accordion-content\n          p Donec molestie sem et tellus vestibulum venenatis. Quisque iaculis ornare luctus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi velit nibh, ullamcorper eu imperdiet id, rutrum quis mi. Donec eu aliquet lorem. Nulla at lectus turpis. Sed et diam ac lorem iaculis lacinia.\n"
  },
  {
    "path": "src/templates/pages/favorites.pug",
    "content": "extends /layouts/_account\n\nblock vars\n  -\n    page = {\n      title: 'Favorites'\n    }\n\n    profileActivePage = 2\n\nblock account\n  div(class=\"uk-grid-collapse \" +\n            \"tm-products-list\"\n      uk-grid)\n    each product in products\n      if product.isAddedToFavorites\n        +product(product)\n\n\n\n"
  },
  {
    "path": "src/templates/pages/index.pug",
    "content": "extends /layouts/_default\n\nblock vars\n  -\n    page = {\n      title: 'Home'\n    }\n\nblock default\n\n  //- Slider\n  section.uk-position-relative.uk-visible-toggle.uk-light(uk-slideshow=\"min-height: 300; max-height: 600;\")\n    ul.uk-slideshow-items\n      each item in promo\n        li(style=\"background-color: \" + item.background)\n          a(href=\"#\")\n            figure.uk-container.uk-height-1-1\n              img(src= item.image\n                  alt= item.title\n                  width=\"1200\"\n                  height=\"600\"\n                  uk-cover)\n\n    a.uk-position-center-left.uk-position-small.uk-hidden-hover(\n      href=\"#\"\n      uk-slideshow-item=\"previous\"\n      uk-slidenav-previous)\n    a.uk-position-center-right.uk-position-small.uk-hidden-hover(\n      href=\"#\"\n      uk-slideshow-item=\"next\"\n      uk-slidenav-next)\n\n    div.uk-position-bottom-center.uk-position-small\n      ul.uk-slideshow-nav.uk-dotnav\n\n  //- Categories\n  section.uk-section.uk-section-default.uk-section-small\n    div.uk-container\n      div(class=\"uk-grid-small \" +\n                \"uk-child-width-1-2 \" +\n                \"uk-child-width-1-3@s \" +\n                \"uk-child-width-1-6@m\"\n          uk-grid)\n        each category in categories\n          div\n            a(class=\"uk-link-muted \" +\n                    \"uk-text-center \" +\n                    \"uk-display-block \" +\n                    \"uk-padding-small \" +\n                    \"uk-box-shadow-hover-large\"\n              href= category.href)\n              if category.image\n                div.tm-ratio.tm-ratio-4-3\n                  div.tm-media-box\n                    figure.tm-media-box-wrap\n                      img.item-brand(src= category.image alt= category.title)\n              div.uk-margin-small-top\n                div.uk-text-truncate= category.title\n                if category.comment\n                  div.uk-text-meta.uk-text-xsmall.uk-text-truncate= category.comment\n\n      div.uk-margin.uk-text-center\n        +link-to-all(\"see all categories\", \"catalog.html\")\n\n  //- Trending\n  section.uk-section.uk-section-small\n    div.uk-container\n\n      h2.uk-text-center Trending Items\n\n      div.uk-card.uk-card-default.tm-ignore-container\n        div(class=\"uk-grid-collapse \" +\n                  \"uk-child-width-1-3 \" +\n                  \"uk-child-width-1-4@m \" +\n                  \"tm-products-grid\"\n            uk-grid)\n          - var count = 0\n          each product in products\n            if count < 8\n              +product(product)\n            - count++;\n\n      div.uk-margin.uk-text-center\n        +link-to-all(\"shop all\", \"subcategory.html\")\n\n  //- Brands\n  section.uk-section.uk-section-default.uk-section-small\n    div.uk-container\n\n      h2.uk-text-center Popular Brands\n\n      div.uk-margin-medium-top(uk-slider=\"finite: true\")\n        div.uk-position-relative\n          div.uk-grid-small.uk-flex-middle(uk-grid)\n\n            div(class=\"uk-visible@m\")\n              a(href=\"#\"\n                uk-slidenav-previous\n                uk-slider-item=\"previous\")\n\n            div.uk-width-expand.uk-slider-container\n              ul(class=\"uk-slider-items \" +\n                       \"uk-child-width-1-3 \" +\n                       \"uk-child-width-1-6@s \" +\n                       \"uk-grid \" +\n                       \"uk-grid-large\")\n                each brand in brands\n                  li\n                    div.tm-ratio.tm-ratio-16-9\n                      a.uk-link-muted.tm-media-box.tm-grayscale(\n                        href=\"#\"\n                        title= brand.name)\n                        figure.tm-media-box-wrap\n                          img(src= brand.image alt= brand.name)\n\n            div(class=\"uk-visible@m\")\n              a(href=\"#\"\n                uk-slider-item=\"next\"\n                uk-slidenav-next)\n\n        ul(class=\"uk-slider-nav \" +\n                 \"uk-dotnav \" +\n                 \"uk-flex-center \" +\n                 \"uk-margin-medium-top \" +\n                 \"uk-hidden@m\")\n\n      div.uk-margin.uk-text-center\n        +link-to-all(\"see all brands\", \"brands.html\")\n\n  //- Blog\n  section.uk-section.uk-section-small\n    div.uk-container\n\n      h2.uk-text-center Blog\n\n      div(class=\"uk-grid-medium \" +\n                \"uk-grid-match \" +\n                \"uk-child-width-1-1 \" +\n                \"uk-child-width-1-2@s\"\n          uk-grid)\n\n        each article in articles\n          div\n            +article(article)\n\n      div.uk-margin.uk-text-center\n        +link-to-all(\"see all articles\", \"blog.html\")\n\n  //- About & News\n  section.uk-section.uk-section-default.uk-section-small\n    div.uk-container\n      div(class=\"uk-grid-medium \" +\n                \"uk-child-width-1-1 \" +\n                \"uk-child-width-1-2@s\"\n          uk-grid)\n\n        //- About\n        section\n\n          h2(class=\"uk-text-center uk-text-left@s\") About\n\n          p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at neque vulputate, vestibulum magna in, accumsan urna. Nulla feugiat ipsum ex, molestie porttitor nibh faucibus at. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam hendrerit lorem ut finibus semper. Donec ac vehicula erat, nec consequat massa.\n          p Quisque rhoncus fermentum sapien id congue. Nam at rutrum turpis. Aliquam sagittis imperdiet tortor vel dignissim. Ut ipsum nunc, egestas et odio id, vestibulum posuere orci. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\n          div(class=\"uk-text-center uk-text-left@s\")\n            +link-to-all(\"read more\", \"about.html\")\n\n        //- News\n        section\n\n          h2(class=\"uk-text-center uk-text-left@s\") Latest News\n\n          ul.uk-list.uk-list-small.uk-list-divider\n            each article in news\n              li\n                article.uk-article\n                  div.uk-article-body\n                    //- Date\n                    div.uk-article-meta.uk-margin-xsmall-bottom\n                      time= article.date\n                    //- Title\n                    h3.uk-h4.uk-margin-remove\n                      a.uk-link-heading(href= article.href)= article.title\n                    //- Description\n                    if article.description\n                      div.uk-margin-xsmall-top.uk-text-small!= article.description\n\n          div(class=\"uk-margin uk-text-center uk-text-left@s\")\n            +link-to-all(\"see all news\", \"news.html\")\n\n  //- Subscribe\n  section.uk-section.uk-section-primary.uk-section-small.uk-light\n    div.uk-container\n\n        div.uk-text-center\n          div.uk-h2.uk-margin-remove Subscribe for updates\n          div Be aware of new products and special offers.\n\n        div.uk-margin\n          form\n            div.uk-grid-small.uk-flex-center(uk-grid)\n              div(class=\"uk-width-1-1 uk-width-medium@s\")\n                div.uk-inline.uk-width-1-1\n                  span.uk-form-icon(uk-icon=\"mail\")\n                  input.uk-input(type=\"email\" placeholder=\"Your email\" required)\n              div\n                button.uk-button.uk-button-primary subscribe"
  },
  {
    "path": "src/templates/pages/news.pug",
    "content": "extends /layouts/_informational\n\nblock vars\n  -\n    page = {\n      title: 'News',\n      breadcrumbs: {}\n    }\n\n    informationalActivePage = 4\n\nblock informational\n  section.uk-card.uk-card-default.uk-card-small.uk-card-body.tm-ignore-container\n    ul.uk-list.uk-list-large.uk-list-divider\n      each article in news\n        li\n          article.uk-article\n            div.uk-article-body\n              //- Date\n              div.uk-article-meta.uk-margin-xsmall-bottom\n                time= article.date\n              //- Title\n              div\n                h3\n                  a.uk-link-heading(href= article.href)= article.title\n              //- Description\n              if article.description\n                div.uk-margin-small-top!= article.description"
  },
  {
    "path": "src/templates/pages/personal.pug",
    "content": "extends /layouts/_account\n\nblock vars\n  -\n    page = {\n      title: 'Personal Info'\n    }\n\n    profileActivePage = 3\n\nblock account\n  div.uk-card-body\n    form.uk-form-stacked\n\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n        //- Contact\n        fieldset.uk-fieldset\n          legend.uk-h4 Contact\n\n          div(class=\"uk-grid-small \" +\n                    \"uk-child-width-1-1 \" +\n                    \"uk-child-width-1-2@s\"\n              uk-grid)\n\n            div\n              label\n                div.uk-form-label First Name\n                input.uk-input(type=\"text\" value= profile.firstName)\n\n            div\n              label\n                div.uk-form-label Last Name\n                input.uk-input(type=\"text\" value= profile.lastName)\n\n            div\n              label\n                div.uk-form-label Phone Number\n                input.uk-input(type=\"tel\" value= profile.phone)\n\n            div\n              label\n                div.uk-form-label Date of Birth\n                input.uk-input(type=\"date\" value= profile.dateOFBirth)\n\n        //- Address\n        fieldset.uk-fieldset\n          legend.uk-h4 Address\n\n          div.uk-grid-small(uk-grid)\n\n            div.uk-width-1-1\n              label\n                div.uk-form-label Country\n                select.uk-select\n                  option Choose the country\n                  option(value=\"RU\") Russia\n\n          div.uk-grid-small(uk-grid)\n\n            div.uk-width-expand\n              label\n                div.uk-form-label City\n                input.uk-input(type=\"text\")\n\n            div(class=\"uk-width-1-3 uk-width-1-6@s\")\n              label\n                div.uk-form-label Post Code\n                input.uk-input(type=\"text\")\n\n          div.uk-grid-small(uk-grid)\n\n            div.uk-width-expand\n              label\n                div.uk-form-label Street\n                input.uk-input(type=\"text\")\n\n            div(class=\"uk-width-1-3 uk-width-1-6@s\")\n              label\n                div.uk-form-label House\n                input.uk-input(type=\"text\")\n\n          div(class=\"uk-grid-small uk-child-width-1-3 uk-child-width-1-4@s\"\n               uk-grid)\n\n            div\n              label\n                div.uk-form-label Building\n                input.uk-input(type=\"text\")\n\n            div\n              label\n                div.uk-form-label Entrance\n                input.uk-input(type=\"text\")\n\n            div\n              label\n                div.uk-form-label Floor\n                input.uk-input(type=\"text\")\n\n            div\n              label\n                div.uk-form-label Apartment\n                input.uk-input(type=\"text\")\n\n            div.uk-width-1-1\n              label\n                div.uk-form-label Comment\n                textarea.uk-textarea(\n                  rows=\"5\"\n                  placeholder=\"Additional information: phone numbers or doorphone code\")\n\n  div.uk-card-footer.uk-text-center\n    button.uk-button.uk-button-primary save"
  },
  {
    "path": "src/templates/pages/product.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    product = products[0];\n\n    page = {\n      title: product.name,\n      breadcrumbs: {\n        'Catalog': 'catalog.html',\n        'Laptops & Tablets': 'category.html',\n        'Laptops': 'subcategory.html'\n      }\n    }\n\nblock pages\n  div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n    //- Product\n    div\n      div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n        div.uk-grid-small.uk-grid-collapse.uk-grid-match(uk-grid)\n\n          //- Media\n          div(class=\"uk-width-1-1 uk-width-expand@m\")\n            div.uk-grid-collapse.uk-child-width-1-1(\n              uk-slideshow=\"finite: true; ratio: 4:3;\"\n              uk-grid)\n\n              //- Primary image\n              div\n                ul.uk-slideshow-items(uk-lightbox)\n                  li\n                    if product.image\n                      a.uk-card-body.tm-media-box.tm-media-box-zoom(href= product.image.large)\n                        figure.tm-media-box-wrap\n                          img(src= product.image.large alt= product.name)\n                    else\n                      figure.tm-media-box-wrap\n                        +icon(\"image\", \"5\")(class=\"uk-text-muted\")\n                  if product.additionalImages\n                    each additionalImage in product.additionalImages\n                      li\n                        a.uk-card-body.tm-media-box.tm-media-box-zoom(href= additionalImage.large)\n                          figure.tm-media-box-wrap\n                            img(src= additionalImage.large alt= product.name)\n\n              //- Additional images\n              if product.additionalImages\n                div\n                  div.uk-card-body.uk-flex.uk-flex-center\n                    div(class=\"uk-width-1-2 uk-visible@s\")\n                      div(uk-slider=\"finite: true\")\n                        div.uk-position-relative\n                          div.uk-slider-container\n                            ul.tm-slider-items.uk-slider-items.uk-child-width-1-4.uk-grid.uk-grid-small\n                              li(uk-slideshow-item=\"0\")\n                                div.tm-ratio.tm-ratio-1-1\n                                  a.tm-media-box.tm-media-box-frame\n                                    figure.tm-media-box-wrap\n                                      img(src= product.image.small alt= product.name)\n\n                              each additionalImage, index in product.additionalImages\n                                li(uk-slideshow-item= index + 1)\n                                  div.tm-ratio.tm-ratio-1-1\n                                    a.tm-media-box.tm-media-box-frame(href=\"#\")\n                                      figure.tm-media-box-wrap\n                                        img(src= additionalImage.small alt= product.name)\n\n                            div\n                              a.uk-position-center-left-out.uk-position-small(\n                                href=\"#\"\n                                uk-slider-item=\"previous\"\n                                uk-slidenav-previous)\n                              a.uk-position-center-right-out.uk-position-small(\n                                href=\"#\"\n                                uk-slider-item=\"next\"\n                                uk-slidenav-next)\n\n                    ul(class=\"uk-slideshow-nav uk-dotnav uk-hidden@s\")\n\n          //- Info\n          div(class=\"uk-width-1-1 uk-width-1-3@m tm-product-info\")\n            div.uk-card-body\n\n              //- Brand\n              div\n                a(href= product.brand.href title= product.brand.name)\n                  img(src= product.brand.image alt= product.brand.name style=\"height: 40px;\")\n\n              //- Rating & Statuses\n              div.uk-margin\n                div.uk-grid-small(uk-grid)\n\n                  //- Rating\n                  div.uk-flex.uk-flex-middle\n                    ul.uk-iconnav.uk-margin-xsmall-bottom.tm-rating\n                      li: +icon(\"star\")(class=\"uk-text-warning\")\n                      li: +icon(\"star\")(class=\"uk-text-warning\")\n                      li: +icon(\"star\")(class=\"uk-text-warning\")\n                      li: +icon(\"star\")(class=\"uk-text-warning\")\n                      li: +icon(\"star\")(class=\"uk-text-warning\")\n                    div.uk-margin-xsmall-left\n                      a.uk-text-meta.js-scroll-to-description(\n                        href=\"#description\"\n                        onclick=\"UIkit.switcher('.js-product-switcher').show(3);\") (2)\n\n                  //- Statuses\n                  if product.statuses\n                    div\n                      each status in product.statuses\n                        case status\n                          when \"new\"\n                            span.uk-label.uk-label-success.uk-margin-xsmall-right= status\n                          when \"top selling\"\n                            span.uk-label.uk-label-warning.uk-margin-xsmall-right= status\n                          when \"trade-in\"\n                            span.uk-label.uk-label-danger.uk-margin-xsmall-right= status\n                          default\n                            span.uk-label= status\n\n              //- Variations\n              if product.statuses\n                div.uk-margin\n                  div.uk-grid-medium(uk-grid)\n                    each variation in product.variations\n                      div\n                        div.uk-text-small.uk-margin-xsmall-bottom= variation.name\n                        ul.uk-subnav.uk-subnav-pill.tm-variations(uk-switcher)\n                          each value in variation.values\n                            li\n                              if variation.name === \"Color\"\n                                a.tm-variation-color(uk-tooltip= value.name)\n                                  div(style=\"background-color: \" + value.value)\n                              else\n                                a= value.name\n\n              //- Shop\n              div.uk-margin\n                div.uk-padding-small.uk-background-primary-lighten.uk-border-rounded\n                  div.uk-grid-small.uk-child-width-1-1(uk-grid)\n\n                    //- Prices\n                    div\n                      if product.isNotAvailable\n                        div.uk-text-muted Product not available\n                      else\n                        if product.oldPrice\n                          del.uk-text-meta= product.oldPrice\n                          div.tm-product-price= product.price\n\n                    //- Add to cart\n                    if !product.isNotAvailable\n                      div\n                        div.uk-grid-small(uk-grid)\n\n                          //- Quantity\n                          div\n                            +quantity(product.id)\n\n                          //- Add to cart button\n                          div\n                            button(class=\"uk-button \" +\n                                         \"uk-button-primary \" +\n                                         \"tm-product-add-button \" +\n                                         \"tm-shine \" +\n                                         \"js-add-to-cart\") add to cart\n\n                          //- Actions buttons\n                          div(class=\"uk-width-auto uk-width-expand@s uk-flex uk-flex-middle uk-text-meta\")\n                            a.uk-margin-small-right.js-add-to.js-add-to-favorites(\n                              class= { \"tm-action-button-active js-added-to\": product.isAddedToFavorites }\n                              uk-tooltip=\"Add to favorites\")\n                              +icon(\"heart\")\n                            a.js-add-to.js-add-to-compare(\n                              class= { \"tm-action-button-active js-added-to\": product.isAddedToCompare }\n                              uk-tooltip=\"Add to compare\")\n                              +icon(\"copy\")\n\n              //- Delivery info\n              div.uk-margin\n                div.uk-padding-small.uk-background-muted.uk-border-rounded\n                  div.uk-grid-small.uk-child-width-1-1.uk-text-small(uk-grid)\n\n                    //- Delivery\n                    div\n                      div.uk-grid-collapse(uk-grid)\n                        +icon(\"cart\")(class=\"uk-margin-xsmall-right\")\n                        div\n                          div.uk-text-bolder Delivery\n                          div.uk-text-xsmall.uk-text-muted In stock, free, tomorrow\n\n                    //- Pick up\n                    div\n                      div.uk-grid-collapse(uk-grid)\n                        +icon(\"location\")(class=\"uk-margin-xsmall-right\")\n                        div\n                          div.uk-text-bolder Pick up from store\n                          div.uk-text-xsmall.uk-text-muted In stock, free, tomorrow\n\n              //- Properties\n              div.uk-margin\n                if product.properties\n                  ul.uk-list.uk-text-small.uk-margin-remove\n                    for value, property in product.properties\n                      li\n                        span.uk-text-muted= property + \": \"\n                        span!= value\n                  div.uk-margin-small-top\n                    a.uk-link-heading.js-scroll-to-description(\n                      href=\"#description\"\n                      onclick=\"UIkit.switcher('.js-product-switcher').show(1);\")\n                      span.tm-pseudo Detailed specifications\n                      +icon(\"chevron-down\", \".75\")(class=\"uk-margin-xsmall-left\")\n\n          //- Description\n          div#description.uk-width-1-1.tm-product-description\n\n            header\n              nav.tm-product-nav(\n                uk-sticky=\"offset: 60; \" +\n                          \"bottom: #description; \" +\n                          \"cls-active: tm-product-nav-fixed;\")\n                ul.uk-subnav.uk-subnav-pill.js-product-switcher(\n                  uk-switcher=\"connect: .js-tabs\")\n                  li: a.js-scroll-to-description(href=\"#description\") Overview\n                  li: a.js-scroll-to-description(href=\"#description\") Specifications\n                  li: a.js-scroll-to-description(href=\"#description\") Accessories\n                    |\n                    |\n                    span (9)\n                  li: a.js-scroll-to-description(href=\"#description\") Reviews\n                    |\n                    |\n                    span (2)\n                  li: a.js-scroll-to-description(href=\"#description\") Q&A\n\n            div.uk-card-body\n              div.uk-switcher.js-product-switcher.js-tabs\n\n                //- Overview\n                section\n                  article.uk-article\n                    div.uk-article-body\n                      include /partials/_article\n\n                //- Specifications\n                section\n                  each group in product.specifications\n                    h2= group.name\n                    table.uk-table.uk-table-divider.uk-table-justify.uk-table-responsive\n                      each value, property in group.properties\n                        tr\n                          th.uk-width-medium= property\n                          td.uk-table-expand!= value\n\n                //- Accessories\n                section\n                  div.tm-wrapper\n                    div(class=\"uk-grid-collapse \" +\n                              \"uk-child-width-1-3@s \" +\n                              \"uk-child-width-1-4@m \" +\n                              \"tm-products-grid\"\n                        uk-grid)\n                      each product in products\n                        +product(product)\n\n                //- Reviews\n                section\n                  if product.reviews\n                    div.uk-grid-small.uk-grid-divider(uk-grid)\n\n                      div(class=\"uk-width-1-1 \" +\n                                    \"uk-width-1-5@s \" +\n                                    \"uk-text-center \" +\n                                    \"tm-reviews-column\")\n                        div.uk-text-meta.uk-text-uppercase average rating\n                        div.uk-heading-primary 5.0\n                        div.uk-flex.uk-flex-center\n                          ul.uk-iconnav.tm-rating\n                            li: +icon(\"star\")(class=\"uk-text-warning\")\n                            li: +icon(\"star\")(class=\"uk-text-warning\")\n                            li: +icon(\"star\")(class=\"uk-text-warning\")\n                            li: +icon(\"star\")(class=\"uk-text-warning\")\n                            li: +icon(\"star\")(class=\"uk-text-warning\")\n                        div.uk-margin-small-top.uk-text-meta based on 2 reviews\n                        button(class=\"uk-button uk-button-primary uk-margin-top uk-width-1-1\"\n                               uk-toggle=\"target: #review\") write a review\n\n                      div(class=\"uk-width-1-1 \" +\n                                    \"uk-width-expand@s\")\n                        div.uk-grid-small.uk-grid-divider.uk-child-width-1-1(uk-grid)\n                          each review in product.reviews\n                            article\n                              section.uk-grid-small.uk-child-width-1-1(uk-grid)\n\n                                header\n                                  div.uk-h4.uk-margin-remove= review.author\n                                  time.uk-text-meta= review.date\n\n                                div\n                                  ul.uk-iconnav.uk-margin-bottom.tm-rating\n                                    li: +icon(\"star\")(class=\"uk-text-warning\")\n                                    li: +icon(\"star\")(class=\"uk-text-warning\")\n                                    li: +icon(\"star\")(class=\"uk-text-warning\")\n                                    li: +icon(\"star\")(class=\"uk-text-warning\")\n                                    li: +icon(\"star\")(class=\"uk-text-warning\")\n\n                                  div!= review.text\n\n                                  div.uk-grid-small.uk-flex-middle.uk-margin-top(uk-grid)\n                                    div.uk-text-meta Was this review helpful to you?\n                                    div\n                                      button.uk-button.uk-button-default.uk-button-small\n                                        | Yes\n                                        span.uk-margin-xsmall-left.uk-text-muted= review.likes\n                                      button.uk-button.uk-button-default.uk-button-small.uk-margin-small-left\n                                        | No\n                                        span.uk-margin-xsmall-left.uk-text-muted= review.dislikes\n\n                //- Q&A\n                section\n                  ul.uk-list-divider.uk-list-large(uk-accordion=\"multiple: true\")\n                    each question in product.questions\n                      li\n                        a.uk-accordion-title(href=\"#\")= question.question\n                        div.uk-accordion-content= question.answer\n\n    // Related items\n    section\n      div(uk-slider=\"finite: true\")\n\n        div.uk-grid-small.uk-flex-middle.uk-margin-bottom(uk-grid)\n          h2.uk-width-expand(class=\"uk-text-center uk-text-left@s\") Related Products\n          div(class=\"uk-visible@s\")\n            a.tm-slidenav(href=\"#\" uk-slider-item=\"previous\" uk-slidenav-previous)\n            a.tm-slidenav(href=\"#\" uk-slider-item=\"next\" uk-slidenav-next)\n\n        div\n          div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n            div.uk-position-relative\n              div.uk-slider-container\n                div(class=\"uk-slider-items \" +\n                          \"uk-grid-collapse \" +\n                          \"uk-child-width-1-3 \" +\n                          \"uk-child-width-1-4@m \" +\n                          \"tm-products-grid\")\n                  each product in products\n                    +product(product)\n\n          ul.uk-slider-nav.uk-dotnav.uk-flex-center.uk-margin-top(class=\"uk-hidden@s\")\n\n  //- Modals\n  div#review(uk-modal)\n    div.uk-modal-dialog.uk-modal-body\n      button.uk-modal-close-outside(type=\"button\" uk-close)\n      h2.uk-modal-title.uk-text-center Review\n      form.uk-form-stacked\n        div.uk-grid-small.uk-child-width-1-1(uk-grid)\n\n          div\n            label\n              div.uk-form-label.uk-form-label-required Name\n              input.uk-input(type=\"text\" required)\n\n          div\n            label\n              div.uk-form-label.uk-form-label-required Email\n              input.uk-input(type=\"email\" required)\n\n          div\n            div.uk-form-label Rating\n            ul.uk-iconnav.tm-rating\n              li: a(uk-icon=\"star\")\n              li: a(uk-icon=\"star\")\n              li: a(uk-icon=\"star\")\n              li: a(uk-icon=\"star\")\n              li: a(uk-icon=\"star\")\n\n          div\n            label\n              div.uk-form-label.uk-form-label-required Review\n              textarea.uk-textarea(rows=\"5\" required)\n\n          div.uk-text-center\n            button.uk-button.uk-button-primary Send\n"
  },
  {
    "path": "src/templates/pages/settings.pug",
    "content": "extends /layouts/_account\n\nblock vars\n  -\n    page = {\n      title: 'Settings'\n    }\n\n    profileActivePage = 4\n\nblock account\n  div.uk-card-body\n    form.uk-form-stacked\n      div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n        //- Email\n        fieldset.uk-fieldset\n          legend.uk-h4 Email\n          div(class=\"uk-grid-small \" +\n                    \"uk-child-width-1-1\"\n              uk-grid)\n            div\n              label\n                div.uk-form-label Current Email\n                input.uk-input.uk-form-width-large(type=\"email\" value= profile.email disabled)\n            div\n              label\n                div.uk-form-label New Email\n                input.uk-input.uk-form-width-large(type=\"email\")\n            div\n              button.uk-button.uk-button-primary update email\n\n        //- Password\n        fieldset.uk-fieldset\n          legend.uk-h4 Password\n          div(class=\"uk-grid-small \" +\n                    \"uk-child-width-1-1\"\n              uk-grid)\n            div\n              label\n                div.uk-form-label Current Password\n                input.uk-input.uk-form-width-large(type=\"password\")\n            div\n              label\n                div.uk-form-label New Password\n                input.uk-input.uk-form-width-large(type=\"password\")\n            div\n              label\n                div.uk-form-label Confirm Password\n                input.uk-input.uk-form-width-large(type=\"password\")\n            div\n              button.uk-button.uk-button-primary update password\n\n        //- Email notifications\n        fieldset.uk-fieldset\n          legend.uk-h4 Email Notifications\n          ul.uk-list.uk-margin-remove\n            li\n              input(class=\"tm-checkbox\"\n                    id=\"notification-1\"\n                    type=\"checkbox\"\n                    name=\"notification\"\n                    value=\"1\"\n                    checked)\n              label(for=\"notification-1\")\n                span Weekly Newsletter\n            li\n              input(class=\"tm-checkbox\"\n                    id=\"notification-2\"\n                    type=\"checkbox\"\n                    name=\"notification\"\n                    value=\"1\"\n                    checked)\n              label(for=\"notification-2\")\n                span New Product Announcements\n            li\n              input(class=\"tm-checkbox\"\n                    id=\"notification-3\"\n                    type=\"checkbox\"\n                    name=\"notification\"\n                    value=\"1\"\n                    checked)\n              label(for=\"notification-3\")\n                span Product Specials"
  },
  {
    "path": "src/templates/pages/subcategory.pug",
    "content": "extends /layouts/_pages\n\nblock vars\n  -\n    page = {\n      title: 'Laptops',\n      breadcrumbs: {\n        'Catalog': 'catalog.html',\n        'Laptops & Tablets': 'category.html'\n      },\n      quantity: 289\n    }\n\nblock pages\n  div.uk-grid-medium(uk-grid)\n\n    //- Filters\n    aside#filters.uk-width-1-4.tm-aside-column.tm-filters(\n      uk-offcanvas=\"overlay: true; \" +\n                   \"container: false;\")\n\n      div.uk-offcanvas-bar.uk-padding-remove\n        div(class=\"uk-card \" +\n                  \"uk-card-default \" +\n                  \"uk-card-small \" +\n                  \"uk-flex \" +\n                  \"uk-flex-column \" +\n                  \"uk-height-1-1\")\n\n          //- Header\n          header.uk-card-header.uk-flex.uk-flex-middle\n            div.uk-grid-small.uk-flex-1(uk-grid)\n              div.uk-width-expand\n                h3 Filters\n              button.uk-offcanvas-close(type=\"button\" uk-close)\n\n          //- Accordion\n          div.uk-margin-remove.uk-flex-1.uk-overflow-auto(\n            uk-accordion=\"multiple: true; targets: > .js-accordion-section\"\n            style=\"flex-basis: auto\")\n\n            //- Prices\n            section.uk-card-body.uk-open.js-accordion-section\n              h4.uk-accordion-title.uk-margin-remove Prices\n              div.uk-accordion-content\n                div.uk-grid-small.uk-child-width-1-2.uk-text-small(uk-grid)\n                  div\n                    div.uk-inline\n                      span.uk-form-icon.uk-text-xsmall from\n                      input.uk-input(type=\"text\" placeholder=\"$59\")\n                  div\n                    div.uk-inline\n                      span.uk-form-icon.uk-text-xsmall to\n                      input.uk-input(type=\"text\" placeholder=\"$6559\")\n\n            //- Properties\n            each property in filters\n              section.uk-card-body.js-accordion-section(\n                class= { \"uk-open\": property.isOpen })\n                h4.uk-accordion-title.uk-margin-remove= property.title\n                  if property.description\n                    +icon(\"question\", \".75\")(\n                      class=\"tm-help-icon\"\n                      onclick=\"event.stopPropagation();\")\n                    div.uk-margin-remove(\n                      uk-drop=\"mode: click;\" +\n                              \"boundary-align: true; \" +\n                              \"boundary: !.uk-accordion-title; \" +\n                              \"pos: bottom-justify;\")\n                      div(class=\"uk-card \" +\n                                \"uk-card-body \" +\n                                \"uk-card-default \" +\n                                \"uk-card-small \" +\n                                \"uk-box-shadow-xlarge \" +\n                                \"uk-text-small\")= property.description\n                div.uk-accordion-content\n                  ul.uk-list.tm-scrollbox\n                    each item in property.items\n                      li\n                        input.tm-checkbox(\n                          id= property.name + \"-\" + item.id\n                          name= property.name\n                          value= item.id\n                          type=\"checkbox\")\n                        label(for= property.name + \"-\" + item.id)\n                          span= item.name\n                            |\n                            |\n                            span.uk-text-meta.uk-text-xsmall= item.quantity\n\n            div.uk-card-body\n              button.uk-button.uk-button-default.uk-width-1-1\n                +icon(\"close\", \".75\")(class=\"uk-margin-xsmall-right\")\n                | Reset all filters\n\n    //- Content\n    div.uk-width-expand\n      include /partials/_products"
  },
  {
    "path": "src/templates/partials/_article.pug",
    "content": "p Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod nisl nunc, a dictum magna laoreet eget. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.\n\ndiv.tm-wrapper.uk-text-center\n  figure\n    a(href=\"images/articles/macbook-photo.jpg\")\n      img(src=\"images/articles/macbook-photo.jpg\"\n          alt=\"MacBook Pro\")\n    figcaption MacBook Pro\n\np Sed sit amet ante eget nunc dictum auctor sagittis in libero. Aliquam ultricies tincidunt nisi, a vestibulum nisi tempor vitae. Praesent fermentum sem semper fermentum ultrices. Duis eleifend vel sapien dignissim auctor. Vestibulum at commodo leo. In vitae eros ut sapien egestas venenatis non sit amet elit. In gravida vitae ante a rutrum.\n\nh2 Touch Bar\np Vivamus ornare tortor elit, sed rutrum felis iaculis in. Nunc ut molestie neque. Aenean vitae elementum arcu, at rutrum ligula. Pellentesque fringilla dictum viverra. Vestibulum eu ipsum nec risus pharetra iaculis. Donec quis nulla orci. Suspendisse eget dictum augue, et lobortis justo. Suspendisse velit dui, sollicitudin quis velit nec, tincidunt consequat arcu.\n\nh2 Retina Display\np Pellentesque dictum imperdiet rutrum. Vestibulum egestas quam eget maximus rutrum. Etiam blandit a dolor laoreet vulputate. Nulla ullamcorper ipsum et libero finibus, vitae vestibulum odio feugiat.\n\nfigure.uk-text-center\n  a(href=\"images/articles/macbook-promo-4.jpg\")\n    img(src=\"images/articles/macbook-promo-4.jpg\"\n        alt=\"MacBook Pro\")\n\nh2 Force Touch Trackpad\np Vivamus ornare tortor elit, sed rutrum felis iaculis in. Nunc ut molestie neque. Aenean vitae elementum arcu, at rutrum ligula. Pellentesque fringilla dictum viverra. Vestibulum eu ipsum nec risus pharetra iaculis. Donec quis nulla orci. Suspendisse eget dictum augue, et lobortis justo. Suspendisse velit dui, sollicitudin quis velit nec, tincidunt consequat arcu.\n\ndiv.tm-wrapper\n  figure.tm-ratio.tm-ratio-16-9\n    iframe(\n      src=\"https://www.youtube.com/embed/WVPRkcczXCY\"\n      frameborder=\"0\"\n      allow=\"autoplay; encrypted-media\"\n      allowfullscreen)\n\np Ut arcu lacus, tempus bibendum purus sed, iaculis sollicitudin sapien. Donec quis imperdiet arcu. Ut sagittis ipsum diam, nec tempor ex fermentum a. Nam ac vehicula erat. Curabitur id congue risus, vel iaculis enim. Donec tristique lacinia velit eu fringilla. Mauris lectus enim, aliquet eu dolor sed, porta vehicula lacus. Etiam luctus egestas scelerisque. Sed sit amet metus ante. Cras pulvinar sollicitudin nisl nec egestas. Maecenas vitae velit ut urna vestibulum venenatis ut vel ex. Quisque sit amet mattis ante. Duis blandit nisl non commodo rutrum. Nulla in velit ut arcu efficitur laoreet ut eu mauris. Duis condimentum vulputate consequat. Vestibulum aliquet suscipit purus.\n\nfigure(uk-slideshow)\n  div.uk-position-relative.uk-visible-toggle.uk-light\n    ul.uk-slideshow-items\n      li\n        img(\n          src=\"images/articles/macbook-promo-1.jpg\"\n          alt=\"MacBook Pro\"\n          uk-cover)\n      li\n        img(\n          src=\"images/articles/macbook-promo-2.jpg\"\n          alt=\"MacBook Pro\"\n          uk-cover)\n\n    a.uk-position-center-left.uk-position-small.uk-hidden-hover(\n      href=\"#\"\n      uk-slidenav-previous\n      uk-slideshow-item=\"previous\")\n    a.uk-position-center-right.uk-position-small.uk-hidden-hover(\n      href=\"#\"\n      uk-slidenav-next\n      uk-slideshow-item=\"next\")\n\n  ul.uk-slideshow-nav.uk-dotnav.uk-flex-center.uk-margin\n\np Mauris dignissim non nulla quis sollicitudin. Maecenas quis orci dui. Suspendisse pharetra facilisis metus, at venenatis nisl convallis et. Curabitur vulputate eget nisl sed dignissim. Sed eget metus ut orci volutpat gravida.\n\nblockquote.twitter-tweet(data-lang=\"en\")\n  p(lang=\"en\" dir=\"ltr\")\n    | Mophie&apos;s latest battery pack is powerful enough to charge your 15-inch MacBook Pro\n    a(href=\"https://t.co/jN4RzcxOyG\") https://t.co/jN4RzcxOyG\n    a(href=\"https://t.co/5oJBKZRVBx\") pic.twitter.com/5oJBKZRVBx\n  | &mdash; The Verge (@verge)\n  a(href=\"https://twitter.com/verge/status/948539601265872896?ref_src=twsrc%5Etfw\") January 3, 2018\nscript(src=\"https://platform.twitter.com/widgets.js\" charset=\"utf-8\" async)\n\np Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sem urna, accumsan nec velit et, convallis tincidunt enim. Proin sollicitudin, metus at interdum tempus, velit mi posuere nisl, nec viverra ligula lorem sit amet felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\n\ntable(class=\"uk-table \" +\n            \"uk-table-large \" +\n            \"uk-table-middle \" +\n            \"uk-table-divider \" +\n            \"uk-table-justify \" +\n            \"uk-table-responsive\")\n\n  thead\n    tr\n      th\n      th.uk-width-1-4.uk-text-center MacBook Pro 13\"\n      th.uk-width-1-4.uk-text-center MacBook Pro 13\" with Touch Bar\n      th.uk-width-1-4.uk-text-center MacBook Pro 15\" with Touch Bar\n\n  tbody\n    tr\n      th Dimensions\n      td 0.59 × 11.97 × 8.36&nbsp;inches\n      td 0.59 × 11.97 × 8.36&nbsp;inches\n      td 0.61 × 13.75 × 9.48&nbsp;inches\n    tr\n      th Weight\n      td 3.02&nbsp;pounds\n      td 3.02&nbsp;pounds\n      td 4.02&nbsp;pounds\n    tr\n      th Display\n      td 13.3\" 2560×1600,<br>60Hz Retina Display\n      td 13.3\" 2560×1600,<br>60Hz Retina Display\n      td 15.4\" 2880×1800,<br>60Hz Retina Display\n    tr\n      th Inputs\n      td 2 × USB-C Ports,<br>1 × 3.5mm Headphone Jack\n      td 4 × USB-C Ports,<br>1 × 3.5mm Headphone Jack\n      td 4 × USB-C Ports,<br>1 × 3.5mm Headphone Jack\n    tr\n      th Battery Life\n      td Approximately 10&nbsp;hours\n      td Approximately 10&nbsp;hours\n      td Approximately 10&nbsp;hours\n\np Sed at diam aliquet, fringilla turpis ac, consequat ante. Duis id maximus purus. Cras rutrum erat non nibh accumsan, vitae maximus sapien elementum. Maecenas tellus libero, vulputate vitae mi eu, volutpat ornare felis. Nulla malesuada nunc urna, quis rutrum massa consequat id. Pellentesque elit diam, dignissim a lorem eu, tincidunt mollis erat.\n\ndiv.tm-wrapper\n  figure.uk-text-center\n    a(href=\"images/articles/macbook-promo-3.jpg\")\n      img(src=\"images/articles/macbook-promo-3.jpg\"\n          alt=\"MacBook Pro\")\n    figcaption 13-inch and 15-inch\n\np Sed at diam aliquet, fringilla turpis ac, consequat ante. Duis id maximus purus. Cras rutrum erat non nibh accumsan, vitae maximus sapien elementum. Maecenas tellus libero, vulputate vitae mi eu, volutpat ornare felis. Nulla malesuada nunc urna, quis rutrum massa consequat id. Pellentesque elit diam, dignissim a lorem eu, tincidunt mollis erat.\n\nblockquote(cite=\"#\")\n  p.uk-margin-small-bottom You can converge a toaster and refrigerator, but these things are probably not going to be pleasing to the user.\n  footer Tim Cook"
  },
  {
    "path": "src/templates/partials/_cart-offcanvas.pug",
    "content": "div#cart-offcanvas(uk-offcanvas=\"overlay: true; flip: true\")\n  aside.uk-offcanvas-bar.uk-padding-remove\n    div(class=\"uk-card \" +\n              \"uk-card-default \" +\n              \"uk-card-small \" +\n              \"uk-height-1-1 \" +\n              \"uk-flex \" +\n              \"uk-flex-column \" +\n              \"tm-shadow-remove\")\n\n      header.uk-card-header.uk-flex.uk-flex-middle\n        div.uk-grid-small.uk-flex-1(uk-grid)\n          div.uk-width-expand\n            div.uk-h3 Cart\n          button.uk-offcanvas-close(type=\"button\" uk-close)\n\n      div.uk-card-body.uk-overflow-auto\n        ul.uk-list.uk-list-divider\n          each product in products\n            if product.isAddedToCart\n              li.uk-visible-toggle\n                arttcle\n                  div.uk-grid-small(uk-grid)\n\n                    //- Image\n                    div.uk-width-1-4\n                      div.tm-ratio.tm-ratio-4-3\n                        a.tm-media-box(href= product.href)\n                          figure.tm-media-box-wrap\n                            if product.image\n                              img(src= product.image.small alt= product.name)\n                            else\n                              +icon(\"image\", \"3\")(class=\"uk-text-muted\")\n                    //- Info\n                    div.uk-width-expand\n                      div.uk-text-meta.uk-text-xsmall= product.type\n                      a.uk-link-heading.uk-text-small(href= product.href)= product.name\n                      div.uk-margin-xsmall.uk-grid-small.uk-flex-middle(uk-grid)\n                        div.uk-text-bolder.uk-text-small= product.price\n                        div.uk-text-meta.uk-text-xsmall 1 × #{product.price}\n\n                    //- Delete\n                    div\n                      a(class=\"uk-icon-link \" +\n                              \"uk-text-danger \" +\n                              \"uk-invisible-hover\"\n                        href=\"#\"\n                        uk-icon=\"icon: close; ratio: .75\"\n                        uk-tooltip=\"Remove\")\n\n      footer.uk-card-footer\n        div.uk-grid-small(uk-grid)\n          div.uk-width-expand.uk-text-muted.uk-h4 Subtotal\n          div.uk-h4.uk-text-bolder $3148.00\n        div(class=\"uk-grid-small \" +\n                  \"uk-child-width-1-1 \" +\n                  \"uk-child-width-1-2@m \" +\n                  \"uk-margin-small\" uk-grid)\n          div\n            a(class=\"uk-button uk-button-default uk-margin-small uk-width-1-1\"\n              href=\"cart.html\") view cart\n          div\n            a(class=\"uk-button uk-button-primary uk-margin-small uk-width-1-1\"\n              href=\"checkout.html\") checkout\n"
  },
  {
    "path": "src/templates/partials/_footer.pug",
    "content": "section.uk-section.uk-section-secondary.uk-section-small.uk-light\n  div.uk-container\n    div(class=\"uk-grid-medium \" +\n              \"uk-child-width-1-1 \" +\n              \"uk-child-width-1-4@m\"\n        uk-grid)\n\n      div\n        a.uk-logo(href=\"index.html\")\n          img(src=\"images/logo-inverse.svg\" width=\"90\" height=\"32\" alt=\"Logo\")\n        p.uk-text-small Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut mauris eros. Nulla quis ante sed tortor efficitur facilisis.\n        ul.uk-iconnav\n          each social in socials\n            li: a(href=\"#\" title= social.name uk-icon= social.icon)\n\n      div\n        nav.uk-grid-small.uk-child-width-1-2(uk-grid)\n          div\n            ul.uk-nav.uk-nav-default\n              each item in footerMenuLeft\n                li: a(href= item.href)= item.name\n          div\n            ul.uk-nav.uk-nav-default\n              each item in footerMenuRight\n                li: a(href= item.href)= item.name\n\n      div\n        ul.uk-list.uk-text-small\n          li\n            a.uk-link-muted(href=\"#\")\n              +icon(\"receiver\")(class=\"uk-margin-small-right\")\n              span.tm-pseudo= shopInfo.phone\n          li\n            a.uk-link-muted(href=\"#\")\n              +icon(\"mail\")(class=\"uk-margin-small-right\")\n              span.tm-pseudo= shopInfo.email\n          li\n            div.uk-text-muted\n              +icon(\"location\")(class=\"uk-margin-small-right\")\n              span!= shopInfo.address\n          li\n            div.uk-text-muted\n              +icon(\"clock\")(class=\"uk-margin-small-right\")\n              span= shopInfo.openingHours\n\n      div\n        form.uk-form-stacked\n          label\n            div.uk-form-label.uk-text-muted Subscribe for updates\n            div.uk-inline.uk-width-1-1\n              a.uk-form-icon.uk-form-icon-flip(href=\"#\" uk-icon=\"mail\")\n              input.uk-input(type=\"email\" placeholder=\"Your email\" required)\n\n        div.uk-margin.uk-text-small.uk-text-muted Shopping Categories icons by Jaro Sigrist from Noun Project\n\n\n"
  },
  {
    "path": "src/templates/partials/_head.pug",
    "content": "meta(charset=\"UTF-8\")\nmeta(http-equiv=\"x-ua-compatible\" content=\"ie=edge\")\nmeta(name=\"viewport\" content=\"width=device-width, initial-scale=1\")\nif page.title\n  title= page.title\n"
  },
  {
    "path": "src/templates/partials/_header.pug",
    "content": "include ../components/_toolbar\ninclude ../components/_navbar\n"
  },
  {
    "path": "src/templates/partials/_nav-offcanvas.pug",
    "content": "div#nav-offcanvas(uk-offcanvas=\"overlay: true\")\n  aside.uk-offcanvas-bar.uk-padding-remove\n    div.uk-card.uk-card-default.uk-card-small.tm-shadow-remove\n\n      header.uk-card-header.uk-flex.uk-flex-middle\n        div\n          a.uk-link-muted.uk-text-bold(href=\"#\")= shopInfo.phone\n          div.uk-text-xsmall.uk-text-muted(style=\"margin-top: -2px;\")\n            div!= shopInfo.address\n            div= shopInfo.openingHours\n\n      nav.uk-card-small.uk-card-body\n        ul.uk-nav-default.uk-nav-parent-icon.uk-list-divider(uk-nav)\n          each item in navbarMenu\n            li(class= { \"uk-parent\": item.items })\n              a(href= item.href)= item.name\n              if item.items\n                ul.uk-nav-sub.uk-list-divider\n                  each category in item.items\n                    li: a(href=\"subcategory.html\")= category.name\n                  if item.name === \"Catalog\"\n                    li.uk-text-center\n                      +link-to-all('see all categories', item.href)\n                  if item.name === \"Brands\"\n                    li.uk-text-center\n                      +link-to-all('see all brands', item.href)\n          li\n            a(href=\"compare.html\") Compare\n              span.uk-badge.uk-margin-xsmall-left 3\n\n      nav.uk-card-small.uk-card-body\n        ul.uk-nav.uk-nav-default\n          each item in toolbarMenu\n            li: a(href= item.href)= item.name\n\n      nav.uk-card-body\n        ul.uk-iconnav.uk-flex-center\n          each social in socials\n            li: a(href=\"#\" title= social.name uk-icon= social.icon)\n\n\n\n"
  },
  {
    "path": "src/templates/partials/_products.pug",
    "content": "div.uk-grid-medium.uk-child-width-1-1(uk-grid)\n\n  //- Items\n  div\n    div.uk-card.uk-card-default.uk-card-small.tm-ignore-container\n      div#products.uk-grid-collapse.uk-child-width-1-1(uk-grid)\n\n        //- Settings\n        div.uk-card-header\n          div.uk-grid-small.uk-flex-middle(uk-grid)\n\n            //- Sorting\n            div(class=\"uk-width-1-1 \" +\n                      \"uk-width-expand@s \" +\n                      \"uk-flex \" +\n                      \"uk-flex-center \" +\n                      \"uk-flex-left@s \" +\n                      \"uk-text-small\")\n\n              span.uk-margin-small-right.uk-text-muted Sort by:\n\n              ul.uk-subnav.uk-margin-remove\n                li.uk-active.uk-padding-remove\n                  a.uk-text-lowercase(href=\"#\") relevant\n                    +icon(\"chevron-down\", \".5\")(class=\"uk-margin-xsmall-left\")\n                li\n                  a.uk-text-lowercase(href=\"#\") price\n                li\n                  a.uk-text-lowercase(href=\"#\") newest\n\n            //- Filters button & change view\n            div(class=\"uk-width-1-1 uk-width-auto@s uk-flex uk-flex-center uk-flex-middle\")\n\n              //- Filters button\n              button(class=\"uk-button uk-button-default uk-button-small uk-hidden@m\"\n                     uk-toggle=\"target: #filters\")\n                +icon(\"settings\", \".75\")(class=\"uk-margin-xsmall-right\")\n                | Filters\n\n              //- Change view\n              div.tm-change-view.uk-margin-small-left\n                ul(class=\"uk-subnav uk-iconnav js-change-view\"\n                   uk-switcher)\n                  li\n                    a.uk-active(data-view=\"grid\"\n                                uk-icon=\"grid\"\n                                uk-tooltip=\"Grid\")\n                  li\n                    a(data-view=\"list\"\n                      uk-icon=\"list\"\n                      uk-tooltip=\"List\")\n\n        //- Items\n        div\n          div(class=\"uk-grid-collapse \" +\n                    \"uk-child-width-1-3 \" +\n                    \"tm-products-grid \" +\n                    \"js-products-grid\"\n              uk-grid)\n            each product in products\n              +product(product)\n\n        //- Load more\n        div\n          button.uk-button.uk-button-default.uk-button-large.uk-width-1-1(\n            style=\"border-top-left-radius: 0; border-top-right-radius: 0;\")\n            +icon(\"plus\", \".75\")(class=\"uk-margin-small-right\")\n            span Load more\n\n  //- Pagination\n  div\n    ul.uk-pagination.uk-flex-center\n      li.uk-active: span 1\n      li: a(href=\"#\") 2\n      li: a(href=\"#\") 3\n      li: a(href=\"#\") 4\n      li: a(href=\"#\") 5\n      li.uk-disabled: span …\n      li: a(href=\"#\") 20\n      li: a(href=\"#\"): span(uk-pagination-next)"
  }
]