@shift72/core-template 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/kibble.json +3 -3
  3. package/package.json +2 -2
  4. package/scripts/core-template-version.js +4 -4
  5. package/scripts/css-local-get.js +12 -5
  6. package/scripts/css-local-put.js +3 -3
  7. package/scripts/language-file-validator.js +1 -1
  8. package/scripts/translate.mjs +2 -3
  9. package/site/ar_LB.all.json +83 -10
  10. package/site/ca_ES.all.json +53 -8
  11. package/site/da_DK.all.json +55 -10
  12. package/site/de_DE.all.json +53 -8
  13. package/site/el_EL.all.json +58 -4
  14. package/site/en_AU.all.json +58 -4
  15. package/site/es_ES.all.json +58 -4
  16. package/site/es_MX.all.json +60 -6
  17. package/site/et_ET.all.json +52 -7
  18. package/site/fi_FI.all.json +56 -2
  19. package/site/fr_FR.all.json +59 -5
  20. package/site/hr_HR.all.json +64 -9
  21. package/site/hu_HU.all.json +52 -7
  22. package/site/it_IT.all.json +58 -4
  23. package/site/ja_JP.all.json +50 -0
  24. package/site/lt_LT.all.json +71 -3
  25. package/site/manifest.json.jet +4 -2
  26. package/site/nl_BE.all.json +54 -0
  27. package/site/no_NO.all.json +59 -5
  28. package/site/pl_PL.all.json +71 -3
  29. package/site/plans.html.jet +12 -2
  30. package/site/pt_BR.all.json +58 -4
  31. package/site/pt_PT.all.json +57 -3
  32. package/site/ru_RU.all.json +72 -4
  33. package/site/search.html.jet +3 -1
  34. package/site/sr_SR.all.json +64 -3
  35. package/site/static/js/main.js +1 -0
  36. package/site/static/scripts/main.js.map +1 -1
  37. package/site/styles/_buttons.scss +20 -10
  38. package/site/styles/_carousel.scss +7 -3
  39. package/site/styles/_cookie-consent.scss +1 -0
  40. package/site/styles/_footer.scss +10 -31
  41. package/site/styles/_forms.scss +11 -0
  42. package/site/styles/_meta-detail.scss +26 -28
  43. package/site/styles/_mixins.scss +23 -1
  44. package/site/styles/_nav.scss +49 -65
  45. package/site/styles/_share-modal.scss +12 -7
  46. package/site/styles/_shopping.scss +5 -0
  47. package/site/styles/_typography.scss +30 -22
  48. package/site/styles/_variables.scss +93 -46
  49. package/site/subscriptions.html.jet +1 -1
  50. package/site/templates/application/application.jet +10 -12
  51. package/site/templates/application/brand/logo.jet +11 -0
  52. package/site/templates/application/brand/sponsors.jet +11 -0
  53. package/site/templates/application/footer/brand.jet +3 -1
  54. package/site/templates/application/footer/sponsor-banner.jet +3 -3
  55. package/site/templates/application/head/seo.jet +1 -1
  56. package/site/templates/application/nav/nav.jet +5 -4
  57. package/site/templates/collection/carousel/carousel.jet +4 -1
  58. package/site/templates/collection/carousel/item.jet +3 -1
  59. package/site/tr_TR.all.json +58 -4
  60. package/site/uk_UA.all.json +72 -4
  61. package/site/zh_TW.all.json +52 -2
