@shift72/core-template 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -0
- package/CHANGELOG.md +46 -11
- package/kibble.json +3 -3
- package/package.json +2 -3
- package/scripts/translate.mjs +30 -22
- package/site/ar_LB.all.json +65 -11
- package/site/ca_ES.all.json +65 -11
- package/site/da_DK.all.json +64 -10
- package/site/de_DE.all.json +64 -10
- package/site/el_EL.all.json +64 -10
- package/site/en_AU.all.json +69 -15
- package/site/es_ES.all.json +66 -12
- package/site/es_MX.all.json +66 -12
- package/site/{ee_EE.all.json → et_ET.all.json} +64 -10
- package/site/fi_FI.all.json +67 -13
- package/site/fr_FR.all.json +66 -12
- package/site/hr_HR.all.json +65 -11
- package/site/hu_HU.all.json +65 -11
- package/site/it_IT.all.json +65 -11
- package/site/ja_JP.all.json +64 -10
- package/site/lt_LT.all.json +64 -10
- package/site/nl_BE.all.json +65 -11
- package/site/no_NO.all.json +65 -11
- package/site/pl_PL.all.json +65 -11
- package/site/plans.html.jet +17 -17
- package/site/pt_BR.all.json +65 -11
- package/site/pt_PT.all.json +65 -11
- package/site/ru_RU.all.json +67 -13
- package/site/sr_SR.all.json +67 -13
- package/site/static/fonts/fa-s72.woff +0 -0
- package/site/static/js/main.js +1 -0
- package/site/static/scripts/main.js.map +1 -1
- package/site/styles/_availability-tags.scss +63 -31
- package/site/styles/_awards.scss +4 -3
- package/site/styles/_buttons.scss +15 -3
- package/site/styles/_carousel.scss +21 -24
- package/site/styles/_forms.scss +8 -3
- package/site/styles/_icons.scss +180 -9
- package/site/styles/_legacy.scss +0 -7
- package/site/styles/_meta-detail.scss +65 -40
- package/site/styles/_nav.scss +5 -4
- package/site/styles/_plans.scss +10 -17
- package/site/styles/_poster.scss +3 -9
- package/site/styles/_share-modal.scss +86 -0
- package/site/styles/_shift72.scss +7 -0
- package/site/styles/_shopping.scss +0 -1
- package/site/styles/_skip-link.scss +1 -1
- package/site/styles/_tooltips.scss +7 -0
- package/site/styles/_variables.scss +9 -8
- package/site/styles/_wishlist.scss +2 -2
- package/site/styles/main.scss +3 -2
- package/site/subscriptions.html.jet +11 -0
- package/site/templates/application/application.jet +2 -2
- package/site/templates/application/google.jet +8 -13
- package/site/templates/application/nav/user_logged_in.jet +7 -2
- package/site/templates/collection/carousel_item.jet +5 -3
- package/site/templates/common/social-media-buttons.jet +1 -37
- package/site/templates/common/sponsor-image.jet +18 -0
- package/site/templates/film/item.jet +92 -86
- package/site/templates/tv/detail.jet +30 -21
- package/site/tr_TR.all.json +64 -10
- package/site/uk_UA.all.json +65 -11
- package/site/zh_TW.all.json +64 -10
- package/site/static/fonts/FontAwesome.otf +0 -0
- package/site/static/fonts/fontawesome-webfont.eot +0 -0
- package/site/static/fonts/fontawesome-webfont.svg +0 -565
- package/site/static/fonts/fontawesome-webfont.ttf +0 -0
- package/site/static/fonts/fontawesome-webfont.woff +0 -0
- package/site/static/fonts/fontawesome-webfont.woff2 +0 -0
- package/site/styles/_social-media-buttons.scss +0 -159
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"main.js","sources":["../js/modernizr-custom.js","../js/can-be-watched-button.component.js","../js/main.js"],"sourcesContent":["/*! modernizr 3.6.0 (Custom Build) | MIT *\n * https://modernizr.com/download/?-smil-setclasses !*/\n!function(e,n,s){function o(e,n){return typeof e===n}function a(){var e,n,s,a,t,r,f;for(var c in l)if(l.hasOwnProperty(c)){if(e=[],n=l[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(s=0;s<n.options.aliases.length;s++)e.push(n.options.aliases[s].toLowerCase());for(a=o(n.fn,\"function\")?n.fn():n.fn,t=0;t<e.length;t++)r=e[t],f=r.split(\".\"),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),i.push((a?\"\":\"no-\")+f.join(\"-\"))}}function t(e){var n=f.className,s=Modernizr._config.classPrefix||\"\";if(c&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+s+\"no-js(\\\\s|$)\");n=n.replace(o,\"$1\"+s+\"js$2\")}Modernizr._config.enableClasses&&(n+=\" \"+s+e.join(\" \"+s),c?f.className.baseVal=n:f.className=n)}var i=[],l=[],r={_version:\"3.6.0\",_config:{classPrefix:\"\",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var s=this;setTimeout(function(){n(s[e])},0)},addTest:function(e,n,s){l.push({name:e,fn:n,options:s})},addAsyncTest:function(e){l.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=r,Modernizr=new Modernizr;var f=n.documentElement,c=\"svg\"===f.nodeName.toLowerCase(),u={}.toString;Modernizr.addTest(\"smil\",function(){return!!n.createElementNS&&/SVGAnimate/.test(u.call(n.createElementNS(\"http://www.w3.org/2000/svg\",\"animate\")))}),a(),t(i),delete r.addTest,delete r.addAsyncTest;for(var d=0;d<Modernizr._q.length;d++)Modernizr._q[d]();e.Modernizr=Modernizr}(window,document);","import { utils } from 's72';\nimport { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';\n\nexport default class CanBeWatchedButton extends AppComponent {\n  constructor(props, context) {\n    super(props, context);\n    this.state = { loaded: false };\n  }\n\n  componentDidMount() {\n    this.updateState();\n    this.app.messagebus.subscribe('user-signed-in', () => this.updateState());\n    this.app.messagebus.subscribe('user-signed-out', () => this.updateState());\n    this.app.messagebus.subscribe('shopping-session-completed', session =>\n      this.shoppingSessionCompleted(session)\n    );\n  }\n\n  componentWillUnmount() {\n    this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());\n  }\n\n  updateState() {\n    if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {\n      return this.loadAvailability(this.props.slug)\n        .then(() => {\n          return this.setState({ loaded: true });\n        }, utils.noop)\n        .then(() => {\n          let e = getComponentElement(this);\n          e.classList.toggle('s72-show', this.state.loaded && this.state.isOwned);\n        }, utils.noop);\n    }\n  }\n\n  shoppingSessionCompleted(session) {\n    if (session.data.slug != this.props.slug) {\n      return;\n    }\n    this.updateState();\n  }\n\n  loadAvailability(slug) {\n    if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {\n      return this.app.availabilityService.getAvailability(slug).then(a => {\n        this.setState({ isOwned: a && a.canBeWatched });\n      });\n    }\n    return;\n  }\n\n  openLink(event, url) {\n    event.preventDefault();\n    if (url.length == 0) return;\n    window.open(url);\n  }\n\n  render(props, state) {\n    if (!state.loaded || !state.isOwned || props.url == '' || props.label == '') return;\n    return (\n      state.loaded &&\n      state.isOwned && (\n        <button\n          class=\"s72-btn s72-btn-can-be-watched\"\n          onClick={e => {\n            this.openLink(e, props.url);\n          }}\n        >\n          <span class=\"padder\" />\n          <span class=\"verb watch s72-btn-can-be-watched-label\">{props.label}</span>\n        </button>\n      )\n    );\n  }\n}\n\nbindAllComponents('can-be-watched-button', elements => {\n  return elements.map(e => render(h(CanBeWatchedButton, attrs(e)), e));\n});\n","import './modernizr-custom.js';\nimport './can-be-watched-button.component.js';\n\n/*global Swiper, Modernizr, s72*/\n\nlet slideObservers = [];\n\nfunction initializeWishlist() {\n  let wishlist = document.querySelector('s72-userwishlist');\n  if (!wishlist) return;\n  let originalFunction = wishlist.classList.remove;\n  wishlist.classList.remove = function (className) {\n    if (className == 's72-hide') {\n      // Hide this from view\n      wishlist.style.opacity = '0';\n\n      // Remove class\n      originalFunction.apply(this, [className]);\n\n      /* Convert this to a swiper */\n      let containers = wishlist.getElementsByClassName('swiper-container');\n      if (containers.length > 0) {\n        let container = containers[0];\n        let swiper = initializeSwiper(container, true);\n\n        init(swiper);\n        toggleButtons(container);\n      }\n\n      // Now show it\n      wishlist.style.opacity = '1';\n    } else {\n      originalFunction.apply(this, [className]);\n    }\n  };\n}\n\nfunction initializeSwiper(element, force) {\n  if (element.swiper) {\n    if (force) {\n      element.swiper.destroy();\n    } else {\n      return;\n    }\n  }\n\n  let isTouchscreen = isTouchscreenEnabled();\n\n  let defaultSlidesPerView = 8;\n  let slidesPerView = {\n    320: 2,\n    568: 2,\n    667: 2,\n    768: 4,\n    992: 4,\n    1200: 4,\n    1440: 6,\n    1600: 6,\n  };\n\n  // Override some slider values specific sizes. Could potentially expand this for portrait vs. landscapes\n  if (element.getAttribute('data-items-per-row')) {\n    let itemsPerRow = element.getAttribute('data-items-per-row');\n    let layout = element.getAttribute('data-layout');\n\n    if (layout == 'portrait') {\n      switch (itemsPerRow) {\n      case '6':\n        defaultSlidesPerView = 8;\n        slidesPerView[1600] = 6;\n        slidesPerView[1440] = 6;\n        slidesPerView[1200] = 5;\n        slidesPerView[992] = 4;\n        slidesPerView[768] = 4;\n        slidesPerView[667] = 3;\n        slidesPerView[568] = 3;\n        break;\n\n      case '4':\n        defaultSlidesPerView = 6;\n        slidesPerView[1600] = 5;\n        slidesPerView[1440] = 5;\n        slidesPerView[1200] = 4;\n        slidesPerView[992] = 3;\n        slidesPerView[768] = 3;\n        slidesPerView[667] = 3;\n        slidesPerView[568] = 2;\n        break;\n      }\n    } else if (layout == 'landscape') {\n      switch (itemsPerRow) {\n      case '4':\n        defaultSlidesPerView = 5;\n        slidesPerView[1600] = 4;\n        slidesPerView[1440] = 4;\n        slidesPerView[1200] = 3;\n        slidesPerView[992] = 3;\n        slidesPerView[768] = 3;\n        slidesPerView[568] = 2;\n        break;\n\n      case '3':\n        defaultSlidesPerView = 4;\n        slidesPerView[1600] = 3;\n        slidesPerView[1440] = 3;\n        slidesPerView[1200] = 3;\n        slidesPerView[992] = 2;\n        slidesPerView[768] = 2;\n        slidesPerView[568] = 2;\n        break;\n      }\n    }\n  }\n\n  let swiper = new Swiper(element, {\n    init: false,\n    slidesPerView: defaultSlidesPerView,\n    spaceBetween: 1,\n    slidesPerGroup: 1, // leave this for infinite scrollings\n    speed: 600,\n    watchSlidesVisibility: true,\n\n    breakpoints: {\n      // when window width is <= 320px\n      319: {\n        slidesPerView: slidesPerView[320],\n        spaceBetween: 2,\n        slidesPerGroup: 1,\n        slidesOffsetBefore: 20,\n        slidesOffsetAfter: 20,\n      },\n      // when window width is <= 480px\n      567: {\n        slidesPerView: slidesPerView[568],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[568] : 1,\n        slidesOffsetBefore: 20,\n        slidesOffsetAfter: 20,\n      },\n      // when window width is <= 640px\n      666: {\n        slidesPerView: slidesPerView[667],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[667] : 1,\n      },\n      767: {\n        slidesPerView: slidesPerView[768],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[768] : 1,\n      },\n      991: {\n        slidesPerView: slidesPerView[992],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[992] : 1,\n      },\n      1199: {\n        slidesPerView: slidesPerView[1200],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1200] : 1,\n      },\n      1439: {\n        slidesPerView: slidesPerView[1440],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1440] : 1,\n      },\n      1599: {\n        slidesPerView: slidesPerView[1600],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1600] : 1,\n      },\n    },\n    pagination: {\n      el: '.swiper-pagination',\n      clickable: true,\n    },\n    on: {\n      init() {\n        element.dispatchEvent(new Event('init'));\n      },\n      slideChangeTransitionEnd() {\n        addAndRemoveSlides(element.swiper, true, true);\n        toggleButtons(element);\n      },\n    },\n  });\n\n  element.buttons = {};\n\n  initButton(\n    element,\n    element.closest('.swiper-wrapper-container').querySelector('.swiper-button-next'),\n    1\n  );\n  initButton(\n    element,\n    element.closest('.swiper-wrapper-container').querySelector('.swiper-button-prev'),\n    -1\n  );\n\n  return swiper;\n}\n\nfunction disableButton(button) {\n  button.classList.add('swiper-button-disabled');\n}\n\nfunction enableButton(button) {\n  button.classList.remove('swiper-button-disabled');\n}\n\nfunction toggleButtons(slider) {\n  let currentIndex = slider.swiper.activeIndex;\n  let slidesToTheLeft = currentIndex;\n  let slidesPerView = slider.swiper.params.slidesPerView;\n  let slidesLength = slider.swiper.slides.length;\n  let lastVisibleIndex = currentIndex + slidesPerView;\n  let slidesToTheRight = slidesLength - lastVisibleIndex;\n\n  if (slidesToTheLeft == 0) {\n    disableButton(slider.buttons.prev);\n  } else {\n    enableButton(slider.buttons.prev);\n  }\n\n  if (slidesToTheRight <= 0) {\n    disableButton(slider.buttons.next);\n  } else {\n    enableButton(slider.buttons.next);\n  }\n}\n\nfunction initButton(slider, button, velocity) {\n  if (button) {\n    button.classList.remove('s72-hide');\n    // Clone the button so any pre-existing listeners are destroyed\n    let buttonClone = button.cloneNode(true);\n    button.parentNode.replaceChild(buttonClone, button);\n\n    buttonClone.addEventListener('click', e => {\n      e.preventDefault();\n      if (velocity > 0) {\n        addAndRemoveSlides(slider.swiper, true, false);\n      } else {\n        addAndRemoveSlides(slider.swiper, false, true);\n      }\n      slider.swiper.slideToLoop(\n        slider.swiper.realIndex + slider.swiper.params.slidesPerView * velocity\n      );\n    });\n\n    let direction = velocity > 0 ? 'next' : 'prev';\n    slider.buttons[direction] = buttonClone;\n  }\n}\n\nfunction getMatchingDuplicatedSlides(slider, link) {\n  let result = [];\n\n  if (!slider.destroyed) {\n    Array.from(slider.el.querySelectorAll('.swiper-slide')).forEach(slide => {\n      if (!slide.classList.contains('base')) {\n        let thisLink = slide.querySelector('a.meta-item-link').getAttribute('href');\n        if (link === thisLink) result.push(slide);\n      }\n    });\n  }\n\n  return result;\n}\n\nfunction init(slider) {\n  slider.init();\n\n  // Set up a mutation observer against each base slide, as it'll get redrawn as the components get rendered\n  for (let x = 0; x < slider.slides.length; x++) {\n    let slide = slider.slides[x];\n\n    slide.classList.add('base');\n\n    if (infiniteScrollEnabled(slider)) {\n      let config = { subtree: true, childList: true };\n\n      let observer = new MutationObserver(mutations => {\n        for (let y = 0; y < mutations.length; y++) {\n          let mutationRecord = mutations[y];\n\n          // var href = mutationRecord.target.closest('a.meta-item-link').getAttribute('href');\n          let thisSlide = mutationRecord.target.closest('.swiper-slide');\n          if (thisSlide) {\n            let thisLink = thisSlide.querySelector('a.meta-item-link').getAttribute('href');\n\n            let duplicatedSlides = getMatchingDuplicatedSlides(slider, thisLink);\n\n            Array.from(duplicatedSlides).forEach(dupe => {\n              dupe.innerHTML = thisSlide.innerHTML;\n            });\n          }\n        }\n      });\n\n      observer.observe(slide, config);\n\n      slideObservers.push(observer);\n    }\n  }\n\n  addAndRemoveSlides(slider);\n\n  return true;\n}\n\nfunction infiniteScrollEnabled(slider) {\n  if (!Modernizr.smil) return false; // i.e. is this IE11\n\n  if (isTouchscreenEnabled()) return false; // i.e. is this a touchscreen device?\n\n  let el = slider.el;\n\n  if (el.getAttribute('disable-infinite-scroll') !== null) {\n    return false;\n  }\n\n  let prev = el.buttons.prev;\n  let next = el.buttons.next;\n\n  // Only infinite scroll on desktop (i.e. when the next/prev buttons are visible)\n  let buttonsVisible = (prev && prev.offsetHeight > 0) || (next && next.offsetHeight > 0);\n\n  let screens = slider.slides.length / slider.params.slidesPerView;\n\n  return buttonsVisible && screens > 1;\n}\n\nfunction addAndRemoveSlides(slider, append, prepend) {\n  // This is a no-go\n  if (!infiniteScrollEnabled(slider)) return;\n\n  // Just in case something's gone horribly wrong\n  if (slider.slides.length > 100) {\n    return;\n  }\n\n  if (append) {\n    let lastVisibleIndex = slider.activeIndex + slider.params.slidesPerView;\n    let slidesToTheRight = slider.slides.length - lastVisibleIndex;\n\n    if (slidesToTheRight <= slider.params.slidesPerView) {\n      appendBaseSlides(slider);\n    }\n  }\n\n  if (prepend) {\n    if (slider.activeIndex <= slider.params.slidesPerView) {\n      prependBaseSlides(slider);\n    }\n  }\n}\n\nfunction getBaseSlides(slider) {\n  let result = Array.from(slider.el.querySelectorAll('.swiper-slide.base')).map(node => {\n    return node.cloneNode(true);\n  });\n\n  Array.from(result).forEach(slide => {\n    slide.classList.remove(\n      'base',\n      'swiper-slide-visible',\n      'swiper-slide-active',\n      'swiper-slide-next',\n      'swiper-slide-prev'\n    );\n  });\n\n  return result;\n}\n\nfunction appendBaseSlides(slider) {\n  let baseSlides = getBaseSlides(slider).slice(0);\n  slider.appendSlide(baseSlides);\n\n  cullSlides(slider, 1);\n}\n\nfunction prependBaseSlides(slider) {\n  // var baseSlides = getBaseSlides(slider).reverse().slice(0);\n  let baseSlides = getBaseSlides(slider).reverse().slice(0);\n\n  let currentIndex = slider.activeIndex;\n\n  for (let i = 0; i < baseSlides.length; i++) {\n    slider.prependSlide(baseSlides[i]);\n  }\n  slider.slideTo(currentIndex + baseSlides.length, 0);\n\n  cullSlides(slider, -1);\n}\n\n// Get rid of the oldest N slides to the left of current\nfunction cullSlides(slider, direction) {\n  let baseSlides = getBaseSlides(slider);\n\n  let indices = [];\n  for (let index = 0; index < slider.slides.length; index++) {\n    let slide = slider.slides[index];\n    if (direction > 0) {\n      if (index < slider.activeIndex && !slide.classList.contains('base')) {\n        indices.push(index);\n      }\n    } else if (index > slider.activeIndex && !slide.classList.contains('base')) {\n      indices.push(index);\n    }\n  }\n\n  if (indices.length > baseSlides.length) {\n    let toCullIndices = [];\n    if (direction > 0) {\n      toCullIndices = indices.slice(0, baseSlides.length);\n    } else {\n      toCullIndices = indices.reverse().slice(0, baseSlides.length).reverse();\n    }\n\n    slider.removeSlide(toCullIndices.reverse());\n  }\n}\n\nfunction initSearch() {\n  let searchButton = document.querySelector('.btn-search-open');\n  let searchForm = document.querySelector('.form-control-search');\n\n  let openSearch = function () {\n    document.querySelector('.form-control-search').focus();\n    document.querySelector('.navbar-nav-search').classList.add('search-show');\n    document.querySelector('.navbar-nav-search').classList.remove('search-hidden');\n  };\n\n  let closeSearch = function () {\n    document.querySelector('.navbar-nav-search').classList.remove('search-show');\n    document.querySelector('.navbar-nav-search').classList.add('search-hidden');\n  };\n\n  searchButton.addEventListener('click', openSearch, false);\n  searchForm.addEventListener('focusin', openSearch, false);\n  searchForm.addEventListener('focusout', closeSearch, false);\n}\n\nfunction initScroll() {\n  let nav = document.querySelector('.navbar-toggler');\n  nav.addEventListener('click', () => {\n    toggleScroll();\n  });\n}\n\nfunction toggleScroll() {\n  let body = document.querySelector('body');\n  if (!body.classList.contains('no-scroll')) {\n    body.classList.add('no-scroll');\n  } else {\n    body.classList.remove('no-scroll');\n  }\n}\n\nfunction documentReady(app) {\n  initializeWishlist();\n\n  app.classificationsService.load('/classifications.all.json');\n\n  detectTouchscreen();\n\n  let swipers = document.getElementsByClassName('swiper-container');\n  for (let i = 0; i < swipers.length; i++) {\n    let el = swipers[i];\n    if (el.getAttribute('is-wishlist') == undefined) {\n      let swiper = initializeSwiper(el, false);\n      init(swiper);\n\n      toggleButtons(el);\n    }\n  }\n\n  document.querySelectorAll('.btn-trailer').forEach(btn => {\n    btn.addEventListener('click', e => {\n      e.preventDefault();\n      e.stopPropagation();\n      window.location = btn.getAttribute('data-url');\n    });\n  });\n\n  document.querySelectorAll('.navbar-nav').forEach(nav => {\n    nav.classList.remove('s72-hide');\n  });\n  if (document.querySelector('.navbar-nav-search')) {\n    initSearch();\n  }\n  initScroll();\n}\n\nfunction detectTouchscreen() {\n  let touchEnabled = s72.utils.device.isTouchEnabled();\n  document.querySelector('html').setAttribute('is-touchscreen', touchEnabled);\n}\n\nfunction isTouchscreenEnabled() {\n  return document.querySelector('html').getAttribute('is-touchscreen') === 'true';\n}\ndocument.addEventListener('s72loaded', event => {\n  let app = event.detail.app;\n  documentReady(app);\n});\n"],"names":["super","this","utils","let","getComponentElement","AppComponent","bindAllComponents","render","h","attrs","y"],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"main.js","sources":["../js/modernizr-custom.js","../js/can-be-watched-button.component.js","../js/main.js"],"sourcesContent":["/*! modernizr 3.6.0 (Custom Build) | MIT *\n * https://modernizr.com/download/?-smil-setclasses !*/\n!function(e,n,s){function o(e,n){return typeof e===n}function a(){var e,n,s,a,t,r,f;for(var c in l)if(l.hasOwnProperty(c)){if(e=[],n=l[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(s=0;s<n.options.aliases.length;s++)e.push(n.options.aliases[s].toLowerCase());for(a=o(n.fn,\"function\")?n.fn():n.fn,t=0;t<e.length;t++)r=e[t],f=r.split(\".\"),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),i.push((a?\"\":\"no-\")+f.join(\"-\"))}}function t(e){var n=f.className,s=Modernizr._config.classPrefix||\"\";if(c&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+s+\"no-js(\\\\s|$)\");n=n.replace(o,\"$1\"+s+\"js$2\")}Modernizr._config.enableClasses&&(n+=\" \"+s+e.join(\" \"+s),c?f.className.baseVal=n:f.className=n)}var i=[],l=[],r={_version:\"3.6.0\",_config:{classPrefix:\"\",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var s=this;setTimeout(function(){n(s[e])},0)},addTest:function(e,n,s){l.push({name:e,fn:n,options:s})},addAsyncTest:function(e){l.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=r,Modernizr=new Modernizr;var f=n.documentElement,c=\"svg\"===f.nodeName.toLowerCase(),u={}.toString;Modernizr.addTest(\"smil\",function(){return!!n.createElementNS&&/SVGAnimate/.test(u.call(n.createElementNS(\"http://www.w3.org/2000/svg\",\"animate\")))}),a(),t(i),delete r.addTest,delete r.addAsyncTest;for(var d=0;d<Modernizr._q.length;d++)Modernizr._q[d]();e.Modernizr=Modernizr}(window,document);","import { utils } from 's72';\nimport { AppComponent, bindAllComponents, render, h, attrs, getComponentElement } from 's72.ui';\n\nexport default class CanBeWatchedButton extends AppComponent {\n  constructor(props, context) {\n    super(props, context);\n    this.state = { loaded: false };\n  }\n\n  componentDidMount() {\n    this.updateState();\n    this.app.messagebus.subscribe('user-signed-in', () => this.updateState());\n    this.app.messagebus.subscribe('user-signed-out', () => this.updateState());\n    this.app.messagebus.subscribe('shopping-session-completed', session =>\n      this.shoppingSessionCompleted(session)\n    );\n  }\n\n  componentWillUnmount() {\n    this.app.messagebus.unsubscribe('shopping-session-completed', () => this.updateState());\n  }\n\n  updateState() {\n    if (this.props.slug && this.app.shoppingService.isValidType(this.props.slug)) {\n      return this.loadAvailability(this.props.slug)\n        .then(() => {\n          return this.setState({ loaded: true });\n        }, utils.noop)\n        .then(() => {\n          let e = getComponentElement(this);\n          e.classList.toggle('s72-show', this.state.loaded && this.state.isOwned);\n        }, utils.noop);\n    }\n  }\n\n  shoppingSessionCompleted(session) {\n    if (session.data.slug != this.props.slug) {\n      return;\n    }\n    this.updateState();\n  }\n\n  loadAvailability(slug) {\n    if (utils.slugs.detect(slug) === utils.slugs.TYPE.FILM) {\n      return this.app.availabilityService.getAvailability(slug).then(a => {\n        this.setState({ isOwned: a && a.canBeWatched });\n      });\n    }\n    return;\n  }\n\n  openLink(event, url) {\n    event.preventDefault();\n    if (url.length == 0) return;\n    window.open(url);\n  }\n\n  render(props, state) {\n    if (!state.loaded || !state.isOwned || props.url == '' || props.label == '') return;\n    return (\n      state.loaded &&\n      state.isOwned && (\n        <button\n          class=\"s72-btn s72-btn-can-be-watched\"\n          onClick={e => {\n            this.openLink(e, props.url);\n          }}\n        >\n          <span class=\"padder\" />\n          <span class=\"verb watch s72-btn-can-be-watched-label\">{props.label}</span>\n        </button>\n      )\n    );\n  }\n}\n\nbindAllComponents('can-be-watched-button', elements => {\n  return elements.map(e => render(h(CanBeWatchedButton, attrs(e)), e));\n});\n","import './modernizr-custom.js';\nimport './can-be-watched-button.component.js';\n\n/*global Swiper, Modernizr, s72*/\n\nlet slideObservers = [];\n\nfunction initializeWishlist() {\n  let wishlist = document.querySelector('s72-userwishlist');\n  if (!wishlist) return;\n  let originalFunction = wishlist.classList.remove;\n  wishlist.classList.remove = function (className) {\n    if (className == 's72-hide') {\n      // Hide this from view\n      wishlist.style.opacity = '0';\n\n      // Remove class\n      originalFunction.apply(this, [className]);\n\n      /* Convert this to a swiper */\n      let containers = wishlist.getElementsByClassName('swiper-container');\n      if (containers.length > 0) {\n        let container = containers[0];\n        let swiper = initializeSwiper(container, true);\n\n        init(swiper);\n        toggleButtons(container);\n      }\n\n      // Now show it\n      wishlist.style.opacity = '1';\n    } else {\n      originalFunction.apply(this, [className]);\n    }\n  };\n}\n\nfunction initializeSwiper(element, force) {\n  if (element.swiper) {\n    if (force) {\n      element.swiper.destroy();\n    } else {\n      return;\n    }\n  }\n\n  let isTouchscreen = isTouchscreenEnabled();\n\n  let defaultSlidesPerView = 8;\n  let slidesPerView = {\n    320: 2,\n    568: 2,\n    667: 2,\n    768: 4,\n    992: 4,\n    1200: 4,\n    1440: 6,\n    1600: 6,\n  };\n\n  // Override some slider values specific sizes. Could potentially expand this for portrait vs. landscapes\n  if (element.getAttribute('data-items-per-row')) {\n    let itemsPerRow = element.getAttribute('data-items-per-row');\n    let layout = element.getAttribute('data-layout');\n\n    if (layout == 'portrait') {\n      switch (itemsPerRow) {\n      case '6':\n        defaultSlidesPerView = 8;\n        slidesPerView[1600] = 6;\n        slidesPerView[1440] = 6;\n        slidesPerView[1200] = 5;\n        slidesPerView[992] = 4;\n        slidesPerView[768] = 4;\n        slidesPerView[667] = 3;\n        slidesPerView[568] = 3;\n        break;\n\n      case '4':\n        defaultSlidesPerView = 6;\n        slidesPerView[1600] = 5;\n        slidesPerView[1440] = 5;\n        slidesPerView[1200] = 4;\n        slidesPerView[992] = 3;\n        slidesPerView[768] = 3;\n        slidesPerView[667] = 3;\n        slidesPerView[568] = 2;\n        break;\n      }\n    } else if (layout == 'landscape') {\n      switch (itemsPerRow) {\n      case '4':\n        defaultSlidesPerView = 5;\n        slidesPerView[1600] = 4;\n        slidesPerView[1440] = 4;\n        slidesPerView[1200] = 3;\n        slidesPerView[992] = 3;\n        slidesPerView[768] = 3;\n        slidesPerView[568] = 2;\n        break;\n\n      case '3':\n        defaultSlidesPerView = 4;\n        slidesPerView[1600] = 3;\n        slidesPerView[1440] = 3;\n        slidesPerView[1200] = 3;\n        slidesPerView[992] = 2;\n        slidesPerView[768] = 2;\n        slidesPerView[568] = 2;\n        break;\n      }\n    }\n  }\n\n  let swiper = new Swiper(element, {\n    init: false,\n    slidesPerView: defaultSlidesPerView,\n    spaceBetween: 1,\n    slidesPerGroup: 1, // leave this for infinite scrollings\n    speed: 600,\n    watchSlidesVisibility: true,\n\n    breakpoints: {\n      // when window width is <= 320px\n      319: {\n        slidesPerView: slidesPerView[320],\n        spaceBetween: 2,\n        slidesPerGroup: 1,\n        slidesOffsetBefore: 20,\n        slidesOffsetAfter: 20,\n      },\n      // when window width is <= 480px\n      567: {\n        slidesPerView: slidesPerView[568],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[568] : 1,\n        slidesOffsetBefore: 20,\n        slidesOffsetAfter: 20,\n      },\n      // when window width is <= 640px\n      666: {\n        slidesPerView: slidesPerView[667],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[667] : 1,\n      },\n      767: {\n        slidesPerView: slidesPerView[768],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[768] : 1,\n      },\n      991: {\n        slidesPerView: slidesPerView[992],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[992] : 1,\n      },\n      1199: {\n        slidesPerView: slidesPerView[1200],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1200] : 1,\n      },\n      1439: {\n        slidesPerView: slidesPerView[1440],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1440] : 1,\n      },\n      1599: {\n        slidesPerView: slidesPerView[1600],\n        spaceBetween: 2,\n        slidesPerGroup: isTouchscreen ? slidesPerView[1600] : 1,\n      },\n    },\n    pagination: {\n      el: '.swiper-pagination',\n      clickable: true,\n    },\n    on: {\n      init() {\n        element.dispatchEvent(new Event('init'));\n      },\n      slideChangeTransitionEnd() {\n        addAndRemoveSlides(element.swiper, true, true);\n        toggleButtons(element);\n      },\n    },\n  });\n\n  element.buttons = {};\n\n  initButton(\n    element,\n    element.closest('.swiper-wrapper-container').querySelector('.swiper-button-next'),\n    1\n  );\n  initButton(\n    element,\n    element.closest('.swiper-wrapper-container').querySelector('.swiper-button-prev'),\n    -1\n  );\n\n  return swiper;\n}\n\nfunction disableButton(button) {\n  button.classList.add('swiper-button-disabled');\n}\n\nfunction enableButton(button) {\n  button.classList.remove('swiper-button-disabled');\n}\n\nfunction toggleButtons(slider) {\n  let currentIndex = slider.swiper.activeIndex;\n  let slidesToTheLeft = currentIndex;\n  let slidesPerView = slider.swiper.params.slidesPerView;\n  let slidesLength = slider.swiper.slides.length;\n  let lastVisibleIndex = currentIndex + slidesPerView;\n  let slidesToTheRight = slidesLength - lastVisibleIndex;\n\n  if (slidesToTheLeft == 0) {\n    disableButton(slider.buttons.prev);\n  } else {\n    enableButton(slider.buttons.prev);\n  }\n\n  if (slidesToTheRight <= 0) {\n    disableButton(slider.buttons.next);\n  } else {\n    enableButton(slider.buttons.next);\n  }\n}\n\nfunction initButton(slider, button, velocity) {\n  if (button) {\n    button.classList.remove('s72-hide');\n    // Clone the button so any pre-existing listeners are destroyed\n    let buttonClone = button.cloneNode(true);\n    button.parentNode.replaceChild(buttonClone, button);\n\n    buttonClone.addEventListener('click', e => {\n      e.preventDefault();\n      if (velocity > 0) {\n        addAndRemoveSlides(slider.swiper, true, false);\n      } else {\n        addAndRemoveSlides(slider.swiper, false, true);\n      }\n      slider.swiper.slideToLoop(\n        slider.swiper.realIndex + slider.swiper.params.slidesPerView * velocity\n      );\n    });\n\n    let direction = velocity > 0 ? 'next' : 'prev';\n    slider.buttons[direction] = buttonClone;\n  }\n}\n\nfunction getMatchingDuplicatedSlides(slider, link) {\n  let result = [];\n\n  if (!slider.destroyed) {\n    Array.from(slider.el.querySelectorAll('.swiper-slide')).forEach(slide => {\n      if (!slide.classList.contains('base')) {\n        let thisLink = slide.querySelector('a.meta-item-link').getAttribute('href');\n        if (link === thisLink) result.push(slide);\n      }\n    });\n  }\n\n  return result;\n}\n\nfunction init(slider) {\n  slider.init();\n\n  // Set up a mutation observer against each base slide, as it'll get redrawn as the components get rendered\n  for (let x = 0; x < slider.slides.length; x++) {\n    let slide = slider.slides[x];\n\n    slide.classList.add('base');\n\n    if (infiniteScrollEnabled(slider)) {\n      let config = { subtree: true, childList: true };\n\n      let observer = new MutationObserver(mutations => {\n        for (let y = 0; y < mutations.length; y++) {\n          let mutationRecord = mutations[y];\n\n          // var href = mutationRecord.target.closest('a.meta-item-link').getAttribute('href');\n          let thisSlide = mutationRecord.target.closest('.swiper-slide');\n          if (thisSlide) {\n            let thisLink = thisSlide.querySelector('a.meta-item-link').getAttribute('href');\n\n            let duplicatedSlides = getMatchingDuplicatedSlides(slider, thisLink);\n\n            Array.from(duplicatedSlides).forEach(dupe => {\n              dupe.innerHTML = thisSlide.innerHTML;\n            });\n          }\n        }\n      });\n\n      observer.observe(slide, config);\n\n      slideObservers.push(observer);\n    }\n  }\n\n  addAndRemoveSlides(slider);\n\n  return true;\n}\n\nfunction infiniteScrollEnabled(slider) {\n  if (!Modernizr.smil) return false; // i.e. is this IE11\n\n  if (isTouchscreenEnabled()) return false; // i.e. is this a touchscreen device?\n\n  let el = slider.el;\n\n  if (el.getAttribute('disable-infinite-scroll') !== null) {\n    return false;\n  }\n\n  let prev = el.buttons.prev;\n  let next = el.buttons.next;\n\n  // Only infinite scroll on desktop (i.e. when the next/prev buttons are visible)\n  let buttonsVisible = (prev && prev.offsetHeight > 0) || (next && next.offsetHeight > 0);\n\n  let screens = slider.slides.length / slider.params.slidesPerView;\n\n  return buttonsVisible && screens > 1;\n}\n\nfunction addAndRemoveSlides(slider, append, prepend) {\n  // This is a no-go\n  if (!infiniteScrollEnabled(slider)) return;\n\n  // Just in case something's gone horribly wrong\n  if (slider.slides.length > 100) {\n    return;\n  }\n\n  if (append) {\n    let lastVisibleIndex = slider.activeIndex + slider.params.slidesPerView;\n    let slidesToTheRight = slider.slides.length - lastVisibleIndex;\n\n    if (slidesToTheRight <= slider.params.slidesPerView) {\n      appendBaseSlides(slider);\n    }\n  }\n\n  if (prepend) {\n    if (slider.activeIndex <= slider.params.slidesPerView) {\n      prependBaseSlides(slider);\n    }\n  }\n}\n\nfunction getBaseSlides(slider) {\n  let result = Array.from(slider.el.querySelectorAll('.swiper-slide.base')).map(node => {\n    return node.cloneNode(true);\n  });\n\n  Array.from(result).forEach(slide => {\n    slide.classList.remove(\n      'base',\n      'swiper-slide-visible',\n      'swiper-slide-active',\n      'swiper-slide-next',\n      'swiper-slide-prev'\n    );\n  });\n\n  return result;\n}\n\nfunction appendBaseSlides(slider) {\n  let baseSlides = getBaseSlides(slider).slice(0);\n  slider.appendSlide(baseSlides);\n\n  cullSlides(slider, 1);\n}\n\nfunction prependBaseSlides(slider) {\n  // var baseSlides = getBaseSlides(slider).reverse().slice(0);\n  let baseSlides = getBaseSlides(slider).reverse().slice(0);\n\n  let currentIndex = slider.activeIndex;\n\n  for (let i = 0; i < baseSlides.length; i++) {\n    slider.prependSlide(baseSlides[i]);\n  }\n  slider.slideTo(currentIndex + baseSlides.length, 0);\n\n  cullSlides(slider, -1);\n}\n\n// Get rid of the oldest N slides to the left of current\nfunction cullSlides(slider, direction) {\n  let baseSlides = getBaseSlides(slider);\n\n  let indices = [];\n  for (let index = 0; index < slider.slides.length; index++) {\n    let slide = slider.slides[index];\n    if (direction > 0) {\n      if (index < slider.activeIndex && !slide.classList.contains('base')) {\n        indices.push(index);\n      }\n    } else if (index > slider.activeIndex && !slide.classList.contains('base')) {\n      indices.push(index);\n    }\n  }\n\n  if (indices.length > baseSlides.length) {\n    let toCullIndices = [];\n    if (direction > 0) {\n      toCullIndices = indices.slice(0, baseSlides.length);\n    } else {\n      toCullIndices = indices.reverse().slice(0, baseSlides.length).reverse();\n    }\n\n    slider.removeSlide(toCullIndices.reverse());\n  }\n}\n\nfunction initSearch() {\n  let searchButton = document.querySelector('.btn-search-open');\n  let searchForm = document.querySelector('.form-control-search');\n\n  let openSearch = function () {\n    document.querySelector('.form-control-search').focus();\n    document.querySelector('.navbar-nav-search').classList.add('search-show');\n    document.querySelector('.navbar-nav-search').classList.remove('search-hidden');\n  };\n\n  let closeSearch = function () {\n    document.querySelector('.navbar-nav-search').classList.remove('search-show');\n    document.querySelector('.navbar-nav-search').classList.add('search-hidden');\n  };\n\n  searchButton.addEventListener('click', openSearch, false);\n  searchForm.addEventListener('focusin', openSearch, false);\n  searchForm.addEventListener('focusout', closeSearch, false);\n}\n\nfunction initScroll() {\n  let nav = document.querySelector('.navbar-toggler');\n  nav.addEventListener('click', () => {\n    toggleScroll();\n  });\n}\n\nfunction toggleScroll() {\n  let body = document.querySelector('body');\n  if (!body.classList.contains('no-scroll')) {\n    body.classList.add('no-scroll');\n  } else {\n    body.classList.remove('no-scroll');\n  }\n}\n\nfunction documentReady(app) {\n  initializeWishlist();\n\n  app.classificationsService.load('/classifications.all.json');\n  app.urlMapService.load('/urlmap.json');\n\n  detectTouchscreen();\n\n  let swipers = document.getElementsByClassName('swiper-container');\n  for (let i = 0; i < swipers.length; i++) {\n    let el = swipers[i];\n    if (el.getAttribute('is-wishlist') == undefined) {\n      let swiper = initializeSwiper(el, false);\n      init(swiper);\n\n      toggleButtons(el);\n    }\n  }\n\n  document.querySelectorAll('.btn-trailer').forEach(btn => {\n    btn.addEventListener('click', e => {\n      e.preventDefault();\n      e.stopPropagation();\n      window.location = btn.getAttribute('data-url');\n    });\n  });\n\n  document.querySelectorAll('.navbar-nav').forEach(nav => {\n    nav.classList.remove('s72-hide');\n  });\n  if (document.querySelector('.navbar-nav-search')) {\n    initSearch();\n  }\n  initScroll();\n}\n\nfunction detectTouchscreen() {\n  let touchEnabled = s72.utils.device.isTouchEnabled();\n  document.querySelector('html').setAttribute('is-touchscreen', touchEnabled);\n}\n\nfunction isTouchscreenEnabled() {\n  return document.querySelector('html').getAttribute('is-touchscreen') === 'true';\n}\ndocument.addEventListener('s72loaded', event => {\n  let app = event.detail.app;\n  documentReady(app);\n});\n"],"names":["super","this","utils","let","getComponentElement","AppComponent","bindAllComponents","render","h","attrs","y"],"mappings":"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"}
         | 
