{"version":3,"sources":["webpack:///src/components/MenuBar.vue","webpack:///./src/components/MenuBar.vue?0d6e","webpack:///./src/components/MenuBar.vue","webpack:///src/components/PrevNextNav.vue","webpack:///./src/components/PrevNextNav.vue?4390","webpack:///./src/components/PrevNextNav.vue","webpack:///src/App.vue","webpack:///./src/App.vue?6c2c","webpack:///./src/App.vue","webpack:///src/components/templates/Front.vue","webpack:///./src/components/templates/Front.vue?d94a","webpack:///./src/components/templates/Front.vue","webpack:///src/components/templates/Intro.vue","webpack:///./src/components/templates/Intro.vue?5aeb","webpack:///./src/components/templates/Intro.vue","webpack:///src/components/HeaderBox.vue","webpack:///./src/components/HeaderBox.vue?ee96","webpack:///./src/components/HeaderBox.vue","webpack:///./src/components/MovieProgressBar.vue?4713","webpack:///./src/components/MovieProgressBar.vue","webpack:///src/components/MoviePlayer.vue","webpack:///src/components/MovieProgressBar.vue","webpack:///./src/components/MoviePlayer.vue?a13e","webpack:///./src/components/MoviePlayer.vue","webpack:///src/components/MarketBlock.vue","webpack:///./src/components/MarketBlock.vue?d185","webpack:///./src/components/MarketBlock.vue","webpack:///src/components/templates/Markets.vue","webpack:///./src/components/templates/Markets.vue?f643","webpack:///./src/components/templates/Markets.vue","webpack:///./src/components/Bullet.vue?78bc","webpack:///./src/components/Bullet.vue","webpack:///src/components/Bullet.vue","webpack:///src/components/ThreeSixtyBlock.vue","webpack:///./src/components/ThreeSixtyBlock.vue?486c","webpack:///./src/components/ThreeSixtyBlock.vue","webpack:///src/components/ToggleButton.vue","webpack:///./src/components/ToggleButton.vue?635d","webpack:///./src/components/ToggleButton.vue","webpack:///src/components/templates/Installation3d.vue","webpack:///./src/components/templates/Installation3d.vue?10f6","webpack:///./src/components/templates/Installation3d.vue","webpack:///src/components/templates/Installation.vue","webpack:///./src/components/templates/Installation.vue?d5b3","webpack:///./src/components/templates/Installation.vue","webpack:///src/components/templates/Workflow.vue","webpack:///./src/components/templates/Workflow.vue?fe47","webpack:///./src/components/templates/Workflow.vue","webpack:///src/components/templates/InteractivePdf.vue","webpack:///./src/components/templates/InteractivePdf.vue?1d70","webpack:///./src/components/templates/InteractivePdf.vue","webpack:///src/components/templates/InteractiveHtml.vue","webpack:///./src/components/templates/InteractiveHtml.vue?f34d","webpack:///./src/components/templates/InteractiveHtml.vue","webpack:///src/components/templates/Movie.vue","webpack:///./src/components/templates/Movie.vue?7c1b","webpack:///./src/components/templates/Movie.vue","webpack:///src/components/templates/Specs.vue","webpack:///./src/components/templates/Specs.vue?a14a","webpack:///./src/components/templates/Specs.vue","webpack:///src/components/templates/Backcover.vue","webpack:///./src/components/templates/Backcover.vue?006e","webpack:///./src/components/templates/Backcover.vue","webpack:///src/components/ThreeSixtyPlayer.vue","webpack:///./src/components/ThreeSixtyPlayer.vue?d6b9","webpack:///./src/components/ThreeSixtyPlayer.vue","webpack:///./src/components/DropdownMenu.vue?c5a8","webpack:///./src/components/DropdownMenu.vue","webpack:///src/components/DropdownMenu.vue","webpack:///src/components/templates/ThreeSixty.vue","webpack:///./src/components/templates/ThreeSixty.vue?d886","webpack:///./src/components/templates/ThreeSixty.vue","webpack:///src/components/templates/Orb.vue","webpack:///./src/components/templates/Orb.vue?b841","webpack:///./src/components/templates/Orb.vue","webpack:///src/components/templates/Slider.vue","webpack:///./src/components/templates/Slider.vue?d6ac","webpack:///./src/components/templates/Slider.vue","webpack:///src/components/templates/Table.vue","webpack:///./src/components/templates/Table.vue?6d87","webpack:///./src/components/templates/Table.vue","webpack:///./src/router/index.js","webpack:///./src/store/mutations.js","webpack:///./src/store/index.js","webpack:///./src/main.js"],"names":["MenuBar","name","data","menuOpen","computed","extends_default","Object","vuex_esm","printerUrl","this","printUrl","methods","pad","index","s","substr","length","toggleMenu","closeMenu","routerArray","get","arr","params","id","pages","template","tViewIndex","canopy","info","selectedBullet","getRouterArray","$store","getters","components_MenuBar","render","_vm","_h","$createElement","_c","_self","staticClass","_m","_v","domProps","innerHTML","_s","title","parseInt","pageIndex","pageMenuTitle","attrs","href","translations","_e","class","menu__burger--open","on","click","menu__list--open","_l","page","key","menu__list-link--active","to","nativeOn","$event","menuTitle","staticRenderFns","src","src_components_MenuBar","__webpack_require__","normalizeComponent","ssrContext","PrevNextNav","touch","showMenu","mounted","_this","document","addEventListener","window","innerHeight","$el","getBoundingClientRect","top","body","classList","add","remove","showMenuF","hideMenu","components_PrevNextNav","prevPageRouterArray","nextPageRouterArray","src_components_PrevNextNav","PrevNextNav_normalizeComponent","isClassInParents","element","className","contains","parentNode","nodeName","App","components","prevID","hammertime","hammer_default","a","ev","target","$router","push","beforeMount","getProducts","watch","$route","scrollTo","selectortype_template_index_0_src_App","page-wrapper--front","isFront","ready","src_App","App_normalizeComponent","Front","subtitle","coverImage","coverImagePortrait","coverVideo","bgVid","querySelector","templates_Front","style","backgroundImage","muted","autoplay","plays-inline","width","height","components_templates_Front","Front_normalizeComponent","Intro","intro","contentBlocks","templates_Intro","block","content","components_templates_Intro","Intro_normalizeComponent","HeaderBox","props","type","String","required","Boolean","default","long","noMargin","components_HeaderBox","header-box--small","header-box--long","header-box--no-margin","src_components_HeaderBox","HeaderBox_normalizeComponent","components_MovieProgressBar","seek","progressPercentage","mouseown","mouseDown","mouseup","mouseUp","mousemove","mouseMove","keys","37","38","39","40","preventDefault","e","event","returnValue","preventDefaultForScrollKeys","keyCode","MoviePlayer","MovieProgressBar","MovieProgressBar_normalizeComponent","isMouseDown","dot","mouseLeave","touchMove","offsetWidth","left","percentage","clientX","$emit","emitPercentage","touches","progress","played","paused","ended","fullscreen","controlsActive","controlsTimeout","aspectRatio","maxWidth","fillerStyle","innerwrapStyle","elVideo","elOverlay","elInnerwrap","timeout","video","enableControls","playPause","toggleShowNav","_this2","clearTimeout","navTimeout","showNav","setTimeout","_this3","currentTime","play","pause","removeEventListener","maximize","_this4","onwheel","onmousewheel","ontouchmove","onkeydown","offsetHeight","rect","position","minimize","_this5","toggleFullscreen","toggleMute","removeAttribute","setAttribute","onTimeUpdate","duration","_this6","updateTime","components_MoviePlayer","hidden","movieUrl","playsinline","webkit-playsinline","timeupdate","paddingTop","placeholderUrl","change","src_components_MoviePlayer","MoviePlayer_normalizeComponent","MarketBlock","components_MarketBlock","image","src_components_MarketBlock","MarketBlock_normalizeComponent","Markets","innerWidth","mobileContentBlocks","slice","forEach","call","contentBlock","tempFirst","tempSec","templates_Markets","components_templates_Markets","Markets_normalizeComponent","components_Bullet","x","y","src_components_Bullet","Bullet_normalizeComponent","ThreeSixtyBlock","opaque","close","Number","components_ThreeSixtyBlock","src_components_ThreeSixtyBlock","ThreeSixtyBlock_normalizeComponent","ToggleButton","model","prop","label","checked","align","updateChecked","components_ToggleButton","for","_uid","src_components_ToggleButton","ToggleButton_normalizeComponent","scrollToElement","scrollIntoView","Installation3d","Bullet","newVal","oldVal","bullet","time","isScrollable","$refs","blocks3d","toggleInfo","val","closeBullet","openBullet","contentBlocks3d","threedContentBlocks","view3dStyle","selectedBlock","transformOrigin","transform","scale","templates_Installation3d","show","b","ref","hide","isMobile","value","callback","$$v","expression","components_templates_Installation3d","Installation3d_normalizeComponent","Installation","coverType","evenContentBlocks","filter","filterEven","oddContentBlocks","filterOdd","macy_watchcss_default","container","trueOrder","waitForImages","margin","columns","watchCSS","templates_Installation","components_templates_Installation","Installation_normalizeComponent","Workflow","vids","querySelectorAll","vid","templates_Workflow","workflow__block-textwrap--long","components_templates_Workflow","Workflow_normalizeComponent","InteractivePdf","pdfFiles","pdfUrl","url","indexOf","pdfIframe","setPdfIndex","templates_InteractivePdf","pdf","components_templates_InteractivePdf","InteractivePdf_normalizeComponent","InteractiveHtml","iframeLinks","iframeLink","linkBlockTitle","linkBlockContent","linkBlockCta","linkBlockImage","htmlUrl","templates_InteractiveHtml","no-margin","imagePosition","components_templates_InteractiveHtml","InteractiveHtml_normalizeComponent","Movie","coverVideoPlaceholder","templates_Movie","components_templates_Movie","Movie_normalizeComponent","Specs","playing","templates_Specs","components_templates_Specs","Specs_normalizeComponent","Backcover","templates_Backcover","components_templates_Backcover","Backcover_normalizeComponent","ThreeSixtyPlayer","collection","imagesLoaded","imagesTotal","frames","currentFrame","endFrame","ctx","bulletsArray","bullets","startX","endX","distance","dragging","monitorStartTime","ticker","MONITOR_INTERVAL","SPEED_MULTIPLIER","loaded","loadBullets","innerwrap","maxHeight","animateToFrame","frame","diff","getNormalizedCurrentFrame","Math","abs","animate","bulletsUrl","bulletsJson","axios_default","then","response","init","preload","i","Image","handleImageLoaded","frameUrl","initListeners","getContext","handleTouchStart","handleTouchEnd","handleMouseDown","handleTouchMove","handleMouseMove","stopPropagation","changedTouches","Date","getTime","ceil","requestAnimationFrame","num","stringNum","toString","rightNow","performance","now","easing","floor","clearRect","drawImage","cancelAnimationFrame","loadedPercent","highlightedFrameIndex","components_ThreeSixtyPlayer","highlightedFrameUrl","mode","appear","opacity","src_components_ThreeSixtyPlayer","ThreeSixtyPlayer_normalizeComponent","components_DropdownMenu","active","currentPage","link","array","dropdown-menu__link--active","currentIndex","updateIndex","src_components_DropdownMenu","DropdownMenu_normalizeComponent","ThreeSixty_scrollToElement","ThreeSixty","DropdownMenu","tView","threesixtyViews","dropdownArray","threesixtyView","productName","isLandscape","matchMedia","matches","isNotTablet","macy","toggleCanopy","updateTViewIndex","isNocanopy","goToBlock","closeHighlight","vue_esm","nextTick","reInit","breakAt","699","templates_ThreeSixty","highlighted","components_templates_ThreeSixty","ThreeSixty_normalizeComponent","Orb","imageUrl","pano","viewer","prototype","onChangeSize","load","req","XMLHttpRequest","ActiveXObject","open","responseType","onload","blob","Blob","URL","createObjectURL","onprogress","total","send","crossOrigin","view360","gyroMode","updateViewportDimensions","templates_Orb","components_templates_Orb","Orb_normalizeComponent","Slider","horizontalPercent","verticalPercent","view","imageTop","imageBottom","labelTop","labelBottom","right","bottom","horizontalPercentage","max","min","verticalPercentage","clientY","templates_Slider","touchmove","components_templates_Slider","Slider_normalizeComponent","Table","selectedIcon","bgImg","templates_Table","table","row","rowIndex","cell","header_rows","spanned","colspan","c_span","rowspan","r_span","c","cellIndex","odd","first","disclaimers","components_templates_Table","Table_normalizeComponent","Vue","use","Router","router","routes","path","redirect","component","mutations","GET_DATA_SUCCESS","state","defaultTranslations","threesixtyOn","threesixtyOff","alternativeLanguage","GET_DATA_FAILED","Vuex","actions","_ref","parameterName","result","tmp","commit","location","search","split","item","decodeURIComponent","axios","st","route","indexedContentBlocks","canopyContentBlocks","nocanopyContentBlocks","indexedContentBlock","canopyBulletsJson","nocanopyBulletsJson","canopyFrames","nocanopyFrames","store","Store","menuCTA","printCTA","prev","next","backcoverTitle","backcoverText","productTitle","threesixtyLabels","threesixtyCanopy","require","sync","config","productionTip","ua","navigator","userAgent","msie","substring","rv","edge","detectIE","el"],"mappings":"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","file":"static/js/app.3bec84d00495edc1a6e8.js","sourcesContent":["<template>\n  <div class=\"menu\">\n    <div class=\"menu__logo\">\n      <img class=\"menu__logo-img\" src=\"static/svg/logo-white.svg\" />\n    </div>\n    <div class=\"menu__title\">\n      <span v-html=\"title\"></span> / <b>{{pad(parseInt(pageIndex) + 1)}}</b> <span v-html=\"pageMenuTitle\"></span>\n    </div>\n    <div class=\"menu__right-align\">\n      <a class=\"menu__print-link\" v-if=\"menuOpen\" :href=\"printerUrl\">\n        {{translations['printCTA']}}\n      </a>\n      <span class=\"menu__burger\" v-bind:class=\"{ 'menu__burger--open': menuOpen }\" @click=\"toggleMenu\">\n        {{translations['menuCTA']}}\n        <em></em>\n      </span>\n    </div>\n    <ul class=\"menu__list\" v-bind:class=\"{ 'menu__list--open': menuOpen }\">\n      <div class=\"menu__list-innerwrap\">\n        <li v-for=\"(page, index) in pages\" class=\"menu__list-item\" :key=\"index\">\n          <router-link class=\"menu__list-link\" v-on:click.native=\"closeMenu\" v-bind:class=\"{ 'menu__list-link--active': pageIndex === index }\" :to=\"routerArray(index)\">\n            <b>{{pad(index + 1)}}</b>\n            <span v-html=\"page.menuTitle\"></span>\n          </router-link>\n        </li>\n      </div>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nconst getRouterArray = (index, get) => {\n  const arr = {};\n  arr.params = {};\n  arr.params.id = index;\n  arr.name = get.pages[arr.params.id].template;\n\n  if (arr.name === '360') {\n    arr.params.tViewIndex = 0;\n    arr.params.canopy = 'canopy';\n    arr.params.info = 'info';\n    arr.params.selectedBullet = -1;\n  }\n\n  if (arr.name === 'installation-3d') {\n    arr.params.info = 'info';\n    arr.params.selectedBullet = -1;\n  }\n  return arr;\n};\n\nexport default {\n  name: 'MenuBar',\n  data() {\n    return {\n      menuOpen: false,\n    };\n  },\n  computed: {\n    ...mapGetters(['translations', 'title', 'pageIndex', 'pageMenuTitle', 'pages', 'printUrl']),\n    printerUrl() {\n      return `${this.printUrl}`;\n    },\n  },\n  methods: {\n    pad(index) {\n      const s = '000000000' + index; //eslint-disable-line\n      return s.substr(s.length - 2);\n    },\n    toggleMenu() {\n      this.menuOpen = !this.menuOpen;\n    },\n    closeMenu() {\n      this.menuOpen = false;\n    },\n    routerArray(index) {\n      return getRouterArray(index, this.$store.getters);\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\" scoped>\n@import '../scss/helpers';\n\n.menu {\n  display: block;\n  height: 70px;\n  width: 100%;\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  box-sizing: border-box;\n  background: $c_primary;\n  padding: 18px 20px;\n  box-shadow: 0px -2px 6px 0px rgba(0,0,0,0.1);\n  z-index: 10;\n  color: $c_white;\n\n  @include not-mobile {\n    padding: 18px 40px;\n  }\n\n  &::before {\n    content: '';\n    display: block;\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    right: 0;\n    background: $c_primary;\n    z-index: -1;\n  }\n\n  &__logo {\n    display: inline-block;\n    vertical-align: middle;\n\n    img {\n      display: block;\n    }\n  }\n\n  &__title {\n    @include mobile {\n      display: none;\n    }\n\n    @include not-mobile {\n      display: inline-block;\n      line-height: 34px;\n      margin-left: 20px;\n      @include t_normal;\n      font-size: 16px;\n\n\n      b {\n        @include t_bold;\n      }\n    }\n  }\n\n  &__right-align {\n    float: right;\n  }\n\n  @mixin menuLink {\n    @include t_bold;\n    display: inline-block;\n    color: $c_white;\n    font-size: 16px;\n    line-height: 34px;\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  &__print-link {\n    @include menuLink;\n\n    &::after {\n      display: inline-block;\n      content: '';\n      width: 21px;\n      height: 20px;\n      background: url('../../static/svg/icon_download.svg') no-repeat center;\n      margin-left: 10px;\n      margin-top: 4px;\n      vertical-align: top;\n    }\n  }\n\n  &__burger {\n    @include menuLink;\n    margin-left: 20px;\n\n    @include not-mobile {\n      margin-left: 40px;\n    }\n\n    em {\n      width: 14px;\n      height: 1px;\n      background: $c_white;\n      margin: 11px 0 12px 10px;\n      display: inline-block;\n      vertical-align: middle;\n      position: relative;\n      transition: background .45s;\n\n      &::before,\n      &::after {\n        display: block;\n        width: 100%;\n        height: 100%;\n        background: $c_white;\n        position: absolute;\n        content: '';\n        transition: top .45s, bottom .45s, width .45s, transform .45s;\n      }\n\n      &::before {\n        top: -5px;\n        left: 0;\n        transform-origin: 0 0;\n      }\n\n      &::after {\n        bottom: -5px;\n        left: 0;\n        transform-origin: 0 100%;\n      }\n    }\n\n    &--open em {\n      background: transparent;\n\n      &::before,\n      &::after {\n        width: 17.3px;\n      }\n\n      &::before {\n        transform: translateY(-1px) rotate(45deg);\n      }\n\n      &::after {\n        transform: translateY(1px) rotate(-45deg);\n      }\n    }\n  }\n\n  &__list {\n    // display: none;\n    display: block;\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 70px;\n    z-index: -2;\n    margin: 0;\n    list-style: none;\n    background-color: $c_primary;\n    box-sizing: border-box;\n    transition: transform .4s, opacity .4s;\n    overflow: auto;\n    // @include gradientBackground(true);\n    padding: 0;\n    box-shadow: 0px -2px 6px 0px rgba(0,0,0,0.1);\n\n    &::before {\n      @include gradientBackgroundDarkOverlay;\n      content: '';\n      display: block;\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n\n      @include not-mobile {\n\n      }\n    }\n\n    @include not-mobile {\n      // padding: 60px;\n      position: absolute;\n      bottom: 100%;\n      left: 0;\n      right: 0;\n      top: auto;\n      max-height: calc(100vh - 70px);\n      // column-count: 3;\n    }\n\n    @include landscape {\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 70px;\n      max-height: none;\n      column-count: initial;\n    }\n\n    @include not-tablet {\n      // column-count: 4;\n    }\n\n    &:not(&--open) {\n      transform: translateY(100%);\n      opacity: 0;\n    }\n  }\n\n  &__list-innerwrap {\n    position: relative;\n    z-index: 1;\n    max-height: 100%;\n    overflow: auto;\n    padding: 40px 60px;\n    box-sizing: border-box;\n\n    @include not-mobile {\n      column-count: 3;\n      padding: 3% 0 3% 11%;\n    }\n\n    @include landscape {\n      column-count: 2;\n      padding: 40px 60px;\n    }\n\n    @include not-tablet {\n      column-count: 4;\n    }\n  }\n\n  &__list-link {\n    display: inline-block;\n    font-size: 16px;\n    line-height: 34px;\n    text-decoration: none;\n    color: $c_white;\n    @include t_normal;\n    line-height: 3.5em;\n\n    &--active {\n      @include t_bold;\n    }\n\n    b {\n      @include t_bold;\n    }\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/MenuBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"menu__title\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" / \"),_c('b',[_vm._v(_vm._s(_vm.pad(parseInt(_vm.pageIndex) + 1)))]),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.pageMenuTitle)}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu__right-align\"},[(_vm.menuOpen)?_c('a',{staticClass:\"menu__print-link\",attrs:{\"href\":_vm.printerUrl}},[_vm._v(\"\\n      \"+_vm._s(_vm.translations['printCTA'])+\"\\n    \")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"menu__burger\",class:{ 'menu__burger--open': _vm.menuOpen },on:{\"click\":_vm.toggleMenu}},[_vm._v(\"\\n      \"+_vm._s(_vm.translations['menuCTA'])+\"\\n      \"),_c('em')])]),_vm._v(\" \"),_c('ul',{staticClass:\"menu__list\",class:{ 'menu__list--open': _vm.menuOpen }},[_c('div',{staticClass:\"menu__list-innerwrap\"},_vm._l((_vm.pages),function(page,index){return _c('li',{key:index,staticClass:\"menu__list-item\"},[_c('router-link',{staticClass:\"menu__list-link\",class:{ 'menu__list-link--active': _vm.pageIndex === index },attrs:{\"to\":_vm.routerArray(index)},nativeOn:{\"click\":function($event){return _vm.closeMenu($event)}}},[_c('b',[_vm._v(_vm._s(_vm.pad(index + 1)))]),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(page.menuTitle)}})])],1)}))])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu__logo\"},[_c('img',{staticClass:\"menu__logo-img\",attrs:{\"src\":\"static/svg/logo-white.svg\"}})])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7d0f2c59\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/MenuBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7d0f2c59\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MenuBar.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MenuBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MenuBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7d0f2c59\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./MenuBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7d0f2c59\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/MenuBar.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"prev-next-nav\" @click=\"hideMenu\">\n      <router-link v-if=\"prevPageRouterArray\" class=\"prev-next-nav__link prev-next-nav__link--prev\" :to=\"prevPageRouterArray\">\n        {{translations['prev']}}\n      </router-link>\n      <router-link v-if=\"nextPageRouterArray\" class=\"prev-next-nav__link prev-next-nav__link--next\" :to=\"nextPageRouterArray\">\n        {{translations['next']}}\n      </router-link>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n  name: 'prev-next-nav',\n  computed: {\n    ...mapGetters(['translations', 'nextPageRouterArray', 'prevPageRouterArray']),\n  },\n  data() {\n    return {\n      touch: false,\n      showMenu: false,\n    };\n  },\n  mounted() {\n    document.addEventListener('scroll', () => {\n      if (window.innerHeight - this.$el.getBoundingClientRect().top > 90) {\n        document.body.classList.add('menu-show');\n      } else {\n        document.body.classList.remove('menu-show');\n      }\n    });\n  },\n  methods: {\n    showMenuF() {\n      this.showMenu = true;\n      document.body.classList.add('menu-show');\n    },\n    hideMenu() {\n      this.showMenu = false;\n      document.body.classList.remove('menu-show');\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\" scoped>\n@import '../scss/helpers';\n\n.prev-next-nav {\n  height: 40px;\n  width: 100%;\n  box-sizing: border-box;\n  background: $c_primary;\n  padding: 0 40px;\n  z-index: 1;\n  position: relative;\n\n\n  &__link {\n    color: $c_white;\n    font-weight: 700;\n    font-size: 12px;\n    line-height: 16px;\n    padding: 12px 0;\n    text-decoration: none;\n\n    &--prev::before,\n    &--next::after {\n      content: '';\n      display: inline-block;\n      width: 8px;\n      height: 8px;\n      box-sizing: border-box;\n      transform: rotate(45deg);\n    }\n\n    &--prev::before {\n      border-bottom: 1px solid $c_white;\n      border-left: 1px solid $c_white;\n    }\n\n    &--next::after {\n      border-top: 1px solid $c_white;\n      border-right: 1px solid $c_white;\n    }\n\n\n    &--next {\n      float: right;\n    }\n\n    &--prev {\n      float: left;\n    }\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/PrevNextNav.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prev-next-nav\",on:{\"click\":_vm.hideMenu}},[(_vm.prevPageRouterArray)?_c('router-link',{staticClass:\"prev-next-nav__link prev-next-nav__link--prev\",attrs:{\"to\":_vm.prevPageRouterArray}},[_vm._v(\"\\n      \"+_vm._s(_vm.translations['prev'])+\"\\n    \")]):_vm._e(),_vm._v(\" \"),(_vm.nextPageRouterArray)?_c('router-link',{staticClass:\"prev-next-nav__link prev-next-nav__link--next\",attrs:{\"to\":_vm.nextPageRouterArray}},[_vm._v(\"\\n      \"+_vm._s(_vm.translations['next'])+\"\\n    \")]):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6d792214\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PrevNextNav.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6d792214\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PrevNextNav.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PrevNextNav.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./PrevNextNav.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6d792214\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./PrevNextNav.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-6d792214\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PrevNextNav.vue\n// module id = null\n// module chunks = ","<template>\n  <div id=\"app\">\n    <div v-if=\"ready\" class=\"page-wrapper\" v-bind:class=\"{'page-wrapper--front' : isFront}\">\n      <router-view></router-view>\n      <prev-next-nav v-if=\"!isFront\"></prev-next-nav>\n    </div>\n    <menu-bar v-if=\"ready && !isFront\"></menu-bar>\n    \n  </div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex';\nimport Hammer from 'hammerjs';\nimport MenuBar from '@/components/MenuBar';\nimport PrevNextNav from '@/components/PrevNextNav';\n\nfunction isClassInParents(element, className) {\n  if (element.classList.contains(className)) {\n    return true;\n  }\n\n  return element.parentNode && element.nodeName !== 'BODY' && isClassInParents(element.parentNode, className);\n}\n\n\nexport default {\n  components: { MenuBar, PrevNextNav },\n  name: 'app',\n  data() {\n    return {\n      prevID: false,\n    };\n  },\n  methods: {\n    ...mapActions(['getProducts']),\n  },\n  mounted() {\n    const hammertime = new Hammer(this.$el);\n    hammertime.on('swipeleft', (ev) => {\n      if (!isClassInParents(ev.target, 'no-swipe-nav')) {\n        this.$router.push(this.nextPageRouterArray);\n      }\n    });\n    hammertime.on('swiperight', (ev) => {\n      // if (ev.target.localName !== 'canvas') {\n      if (!isClassInParents(ev.target, 'no-swipe-nav')) {\n        this.$router.push(this.prevPageRouterArray);\n      }\n    });\n  },\n  beforeMount() {\n    this.getProducts();\n  },\n  computed: {\n    ...mapGetters(['ready', 'isFront', 'nextPageRouterArray', 'prevPageRouterArray']),\n  },\n  watch: {\n    $route() {\n      if (this.prevID !== this.$route.params.id) {\n        window.scrollTo(0, 0);\n      }\n      this.prevID = this.$route.params.id;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\">\n@import './scss/helpers';\n@import './scss/core';\n\nhtml, body {\n  background: #ffffff;\n  margin: 0;\n  padding: 0;\n  min-height: 100%;\n  width: 100%;\n}\n\n#app {\n  font-family: $t_font;\n  // -webkit-font-smoothing: antialiased;\n  // -moz-osx-font-smoothing: grayscale;\n  position: absolute;\n  color: $c_black--broken;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n\n  .font-alternative & {\n    font-family: $t_font-alternative;\n  }\n\n  .font-chinese & {\n    font-family: $t_font-chinese;\n  }\n\n  .font-japanese & {\n    font-family: $t_font-japanese;\n  }\n}\n\n\n.page-wrapper {\n  display: block;\n  padding-bottom: 70px;\n\n  &--front {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    padding-bottom: 0;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.ready)?_c('div',{staticClass:\"page-wrapper\",class:{'page-wrapper--front' : _vm.isFront}},[_c('router-view'),_vm._v(\" \"),(!_vm.isFront)?_c('prev-next-nav'):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.ready && !_vm.isFront)?_c('menu-bar'):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-eada7df0\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-eada7df0\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-eada7df0\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\r\n  <div class=\"front\">\r\n    <router-link class=\"front__link\" :to=\"nextPageRouterArray\">\r\n      <div class=\"front__bg\">\r\n        <div v-if=\"coverImagePortrait\" class=\"front__bg-image front__bg-image--portrait\" v-bind:style=\"{ backgroundImage: 'url(' + coverImagePortrait + ')' }\"></div>\r\n        <div class=\"front__bg-image\" v-bind:style=\"{ backgroundImage: 'url(' + coverImage + ')' }\"></div>\r\n        <video class=\"front__bg-video\" v-if=\"coverVideo\" :src=\"coverVideo\" muted autoplay plays-inline width=\"16\" height=\"9\"></video>\r\n      </div>\r\n      <div class=\"front__box\">\r\n        <h1 class=\"front__title\" v-html=\"title\"></h1>\r\n        <p class=\"front__subtitle\" v-html=\"subtitle\"></p>\r\n      </div>\r\n      <div class=\"front__logo-wrapper\">\r\n        <img class=\"front__logo\" src=\"static/svg/logo-white.svg\">\r\n      </div>\r\n    </router-link>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters } from 'vuex';\n\nexport default {\n  name: 'front',\n  computed: {\n    ...mapGetters(['page', 'nextPageRouterArray']),\n    title() {\n      return this.page.title;\n    },\n    subtitle() {\n      return this.page.subtitle;\n    },\n    coverImage() {\n      return this.page.coverImage;\n    },\n    coverImagePortrait() {\n      return this.page.coverImagePortrait;\n    },\n    coverVideo() {\n      return this.page.coverVideo;\n    },\n  },\n  mounted() {\n    const bgVid = document.querySelector('.front__bg-video');\n    if (bgVid) {\n      bgVid.addEventListener('ended', () => {\n        bgVid.classList.add('hide');\n      });\n    }\n  },\n};\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style lang=\"scss\">\r\n@import '../../scss/helpers';\r\n\r\n.front {\r\n  @include page;\r\n\r\n  min-height: 100%;\r\n\r\n  &__link {\r\n    text-decoration: none;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    bottom: 0;\r\n    right: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n\r\n  &__bg {\r\n    flex-grow: 1;\r\n    margin: 0;\r\n    display: block;\r\n    position: relative;\r\n    overflow: hidden;\r\n\r\n\r\n    @include not-mobile {\r\n      margin: 0;\r\n      position: absolute;\r\n      top: 0;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n    }\r\n\r\n    @include landscape {\r\n      margin: 20px 0 20px 20px;\r\n      position: relative;\r\n      top: auto;\r\n      left: auto;\r\n      right: auto;\r\n      bottom: auto;\r\n    }\r\n  }\r\n\r\n  &__bg-image {\r\n    background-size: cover;\r\n    background-position: center bottom;\r\n    background-repeat: no-repeat;\r\n    margin: 0;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n\r\n    @include not-mobile {\r\n      background-position: center;\r\n    }\r\n\r\n    @include landscape {\r\n      background-position: center;\r\n    }\r\n\r\n    &--portrait {\r\n      display: none;\r\n    }\r\n\r\n    @include portrait {\r\n      &--portrait {\r\n        display: block;\r\n      }\r\n\r\n      &--portrait + & {\r\n        display: none;\r\n      }\r\n    }\r\n  }\r\n\r\n  &__bg-video {\r\n    min-width: 100%; \r\n    min-height: 100%; \r\n    \r\n    /* Setting width & height to auto prevents the browser from stretching or squishing the video */\r\n    width: auto;\r\n    height: auto;\r\n    \r\n    /* Center the video */\r\n    position: absolute;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%,-50%);\r\n    transition: opacity .5s;\r\n\r\n    &.hide {\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n  }\r\n\r\n  &__box {\r\n    color: $c_white;\r\n    text-decoration: none;\r\n    margin: 0;\r\n    background: $c_primary;\r\n    box-sizing: border-box;\r\n    z-index: 1;\r\n    box-sizing: border-box;\r\n    padding: 45px 40px;\r\n    position: relative;\r\n    overflow: hidden;\r\n\r\n    &::before {\r\n      content: '';\r\n      display: block;\r\n      position: absolute;\r\n      top: 0;\r\n      left: 0;\r\n      right: 0;\r\n      min-height: 250px;\r\n      height: 100%;\r\n      z-index: -1;\r\n      background-position: center bottom;\r\n      background-size: contain;\r\n      background-repeat: no-repeat;\r\n      background-image: url('../../../static/svg/frontcover_bg-mobile.svg');\r\n      opacity: .9;\r\n\r\n      @include not-mobile {\r\n        height: auto;\r\n        min-height: auto;\r\n        top: auto;\r\n        bottom: 0;\r\n        max-width: 533px;\r\n        background-position: left bottom;\r\n        background-image: url('../../../static/svg/frontcover_bg.svg');\r\n        width: 533px;\r\n        height: 407px;\r\n      }\r\n    }\r\n\r\n\r\n    @include not-mobile {\r\n      padding: 45px;\r\n      position: absolute;\r\n      left: 0;\r\n      bottom: 0;\r\n      z-index: 1;\r\n      margin: 0;\r\n      background: none;\r\n      overflow: visible;\r\n      max-width: 430px;\r\n    }\r\n\r\n    @include landscape {\r\n      margin: 20px 20px 20px 0;\r\n      width: 50%;\r\n      position: relative;\r\n      top: auto;\r\n      right: auto;\r\n    }\r\n\r\n    // @include not-tablet {\r\n    //   width: 50%;\r\n    // }\r\n\r\n    // @include desktop {\r\n    //   width: 42%;\r\n    // }\r\n  }\r\n\r\n  &__title {\r\n    margin: 0;\r\n    font-size: 20px;\r\n    font-weight: 700;\r\n    line-height: 1.066;\r\n    font-style: oblique;\r\n    // max-width: 300px;\r\n    padding-bottom: 8%;\r\n\r\n\r\n    @include not-mobile {\r\n      font-size: 35px;\r\n      // padding-bottom: 26%;\r\n      line-height: 1;\r\n      margin-bottom: 20px;\r\n      padding-bottom: 0;\r\n    }\r\n\r\n    @include landscape {\r\n      padding-bottom: 5%;\r\n      line-height: 1.066;\r\n\r\n      @media (max-device-height: 350px) {\r\n        font-size: 26px;\r\n      }\r\n    }\r\n  }\r\n\r\n  &__subtitle {\r\n    margin: 0;\r\n    font-size: 12px;\r\n    line-height: 1.15;\r\n    font-weight: 300;\r\n    display: inline-block;\r\n\r\n    @include not-mobile {\r\n      font-size: 14px;\r\n      line-height: 18px;\r\n    }\r\n\r\n    @include landscape {\r\n      width: auto;\r\n\r\n      @media (max-device-height: 350px) {\r\n        font-size: 12px;\r\n      }\r\n    }\r\n  }\r\n\r\n  \r\n\r\n  &__logo-wrapper {\r\n    display: block;\r\n    background: rgba($c_primary, .9);\r\n    padding: 19px;\r\n    position: absolute;\r\n    top: 35px;\r\n    right: 35px;\r\n\r\n    @include not-mobile {\r\n      padding: 25px;\r\n      top: 45px;\r\n      right: 45px;\r\n    }\r\n  }\r\n\r\n  &__logo {\r\n    width: 80px;\r\n    display: block;\r\n\r\n    @include not-mobile {\r\n      width: 102px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Front.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"front\"},[_c('router-link',{staticClass:\"front__link\",attrs:{\"to\":_vm.nextPageRouterArray}},[_c('div',{staticClass:\"front__bg\"},[(_vm.coverImagePortrait)?_c('div',{staticClass:\"front__bg-image front__bg-image--portrait\",style:({ backgroundImage: 'url(' + _vm.coverImagePortrait + ')' })}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"front__bg-image\",style:({ backgroundImage: 'url(' + _vm.coverImage + ')' })}),_vm._v(\" \"),(_vm.coverVideo)?_c('video',{staticClass:\"front__bg-video\",attrs:{\"src\":_vm.coverVideo,\"muted\":\"\",\"autoplay\":\"\",\"plays-inline\":\"\",\"width\":\"16\",\"height\":\"9\"},domProps:{\"muted\":true}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"front__box\"},[_c('h1',{staticClass:\"front__title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('p',{staticClass:\"front__subtitle\",domProps:{\"innerHTML\":_vm._s(_vm.subtitle)}})]),_vm._v(\" \"),_c('div',{staticClass:\"front__logo-wrapper\"},[_c('img',{staticClass:\"front__logo\",attrs:{\"src\":\"static/svg/logo-white.svg\"}})])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-00eea4a2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Front.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-00eea4a2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Front.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Front.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Front.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-00eea4a2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Front.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Front.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"intro\">\n    <div class=\"intro__innerwrap\">\n\n      <div class=\"intro__bg\">\n        <div v-if=\"coverImagePortrait\" class=\"intro__bg-image intro__bg-image--portrait\" v-bind:style=\"{ backgroundImage: 'url(' + coverImagePortrait + ')' }\"></div>\n        <div class=\"intro__bg-image\" v-bind:style=\"{ backgroundImage: 'url(' + coverImage + ')' }\"></div>\n        <video class=\"intro__bg-video\" v-if=\"coverVideo\" :src=\"coverVideo\" muted autoplay plays-inline></video>\n      </div>\n      <div class=\"intro__boxes\">\n\n        <div class=\"intro__box intro__box--top\">\n          <h1 class=\"intro__title\" v-html=\"title\"></h1>\n          <p class=\"intro__intro\" v-html=\"intro\"></p>\n        </div>\n\n        <div v-for=\"block in contentBlocks\" class=\"intro__box\">\n          <h2 class=\"intro__block-title\" v-html=\"block.title\"></h2>\n          <div class=\"intro__block-content\" v-html=\"block.content\"></div>\n        </div>\n        \n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\n\nexport default {\n  name: 'intro',\n  components: { PrevNextNav },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n    coverImage() {\n      return this.page.coverImage;\n    },\n    coverImagePortrait() {\n      return this.page.coverImagePortrait;\n    },\n    coverVideo() {\n      return this.page.coverVideo;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.intro {\n  @include page;\n  color: $c_white;\n  text-align: right;\n\n  &__bg {\n    pointer-events: none;\n    width: 100%;\n    overflow: hidden;\n    position: relative;\n\n    @include mobile {\n      &::after {\n        padding-top: 95%;\n        content: '';\n        display: block;\n      }\n    }\n\n    @include not-mobile {\n      position: fixed;\n      top: 40px;\n      left: 40px;\n      bottom: 110px;\n      width: 83.33%;\n      max-height: 100%;\n      transition: bottom .35s;\n\n      .menu-show & {\n        bottom: 150px;\n      }\n    }\n\n    @include landscape {\n      position: fixed;\n      top: 20px;\n      left: 20px;\n      bottom: 90px;\n      width: 83.33%;\n      max-height: 100%;\n    }\n  }\n\n  &__bg-image {\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;\n    margin: 0;\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n\n    &--portrait {\n      display: none;\n    }\n\n    @include portrait {\n      &--portrait {\n        display: block;\n      }\n\n      &--portrait + & {\n        display: none;\n      }\n    }\n  }\n\n  &__bg-video {\n    min-width: 100%; \n    min-height: 100%; \n    \n    /* Setting width & height to auto prevents the browser from stretching or squishing the video */\n    width: auto;\n    height: auto;\n    \n    /* Center the video */\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%,-50%);\n    transition: opacity .5s;\n\n    &.hide {\n      opacity: 0;\n      pointer-events: none;\n    }\n  }\n\n  &__boxes {\n    display: inline-block;\n    position: relative;\n    z-index: 1;\n\n    @include not-mobile {\n      margin-top: 40px;\n      margin-bottom: 20px;\n      width: calc(41.66% - 10px);\n    }\n\n    @include landscape {\n      margin-top: 20px;\n      margin-bottom: 0;\n      width: calc(50% - 10px);\n    }\n\n    @include not-tablet {\n      width: calc(33.33% - 10px);\n    }\n  }\n\n  &__box {\n    display: block;\n    background: $c_white;\n    box-sizing: border-box;\n    padding: 40px 30px 30px;\n    text-align: left;\n    color: $c_black--broken;\n    margin-bottom: 20px;\n\n    @include not-tablet {\n      padding: 50px 40px 40px;\n    }\n\n    &--top {\n      padding: 60px 30px 50px;\n      color: $c_white;\n      background: $c_primary;\n\n      @include not-mobile {\n        padding: 60px 30px;\n      }\n\n      @include not-tablet {\n        padding: 60px 40px;\n      }\n    }\n  }\n\n  &__title {\n    @include font-title;\n\n    @include not-tablet {\n      width: 70%;\n    }\n  }\n\n  &__intro {\n    @include font-intro;\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Intro.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"intro\"},[_c('div',{staticClass:\"intro__innerwrap\"},[_c('div',{staticClass:\"intro__bg\"},[(_vm.coverImagePortrait)?_c('div',{staticClass:\"intro__bg-image intro__bg-image--portrait\",style:({ backgroundImage: 'url(' + _vm.coverImagePortrait + ')' })}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"intro__bg-image\",style:({ backgroundImage: 'url(' + _vm.coverImage + ')' })}),_vm._v(\" \"),(_vm.coverVideo)?_c('video',{staticClass:\"intro__bg-video\",attrs:{\"src\":_vm.coverVideo,\"muted\":\"\",\"autoplay\":\"\",\"plays-inline\":\"\"},domProps:{\"muted\":true}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"intro__boxes\"},[_c('div',{staticClass:\"intro__box intro__box--top\"},[_c('h1',{staticClass:\"intro__title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('p',{staticClass:\"intro__intro\",domProps:{\"innerHTML\":_vm._s(_vm.intro)}})]),_vm._v(\" \"),_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"intro__box\"},[_c('h2',{staticClass:\"intro__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"intro__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})])})],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-330c99a2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Intro.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-330c99a2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Intro.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intro.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Intro.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-330c99a2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Intro.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Intro.vue\n// module id = null\n// module chunks = ","<template>\n  <header\n    class=\"header-box\"\n    :class=\"{\n      'header-box--small':!intro,\n      'header-box--long':long,\n      'header-box--no-margin':noMargin\n    }\"\n  >\n    <div class=\"header-box__innerwrap\">\n      <h1 class=\"header-box__title\" v-html=\"title\"></h1>\n      <p v-if=\"intro\" class=\"header-box__intro\" v-html=\"intro\"></p>\n    </div>\n  </header>\n</template>\n\n<script>\nexport default {\n  name: 'header-box',\n  props: {\n    title: {\n      type: String,\n      required: true,\n    },\n    intro: {\n      type: [String, Boolean],\n      default: false,\n    },\n    long: {\n      type: Boolean,\n      default: false,\n    },\n    noMargin: {\n      type: Boolean,\n      default: false,\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\">\n@import '../scss/helpers.scss';\n\n.header-box {\n  color: $c_white;\n  padding: 20px;\n  background: $c_primary;\n  box-sizing: border-box;\n\n  @include not-mobile {\n    padding: 40px;\n  }\n\n  @include landscape {\n    padding: 20px;\n  }\n\n  &--small {\n    padding: 35px 30px;\n    width: calc(100% - 40px);\n    margin: 20px 20px 0;\n\n    @include not-mobile {\n      width: calc(83.3333% - 66px);\n      margin: 40px 0 0 40px;\n\n      &.header-box--long {\n        width: calc(100% - 80px);\n      }\n    }\n\n    @include landscape {\n      &.header-box--long {\n        width: calc(50% - 30px);\n        margin: 20px 20px 0;\n      }\n      width: calc(50% - 30px);\n      margin: 20px 20px 0;\n      padding: 30px;\n    }\n  }\n\n  &--no-margin {\n    margin: 0;\n  }\n\n  &--no-margin.header-box--long {\n    width: 100%;\n  }\n\n  &__innerwrap {\n    display: block;\n    max-width: 920px;\n    box-sizing: border-box;\n    padding: 30px 30px 20px;\n\n    @include not-mobile {\n      padding: 40px;\n    }\n\n    @include landscape {\n      padding: 30px 30px 20px;\n    }\n  }\n\n  &--small &__innerwrap {\n    padding: 0;\n    max-width: none;\n  }\n\n  &__title {\n    @include font-title;\n  }\n\n  &__intro {\n    @include font-intro;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/HeaderBox.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"header-box\",class:{\n    'header-box--small':!_vm.intro,\n    'header-box--long':_vm.long,\n    'header-box--no-margin':_vm.noMargin\n  }},[_c('div',{staticClass:\"header-box__innerwrap\"},[_c('h1',{staticClass:\"header-box__title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),(_vm.intro)?_c('p',{staticClass:\"header-box__intro\",domProps:{\"innerHTML\":_vm._s(_vm.intro)}}):_vm._e()])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-29c88ae5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/HeaderBox.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-29c88ae5\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./HeaderBox.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeaderBox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HeaderBox.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-29c88ae5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./HeaderBox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/HeaderBox.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"movie-progress-bar no-swipe-nav\"},[_c('div',{staticClass:\"movie-progress-bar__timeline\",on:{\"click\":_vm.seek}},[_c('div',{staticClass:\"movie-progress-bar__progress\",style:('width:' + _vm.progressPercentage + '%')})]),_vm._v(\" \"),_c('div',{staticClass:\"movie-progress-bar__dot\",style:('left:' + _vm.progressPercentage + '%'),on:{\"mouseown\":_vm.mouseDown,\"mouseup\":_vm.mouseUp,\"mousemove\":_vm.mouseMove}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-05cb747f\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/MovieProgressBar.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-05cb747f\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MovieProgressBar.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MovieProgressBar.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MovieProgressBar.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-05cb747f\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./MovieProgressBar.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/MovieProgressBar.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"movie-player\" :style=\"fillerStyle\" :class=\"{ fullscreen }\">\n    <div class=\"movie-player__innerwrap\" :style=\"innerwrapStyle\">\n\n      <video v-if=\"autoplay\" class=\"movie-player__video\"\n        :class=\"{hidden: !played || ended}\"\n        :src=\"movieUrl\"\n        @timeupdate=\"onTimeUpdate\"\n        playsinline\n        webkit-playsinline\n      >\n      </video>\n      <video v-if=\"!autoplay\" class=\"movie-player__video\"\n        :class=\"{hidden: !played || ended}\"\n        :src=\"movieUrl\"\n        @timeupdate=\"onTimeUpdate\"\n        playsinline\n        webkit-playsinline\n      >\n      </video>\n\n      <div class=\"movie-player__overlay\" :style=\"{maxWidth: maxWidth}\" @click=\"enableControls\">\n        <div class=\"movie-player__aspectratio\" :style=\"{ paddingTop: ((aspectRatio * 100) + '%')}\"></div>\n        <div class=\"movie-player__placeholder\" v-on:click=\"playPause\" :class=\"{ hidden: played && !ended }\" v-bind:style=\"{ backgroundImage: 'url(' + placeholderUrl + ')' }\"></div>\n        <a :class=\"{ hidden: !controlsActive, paused: paused }\" v-on:click=\"playPause\" class=\"movie-player__play\"></a>\n        <movie-progress-bar :class=\"{ hidden: !controlsActive }\" @change=\"updateTime\" :progress=\"progress\"></movie-progress-bar>\n        <a class=\"movie-player__mute\" :class=\"{ hidden: !controlsActive, muted: muted }\" v-on:click=\"toggleMute\"></a>\n        <a class=\"movie-player__fullscreen\" :class=\"{ hidden: !controlsActive, fullscreen: fullscreen }\" v-on:click=\"toggleFullscreen\"></a>\n      </div>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport MovieProgressBar from '@/components/MovieProgressBar';\n\nconst keys = { 37: 1, 38: 1, 39: 1, 40: 1 };\n\nfunction preventDefault(e) {\n  const ev = e || window.event;\n  if (ev.preventDefault) {\n    ev.preventDefault();\n  }\n  ev.returnValue = false;\n}\n\nfunction preventDefaultForScrollKeys(e) {\n  if (keys[e.keyCode]) {\n    preventDefault(e);\n    return false;\n  }\n  return true;\n}\n\nfunction disableScroll() {\n  if (window.addEventListener) { // older FF\n    window.addEventListener('DOMMouseScroll', preventDefault, false);\n  }\n  window.onwheel = preventDefault; // modern standard\n  window.onmousewheel = preventDefault; // older browsers, IE\n  document.onmousewheel = preventDefault; // older browsers, IE\n  window.ontouchmove = preventDefault; // mobile\n  document.onkeydown = preventDefaultForScrollKeys;\n}\n\nfunction enableScroll() {\n  if (window.removeEventListener) {\n    window.removeEventListener('DOMMouseScroll', preventDefault, false);\n  }\n  document.onmousewheel = null;\n  window.onmousewheel = null;\n  window.onwheel = null;\n  window.ontouchmove = null;\n  document.onkeydown = null;\n}\n\nexport default {\n  name: 'movie-player',\n  components: { MovieProgressBar },\n  props: ['movieUrl', 'placeholderUrl', 'autoplay'],\n  data() {\n    return {\n      played: false,\n      paused: true,\n      ended: false,\n      fullscreen: false,\n      muted: true,\n      progress: 0,\n      controlsActive: true,\n      controlsTimeout: false,\n      aspectRatio: 0.5625,\n      maxWidth: false,\n\n      fillerStyle: {},\n      innerwrapStyle: {},\n\n      elVideo: null,\n      elOverlay: null,\n      elInnerwrap: null,\n\n\n      timeout: false,\n      video: null,\n    };\n  },\n  mounted() {\n    this.elVideo = this.$el.querySelector('.movie-player__video');\n    this.elOverlay = this.$el.querySelector('.movie-player__overlay');\n    this.elInnerwrap = this.$el.querySelector('.movie-player__innerwrap');\n    this.maxWidth = (window.innerHeight - 70) / this.aspectRatio + 'px';  //eslint-disable-line\n\n    window.addEventListener('resize', () => {\n      this.maxWidth = (window.innerHeight - 70) / this.aspectRatio + 'px';  //eslint-disable-line\n    });\n\n\n    this.$el.addEventListener('mousemove', () => {\n      this.enableControls();\n    });\n\n    if (this.muted) {\n      this.elVideo.muted = true;\n    }\n\n    if (this.autoplay) {\n      // this.elVideo.addEventListener('canplaythrough', this.playPause);\n    }\n\n    this.elVideo.addEventListener('click', this.playPause);\n  },\n  methods: {\n    toggleShowNav() {\n      clearTimeout(this.navTimeout);\n      this.showNav = true;\n\n      this.navTimeout = setTimeout(() => {\n        this.showNav = false;\n      }, 12500);\n    },\n    playPause() {\n      const video = this.$el.querySelector('.movie-player__video');\n      if (!this.played) {\n        this.elVideo.removeEventListener('canplaythrough', this.playPause);\n        video.addEventListener('ended', () => {\n          this.paused = true;\n          this.ended = true;\n          clearTimeout(this.navTimeout);\n          this.controlsActive = true;\n        });\n\n        video.play();\n        this.played = true;\n        this.controlsActive = false;\n        this.paused = false;\n      } else if (this.ended) {\n        this.ended = false;\n        this.paused = false;\n        video.currentTime = 0;\n        video.play();\n      } else if (this.paused) {\n        video.play();\n        this.paused = false;\n      } else {\n        video.pause();\n        this.paused = true;\n      }\n    },\n    maximize() {\n      disableScroll();\n\n      this.aspectRatio = this.elVideo.offsetHeight / this.elVideo.offsetWidth;\n\n\n      this.fillerStyle = {\n        height: this.$el.offsetHeight + 'px', //eslint-disable-line\n        width: this.$el.offsetWidth + 'px', //eslint-disable-line\n      };\n\n\n      const rect = this.elInnerwrap.getBoundingClientRect();\n      const top = rect.top;\n      const left = rect.left;\n\n      this.innerwrapStyle = {\n        top: top + 'px', //eslint-disable-line\n        left: left + 'px', //eslint-disable-line\n        height: this.elInnerwrap.offsetHeight + 'px', //eslint-disable-line\n        width: this.elInnerwrap.offsetWidth + 'px', //eslint-disable-line\n        position: 'fixed',\n      };\n\n\n      this.timeout = setTimeout(() => {\n        this.elOverlay.classList.add('aspect-ratio');\n        this.elOverlay.classList.add('center');\n        this.elInnerwrap.classList.add('movie-player__innerwrap--full');\n      }, 80);\n    },\n    minimize() {\n      this.elInnerwrap.classList.remove('movie-player__innerwrap--full');\n      this.elOverlay.classList.remove('aspect-ratio');\n\n\n      setTimeout(() => {\n        enableScroll();\n        this.elOverlay.classList.remove('center');\n\n        this.fillerStyle = {};\n        this.innerwrapStyle = {};\n      }, 500);\n    },\n    toggleFullscreen() {\n      clearTimeout(this.timeout);\n      if (this.fullscreen) {\n        this.minimize();\n        this.fullscreen = false;\n      } else {\n        this.fullscreen = true;\n        this.maximize();\n      }\n    },\n    toggleMute() {\n      // clearTimeout(this.timeout);\n      if (this.muted) {\n        this.muted = false;\n        this.elVideo.removeAttribute('muted');\n        this.elVideo.muted = false;\n      } else {\n        this.muted = true;\n        this.elVideo.setAttribute('muted', true);\n        this.elVideo.muted = true;\n      }\n    },\n    onTimeUpdate() {\n      this.progress = this.elVideo.currentTime / this.elVideo.duration;\n    },\n    enableControls() {\n      this.controlsActive = true;\n      clearTimeout(this.controlsTimeout);\n\n      this.controlsTimeout = setTimeout(() => {\n        this.controlsActive = false;\n      }, 2000);\n    },\n    updateTime(progress) {\n      this.elVideo.currentTime = (progress * this.elVideo.duration);\n      this.ended = false;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../scss/helpers';\n\n.movie-player {\n  display: block;\n  width: 100%;\n  position: relative;\n  z-index: 1;\n\n  &.fullscreen {\n    z-index: 3;\n  }\n\n\n  &__innerwrap {\n    @include gradientBackground;\n    position: relative;\n    transition: width .5s ease-in-out, height .5s ease-in-out, top .5s ease-in-out, left .5s ease-in-out, background .5s ease-in-out;\n\n    &--full {\n      position: fixed;\n      top: 0 !important;\n      left: 0 !important;\n      width: 100% !important;\n      height: calc(100% - 70px) !important;\n    }\n  }\n\n  &__video {\n    width: 100%;\n    height: 100%;\n    display: block;\n    transition: opacity .3s cubic-bezier(.75,.01,.25,1);\n\n    &.hidden {\n      opacity: 0;\n    }\n  }\n\n  &__overlay {\n    display: block;\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 1;\n    transition: max-width .5s ease-in-out;\n    width: 100%;\n\n    &:not(.aspect-ratio) {\n      max-width: 100% !important;\n    }\n\n    &.center {\n      top: 50%;\n      bottom: auto;\n      left: 50%;\n      right: auto;\n      transform: translate(-50%, -50%);\n    }\n\n  }\n\n  &__aspectRatio {\n    display: block;\n  }\n\n  &__placeholder {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background-position: center;\n    background-size: contain;\n    background-repeat: no-repeat;\n    transition: opacity .3s cubic-bezier(.75,.01,.25,1);\n\n    &.hidden {\n      opacity: 0;\n    }\n  }\n\n  &__fullscreen {\n    display: block;\n    height: 46px;\n    width: 46px;\n    background-position: center;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-image: url('../../static/svg/icon_maximize.svg');\n    position: absolute;\n    top: 20px;\n    right: 20px;\n    transition: opacity .3s;\n    z-index: 3;\n\n    &.hidden {\n      opacity: 0;\n      pointer-events: none;\n    }\n\n    &.fullscreen {\n      background-image: url('../../static/svg/icon_minimize.svg');\n    }\n  }\n\n  &__mute {\n    display: block;\n    height: 46px;\n    width: 46px;\n    background-position: center;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-image: url('../../static/svg/icon_unmute.svg');\n    position: absolute;\n    top: 20px;\n    right: 86px;\n    transition: opacity .3s;\n    z-index: 3;\n\n    &.hidden {\n      opacity: 0;\n      pointer-events: none;\n    }\n\n    &.muted {\n      background-image: url('../../static/svg/icon_mute.svg');\n    }\n  }\n\n  &__play {\n    display: block;\n    height: 84px;\n    width: 84px;\n    background-position: center;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-image: url('../../static/svg/icon_play.svg');\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    margin-top: -42px;\n    margin-left: -42px;\n    transition: opacity .3s;\n    z-index: 3;\n\n    &.hidden {\n      opacity: 0;\n      pointer-events: none;\n    }\n\n    &:not(.paused) {\n      background-image: url('../../static/svg/icon_pause.svg');\n    }\n\n    &.paused {\n      background-image: url('../../static/svg/icon_play.svg');\n    }\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/MoviePlayer.vue","<template>\n  <div class=\"movie-progress-bar no-swipe-nav\">\n    <div class=\"movie-progress-bar__timeline\" @click=\"seek\">\n      <div class=\"movie-progress-bar__progress\" :style=\"'width:' + progressPercentage + '%'\"></div>\n    </div>\n    <div class=\"movie-progress-bar__dot\" @mouseown=\"mouseDown\" @mouseup=\"mouseUp\" @mousemove=\"mouseMove\" :style=\"'left:' + progressPercentage + '%'\"></div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'movie-progress-bar',\n  props: ['progress'],\n  data() {\n    return {\n      progressPercentage: 0,\n      isMouseDown: false,\n      dot: null,\n    };\n  },\n  mounted() {\n    this.$el.addEventListener('mouseup', this.mouseUp);\n    this.$el.addEventListener('mouseleave', this.mouseLeave);\n    this.$el.addEventListener('mousedown', this.mouseDown);\n    this.$el.addEventListener('mousemove', this.mouseMove);\n    this.$el.addEventListener('touchmove', this.touchMove);\n  },\n  methods: {\n    width() {\n      return this.$el.offsetWidth;\n    },\n    left() {\n      return this.$el.getBoundingClientRect().left;\n    },\n    seek(event) {\n      const percentage = ((event.clientX - this.left()) / this.width());\n      this.$emit('change', percentage);\n      this.progressPercentage = percentage * 100;\n    },\n    mouseDown() {\n      this.isMouseDown = true;\n    },\n    mouseUp() {\n      this.isMouseDown = false;\n    },\n    mouseLeave() {\n      this.isMouseDown = false;\n    },\n    mouseMove(event) {\n      if (this.isMouseDown) {\n        const percentage = ((event.clientX - this.left()) / this.width());\n        this.$emit('change', percentage);\n        this.progressPercentage = percentage * 100;\n      }\n    },\n    touchMove(event) {\n      this.emitPercentage(event.touches[0].clientX);\n    },\n  },\n  watch: {\n    progress() {\n      this.progressPercentage = this.progress * 100;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../scss/helpers';\n\n.movie-progress-bar {\n  display: block;\n  width: calc(100% - 80px);\n  margin: 100px 40px 30px;\n  padding: 15px 0;\n  position: absolute;\n  bottom: 0;\n  z-index: 1;\n  transition: opacity .3s;\n\n  &.hidden {\n    opacity: 0;\n  }\n\n  &__timeline {\n    width: 100%;\n    height: 10px;\n    border-radius: 5px;\n    position: relative;\n    overflow: hidden;\n    background: $c_white;\n  }\n\n  &__progress {\n    height: 100%;\n    position: absolute;\n    left: 0;\n    top: 0;\n    background: $c_primary;\n    transition: width .15s;\n  }\n\n  &__dot {\n    width: 22px;\n    height: 22px;\n    margin: -6px;\n    transform: translateX(-5px);\n    top: 15px;\n    border-radius: 11px;\n    background: $c_primary;\n    box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.16);\n    transition: left .15s;\n    position: absolute;\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/MovieProgressBar.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"movie-player\",class:{ fullscreen: _vm.fullscreen },style:(_vm.fillerStyle)},[_c('div',{staticClass:\"movie-player__innerwrap\",style:(_vm.innerwrapStyle)},[(_vm.autoplay)?_c('video',{staticClass:\"movie-player__video\",class:{hidden: !_vm.played || _vm.ended},attrs:{\"src\":_vm.movieUrl,\"playsinline\":\"\",\"webkit-playsinline\":\"\"},on:{\"timeupdate\":_vm.onTimeUpdate}}):_vm._e(),_vm._v(\" \"),(!_vm.autoplay)?_c('video',{staticClass:\"movie-player__video\",class:{hidden: !_vm.played || _vm.ended},attrs:{\"src\":_vm.movieUrl,\"playsinline\":\"\",\"webkit-playsinline\":\"\"},on:{\"timeupdate\":_vm.onTimeUpdate}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"movie-player__overlay\",style:({maxWidth: _vm.maxWidth}),on:{\"click\":_vm.enableControls}},[_c('div',{staticClass:\"movie-player__aspectratio\",style:({ paddingTop: ((_vm.aspectRatio * 100) + '%')})}),_vm._v(\" \"),_c('div',{staticClass:\"movie-player__placeholder\",class:{ hidden: _vm.played && !_vm.ended },style:({ backgroundImage: 'url(' + _vm.placeholderUrl + ')' }),on:{\"click\":_vm.playPause}}),_vm._v(\" \"),_c('a',{staticClass:\"movie-player__play\",class:{ hidden: !_vm.controlsActive, paused: _vm.paused },on:{\"click\":_vm.playPause}}),_vm._v(\" \"),_c('movie-progress-bar',{class:{ hidden: !_vm.controlsActive },attrs:{\"progress\":_vm.progress},on:{\"change\":_vm.updateTime}}),_vm._v(\" \"),_c('a',{staticClass:\"movie-player__mute\",class:{ hidden: !_vm.controlsActive, muted: _vm.muted },on:{\"click\":_vm.toggleMute}}),_vm._v(\" \"),_c('a',{staticClass:\"movie-player__fullscreen\",class:{ hidden: !_vm.controlsActive, fullscreen: _vm.fullscreen },on:{\"click\":_vm.toggleFullscreen}})],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4ac8c145\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/MoviePlayer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4ac8c145\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MoviePlayer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoviePlayer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MoviePlayer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4ac8c145\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./MoviePlayer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/MoviePlayer.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"market-block\">\n    <div class=\"market-block__image-wrapper\" v-if=\"(block.type === 'image')\">\n      <movie-player v-if=\"block.video\" class=\"market-block__video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n      <img v-if=\"!block.video\" class=\"market-block__image\" :src=\"block.image\" />\n    </div>\n    <div class=\"market-block__textwrap\" v-if=\"(block.type === 'text')\">\n      <h2 class=\"market-block__title\" v-html=\"block.title\"></h2>\n      <h3 v-if=\"block.subtitle\" class=\"market-block__subtitle\" v-html=\"block.subtitle\"></h3>\n      <div class=\"market-block__content\" v-html=\"block.content\"></div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'market-block',\n  components: { MoviePlayer },\n  props: ['block'],\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../scss/helpers';\n\n.market-block {\n  display: block;\n  width: 100%;\n  box-sizing: border-box;\n\n  @include tablet {\n    width: 75%;\n\n    &:nth-child(2n) {\n      margin-left: 25%;\n      margin-bottom: 60px;\n    }\n\n    &:nth-child(2n+1) {\n      margin-right: 25%;\n    }\n  }\n\n  @include landscape {\n    width: 50%;\n    margin-bottom: 20px;\n\n    &:nth-child(2n) {\n      margin-left: 0;\n      margin-bottom: 20px;\n    }\n\n    &:nth-child(2n+1) {\n      margin-right: 0;\n    }\n  }\n\n  @include not-tablet {\n    width: 50%;\n  }\n\n  &__image-wrapper {\n    display: block;\n    width: calc(100% - 40px);\n    // background-size: cover;\n    // background-position: center;\n    position: relative;\n    margin: auto;\n    overflow: hidden;\n\n    // &::before {\n    //   content: '';\n    //   display: block;\n    //   padding-top: 56.25%;\n    // }\n\n    @include landscape {\n      width: calc(100% - 20px);\n    }\n  }\n\n  @include not-mobile {\n    &:nth-child(2n) &__image-wrapper {\n      margin-right: 40px;\n    }\n\n    &:nth-child(2n+1) &__image-wrapper {\n      margin-left: 40px;\n    }\n  }\n\n  &__image {\n    display: block;\n    width: 100%;\n  }\n\n  // &__video {\n    // width: 100%; \n    // height: 100%;\n    \n    // /* Center the video */\n    // position: absolute;\n    // top: 0;\n    // left: 0;\n    // transition: opacity .5s;\n\n    // &.hide {\n    //   opacity: 0;\n    //   pointer-events: none;\n    // }\n  // }\n\n  @include landscape {\n    &:nth-child(2n) &__image {\n      margin-right: 20px;\n      margin-left: 0;\n    }\n\n    &:nth-child(2n+1) &__image {\n      margin-left: 20px;\n      margin-right: 0;\n    }\n  }\n\n\n  &__textwrap {\n    background: $c_white;\n\n    @include mobile {\n      width: calc(100% - 20px);\n      box-sizing: border-box;\n      padding: 40px 30px 40px 60px;\n      margin-bottom: 20px;\n    }\n\n    @include not-mobile {\n      padding: 50px 40px 50px 80px;\n    }\n\n    @include landscape {\n      box-sizing: border-box;\n      padding: 40px 30px 40px 60px;\n      width: auto;\n      margin-bottom: 0;\n    }\n  }\n\n  @include tablet {\n    &:nth-child(2n) &__textwrap {\n      padding: 80px 40px 30px 80px;\n      margin-top: -40px;\n    }\n\n    &:nth-child(2n+1) &__textwrap {\n      padding: 40px 40px 70px 80px;\n      margin-bottom: -40px;\n    }\n  }\n\n  @include landscape {\n    &:nth-child(2n) &__textwrap {\n      padding: 40px 30px 40px 60px;\n      margin-top: 0;\n    }\n\n    &:nth-child(2n+1) &__textwrap {\n      padding: 40px 30px 40px 60px;\n      margin-bottom: 0;\n    }\n  }\n\n  &__title {\n    @include font-block-title;\n\n    &::before {\n      content: '';\n      display: block;\n      position: absolute;\n      left: -40px;\n      width: 20px;\n      height: 2px;\n      background: $c_primary;\n      top: 9px;\n    }\n  }\n\n  &__subtitle {\n    @include font-block-subtitle;\n  }\n\n  &__content {\n    @include font-block-content;\n    margin: 0;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/MarketBlock.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"market-block\"},[((_vm.block.type === 'image'))?_c('div',{staticClass:\"market-block__image-wrapper\"},[(_vm.block.video)?_c('movie-player',{staticClass:\"market-block__video\",attrs:{\"movieUrl\":_vm.block.video,\"placeholderUrl\":_vm.block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.block.video)?_c('img',{staticClass:\"market-block__image\",attrs:{\"src\":_vm.block.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),((_vm.block.type === 'text'))?_c('div',{staticClass:\"market-block__textwrap\"},[_c('h2',{staticClass:\"market-block__title\",domProps:{\"innerHTML\":_vm._s(_vm.block.title)}}),_vm._v(\" \"),(_vm.block.subtitle)?_c('h3',{staticClass:\"market-block__subtitle\",domProps:{\"innerHTML\":_vm._s(_vm.block.subtitle)}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"market-block__content\",domProps:{\"innerHTML\":_vm._s(_vm.block.content)}})]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-247ffc9d\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/MarketBlock.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-247ffc9d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./MarketBlock.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MarketBlock.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./MarketBlock.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-247ffc9d\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./MarketBlock.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/MarketBlock.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"markets\">\n    <header-box :title=\"title\" :intro=\"intro\"></header-box>\n    <div class=\"markets__innerwrap\">\n      <div class=\"markets__blocks\">\n        <market-block v-for=\"(block, index) in contentBlocks\" :block=\"block\" :key=\"index\"/>\n      </div>\n\n      <div class=\"markets__blocks markets__blocks--mobile\">\n        <market-block v-for=\"(block, index) in mobileContentBlocks\" :block=\"block\" :key=\"index\"/>\n      </div>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MarketBlock from '@/components/MarketBlock';\n\nexport default {\n  name: 'markets',\n  components: { PrevNextNav, HeaderBox, MarketBlock },\n  data() {\n    return {\n      innerWidth: window.innerWidth,\n    };\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n    mobileContentBlocks() {\n      const contentBlocks = this.page.contentBlocks.slice();\n\n      [].forEach.call(contentBlocks, (contentBlock, index) => {\n        if (index % 2 === 1 && contentBlocks[index].type === 'image' && contentBlocks[index - 1].type === 'text') {\n          const tempFirst = contentBlocks[index];\n          const tempSec = contentBlocks[index - 1];\n          contentBlocks[index] = tempSec;\n          contentBlocks[index - 1] = tempFirst;\n        }\n      });\n\n      return contentBlocks;\n    },\n  },\n  mounted() {\n    window.addEventListener('resize', () => {\n      this.innerWidth = window.innerWidth;\n    });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.markets {\n  @include page(false);\n\n  &__blocks {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    box-sizing: border-box;\n    padding: 20px 0 0;\n\n    @include mobile {\n      display: none;\n\n      &--mobile {\n        display: block;\n      }\n    }\n\n\n    @include not-mobile {\n      padding: 40px 0;\n\n      &--mobile {\n        display: none;\n      }\n    }\n    \n    @include landscape {\n      display: flex;\n      padding: 20px 0 0;\n\n      &--mobile {\n        display: none;\n      }\n    }\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Markets.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"markets\"},[_c('header-box',{attrs:{\"title\":_vm.title,\"intro\":_vm.intro}}),_vm._v(\" \"),_c('div',{staticClass:\"markets__innerwrap\"},[_c('div',{staticClass:\"markets__blocks\"},_vm._l((_vm.contentBlocks),function(block,index){return _c('market-block',{key:index,attrs:{\"block\":block}})})),_vm._v(\" \"),_c('div',{staticClass:\"markets__blocks markets__blocks--mobile\"},_vm._l((_vm.mobileContentBlocks),function(block,index){return _c('market-block',{key:index,attrs:{\"block\":block}})}))])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-59a2fae2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Markets.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-59a2fae2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Markets.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Markets.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Markets.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-59a2fae2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Markets.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Markets.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{attrs:{\"to\":{ params: { selectedBullet: _vm.index }  }}},[_c('div',{staticClass:\"bullet\",style:('left: ' + _vm.x + '%; ' + 'top: ' + _vm.y + '%')},[_c('span',{staticClass:\"bullet__label\"},[_vm._v(_vm._s(_vm.index + 1))])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6c547cb4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Bullet.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6c547cb4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Bullet.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Bullet.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Bullet.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6c547cb4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Bullet.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Bullet.vue\n// module id = null\n// module chunks = ","<template>\n  <router-link :to=\"{ params: { selectedBullet: index }  }\">\n    <div class=\"bullet\" :style=\"'left: ' + x + '%; ' + 'top: ' + y + '%'\">\n      <span class=\"bullet__label\">{{index + 1}}</span>\n    </div>\n  </router-link>\n</template>\n\n<script>\nexport default {\n  name: 'bullet',\n  props: ['x', 'y', 'index'],\n};\n</script>\n\n<style lang=\"scss\">\n  @import '../scss/helpers.scss';\n  .bullet {\n    display: block;\n    position: absolute;\n    height: 40px;\n    width: 40px;\n    background: rgba($c_primary, .9);\n    transition: opacity .15s;\n    opacity: 0;\n    font-size: 18px;\n    font-weight: bold;\n    box-sizing: border-box;\n    border-radius: 50%;\n    color: $c_white;\n    text-align: center;\n    transform: translate(-20px, -20px);\n    box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.31);\n\n    &__label {\n      display: inline-block;\n      position: absolute;\n      top: 20px;\n      left: 20px;\n      transform: translate(-50%, -50%);\n      @include font-baseline-fix;\n\n    }\n\n    .show & {\n      opacity: 1;\n    }\n  }\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Bullet.vue","<template>\n  <div\n    class=\"threesixty-block\"\n    :class=\"{opaque: opaque}\"\n  >\n    <div class=\"threesixty-block__image-wrapper\" v-if=\"image\">\n      <movie-player class=\"threesixty-block__video\" v-if=\"video\" :movieUrl=\"video\" :placeholderUrl=\"image\" autoplay=\"true\"></movie-player>\n      <img class=\"threesixty-block__image\" v-if=\"!video\" :src=\"image\" />\n    </div>\n    <div class=\"threesixty-block__content-wrapper\">\n      <a class=\"threesixty-block__close\" v-if=\"close\" @click=\"$emit('close', $event)\"></a>\n      <div class=\"threesixty-block__textwrap\" @click=\"$emit('click', $event)\">\n        <h2 class=\"threesixty-block__title\"><span v-if=\"index\" class=\"number\">{{index}}.</span> <span v-html=\"title\"></span></h2>\n        <div class=\"threesixty-block__content\" v-html=\"content\"></div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'threesixty',\n  components: { MoviePlayer },\n  props: {\n    image: {\n      type: [String, Boolean],\n    },\n    video: {\n      type: [String, Boolean],\n    },\n    opaque: {\n      type: Boolean,\n    },\n    close: {\n      type: Boolean,\n    },\n    index: {\n      type: [Number, String, Boolean],\n      default: false,\n    },\n    title: {\n      type: String,\n      required: true,\n    },\n    content: {\n      type: String,\n      required: true,\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../scss/helpers';\n\n.threesixty-block {\n\n  background: $c_white;\n  margin-bottom: 20px;\n  box-sizing: border-box;\n  // order: 2;\n\n  &--title {\n    color: $c_white;\n    padding: 30px;\n    background: $c_primary;\n    // order: 1;\n\n    @include not-laptop {\n      display: none;\n    }\n  }\n\n  &.opaque {\n    opacity: .5;\n\n    @include not-laptop {\n      display: none;\n    }\n\n    @include landscape {\n      display: block;\n    }\n  }\n\n  &__title {\n    @include font-block-title;\n    \n    .number {\n      color: $c_primary;\n\n      @include mobile {\n        display: none;\n      }\n\n      @include landscape {\n        display: none;\n      }\n    }\n  }\n\n  &__content-wrapper {\n    position: relative;\n  }\n\n  &__content {\n    @include font-block-content;\n    line-height: 2.3333;\n  }\n\n  &__image-wrapper {\n    display: block;\n    width: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  &__image {\n    display: block;\n    width: 100%;\n  }\n\n  &__textwrap {\n    padding: 40px 30px;\n    position: relative;\n  }\n\n  &__close {\n    background: #0096C3;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    display: block;\n    position: absolute;\n    top: -20px;\n    right: -20px;\n    z-index: 1;\n    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.31);\n    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.31);\n    -webkit-transition: all .25s;\n    transition: all .25s;\n    cursor: pointer;\n\n    &:before, &:after {\n      content: '';\n      background: #fff;\n      display: block;\n      height: 2px;\n      left: 11px;\n      position: absolute;\n      top: 19px;\n      transform: rotate(-45deg);\n      width: 18px;\n      z-index: 10;\n      transition: all .25s;\n    }\n\n    &:before {\n      transform: rotate(45deg);\n    }\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/ThreeSixtyBlock.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"threesixty-block\",class:{opaque: _vm.opaque}},[(_vm.image)?_c('div',{staticClass:\"threesixty-block__image-wrapper\"},[(_vm.video)?_c('movie-player',{staticClass:\"threesixty-block__video\",attrs:{\"movieUrl\":_vm.video,\"placeholderUrl\":_vm.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.video)?_c('img',{staticClass:\"threesixty-block__image\",attrs:{\"src\":_vm.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"threesixty-block__content-wrapper\"},[(_vm.close)?_c('a',{staticClass:\"threesixty-block__close\",on:{\"click\":function($event){_vm.$emit('close', $event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"threesixty-block__textwrap\",on:{\"click\":function($event){_vm.$emit('click', $event)}}},[_c('h2',{staticClass:\"threesixty-block__title\"},[(_vm.index)?_c('span',{staticClass:\"number\"},[_vm._v(_vm._s(_vm.index)+\".\")]):_vm._e(),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.title)}})]),_vm._v(\" \"),_c('div',{staticClass:\"threesixty-block__content\",domProps:{\"innerHTML\":_vm._s(_vm.content)}})])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-bbcf248a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ThreeSixtyBlock.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-bbcf248a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ThreeSixtyBlock.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixtyBlock.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixtyBlock.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-bbcf248a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ThreeSixtyBlock.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ThreeSixtyBlock.vue\n// module id = null\n// module chunks = ","<template>\n  <label :for=\"_uid\" class=\"toggle-button\" :class=\"'toggle-button--' + align\">\n    <input\n      class=\"toggle-button__checkbox\"\n      type=\"checkbox\"\n      :id=\"_uid\"\n      :checked=\"checked\"\n      @change=\"updateChecked\"\n    />\n    <span class=\"toggle-button__toggler\" :class=\"checked ? 'on' : 'off'\" >\n      <em class=\"toggle-button__icon\"> </em>\n      <i v-if=\"checked\">{{translations['threesixtyOn']}}</i>\n      <i v-else>{{translations['threesixtyOff']}}</i>\n    </span>\n    <span class=\"toggle-button__label\" :class=\"'toggle-button__label--' + align\" v-html=\"label\"></span>\n  </label>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n  model: {\n    prop: 'checked',\n  },\n  props: {\n    label: String,\n    checked: Boolean,\n    align: {\n      type: String,\n      default: 'right',\n    },\n  },\n  computed: {\n    ...mapGetters(['translations']),\n  },\n  methods: {\n    updateChecked(event) {\n      this.$emit('change', event.target.checked);\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\">\n  @import '../scss/helpers.scss';\n\n  .toggle-button {\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    position: relative;\n\n    &:not(:last-child) {\n      margin-right: 20px;\n    }\n\n    &--left {\n      margin-right: 0;\n\n      &:not(:first-child) {\n        margin-left: 20px;\n      }\n      flex-direction: row-reverse;\n    }\n\n    &__checkbox {\n      position: absolute;\n      visibility: hidden;\n    }\n\n    &__label {\n      font-size: 12px;\n      font-weight: 300;\n      color: #000;\n      margin-left: 20px;\n\n      &--left {\n        margin-right: 20px;\n\n        @include landscape {\n          margin-left: 0px;\n        }\n      }\n    }\n\n    &__icon {\n      &:before, &:after {\n        content: '';\n        background: #fff;\n        display: block;\n        height: 2px;\n        left: 45px;\n        position: absolute;\n        top: 15px;\n        transform: rotate(-45deg);\n        width: 18px;\n        z-index: 10;\n        transition: all .25s;\n      }\n\n      &:before {\n        transform: rotate(45deg);\n      }\n\n      .on & {\n        &:after {\n          left: 3px;\n          top: 16px;\n          z-index: 10;\n          transform: rotate(-225deg);\n        }\n\n        &:before {\n          left: -2px;\n          top: 18px;\n          width: 9px;\n          transform: rotate(-135deg);\n        }\n      }      \n    }\n\n    &__toggler {\n      background: #E6EBEF;\n      border-radius: 20px;\n      box-sizing: border-box;\n      color: #000;\n      display: inline-block;\n      font-size: 12px;\n      line-height: 20px;\n      font-weight: 300;\n      height: 34px;\n      padding: 7px 12px;\n      position: relative;\n      vertical-align: middle;\n      width: 63px;\n      text-align: right;\n      transition: all .25s;\n      z-index: 0;\n\n      img {\n        position: absolute;\n        top: 10px;\n        z-index: 2;\n      }\n\n      i {\n        font-style: normal;\n      }\n\n      &:before {\n        content: '';\n        background: #0096C3;\n        width: 40px;\n        height: 40px;\n        border-radius: 50%;\n        display: block;\n        position: absolute;\n        top: -3px;\n        z-index: 1;\n        box-shadow: 0px 2px 2px rgba(0,0,0,0.31);\n        transition: all .25s;\n      }\n\n      &.on {\n        &::before { left: -12px; }\n        img { left: -1px; }\n      }\n\n      &.off {\n        text-align: left;\n        background: rgba(0,0,0,.5);\n\n        &::before { left: 34px; }\n        img { right: 1px; }\n      }\n    }\n  }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/ToggleButton.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"toggle-button\",class:'toggle-button--' + _vm.align,attrs:{\"for\":_vm._uid}},[_c('input',{staticClass:\"toggle-button__checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm._uid},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.updateChecked}}),_vm._v(\" \"),_c('span',{staticClass:\"toggle-button__toggler\",class:_vm.checked ? 'on' : 'off'},[_c('em',{staticClass:\"toggle-button__icon\"}),_vm._v(\" \"),(_vm.checked)?_c('i',[_vm._v(_vm._s(_vm.translations['threesixtyOn']))]):_c('i',[_vm._v(_vm._s(_vm.translations['threesixtyOff']))])]),_vm._v(\" \"),_c('span',{staticClass:\"toggle-button__label\",class:'toggle-button__label--' + _vm.align,domProps:{\"innerHTML\":_vm._s(_vm.label)}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-272e0195\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ToggleButton.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-272e0195\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ToggleButton.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleButton.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ToggleButton.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-272e0195\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ToggleButton.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ToggleButton.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"installation-3d\">\n    <!-- <header-box :title=\"title\" :intro=\"intro\"></header-box> -->\n    <div class=\"installation-3d__innerwrap\">\n      <div class=\"installation-3d__3d-wrapper\">\n        \n        <div class=\"installation-3d__3d-view\" :style=\"view3dStyle\">\n          <div class=\"installation-3d__3d-close-rect\" v-on:click=\"closeBullet\"></div>\n          <div class=\"installation-3d__bullets\" :class=\"{ show: info }\">\n            <bullet\n              :key=\"index\"\n              :index=\"index\"\n              v-for=\"(b, index) in contentBlocks3d\"\n              :x=\"b.x\"\n              :y=\"b.y\"\n            >\n            </bullet>\n          </div>\n        </div>\n        <div class=\"installation-3d__3d-blocks\" ref=\"blocks3d\" :class=\"{ hide: (selectedBullet === -1 || !info) }\">\n          <three-sixty-block\n            :id=\"'block-' + index\"\n            v-for=\"(block, index) in contentBlocks3d\"\n            :key=\"index\"\n            :image=\"block.image\"\n            :video=\"block.video\"\n            :title=\"block.title\"\n            :content=\"block.content\"\n            v-on:close=\"closeBullet\"\n            v-on:click=\"openBullet(index)\"\n            :index=\"index + 1\"\n            :close=\"selectedBullet === index\"\n          />\n        </div>\n        <div class=\"installation-3d__3d-toggle\" :class=\"{ hide: selectedBullet !== -1 }\" v-if=\"contentBlocks3d.length\">\n          <toggle-button v-if=\"!isMobile\" :label=\"translations['threesixtyLabels']\" align=\"left\" @change=\"toggleInfo\" v-model=\"info\"></toggle-button>\n        </div>\n      </div>\n      <div class=\"installation-3d__blocks\">\n        <market-block v-for=\"(block, index) in contentBlocks\" :block=\"block\" :key=\"index\"/>\n      </div>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MarketBlock from '@/components/MarketBlock';\nimport Bullet from '@/components/Bullet';\nimport ThreeSixtyBlock from '@/components/ThreeSixtyBlock';\nimport ToggleButton from '@/components/ToggleButton';\n\nconst scrollToElement = require('scroll-to-element');\nconst scrollIntoView = require('scroll-into-view');\n\n\nexport default {\n  name: 'installation-3d',\n  components: { PrevNextNav, HeaderBox, MarketBlock, Bullet, ThreeSixtyBlock, ToggleButton },\n  watch: {\n    selectedBullet(newVal, oldVal) {\n      const bullet = this.$el.querySelector(`#block-${this.selectedBullet}`);\n      if (this.selectedBullet !== -1 && bullet) {\n        scrollIntoView(bullet, {\n          time: oldVal === '-1' ? 0 : 500,\n          isScrollable: target => target.classList && target.classList.contains('installation-3d__3d-blocks'),\n        });\n      }\n      scrollToElement(this.$refs.blocks3d, { duration: 500, align: 'top' });\n    },\n  },\n  methods: {\n    toggleInfo(val) {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      params.info = val ? 'info' : 'noinfo';\n\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n    closeBullet() {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n    openBullet(index) {\n      const params = this.$route.params;\n      params.selectedBullet = index;\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n  },\n  computed: {\n    ...mapGetters(['page', 'selectedBullet', 'info', 'translations']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n    image() {\n      return this.page.image;\n    },\n    contentBlocks3d() {\n      return this.page.threedContentBlocks;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n    mobileContentBlocks() {\n      const contentBlocks = this.page.contentBlocks.slice();\n\n      [].forEach.call(contentBlocks, (contentBlock, index) => {\n        if (index % 2 === 1 && contentBlocks[index].type === 'image' && contentBlocks[index - 1].type === 'text') {\n          const tempFirst = contentBlocks[index];\n          const tempSec = contentBlocks[index - 1];\n          contentBlocks[index] = tempSec;\n          contentBlocks[index - 1] = tempFirst;\n        }\n      });\n\n      return contentBlocks;\n    },\n    view3dStyle() {\n      const style = {\n        backgroundImage: `url('${this.image}')`,\n      };\n      const selectedBlock = this.selectedBullet >= 0 && this.contentBlocks3d[this.selectedBullet];\n      if (selectedBlock) {\n        style.transformOrigin = `${selectedBlock.x}% ${selectedBlock.y}%`;\n        style.transform = `translate(-50%, -50%) translate(${28 - selectedBlock.x}%, ${50 - selectedBlock.y}%) scale(${selectedBlock.scale})`;\n      }\n      return style;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.installation-3d {\n  @include page(false);\n\n  &__3d-wrapper {\n    width: 100%;\n    position: relative;\n\n    @include not-mobile {\n      height: calc(100vh - 70px);\n      overflow: hidden;\n    }\n  }\n\n  &__3d-view {\n    display: block;\n    background-size: cover;\n    background-position: center;\n\n    @include mobile {\n      display: block;\n\n      &::before {\n        content: '';\n        display: block;\n        padding-top: 1396/2048*100%;\n      }\n    }\n\n    @include not-mobile {\n      @include aspect-ratio-box-cover(2048/1396, 70px);\n      transition: transform .45s, transform-origin .45s;\n    }\n  }\n\n  &__3d-close-rect {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n  }\n\n  &__bullets {\n    display: none;\n  \n    @include not-mobile {\n      display: block;\n    }\n  }\n\n  &__3d-blocks {\n    display: block;\n    padding: 20px 20px 0;\n    box-sizing: border-box;\n\n    @include not-mobile {\n      position: absolute;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      padding: 40px 40px 0;\n      width: 44%;\n      @include gradientBackground();\n      overflow: auto;\n      transition: transform .45s;\n  \n      &.hide {\n        transform: translateX(100%);\n      }\n    }\n  }\n\n  &__3d-toggle {\n    display: block;\n    padding: 12px 20px 12px 0;\n    background: $c_white;\n    position: absolute;\n    top: 20px;\n    left: 20px;\n    transition: opacity .45s;\n\n    &.hide {\n      opacity: 0;\n      pointer-events: none;\n    }\n  }\n\n  &__blocks {\n    display: none;\n\n    @include not-mobile {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: stretch;\n      box-sizing: border-box;\n      padding: 20px 0 0;\n      padding: 40px 0;\n\n      &--mobile {\n        display: none;\n      }\n\n      @include landscape {\n        display: flex;\n        padding: 20px 0 0;\n\n        &--mobile {\n          display: none;\n        }\n      }\n    }\n    \n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Installation3d.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"installation-3d\"},[_c('div',{staticClass:\"installation-3d__innerwrap\"},[_c('div',{staticClass:\"installation-3d__3d-wrapper\"},[_c('div',{staticClass:\"installation-3d__3d-view\",style:(_vm.view3dStyle)},[_c('div',{staticClass:\"installation-3d__3d-close-rect\",on:{\"click\":_vm.closeBullet}}),_vm._v(\" \"),_c('div',{staticClass:\"installation-3d__bullets\",class:{ show: _vm.info }},_vm._l((_vm.contentBlocks3d),function(b,index){return _c('bullet',{key:index,attrs:{\"index\":index,\"x\":b.x,\"y\":b.y}})}))]),_vm._v(\" \"),_c('div',{ref:\"blocks3d\",staticClass:\"installation-3d__3d-blocks\",class:{ hide: (_vm.selectedBullet === -1 || !_vm.info) }},_vm._l((_vm.contentBlocks3d),function(block,index){return _c('three-sixty-block',{key:index,attrs:{\"id\":'block-' + index,\"image\":block.image,\"video\":block.video,\"title\":block.title,\"content\":block.content,\"index\":index + 1,\"close\":_vm.selectedBullet === index},on:{\"close\":_vm.closeBullet,\"click\":function($event){_vm.openBullet(index)}}})})),_vm._v(\" \"),(_vm.contentBlocks3d.length)?_c('div',{staticClass:\"installation-3d__3d-toggle\",class:{ hide: _vm.selectedBullet !== -1 }},[(!_vm.isMobile)?_c('toggle-button',{attrs:{\"label\":_vm.translations['threesixtyLabels'],\"align\":\"left\"},on:{\"change\":_vm.toggleInfo},model:{value:(_vm.info),callback:function ($$v) {_vm.info=$$v},expression:\"info\"}}):_vm._e()],1):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"installation-3d__blocks\"},_vm._l((_vm.contentBlocks),function(block,index){return _c('market-block',{key:index,attrs:{\"block\":block}})}))])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-555e8147\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Installation3d.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-555e8147\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Installation3d.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Installation3d.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Installation3d.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-555e8147\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Installation3d.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Installation3d.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"installation\">\n\n    <header-box :title=\"title\"></header-box>\n    <div class=\"installation__innerwrap\">\n      <div class=\"installation__row\">\n        <div class=\"installation__blocks\">\n          <div class=\"installation__block\" v-for=\"block in oddContentBlocks\">\n              <h2 class=\"installation__block-title\" v-html=\"block.title\"></h2>\n              <div class=\"installation__block-content\" v-html=\"block.content\"></div>\n          </div>\n        </div>\n        <div class=\"installation__image-wrapper\">\n\n          <movie-player v-if=\"coverVideo\" class=\"installation__video\" :movieUrl=\"coverVideo\" :placeholderUrl=\"coverImage\" autoplay=\"true\"></movie-player>\n          <img v-if=\"!coverVideo\" class=\"installation__image\" :src=\"coverImage\" />\n        </div>\n        <div class=\"installation__blocks installation__blocks--all\">\n          <div class=\"installation__block\" v-for=\"block in contentBlocks\">\n              <h2 class=\"installation__block-title\" v-html=\"block.title\"></h2>\n              <div class=\"installation__block-content\" v-html=\"block.content\"></div>\n          </div>\n        </div>\n        <div class=\"installation__blocks installation__blocks--padded\">\n          <div class=\"installation__block\" v-for=\"block in evenContentBlocks\">\n              <h2 class=\"installation__block-title\" v-html=\"block.title\"></h2>\n              <div class=\"installation__block-content\" v-html=\"block.content\"></div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MoviePlayer from '@/components/MoviePlayer';\nimport Macy from 'macy-watchcss';\n\nexport default {\n  name: 'installation',\n  components: { PrevNextNav, HeaderBox, MoviePlayer },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    coverType() {\n      return this.page.coverType;\n    },\n    coverImage() {\n      return this.page.coverImage;\n    },\n    coverVideo() {\n      return this.page.coverVideo;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n    evenContentBlocks() {\n      return this.contentBlocks.filter(this.filterEven);\n    },\n    oddContentBlocks() {\n      return this.contentBlocks.filter(this.filterOdd);\n    },\n  },\n  methods: {\n    filterEven(block, index) {\n      return (index + 1) % 2 === 0;\n    },\n    filterOdd(block, index) {\n      return (index + 1) % 2 === 1;\n    },\n  },\n  mounted() {\n    const bgVid = document.querySelector('.installation__video');\n    if (bgVid) {\n      bgVid.addEventListener('ended', () => {\n        bgVid.classList.add('hide');\n      });\n    }\n\n    Macy({\n      container: '.installation__blocks--all',\n      trueOrder: true,\n      waitForImages: false,\n      margin: 20,\n      columns: 3,\n      watchCSS: true,\n    });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.installation {\n  @include page;\n\n  &__innerwrap {\n    padding-top: 20px;\n  }\n\n  &__row {\n    @include not-tablet {\n      display: flex;\n      align-item: flex-start;\n      justify-content: space-between;\n      position: relative;\n    }\n  }\n\n  &__image-wrapper {\n    display: block;\n    width: 100%;\n    margin: 0 auto 20px;\n    position: relative;\n\n    @include not-mobile {\n      width: 75%;\n    }\n\n    @include landscape {\n      position: fixed;\n      top: 20px;\n      left: calc(50% + 10px);\n      width: auto;\n      right: 20px;\n    }\n\n    @include not-tablet {\n      width: calc(75% - 60px);\n      margin-bottom: 0;\n      position: fixed;\n      left: calc(12.5% + 30px);\n      top: (40px + 91px + 20px);\n    }\n  }\n\n  &__image {\n    width: 100%;\n    display: block;\n  }\n\n  // &__video {\n    // width: 100%;\n    // display: block;\n    // position: absolute;\n    // top: 0;\n    // left: 0;\n    // right: 0;\n    // transition: opacity .5s;\n\n    // &.hide {\n    //   opacity: 0;\n    //   pointer-events: none;\n    // }\n\n    // @include not-tablet {\n    //   width: 100%;\n    //   margin: 0 auto;\n    // }\n  // }\n\n  // &__video + &__image {\n  //   transition: opacity .5s;\n  // }\n\n  // &__video:not(.hide) + &__image {\n  //   opacity: 0;\n  // }\n\n  &__blocks {\n    flex-shrink: 0;\n    display: none;\n    position: relative;\n    z-index: 1;\n\n    &--all {\n      display: block;\n\n      @include tablet {\n        &::after {\n          content: \"macy\";\n          display: none;\n        }\n      }\n    }\n\n    @include landscape {\n      width: calc(50% - 10px);\n\n      &::after {\n        content: none;\n      }\n    }\n\n    @include not-tablet {\n      width: calc(25% - 10px);\n      display: block;\n      margin-bottom: 20px;\n\n      &--all {\n        display: none;\n      }\n\n      &--padded {\n        padding-top: 100px;\n      }\n    }\n\n  }\n\n  &__block {\n    display: block;\n    box-sizing: border-box;\n    margin-bottom: 20px;\n    padding: 40px 30px 30px;\n    background: $c_white;\n\n    @include tablet {\n      width: 33.33%;\n    }\n\n    @include landscape {\n      width: auto;\n    }\n\n    @include not-tablet {\n      padding: 50px 40px 40px;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Installation.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"installation\"},[_c('header-box',{attrs:{\"title\":_vm.title}}),_vm._v(\" \"),_c('div',{staticClass:\"installation__innerwrap\"},[_c('div',{staticClass:\"installation__row\"},[_c('div',{staticClass:\"installation__blocks\"},_vm._l((_vm.oddContentBlocks),function(block){return _c('div',{staticClass:\"installation__block\"},[_c('h2',{staticClass:\"installation__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"installation__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})])})),_vm._v(\" \"),_c('div',{staticClass:\"installation__image-wrapper\"},[(_vm.coverVideo)?_c('movie-player',{staticClass:\"installation__video\",attrs:{\"movieUrl\":_vm.coverVideo,\"placeholderUrl\":_vm.coverImage,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.coverVideo)?_c('img',{staticClass:\"installation__image\",attrs:{\"src\":_vm.coverImage}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"installation__blocks installation__blocks--all\"},_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"installation__block\"},[_c('h2',{staticClass:\"installation__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"installation__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})])})),_vm._v(\" \"),_c('div',{staticClass:\"installation__blocks installation__blocks--padded\"},_vm._l((_vm.evenContentBlocks),function(block){return _c('div',{staticClass:\"installation__block\"},[_c('h2',{staticClass:\"installation__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"installation__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})])}))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-46e2c38b\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Installation.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-46e2c38b\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Installation.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Installation.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Installation.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-46e2c38b\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Installation.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Installation.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"workflow\">\n  <header-box :title=\"title\" :intro=\"intro\"></header-box>\n    <div class=\"workflow__innerwrap\">\n      <div class=\"workflow__blocks\">\n        <div class=\"workflow__block\" v-for=\"block in contentBlocks\">\n\n          <div class=\"workflow__block-image\" v-if=\"(block.type === 'image' || block.type === 'image_text')\">\n            <movie-player v-if=\"block.video\" class=\"workflow__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n          <div class=\"workflow__block-textwrap\" v-if=\"(block.type === 'text' || block.type === 'image_text' || block.type === 'text_image')\" :class=\"{'workflow__block-textwrap--long' : (block.type === 'text')}\"> \n            <h2 class=\"workflow__block-title\" v-html=\"block.title\"></h2>\n            <div class=\"workflow__block-content\" v-html=\"block.content\"></div>\n          </div>\n\n          <div class=\"workflow__block-image\" v-if=\"(block.type === 'text_image')\">\n            <movie-player v-if=\"block.video\" class=\"workflow__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'workflow',\n  components: { PrevNextNav, HeaderBox, MoviePlayer },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n  },\n  mounted() {\n    const vids = document.querySelectorAll('.workflow__block-video');\n\n    [].forEach.call(vids, (vid) => {\n      vid.addEventListener('ended', () => {\n        vid.classList.add('hide');\n      });\n    });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.workflow {\n  @include page;\n  background: none;\n\n  &__blocks {\n    box-sizing: border-box;\n  }\n\n  &__block {\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 60px;\n\n    @include landscape {\n      flex-direction: row;\n      margin-bottom: 40px\n    }\n\n    @include not-tablet {\n      margin-bottom: 80px;\n      flex-direction: row;\n    }\n  }\n\n  &__block-image {\n    display: block;\n    position: relative;\n\n    @include tablet {\n      width: 75%;\n      margin-right: 25%;\n      order: 0;\n\n      &:first-child:last-child {\n        width: 100%;\n        margin: 0;\n      }\n    }\n\n    @include landscape {\n      margin: 0;\n      flex-basis: 0;\n      flex-shrink: 1;\n      flex-grow: 2;\n      order: unset;\n      width: auto;\n    }\n\n    @include not-tablet {\n      flex-basis: 0;\n      flex-shrink: 1;\n      flex-grow: 2;\n    }\n\n    img {\n      display: block;\n      width: 100%;\n    }\n\n    // video + img {\n    //   transition: opacity .5s;\n    // }\n\n    // video:not(.hide) + img {\n    //   opacity: 0;\n    // }\n  }\n\n  &__block-video {\n    // width: 100%;\n    // display: block;\n    // position: absolute;\n    // top: 0;\n    // left: 0;\n    // right: 0;\n    // transition: opacity .5s;\n\n    // &.hide {\n    //   opacity: 0;\n    //   pointer-events: none;\n    // }\n  }\n\n  &__block-textwrap {\n    box-sizing: border-box;\n    background: $c_white;\n    padding: 30px 20px 0;\n    margin: auto;\n\n    @include not-mobile {\n      padding: 40px 0 0;\n      width: 83.33%;\n      margin-left: 16.66%;\n    }\n\n\n    @include not-laptop {\n      order: 2;\n\n      &:first-child:last-child {\n        padding-top: 0;\n      }\n    }\n\n    @include landscape {\n      order: unset;\n      padding: 0 20px 0 0;\n      box-sizing: content-box;\n      width: calc(50% - 10px);\n      margin: 0;\n\n      &--long {\n        width: 75%;\n        padding: 0 0 0 20px;\n        box-sizing: border-box;\n      }\n    }\n\n    @include not-tablet {\n      width: calc(33.33% + 10px);\n      padding: 0 40px 0 0;\n      margin: 0;\n\n\n      @include desktop {\n        padding: 0 40px 0 7%;\n      }\n\n      &--long {\n        width: 75%;\n        max-width: 750px;\n        padding: 0 0 0 40px;\n        box-sizing: border-box;\n\n        @include desktop {\n          width: 66.66%;\n        }\n      }\n    }\n  }\n\n  @include mobile {\n    &__block:first-child &__block-textwrap:first-child:last-child {\n      margin-top: 30px;\n    }\n  }\n\n  @include not-tablet {\n    &__block-image + &__block-textwrap {\n      padding-right: 0;\n      padding-left: 40px;\n\n      @include desktop {\n        padding-right: 7%;\n        padding-left: 40px;\n      }\n    }\n  }\n\n  @include landscape {\n    &__block-image + &__block-textwrap {\n      padding-right: 0;\n      padding-left: 20px;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Workflow.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"workflow\"},[_c('header-box',{attrs:{\"title\":_vm.title,\"intro\":_vm.intro}}),_vm._v(\" \"),_c('div',{staticClass:\"workflow__innerwrap\"},[_c('div',{staticClass:\"workflow__blocks\"},_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"workflow__block\"},[((block.type === 'image' || block.type === 'image_text'))?_c('div',{staticClass:\"workflow__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"workflow__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),((block.type === 'text' || block.type === 'image_text' || block.type === 'text_image'))?_c('div',{staticClass:\"workflow__block-textwrap\",class:{'workflow__block-textwrap--long' : (block.type === 'text')}},[_c('h2',{staticClass:\"workflow__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"workflow__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})]):_vm._e(),_vm._v(\" \"),((block.type === 'text_image'))?_c('div',{staticClass:\"workflow__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"workflow__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e()])}))])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2975e323\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Workflow.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2975e323\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Workflow.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Workflow.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Workflow.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2975e323\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Workflow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Workflow.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"interactive-pdf\">\n    <header-box :title=\"title\"></header-box>\n    <div class=\"interactive-pdf__innerwrap\">\n      <ul class=\"interactive-pdf__names\">\n        <li class=\"interactive-pdf__name\" v-for=\"(pdf, index) in pdfFiles\">\n          <a @click=\"setPdfIndex(index)\" v-html=\"pdf.title\"></a>\n        </li>\n      </ul>\n      <iframe class=\"interactive-pdf__pdf-iframe no-swipe-nav\" :src=\"pdfIframe\"></iframe>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\n\nexport default {\n  name: 'interactive-pdf',\n  components: { PrevNextNav, HeaderBox },\n  data() {\n    return {\n      index: 0,\n    };\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    pdfFiles() {\n      return this.page.pdfFiles;\n    },\n    pdfUrl() {\n      if (this.page.pdfFiles[this.index].url.indexOf('static') === 0) {\n        return `../../${this.page.pdfFiles[this.index].url}`;\n      }\n      return this.page.pdfFiles[this.index].url;\n    },\n    pdfIframe() {\n      return `static/pdf-js-viewer/index.html?file=${this.pdfUrl}`;\n    },\n  },\n  methods: {\n    setPdfIndex(index) {\n      this.index = index;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.interactive-pdf {\n  @include page(true, true);\n\n  &__innerwrap {\n    display: flex;\n    flex-direction: column;\n    padding-bottom: 20px;\n\n    @include not-mobile {\n      padding-bottom: 40px;\n      padding-top: 0;\n    }\n\n    @include landscape {\n      padding-top: 20px;\n      padding-bottom: 20px;\n    }\n  }\n\n  &__names {\n    display: none;\n\n    @include not-mobile {\n      @include font-block-title;\n      color: $c_primary;\n      display: block;\n      list-style: none;\n      padding: 0;\n      margin: 30px 0 30px 8.333%;\n      width: 91.666%;\n    }\n\n    @include landscape {\n      display: none;\n    }\n  }\n\n  &__name {\n    display: inline-block;\n    margin-left: 40px;\n\n    &:first-child {\n      margin-left: 25px;\n    }\n\n    &::after {\n      display: inline-block;\n      content: '';\n      width: 16px;\n      height: 16px;\n      background: url('../../../static/svg/icon_table.svg') no-repeat center;\n      margin-left: 10px;\n      margin-top: 4px;\n      vertical-align: top;\n    }\n\n    a {\n      color: inherit;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  &__pdf-iframe {\n    width: 100%;\n    display: block;\n    background: $c_white;\n    flex-grow: 1;\n    border: 0;\n\n    @include not-mobile {\n      margin: 0 0 0 8.333%;\n      width: 91.666%;\n    }\n\n    @include landscape {\n      width: 100%;\n      margin: 0;\n    }\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/InteractivePdf.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"interactive-pdf\"},[_c('header-box',{attrs:{\"title\":_vm.title}}),_vm._v(\" \"),_c('div',{staticClass:\"interactive-pdf__innerwrap\"},[_c('ul',{staticClass:\"interactive-pdf__names\"},_vm._l((_vm.pdfFiles),function(pdf,index){return _c('li',{staticClass:\"interactive-pdf__name\"},[_c('a',{domProps:{\"innerHTML\":_vm._s(pdf.title)},on:{\"click\":function($event){_vm.setPdfIndex(index)}}})])})),_vm._v(\" \"),_c('iframe',{staticClass:\"interactive-pdf__pdf-iframe no-swipe-nav\",attrs:{\"src\":_vm.pdfIframe}})])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4aa61b7c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/InteractivePdf.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4aa61b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./InteractivePdf.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./InteractivePdf.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./InteractivePdf.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4aa61b7c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./InteractivePdf.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/InteractivePdf.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"interactive-html\">\n    <header-box :title=\"title\"></header-box>\n    <div class=\"interactive-html__innerwrap\">\n      <transition name=\"fade\">\n        <div v-if=\"fullscreen\" class=\"interactive-html__overlay\">\n          <div class=\"interactive-html__overlay-header\">\n            <header-box :no-margin=\"true\" :long=\"true\" :title=\"title\"></header-box>\n            <a href=\"#\" class=\"interactive-html__overlay-close\" @click=\"toggleFullscreen\"></a>\n          </div>\n          <iframe class=\"interactive-html__iframe no-swipe-nav\" :src=\"htmlUrl\"></iframe>\n        </div>\n      </transition>\n      <div class=\"interactive-html__blocks\">\n        <div class=\"interactive-html__block\">\n          <div class=\"interactive-html__block-textwrap\">\n            <h2 class=\"interactive-html__block-title\" v-html=\"linkBlockTitle\"></h2>\n            <div class=\"interactive-html__block-content\" v-html=\"linkBlockContent\"></div>\n            <a class=\"interactive-html__cta\" href=\"#\" @click=\"toggleFullscreen\">{{linkBlockCta}}</a>\n          </div>\n\n          <div class=\"interactive-html__block-image\">\n            <img :src=\"linkBlockImage\" />\n          </div>\n        </div>\n\n        <div class=\"interactive-html__block\" v-for=\"block in contentBlocks\">\n\n          <div class=\"interactive-html__block-image\" v-if=\"(block.imagePosition === 'left')\">\n            <movie-player v-if=\"block.video\" class=\"interactive-html__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n          <div class=\"interactive-html__block-textwrap\">\n            <h2 class=\"interactive-html__block-title\" v-html=\"block.title\"></h2>\n            <div class=\"interactive-html__block-content\" v-html=\"block.content\"></div>\n          </div>\n\n          <div class=\"interactive-html__block-image\" v-if=\"(block.imagePosition === 'right')\">\n            <movie-player v-if=\"block.video\" class=\"interactive-html__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'interactive-html',\n  components: { PrevNextNav, HeaderBox, MoviePlayer },\n  data() {\n    return {\n      fullscreen: false,\n    };\n  },\n  mounted() {\n    const iframeLinks = this.$el.querySelectorAll('.interactive-html__content a');\n    [].forEach.call(iframeLinks, (iframeLink) => {\n      iframeLink.addEventListener('click', this.toggleFullscreen);\n    });\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    linkBlockTitle() {\n      return this.page.linkBlockTitle;\n    },\n    linkBlockContent() {\n      return this.page.linkBlockContent;\n    },\n    linkBlockCta() {\n      return this.page.linkBlockCta;\n    },\n    linkBlockImage() {\n      return this.page.linkBlockImage;\n    },\n    htmlUrl() {\n      return this.page.htmlUrl;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n  },\n  methods: {\n    toggleFullscreen(ev) {\n      ev.preventDefault();\n      this.fullscreen = !this.fullscreen;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.interactive-html {\n  @include page;\n\n  .fade-enter-active, .fade-leave-active {\n    transition: opacity .35s;\n  }\n  .fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\n    opacity: 0;\n  }\n\n  &__innerwrap {\n    padding-top: 0;\n  }\n\n  &__overlay {\n    display: flex;\n    flex-direction: column;\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 70px;\n    background: $c_white;\n    z-index: 3;\n    // transition: opacity .35s;\n\n    // &.hide {\n    //   opacity: 0;\n    //   pointer-events: none;\n    // }\n  }\n\n  &__overlay-header {\n    position: relative;\n  }\n\n  &__overlay-close {\n    display: block;\n    height: 46px;\n    width: 46px;\n    background-position: center;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-image: url('../../../static/svg/icon_minimize-white.svg');\n    position: absolute;\n    top: calc(50% - 23px);\n    right: 20px;\n    transition: opacity .3s;\n    z-index: 3;\n    outline: none;\n  }\n\n  &__iframe {\n    display: block;\n    flex-grow: 1;\n    width: 100%;\n    border: none;\n    outline: none;\n  }\n\n  &__cta {\n    display: block;\n    @include font-block-subtitle;\n    margin: 0;\n    color: $c_primary;\n    text-decoration: none;\n    font-style: normal;\n    margin-top: 50px;\n\n    &::after {\n      content: '';\n      display: inline-block;\n      width: 17px;\n      height: 13px;\n      margin: 5px 10px;\n      vertical-align: top;\n      background-position: center;\n      background-repeat: no-repeat;\n      background-image: url('../../../static/svg/icon_cta.svg');\n      transition: transform .35s;\n    }\n\n    &:hover::after {\n      transform: translateX(6px);\n    }\n  }\n\n  // &__content {\n  //   @include font-block-content;\n\n  //   box-sizing: border-box;\n  //   padding: 30px 30px;\n  //   margin: auto;\n\n  //   p:first-child {\n  //     margin-top: 0;\n  //   }\n\n  //   @include not-mobile {\n  //     padding: 40px 0;\n  //     width: 83.33%;\n  //     margin: 0 30px;\n  //     // margin-left: 16.66%;\n  //   }\n\n  //   @include landscape {\n  //     order: unset;\n  //     margin: 20px 0;\n  //     width: 75%;\n  //     padding: 20px 0 20px 20px;\n  //   }\n\n  //   @include not-tablet {\n  //     margin: 30px 0;\n  //     width: 75%;\n  //     max-width: 750px;\n  //     padding: 0 0 0 30px;\n\n  //     @include desktop {\n  //       width: 66.66%;\n  //     }\n  //   }\n  // }\n\n  &__blocks {\n    box-sizing: border-box;\n    // padding: 40px;\n    margin-top: 20px;\n    @include not-mobile {\n      margin-top: 40px;\n    }\n  }\n\n  &__block {\n    box-sizing: border-box;\n    padding-bottom: 20px;\n    display: flex;\n    flex-direction: column;\n\n    @include not-mobile {\n      flex-direction: row;\n      padding-bottom: 40px;\n    }\n\n    @include tablet {\n      display: block;\n    }\n\n    @include landscape {\n      display: flex;\n      flex-direction: row;\n      padding-bottom: 20px;\n    }\n  }\n\n  &__block-image {\n    display: block;\n    position: relative;\n    overflow: hidden;\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n    }\n\n    @include landscape {\n      width: 50%;\n    }\n\n    @include not-tablet {\n      width: 50%;\n    }\n\n    img {\n      display: block;\n      width: 100%;\n    }\n\n    // video + img {\n    //   transition: opacity .5s;\n    // }\n\n    // video:not(.hide) + img {\n    //   opacity: 0;\n    // }\n  }\n\n  // &__block-video {\n  //   width: 100%;\n  //   display: block;\n  //   position: absolute;\n  //   top: 0;\n  //   left: 0;\n  //   right: 0;\n  //   transition: opacity .5s;\n\n  //   &.hide {\n  //     opacity: 0;\n  //     pointer-events: none;\n  //   }\n  // }\n\n  &__block-textwrap + &__block-image {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n    }\n\n    @include landscape {\n      margin: 0;\n    }\n  }\n\n  &__block-textwrap {\n    box-sizing: border-box;\n    background: $c_white;\n    padding: 35px 30px;\n\n    @include mobile {\n      order: 1;\n    }\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n      margin-bottom: -40px;\n      padding: 40px 40px 80px;\n    }\n\n    @include landscape {\n      order: unset;\n      width: 50%;\n      padding: 35px 30px;\n      margin: 0;\n    }\n\n    @include not-tablet {\n      width: 50%;\n      padding: 40px;\n    }\n\n    @include desktop {\n      width: 33.33%;\n      margin-left: 16.665%;\n    }\n  }\n\n  &__block-image + &__block-textwrap {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n      margin-top: -40px;\n      margin-bottom: 0;\n      padding: 80px 40px 40px;\n    }\n\n    @include landscape {\n      margin: 0;\n      padding: 35px 30px;\n    }\n\n    @include not-tablet {\n      margin-left: 0;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/InteractiveHtml.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"interactive-html\"},[_c('header-box',{attrs:{\"title\":_vm.title}}),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__innerwrap\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.fullscreen)?_c('div',{staticClass:\"interactive-html__overlay\"},[_c('div',{staticClass:\"interactive-html__overlay-header\"},[_c('header-box',{attrs:{\"no-margin\":true,\"long\":true,\"title\":_vm.title}}),_vm._v(\" \"),_c('a',{staticClass:\"interactive-html__overlay-close\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleFullscreen}})],1),_vm._v(\" \"),_c('iframe',{staticClass:\"interactive-html__iframe no-swipe-nav\",attrs:{\"src\":_vm.htmlUrl}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__blocks\"},[_c('div',{staticClass:\"interactive-html__block\"},[_c('div',{staticClass:\"interactive-html__block-textwrap\"},[_c('h2',{staticClass:\"interactive-html__block-title\",domProps:{\"innerHTML\":_vm._s(_vm.linkBlockTitle)}}),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__block-content\",domProps:{\"innerHTML\":_vm._s(_vm.linkBlockContent)}}),_vm._v(\" \"),_c('a',{staticClass:\"interactive-html__cta\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleFullscreen}},[_vm._v(_vm._s(_vm.linkBlockCta))])]),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__block-image\"},[_c('img',{attrs:{\"src\":_vm.linkBlockImage}})])]),_vm._v(\" \"),_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"interactive-html__block\"},[((block.imagePosition === 'left'))?_c('div',{staticClass:\"interactive-html__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"interactive-html__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__block-textwrap\"},[_c('h2',{staticClass:\"interactive-html__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"interactive-html__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})]),_vm._v(\" \"),((block.imagePosition === 'right'))?_c('div',{staticClass:\"interactive-html__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"interactive-html__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e()])})],2)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1d889e1b\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/InteractiveHtml.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1d889e1b\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./InteractiveHtml.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./InteractiveHtml.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./InteractiveHtml.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1d889e1b\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./InteractiveHtml.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/InteractiveHtml.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"movie\">\n    <header-box :title=\"title\"></header-box>\n    <div class=\"movie__innerwrap\">\n      <div class=\"movie__video-wrapper\">\n        <movie-player :movieUrl=\"coverVideo\" :placeholderUrl=\"coverVideoPlaceholder\"></movie-player>\n      </div>\n      <div class=\"movie__blocks\">\n        <div class=\"movie__block\" v-for=\"block in contentBlocks\">\n\n          <div class=\"movie__block-image\" v-if=\"(block.imagePosition === 'left')\">\n            <movie-player v-if=\"block.video\" class=\"movie__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n          <div class=\"movie__block-textwrap\">\n            <h2 class=\"movie__block-title\" v-html=\"block.title\"></h2>\n            <div class=\"movie__block-content\" v-html=\"block.content\"></div>\n          </div>\n\n          <div class=\"movie__block-image\" v-if=\"(block.imagePosition === 'right')\">\n            <movie-player v-if=\"block.video\" class=\"movie__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'movie',\n  components: { PrevNextNav, HeaderBox, MoviePlayer },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    coverVideo() {\n      return this.page.coverVideo;\n    },\n    coverVideoPlaceholder() {\n      return this.page.coverVideoPlaceholder;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n  },\n  mounted() {\n    const vids = document.querySelectorAll('.movie__block-video');\n\n    [].forEach.call(vids, (vid) => {\n      vid.addEventListener('ended', () => {\n        vid.classList.add('hide');\n      });\n    });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.movie {\n  @include page;\n\n  &__innerwrap {\n    padding-top: 0;\n  }\n\n  &__video-wrapper {\n    display: block;\n    width: 100%;\n    position: relative;\n    z-index: 1;\n    margin: 0 0 20px;\n\n    @include not-mobile {\n      width: calc(91.6666% - 10px);\n      margin: 0 0 40px calc(8.3333% + 10px);\n    }\n\n    @include landscape {\n      width: calc(75% - 10px);\n      margin: 0 0 20px calc(25% + 10px);\n    }\n\n    @include not-tablet {\n      width: 83.3333%;\n      margin: 0 0 40px 16.6666%;\n    }\n\n    @include desktop {\n      width: 75%;\n      margin: 0 8.3333% 40px 16.6666%;\n    }\n  }\n\n  &__blocks {\n    box-sizing: border-box;\n    // padding: 40px;\n  }\n\n  &__block {\n    box-sizing: border-box;\n    padding-bottom: 20px;\n    display: flex;\n    flex-direction: column;\n\n    @include not-mobile {\n      flex-direction: row;\n      padding-bottom: 40px;\n    }\n\n    @include tablet {\n      display: block;\n    }\n\n    @include landscape {\n      display: flex;\n      flex-direction: row;\n      padding-bottom: 20px;\n    }\n  }\n\n  &__block-image {\n    display: block;\n    position: relative;\n    overflow: hidden;\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n    }\n\n    @include landscape {\n      width: 50%;\n    }\n\n    @include not-tablet {\n      width: 50%;\n    }\n\n    img {\n      display: block;\n      width: 100%;\n    }\n\n    // video + img {\n    //   transition: opacity .5s;\n    // }\n\n    // video:not(.hide) + img {\n    //   opacity: 0;\n    // }\n  }\n\n  &__block-video {\n    // width: 100%;\n    // display: block;\n    // position: absolute;\n    // top: 0;\n    // left: 0;\n    // right: 0;\n    // transition: opacity .5s;\n\n    // &.hide {\n    //   opacity: 0;\n    //   pointer-events: none;\n    // }\n  }\n\n  &__block-textwrap + &__block-image {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n    }\n\n    @include landscape {\n      margin: 0;\n    }\n  }\n\n  &__block-textwrap {\n    box-sizing: border-box;\n    background: $c_white;\n    padding: 35px 30px;\n\n    @include mobile {\n      order: 1;\n    }\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n      margin-bottom: -40px;\n      padding: 40px 40px 80px;\n    }\n\n    @include landscape {\n      order: unset;\n      width: 50%;\n      padding: 35px 30px;\n      margin: 0;\n    }\n\n    @include not-tablet {\n      width: 50%;\n      padding: 40px;\n    }\n\n    @include desktop {\n      width: 33.33%;\n      margin-left: 16.665%;\n    }\n  }\n\n  &__block-image + &__block-textwrap {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n      margin-top: -40px;\n      margin-bottom: 0;\n      padding: 80px 40px 40px;\n    }\n\n    @include landscape {\n      margin: 0;\n      padding: 35px 30px;\n    }\n\n    @include not-tablet {\n      margin-left: 0;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Movie.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"movie\"},[_c('header-box',{attrs:{\"title\":_vm.title}}),_vm._v(\" \"),_c('div',{staticClass:\"movie__innerwrap\"},[_c('div',{staticClass:\"movie__video-wrapper\"},[_c('movie-player',{attrs:{\"movieUrl\":_vm.coverVideo,\"placeholderUrl\":_vm.coverVideoPlaceholder}})],1),_vm._v(\" \"),_c('div',{staticClass:\"movie__blocks\"},_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"movie__block\"},[((block.imagePosition === 'left'))?_c('div',{staticClass:\"movie__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"movie__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"movie__block-textwrap\"},[_c('h2',{staticClass:\"movie__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"movie__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})]),_vm._v(\" \"),((block.imagePosition === 'right'))?_c('div',{staticClass:\"movie__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"movie__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e()])}))])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9b0bb8c4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Movie.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-9b0bb8c4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Movie.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Movie.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Movie.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9b0bb8c4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Movie.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Movie.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"specs\">\n    <header-box :title=\"title\" :intro=\"intro\"></header-box>\n    <div class=\"specs__innerwrap\">\n      <div class=\"specs__blocks\">\n        <div class=\"specs__block\">\n          <iframe class=\"specs__pdf-iframe no-swipe-nav\" :src=\"pdfIframe\"></iframe>\n        </div>\n        <div class=\"specs__block\" v-for=\"block in contentBlocks\">\n\n          <div class=\"specs__block-image\" v-if=\"(block.imagePosition === 'left')\">\n            <movie-player v-if=\"block.video\" class=\"specs__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n          <div class=\"specs__block-textwrap\"> \n            <h2 class=\"specs__block-title\" v-html=\"block.title\"></h2>\n            <div class=\"specs__block-content\" v-html=\"block.content\"></div>\n          </div>\n\n          <div class=\"specs__block-image\" v-if=\"(block.imagePosition === 'right')\">\n            <movie-player v-if=\"block.video\" class=\"specs__block-video\" :movieUrl=\"block.video\" :placeholderUrl=\"block.image\" autoplay=\"true\"></movie-player>\n            <img v-if=\"!block.video\" :src=\"block.image\" />\n          </div>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\nimport MoviePlayer from '@/components/MoviePlayer';\n\nexport default {\n  name: 'specs',\n  components: { PrevNextNav, HeaderBox, MoviePlayer },\n  data() {\n    return {\n      playing: false,\n      paused: true,\n    };\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n    pdfUrl() {\n      if (this.page.pdfUrl.indexOf('static') === 0) {\n        return `../../${this.page.pdfUrl}`;\n      }\n      return this.page.pdfUrl;\n    },\n    pdfIframe() {\n      return `static/pdf-js-viewer/index.html?file=${this.pdfUrl}`;\n    },\n    contentBlocks() {\n      return this.page.contentBlocks;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.specs {\n  @include page;\n\n  &__pdf-iframe {\n    height: 250px;\n    width: 100%;\n    display: block;\n    background: $c_white;\n    border: 0;\n\n    @include not-mobile {\n      margin: 0 0 0 14%;\n      height: 390px;\n      width: 86%;\n    }\n\n    @include landscape {\n      width: 100%;\n      margin: 0;\n      height: 250px;\n    }\n  }\n\n  &__blocks {\n    box-sizing: border-box;\n  }\n\n  &__block {\n    box-sizing: border-box;\n    padding-bottom: 20px;\n    display: flex;\n    flex-direction: column;\n\n    @include not-mobile {\n      flex-direction: row;\n      padding-bottom: 40px;\n    }\n\n    @include tablet {\n      display: block;\n    }\n\n    @include landscape {\n      display: flex;\n      flex-direction: row;\n      padding-bottom: 20px;\n    }\n  }\n\n  &__block-image {\n    display: block;\n    position: relative;\n    overflow: hidden;\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n    }\n\n    @include landscape {\n      width: 50%;\n    }\n\n    @include not-tablet {\n      width: 50%;\n    }\n\n    img {\n      display: block;\n      width: 100%;\n    }\n  }\n\n  // &__block-video {\n  //   width: 100%;\n  //   display: block;\n  //   position: absolute;\n  //   top: 0;\n  //   left: 0;\n  //   right: 0;\n  //   transition: opacity .5s;\n\n  //   &.hide {\n  //     opacity: 0;\n  //     pointer-events: none;\n  //   }\n  // }\n\n  &__block-textwrap + &__block-image {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n    }\n\n    @include landscape {\n      margin: 0;\n    }\n  }\n\n  &__block-textwrap {\n    box-sizing: border-box;\n    background: $c_white;\n    padding: 35px 30px;\n\n    @include mobile {\n      order: 1;\n    }\n\n    @include tablet {\n      width: calc(66.66% - 10px);\n      margin-bottom: -40px;\n      padding: 40px 40px 80px;\n    }\n\n    @include landscape {\n      order: unset;\n      width: 50%;\n      padding: 35px 30px;\n      margin: 0;\n    }\n\n    @include not-tablet {\n      width: 50%;\n      padding: 40px;\n    }\n\n    @include desktop {\n      width: 33.33%;\n      margin-left: 16.665%;\n    }\n  }\n\n  &__block-image + &__block-textwrap {\n    @include tablet {\n      margin-left: calc(33.33% + 10px);\n      margin-top: -40px;\n      margin-bottom: 0;\n      padding: 80px 40px 40px;\n    }\n\n    @include landscape {\n      margin: 0;\n      padding: 35px 30px;\n    }\n\n    @include not-tablet {\n      margin-left: 0;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Specs.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"specs\"},[_c('header-box',{attrs:{\"title\":_vm.title,\"intro\":_vm.intro}}),_vm._v(\" \"),_c('div',{staticClass:\"specs__innerwrap\"},[_c('div',{staticClass:\"specs__blocks\"},[_c('div',{staticClass:\"specs__block\"},[_c('iframe',{staticClass:\"specs__pdf-iframe no-swipe-nav\",attrs:{\"src\":_vm.pdfIframe}})]),_vm._v(\" \"),_vm._l((_vm.contentBlocks),function(block){return _c('div',{staticClass:\"specs__block\"},[((block.imagePosition === 'left'))?_c('div',{staticClass:\"specs__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"specs__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"specs__block-textwrap\"},[_c('h2',{staticClass:\"specs__block-title\",domProps:{\"innerHTML\":_vm._s(block.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"specs__block-content\",domProps:{\"innerHTML\":_vm._s(block.content)}})]),_vm._v(\" \"),((block.imagePosition === 'right'))?_c('div',{staticClass:\"specs__block-image\"},[(block.video)?_c('movie-player',{staticClass:\"specs__block-video\",attrs:{\"movieUrl\":block.video,\"placeholderUrl\":block.image,\"autoplay\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!block.video)?_c('img',{attrs:{\"src\":block.image}}):_vm._e()],1):_vm._e()])})],2)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0b563748\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Specs.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0b563748\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Specs.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Specs.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Specs.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0b563748\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Specs.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Specs.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"backcover\">\n    <div class=\"backcover__innerwrap\">\n      <div class=\"backcover__bg\"></div>\n      <div class=\"backcover__content\">\n        <img class=\"backcover__main-logo\" src=\"static/svg/logo-white.svg\">\n        <div class=\"backcover__infobox\">\n          <p class=\"backcover__infobox-text\" v-html=\"translations['backcoverText']\"></p>\n          <a class=\"backcover__link\" :href=\"translations['backcoverLink'].url\">{{translations['backcoverLink'].title}}</a>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\n\nexport default {\n  name: 'backcover',\n  components: { PrevNextNav },\n  computed: {\n    ...mapGetters(['translations']),\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.backcover {\n  @include page;\n\n  &__innerwrap {\n    background: none;\n  }\n\n  &__bg {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    background: $c_primary;\n\n    &::before {\n      content: '';\n      display: block;\n      position: absolute;\n      bottom: 0;\n      right: 0;\n      width: 100%;\n      max-width: 635px;\n      height: 200px;\n      background-size: 130% auto;\n      background-position: center bottom;\n      background-repeat: no-repeat;\n      background-image: url('../../../static/svg/backcover_bg.svg');\n    }\n\n    @include landscape {\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n    }\n  }\n\n  &__content {\n    position: absolute;\n    left: 45px;\n    bottom: 50px;\n    color: $c_white;\n    box-sizing: border-box;\n    padding: 0;\n    display: flex;\n    align-items: flex-end;\n  }\n\n  &__main-logo {\n    display: none;\n\n    @include not-mobile {\n      width: 95px;\n      display: block;\n      flex-shrink: 0;\n      margin: 5px 0;\n    }\n  }\n\n  &__infobox {\n    display: block;\n\n    @include not-mobile {\n      margin-left: 25px;\n      border-left: 1px solid $c_white;\n      padding-left: 25px;\n    }\n  }\n\n  &__infobox-text {\n    @include font-block-content;\n    font-size: 14px;\n    margin-top: 0;\n  }\n\n  &__link {\n    display: block;\n    color: inherit;\n    text-decoration: none;\n    @include font-block-content;\n    font-size: 14px;\n    margin-bottom: -1px;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Backcover.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"backcover\"},[_c('div',{staticClass:\"backcover__innerwrap\"},[_c('div',{staticClass:\"backcover__bg\"}),_vm._v(\" \"),_c('div',{staticClass:\"backcover__content\"},[_c('img',{staticClass:\"backcover__main-logo\",attrs:{\"src\":\"static/svg/logo-white.svg\"}}),_vm._v(\" \"),_c('div',{staticClass:\"backcover__infobox\"},[_c('p',{staticClass:\"backcover__infobox-text\",domProps:{\"innerHTML\":_vm._s(_vm.translations['backcoverText'])}}),_vm._v(\" \"),_c('a',{staticClass:\"backcover__link\",attrs:{\"href\":_vm.translations['backcoverLink'].url}},[_vm._v(_vm._s(_vm.translations['backcoverLink'].title))])])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f945b394\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Backcover.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f945b394\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Backcover.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Backcover.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Backcover.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f945b394\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Backcover.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Backcover.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"threesixty-player no-swipe-nav\">\n    <div class=\"threesixty-player__innerwrap\">\n      <canvas :class=\"{ hide: (highlightedFrameUrl && ticker === 0) }\" :width=\"width\" :height=\"height\" class=\"threesixty-player__canvas\"></canvas>\n      <div class=\"threesixty-player__bullets\" v-if=\"info\" :class=\" { show: (ticker == 0 && !dragging && loaded && !highlightedFrameIndex)}\">\n        <bullet\n          :key=\"index\"\n          :index=\"index\"\n          v-for=\"(b, index) in bullets\"\n          :x=\"b.x\"\n          :y=\"b.y\"\n        >\n        </bullet>\n      </div>\n\n      <transition name=\"fade\" mode=\"out-in\" appear>\n        <img class=\"threesixty-player__highlight\" v-if=\"highlightedFrameUrl && ticker === 0\" :src=\"highlightedFrameUrl\" />\n      </transition>\n    </div>\n    <div class=\"threesixty-player__preloader\" :style=\"{width: loadedPercent, opacity: !loaded ? 1 : 0}\"></div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport axios from 'axios';\nimport Bullet from './Bullet';\n\nexport default {\n  name: 'threesixty-player',\n  components: { Bullet },\n  props: ['width', 'height', 'frames', 'bulletsJson', 'info'],\n  data() {\n    return {\n      collection: [],\n      imagesLoaded: 0,\n      imagesTotal: this.frames.length,\n      currentFrame: 48,\n      // currentTime: null,\n      endFrame: 0,\n      // startFrame: null,\n      ctx: null,\n      // frame: 0,\n      // playing: false,\n      // fps: 35,\n      bulletsArray: [],\n      bullets: [],\n      startX: 0,\n      endX: 0,\n      distance: 0,\n      dragging: false,\n      touch: false,\n      monitorStartTime: 0,\n      ticker: 0,\n      MONITOR_INTERVAL: 10,\n      SPEED_MULTIPLIER: 10,\n      loaded: false,\n    };\n  },\n  mounted() {\n    this.loadBullets();\n    const aspectRatio = this.height / this.width;\n    const innerwrap = this.$el.querySelector('.threesixty-player__innerwrap');\n    let maxHeight = this.$el.offsetHeight;\n    innerwrap.style.maxWidth = (maxHeight / aspectRatio) + 'px'; //eslint-disable-line\n\n    window.addEventListener('resize', () => {\n      maxHeight = this.$el.offsetHeight;\n      innerwrap.style.maxWidth = (maxHeight / aspectRatio) + 'px'; //eslint-disable-line\n    });\n  },\n  methods: {\n    animateToFrame(frame) {\n      const currentFrame = this.getNormalizedCurrentFrame();\n\n      const diff = (currentFrame - frame);\n      const absDiff = Math.abs(diff);\n\n      if (absDiff <= (this.imagesTotal / 2)) {\n        this.endFrame += diff;\n      } else if (diff >= 0) {\n        this.endFrame -= (this.imagesTotal - 1) - diff;\n      } else {\n        this.endFrame += (this.imagesTotal - 1) + diff;\n      }\n      this.animate();\n    },\n    loadBullets() {\n      const bulletsUrl = this.bulletsJson;\n      axios.get(bulletsUrl).then((response) => {\n        this.bulletsArray = response.data;\n\n        /* eslint-disable no-param-reassign */\n        this.bulletsArray.forEach((bullets) => {\n          bullets.forEach((bullet) => {\n            bullet.x = (bullet.x / 1024) * 100;\n            bullet.y = (bullet.y / 768) * 100;\n          });\n        });\n        this.bullets = this.bulletsArray[0];\n        this.imagesLoaded = 0;\n        this.init();\n      }, () => {\n        this.init();\n      });\n    },\n    preload() {\n      this.imagesLoaded = 0;\n      this.collection = [];\n\n      for (let i = 0; i < this.imagesTotal; i += 1) {\n        this.collection[i] = new Image();\n        this.collection[i].addEventListener('load', this.handleImageLoaded);\n        this.collection[i].src = this.frameUrl(i);\n      }\n    },\n    handleImageLoaded() {\n      this.imagesLoaded += 1;\n      if (this.imagesLoaded === this.imagesTotal * 1) {\n        this.loaded = true;\n        this.animate(0, 1);\n      }\n    },\n    initListeners() {\n      this.ctx = this.$el.querySelector('canvas').getContext('2d');\n      this.$el.querySelector('canvas').addEventListener('touchstart', this.handleTouchStart);\n      this.$el.querySelector('canvas').addEventListener('touchend', this.handleTouchEnd);\n\n      this.$el.querySelector('canvas').addEventListener('mousedown', this.handleMouseDown);\n      this.$el.querySelector('canvas').addEventListener('mouseup', this.handleTouchEnd);\n\n      this.$el.querySelector('canvas').addEventListener('touchmove', this.handleTouchMove);\n      this.$el.querySelector('canvas').addEventListener('mousemove', this.handleMouseMove);\n    },\n    handleTouchStart(event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      this.touch = true;\n      this.startX = event.changedTouches[0].clientX;\n      this.$router.push({ params: { selectedBullet: -1 } });\n    },\n    handleMouseDown(event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      this.touch = true;\n      this.startX = event.clientX;\n      this.$router.push({ params: { selectedBullet: -1 } });\n    },\n    handleTouchEnd(event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      this.dragging = false;\n      this.touch = false;\n    },\n    handleTouchMove(event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      if (this.touch) {\n        this.dragging = true;\n      }\n\n      if (this.dragging) {\n        this.endX = event.changedTouches[0].clientX;\n\n        if (this.monitorStartTime < new Date().getTime() - this.MONITOR_INTERVAL) {\n          this.distance = this.endX - this.startX;\n          this.endFrame = this.currentFrame\n            + Math.ceil((this.imagesTotal - 1)\n            * this.SPEED_MULTIPLIER * (this.distance / this.width));\n\n          if (this.ticker === 0) {\n            this.animate();\n          }\n\n          this.monitorStartTime = new Date().getTime();\n          this.startX = event.changedTouches[0].clientX;\n        }\n      }\n    },\n    handleMouseMove(event) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      if (this.touch) {\n        this.dragging = true;\n      }\n\n      if (this.dragging) {\n        this.endX = event.clientX;\n\n        if (this.monitorStartTime < new Date().getTime() - this.MONITOR_INTERVAL) {\n          this.distance = this.endX - this.startX;\n          this.endFrame = this.currentFrame\n            + Math.ceil((this.imagesTotal - 1)\n            * this.SPEED_MULTIPLIER * (this.distance / this.width));\n\n          if (this.ticker === 0) {\n            this.animate();\n          }\n\n          this.monitorStartTime = new Date().getTime();\n          this.startX = event.clientX;\n        }\n      }\n    },\n    init() {\n      if (!this.imagesLoaded) {\n        this.preload();\n        this.initListeners();\n      }\n    },\n    animate() {\n      this.ticker = requestAnimationFrame(this.animate);\n      this.render();\n    },\n    frameUrl(index) {\n      return this.frames[index];\n    },\n    pad(num) {\n      let stringNum = num.toString();\n      while (stringNum.length < 2) {\n        stringNum = `0${stringNum}`;\n      }\n      return stringNum;\n    },\n    rightNow() {\n      if (window.performance && window.performance.now) {\n        return window.performance.now();\n      }\n\n      return Number(new Date());\n    },\n    render() {\n      if (this.currentFrame !== this.endFrame) {\n        const easing = this.endFrame < this.currentFrame\n          ? Math.floor((this.endFrame - this.currentFrame) * 0.1)\n          : Math.ceil((this.endFrame - this.currentFrame) * 0.1);\n        this.currentFrame += easing;\n        this.ctx.clearRect(0, 0, this.width, this.height);\n        this.ctx.drawImage(this.collection[this.getNormalizedCurrentFrame()],\n          0,\n          0,\n          this.width,\n          this.height);\n      } else {\n        cancelAnimationFrame(this.ticker);\n        this.bullets = this.bulletsArray[this.getNormalizedCurrentFrame()];\n        this.ticker = 0;\n      }\n    },\n    getNormalizedCurrentFrame() {\n      let currentFrame = -Math.ceil(this.currentFrame % this.imagesTotal);\n      if (currentFrame < 0) {\n        currentFrame += (this.imagesTotal - 1);\n      }\n      return currentFrame;\n    },\n  },\n  computed: {\n    ...mapGetters(['highlightedFrameIndex', 'highlightedFrameUrl']),\n    loadedPercent() {\n      let percent;\n      if (!this.loaded) {\n        percent = ((this.imagesLoaded / this.imagesTotal) * 100) + '%'; // eslint-disable-line prefer-template\n      } else {\n        percent = 0;\n      }\n      return percent;\n    },\n  },\n  watch: {\n    frames() {\n      this.currentFrame -= 1;\n      this.loadBullets();\n    },\n    highlightedFrameIndex() {\n      if (this.highlightedFrameIndex !== false) {\n        this.animateToFrame(this.highlightedFrameIndex);\n      }\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\">\n  @import '../scss/helpers.scss';\n  .threesixty-player {\n    position: absolute;\n    top: 80px;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    width: 100%;\n    overflow: hidden;\n\n    &__innerwrap {\n      position: absolute;\n      top: 50%;\n      left: 50%;\n      transform: translate(-50%, -50%);\n      width: 100%;\n\n      &::before {\n        content: '';\n        display: block;\n        width: 80%;\n        padding-top: 22.65%;\n        position: absolute;\n        left: 10%;\n        right: 10%;\n        bottom: 0;\n        z-index: -1;\n        background-size: contain;\n        background-position: center;\n        background-repeat: no-repeat;\n        background-image: url('../../static/svg/360_arrow.svg');\n      }\n    }\n\n    &__bullets {\n      pointer-events: none;\n\n      &.show {\n        pointer-events: auto;\n      }\n    }\n\n    &__bullets.show &__bullet {\n      opacity: 1;\n    }\n\n    &__canvas {\n      width: 100%;\n      transition: opacity .5s cubic-bezier(.75,.01,.25,1);\n\n      &.hide {\n        opacity: 0;\n      }\n    }\n\n    &__highlight {\n      position: absolute;\n      width: 100%;\n      top: 0;\n      opacity: 1;\n      pointer-events: none;\n      transition: opacity .5s cubic-bezier(.75,.01,.25,1);\n    }\n\n    &__preloader {\n      position: absolute;\n      top: 0;\n      left: 0;\n      bottom: 0;\n      width: 0;\n      transition: width 2s, opacity 1s;\n      background: rgba($c_primary, .75);\n    }\n  }\n  \n  .fade-enter, .fade-leave-to {\n    bottom: -200px;\n    opacity: 0;\n  }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/ThreeSixtyPlayer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"threesixty-player no-swipe-nav\"},[_c('div',{staticClass:\"threesixty-player__innerwrap\"},[_c('canvas',{staticClass:\"threesixty-player__canvas\",class:{ hide: (_vm.highlightedFrameUrl && _vm.ticker === 0) },attrs:{\"width\":_vm.width,\"height\":_vm.height}}),_vm._v(\" \"),(_vm.info)?_c('div',{staticClass:\"threesixty-player__bullets\",class:{ show: (_vm.ticker == 0 && !_vm.dragging && _vm.loaded && !_vm.highlightedFrameIndex)}},_vm._l((_vm.bullets),function(b,index){return _c('bullet',{key:index,attrs:{\"index\":index,\"x\":b.x,\"y\":b.y}})})):_vm._e(),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[(_vm.highlightedFrameUrl && _vm.ticker === 0)?_c('img',{staticClass:\"threesixty-player__highlight\",attrs:{\"src\":_vm.highlightedFrameUrl}}):_vm._e()])],1),_vm._v(\" \"),_c('div',{staticClass:\"threesixty-player__preloader\",style:({width: _vm.loadedPercent, opacity: !_vm.loaded ? 1 : 0})})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-19bea2b6\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ThreeSixtyPlayer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-19bea2b6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ThreeSixtyPlayer.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixtyPlayer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixtyPlayer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-19bea2b6\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ThreeSixtyPlayer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ThreeSixtyPlayer.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-menu\"},[(_vm.title)?_c('span',{staticClass:\"dropdown-menu__title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu__dropdown\",on:{\"click\":function($event){_vm.active = !_vm.active}}},[_c('button',{staticClass:\"dropdown-menu__selected\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.currentPage.title)}}),_vm._v(\" \"),_c('img',{attrs:{\"src\":\"static/svg/dropdown.svg\"}})]),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\",\"appear\":\"\"}},[(_vm.active)?_c('ul',{staticClass:\"dropdown-menu__list\"},_vm._l((_vm.array),function(link){return _c('li',{key:_vm.array.index,staticClass:\"dropdown-menu__item\"},[_c('a',{staticClass:\"dropdown-menu__link\",class:{'dropdown-menu__link--active': (_vm.currentIndex == link.index)},attrs:{\"href\":\"#\"},domProps:{\"innerHTML\":_vm._s(link.title)},on:{\"click\":function($event){$event.preventDefault();_vm.updateIndex(link.index)}}})])})):_vm._e()])],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d59c0d3a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/DropdownMenu.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d59c0d3a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./DropdownMenu.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./DropdownMenu.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./DropdownMenu.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d59c0d3a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./DropdownMenu.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/DropdownMenu.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"dropdown-menu\">\n    <span class=\"dropdown-menu__title\" v-if=\"title\" v-html=\"title\"></span>\n    <div class=\"dropdown-menu__dropdown\" @click=\"active = !active\">\n      <button class=\"dropdown-menu__selected\">\n        <span v-html=\"currentPage.title\"></span>\n        <img src=\"static/svg/dropdown.svg\">\n      </button>\n      <transition name=\"fade\" mode=\"out-in\" appear>\n        <ul class=\"dropdown-menu__list\" v-if=\"active\">\n          <li class=\"dropdown-menu__item\" v-for=\"link in array\" :key=\"array.index\">\n            <a href=\"#\" class=\"dropdown-menu__link\" :class=\"{'dropdown-menu__link--active': (currentIndex == link.index)}\"  v-on:click.prevent=\"updateIndex(link.index)\" v-html=\"link.title\"></a>\n          </li>\n        </ul>\n      </transition>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  data() {\n    return {\n      active: false,\n    };\n  },\n  props: ['array', 'currentIndex', 'title'],\n  computed: {\n    currentPage() {\n      return this.array[this.currentIndex];\n    },\n  },\n  methods: {\n    updateIndex(index) {\n      this.$emit('updateIndex', index);\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\">\n  @import '../scss/helpers.scss';\n\n  .dropdown-menu {\n    display: flex;\n    align-items: center;\n    flex-grow: 1;\n\n    &__dropdown {\n      position: relative;\n      text-align: center;\n    }\n\n    &__title {\n      display: none;\n\n      @include not-mobile {\n        font-size: 12px;\n        font-weight: 300;\n        line-height: 20px;\n        margin-right: 15px;\n        display: block;\n      }\n\n      @include landscape {\n        display: none;\n      }\n    }\n\n    &__selected {\n      background: #E6EBEF;\n      border-radius: 20px;\n      border: 0;\n      font-size: 12px;\n      font-weight: 300;\n      padding: 12px 20px;\n      position: relative;\n      text-align: left;\n      width: 154px;\n      outline: none;\n      font-family: 'Univers', Helvetica, Arial, sans-serif;\n\n      img {\n        position: absolute;\n        right: 20px;\n        top: 16px;\n      }\n    }\n\n    &__list {\n      background: #fff;\n      top: 12px;\n      box-shadow: 0px 6px 8px rgba(0,0,0,0.16);\n      border-radius: 4px;\n      left: 50%;\n      list-style: none;\n      margin: 0;\n      position: absolute;\n      text-align: center;\n      transform: translateX(-50%);\n      width: 180px;\n      padding: 13px 0;\n      transition: all .5s cubic-bezier(0.19, 1, 0.22, 1);\n    }\n\n    &__link {\n      display: block;\n      text-decoration: none;\n      padding: 13px 0;\n      color: #000;\n      font-size: 12px;\n      font-weight: 300;\n\n      &--active {\n        font-weight: bold;\n        opacity: .5;\n        pointer-events: none;\n      }\n    }\n  }\n  \n  .fade-enter, .fade-leave-to {\n    bottom: -200px;\n    opacity: 0;\n  }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/DropdownMenu.vue","<template>\n  <div class=\"threesixty\">\n    <header-box class=\"threesixty__header\" :title=\"title\" :long=\"true\"></header-box>\n    <div class=\"threesixty__innerwrap\">\n      <div class=\"threesixty__blocks\">\n\n        <div class=\"threesixty__block threesixty__block--title\">\n          <h1 class=\"threesixty__title\" v-html=\"title\"></h1>\n        </div>\n\n        <three-sixty-block\n          :id=\"'block-' + block.id\"\n          v-for=\"(block, index) in contentBlocks\"\n          :key=\"index\"\n          :opaque=\"(selectedBullet !== -1 && selectedBullet !== block.id)\"\n          v-if=\"(selectedBullet !== -1 && selectedBullet == block.id) || isNotTablet || isLandscape || selectedBullet === -1\"\n          :image=\"block.image\"\n          :video=\"block.video\"\n          :title=\"block.title\"\n          :content=\"block.content\"\n          v-on:click=\"goToBlock(block.id, $event)\"\n          v-on:close=\"closeHighlight()\"\n          :index=\"block.highlighted && block.id + 1\"\n          :close=\"selectedBullet === block.id && selectedBullet !== -1\"\n        />\n      </div>\n\n      <div class=\"threesixty__player\">\n        <three-sixty-player :key=\"tViewIndex\" width=\"1024\" height=\"768\" :frames=\"frames\" :bulletsJson=\"bulletsJson\" :info=\"info\"></three-sixty-player>\n        <div class=\"threesixty__player-nav\">\n          <dropdown-menu v-if=\"dropdownArray.length > 1\" :array=\"dropdownArray\" :currentIndex=\"tViewIndex\" :title=\"translations['productTitle']\" @updateIndex=\"updateTViewIndex\" v-model=\"info\"></dropdown-menu>\n          <toggle-button v-if=\"!isMobile\" :label=\"translations['threesixtyLabels']\" align=\"left\" @change=\"toggleInfo\" v-model=\"info\"></toggle-button>\n          <toggle-button v-if=\"tView.isNocanopy\" :label=\"translations['threesixtyCanopy']\" align=\"left\" @change=\"toggleCanopy\" v-model=\"canopy\"></toggle-button>\n        </div>\n      </div>\n\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport ThreeSixtyPlayer from '@/components/ThreeSixtyPlayer';\nimport ToggleButton from '@/components/ToggleButton';\nimport DropdownMenu from '@/components/DropdownMenu';\nimport HeaderBox from '@/components/HeaderBox';\nimport ThreeSixtyBlock from '@/components/ThreeSixtyBlock';\nimport Macy from 'macy-watchcss';\nimport Vue from 'vue';\n\nconst scrollToElement = require('scroll-to-element');\n\nexport default {\n  name: 'threesixty',\n  components: {\n    PrevNextNav,\n    ThreeSixtyPlayer,\n    ToggleButton,\n    DropdownMenu,\n    HeaderBox,\n    ThreeSixtyBlock,\n  },\n  computed: {\n    ...mapGetters(['translations', 'page', 'tViewIndex', 'canopy', 'info', 'contentBlocks', 'bulletsJson', 'frames', 'selectedBullet']),\n    title() {\n      return this.tView.title;\n    },\n    tView() {\n      return this.page.threesixtyViews[this.tViewIndex];\n    },\n    dropdownArray() {\n      const arr = [];\n      [].forEach.call(this.page.threesixtyViews, (threesixtyView, index) => {\n        const link = {\n          title: threesixtyView.productName,\n          index,\n        };\n        arr.push(link);\n      });\n      return arr;\n    },\n    isMobile() {\n      return this.innerWidth < 700 || this.isLandscape;\n    },\n  },\n  data() {\n    return {\n      innerWidth: window.innerWidth,\n      isLandscape: window.matchMedia('only screen and (min-device-width: 320px) and (max-device-width: 760px) and (orientation: landscape)').matches,\n      isNotTablet: window.matchMedia('screen and (min-width: 1024px)').matches,\n      macy: null,\n    };\n  },\n  methods: {\n    toggleInfo(val) {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      params.info = val ? 'info' : 'noinfo';\n\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n    toggleCanopy(val) {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      params.canopy = val ? 'canopy' : 'nocanopy';\n\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n    updateTViewIndex(index) {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      params.tViewIndex = index;\n\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n\n      if (!this.tView.isNocanopy) {\n        params.canopy = 'canopy';\n\n        this.$router.push({\n          name: this.$route.name,\n          params,\n        });\n      }\n    },\n    goToBlock(id) {\n      const params = this.$route.params;\n      params.selectedBullet = id !== -1 ? id : -1;\n\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n    closeHighlight() {\n      const params = this.$route.params;\n      params.selectedBullet = -1;\n      this.$router.push({\n        name: this.$route.name,\n        params,\n      });\n    },\n  },\n  watch: {\n    selectedBullet() {\n      if (!this.isNotTablet && !this.isLandscape) {\n        Vue.nextTick(() => {\n          this.macy.reInit();\n        });\n      }\n      const bullet = this.$el.querySelector('#block-' + this.selectedBullet); //eslint-disable-line\n      if (this.selectedBullet !== -1 && (this.isNotTablet || this.isLandscape) && bullet) {\n        scrollToElement(bullet, { duration: 500, align: 'middle' });\n      }\n    },\n    canopy() {\n      Vue.nextTick(() => {\n        this.macy.reInit();\n      });\n    },\n  },\n  mounted() {\n    this.macy = Macy({\n      container: '.threesixty__blocks',\n      trueOrder: false,\n      waitForImages: false,\n      margin: 20,\n      columns: 2,\n      breakAt: {\n        699: 1,\n      },\n      watchCSS: true,\n    });\n\n    if (this.isMobile && this.info) {\n      this.toggleInfo(false);\n    }\n\n    window.addEventListener('resize', () => {\n      this.innerWidth = window.innerWidth;\n      this.isLandscape = window.matchMedia('only screen and (min-device-width: 320px) and (max-device-width: 760px) and (orientation: landscape)').matches;\n      this.isNotTablet = window.matchMedia('screen and (min-width: 1024px)').matches;\n\n      if (this.isMobile && this.info) {\n        this.toggleInfo(false);\n      }\n    });\n\n    // const vids = document.querySelectorAll('.threesixty__block-video');\n\n    // [].forEach.call(vids, (vid) => {\n      // vid.addEventListener('ended', () => {\n        // vid.classList.add('hide');\n      // });\n    // });\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.threesixty {\n  @include page;\n\n  &__header {\n    width: 100%;\n\n    @include not-tablet {\n      display: none;\n    }\n  }\n\n  &__innerwrap {\n    @include not-laptop {\n      display: flex;\n      flex-direction: column-reverse;\n      padding-top: 0;\n      justify-content: flex-end;\n    }\n\n    @include landscape {\n      padding-top: 20px;\n      display: block;\n    }\n  }\n\n  &__player {\n    display: block;\n    position: relative;\n    margin: 0 0 20px;\n\n    &::after {\n      content: '';\n      display: block;\n      padding-top: calc(75%);\n    }\n\n    @include not-tablet {\n      width: calc(66.66% - 110px);\n      position: fixed;\n      top: 40px;\n      right: 40px;\n      bottom: 70px;\n      margin: 0;\n    }\n\n    @include landscape {\n      position: fixed;\n      width: calc(50% - 30px);\n      top: 20px;\n      right: 20px;\n      left: calc(50% + 10px);\n    }\n  }\n\n  &__player-nav {\n    width: 100%;\n    box-sizing: border-box;\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    min-height: 80px;\n\n    @include not-laptop {\n      flex-wrap: wrap;\n    }\n\n    @include landscape {\n      min-height: 0;\n    }\n  }\n\n  &__blocks {\n    // display: flex;\n    // flex-direction: column;\n    overflow: visible;\n\n    @include not-mobile {\n      margin-bottom: 20px;\n    }\n\n    @include not-tablet {\n      width: 33.33%;\n    }\n\n    @include tablet {\n      &::after {\n        content: \"macy\";\n        display: none;\n      }\n    }\n\n    @include landscape {\n      width: calc(50% - 10px);\n      margin: 0;\n\n      &::after {\n        content: none;\n      }\n    }\n  }\n\n  &__block {\n    background: $c_white;\n    margin-bottom: 20px;\n    box-sizing: border-box;\n    // order: 2;\n\n    &--title {\n      color: $c_white;\n      padding: 30px;\n      background: $c_primary;\n      // order: 1;\n\n      @include not-laptop {\n        display: none;\n      }\n    }\n\n    &.opaque {\n      opacity: .5;\n\n      @include not-laptop {\n        display: none;\n      }\n\n      @include landscape {\n        display: block;\n      }\n    }\n  }\n\n  &__title {\n    @include font-title;\n  }\n\n  &__block-title {\n    @include font-block-title;\n    \n    .number {\n      color: $c_primary;\n\n      @include mobile {\n        display: none;\n      }\n\n      @include landscape {\n        display: none;\n      }\n    }\n  }\n\n  &__block-content {\n    @include font-block-content;\n    line-height: 2.3333;\n  }\n\n  &__block-image-wrapper {\n    display: block;\n    width: 100%;\n    position: relative;\n    overflow: hidden;\n  }\n\n  &__block-image {\n    display: block;\n    width: 100%;\n  }\n\n  // &__block-video {\n    // width: 100%; \n    // height: 100%;\n    \n    /* Center the video */\n    // position: absolute;\n    // top: 0;\n    // left: 0;\n    // transition: opacity .5s;\n\n    // &.hide {\n      // opacity: 0;\n      // pointer-events: none;\n    // }\n  // }\n\n  &__block-textwrap {\n    padding: 40px 30px;\n    position: relative;\n  }\n\n  &__bullet-close {\n    background: #0096C3;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    display: block;\n    position: absolute;\n    top: -20px;\n    right: -20px;\n    z-index: 1;\n    -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.31);\n    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.31);\n    -webkit-transition: all .25s;\n    transition: all .25s;\n\n    &:before, &:after {\n      content: '';\n      background: #fff;\n      display: block;\n      height: 2px;\n      left: 11px;\n      position: absolute;\n      top: 19px;\n      transform: rotate(-45deg);\n      width: 18px;\n      z-index: 10;\n      transition: all .25s;\n    }\n\n    &:before {\n      transform: rotate(45deg);\n    }\n  }\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/ThreeSixty.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"threesixty\"},[_c('header-box',{staticClass:\"threesixty__header\",attrs:{\"title\":_vm.title,\"long\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"threesixty__innerwrap\"},[_c('div',{staticClass:\"threesixty__blocks\"},[_c('div',{staticClass:\"threesixty__block threesixty__block--title\"},[_c('h1',{staticClass:\"threesixty__title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}})]),_vm._v(\" \"),_vm._l((_vm.contentBlocks),function(block,index){return ((_vm.selectedBullet !== -1 && _vm.selectedBullet == block.id) || _vm.isNotTablet || _vm.isLandscape || _vm.selectedBullet === -1)?_c('three-sixty-block',{key:index,attrs:{\"id\":'block-' + block.id,\"opaque\":(_vm.selectedBullet !== -1 && _vm.selectedBullet !== block.id),\"image\":block.image,\"video\":block.video,\"title\":block.title,\"content\":block.content,\"index\":block.highlighted && block.id + 1,\"close\":_vm.selectedBullet === block.id && _vm.selectedBullet !== -1},on:{\"click\":function($event){_vm.goToBlock(block.id, $event)},\"close\":function($event){_vm.closeHighlight()}}}):_vm._e()})],2),_vm._v(\" \"),_c('div',{staticClass:\"threesixty__player\"},[_c('three-sixty-player',{key:_vm.tViewIndex,attrs:{\"width\":\"1024\",\"height\":\"768\",\"frames\":_vm.frames,\"bulletsJson\":_vm.bulletsJson,\"info\":_vm.info}}),_vm._v(\" \"),_c('div',{staticClass:\"threesixty__player-nav\"},[(_vm.dropdownArray.length > 1)?_c('dropdown-menu',{attrs:{\"array\":_vm.dropdownArray,\"currentIndex\":_vm.tViewIndex,\"title\":_vm.translations['productTitle']},on:{\"updateIndex\":_vm.updateTViewIndex},model:{value:(_vm.info),callback:function ($$v) {_vm.info=$$v},expression:\"info\"}}):_vm._e(),_vm._v(\" \"),(!_vm.isMobile)?_c('toggle-button',{attrs:{\"label\":_vm.translations['threesixtyLabels'],\"align\":\"left\"},on:{\"change\":_vm.toggleInfo},model:{value:(_vm.info),callback:function ($$v) {_vm.info=$$v},expression:\"info\"}}):_vm._e(),_vm._v(\" \"),(_vm.tView.isNocanopy)?_c('toggle-button',{attrs:{\"label\":_vm.translations['threesixtyCanopy'],\"align\":\"left\"},on:{\"change\":_vm.toggleCanopy},model:{value:(_vm.canopy),callback:function ($$v) {_vm.canopy=$$v},expression:\"canopy\"}}):_vm._e()],1)],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-518a008a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/ThreeSixty.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-518a008a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ThreeSixty.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixty.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./ThreeSixty.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-518a008a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./ThreeSixty.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/ThreeSixty.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"orb\">\n    <canvas class=\"orb__canvas no-swipe-nav\" />\n    <div class=\"orb__pano no-swipe-nav\"></div>\n    <div class=\"orb__preloader no-swipe-nav\" :style=\"{width: loadedPercent, opacity: !loaded ? 1 : 0}\"></div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n// import create360Viewer from '360-image-viewer';\nimport { PanoViewer } from '@egjs/view360';\n// import canvasFit from 'canvas-fit';\n\nexport default {\n  name: 'orb',\n  computed: {\n    ...mapGetters(['page']),\n    imageUrl() {\n      return this.page.image;\n    },\n  },\n  data() {\n    return {\n      // canvas: null,\n      pano: null,\n      image: null,\n      viewer: null,\n      loadedPercent: 0,\n      loaded: false,\n    };\n  },\n  mounted() {\n    // this.canvas = this.$el.querySelector('.orb__canvas');\n\n    Image.prototype.onChangeSize; // eslint-disable-line\n    Image.prototype.load = (url) => {\n      const req = ((XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP')); //eslint-disable-line\n      req.open('GET', url, true);\n      req.responseType = 'arraybuffer';\n      req.onload = () => {\n        if (req.response) {\n          const blob = new Blob([req.response]);\n          this.src = window.URL.createObjectURL(blob);\n        }\n      };\n      req.onprogress = (e) => {\n        if (this.onChangeSize) {\n          this.onChangeSize(e.loaded, e.total);\n        }\n      };\n      req.send();\n    };\n    this.image = new Image();\n    this.image.crossOrigin = 'Anonymous';\n    this.image.onChangeSize = (loaded, total) => {\n      this.loadedPercent = `${parseInt((loaded / total) * 100, 10)}%`;\n    };\n    this.image.addEventListener('load', this.handleImageLoaded);\n    this.image.load(this.imageUrl);\n    this.pano = this.$el.querySelector('.orb__pano');\n    // console.log(panoViewer);\n\n    // this.image = new Image();\n    // this.image.addEventListener('load', this.handleImageLoaded);\n    // this.image.crossOrigin = 'Anonymous';\n    // this.image.src = this.imageUrl;\n    // const image = new Image();\n    // image.src = this.image;\n  },\n  methods: {\n    handleImageLoaded() {\n      this.loaded = true;\n      this.viewer = new PanoViewer(\n        this.pano,\n        {\n          image: this.image,\n          gyroMode: 'none',\n        },\n      );\n      // console.log(panoViewer);\n\n      window.addEventListener('resize', () => {\n        this.viewer.updateViewportDimensions();\n      });\n      // const viewer = create360Viewer({\n      //   image: this.image,\n      //   canvas: this.canvas,\n      // });\n\n      // const fit = canvasFit(this.canvas, this.$el);\n      // window.addEventListener('resize', fit, false);\n      // fit();\n\n      // viewer.start();\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.orb {\n  @include page;\n\n  &__canvas,\n  &__pano {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n  }\n\n  &__preloader {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    width: 0;\n    transition: width 2s, opacity 1s;\n    background: rgba($c_primary, .75);\n    pointer-events: none;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Orb.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"orb\"},[_c('canvas',{staticClass:\"orb__canvas no-swipe-nav\"}),_vm._v(\" \"),_c('div',{staticClass:\"orb__pano no-swipe-nav\"}),_vm._v(\" \"),_c('div',{staticClass:\"orb__preloader no-swipe-nav\",style:({width: _vm.loadedPercent, opacity: !_vm.loaded ? 1 : 0})})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0492df92\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Orb.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0492df92\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Orb.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Orb.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Orb.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0492df92\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Orb.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Orb.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"slider\">\n    <header-box :title=\"title\"></header-box>\n    <div class=\"slider__innerwrap\">\n      <div class=\"slider__comparator no-swipe-nav\">\n\n        <div class=\"slider__image\" v-bind:style=\"{ backgroundImage: 'url(' + imageTop + ')' }\">\n          <span class=\"slider__label\" v-html=\"labelTop\"></span>\n        </div>\n        <div class=\"slider__view-limiter\" v-bind:style=\"{ width: `${horizontalPercent}%`, height: `${verticalPercent}%` }\">\n          <div class=\"slider__image\" v-bind:style=\"{\n            backgroundImage: 'url(' + imageBottom + ')',\n            width: `${10000/horizontalPercent}%`,\n            height: `${10000/verticalPercent}%`\n          }\">\n            <span class=\"slider__label slider__label--right\" v-html=\"labelBottom\"></span>\n          </div> \n        </div>\n\n        <div class=\"slider__dot\" @touchmove=\"touchMove\" v-bind:style=\"{right: + horizontalPercent + '%', bottom: + verticalPercent + '%'}\"><span></span></div>\n\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport PrevNextNav from '@/components/PrevNextNav';\nimport HeaderBox from '@/components/HeaderBox';\n\nexport default {\n  name: 'slider',\n  components: { PrevNextNav, HeaderBox },\n  data() {\n    return {\n      horizontalPercent: 50,\n      verticalPercent: 50,\n      isMouseDown: false,\n      view: null,\n      dot: null,\n    };\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    imageTop() {\n      return this.page.imageTop;\n    },\n    imageBottom() {\n      return this.page.imageBottom;\n    },\n    labelTop() {\n      return this.page.labelTop;\n    },\n    labelBottom() {\n      return this.page.labelBottom;\n    },\n  },\n  mounted() {\n    this.view = this.$el.querySelector('.slider__comparator');\n    this.dot = this.$el.querySelector('.slider__dot');\n    this.$el.addEventListener('mouseup', this.mouseUp);\n    this.$el.addEventListener('mouseleave', this.mouseLeave);\n    this.$el.addEventListener('mousemove', this.mouseMove);\n    this.dot.addEventListener('mousedown', this.mouseDown);\n  },\n  methods: {\n    width() {\n      return this.view.offsetWidth;\n    },\n    height() {\n      return this.view.offsetHeight;\n    },\n    right() {\n      return this.view.getBoundingClientRect().right;\n    },\n    bottom() {\n      return this.view.getBoundingClientRect().bottom;\n    },\n    mouseDown() {\n      this.isMouseDown = true;\n    },\n    mouseUp() {\n      this.isMouseDown = false;\n    },\n    mouseLeave() {\n      this.isMouseDown = false;\n    },\n    mouseMove(event) {\n      if (this.isMouseDown) {\n        const horizontalPercentage = ((this.right() - event.clientX) / this.width());\n        this.horizontalPercent = Math.max(Math.min(horizontalPercentage * 100, 100), 0);\n\n        const verticalPercentage = ((this.bottom() - event.clientY) / this.height());\n        this.verticalPercent = Math.max(Math.min(verticalPercentage * 100, 100), 0);\n      }\n    },\n    touchMove(event) {\n      // this.emitPercentage(event.touches[0].clientX);\n      const horizontalPercentage = ((this.right() - event.touches[0].clientX) / this.width());\n      this.horizontalPercent = Math.max(Math.min(horizontalPercentage * 100, 100), 0);\n\n      const verticalPercentage = ((this.bottom() - event.touches[0].clientY) / this.height());\n      this.verticalPercent = Math.max(Math.min(verticalPercentage * 100, 100), 0);\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.slider {\n  @include page(true, true);\n\n  &__innerwrap {\n    display: flex;\n    flex-direction: column;\n    padding-bottom: 20px;\n\n    @include not-mobile {\n      padding-bottom: 40px;\n      padding-top: 0;\n    }\n\n    @include landscape {\n      padding-top: 20px;\n      padding-bottom: 20px;\n    }\n  }\n\n  &__comparator {\n    width: 100%;\n    display: block;\n    background: $c_white;\n    flex-grow: 1;\n    border: 0;\n    position: relative;\n\n    // @include not-mobile {\n    //   margin: 0 0 0 8.333%;\n    //   width: 91.666%;\n    // }\n\n    // @include landscape {\n    //   width: 100%;\n    //   margin: 0;\n    // }\n  }\n\n  &__image {\n    display: block;\n    background-size: cover;\n    background-position: center;\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    width: 100%;\n    height: 100%;\n\n    \n    @media screen and (orientation: portrait) {\n      width: 100% !important;\n    }\n\n    @media screen and (orientation: landscape) {\n      height: 100% !important;\n    }\n  }\n\n  &__label {\n    @include font-block-title;\n    background: $c_white;\n    padding: 7px 20px 5px;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n\n    @media screen and (orientation: portrait) {\n      left: auto;\n      right: 0;\n      top: 0;\n      bottom: auto;\n    }\n\n    &--right {\n      left: auto;\n      right: 0;\n\n      @media screen and (orientation: portrait) {\n        top: auto;\n        bottom: 0;\n      }\n    }\n  }\n\n  &__view-limiter {\n    position: absolute;\n    bottom: 0;\n    right: 0;\n    height: 100%;\n    width: 100%;\n    overflow: hidden;\n\n    @media screen and (orientation: portrait) {\n      width: 100% !important;\n    }\n\n    @media screen and (orientation: landscape) {\n      height: 100% !important;\n    }\n  }\n\n  &__dot {\n    width: 60px;\n    height: 60px;\n    position: absolute;\n    bottom: 50%;\n    transform: translate(50%, 50%);\n    z-index: 1;\n    border-radius: 50%;\n    border: 30px solid transparent;\n\n    @media screen and (orientation: portrait) {\n      right: 50% !important;\n    }\n\n    @media screen and (orientation: landscape) {\n      bottom: 50% !important;\n    }\n    \n    &::before {\n      content: '';\n      display: block;\n      width: 100%;\n      height: 100%;\n      border-radius: 50%;\n      background: $c_primary;\n      box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.31);\n    }\n\n    span {\n      width: 20px;\n      height: 20px;\n      position: absolute;\n      top: calc(50% - 10px);\n      left: calc(50% - 10px);\n      transform: rotate(-45deg);\n\n      @media screen and (orientation: portrait) {\n        transform: rotate(45deg);\n      }\n\n      &::before,\n      &::after {\n        content: '';\n        display: block;\n        width: 10px;\n        height: 10px;\n        border: 3px solid $c_white;\n        box-sizing: border-box;\n        position: absolute;\n      }\n\n      &::before {\n        border-right: none;\n        border-bottom: none;\n        top: 0;\n        left: 0;\n      }\n\n      &::after {\n        border-left: none;\n        border-top: none;\n        bottom: 0;\n        right: 0;\n      }\n    }\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Slider.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"slider\"},[_c('header-box',{attrs:{\"title\":_vm.title}}),_vm._v(\" \"),_c('div',{staticClass:\"slider__innerwrap\"},[_c('div',{staticClass:\"slider__comparator no-swipe-nav\"},[_c('div',{staticClass:\"slider__image\",style:({ backgroundImage: 'url(' + _vm.imageTop + ')' })},[_c('span',{staticClass:\"slider__label\",domProps:{\"innerHTML\":_vm._s(_vm.labelTop)}})]),_vm._v(\" \"),_c('div',{staticClass:\"slider__view-limiter\",style:({ width: (_vm.horizontalPercent + \"%\"), height: (_vm.verticalPercent + \"%\") })},[_c('div',{staticClass:\"slider__image\",style:({\n          backgroundImage: 'url(' + _vm.imageBottom + ')',\n          width: ((10000/_vm.horizontalPercent) + \"%\"),\n          height: ((10000/_vm.verticalPercent) + \"%\")\n        })},[_c('span',{staticClass:\"slider__label slider__label--right\",domProps:{\"innerHTML\":_vm._s(_vm.labelBottom)}})])]),_vm._v(\" \"),_c('div',{staticClass:\"slider__dot\",style:({right: + _vm.horizontalPercent + '%', bottom: + _vm.verticalPercent + '%'}),on:{\"touchmove\":_vm.touchMove}},[_c('span')])])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-edb55554\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Slider.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-edb55554\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Slider.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Slider.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Slider.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-edb55554\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Slider.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Slider.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"table\">\n    <header-box :title=\"title\" :intro=\"intro\"></header-box>\n    <div class=\"table__innerwrap\">\n\n\n      <div class=\"table__row\" v-for=\"(table, index) in page.tables\" :key=\"'table-'+index\">\n        <div class=\"table__table-wrap\">\n          <h2 class=\"table__table-title\" v-html=\"table.title\"></h2>\n          <table class=\"table__table\">\n            <tr v-for=\"(row, rowIndex) in table.table.body\">\n              <th v-for=\"cell in row\" v-if=\"rowIndex < table.table.header_rows && !cell.spanned\" :colspan=\"cell.c_span\" :rowspan=\"cell.r_span\" v-html=\"cell.c\"></th>\n              <td v-for=\"(cell, cellIndex) in row\" :class=\"{ 'odd': (cellIndex % 2), 'first': cellIndex === 0 }\" v-if=\"rowIndex >= table.table.header_rows &&!cell.spanned\" :colspan=\"cell.c_span\" :rowspan=\"cell.r_span\" v-html=\"cell.c\"></td>\n            </tr>\n          </table>\n          <p class=\"table__disclaimer\" v-if=\"table.disclaimers\" v-html=\"table.disclaimers\"></p>\n        </div>\n\n        <div class=\"table__block\" v-if=\"table.showContentBlock\">\n          <h2 class=\"table__block-title\" v-html=\"table.contentBlock.title\"></h2>\n          <div class=\"table__block-content\" v-html=\"table.contentBlock.content\"></div>\n        </div>\n      </div>\n        \n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport HeaderBox from '@/components/HeaderBox';\nimport PrevNextNav from '@/components/PrevNextNav';\n\nexport default {\n  name: 'table',\n  components: { HeaderBox, PrevNextNav },\n  data() {\n    return {\n      selectedIcon: 0,\n    };\n  },\n  computed: {\n    ...mapGetters(['page']),\n    title() {\n      return this.page.title;\n    },\n    intro() {\n      return this.page.intro;\n    },\n  },\n  methods: {\n    bgImg(url) {\n      return `background-image: url('${url}');`;\n    },\n  },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style lang=\"scss\">\n@import '../../scss/helpers';\n\n.table {\n  @include page(true, true);\n\n  &__innerwrap {\n    display: flex;\n    flex-direction: column;\n  }\n\n  &__push {\n    flex-grow: 1;\n  }\n\n  &__row {\n    display: flex;\n    align-items: flex-start;\n    flex-wrap: wrap;\n    margin: 0 0 40px;\n  }\n\n  &__table-wrap {\n    padding: 0 20px;\n    background: $c_white;\n    align-items: flex-start;\n    width: 640px;\n    flex-grow: 1;\n    max-width: 980px;\n    margin-right: 1px;\n\n    &:nth-child(2n) {\n      margin-left: 1px;\n      margin-right: auto;\n      align-self: flex-end;\n    }\n  }\n\n  &__table-title {\n    @include font-block-title;\n    margin: 1.15em 0;\n  }\n\n  &__table {\n    width: 100%;\n    font-size: 12px;\n    line-height: 16px;\n    border-collapse:collapse;\n    text-align: center;\n\n    th {\n      @include t_bold;\n      padding: 4px 0 5px;\n      background: $c_black--broken;\n      color: $c_white;\n      border-bottom: 1px solid $c_grey;\n      line-height: 20px;\n\n      &:not(:first-child) {\n        border-left: 1px solid $c_grey;\n      }\n    }\n\n    td {\n      padding: 3px 0 2px;\n      border-bottom: 1px solid rgba($c_primary, .3);\n\n      &.first {\n        text-align: left;\n        padding-left: 10px;\n      }\n\n      &.odd {\n        background: rgba($c_primary, .7);\n      }\n\n      &:not(.first) {\n        border-left: 1px solid rgba($c_primary, .3);\n      }\n\n      @include font-baseline-fix;\n    }\n  }\n\n  &__disclaimer {\n      @include t_normal;\n      font-size: 12px;\n      line-height: 1.4;\n      margin: 1.5em 0;\n  }\n\n  &__block {\n    display: block;\n    box-sizing: border-box;\n    margin-bottom: 20px;\n    padding: 40px 30px 30px;\n    background: $c_white;\n\n    @include tablet {\n      width: 33.33%;\n    }\n\n    @include landscape {\n      width: auto;\n    }\n\n    @include not-tablet {\n      padding: 50px 40px 40px;\n    }\n  }\n\n  &__block-title {\n    @include font-block-title;\n  }\n\n  &__block-content {\n    @include font-block-content;\n  }\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/templates/Table.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table\"},[_c('header-box',{attrs:{\"title\":_vm.title,\"intro\":_vm.intro}}),_vm._v(\" \"),_c('div',{staticClass:\"table__innerwrap\"},_vm._l((_vm.page.tables),function(table,index){return _c('div',{key:'table-'+index,staticClass:\"table__row\"},[_c('div',{staticClass:\"table__table-wrap\"},[_c('h2',{staticClass:\"table__table-title\",domProps:{\"innerHTML\":_vm._s(table.title)}}),_vm._v(\" \"),_c('table',{staticClass:\"table__table\"},_vm._l((table.table.body),function(row,rowIndex){return _c('tr',[_vm._l((row),function(cell){return (rowIndex < table.table.header_rows && !cell.spanned)?_c('th',{attrs:{\"colspan\":cell.c_span,\"rowspan\":cell.r_span},domProps:{\"innerHTML\":_vm._s(cell.c)}}):_vm._e()}),_vm._v(\" \"),_vm._l((row),function(cell,cellIndex){return (rowIndex >= table.table.header_rows &&!cell.spanned)?_c('td',{class:{ 'odd': (cellIndex % 2), 'first': cellIndex === 0 },attrs:{\"colspan\":cell.c_span,\"rowspan\":cell.r_span},domProps:{\"innerHTML\":_vm._s(cell.c)}}):_vm._e()})],2)})),_vm._v(\" \"),(table.disclaimers)?_c('p',{staticClass:\"table__disclaimer\",domProps:{\"innerHTML\":_vm._s(table.disclaimers)}}):_vm._e()]),_vm._v(\" \"),(table.showContentBlock)?_c('div',{staticClass:\"table__block\"},[_c('h2',{staticClass:\"table__block-title\",domProps:{\"innerHTML\":_vm._s(table.contentBlock.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"table__block-content\",domProps:{\"innerHTML\":_vm._s(table.contentBlock.content)}})]):_vm._e()])}))],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-55d53d38\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/templates/Table.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-55d53d38\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Table.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Table.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Table.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-55d53d38\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Table.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/templates/Table.vue\n// module id = null\n// module chunks = ","import Vue from 'vue';\nimport Router from 'vue-router';\nimport Front from '@/components/templates/Front';\nimport Intro from '@/components/templates/Intro';\nimport Markets from '@/components/templates/Markets';\nimport Installation3d from '@/components/templates/Installation3d';\nimport Installation from '@/components/templates/Installation';\nimport Workflow from '@/components/templates/Workflow';\nimport InteractivePdf from '@/components/templates/InteractivePdf';\nimport InteractiveHtml from '@/components/templates/InteractiveHtml';\nimport Movie from '@/components/templates/Movie';\nimport Specs from '@/components/templates/Specs';\nimport Backcover from '@/components/templates/Backcover';\nimport ThreeSixty from '@/components/templates/ThreeSixty';\nimport Orb from '@/components/templates/Orb';\nimport Slider from '@/components/templates/Slider';\nimport Table from '@/components/templates/Table';\n\nVue.use(Router);\n\nexport default new Router({\n  routes: [\n    { path: '*', redirect: '/0/front' },\n    {\n      path: '/:id/front',\n      name: 'front',\n      component: Front,\n    },\n    {\n      path: '/:id/intro',\n      name: 'intro',\n      component: Intro,\n    },\n    {\n      path: '/:id/markets',\n      name: 'markets',\n      component: Markets,\n    },\n    {\n      path: '/:id/installation-3d/:info/:selectedBullet',\n      name: 'installation-3d',\n      component: Installation3d,\n    },\n    {\n      path: '/:id/installation',\n      name: 'installation',\n      component: Installation,\n    },\n    {\n      path: '/:id/workflow',\n      name: 'workflow',\n      component: Workflow,\n    },\n    {\n      path: '/:id/interactive-pdf',\n      name: 'interactive-pdf',\n      component: InteractivePdf,\n    },\n    {\n      path: '/:id/interactive-html',\n      name: 'interactive-html',\n      component: InteractiveHtml,\n    },\n    {\n      path: '/:id/movie',\n      name: 'movie',\n      component: Movie,\n    },\n    {\n      path: '/:id/specs',\n      name: 'specs',\n      component: Specs,\n    },\n    {\n      path: '/:id/backcover',\n      name: 'backcover',\n      component: Backcover,\n    },\n    {\n      path: '/:id/360/:tViewIndex/:canopy/:info/:selectedBullet',\n      name: '360',\n      component: ThreeSixty,\n    },\n    {\n      path: '/:id/orb',\n      name: 'orb',\n      component: Orb,\n    },\n    {\n      path: '/:id/slider',\n      name: 'slider',\n      component: Slider,\n    },\n    {\n      path: '/:id/table',\n      name: 'table',\n      component: Table,\n    },\n  ],\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","export default {\n  GET_DATA_SUCCESS(state, data) {\n    state.printUrl = data.printUrl;\n    state.title = data.title;\n    state.pages = data.pages;\n    state.ready = true;\n\n    const defaultTranslations = state.translations;\n    if (data.translations) {\n      state.translations = data.translations;\n\n      if (!state.translations.threesixtyOn) {\n        state.translations.threesixtyOn = defaultTranslations.threesixtyOn;\n      }\n\n      if (!state.translations.threesixtyOff) {\n        state.translations.threesixtyOff = defaultTranslations.threesixtyOff;\n      }\n    }\n\n    if (data.alternativeLanguage) {\n      document.body.classList.add(`font-${data.alternativeLanguage}`);\n    }\n  },\n  GET_DATA_FAILED(state) {\n    state.title = '';\n    state.printUrl = '';\n    state.pages = [];\n  },\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/mutations.js","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport axios from 'axios';\n\nimport mutations from './mutations';\n\n// const pad = (num, size) => {\n//   const s = '000000000' + num; //eslint-disable-line\n//   return s.substr(s.length - size);\n// };\n\nVue.use(Vuex);\n\nconst state = {\n  title: null,\n  printUrl: null,\n  pages: [],\n  ready: false,\n  translations: {\n    menuCTA: 'Menu',\n    printCTA: 'Printable PDF',\n    prev: 'Previous',\n    next: 'Next',\n    backcoverTitle: 'Committed to sustainable productivity',\n    backcoverText: 'We stand by our responsibilities towards our customers, towards the<br>environment and the people around us. We make performance stand<br>the test of time. This is what we call – Sustainable Productivity.',\n    productTitle: 'Product',\n    threesixtyLabels: 'Labels',\n    threesixtyCanopy: 'Canopy',\n    threesixtyOn: 'On',\n    threesixtyOff: 'Off',\n  },\n};\n\nconst findGetParameter = (parameterName) => { //eslint-disable-line\n  let result = null;\n  let tmp = [];\n  location.search\n    .substr(1)\n    .split('&')\n    .forEach((item) => {\n      tmp = item.split('=');\n      if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);\n    });\n  return result;\n};\n\nconst actions = {\n  getProducts: ({ commit }) => {\n    const urlParameter = findGetParameter('url');\n    const url = urlParameter || 'static/data.json';\n    axios.get(url).then((response) => {\n    // axios.get(findGetParameter('url')).then((response) => {\n    // axios.get('http://local.api.brochure-platform.kubaja.com/sample-page/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/sample-page/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/zs4-zs4vsd/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/zb-5-6-vsd/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/5183-2/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/ga-90-160-vsd/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/mdg-real-content/?json=true').then((response) => {\n    // axios.get('http://api.brochure-platform.kubaja.com/jelle/?json=true').then((response) => {\n      commit('GET_DATA_SUCCESS', response.data);\n    });\n  },\n};\n\nconst getRouterArray = (index, get) => {\n  const arr = {};\n  if (get.ready) {\n    arr.params = {};\n    arr.params.id = index;\n    arr.name = get.pages[arr.params.id].template;\n\n    if (arr.name === '360') {\n      arr.params.tViewIndex = 0;\n      arr.params.canopy = 'canopy';\n      arr.params.info = 'info';\n      arr.params.selectedBullet = -1;\n    } else if (arr.name === 'installation-3d') {\n      arr.params.info = 'info';\n      arr.params.selectedBullet = -1;\n    }\n  }\n  return arr;\n};\n\nconst getters = {\n  translations(st) {\n    return st.translations;\n  },\n  title(st) {\n    return st.title;\n  },\n  printUrl(st) {\n    return st.printUrl;\n  },\n  pageIndex(st) {\n    return parseInt(st.route.params.id, 10);\n  },\n  pageMenuTitle(st) {\n    return st.pages[st.route.params.id] ? st.pages[st.route.params.id].menuTitle : '';\n  },\n  pages(st) {\n    return st.pages;\n  },\n  page(st) {\n    return st.pages[st.route.params.id];\n  },\n  ready(st) {\n    return st.ready;\n  },\n  isFront(st) {\n    return st.ready ? st.pages[st.route.params.id].template === 'front' : false;\n  },\n  nextPageRouterArray(st, get) {\n    let arr;\n    if ((get.pageIndex + 1) < get.pages.length) {\n      arr = getRouterArray(get.pageIndex + 1, get);\n    } else {\n      arr = false;\n    }\n    return arr;\n  },\n  prevPageRouterArray(st, get) {\n    let arr;\n    if (get.pageIndex > 0) {\n      arr = getRouterArray(get.pageIndex - 1, get);\n    } else {\n      arr = false;\n    }\n    return arr;\n  },\n  tViewIndex(st) {\n    return st.route.params.tViewIndex;\n  },\n  canopy(st) {\n    return st.route.params.canopy === 'canopy';\n  },\n  info(st) {\n    return st.route.params.info === 'info';\n  },\n  /* eslint-disable max-len */\n  contentBlocks(st, get) {\n    const indexedContentBlocks = [];\n    if (st.route.name === '360') {\n      const contentBlocks = get.canopy ? get.page.threesixtyViews[get.tViewIndex].canopyContentBlocks : get.page.threesixtyViews[get.tViewIndex].nocanopyContentBlocks;\n      let index = 0;\n      [].forEach.call(contentBlocks, (contentBlock) => {\n        const indexedContentBlock = contentBlock;\n        if (contentBlock.highlighted) {\n          indexedContentBlock.id = index;\n          index += 1;\n        } else {\n          indexedContentBlock.id = -1;\n        }\n        indexedContentBlocks.push(indexedContentBlock);\n      });\n    }\n    return indexedContentBlocks;\n  },\n  bulletsJson(st, get) {\n    if (st.route.name === '360') {\n      return get.canopy ? get.page.threesixtyViews[get.tViewIndex].canopyBulletsJson : get.page.threesixtyViews[get.tViewIndex].nocanopyBulletsJson;\n    }\n    return {};\n  },\n  frames(st, get) {\n    if (st.route.name === '360') {\n      return get.canopy ? get.page.threesixtyViews[get.tViewIndex].canopyFrames : get.page.threesixtyViews[get.tViewIndex].nocanopyFrames;\n    }\n    return {};\n  },\n  selectedBullet(st) {\n    return parseInt(st.route.params.selectedBullet, 10);\n  },\n  highlightedFrameIndex(st, get) {\n    let index = false;\n    if (get.selectedBullet !== -1) {\n      [].forEach.call(get.contentBlocks, (contentBlock) => {\n        if (contentBlock.id == get.selectedBullet) { //eslint-disable-line\n          index = contentBlock.highlightedFrameIndex;\n        }\n      });\n    }\n    // if (get.selectedBullet !== false && get.contentBlocks.length > get.selectedBullet && get.contentBlocks[get.selectedBullet].highlighted) {\n    //   index = get.contentBlocks[get.selectedBullet].highlightedFrameIndex;\n    // }\n    return index;\n  },\n  highlightedFrameUrl(st, get) {\n    let url = false;\n    if (get.selectedBullet !== -1) {\n      [].forEach.call(get.contentBlocks, (contentBlock) => {\n        if (contentBlock.id == get.selectedBullet) { //eslint-disable-line\n          url = contentBlock.highlightedFrameUrl;\n        }\n      });\n    }\n    // if (get.selectedBullet !== false && get.contentBlocks.length > get.selectedBullet && get.contentBlocks[get.selectedBullet].highlighted) {\n    //   url = get.contentBlocks[get.selectedBullet].highlightedFrameUrl;\n    // }\n    return url;\n    // return get.selectedBullet !== false && get.contentBlocks.length > get.selectedBullet ? get.contentBlocks[get.selectedBullet].highlightedFrameUrl : false;\n  },\n};\n\nexport default new Vuex.Store({\n  state,\n  getters,\n  actions,\n  mutations,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue';\nimport { sync } from 'vuex-router-sync';\nimport App from './App';\nimport router from './router';\nimport store from './store';\n\nrequire('babel-polyfill');\n\nsync(store, router);\n\nVue.config.productionTip = false;\n\nconst detectIE = () => {\n  const ua = window.navigator.userAgent;\n  const msie = ua.indexOf('MSIE ');\n  if (msie > 0) { // IE 10 or older => return version number\n    return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n  }\n\n  const trident = ua.indexOf('Trident/');\n  if (trident > 0) { // IE 11 => return version number\n    const rv = ua.indexOf('rv:');\n    return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n  }\n\n  const edge = ua.indexOf('Edge/');\n  if (edge > 0) { // Edge (IE 12+) => return version number\n    return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n  }\n\n  // other browser\n  return false;\n};\n\nif (detectIE()) {\n  document.body.classList.add('ie');\n} else {\n  document.body.classList.add('no-ie');\n}\n\n/* eslint-disable no-new */\nnew Vue({\n  el: '#app',\n  router,\n  store,\n  template: '<App/>',\n  components: { App },\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}