@@ -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 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('.s72-btn-trailer:not(.s72-btn-play)').forEach(btn => {\n btn.addEventListener('click', e => {\n e.preventDefault();\n e.stopPropagation();\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('.s72-btn-trailer:not(.s72-btn-play)').forEach(btn => {\n btn.addEventListener('click', e => {\n e.preventDefault();\n e.stopPropagation();\n });\n });\n\n document.querySelectorAll('.navbar-nav').forEach(nav => {\n nav.classList.remove('s72-hide');\n });\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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"}
@@ -16,24 +16,27 @@
16
16
 
17
17
  .btn.btn-signin {
18
18
  align-items: center;
19
- background-color: $signin-background;
20
- border: 3px solid $signin-border-color;
21
- color: $signin-text-color;
19
+ background-color: var(--signin-background);
20
+ border: 3px solid var(--signin-border-color);
21
+ color: var(--signin-text-color);
22
22
  display: flex;
23
23
  font-size: 14px;
24
24
  justify-content: center;
25
+
25
26
  @include hover-focus {
26
- background: $signin-background-hover;
27
- border: 3px solid $signin-border-color-hover;
28
- color: var(--body-color);
27
+ background: var(--signin-background-hover);
28
+ border: 3px solid var(--signin-border-color-hover);
29
29
  }
30
+
30
31
  @include media-breakpoint-up(lg) {
31
- background-color: $signin-background-lg;
32
+ background-color: var(--signin-background-lg);
33
+
32
34
  @include hover-focus {
33
- background: $signin-background-hover-lg;
34
- color: $signin-text-color-hover;
35
+ background: var(--signin-background-hover-lg);
36
+ color: var(--signin-text-color-hover);
35
37
  }
36
38
  }
39
+
37
40
  @include media-breakpoint-up(xl) {
38
41
  font-size: 16px;
39
42
  }
@@ -191,6 +194,13 @@ s72-userwishlist-button {
191
194
  }
192
195
 
193
196
  .extra-buttons {
197
+ > * {
198
+ &:hover {
199
+ background-color: var(--hover-background);
200
+ border-radius: 50%;
201
+ }
202
+ }
203
+
194
204
  .s72-btn-trailer,
195
205
  s72-share-modal .s72-btn,
196
206
  .s72-btn-wishlist {
@@ -198,7 +208,7 @@ s72-userwishlist-button {
198
208
  padding: 0;
199
209
  width: 42px;
200
210
  &:hover {
201
- color: var(--main-content-icon-hover);
211
+ color: var(--body-color-hover);
202
212
  }
203
213
 
204
214
  /* stylelint-disable selector-max-compound-selectors, max-nesting-depth */
@@ -138,7 +138,7 @@ s72-carousel {
138
138
  }
139
139
 
140
140
  .availability-bg {
141
- margin-bottom: 8px;
141
+ margin-bottom: 22px;
142
142
  }
143
143
 
144
144
  .availability-state {
@@ -179,7 +179,7 @@ s72-carousel {
179
179
 
180
180
  .meta-item-tagline-and-classification {
181
181
  display: flex;
182
- margin-bottom: 8px;
182
+ margin-bottom: 12px;
183
183
  }
184
184
 
185
185
  .meta-item-tagline {
@@ -190,13 +190,17 @@ s72-carousel {
190
190
 
191
191
  .meta-item-synopsis {
192
192
  display: none;
193
- margin-bottom: 8px;
193
+ margin-bottom: 14px;
194
194
  max-width: 600px;
195
195
  padding-top: 0;
196
196
 
197
197
  @include media-breakpoint-up(xs) {
198
198
  display: block;
199
199
  }
200
+
201
+ p {
202
+ margin-bottom: 0;
203
+ }
200
204
  }
201
205
  }
202
206
 
@@ -9,6 +9,7 @@
9
9
 
10
10
  &:hover {
11
11
  color: $cookie-consent-hover-link-color;
12
+ text-decoration: none;
12
13
  }
13
14
  }
14
15
  }
@@ -15,7 +15,7 @@ footer {
15
15
  }
16
16
 
17
17
  .footer-brand-image {
18
- height: 40px;
18
+ height: var(--footer-brand-height);
19
19
  }
20
20
 
21
21
  .footer-nav {
@@ -44,7 +44,7 @@ footer {
44
44
  }
45
45
 
46
46
  &:hover {
47
- color: var(--primary);
47
+ color: var(--body-color-hover);
48
48
  }
49
49
  }
50
50
  }
@@ -78,6 +78,10 @@ footer {
78
78
 
79
79
  a {
80
80
  @include caption-1-style;
81
+
82
+ &:hover {
83
+ text-decoration: none;
84
+ }
81
85
  }
82
86
  }
83
87
 
@@ -112,41 +116,16 @@ footer {
112
116
  display: flex;
113
117
  justify-content: center;
114
118
  padding: 60px 20px 0;
119
+
115
120
  @include media-breakpoint-up(lg) {
116
121
  padding: 60px 50px 0;
117
122
  }
118
123
 
119
- img {
120
- max-width: max-content;
121
- }
122
-
123
- .sponsors-xxxs {
124
- width: 100%;
125
-
126
- @include media-breakpoint-up(xs) {
127
- display: none;
128
- }
129
- }
130
-
131
- .sponsors-xs {
132
- display: none;
133
- width: 100%;
134
-
135
- @include media-breakpoint-up(xs) {
136
- display: block;
137
- }
138
-
139
- @include media-breakpoint-up(md) {
140
- display: none;
141
- }
142
- }
143
-
144
- .sponsors-md {
145
- display: none;
124
+ .sponsor-picture {
146
125
  width: 100%;
147
126
 
148
- @include media-breakpoint-up(md) {
149
- display: block;
127
+ .sponsor-image {
128
+ width: 100%;
150
129
  }
151
130
  }
152
131
  }
@@ -204,7 +204,13 @@ s72-activatedevice-form,
204
204
 
205
205
  .s72-btn-modal-cancel {
206
206
  border-color: transparent;
207
+ color: var(--body-color);
207
208
  margin-right: $grid-gutter-width / 3;
209
+
210
+ &:hover {
211
+ background-color: var(--hover-background);
212
+ color: var(--body-color-hover);
213
+ }
208
214
  }
209
215
  }
210
216
  }
@@ -215,7 +221,12 @@ s72-activatedevice-form,
215
221
 
216
222
  .s72-btn {
217
223
  &.s72-btn-modal-close {
224
+ color: var(--body-color);
218
225
  top: 11px;
226
+
227
+ &:hover {
228
+ color: var(--body-color-hover);
229
+ }
219
230
  }
220
231
  }
221
232
 
@@ -33,25 +33,18 @@
33
33
  top: 0;
34
34
  width: 100%;
35
35
  z-index: -1;
36
- @include media-breakpoint-up(md) {
36
+ @include media-breakpoint-up(xs) {
37
37
  height: 700px;
38
38
  opacity: 1;
39
39
  }
40
- @include media-breakpoint-up(xl) {
41
- height: 100%;
42
- left: 0;
43
- margin-left: auto;
44
- margin-right: auto;
45
- right: 0;
40
+ @include media-breakpoint-up(lg) {
41
+ height: auto;
46
42
  }
47
43
 
48
44
  s72-image {
49
45
  display: block;
50
46
  position: relative;
51
47
  width: 100%;
52
- @include media-breakpoint-up(lg) {
53
- width: 1600px;
54
- }
55
48
 
56
49
  &::before {
57
50
  @extend .left-gradient-bg;
@@ -63,37 +56,29 @@
63
56
  top: 0;
64
57
  width: 60%;
65
58
  z-index: 8;
66
- @include media-breakpoint-up(md) {
67
- width: 100%;
59
+ @include media-breakpoint-up(lg) {
60
+ display: none;
68
61
  }
69
62
  }
70
63
 
71
64
  img {
72
65
  animation: fadein 2s;
73
- height: 500px;
74
- max-width: 1600px;
75
- width: auto;
76
- @include media-breakpoint-up(md) {
77
- float: right;
78
- height: 700px;
79
- margin-left: 0;
80
- }
81
- @include media-breakpoint-up(xl) {
82
- float: right;
83
- height: auto;
84
- }
66
+ min-height: 100%;
67
+ object-fit: cover;
85
68
  }
86
69
  }
87
70
 
88
71
  &::after {
89
72
  @extend .bottom-gradient-bg;
90
- bottom: 0;
91
73
  content: '';
92
74
  height: 350px;
93
- left: 0;
94
75
  position: absolute;
95
76
  width: 100%;
96
77
  z-index: 8;
78
+ @include media-breakpoint-up(lg) {
79
+ @include detail-page-gradient-lg;
80
+ height: 100%;
81
+ }
97
82
  }
98
83
  }
99
84
 
@@ -238,6 +223,10 @@ s72-element-switcher,
238
223
 
239
224
  a {
240
225
  animation: fadein 2s;
226
+
227
+ &:hover {
228
+ text-decoration: none;
229
+ }
241
230
  }
242
231
  }
243
232
  }
@@ -387,16 +376,18 @@ s72-element-switcher,
387
376
  }
388
377
 
389
378
  .element-switcher-wrapper {
390
- display: flex;
379
+ display: grid;
391
380
  gap: 50px;
392
- justify-content: space-between;
381
+ grid-template-columns: auto auto;
393
382
  width: 100%;
394
383
 
395
384
  .sponsor {
396
385
  display: none;
397
386
  padding-top: 10px;
387
+
398
388
  @include media-breakpoint-up(lg) {
399
389
  display: block;
390
+ margin-left: auto;
400
391
  }
401
392
  }
402
393
  }
@@ -418,9 +409,16 @@ s72-element-switcher,
418
409
 
419
410
  s72-element-switcher {
420
411
  margin-bottom: 60px;
412
+
421
413
  @include media-breakpoint-up(sm) {
422
414
  margin-bottom: 100px;
423
415
  }
416
+
417
+ .s72-toggle {
418
+ &:hover {
419
+ color: var(--body-color-hover);
420
+ }
421
+ }
424
422
  }
425
423
 
426
424
  .meta-detail-info {
@@ -71,6 +71,28 @@
71
71
  );
72
72
  }
73
73
 
74
+ @mixin detail-page-gradient-lg() {
75
+ background: linear-gradient(
76
+ to bottom,
77
+ rgba(var(--body-bg-rgb), 0) 0%,
78
+ rgba(var(--body-bg-rgb), 0.068) 15.9%,
79
+ rgba(var(--body-bg-rgb), 0.138) 28%,
80
+ rgba(var(--body-bg-rgb), 0.211) 36.9%,
81
+ rgba(var(--body-bg-rgb), 0.285) 43.1%,
82
+ rgba(var(--body-bg-rgb), 0.359) 47.3%,
83
+ rgba(var(--body-bg-rgb), 0.434) 49.9%,
84
+ rgba(var(--body-bg-rgb), 0.508) 51.6%,
85
+ rgba(var(--body-bg-rgb), 0.581) 52.9%,
86
+ rgba(var(--body-bg-rgb), 0.652) 54.4%,
87
+ rgba(var(--body-bg-rgb), 0.721) 56.7%,
88
+ rgba(var(--body-bg-rgb), 0.786) 60.4%,
89
+ rgba(var(--body-bg-rgb), 0.847) 66%,
90
+ rgba(var(--body-bg-rgb), 0.86) 74.1%,
91
+ rgba(var(--body-bg-rgb), 0.86) 85.2%,
92
+ rgba(var(--body-bg-rgb)) 100%
93
+ );
94
+ }
95
+
74
96
  @mixin a {
75
97
  background-color: transparent;
76
98
  color: var(--link-color);
@@ -78,7 +100,7 @@
78
100
 
79
101
  &:hover,
80
102
  &:focus {
81
- color: var(--link-color);
103
+ color: var(--link-color-hover);
82
104
  text-decoration: none;
83
105
  }
84
106
  }