| @@ -1,43 +1,75 @@ | |
| 1 | 
            -
            s72-availability-status,
         | 
| 2 1 | 
             
            s72-availability-label {
         | 
| 3 | 
            -
               | 
| 4 | 
            -
              z-index: 99;
         | 
| 5 | 
            -
            }
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            .availability-bg {
         | 
| 8 | 
            -
              background: rgba(0, 0, 0, 0.8);
         | 
| 9 | 
            -
              display: block;
         | 
| 10 | 
            -
              padding: 5px 8px;
         | 
| 11 | 
            -
              text-align: center;
         | 
| 12 | 
            -
             | 
| 2 | 
            +
              font-weight: $font-weight-light;
         | 
| 13 3 | 
             
              .availability-state {
         | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 16 | 
            -
                 | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 4 | 
            +
                @extend .d-flex;
         | 
| 5 | 
            +
                @extend .mb-2;
         | 
| 6 | 
            +
                font-size: 16px;
         | 
| 7 | 
            +
                letter-spacing: 0.4px;
         | 
| 8 | 
            +
                line-height: 24px;
         | 
| 19 9 |  | 
| 20 | 
            -
             | 
| 21 | 
            -
            . | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
               | 
| 10 | 
            +
                &::before {
         | 
| 11 | 
            +
                  @extend .fa;
         | 
| 12 | 
            +
                  @extend .fa-warning;
         | 
| 13 | 
            +
                  @extend .mr-1;
         | 
| 14 | 
            +
                  color: var(--body-color);
         | 
| 15 | 
            +
                  font-size: 24px;
         | 
| 16 | 
            +
                  line-height: 24px;
         | 
| 17 | 
            +
                }
         | 
| 18 | 
            +
              }
         | 
| 29 19 | 
             
            }
         | 
