{"version":3,"sources":["webpack:///./src/components/lists/Carousel/Controls.vue?bb89","webpack:///./src/components/lists/Carousel/Carousel3d.vue?a30e","webpack:///./src/components/lists/MiniCarousel.vue?fc64","webpack:///src/components/lists/MiniCarousel.vue","webpack:///./src/components/lists/MiniCarousel.vue?71a4","webpack:///./src/components/lists/MiniCarousel.vue","webpack:///./src/components/lists/Carousel/Carousel3d.vue?80b8","webpack:///./src/components/lists/Carousel/Controls.vue?065c","webpack:///src/components/lists/Carousel/Controls.vue","webpack:///./src/components/lists/Carousel/Controls.vue?48cd","webpack:///./src/components/lists/Carousel/Controls.vue","webpack:///src/components/lists/Carousel/Carousel3d.vue","webpack:///./src/components/lists/Carousel/Carousel3d.vue?bfd1","webpack:///./src/components/lists/Carousel/Carousel3d.vue","webpack:///./src/components/lists/Carousel/Slide.vue?1a47","webpack:///./src/components/lists/MiniCarousel.vue?0601","webpack:///./src/components/lists/Slideshow/Slideshow.vue?18ef","webpack:///./src/components/lists/Carousel/Carousel3d.vue?42fc","webpack:///./src/components/lists/Carousel/Slide.vue?e10a","webpack:///./src/components/lists/Carousel/Controls.vue?6a07","webpack:///./src/components/lists/MiniCarousel.vue?b329","webpack:///./src/components/lists/Carousel/Slide.vue?9e7c","webpack:///src/components/lists/Carousel/Slide.vue","webpack:///./src/components/lists/Carousel/Slide.vue?62e6","webpack:///./src/components/lists/Carousel/Slide.vue","webpack:///./src/mixins/ImageRenderer.js","webpack:///./src/components/lists/Carousel/Controls.vue?07d4","webpack:///./src/components/lists/Slideshow/Slideshow.vue?ad1a","webpack:///./src/mixins/parse.js","webpack:///./src/components/lists/MiniCarousel.vue?9303","webpack:///./src/components/lists/Slideshow/Slideshow.vue?a214","webpack:///./src/components/lists/Carousel/Slide.vue?c89a","webpack:///./src/components/lists/Carousel/Carousel3d.vue?6499","webpack:///./src/components/lists/Slideshow/Slideshow.vue?29e3","webpack:///./src/components/lists/Slideshow/SlideshowInner.vue?9cb8","webpack:///src/components/lists/Slideshow/SlideshowInner.vue","webpack:///./src/components/lists/Slideshow/SlideshowInner.vue?f8fd","webpack:///./src/components/lists/Slideshow/SlideshowInner.vue","webpack:///src/components/lists/Slideshow/Slideshow.vue","webpack:///./src/components/lists/Slideshow/Slideshow.vue?373f","webpack:///./src/components/lists/Slideshow/Slideshow.vue"],"names":["content","__esModule","default","module","i","locals","exports","add","render","_vm","this","_h","$createElement","_c","_self","staticClass","domProps","_s","title","_e","attrs","hasSlides","_l","slide","index","key","class","slideClasses","parse","style","slideImages","imageAlt","_v","heading","sub_heading","text","button_link","button_text","separator","staticRenderFns","name","props","mixins","components","Carousel3d","Slide","SectionSeparator","ResponsiveImage","computed","items","length","image","injectStyles","context","style0","__inject__","component","height","slideHeight","unit","width","slideWidth","_t","controlsNextHtml","controlsPrevHtml","controlsWidth","controlsHeight","disabled","parent","isPrevPossible","on","$event","preventDefault","goPrev","prevHtml","isNextPossible","goNext","nextHtml","type","String","Number","data","$parent","Controls","count","perspective","display","loop","Boolean","animationSpeed","dir","border","space","startIndex","clickable","disable3d","minSwipeDistance","inverseScaling","controlsVisible","onLastSlide","Function","noop","onSlideChange","bias","onMainSlideClick","viewport","currentIndex","total","dragOffset","dragStartX","mousedown","zIndex","watch","computeData","isLastSlide","isFirstSlide","vw","sw","ar","visible","v","hasHiddenSlides","leftIndices","n","toLowerCase","Math","ceil","floor","indices","push","rightIndices","leftOutIndex","rightOutIndex","methods","goSlide","console","warn","$emit","setTimeout","goFar","diff","diff2","timeBuff","animationEnd","handleMouseup","handleMousedown","e","touches","handleMousemove","deltaX","attachMutationObserver","MutationObserver","attributes","childList","characterData","mutationObserver","$el","observe","config","detachMutationObserver","disconnect","getSlideCount","undefined","$slots","filter","value","tag","calculateAspectRatio","min","firstRun","clientWidth","setSize","cssText","childNodes","mounted","window","addEventListener","beforeDestroy","removeEventListener","computedClasses","goTo","isCurrent","leftIndex","rightIndex","styles","getSideIndex","slideStyle","rIndex","lIndex","opacity","visibility","matchIndex","calculatePosition","Object","assign","transition","array","forEach","transform","top","abs","currentScreenSize","imageWidth","isRetina","devicePixelRatio","throttle","fn","wait","time","Date","now","handleResize","handleImages","innerWidth","setImageWidth","item","JSON","ref","slideshowHeight","setSlideshowHeight","animationClass","ImageRenderer","screenSize","SlideshowInner","slide_height"],"mappings":"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","file":"js/chunks/carousels.js?id=25089585dad29419c6a5","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Controls.vue?vue&type=style&index=0&id=25a12aea&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"78e866a1\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel3d.vue?vue&type=style&index=0&id=9fbae6f2&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2fc658ac\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-section carousel\"},[(_vm.title)?_c('h2',{staticClass:\"list-title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('div',{staticClass:\"container\"},[_c('Carousel3d',{attrs:{\"perspective\":20,\"controlsVisible\":_vm.hasSlides,\"border\":0}},_vm._l((_vm.items),function(slide,index){return _c('Slide',{key:(\"carousel-item-\" + index),class:['carousel-slide', _vm.slideClasses(_vm.parse(slide))],style:((\"background-color:\" + (_vm.parse(slide).background_colour))),attrs:{\"index\":index}},[_c('ResponsiveImage',{staticClass:\"carousel-background\",attrs:{\"imageVersions\":_vm.slideImages(slide),\"description\":_vm.imageAlt(slide),\"width\":600}}),_c('div',{staticClass:\"carousel-content\"},[_c('div',{staticClass:\"carousel-inner\"},[(_vm.parse(slide).heading)?_c('h2',{staticClass:\"heading\"},[_vm._v(\"\\n              \"+_vm._s(_vm.parse(slide).heading)+\"\\n            \")]):_vm._e(),(_vm.parse(slide).sub_heading)?_c('h3',{staticClass:\"heading\"},[_vm._v(\"\\n              \"+_vm._s(_vm.parse(slide).sub_heading)+\"\\n            \")]):_vm._e(),(_vm.parse(slide).text)?_c('p',[_vm._v(_vm._s(_vm.parse(slide).text))]):_vm._e(),(_vm.parse(slide).button_text)?_c('a',{staticClass:\"btn\",attrs:{\"href\":_vm.parse(slide).button_link}},[_vm._v(\"\\n              \"+_vm._s(_vm.parse(slide).button_text)+\"\\n            \")]):_vm._e()])])],1)}),1)],1),(_vm.separator)?_c('SectionSeparator',{attrs:{\"separator\":_vm.separator}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\n  <div class=\"page-section carousel\">\n\n    <h2 class=\"list-title\" v-if=\"title\" v-html=\"title\"></h2>\n\n    <div class=\"container\">\n      <Carousel3d\n        :perspective=\"20\"\n        :controlsVisible=\"hasSlides\"\n        :border=\"0\"\n        >\n        <Slide\n          v-for=\"(slide, index) in items\"\n          :class=\"['carousel-slide', slideClasses(parse(slide))]\"\n          :style=\"`background-color:${parse(slide).background_colour}`\"\n          :index=\"index\"\n          :key=\"`carousel-item-${index}`\">\n\n          <ResponsiveImage\n            class=\"carousel-background\"\n            :imageVersions=\"slideImages(slide)\"\n            :description=\"imageAlt(slide)\"\n            :width=\"600\"/>\n\n          <div class=\"carousel-content\">\n            <div class=\"carousel-inner\">\n              <h2\n                v-if=\"parse(slide).heading\"\n                class=\"heading\">\n                {{parse(slide).heading}}\n              </h2>\n\n              <h3\n                v-if=\"parse(slide).sub_heading\"\n                class=\"heading\">\n                {{parse(slide).sub_heading}}\n              </h3>\n\n              <p v-if=\"parse(slide).text\">{{parse(slide).text}}</p>\n\n              <a\n                v-if=\"parse(slide).button_text\"\n                class=\"btn\"\n                :href=\"parse(slide).button_link\">\n                {{parse(slide).button_text}}\n              </a>\n            </div>\n          </div>\n        </Slide>\n      </Carousel3d>\n    </div>\n\n    <SectionSeparator v-if=\"separator\" :separator=\"separator\"/>\n  </div>\n</template>\n\n<script>\nimport Carousel3d from './Carousel/Carousel3d'\nimport Slide from './Carousel/Slide'\n\nimport parse from '@/mixins/parse'\n\nimport SectionSeparator from '@/components/lists/SectionSeparator'\nimport ResponsiveImage from '@/components/ResponsiveImage'\n\nexport default {\n  name: 'MiniCarousel',\n\n  props: ['items', 'title', 'separator'],\n\n  mixins: [parse],\n\n  components: {\n    Carousel3d,\n    Slide,\n    SectionSeparator,\n    ResponsiveImage\n  },\n\n  computed: {\n    hasSlides() {\n      return this.items.length > 1\n    },\n\n    slideClasses() {\n      return (slide) => {\n        let hasContent = slide.heading || slide.sub_heading || slide.text\n\n        return [{'has-content': hasContent}]\n      }\n    },\n\n    imageAlt() {\n      return (slide) => {\n        return this.parse(slide).image_alt_text || 'Carousel background image'\n      }\n    },\n\n    slideImages() {\n      return (slide) => {\n        let image = slide.image_versions.length ? slide.image_versions : []\n        return image\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"sass\">\n  @import '../../stylesheets/base/variables'\n  @import '../../stylesheets/helpers/mixins'\n  @import '../../stylesheets/base/theme'\n\n  .carousel\n    .carousel-slide\n      &.has-content\n        &:after\n          content: ''\n          background: rgba(0, 0, 0, 0.3)\n          position: absolute\n          top: 0\n          left: 0\n          width: 100%\n          height: 100%\n\n    .carousel-content,\n    .carousel-background\n      position: absolute\n      top: 0\n      left: 0\n      width: 100%\n      height: 100%\n      background-size: cover\n      display: flex\n      align-items: center\n      justify-content: center\n      flex-direction: column\n      text-align: center\n\n    .responsive-image\n      height: 100%\n\n      img\n        object-fit: cover\n        object-position: 50% 50%\n        height: 100%\n\n    .carousel-inner\n      z-index: 2\n\n      h1, h2, h3, p\n        margin: 10px 0\n        line-height: 1\n        color: #fff\n\n    .carousel-3d-controls\n      a\n        opacity: 0.5\n        transition: opacity .2s ease-in-out\n\n        &:hover\n          opacity: 1\n\n      span\n        @include themify($themes)\n          color: themed('text')\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCarousel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCarousel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MiniCarousel.vue?vue&type=template&id=333f5f32&lang=html&\"\nimport script from \"./MiniCarousel.vue?vue&type=script&lang=js&\"\nexport * from \"./MiniCarousel.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./MiniCarousel.vue?vue&type=style&index=0&lang=sass&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  null,\n  \"43eb0d8e\"\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-3d-container\",style:({height: this.slideHeight + _vm.unit})},[_c('div',{staticClass:\"carousel-3d-slider\",style:({width: this.slideWidth + _vm.unit, height: this.slideHeight + _vm.unit})},[_vm._t(\"default\")],2),(_vm.controlsVisible)?_c('controls',{attrs:{\"next-html\":_vm.controlsNextHtml,\"prev-html\":_vm.controlsPrevHtml,\"width\":_vm.controlsWidth,\"height\":_vm.controlsHeight}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-3d-controls\"},[_c('a',{staticClass:\"prev\",class:{disabled: !_vm.parent.isPrevPossible},style:((\"width: \" + _vm.width + \"px; height: \" + _vm.height + \"px; line-height: \" + _vm.height + \"px;\")),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.parent.goPrev()}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.prevHtml)}})]),_c('a',{staticClass:\"next\",class:{disabled: !_vm.parent.isNextPossible},style:((\"width: \" + _vm.width + \"px; height: \" + _vm.height + \"px; line-height: \" + _vm.height + \"px;\")),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.parent.goNext()}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.nextHtml)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"carousel-3d-controls\">\n    <a\n      href=\"#\"\n      class=\"prev\"\n      @click.prevent=\"parent.goPrev()\"\n      :class=\"{disabled: !parent.isPrevPossible}\"\n      :style=\"\n        `width: ${width}px; height: ${height}px; line-height: ${height}px;`\n      \"\n    >\n      <span v-html=\"prevHtml\"></span>\n    </a>\n    <a\n      href=\"#\"\n      class=\"next\"\n      @click.prevent=\"parent.goNext()\"\n      :class=\"{disabled: !parent.isNextPossible}\"\n      :style=\"\n        `width: ${width}px; height: ${height}px; line-height: ${height}px;`\n      \"\n    >\n      <span v-html=\"nextHtml\"></span>\n    </a>\n  </div>\n</template>\n\n<script>\n\nexport default {\n  name: 'controls',\n  props: {\n    /**\n     * Width in pixels of the navigation buttons\n     */\n    width: {\n      type: [String, Number],\n      default: 50\n    },\n    /**\n     * Height in pixels of the navigation buttons\n     */\n    height: {\n      type: [String, Number],\n      default: 60\n    },\n    /**\n     * Text content of the navigation prev button\n     */\n    prevHtml: {\n      type: String,\n      default: '&lsaquo;'\n    },\n    /**\n     * Text content of the navigation next button\n     */\n    nextHtml: {\n      type: String,\n      default: '&rsaquo;'\n    }\n  },\n  data() {\n    return {\n      parent: this.$parent\n    }\n  }\n}\n</script>\n\n<style scoped>\n.carousel-3d-controls {\n  position: absolute;\n  top: 50%;\n  height: 0;\n  margin-top: -30px;\n  left: 0;\n  width: 100%;\n  z-index: 500;\n}\n\n.next,\n.prev {\n  width: 60px;\n  position: absolute;\n  z-index: 1010;\n  font-size: 60px;\n  height: 60px;\n  line-height: 60px;\n  color: #333;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  text-decoration: none;\n  top: 0;\n}\n\n.next:hover,\n.prev:hover {\n  cursor: pointer;\n  opacity: 0.7;\n}\n\n.prev {\n  left: 10px;\n  text-align: left;\n}\n\n.next {\n  right: 10px;\n  text-align: right;\n}\n\n.disabled {\n  opacity: 0.2;\n  cursor: default;\n}\n\n.disabled:hover {\n  cursor: default;\n  opacity: 0.2;\n}\n</style>\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Controls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Controls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Controls.vue?vue&type=template&id=25a12aea&scoped=true&\"\nimport script from \"./Controls.vue?vue&type=script&lang=js&\"\nexport * from \"./Controls.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./Controls.vue?vue&type=style&index=0&id=25a12aea&scoped=true&lang=css&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  \"25a12aea\",\n  \"30e90304\"\n  \n)\n\nexport default component.exports","<template>\n  <div class=\"carousel-3d-container\" :style=\"{height: this.slideHeight + unit}\">\n    <div\n      class=\"carousel-3d-slider\"\n      :style=\"{width: this.slideWidth + unit, height: this.slideHeight + unit}\"\n    >\n      <slot></slot>\n    </div>\n    <controls\n      v-if=\"controlsVisible\"\n      :next-html=\"controlsNextHtml\"\n      :prev-html=\"controlsPrevHtml\"\n      :width=\"controlsWidth\"\n      :height=\"controlsHeight\"\n    ></controls>\n  </div>\n</template>\n\n<script>\nimport Controls from './Controls.vue'\n\nconst noop = () => {}\n\nexport default {\n  name: 'carousel3d',\n\n  components: {\n    Controls\n  },\n\n  props: {\n    unit: {\n      type: String,\n      default: 'px'\n    },\n\n    count: {\n      type: [Number, String],\n      default: 0\n    },\n\n    perspective: {\n      type: [Number, String],\n      default: 35\n    },\n\n    display: {\n      type: [Number, String],\n      default: 5\n    },\n\n    loop: {\n      type: Boolean,\n      default: true\n    },\n\n    animationSpeed: {\n      type: [Number, String],\n      default: 500\n    },\n\n    dir: {\n      type: String,\n      default: 'rtl'\n    },\n\n    width: {\n      type: [Number, String],\n      default: 360\n    },\n\n    height: {\n      type: [Number, String],\n      default: 270\n    },\n\n    border: {\n      type: [Number, String],\n      default: 1\n    },\n\n    space: {\n      type: [Number, String],\n      default: 'auto'\n    },\n\n    startIndex: {\n      type: [Number, String],\n      default: 0\n    },\n\n    clickable: {\n      type: Boolean,\n      default: true\n    },\n\n    disable3d: {\n      type: Boolean,\n      default: false\n    },\n\n    minSwipeDistance: {\n      type: Number,\n      default: 10\n    },\n\n    inverseScaling: {\n      type: [Number, String],\n      default: 300\n    },\n\n    controlsVisible: {\n      type: Boolean,\n      default: false\n    },\n\n    controlsPrevHtml: {\n      type: String,\n      default: '&lsaquo;'\n    },\n\n    controlsNextHtml: {\n      type: String,\n      default: '&rsaquo;'\n    },\n\n    controlsWidth: {\n      type: [String, Number],\n      default: 50\n    },\n\n    controlsHeight: {\n      type: [String, Number],\n      default: 50\n    },\n\n    onLastSlide: {\n      type: Function,\n      default: noop\n    },\n\n    onSlideChange: {\n      type: Function,\n      default: noop\n    },\n\n    bias: {\n      type: String,\n      default: 'left'\n    },\n\n    onMainSlideClick: {\n      type: Function,\n      default: noop\n    }\n  },\n\n  data() {\n    return {\n      viewport: 0,\n      currentIndex: 0,\n      total: 0,\n      dragOffset: 0,\n      dragStartX: 0,\n      mousedown: false,\n      zIndex: 998\n    }\n  },\n\n  watch: {\n    count() {\n      this.computeData()\n    }\n  },\n\n  computed: {\n    isLastSlide() {\n      return this.currentIndex === this.total - 1\n    },\n\n    isFirstSlide() {\n      return this.currentIndex === 0\n    },\n\n    isNextPossible() {\n      return !(!this.loop && this.isLastSlide)\n    },\n\n    isPrevPossible() {\n      return !(!this.loop && this.isFirstSlide)\n    },\n\n    slideWidth() {\n      const vw = this.viewport\n      const sw = parseInt(this.width) + parseInt(this.border, 10) * 2\n\n      return vw < sw ? vw : sw\n    },\n\n    slideHeight() {\n      const sw = parseInt(this.width, 10) + parseInt(this.border, 10) * 2\n      const sh = parseInt(parseInt(this.height) + this.border * 2, 10)\n      const ar = this.calculateAspectRatio(sw, sh)\n\n      return this.slideWidth / ar\n    },\n\n    visible() {\n      const v = this.display > this.total ? this.total : this.display\n      return v\n    },\n\n    hasHiddenSlides() {\n      return this.total > this.visible\n    },\n\n    leftIndices() {\n      let n = (this.visible - 1) / 2\n\n      n = this.bias.toLowerCase() === 'left' ? Math.ceil(n) : Math.floor(n)\n\n      const indices = []\n\n      for (let m = 1; m <= n; m++) {\n        indices.push(\n          this.dir === 'ltr'\n            ? (this.currentIndex + m) % this.total\n            : (this.currentIndex - m) % this.total\n        )\n      }\n\n      return indices\n    },\n\n    rightIndices() {\n      let n = (this.visible - 1) / 2\n\n      n = this.bias.toLowerCase() === 'right' ? Math.ceil(n) : Math.floor(n)\n      const indices = []\n\n      for (let m = 1; m <= n; m++) {\n        indices.push(\n          this.dir === 'ltr'\n            ? (this.currentIndex - m) % this.total\n            : (this.currentIndex + m) % this.total\n        )\n      }\n\n      return indices\n    },\n\n    leftOutIndex() {\n      let n = (this.visible - 1) / 2\n\n      n = this.bias.toLowerCase() === 'left' ? Math.ceil(n) : Math.floor(n)\n      n++\n\n      if (this.dir === 'ltr') {\n        return this.total - this.currentIndex - n <= 0\n          ? -parseInt(this.total - this.currentIndex - n)\n          : this.currentIndex + n\n      } else {\n        return this.currentIndex - n\n      }\n    },\n\n    rightOutIndex() {\n      let n = (this.visible - 1) / 2\n\n      n = this.bias.toLowerCase() === 'right' ? Math.ceil(n) : Math.floor(n)\n      n++\n\n      if (this.dir === 'ltr') {\n        return this.currentIndex - n\n      } else {\n        return this.total - this.currentIndex - n <= 0\n          ? -parseInt(this.total - this.currentIndex - n, 10)\n          : this.currentIndex + n\n      }\n    }\n  },\n\n  methods: {\n    /**\n     * Go to next slide\n     */\n    goNext() {\n      if (this.isNextPossible) {\n        this.isLastSlide ? this.goSlide(0) : this.goSlide(this.currentIndex + 1)\n      }\n    },\n\n    /**\n     * Go to previous slide\n     */\n    goPrev() {\n      if (this.isPrevPossible) {\n        this.isFirstSlide\n          ? this.goSlide(this.total - 1)\n          : this.goSlide(this.currentIndex - 1)\n      }\n    },\n\n    /**\n     * Go to slide\n     * @param  {String} index of slide where to go\n     */\n    goSlide(index) {\n      this.currentIndex = index < 0 || index > this.total - 1 ? 0 : index\n\n      if (this.isLastSlide) {\n        if (this.onLastSlide !== noop) {\n          console.warn('onLastSlide deprecated, please use @last-slide')\n        }\n        this.onLastSlide(this.currentIndex)\n\n        this.$emit('last-slide', this.currentIndex)\n      }\n\n      this.$emit('before-slide-change', this.currentIndex)\n\n      setTimeout(() => this.animationEnd(), this.animationSpeed)\n    },\n\n    /**\n     * Go to slide far slide\n     */\n    goFar(index) {\n      let diff =\n        index === this.total - 1 && this.isFirstSlide\n          ? -1\n          : index - this.currentIndex\n\n      if (this.isLastSlide && index === 0) {\n        diff = 1\n      }\n\n      const diff2 = diff < 0 ? -diff : diff\n      let timeBuff = 0\n      let i = 0\n\n      while (i < diff2) {\n        i += 1\n        const timeout = diff2 === 1 ? 0 : timeBuff\n\n        setTimeout(\n          () => (diff < 0 ? this.goPrev(diff2) : this.goNext(diff2)),\n          timeout\n        )\n\n        timeBuff += this.animationSpeed / diff2\n      }\n    },\n\n    /**\n     * Trigger actions when animation ends\n     */\n    animationEnd() {\n      if (this.onSlideChange !== noop) {\n        console.warn('onSlideChange deprecated, please use @after-slide-change')\n      }\n      this.onSlideChange(this.currentIndex)\n\n      this.$emit('after-slide-change', this.currentIndex)\n    },\n\n    /**\n     * Trigger actions when mouse is released\n     * @param  {Object} e The event object\n     */\n    handleMouseup() {\n      this.mousedown = false\n      this.dragOffset = 0\n    },\n\n    /**\n     * Trigger actions when mouse is pressed\n     * @param  {Object} e The event object\n     */\n    handleMousedown(e) {\n      if (!e.touches) {\n        e.preventDefault()\n      }\n\n      this.mousedown = true\n      this.dragStartX =\n        'ontouchstart' in window ? e.touches[0].clientX : e.clientX\n    },\n\n    /**\n     * Trigger actions when mouse is pressed and then moved (mouse drag)\n     * @param  {Object} e The event object\n     */\n    handleMousemove(e) {\n      if (!this.mousedown) {\n        return\n      }\n\n      const eventPosX =\n        'ontouchstart' in window ? e.touches[0].clientX : e.clientX\n      const deltaX = this.dragStartX - eventPosX\n\n      this.dragOffset = deltaX\n\n      if (this.dragOffset > this.minSwipeDistance) {\n        this.handleMouseup()\n        this.goNext()\n      } else if (this.dragOffset < -this.minSwipeDistance) {\n        this.handleMouseup()\n        this.goPrev()\n      }\n    },\n\n    /**\n     * A mutation observer is used to detect changes to the containing node\n     * in order to keep the magnet container in sync with the height its reference node.\n     */\n    attachMutationObserver() {\n      const MutationObserver =\n        window.MutationObserver ||\n        window.WebKitMutationObserver ||\n        window.MozMutationObserver\n\n      if (MutationObserver) {\n        const config = {\n          attributes: true,\n          childList: true,\n          characterData: true\n        }\n\n        this.mutationObserver = new MutationObserver(() => {\n          this.$nextTick(() => {\n            this.computeData()\n          })\n        })\n\n        if (this.$el) {\n          this.mutationObserver.observe(this.$el, config)\n        }\n      }\n    },\n\n    detachMutationObserver() {\n      if (this.mutationObserver) {\n        this.mutationObserver.disconnect()\n      }\n    },\n\n    /**\n     * Get the number of slides\n     * @return {Number} Number of slides\n     */\n    getSlideCount() {\n      if (this.$slots.default !== undefined) {\n        return this.$slots.default.filter((value) => {\n          return value.tag !== void 0\n        }).length\n      }\n\n      return 0\n    },\n\n    /**\n     * Calculate slide with and keep defined aspect ratio\n     * @return {Number} Aspect ratio number\n     */\n    calculateAspectRatio(width, height) {\n      return Math.min(width / height)\n    },\n\n    /**\n     * Re-compute the number of slides and current slide\n     */\n    computeData(firstRun) {\n      this.total = this.getSlideCount()\n      if (firstRun || this.currentIndex >= this.total) {\n        this.currentIndex =\n          parseInt(this.startIndex) > this.total - 1\n            ? this.total - 1\n            : parseInt(this.startIndex)\n      }\n\n      this.viewport = this.$el.clientWidth\n    },\n    setSize() {\n      this.$el.style.cssText += 'height:' + this.slideHeight + this.unit + ';'\n      this.$el.childNodes[0].style.cssText +=\n        'width:' +\n        this.slideWidth +\n        this.unit +\n        ';' +\n        ' height:' +\n        this.slideHeight +\n        this.unit +\n        ';'\n    }\n  },\n\n  mounted() {\n    this.computeData(true)\n    this.attachMutationObserver()\n    window.addEventListener('resize', this.setSize)\n\n    if ('ontouchstart' in window) {\n      this.$el.addEventListener('touchstart', this.handleMousedown)\n      this.$el.addEventListener('touchend', this.handleMouseup)\n      this.$el.addEventListener('touchmove', this.handleMousemove)\n    } else {\n      this.$el.addEventListener('mousedown', this.handleMousedown)\n      this.$el.addEventListener('mouseup', this.handleMouseup)\n      this.$el.addEventListener('mousemove', this.handleMousemove)\n    }\n  },\n\n  beforeDestroy() {\n    this.detachMutationObserver()\n\n    if ('ontouchstart' in window) {\n      this.$el.removeEventListener('touchmove', this.handleMousemove)\n    } else {\n      this.$el.removeEventListener('mousemove', this.handleMousemove)\n    }\n\n    window.removeEventListener('resize', this.setSize)\n  }\n}\n</script>\n<style scoped>\n.carousel-3d-container {\n  min-height: 1px;\n  width: 100%;\n  position: relative;\n  overflow: hidden;\n  margin: 20px auto;\n  box-sizing: border-box;\n  transition: none;\n}\n\n.carousel-3d-slider {\n  position: relative;\n  margin: 0 auto;\n  transform-style: preserve-3d;\n  -webkit-perspective: 1000px;\n  -moz-perspective: 1000px;\n  perspective: 1000px;\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel3d.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel3d.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Carousel3d.vue?vue&type=template&id=9fbae6f2&scoped=true&\"\nimport script from \"./Carousel3d.vue?vue&type=script&lang=js&\"\nexport * from \"./Carousel3d.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./Carousel3d.vue?vue&type=style&index=0&id=9fbae6f2&scoped=true&lang=css&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  \"9fbae6f2\",\n  \"49af6639\"\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCarousel.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slideshow.vue?vue&type=style&index=0&lang=sass&\"","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".carousel-3d-container[data-v-9fbae6f2]{min-height:1px;width:100%;position:relative;overflow:hidden;margin:20px auto;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:none;transition:none}.carousel-3d-slider[data-v-9fbae6f2]{position:relative;margin:0 auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-perspective:1000px;perspective:1000px}\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".carousel-3d-slide{position:absolute;opacity:0;visibility:hidden;overflow:hidden;top:0;border-radius:1px;border-color:#000;border-color:rgba(0,0,0,.4);border-style:solid;background-size:cover;background-color:#ccc;display:block;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left}.carousel-3d-slide img{width:100%}.carousel-3d-slide.current{opacity:1!important;visibility:visible!important;-webkit-transform:none!important;transform:none!important}\", \"\"]);\n\n// exports\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Controls.vue?vue&type=style&index=0&id=25a12aea&scoped=true&lang=css&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniCarousel.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"787ae56a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-3d-slide\",class:_vm.computedClasses,style:(_vm.slideStyle),on:{\"click\":function($event){return _vm.goTo()}}},[_vm._t(\"default\",null,{\"index\":_vm.index,\"isCurrent\":_vm.isCurrent,\"leftIndex\":_vm.leftIndex,\"rightIndex\":_vm.rightIndex})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"carousel-3d-slide\"\n    :style=\"slideStyle\"\n    :class=\"computedClasses\"\n    @click=\"goTo()\"\n  >\n    <slot\n      :index=\"index\"\n      :isCurrent=\"isCurrent\"\n      :leftIndex=\"leftIndex\"\n      :rightIndex=\"rightIndex\"\n    />\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'slide',\n\n  props: {\n    unit: {\n      type: String,\n      default: 'px'\n    },\n\n    index: {\n      type: Number\n    }\n  },\n\n  data() {\n    return {\n      parent: this.$parent,\n      styles: {},\n      zIndex: 999\n    }\n  },\n\n  computed: {\n    isCurrent() {\n      return this.index === this.parent.currentIndex\n    },\n\n    leftIndex() {\n      return this.getSideIndex(this.parent.leftIndices)\n    },\n\n    rightIndex() {\n      return this.getSideIndex(this.parent.rightIndices)\n    },\n\n    slideStyle() {\n      let styles = {}\n\n      if (!this.isCurrent) {\n        const lIndex = this.leftIndex\n        const rIndex = this.rightIndex\n        if (rIndex >= 0 || lIndex >= 0) {\n          styles =\n            rIndex >= 0\n              ? this.calculatePosition(rIndex, true, this.zIndex)\n              : this.calculatePosition(lIndex, false, this.zIndex)\n          styles.opacity = 1\n          styles.visibility = 'visible'\n        }\n\n        if (this.parent.hasHiddenSlides) {\n          if (this.matchIndex(this.parent.leftOutIndex)) {\n            styles = this.calculatePosition(\n              this.parent.leftIndices.length - 1,\n              false,\n              this.zIndex\n            )\n          } else if (this.matchIndex(this.parent.rightOutIndex)) {\n            styles = this.calculatePosition(\n              this.parent.rightIndices.length - 1,\n              true,\n              this.zIndex\n            )\n          }\n        }\n      }\n\n      return Object.assign(styles, {\n        'border-width': this.parent.border + 'px',\n        width: this.parent.slideWidth + 'px',\n        height: this.parent.slideHeight + this.unit,\n        transition: ' all ' + this.parent.animationSpeed + 'ms'\n      })\n    },\n\n    computedClasses() {\n      return {\n        [`left-${this.leftIndex + 1}`]: this.leftIndex >= 0,\n        [`right-${this.rightIndex + 1}`]: this.rightIndex >= 0,\n        current: this.isCurrent\n      }\n    }\n  },\n  methods: {\n    getSideIndex(array) {\n      let index = -1\n\n      array.forEach((pos, i) => {\n        if (this.matchIndex(pos)) {\n          index = i\n        }\n      })\n\n      return index\n    },\n\n    matchIndex(index) {\n      return index >= 0\n        ? this.index === index\n        : this.parent.total + index === this.index\n    },\n\n    calculatePosition(i, positive, zIndex) {\n      const z = !this.parent.disable3d\n        ? parseInt(this.parent.inverseScaling) + (i + 1) * 100\n        : 0\n      const y = !this.parent.disable3d ? parseInt(this.parent.perspective) : 0\n      const leftRemain =\n        this.parent.space === 'auto'\n          ? parseInt((i + 1) * (this.parent.width / 1.5), 10)\n          : parseInt((i + 1) * this.parent.space, 10)\n      const transform = positive\n        ? 'translateX(' +\n          leftRemain +\n          'px) translateZ(-' +\n          z +\n          'px) ' +\n          'rotateY(-' +\n          y +\n          'deg)'\n        : 'translateX(-' +\n          leftRemain +\n          'px) translateZ(-' +\n          z +\n          'px) ' +\n          'rotateY(' +\n          y +\n          'deg)'\n      const top =\n        this.parent.space === 'auto' ? 0 : parseInt((i + 1) * this.parent.space)\n\n      return {\n        transform: transform,\n        top: top,\n        zIndex: zIndex - (Math.abs(i) + 1)\n      }\n    },\n\n    goTo() {\n      if (!this.isCurrent) {\n        if (this.parent.clickable === true) {\n          this.parent.goFar(this.index)\n        }\n      } else {\n        this.parent.onMainSlideClick()\n      }\n    }\n  }\n}\n</script>\n\n<style>\n.carousel-3d-slide {\n  position: absolute;\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden;\n  top: 0;\n  border-radius: 1px;\n  border-color: #000;\n  border-color: rgba(0, 0, 0, 0.4);\n  border-style: solid;\n  background-size: cover;\n  background-color: #ccc;\n  display: block;\n  margin: 0;\n  box-sizing: border-box;\n}\n\n.carousel-3d-slide {\n  text-align: left;\n}\n\n.carousel-3d-slide img {\n  width: 100%;\n}\n\n.carousel-3d-slide.current {\n  opacity: 1 !important;\n  visibility: visible !important;\n  transform: none !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Slide.vue?vue&type=template&id=918fa104&\"\nimport script from \"./Slide.vue?vue&type=script&lang=js&\"\nexport * from \"./Slide.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./Slide.vue?vue&type=style&index=0&lang=css&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  null,\n  \"62854d99\"\n  \n)\n\nexport default component.exports","export default {\n  data() {\n    return {\n      currentScreenSize: '',\n      imageWidth: ''\n    }\n  },\n\n  computed: {\n    isRetina() {\n      return window.devicePixelRatio > 1\n    }\n  },\n\n  methods: {\n    throttle(fn, wait) {\n      let time = Date.now()\n\n      return () => {\n        if((time + wait - Date.now()) < 0 ) {\n          fn()\n          time = Date.now()\n        }\n      }\n    },\n\n    handleResize() {\n      window.addEventListener('resize', this.throttle(this.handleImages, 300))\n    },\n\n    handleImages() {\n      this.currentScreenSize = window.innerWidth\n      this.setImageWidth()\n    }\n  },\n\n  mounted() {\n    this.handleImages()\n    this.handleResize()\n  }\n}\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".carousel-3d-controls[data-v-25a12aea]{position:absolute;top:50%;height:0;margin-top:-30px;left:0;width:100%;z-index:500}.next[data-v-25a12aea],.prev[data-v-25a12aea]{width:60px;position:absolute;z-index:1010;font-size:60px;height:60px;line-height:60px;color:#333;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;top:0}.next[data-v-25a12aea]:hover,.prev[data-v-25a12aea]:hover{cursor:pointer;opacity:.7}.prev[data-v-25a12aea]{left:10px;text-align:left}.next[data-v-25a12aea]{right:10px;text-align:right}.disabled[data-v-25a12aea],.disabled[data-v-25a12aea]:hover{opacity:.2;cursor:default}\", \"\"]);\n\n// exports\n","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".slideshow{width:100%!important;padding:0!important}.slideshow .carousel-3d-controls span{color:#fff}.slideshow.page-section{padding:0}.slideshow .single-slide .has-content:after,.slideshow .slideshow-slide.has-content:after{content:\\\"\\\";background:rgba(0,0,0,.3);position:absolute;top:0;left:0;width:100%;height:100%}.slideshow .single-slide .has-content.full-screen,.slideshow .slideshow-slide.has-content.full-screen{height:100vh!important}.slideshow .single-slide .has-content.half-screen,.slideshow .slideshow-slide.has-content.half-screen{height:50vh}.slideshow .slideshow-background,.slideshow .slideshow-inner{position:absolute;top:0;left:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center}.slideshow .slideshow-inner{z-index:2}.slideshow .slideshow-inner h1,.slideshow .slideshow-inner h2,.slideshow .slideshow-inner h3,.slideshow .slideshow-inner p,.slideshow .slideshow-inner span{color:#fff!important}.slideshow .slideshow-inner .btn{margin:20px 0}.slideshow .slideshow-inner h1,.slideshow .slideshow-inner h2,.slideshow .slideshow-inner h3{margin:10px 0;line-height:1}.slideshow .slideshow-inner h1{font-size:56px}.slideshow .slideshow-inner h2{font-size:32px}.slideshow .slideshow-inner h3{font-size:24px}.slideshow .slideshow-inner p{color:#fff;font-weight:700;font-size:18px;margin-top:0}.slideshow .carousel-3d-container{width:100%;margin:0!important;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.slideshow .carousel-3d-slide,.slideshow .carousel-3d-slider{width:100%!important}.slideshow .carousel-3d-slide{-webkit-transition:none!important;transition:none!important}.slideshow .carousel-3d-slide .slideshow-inner{opacity:0;-webkit-transition:all .5s ease-in-out 1.5s;transition:all .5s ease-in-out 1.5s}.slideshow .carousel-3d-slide.current .slideshow-inner{opacity:1;-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out}.slideshow .responsive-image{height:100%;width:100%}.slideshow .responsive-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%;height:100%;width:100%}.slideshow .single-slide{min-height:200px;overflow:hidden}.slideshow .single-slide .slideshow-inner{min-height:200px;opacity:1}.slideshow .current .animate-zoom-out,.slideshow .single-slide .animate-zoom-out{-webkit-animation:zoom-out 2.5s ease-in-out;animation:zoom-out 2.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-zoom-in,.slideshow .single-slide .animate-zoom-in{-webkit-animation:zoom-in 2.5s ease-in-out;animation:zoom-in 2.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-pan-up,.slideshow .single-slide .animate-pan-up{-webkit-animation:pan-up 3.5s ease-in-out;animation:pan-up 3.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-pan-down,.slideshow .single-slide .animate-pan-down{-webkit-animation:pan-down 3.5s ease-in-out;animation:pan-down 3.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-pan-left,.slideshow .single-slide .animate-pan-left{-webkit-animation:pan-left 3.5s ease-in-out;animation:pan-left 3.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-pan-right,.slideshow .single-slide .animate-pan-right{-webkit-animation:pan-right 3.5s ease-in-out;animation:pan-right 3.5s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.slideshow .current .animate-fadein,.slideshow .single-slide .animate-fadein{-webkit-animation:fadeIn .3s ease-in-out;animation:fadeIn .3s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}\", \"\"]);\n\n// exports\n","export default {\n  computed: {\n    parse() {\n      return (item) => {\n        if (typeof (item.value) === 'string') {\n          return JSON.parse(item.value)\n        } else {\n          return item.value\n        }\n      }\n    }\n  }\n}\n","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".carousel .carousel-slide.has-content:after{content:\\\"\\\";background:rgba(0,0,0,.3);position:absolute;top:0;left:0;width:100%;height:100%}.carousel .carousel-background,.carousel .carousel-content{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center}.carousel .responsive-image{height:100%}.carousel .responsive-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%;height:100%}.carousel .carousel-inner{z-index:2}.carousel .carousel-inner h1,.carousel .carousel-inner h2,.carousel .carousel-inner h3,.carousel .carousel-inner p{margin:10px 0;line-height:1;color:#fff}.carousel .carousel-3d-controls a{opacity:.5;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.carousel .carousel-3d-controls a:hover{opacity:1}.theme-clean-dark .carousel .carousel-3d-controls span{color:#fff}.theme-clean-light .carousel .carousel-3d-controls span{color:#333}.theme-vantage-dark .carousel .carousel-3d-controls span{color:#fff}.theme-vantage-light .carousel .carousel-3d-controls span{color:#333}.theme-slanted-dark .carousel .carousel-3d-controls span{color:#fff}.theme-slanted-light .carousel .carousel-3d-controls span{color:#333}\", \"\"]);\n\n// exports\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slideshow.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d2607e34\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=style&index=0&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"02a33cb2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Carousel3d.vue?vue&type=style&index=0&id=9fbae6f2&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-section slideshow\"},[(_vm.title)?_c('h2',{staticClass:\"list-title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),(_vm.hasSlides)?_c('div',[_c('Carousel3d',{ref:\"slideshow\",attrs:{\"perspective\":0,\"display\":1,\"controlsVisible\":_vm.hasSlides,\"disable3d\":true,\"height\":_vm.slideshowHeight,\"unit\":\"vh\",\"border\":0},on:{\"before-slide-change\":_vm.setSlideshowHeight}},_vm._l((_vm.items),function(slide,index){return _c('Slide',{key:(\"carousel-item-\" + index),class:['slideshow-slide', _vm.slideClasses(_vm.parse(slide))],style:((\"background-color: \" + (_vm.parse(slide).background_colour))),attrs:{\"index\":index,\"unit\":\"vh\"}},[_c('SlideshowInner',{attrs:{\"slide\":slide}})],1)}),1)],1):_c('div',{staticClass:\"single-slide\",style:((\"height: \" + _vm.slideshowHeight))},[_c('SlideshowInner',{class:[_vm.slideClasses(_vm.parse(_vm.items[0]))],style:((\"\\n        position: relative\\n        background-color: \" + (_vm.parse(_vm.items[0]).background_colour) + \";\\n        height: \" + _vm.slideshowHeight)),attrs:{\"slide\":_vm.items[0]}})],1),(_vm.separator)?_c('SectionSeparator',{attrs:{\"separator\":_vm.separator}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ResponsiveImage',{staticClass:\"slideshow-background\",class:_vm.animationClass(_vm.slide),attrs:{\"imageVersions\":_vm.slideImages(_vm.slide),\"description\":_vm.imageAlt(_vm.slide),\"width\":_vm.imageWidth}}),_c('div',{staticClass:\"slideshow-inner\"},[(_vm.parse(_vm.slide).heading)?_c('h1',{staticClass:\"heading\"},[_vm._v(\"\\n      \"+_vm._s(_vm.parse(_vm.slide).heading)+\"\\n    \")]):_vm._e(),(_vm.parse(_vm.slide).sub_heading)?_c('h2',{staticClass:\"heading\"},[_vm._v(\"\\n      \"+_vm._s(_vm.parse(_vm.slide).sub_heading)+\"\\n    \")]):_vm._e(),(_vm.parse(_vm.slide).text)?_c('p',[_vm._v(_vm._s(_vm.parse(_vm.slide).text))]):_vm._e(),(_vm.parse(_vm.slide).button_text)?_c('a',{staticClass:\"btn\",attrs:{\"href\":_vm.parse(_vm.slide).button_link}},[_vm._v(\"\\n      \"+_vm._s(_vm.parse(_vm.slide).button_text)+\"\\n    \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\n  <div>\n    <ResponsiveImage\n      class=\"slideshow-background\"\n      :class=\"animationClass(slide)\"\n      :imageVersions=\"slideImages(slide)\"\n      :description=\"imageAlt(slide)\"\n      :width=\"imageWidth\"/>\n\n    <div class=\"slideshow-inner\">\n      <h1\n        v-if=\"parse(slide).heading\"\n        class=\"heading\">\n        {{parse(slide).heading}}\n      </h1>\n\n      <h2\n        v-if=\"parse(slide).sub_heading\"\n        class=\"heading\">\n        {{parse(slide).sub_heading}}\n      </h2>\n\n      <p v-if=\"parse(slide).text\">{{parse(slide).text}}</p>\n\n      <a\n        v-if=\"parse(slide).button_text\"\n        class=\"btn\"\n        :href=\"parse(slide).button_link\">\n        {{parse(slide).button_text}}\n      </a>\n    </div>\n  </div>\n</template>\n\n<script>\nimport parse from '@/mixins/parse'\nimport ImageRenderer from '@/mixins/ImageRenderer'\n\nimport ResponsiveImage from '@/components/ResponsiveImage'\n\nexport default {\n  name: 'SlideshowInner',\n\n  props: ['slide'],\n\n  mixins: [ImageRenderer, parse],\n\n  components: {\n    ResponsiveImage\n  },\n\n  computed: {\n    animationClass() {\n      return (slide) => {\n        return this.parse(slide).slide_animation ? `animate-${this.parse(slide).slide_animation}` : ''\n      }\n    },\n\n    imageAlt() {\n      return (slide) => {\n        return this.parse(slide).image_alt_text || 'Slideshow background image'\n      }\n    },\n\n    slideImages() {\n      return (slide) => {\n        let image = slide.image_versions.length ? slide.image_versions : []\n        return image\n      }\n    }\n  },\n\n  methods: {\n    setImageWidth() {\n      let screenSize = this.currentScreenSize\n\n      if (screenSize >= 1100) {\n        this.imageWidth = 1800\n\n      } else if (screenSize >= 768) {\n        this.imageWidth = 1100\n\n        if(this.isRetina) {\n          this.imageWidth = 1800\n        }\n\n      } else if (screenSize >= 600) {\n        this.imageWidth = 768\n\n        if(this.isRetina) {\n          this.imageWidth = 1100\n        }\n\n      } else {\n        this.imageWidth = 600\n\n        if(this.isRetina) {\n          this.imageWidth = 768\n        }\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"sass\">\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlideshowInner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlideshowInner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SlideshowInner.vue?vue&type=template&id=2657caa3&lang=html&\"\nimport script from \"./SlideshowInner.vue?vue&type=script&lang=js&\"\nexport * from \"./SlideshowInner.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  \n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  null,\n  \"5a2e6220\"\n  \n)\n\nexport default component.exports","<template lang=\"html\">\n  <div class=\"page-section slideshow\">\n\n    <h2 class=\"list-title\" v-if=\"title\" v-html=\"title\"></h2>\n\n    <div v-if=\"hasSlides\">\n      <Carousel3d\n        ref=\"slideshow\"\n        :perspective=\"0\"\n        :display=\"1\"\n        :controlsVisible=\"hasSlides\"\n        :disable3d=\"true\"\n        @before-slide-change=\"setSlideshowHeight\"\n        :height=\"slideshowHeight\"\n        unit=\"vh\"\n        :border=\"0\">\n\n        <Slide\n          v-for=\"(slide, index) in items\"\n          :index=\"index\"\n          :class=\"['slideshow-slide', slideClasses(parse(slide))]\"\n          unit=\"vh\"\n          :style=\"`background-color: ${parse(slide).background_colour}`\"\n          :key=\"`carousel-item-${index}`\">\n\n          <SlideshowInner :slide=\"slide\"/>\n\n        </Slide>\n      </Carousel3d>\n    </div>\n\n    <div\n      v-else\n      class=\"single-slide\"\n      :style=\"`height: ${slideshowHeight}`\">\n\n      <SlideshowInner\n        :slide=\"items[0]\"\n        :class=\"[slideClasses(parse(items[0]))]\"\n        :style=\"`\n          position: relative\n          background-color: ${parse(items[0]).background_colour};\n          height: ${slideshowHeight}`\"/>\n    </div>\n\n    <SectionSeparator v-if=\"separator\" :separator=\"separator\"/>\n  </div>\n</template>\n\n<script>\nimport parse from '@/mixins/parse'\n\nimport SlideshowInner from '@/components/lists/Slideshow/SlideshowInner'\nimport SectionSeparator from '@/components/lists/SectionSeparator'\nimport Carousel3d from '@/components/lists/Carousel/Carousel3d'\nimport Slide from '@/components/lists/Carousel/Slide'\n\nexport default {\n  name: 'Slideshow',\n\n  props: ['items', 'title', 'separator'],\n\n  data() {\n    return {\n      slideshowHeight: ''\n    }\n  },\n\n  mixins: [parse],\n\n  components: {\n    Carousel3d,\n    Slide,\n    SectionSeparator,\n    SlideshowInner\n  },\n\n  computed: {\n    slideClasses() {\n      return (slide) => {\n        let hasContent =\n          slide.heading ||\n          slide.sub_heading ||\n          slide.text\n\n        return [\n          {'has-content': hasContent}\n        ]\n      }\n    },\n\n    hasSlides() {\n      return this.items.length > 1\n    }\n  },\n\n  methods: {\n    setSlideshowHeight(index) {\n      let slide = this.items[index]\n      this.slideshowHeight = this.parse(slide).slide_height\n    }\n  },\n\n  mounted() {\n    this.setSlideshowHeight(0)\n  }\n}\n</script>\n\n<style lang=\"sass\">\n  @import '../../../stylesheets/base/variables'\n  @import '../../../stylesheets/helpers/mixins'\n\n  .slideshow\n    width: 100%!important\n    padding: 0!important\n\n    .carousel-3d-controls\n      span\n        color: #fff\n\n    &.page-section\n      padding: 0\n\n    .slideshow-slide.has-content, .single-slide .has-content\n      &:after\n        content: ''\n        background: rgba(0, 0, 0, 0.3)\n        position: absolute\n        top: 0\n        left: 0\n        width: 100%\n        height: 100%\n\n      &.full-screen\n        height: 100vh!important\n\n      &.half-screen\n        height: 50vh\n\n    .slideshow-background,\n    .slideshow-inner\n      position: absolute\n      top: 0\n      left: 0\n      width: 100%\n      height: 100%\n      display: flex\n      align-items: center\n      justify-content: center\n      flex-direction: column\n      text-align: center\n\n    .slideshow-inner\n      z-index: 2\n\n      h1, h2, h3, p, span\n        color: #fff!important\n\n      .btn\n        margin: $gap-medium 0\n\n      h1, h2, h3\n        margin: $gap-small 0\n        line-height: 1\n\n      h1\n        font-size: 56px\n\n      h2\n        font-size: 32px\n\n      h3\n        font-size: 24px\n\n      p\n        color: #fff\n        font-weight: bold\n        font-size: 18px\n        margin-top: 0\n\n    .carousel-3d-container\n      width: 100%\n      margin: 0!important\n      transition: opacity .3s ease-in-out\n\n    .carousel-3d-slide, .carousel-3d-slider\n      width: 100%!important\n\n    .carousel-3d-slide\n      transition: none!important\n\n      .slideshow-inner\n        opacity: 0\n        transition: all .5s 1.5s ease-in-out\n\n      &.current\n        .slideshow-inner\n          opacity: 1\n          transition: all .5s ease-in-out\n\n    .responsive-image\n      height: 100%\n      width: 100%\n\n      img\n        object-fit: cover\n        object-position: 50% 50%\n        height: 100%\n        width: 100%\n\n    .single-slide\n      min-height: 200px\n      overflow: hidden\n\n      .slideshow-inner\n        min-height: 200px\n        opacity: 1\n\n    .single-slide .animate-zoom-out,\n    .current .animate-zoom-out\n      animation: zoom-out 2.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-zoom-in,\n    .current .animate-zoom-in\n      animation: zoom-in 2.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-pan-up,\n    .current .animate-pan-up\n      animation: pan-up 3.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-pan-down,\n    .current .animate-pan-down\n      animation: pan-down 3.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-pan-left,\n    .current .animate-pan-left\n      animation: pan-left 3.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-pan-right,\n    .current .animate-pan-right\n      animation: pan-right 3.5s ease-in-out\n      animation-fill-mode: forwards\n\n    .single-slide .animate-fadein,\n    .current .animate-fadein\n      animation: fadeIn .3s ease-in-out\n      animation-fill-mode: forwards\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slideshow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slideshow.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Slideshow.vue?vue&type=template&id=5792de92&lang=html&\"\nimport script from \"./Slideshow.vue?vue&type=script&lang=js&\"\nexport * from \"./Slideshow.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./Slideshow.vue?vue&type=style&index=0&lang=sass&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  injectStyles,\n  null,\n  \"3b0d29f4\"\n  \n)\n\nexport default component.exports"],"sourceRoot":""}