| 30 20 |  | 
| 31 21 | 
             
            .poster {
         | 
| 22 | 
            +
              s72-availability-status,
         | 
| 23 | 
            +
              s72-availability-label {
         | 
| 24 | 
            +
                position: absolute;
         | 
| 25 | 
            +
                z-index: 99;
         | 
| 26 | 
            +
              }
         | 
| 27 | 
            +
             | 
| 32 28 | 
             
              s72-availability-label {
         | 
| 33 | 
            -
                 | 
| 34 | 
            -
                 | 
| 35 | 
            -
                 | 
| 36 | 
            -
             | 
| 37 | 
            -
                 | 
| 29 | 
            +
                @extend .w-100;
         | 
| 30 | 
            +
                bottom: 0;
         | 
| 31 | 
            +
                font-weight: $font-weight-normal;
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                .availability-bg {
         | 
| 34 | 
            +
                  @extend .px-p5;
         | 
| 35 | 
            +
                  background-color: rgba(var(--body-bg-rgb), 0.7);
         | 
| 36 | 
            +
                }
         | 
| 38 37 |  | 
| 39 38 | 
             
                .availability-state {
         | 
| 40 | 
            -
                   | 
| 39 | 
            +
                  @extend .mb-0;
         | 
| 40 | 
            +
                  line-height: 18px;
         | 
| 41 | 
            +
                  &::before {
         | 
| 42 | 
            +
                    content: none;
         | 
| 43 | 
            +
                  }
         | 
| 41 44 | 
             
                }
         | 
| 42 45 | 
             
              }
         | 
| 46 | 
            +
             | 
| 47 | 
            +
              s72-availability-status .availability-bg,
         | 
| 48 | 
            +
              s72-plan-label {
         | 
| 49 | 
            +
                background-color: var(--primary);
         | 
| 50 | 
            +
                border-bottom-right-radius: $meta-item-border-radius;
         | 
| 51 | 
            +
                display: block;
         | 
| 52 | 
            +
                line-height: 20px;
         | 
| 53 | 
            +
                padding: 0 5px;
         | 
| 54 | 
            +
                text-align: center;
         | 
| 55 | 
            +
              }
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              .availability-expired {
         | 
| 58 | 
            +
                @extend .d-none;
         | 
| 59 | 
            +
              }
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              .availability-state {
         | 
| 62 | 
            +
                @extend .justify-content-center;
         | 
| 63 | 
            +
                color: var(--body-color-rgb);
         | 
| 64 | 
            +
                font-size: 12px;
         | 
| 65 | 
            +
                text-align: center;
         | 
| 66 | 
            +
              }
         | 
| 67 | 
            +
            }
         | 
| 68 | 
            +
             | 
| 69 | 
            +
            .poster .availability-state,
         | 
| 70 | 
            +
            s72-plan-label {
         | 
| 71 | 
            +
              @extend .justify-content-center;
         | 
| 72 | 
            +
              color: var(--body-color-rgb);
         | 
| 73 | 
            +
              font-size: 12px;
         | 
| 74 | 
            +
              text-align: center;
         | 
| 43 75 | 
             
            }
         | 
    
        package/site/styles/_awards.scss
    CHANGED
    
    | @@ -11,8 +11,8 @@ | |
| 11 11 | 
             
              .meta-award-nomination {
         | 
| 12 12 | 
             
                @extend .d-flex;
         | 
| 13 13 | 
             
                max-width: 370px;
         | 
| 14 | 
            -
                padding-right: 25px;
         | 
| 15 14 | 
             
                padding-left: 25px;
         | 
| 15 | 
            +
                padding-right: 25px;
         | 
| 16 16 | 
             
              }
         | 
| 17 17 |  | 
| 18 18 | 
             
              .meta-award-nomination-icon {
         | 
| @@ -26,13 +26,14 @@ | |
| 26 26 | 
             
            }
         | 
| 27 27 |  | 
| 28 28 | 
             
            .meta-awards-icon-overlay {
         | 
| 29 | 
            -
               | 
| 30 | 
            -
             | 
| 29 | 
            +
              align-items: center;
         | 
| 31 30 | 
             
              background: rgba(0, 0, 0, 0.8);
         | 
| 32 31 | 
             
              border-radius: $meta-item-border-radius;
         | 
| 32 | 
            +
              display: flex;
         | 
| 33 33 | 
             
              height: 16px + (3px * 2);
         | 
| 34 34 | 
             
              padding-left: 3px;
         | 
| 35 35 | 
             
              padding-right: 3px;
         | 
| 36 | 
            +
              text-align: center;
         | 
| 36 37 | 
             
              width: 16px + (3px * 2);
         | 
| 37 38 |  | 
| 38 39 | 
             
              .meta-award-nomination-icon {
         | 
| @@ -136,7 +136,7 @@ | |
| 136 136 |  | 
| 137 137 | 
             
                .verb {
         | 
| 138 138 | 
             
                  background: transparent;
         | 
| 139 | 
            -
                  color:var(--primary);
         | 
| 139 | 
            +
                  color: var(--primary);
         | 
| 140 140 | 
             
                }
         | 
| 141 141 | 
             
              }
         | 
| 142 142 |  | 
| @@ -200,6 +200,15 @@ | |
| 200 200 | 
             
              }
         | 
| 201 201 | 
             
            }
         | 
| 202 202 |  | 
| 203 | 
            +
            .s72-btn.s72-btn-unsubscribe,
         | 
| 204 | 
            +
            .s72-btn.s72-btn-updatecreditcard {
         | 
| 205 | 
            +
              @extend .btn-secondary;
         | 
| 206 | 
            +
            }
         | 
| 207 | 
            +
             | 
| 208 | 
            +
            .s72-btn.s72-btn-explore-subs {
         | 
| 209 | 
            +
              @extend .btn-primary;
         | 
| 210 | 
            +
            }
         | 
| 211 | 
            +
             | 
| 203 212 | 
             
            .btn-wishlist {
         | 
| 204 213 | 
             
              p {
         | 
| 205 214 | 
             
                margin: 0;
         | 
| @@ -246,7 +255,10 @@ | |
| 246 255 | 
             
            }
         | 
| 247 256 |  | 
| 248 257 | 
             
            s72-donate-button:not(:empty) {
         | 
| 249 | 
            -
             | 
| 258 | 
            +
              :hover {
         | 
| 259 | 
            +
                background-color: $button-background-hover;
         | 
| 260 | 
            +
              }
         | 
| 261 | 
            +
              &:hover a {
         | 
| 250 262 | 
             
                background-color: $button-background-hover;
         | 
| 251 263 | 
             
                color: $button-text-color-hover;
         | 
| 252 264 | 
             
                /* stylelint-disable selector-max-compound-selectors */
         | 
| @@ -258,8 +270,8 @@ s72-donate-button:not(:empty) { | |
| 258 270 | 
             
                /* stylelint-enable selector-max-compound-selectors */
         | 
| 259 271 | 
             
              }
         | 
| 260 272 | 
             
              a {
         | 
| 261 | 
            -
                color: $button-text-color;
         | 
| 262 273 | 
             
                background-color: $button-background;
         | 
| 274 | 
            +
                color: $button-text-color;
         | 
| 263 275 | 
             
              }
         | 
| 264 276 | 
             
              svg {
         | 
| 265 277 | 
             
                g {
         | 
| @@ -17,7 +17,7 @@ s72-carousel { | |
| 17 17 | 
             
                height: var(--carousel-height-md) !important;
         | 
| 18 18 | 
             
              }
         | 
| 19 19 |  | 
| 20 | 
            -
              s72-image {
         | 
| 20 | 
            +
              .carousel-item-link > s72-image {
         | 
| 21 21 | 
             
                float: right;
         | 
| 22 22 | 
             
                height: var(--carousel-height);
         | 
| 23 23 | 
             
                max-width: 1600px;
         | 
| @@ -49,6 +49,7 @@ s72-carousel { | |
| 49 49 | 
             
                  }
         | 
| 50 50 | 
             
                }
         | 
| 51 51 |  | 
| 52 | 
            +
                /* stylelint-disable selector-max-compound-selectors */
         | 
| 52 53 | 
             
                img {
         | 
| 53 54 | 
             
                  height: var(--carousel-height);
         | 
| 54 55 | 
             
                  margin-left: 50%;
         | 
| @@ -62,6 +63,7 @@ s72-carousel { | |
| 62 63 | 
             
                    width: auto;
         | 
| 63 64 | 
             
                  }
         | 
| 64 65 | 
             
                }
         | 
| 66 | 
            +
                /* stylelint-enable selector-max-compound-selectors */
         | 
| 65 67 | 
             
              }
         | 
| 66 68 |  | 
| 67 69 | 
             
              .s72-pricing-button-container {
         | 
| @@ -102,55 +104,41 @@ s72-carousel { | |
| 102 104 | 
             
            }
         | 
| 103 105 |  | 
| 104 106 | 
             
            .carousel-item-caption {
         | 
| 107 | 
            +
              bottom: 0;
         | 
| 105 108 | 
             
              left: 0;
         | 
| 106 109 | 
             
              padding: 0 20px;
         | 
| 107 110 | 
             
              position: absolute;
         | 
| 111 | 
            +
              right: 0;
         | 
| 108 112 | 
             
              top: var(--carousel-caption-top);
         | 
| 109 113 | 
             
              z-index: 999;
         | 
| 110 114 | 
             
              @include media-breakpoint-up(xs) {
         | 
| 111 115 | 
             
                left: 60px;
         | 
| 112 116 | 
             
                top: var(--carousel-caption-top-xs);
         | 
| 113 | 
            -
                width: 70%;
         | 
| 114 117 | 
             
              }
         | 
| 115 118 | 
             
              @include media-breakpoint-up(md) {
         | 
| 116 119 | 
             
                left: 60px;
         | 
| 117 120 | 
             
                top: var(--carousel-caption-top-md);
         | 
| 118 | 
            -
                width: 70%;
         | 
| 119 121 | 
             
              }
         | 
| 120 122 | 
             
              @include media-breakpoint-up(lg) {
         | 
| 121 123 | 
             
                left: 70px;
         | 
| 122 124 | 
             
                top: var(--carousel-caption-top-md);
         | 
| 123 | 
            -
                width: 70%;
         | 
| 124 125 | 
             
              }
         | 
| 125 126 | 
             
              @include media-breakpoint-up(xl) {
         | 
| 126 127 | 
             
                left: 120px;
         | 
| 127 128 | 
             
                top: var(--carousel-caption-top-md);
         | 
| 128 | 
            -
                width: 50%;
         | 
| 129 129 | 
             
              }
         | 
| 130 130 | 
             
              @include media-breakpoint-up(xxxl) {
         | 
| 131 131 | 
             
                top: var(--carousel-caption-top-md);
         | 
| 132 | 
            -
                width: 50%;
         | 
| 133 132 | 
             
              }
         | 
| 134 133 |  | 
| 135 | 
            -
               | 
| 136 | 
            -
             | 
| 137 | 
            -
                 | 
| 138 | 
            -
             | 
| 139 | 
            -
                .availability-bg {
         | 
| 140 | 
            -
                  background: transparent;
         | 
| 141 | 
            -
                  display: inline-block;
         | 
| 142 | 
            -
                  padding: 10px 0;
         | 
| 134 | 
            +
              .meta-item-content {
         | 
| 135 | 
            +
                color: var(--body-color);
         | 
| 136 | 
            +
                @include media-breakpoint-up(xs) {
         | 
| 137 | 
            +
                  width: 70%;
         | 
| 143 138 | 
             
                }
         | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
                  color: var(--body-color);
         | 
| 147 | 
            -
                  font-size: 12px;
         | 
| 148 | 
            -
                  text-transform: none;
         | 
| 139 | 
            +
                @include media-breakpoint-up(xl) {
         | 
| 140 | 
            +
                  width: 50%;
         | 
| 149 141 | 
             
                }
         | 
| 150 | 
            -
              }
         | 
| 151 | 
            -
             | 
| 152 | 
            -
              .meta-item-content {
         | 
| 153 | 
            -
                color: #fff;
         | 
| 154 142 |  | 
| 155 143 | 
             
                h3 {
         | 
| 156 144 | 
             
                  color: var(--body-color);
         | 
| @@ -185,7 +173,7 @@ s72-carousel { | |
| 185 173 | 
             
                .meta-item-tagline-and-classification {
         | 
| 186 174 | 
             
                  @extend .d-flex;
         | 
| 187 175 | 
             
                  align-items: center;
         | 
| 188 | 
            -
                  padding-bottom:  | 
| 176 | 
            +
                  padding-bottom: 14px;
         | 
| 189 177 | 
             
                  padding-top: 8px;
         | 
| 190 178 | 
             
                }
         | 
| 191 179 |  | 
| @@ -262,6 +250,15 @@ s72-carousel { | |
| 262 250 | 
             
                  fill: transparent;
         | 
| 263 251 | 
             
                }
         | 
| 264 252 | 
             
              }
         | 
| 253 | 
            +
             | 
| 254 | 
            +
              .sponsor {
         | 
| 255 | 
            +
                @include media-breakpoint-up(xl) {
         | 
| 256 | 
            +
                  bottom: 140px;
         | 
| 257 | 
            +
                  position: absolute;
         | 
| 258 | 
            +
                  right: 140px;
         | 
| 259 | 
            +
                  text-align: right;
         | 
| 260 | 
            +
                }
         | 
| 261 | 
            +
              }
         | 
| 265 262 | 
             
            }
         | 
| 266 263 |  | 
| 267 264 | 
             
            .s72-carousel-pagination {
         | 
    
        package/site/styles/_forms.scss
    CHANGED
    
    | @@ -104,7 +104,7 @@ s72-activatedevice-form, | |
| 104 104 | 
             
              /* stylelint-disable-next-line */
         | 
| 105 105 | 
             
              &:not(.StripeElement) {
         | 
| 106 106 | 
             
                background-color: $body-bg-accent;
         | 
| 107 | 
            -
                border-color: rgba(var(--body-color-rgb), 0. | 
| 107 | 
            +
                border-color: rgba(var(--body-color-rgb), 0.2);
         | 
| 108 108 | 
             
                color: var(--body-color);
         | 
| 109 109 | 
             
                &:focus {
         | 
| 110 110 | 
             
                  border-color: $input-focus-border-color;
         | 
| @@ -155,11 +155,16 @@ s72-activatedevice-form, | |
| 155 155 |  | 
| 156 156 | 
             
            .s72-modal-container {
         | 
| 157 157 | 
             
              .s72-buttons {
         | 
| 158 | 
            -
             | 
| 158 | 
            +
             | 
| 159 | 
            +
                .fa-ellipsis-v {
         | 
| 160 | 
            +
                  opacity: 0.7;
         | 
| 161 | 
            +
                }
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                .s72-btn:not(.s72-btn-show-saved-cards) {
         | 
| 159 164 | 
             
                  color: $button-text-color;
         | 
| 160 165 |  | 
| 161 166 | 
             
                  &:hover {
         | 
| 162 | 
            -
                    color: $button-text-color | 
| 167 | 
            +
                    color: $button-text-color;
         | 
| 163 168 | 
             
                  }
         | 
| 164 169 | 
             
                }
         | 
| 165 170 | 
             
              }
         |