diff --git a/assets/css/404.css b/assets/css/404.css
index 42c3c86e..d0dab0a2 100644
--- a/assets/css/404.css
+++ b/assets/css/404.css
@@ -1,75 +1 @@
-/** Mixins */
-/** Colors */
-/** Config */
-.l-fullscreen {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100vh;
-}
-
-.l-fullscreen__content {
- text-align: center;
- padding: 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-fullscreen__content {
- max-width: 500px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-fullscreen__content.in-subscribe-page {
- padding: 0;
- }
-}
-@media only screen and (min-width: 64rem) {
- .l-fullscreen__content.in-subscribe-page {
- max-width: 820px;
- }
-}
-
-.m-404-title {
- color: var(--primary-foreground-color);
- letter-spacing: 3px;
- line-height: 1;
- font-size: 9rem;
- font-weight: 700;
- margin: 0 0 10px;
-}
-@media only screen and (min-width: 48rem) {
- .m-404-title {
- letter-spacing: 4px;
- font-size: 12rem;
- margin-bottom: 5px;
- }
-}
-
-.m-404-subtitle {
- color: var(--primary-foreground-color);
- letter-spacing: 0.4px;
- line-height: 1;
- font-size: 1.25rem;
- font-weight: 600;
- margin-bottom: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-404-subtitle {
- letter-spacing: 0.5px;
- font-size: 1.5rem;
- }
-}
-
-.m-404-text {
- letter-spacing: 0.3px;
- line-height: 1.4;
- font-size: 0.875em;
- padding: 0 20px;
- margin-bottom: 25px;
-}
-@media only screen and (min-width: 48rem) {
- .m-404-text {
- font-size: 1rem;
- padding: 0;
- margin-bottom: 30px;
- }
-}
\ No newline at end of file
+.l-fullscreen{display:flex;align-items:center;justify-content:center;height:100vh}.l-fullscreen__content{text-align:center;padding:0 20px}@media only screen and (min-width:48rem){.l-fullscreen__content{max-width:500px}}@media only screen and (min-width:48rem){.l-fullscreen__content.in-subscribe-page{padding:0}}@media only screen and (min-width:64rem){.l-fullscreen__content.in-subscribe-page{max-width:820px}}.m-404-title{color:var(--primary-foreground-color);letter-spacing:3px;line-height:1;font-size:9rem;font-weight:700;margin:0 0 10px}@media only screen and (min-width:48rem){.m-404-title{letter-spacing:4px;font-size:12rem;margin-bottom:5px}}.m-404-subtitle{color:var(--primary-foreground-color);letter-spacing:.4px;line-height:1;font-size:1.25rem;font-weight:600;margin-bottom:20px}@media only screen and (min-width:48rem){.m-404-subtitle{letter-spacing:.5px;font-size:1.5rem}}.m-404-text{letter-spacing:.3px;line-height:1.4;font-size:.875em;padding:0 20px;margin-bottom:25px}@media only screen and (min-width:48rem){.m-404-text{font-size:1rem;padding:0;margin-bottom:30px}}
\ No newline at end of file
diff --git a/assets/css/app.css b/assets/css/app.css
index 5a40f8f9..adf0e00d 100644
--- a/assets/css/app.css
+++ b/assets/css/app.css
@@ -1,3622 +1 @@
-@charset "UTF-8";
-/*! sanitize.css v7.0.2 | CC0 License | github.com/csstools/sanitize.css */
-/* Document
- * ========================================================================== */
-/**
- * 1. Remove repeating backgrounds in all browsers (opinionated).
- * 2. Add border box sizing in all browsers (opinionated).
- */
-*,
-::before,
-::after {
- background-repeat: no-repeat;
- /* 1 */
- box-sizing: border-box;
- /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-::before,
-::after {
- text-decoration: inherit;
- /* 1 */
- vertical-align: inherit;
- /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 2. Use the default user interface font in all browsers (opinionated).
- * 3. Correct the line height in all browsers.
- * 4. Use a 4-space tab width in all browsers (opinionated).
- * 5. Prevent adjustments of font size after orientation changes in
- * IE on Windows Phone and in iOS.
- * 6. Breaks words to prevent overflow in all browsers (opinionated).
- */
-html {
- font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
- /* 2 */
- line-height: 1.15;
- /* 3 */
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
- /* 4 */
- word-break: break-word;
- /* 6 */
-}
-
-/* Sections
- * ========================================================================== */
-/**
- * Remove the margin in all browsers (opinionated).
- */
-body {
- margin: 0;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/* Grouping content
- * ========================================================================== */
-/**
- * 1. Add the correct sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
- height: 0;
- /* 1 */
- overflow: visible;
- /* 2 */
-}
-
-/**
- * Add the correct display in IE.
- */
-main {
- display: block;
-}
-
-/**
- * Remove the list style on navigation lists in all browsers (opinionated).
- */
-nav ol,
-nav ul {
- list-style: none;
-}
-
-/**
- * 1. Use the default monospace user interface font
- * in all browsers (opinionated).
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
- font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Oxygen Mono, Liberation Mono, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/* Text-level semantics
- * ========================================================================== */
-/**
- * Remove the gray background on active links in IE 10.
- */
-a {
- background-color: transparent;
-}
-
-/**
- * Add the correct text decoration in Edge, IE, Opera, and Safari.
- */
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
- font-weight: bolder;
-}
-
-/**
- * 1. Use the default monospace user interface font
- * in all browsers (opinionated).
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
- font-family: Menlo, Consolas, Roboto Mono, Ubuntu Monospace, Oxygen Mono, Liberation Mono, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
- font-size: 80%;
-}
-
-/*
- * Remove the text shadow on text selections in Firefox 61- (opinionated).
- * 1. Restore the coloring undone by defining the text shadow
- * in all browsers (opinionated).
- */
-::-moz-selection {
- background-color: #b3d4fc;
- /* 1 */
- color: #000;
- /* 1 */
- text-shadow: none;
-}
-
-::selection {
- background-color: #b3d4fc;
- /* 1 */
- color: #000;
- /* 1 */
- text-shadow: none;
-}
-
-/* Embedded content
- * ========================================================================== */
-/*
- * Change the alignment on media elements in all browers (opinionated).
- */
-audio,
-canvas,
-iframe,
-img,
-svg,
-video {
- vertical-align: middle;
-}
-
-/**
- * Add the correct display in IE 9-.
- */
-audio,
-video {
- display: inline-block;
-}
-
-/**
- * Add the correct display in iOS 4-7.
- */
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Remove the border on images inside links in IE 10-.
- */
-img {
- border-style: none;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-svg {
- fill: currentColor;
-}
-
-/**
- * Hide the overflow in IE.
- */
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Tabular data
- * ========================================================================== */
-/**
- * Collapse border spacing in all browsers (opinionated).
- */
-table {
- border-collapse: collapse;
-}
-
-/* Forms
- * ========================================================================== */
-/**
- * Inherit styling in all browsers (opinionated).
- */
-button,
-input,
-select,
-textarea {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
-}
-
-/**
- * Remove the margin in Safari.
- */
-button,
-input,
-select {
- margin: 0;
-}
-
-/**
- * 1. Show the overflow in IE.
- * 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
- */
-button {
- overflow: visible;
- /* 1 */
- text-transform: none;
- /* 2 */
-}
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-[type=button],
-[type=reset],
-[type=submit] {
- -webkit-appearance: button;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
- padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * Show the overflow in Edge and IE.
- */
-input {
- overflow: visible;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- */
-legend {
- color: inherit;
- /* 2 */
- display: table;
- /* 1 */
- max-width: 100%;
- /* 1 */
- white-space: normal;
- /* 1 */
-}
-
-/**
- * 1. Add the correct display in Edge and IE.
- * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
- display: inline-block;
- /* 1 */
- vertical-align: baseline;
- /* 2 */
-}
-
-/**
- * Remove the inheritance of text transform in Firefox.
- */
-select {
- text-transform: none;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- * 2. Remove the default vertical scrollbar in IE.
- * 3. Change the resize direction on textareas in all browsers (opinionated).
- */
-textarea {
- margin: 0;
- /* 1 */
- overflow: auto;
- /* 2 */
- resize: vertical;
- /* 3 */
-}
-
-/**
- * Remove the padding in IE 10-.
- */
-[type=checkbox],
-[type=radio] {
- padding: 0;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type=search] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */
-}
-
-/**
- * Remove the inner border and padding of focus outlines in Firefox.
- */
-::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-/**
- * Restore the focus outline styles unset by the previous rule in Firefox.
- */
-:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-/* Interactive
- * ========================================================================== */
-/*
- * Add the correct display in Edge and IE.
- */
-details {
- display: block;
-}
-
-/*
- * Add the correct styles in Edge, IE, and Safari.
- */
-dialog {
- background-color: white;
- border: solid;
- color: black;
- display: block;
- height: -moz-fit-content;
- height: -webkit-fit-content;
- height: fit-content;
- left: 0;
- margin: auto;
- padding: 1em;
- position: absolute;
- right: 0;
- width: -moz-fit-content;
- width: -webkit-fit-content;
- width: fit-content;
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
- display: list-item;
-}
-
-/* Scripting
- * ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-canvas {
- display: inline-block;
-}
-
-/**
- * Add the correct display in IE.
- */
-template {
- display: none;
-}
-
-/* User interaction
- * ========================================================================== */
-/*
- * 1. Remove the tapping delay on clickable elements
- in all browsers (opinionated).
- * 2. Remove the tapping delay in IE 10.
- */
-a,
-area,
-button,
-input,
-label,
-select,
-summary,
-textarea,
-[tabindex] {
- /* 1 */
- touch-action: manipulation;
- /* 2 */
-}
-
-/**
- * Add the correct display in IE 10-.
- */
-[hidden] {
- display: none;
-}
-
-/* Accessibility
- * ========================================================================== */
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-[aria-busy=true] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on control elements in all browsers (opinionated).
- */
-[aria-controls] {
- cursor: pointer;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-[aria-disabled],
-[disabled] {
- cursor: disabled;
-}
-
-/*
- * Change the display on visually hidden accessible elements
- * in all browsers (opinionated).
- */
-[aria-hidden=false][hidden]:not(:focus) {
- clip: rect(0, 0, 0, 0);
- display: inherit;
- position: absolute;
-}
-
-/** Mixins */
-/** Colors */
-/** Config */
-:root,
-[data-theme=light] {
- --background-color: #fff;
- --primary-foreground-color: #4a4a4a;
- --secondary-foreground-color: #000;
- --primary-subtle-color: #0470ee;
- --secondary-subtle-color: #f4f8fd;
- --titles-color: #333;
- --link-color: #133467;
- --primary-border-color: #9b9b9b;
- --secondary-border-color: aliceblue;
- --article-shadow-normal: 0 10px 10px rgba(0,0,0,0.08);
- --article-shadow-hover: 0 4px 60px 0 rgba(0,0,0,0.2);
- --transparent-background-color: rgba(255,255,255,0.99);
- --footer-background-color: #133467;
- --submenu-shadow-color-opacity: 0.25;
- --button-shadow-color-normal: rgba(108, 108, 108, 0.2);
- --button-shadow-color-hover: rgba(108, 108, 108, 0.3);
- --table-background-color-odd: #fafafa;
- --table-head-border-bottom: #e2e2e2;
- --toggle-darkmode-button-display-moon: block;
- --toggle-darkmode-button-display-sun: none;
- --toggle-darkmode-background-color: rgba(0, 0, 0, 0.05);
- --header-menu-gradient-first-color: rgba(255, 255, 255, 0);
- --header-menu-gradient-second-color: rgba(255, 255, 255, 1);
-}
-
-[data-theme=dark] {
- --background-color: #111;
- --primary-foreground-color: #ccc;
- --secondary-foreground-color: #fff;
- --primary-subtle-color: #2c2fe6;
- --secondary-subtle-color: #141920;
- --titles-color: #b4b4b4;
- --link-color: #b6b7f6;
- --primary-border-color: #1d1d1d;
- --secondary-border-color: #0f0f0f;
- --article-shadow-normal: 0 4px 5px 5px rgba(0,0,0,0.1);
- --article-shadow-hover: 0 4px 5px 10px rgba(0,0,0,0.1);
- --transparent-background-color: rgba(0,0,0,0.99);
- --footer-background-color: #080808;
- --submenu-shadow-color-opacity: 0.55;
- --button-shadow-color-normal: rgba(10, 10, 10, 0.5);
- --button-shadow-color-hover: rgba(10, 10, 10, 0.5);
- --table-background-color-odd: #050505;
- --table-head-border-bottom: #1d1d1d;
- --toggle-darkmode-button-display-moon: none;
- --toggle-darkmode-button-display-sun: block;
- --toggle-darkmode-background-color: rgba(0, 0, 0, 0.5);
- --header-menu-gradient-first-color: rgba(17, 17, 17, 0);
- --header-menu-gradient-second-color: rgba(17, 17, 17, 0.65);
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not([data-theme=light]) {
- --background-color: #111;
- --primary-foreground-color: #ccc;
- --secondary-foreground-color: #fff;
- --primary-subtle-color: #2c2fe6;
- --secondary-subtle-color: #141920;
- --titles-color: #b4b4b4;
- --link-color: #b6b7f6;
- --primary-border-color: #1d1d1d;
- --secondary-border-color: #0f0f0f;
- --article-shadow-normal: 0 4px 5px 5px rgba(0,0,0,0.1);
- --article-shadow-hover: 0 4px 5px 10px rgba(0,0,0,0.1);
- --transparent-background-color: rgba(0,0,0,0.99);
- --footer-background-color: #080808;
- --submenu-shadow-color-opacity: 0.55;
- --button-shadow-color-normal: rgba(10, 10, 10, 0.5);
- --button-shadow-color-hover: rgba(10, 10, 10, 0.5);
- --table-background-color-odd: #050505;
- --table-head-border-bottom: #1d1d1d;
- --toggle-darkmode-button-display-moon: none;
- --toggle-darkmode-button-display-sun: block;
- --toggle-darkmode-background-color: rgba(0, 0, 0, 0.5);
- --header-menu-gradient-first-color: rgba(17, 17, 17, 0);
- --header-menu-gradient-second-color: rgba(17, 17, 17, 0.65);
- }
-}
-/** Helpers */
-.hide {
- display: none;
-}
-
-.sr-only {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(100%);
- clip-path: inset(100%);
- position: absolute;
- width: 1px;
- height: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.focusable:focus, .m-toggle-darkmode input:focus, .m-icon-button:focus, .m-button:focus {
- box-shadow: 0 0 0 2px var(--primary-subtle-color) !important;
-}
-
-.content-centered, .m-hero, .m-icon-button {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.no-appearance, .m-toggle-darkmode input, .m-alert__close, .m-input, .m-icon-button, .m-button {
- -webkit-appearance: none !important;
- -moz-appearance: none !important;
- appearance: none !important;
-}
-
-.no-padding {
- padding: 0;
-}
-
-.no-margin {
- margin: 0;
-}
-
-.no-scroll-y {
- overflow-y: hidden;
-}
-
-.align-center {
- text-align: center;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.pos-relative {
- position: relative;
-}
-
-.pos-absolute {
- position: absolute;
-}
-
-.bold {
- font-weight: bold;
-}
-
-.underline {
- text-decoration: underline;
-}
-
-.uppercase {
- text-transform: uppercase;
-}
-
-.pointer {
- cursor: pointer;
-}
-
-.only-desktop {
- display: none;
-}
-@media only screen and (min-width: 48rem) {
- .only-desktop {
- display: block;
- }
-}
-
-/** Icons */
-[class^=icon-], [class*=" icon-"] {
- /* use !important to prevent issues with browser extensions that change fonts */
- font-family: "icomoon" !important;
- speak: none;
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-transform: none;
- line-height: 1;
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-moon:before {
- content: "\E90F";
-}
-
-.icon-sunny:before {
- content: "\E910";
-}
-
-.icon-chevron-down:before {
- content: "\E900";
-}
-
-.icon-star:before {
- content: "\E901";
-}
-
-.icon-arrow-left:before {
- content: "\E902";
-}
-
-.icon-arrow-right:before {
- content: "\E903";
-}
-
-.icon-arrow-top:before {
- content: "\E904";
-}
-
-.icon-close:before {
- content: "\E905";
-}
-
-.icon-comments:before {
- content: "\E906";
-}
-
-.icon-facebook:before {
- content: "\E907";
-}
-
-.icon-globe:before {
- content: "\E908";
-}
-
-.icon-menu:before {
- content: "\E909";
-}
-
-.icon-more:before {
- content: "\E90A";
-}
-
-.icon-search:before {
- content: "\E90B";
-}
-
-.icon-twitter:before {
- content: "\E90C";
-}
-
-.icon-imdb:before {
- content: "\E90D";
-}
-
-.icon-vk:before {
- content: "\E90E";
-}
-
-.icon-steam:before {
- content: "\E914";
-}
-
-.icon-twitch:before {
- content: "\E915";
-}
-
-.icon-youtube:before {
- content: "\E916";
-}
-
-.icon-vimeo:before {
- content: "\E917";
-}
-
-.icon-whatsapp:before {
- content: "\E918";
-}
-
-.icon-reddit:before {
- content: "\E919";
-}
-
-.icon-rss:before {
- content: "\E91A";
-}
-
-.icon-spotify:before {
- content: "\E91B";
-}
-
-.icon-telegram:before {
- content: "\E91C";
-}
-
-.icon-soundcloud:before {
- content: "\E91D";
-}
-
-.icon-flickr:before {
- content: "\E91E";
-}
-
-.icon-letterboxd:before {
- content: "\E91F";
-}
-
-.icon-odnoklassniki:before {
- content: "\E920";
-}
-
-.icon-pinterest:before {
- content: "\E921";
-}
-
-.icon-tiktok:before {
- content: "\E922";
-}
-
-.icon-tumblr:before {
- content: "\E923";
-}
-
-.icon-xing:before {
- content: "\E924";
-}
-
-.icon-mixcloud:before {
- content: "\E925";
-}
-
-.icon-mixer:before {
- content: "\E926";
-}
-
-.icon-wechat:before {
- content: "\E927";
-}
-
-.icon-deviantart:before {
- content: "\E928";
-}
-
-.icon-discord:before {
- content: "\E929";
-}
-
-.icon-instagram:before {
- content: "\E92A";
-}
-
-.icon-linkedin:before {
- content: "\E92B";
-}
-
-.icon-snapchat:before {
- content: "\E92C";
-}
-
-.icon-gitlab:before {
- content: "\E92D";
-}
-
-.icon-github:before {
- content: "\E930";
-}
-
-.icon-behance:before {
- content: "\E951";
-}
-
-/** Global styles */
-body {
- display: flex;
- flex-direction: column;
- width: 100%;
- min-height: 100vh;
- color: var(--primary-foreground-color);
- font-size: 1rem;
- font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
- font-display: swap;
- overflow-x: hidden;
- background-color: var(--background-color);
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-body.share-menu-displayed {
- padding-bottom: 45px;
-}
-@media only screen and (min-width: 48rem) {
- body.share-menu-displayed {
- padding-bottom: 0;
- }
-}
-
-.main-wrap {
- display: flex;
- flex-direction: column;
- flex-grow: 1;
-}
-
-p {
- line-height: 1.5;
- margin: 0;
-}
-
-a {
- color: inherit;
- text-decoration: none;
-}
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
- position: relative;
-}
-
-.tippy-popper * {
- text-align: left !important;
-}
-
-.medium-zoom-overlay {
- background-color: var(--background-color) !important;
-}
-
-.medium-zoom-overlay,
-.medium-zoom-image {
- z-index: 5;
-}
-
-.l-wrapper {
- position: relative;
- width: 100%;
- margin: 0 auto;
- padding: 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-wrapper {
- max-width: 1200px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .l-wrapper {
- padding: 0;
- }
-}
-.l-wrapper.in-submenu {
- padding: 0;
-}
-@media only screen and (min-width: 48rem) {
- .l-wrapper.in-submenu {
- padding: 0 20px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .l-wrapper.in-submenu {
- padding: 0;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-wrapper.in-post {
- max-width: 960px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-wrapper.in-comments {
- max-width: 820px;
- }
-}
-@media only screen and (min-width: 64rem) {
- .l-wrapper.in-recommended {
- padding: 0;
- max-width: calc(100% - 60px);
- }
-}
-@media only screen and (min-width: 90rem) {
- .l-wrapper.in-recommended {
- max-width: 1200px;
- }
-}
-
-.l-wrapper.in-post.no-image {
- padding-top: 40px;
-}
-@media only screen and (min-width: 48rem) {
- .l-wrapper.in-post.no-image {
- padding-top: 80px;
- }
-}
-
-.l-content {
- padding: 40px 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-content {
- padding: 60px 0 40px;
- }
-}
-
-.m-button {
- display: inline-block;
- color: #333;
- text-align: center;
- letter-spacing: 0.2px;
- line-height: 1;
- font-size: 1rem;
- font-weight: 600;
- border-radius: 5px;
- padding: 13px 25px;
- cursor: pointer;
- outline: 0;
- border: 0;
- position: relative;
- background-color: transparent;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-button.outlined {
- color: var(--titles-color);
- border: 1px solid var(--primary-foreground-color);
-}
-.m-button.filled, .m-button.primary {
- box-shadow: 0 2px 4px var(--button-shadow-color-normal), 0 0 0 transparent;
-}
-.m-button.filled:hover, .m-button.primary:hover {
- transform: translateY(-2px);
- box-shadow: 0 4px 8px var(--button-shadow-color-hover), 0 0 0 transparent;
-}
-.m-button.filled {
- border-radius: 5px;
- background-color: #fff;
-}
-.m-button.block {
- display: block;
- width: 100%;
-}
-.m-button.primary {
- color: #fff;
- background-color: var(--primary-subtle-color);
-}
-.m-button.loading {
- cursor: default;
- overflow: hidden;
-}
-.m-button.loading:after {
- content: "";
- position: absolute;
- left: 0;
- bottom: 0;
- width: 25%;
- height: 2px;
- background-color: #fff;
- -webkit-animation: loading 1s infinite;
- animation: loading 1s infinite;
-}
-@-webkit-keyframes loading {
- 0% {
- transform: translatex(0);
- }
- 50% {
- transform: translatex(300%);
- }
- 100% {
- transform: translatex(0);
- }
-}
-@keyframes loading {
- 0% {
- transform: translatex(0);
- }
- 50% {
- transform: translatex(300%);
- }
- 100% {
- transform: translatex(0);
- }
-}
-
-.m-icon-button {
- color: var(--titles-color);
- font-size: 1.125rem;
- border: 0;
- outline: 0;
- padding: 0;
- cursor: pointer;
- border-radius: 50%;
- background-color: transparent;
-}
-.m-icon-button.outlined {
- border: 1px solid var(--primary-foreground-color);
-}
-.m-icon-button.filled {
- background-color: var(--background-color);
- box-shadow: 0 2px 4px var(--button-shadow-color-normal), 0 0 0 transparent;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-icon-button.filled:hover {
- box-shadow: 0 4px 8px var(--button-shadow-color-hover), 0 0 0 transparent;
-}
-.m-icon-button:disabled {
- cursor: default;
- opacity: 0.5;
-}
-.m-icon-button.in-mobile-topbar {
- width: 50px;
- height: 50px;
-}
-.m-icon-button.as-close-menu {
- position: absolute;
- top: 20px;
- right: 20px;
- width: 32px;
- height: 32px;
- font-size: 0.625rem;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.as-close-menu {
- display: none !important;
- }
-}
-.m-icon-button.as-close-search {
- position: absolute;
- top: 20px;
- right: 20px;
- width: 32px;
- height: 32px;
- font-size: 0.625rem;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.as-close-search {
- top: 30px;
- right: 30px;
- width: 42px;
- height: 42px;
- font-size: 0.875rem;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-icon-button.as-close-search {
- top: 40px;
- right: 40px;
- width: 50px;
- height: 50px;
- }
-}
-.m-icon-button.in-menu-main {
- display: none;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.in-menu-main {
- display: flex;
- width: 32px;
- height: 32px;
- }
-}
-.m-icon-button.more {
- font-size: 1.25rem;
- z-index: 6;
- position: relative;
-}
-.m-icon-button.more.active {
- color: var(--primary-subtle-color);
-}
-.m-icon-button.in-pagination-left, .m-icon-button.in-pagination-right {
- width: 40px;
- height: 40px;
- font-size: 0.625rem;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.in-pagination-left, .m-icon-button.in-pagination-right {
- width: 46px;
- height: 46px;
- font-size: 0.688rem;
- }
-}
-.m-icon-button.in-pagination-left {
- margin-right: 30px;
-}
-.m-icon-button.in-pagination-right {
- margin-left: 30px;
-}
-.m-icon-button.in-featured-articles {
- position: absolute;
- color: #fff;
- font-size: 0.875rem;
- width: 40px;
- height: 40px;
- bottom: 5px;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.in-featured-articles {
- bottom: 26px;
- }
-}
-.m-icon-button.in-featured-articles.glide-prev {
- right: 56px;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.in-featured-articles.glide-prev {
- right: 76px;
- }
-}
-.m-icon-button.in-featured-articles.glide-next {
- right: 16px;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.in-featured-articles.glide-next {
- right: 36px;
- }
-}
-.m-icon-button.in-recommended-articles {
- position: absolute;
- font-size: 0.625rem;
- width: 40px;
- height: 40px;
- top: 200px;
- z-index: 2;
- transform: translateY(-50%);
-}
-@media only screen and (min-width: 64rem) {
- .m-icon-button.in-recommended-articles {
- display: none;
- }
-}
-.m-icon-button.in-recommended-articles.glide-prev {
- left: 0;
-}
-.m-icon-button.in-recommended-articles.glide-next {
- right: 0;
-}
-.m-icon-button.as-load-comments {
- position: relative;
- width: 60px;
- height: 60px;
- font-size: 1.25rem;
- margin: 0 auto;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-icon-button.as-load-comments {
- width: 80px;
- height: 80px;
- font-size: 1.625rem;
- }
-}
-.m-icon-button.in-share {
- color: var(--titles-color);
- font-size: 0.75rem;
- text-decoration: none;
- width: 31px;
- height: 31px;
- margin: 0 25px;
-}
-@media only screen and (min-width: 64rem) {
- .m-icon-button.in-share {
- font-size: 0.875rem;
- width: 40px;
- height: 40px;
- margin: 0 0 20px 0;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-icon-button.in-share {
- font-size: 1rem;
- width: 50px;
- height: 50px;
- }
-}
-.m-icon-button.progress {
- position: relative;
-}
-.m-icon-button.progress svg {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- opacity: 0;
-}
-.m-icon-button.progress svg circle {
- stroke: var(--primary-subtle-color);
- transform-origin: 50% 50%;
- transform: rotate(-90deg);
- transition: stroke-dashoffset 0.2s;
-}
-
-.rtl .m-icon-button.in-featured-articles.glide-prev {
- right: auto;
- left: 16px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-icon-button.in-featured-articles.glide-prev {
- right: auto;
- left: 36px;
- }
-}
-.rtl .m-icon-button.in-featured-articles.glide-next {
- right: auto;
- left: 52px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-icon-button.in-featured-articles.glide-next {
- right: auto;
- left: 72px;
- }
-}
-.rtl .m-icon-button.in-recommended-articles.glide-prev {
- left: auto;
- right: 0;
- transform: rotate(180deg);
-}
-.rtl .m-icon-button.in-recommended-articles.glide-next {
- right: auto;
- left: 0;
- transform: rotate(180deg);
-}
-
-.m-input {
- color: var(--primary-foreground-color);
- letter-spacing: 0.2px;
- line-height: 1.3;
- font-size: 1rem;
- width: 100%;
- border-radius: 5px;
- padding: 11px 15px;
- border: 1px solid var(--primary-border-color);
- outline: 0;
- background-color: var(--background-color);
-}
-.m-input:focus {
- border-color: var(--primary-subtle-color);
-}
-.m-input.in-search {
- font-weight: 600;
- padding-left: 40px;
-}
-@media only screen and (min-width: 48rem) {
- .m-input.in-search {
- font-size: 1.25rem;
- padding: 15px 30px 15px 60px;
- }
-}
-.m-input.in-subscribe-section {
- margin-bottom: 15px;
-}
-
-.m-section-title {
- color: var(--primary-foreground-color);
- text-align: center;
- letter-spacing: 0.3px;
- line-height: 1.3;
- font-weight: 400;
- font-size: 1.25rem;
- margin: 0 0 30px;
-}
-@media only screen and (min-width: 48rem) {
- .m-section-title {
- font-size: 1.5rem;
- margin-bottom: 40px;
- }
-}
-.m-section-title.in-recommended {
- margin-bottom: 0 !important;
-}
-
-.m-small-text {
- color: var(--titles-color);
- font-size: 0.875rem;
-}
-.m-small-text.in-subscribe-page {
- padding-top: 30px;
- font-weight: 600;
-}
-.m-small-text.in-author-along-with {
- margin-bottom: 20px;
-}
-.m-small-text.in-author-along-with a {
- text-decoration: underline;
-}
-
-.m-not-found {
- color: var(--primary-foreground-color);
- line-height: 1.3;
- font-size: 0.875rem;
- font-weight: 600;
-}
-.m-not-found.in-recent-articles {
- margin-left: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-not-found.in-recent-articles {
- margin-left: 0;
- }
-}
-
-.m-alert {
- color: #fff;
- text-align: center;
- letter-spacing: 1px;
- line-height: 1.4;
- font-size: 0.875rem;
- visibility: hidden;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- padding: 16px 45px 14px;
- z-index: 11;
- transform: translateY(-100%);
- transition: transform 0.2s ease;
-}
-@media only screen and (min-width: 48rem) {
- .m-alert {
- font-size: 1rem;
- padding: 24px 75px 22px;
- }
-}
-.m-alert.success {
- background-color: var(--primary-subtle-color);
-}
-.m-alert.opened {
- visibility: visible;
- transform: translateY(0);
-}
-
-.m-alert__close {
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 50%;
- right: 20px;
- width: 20px;
- height: 20px;
- cursor: pointer;
- outline: 0;
- border: 0;
- padding: 0;
- background-color: transparent;
- transform: translateY(-50%);
-}
-@media only screen and (min-width: 48rem) {
- .m-alert__close {
- right: 40px;
- width: 25px;
- height: 25px;
- }
-}
-.m-alert__close span {
- color: #fff;
- font-size: 0.75rem;
-}
-@media only screen and (min-width: 48rem) {
- .m-alert__close span {
- font-size: 0.875rem;
- }
-}
-
-.rtl .m-alert__close {
- right: auto;
- left: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-alert__close {
- right: auto;
- left: 40px;
- }
-}
-
-.m-header {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- z-index: 4;
- background-color: var(--background-color);
- will-change: transform;
- transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
-}
-@media only screen and (min-width: 48rem) {
- .m-header {
- padding: 15px 0;
- }
-}
-.m-header.mobile-menu-opened {
- height: 100%;
-}
-@media only screen and (min-width: 48rem) {
- .m-header.mobile-menu-opened {
- height: auto;
- }
-}
-.m-header.headroom--pinned {
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05), 0 0 0 transparent;
- transform: translateY(0%);
-}
-.m-header.headroom--pinned .m-header__shadow {
- display: none;
-}
-.m-header.headroom--unpinned {
- transform: translateY(-100%);
-}
-.m-header.submenu-is-active {
- background-color: var(--background-color);
-}
-.m-header.submenu-is-active .m-header__shadow {
- display: none;
-}
-.m-header.with-picture {
- background-color: var(--background-color);
-}
-
-.m-mobile-topbar {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 50px;
- position: relative;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-mobile-topbar {
- display: none !important;
- }
-}
-
-.m-logo {
- display: inline-block;
- height: 25px;
-}
-.m-logo img {
- width: auto;
- max-width: 150px;
- height: 100%;
- -o-object-fit: contain;
- object-fit: contain;
-}
-.m-logo.in-mobile-topbar {
- height: 20px;
- margin: 0 20px;
-}
-
-.m-site-name.in-mobile-topbar {
- color: var(--titles-color);
- font-weight: 600;
-}
-.m-site-name.in-desktop-menu {
- font-weight: 700;
-}
-
-@media only screen and (min-width: 48rem) {
- .m-nav {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 37px;
- overflow-y: hidden;
- }
-}
-@media only screen and (min-width: 90rem) {
- .m-nav {
- margin: 0 -5px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-nav.toggle-overflow {
- overflow-y: initial;
- }
-}
-
-.m-nav__left {
- margin-bottom: 30px;
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left {
- display: flex;
- flex: 1 1 auto;
- align-items: center;
- overflow-x: auto;
- overflow-y: hidden;
- white-space: nowrap;
- padding-top: 40px;
- padding-bottom: 40px;
- padding-left: 5px;
- margin-bottom: 0;
- -webkit-overflow-scrolling: touch;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left.toggle-overflow {
- overflow-x: hidden;
- }
-}
-.m-nav__left ul {
- padding: 0;
- margin: 0;
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left ul {
- display: flex;
- align-items: center;
- }
-}
-.m-nav__left li {
- color: var(--titles-color);
- letter-spacing: 0.3px;
- font-size: 1.125rem;
- margin-bottom: 15px;
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left li {
- margin-bottom: 0;
- margin-right: 35px;
- position: relative;
- }
-}
-.m-nav__left li:last-of-type {
- margin-bottom: 0;
-}
-.m-nav__left li.nav-current {
- font-weight: 600;
-}
-.m-nav__left li a {
- color: inherit;
-}
-.m-nav__left li.more a {
- display: inline-flex;
- align-items: center;
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left li.more a {
- display: flex;
- }
-}
-.m-nav__left li.more a span {
- display: inline-block;
- color: inherit;
- font-size: 1rem;
- margin-left: 8px;
- transform: translateY(1px);
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__left li.submenu-option {
- z-index: 2;
- }
-}
-
-.m-nav__right {
- display: flex;
- align-items: center;
- justify-content: flex-end;
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__right {
- flex-shrink: 0;
- position: relative;
- padding-left: 20px;
- padding-right: 5px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-nav__right:before {
- content: "";
- position: absolute;
- pointer-events: none;
- top: 0;
- left: -20px;
- width: 20px;
- height: 100%;
- z-index: 2;
- background: linear-gradient(90deg, var(--header-menu-gradient-first-color) 0, var(--header-menu-gradient-second-color));
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-nav__left {
- padding-left: 0;
- padding-right: 5px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-nav__left li {
- margin-right: 0;
- margin-left: 35px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-nav__right {
- padding-left: 5px;
- padding-right: 20px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-nav__right:before {
- left: auto;
- right: -20px;
- transform: rotate(180deg);
- }
-}
-
-.m-menu {
- visibility: hidden;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- opacity: 0;
- overflow-y: auto;
- z-index: 2;
- background-color: var(--background-color);
- -webkit-overflow-scrolling: touch;
- transform: scale(1.2);
- transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
-}
-.m-menu.opened {
- visibility: visible;
- opacity: 1;
- z-index: 10;
- transform: scale(1);
-}
-@media only screen and (min-width: 48rem) {
- .m-menu {
- visibility: visible !important;
- position: relative;
- top: auto;
- left: auto;
- height: auto;
- opacity: 1 !important;
- overflow: initial;
- background-color: transparent;
- transform: translate3d(0, 0, 0) !important;
- }
-}
-
-.m-menu__main {
- padding: 50px 0 5px;
- min-height: 100%;
-}
-@media only screen and (min-width: 48rem) {
- .m-menu__main {
- padding: 0;
- min-height: 0;
- }
-}
-
-.rtl .m-menu__main {
- padding-top: 75px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-menu__main {
- padding: 0;
- }
-}
-
-.m-secondary-menu {
- padding: 0;
- margin: 0;
- list-style-type: none;
-}
-.m-secondary-menu li {
- font-size: 1rem;
-}
-.m-secondary-menu li.nav-current a {
- font-weight: 600;
-}
-.m-secondary-menu li a {
- display: block;
- padding: 6px 10px;
- border-radius: 4px;
- transition: background-color linear 0.1s;
-}
-@media only screen and (min-width: 48rem) {
- .m-secondary-menu li a {
- padding: 8px 10px;
- }
-}
-.m-secondary-menu li a:hover {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-.rtl .m-secondary-menu .li,
-.rtl .m-secondary-menu .li a {
- text-align: right !important;
-}
-
-.m-submenu {
- padding-top: 25px;
-}
-@media only screen and (min-width: 48rem) {
- .m-submenu {
- visibility: hidden;
- position: fixed;
- top: 45px;
- left: 0;
- width: 100%;
- padding: 30px 0 20px 0;
- background-color: var(--background-color);
- border-top: 1px solid var(--secondary-border-color);
- z-index: 5;
- box-shadow: 0 60px 60px rgba(0, 0, 0, var(--submenu-shadow-color-opacity)), 0 0 0 transparent;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-submenu {
- padding: 32px 0 23px 0;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-submenu.opened {
- visibility: visible;
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- -webkit-animation: openSubmenuAnimation 0.3s both;
- animation: openSubmenuAnimation 0.3s both;
- }
- @-webkit-keyframes openSubmenuAnimation {
- from {
- opacity: 0;
- transform: translate3d(0, -5%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- }
- @keyframes openSubmenuAnimation {
- from {
- opacity: 0;
- transform: translate3d(0, -5%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-submenu.closed {
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- -webkit-animation: closeSubmenuAnimation 0.3s both;
- animation: closeSubmenuAnimation 0.3s both;
- }
- @-webkit-keyframes closeSubmenuAnimation {
- from {
- visibility: visible;
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- visibility: hidden;
- opacity: 0;
- transform: translate3d(0, -2.5%, 0);
- }
- }
- @keyframes closeSubmenuAnimation {
- from {
- visibility: visible;
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- visibility: hidden;
- opacity: 0;
- transform: translate3d(0, -2.5%, 0);
- }
- }
-}
-
-@media only screen and (min-width: 48rem) {
- _:-ms-fullscreen, :root .m-submenu {
- top: 65px;
- }
-}
-
-.m-submenu-title {
- letter-spacing: 0.3px;
- line-height: 1.3;
- font-size: 1.125rem;
- font-weight: 400;
- margin: 0 0 25px;
-}
-.m-submenu-title.in-recent-articles {
- padding: 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-submenu-title.in-recent-articles {
- padding: 0;
- }
-}
-
-.rtl .m-submenu-title {
- direction: rtl;
-}
-
-.m-recent-articles {
- margin: 0 -20px 40px;
- overflow: hidden;
-}
-@media only screen and (min-width: 48rem) {
- .m-recent-articles {
- margin: 0 0 40px;
- }
-}
-.m-recent-articles ul {
- cursor: -webkit-grab;
- cursor: grab;
-}
-
-.m-recent-article {
- display: block;
- width: 230px;
- margin: 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-recent-article {
- margin: 0 60px 0 0;
- }
-}
-.m-recent-article:hover .m-recent-article__picture img {
- transform: scale(1.1);
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-recent-article {
- margin: 0 0 0 60px;
- }
-}
-
-.m-recent-article__picture {
- height: 130px;
- position: relative;
- margin-bottom: 15px;
- border-radius: 5px;
- background-color: var(--secondary-subtle-color);
- overflow: hidden;
-}
-.m-recent-article__picture.no-picture img {
- position: absolute;
- left: 50%;
- top: 50%;
- width: 64px;
- height: 64px;
- margin: -32px 0 0 -32px;
-}
-.m-recent-article__picture img {
- width: 100%;
- height: 100%;
- -o-object-fit: cover;
- object-fit: cover;
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
-}
-
-.m-recent-article__title {
- color: var(--titles-color);
- letter-spacing: 0.2px;
- line-height: 1.438rem;
- font-size: 1rem;
- font-weight: 400;
- margin: 0 0 10px;
-}
-@media only screen and (min-width: 48rem) {
- .m-recent-article__title {
- letter-spacing: 0.25px;
- font-size: 1.125rem;
- }
-}
-
-.m-recent-article__date {
- color: var(--titles-color);
- letter-spacing: 0.15px;
- font-size: 0.813rem;
-}
-
-.m-tags.in-post {
- padding-top: 25px;
-}
-.m-tags.in-post ul {
- padding: 0;
- list-style-type: none;
-}
-.m-tags.in-post a {
- text-decoration: none;
-}
-.m-tags ul {
- display: flex;
- flex-wrap: wrap;
-}
-.m-tags li {
- letter-spacing: 0.2px;
- font-size: 0.875rem;
- font-weight: 600;
- margin-right: 30px;
- margin-bottom: 10px !important;
-}
-.m-tags li:last-of-type {
- margin-right: 0;
-}
-.m-tags li a {
- color: var(--link-color) !important;
-}
-
-.m-toggle-darkmode {
- position: fixed;
- right: 20px;
- bottom: 45px;
- width: 28px;
- height: 28px;
- border-radius: 50%;
- overflow: hidden;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-toggle-darkmode {
- position: relative;
- right: auto;
- bottom: auto;
- margin-left: 20px;
- z-index: auto;
- }
-}
-.m-toggle-darkmode input {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- outline: 0;
- border: 0;
- opacity: 0;
- cursor: pointer;
- z-index: 2;
-}
-.m-toggle-darkmode input::-moz-focus-inner {
- border: 0;
-}
-.m-toggle-darkmode div {
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border-radius: 50%;
- overflow: hidden;
- background-color: var(--toggle-darkmode-background-color);
- z-index: 1;
-}
-.m-toggle-darkmode span {
- color: var(--titles-color);
- font-size: 0.9375rem;
-}
-.m-toggle-darkmode span.moon {
- display: var(--toggle-darkmode-button-display-moon);
-}
-.m-toggle-darkmode span.sun {
- display: var(--toggle-darkmode-button-display-sun);
-}
-
-_:-ms-fullscreen, :root .m-toggle-darkmode {
- display: none;
-}
-
-.m-hero {
- position: relative;
- flex-direction: column;
- min-height: 365px;
- overflow: hidden;
- padding: 100px 0 75px;
- background-color: var(--secondary-subtle-color);
-}
-@media only screen and (min-width: 48rem) {
- .m-hero {
- min-height: 400px;
- padding: 150px 0 75px;
- }
-}
-.m-hero.with-picture {
- color: #fff;
- background-color: #000;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero.with-picture {
- min-height: 450px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-hero.with-picture {
- min-height: 565px;
- }
-}
-.m-hero.with-picture .m-hero-title {
- color: #fff;
-}
-.m-hero.no-picture.in-post {
- display: none;
-}
-
-.m-hero__picture {
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 1;
- opacity: 0.7;
-}
-.m-hero__picture.in-post {
- opacity: 1;
-}
-.m-hero__picture img {
- width: 100%;
- height: 100%;
- -o-object-fit: cover;
- object-fit: cover;
-}
-
-.m-hero__content {
- position: relative;
- text-align: center;
- padding: 0 20px;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero__content {
- max-width: 700px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-hero__content {
- padding: 0;
- }
-}
-
-.m-hero__meta {
- margin: 0 auto;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero__meta {
- display: flex;
- align-items: center;
- justify-content: center;
- }
-}
-
-.rtl .m-hero__meta {
- direction: ltr;
-}
-
-.m-hero-avatar {
- width: 80px;
- height: 80px;
- margin: 0 auto 25px;
- border-radius: 50%;
- background-color: #5c697c;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 0 0 transparent;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-avatar {
- width: 100px;
- height: 100px;
- }
-}
-
-.m-hero-title {
- color: var(--titles-color);
- letter-spacing: 0.4px;
- line-height: 1.3;
- font-size: 1.75rem;
- font-weight: 700;
- margin: 0 0 15px;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-title {
- letter-spacing: 0.5px;
- font-size: 2.25rem;
- }
-}
-.m-hero-title.bigger {
- letter-spacing: 0.5px;
- font-size: 2rem;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-title.bigger {
- letter-spacing: 0.8px;
- font-size: 3.25rem;
- margin-bottom: 10px;
- }
-}
-
-.m-hero-description {
- letter-spacing: 0.2px;
- line-height: 1.5;
- font-size: 0.938rem;
- margin-bottom: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-description {
- font-size: 1.125rem;
- }
-}
-.m-hero-description.bigger {
- line-height: 1.3;
- font-size: 1.125rem;
- margin-bottom: 25px;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-description.bigger {
- font-size: 1.375rem;
- }
-}
-.m-hero-description.with-picture {
- color: #fff;
-}
-
-.m-hero-social {
- text-align: center;
- list-style-type: none;
- padding: 0;
- margin: 0 0 15px;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-social {
- margin-right: 7px;
- margin-bottom: 0;
- }
-}
-.m-hero-social.with-picture {
- color: #fff;
-}
-.m-hero-social li {
- display: inline-block;
- margin: 0 11px;
-}
-.m-hero-social li a {
- color: inherit;
- font-size: 0.938rem;
-}
-.m-hero-social li a span {
- color: inherit;
-}
-
-.rtl .m-hero-social {
- direction: ltr;
-}
-
-.m-hero-stats {
- text-align: center;
- list-style-type: none;
- padding: 0;
- margin: 0;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-stats {
- margin-left: 7px;
- }
-}
-.m-hero-stats.with-picture {
- color: #fff;
-}
-.m-hero-stats li {
- display: inline-block;
- color: inherit;
- letter-spacing: 0.2px;
- font-size: 0.813rem;
- margin: 0 4px;
-}
-@media only screen and (min-width: 48rem) {
- .m-hero-stats li {
- letter-spacing: 0.3px;
- font-size: 1rem;
- }
-}
-
-.m-heading {
- text-align: center;
- margin: 0 auto 40px;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading {
- margin-bottom: 60px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-heading.in-subscribe-page {
- margin-bottom: 50px;
- }
-}
-.m-heading.no-margin {
- margin-bottom: 0 !important;
-}
-
-.m-heading__title {
- color: var(--titles-color);
- letter-spacing: 0.4px;
- line-height: 1.3;
- font-size: 1.75rem;
- margin: 0 0 10px;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__title {
- letter-spacing: 0.5px;
- font-size: 2.25rem;
- margin-bottom: 15px;
- }
-}
-.m-heading__title.in-post {
- letter-spacing: 0.5px;
- font-size: 2rem;
- margin-bottom: 15px;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__title.in-post {
- letter-spacing: 0.7px;
- font-size: 2.625rem;
- margin-bottom: 20px;
- }
-}
-.m-heading__title.in-page {
- margin: 0;
-}
-
-.m-heading__description {
- letter-spacing: 0.2px;
- line-height: 1.3;
- font-size: 0.938rem;
- margin: 0 auto;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__description {
- font-size: 1.125rem;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__description.in-subscribe-page {
- max-width: 420px;
- font-size: 1rem;
- }
-}
-.m-heading__description.in-newsletter-form {
- font-size: 0.875rem;
- max-width: 80%;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__description.in-newsletter-form {
- max-width: 420px;
- }
-}
-
-.m-heading__meta {
- display: flex;
- align-items: center;
- justify-content: center;
- letter-spacing: 0.2px;
- font-size: 0.875rem;
- font-weight: 600;
-}
-@media only screen and (min-width: 48rem) {
- .m-heading__meta {
- font-size: 1rem;
- }
-}
-
-.m-heading__meta__tag,
-.m-heading__meta__time {
- color: var(--link-color) !important;
-}
-
-.m-heading__meta__tag {
- text-decoration: none !important;
-}
-
-.m-heading__meta__divider {
- display: inline-block;
- color: var(--primary-border-color);
- margin: 0 10px;
-}
-
-.m-article-card {
- display: flex;
- flex-direction: column;
- position: relative;
- margin-bottom: 20px;
- height: 400px;
- background-color: var(--background-color);
- border-radius: 10px;
- border: 1px solid var(--secondary-border-color);
- z-index: 1;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-article-card:hover {
- transform: translateY(-5px);
-}
-.m-article-card:hover:before {
- box-shadow: var(--article-shadow-hover), 0 0 0 transparent;
-}
-.m-article-card:hover .m-article-card__author {
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), 0 0 0 transparent;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card {
- width: calc((100% / 2) - 20px);
- height: 420px;
- margin-left: 10px;
- margin-right: 10px;
- margin-bottom: 20px;
- }
-}
-@media only screen and (min-width: 64rem) {
- .m-article-card {
- width: calc((100% / 3) - 40px);
- margin-left: 20px;
- margin-right: 20px;
- margin-bottom: 40px;
- }
-}
-.m-article-card.no-picture .m-article-card__picture {
- height: 85px !important;
-}
-.m-article-card.no-picture .m-article-card__info {
- background-color: var(--secondary-subtle-color);
-}
-.m-article-card.no-picture .m-article-card__title {
- line-height: 1.4;
- font-size: 1.625rem;
-}
-.m-article-card.as-author .m-article-card__picture {
- background-color: #000;
-}
-.m-article-card.as-author .m-article-card__picture-link {
- z-index: 2;
-}
-.m-article-card.as-author .m-article-card__picture-background {
- opacity: 0.75;
-}
-.m-article-card.as-author .m-article-card__info {
- padding: 0;
-}
-.m-article-card.as-author .m-article-card__info-link {
- padding: 20px 20px 60px 20px;
-}
-.m-article-card:before {
- content: "";
- position: absolute;
- top: 10px;
- right: 10px;
- bottom: 0;
- left: 10px;
- border-radius: 10px;
- box-shadow: var(--article-shadow-normal), 0 0 0 transparent;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-
-.m-article-card__picture {
- position: relative;
- height: 200px;
- border-radius: 10px 10px 0 0;
- background-color: var(--secondary-subtle-color);
- overflow: hidden;
- transform: translateZ(0);
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__picture {
- height: 220px;
- }
-}
-
-.m-article-card__picture-link {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- z-index: 1;
-}
-
-.m-article-card__picture-background {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- -o-object-fit: cover;
- object-fit: cover;
- z-index: 0;
-}
-
-.m-article-card__name {
- position: absolute;
- left: 20px;
- right: 20px;
- bottom: 20px;
- color: #fff;
- letter-spacing: 0.4px;
- line-height: 1.3;
- font-size: 1.25rem;
- font-weight: 600;
- margin: 0;
- z-index: 1;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__name {
- left: 25px;
- bottom: 25px;
- }
-}
-
-.m-article-card__author {
- position: absolute;
- top: 20px;
- left: 20px;
- width: 35px;
- height: 35px;
- border-radius: 50%;
- z-index: 2;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__author {
- top: 25px;
- left: 25px;
- }
-}
-.m-article-card__author div {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- border: 2px solid #fff;
- background-color: #fff;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
-}
-
-.m-article-card__featured {
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 26px;
- right: 20px;
- width: 24px;
- height: 24px;
- color: #000;
- background-color: #fff;
- border-radius: 50%;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__featured {
- top: 31px;
- right: 25px;
- }
-}
-.m-article-card__featured span {
- color: inherit;
- font-size: 0.75rem;
-}
-
-.m-article-card__info {
- flex: 1;
- position: relative;
- padding-top: 48px;
- height: 200px;
- overflow: hidden;
- border-radius: 0 0 10px 10px;
- background-color: var(--background-color);
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__info {
- padding-top: 53px;
- }
-}
-.m-article-card__info.no-tag {
- padding-top: 0 !important;
-}
-.m-article-card__info.no-tag .m-article-card__info-link {
- padding-top: 48px;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__info.no-tag .m-article-card__info-link {
- padding-top: 53px;
- }
-}
-
-.m-article-card__tag {
- position: absolute;
- top: 20px;
- left: 20px;
- right: 20px;
- color: var(--link-color);
- letter-spacing: 0.2px;
- line-height: 1.3;
- font-size: 0.875rem;
- font-weight: 600;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__tag {
- top: 25px;
- left: 25px;
- }
-}
-
-.m-article-card__info-link {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 100%;
- height: 100%;
- padding: 0 20px 20px 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-article-card__info-link {
- padding: 0 25px 25px 25px;
- }
-}
-
-.m-article-card__title {
- color: var(--titles-color);
- letter-spacing: 0.4px;
- line-height: 1.3;
- font-size: 1.25rem;
- font-weight: 600;
- margin: 0;
-}
-
-.m-article-card__excerpt {
- display: block;
- position: relative;
- overflow: hidden;
- height: 100%;
- color: var(--titles-color);
- letter-spacing: 0.3px;
- line-height: 1.5;
- font-size: 1rem;
-}
-
-.m-article-card__timestamp,
-.m-article-card__author-stats {
- display: flex;
- align-items: center;
- color: var(--titles-color);
- letter-spacing: 0.2px;
- font-size: 0.875rem;
-}
-.m-article-card__timestamp span:nth-child(2),
-.m-article-card__author-stats span:nth-child(2) {
- padding: 0 10px;
-}
-
-.m-article-card__author-stats {
- position: absolute;
- left: 20px;
- right: 20px;
- bottom: 20px;
- justify-content: space-between;
-}
-.m-article-card__author-stats span {
- padding: 0 !important;
-}
-
-.m-article-card__social {
- display: flex;
- align-items: center;
- justify-content: flex-end;
- padding: 0;
- margin: 0;
-}
-.m-article-card__social li {
- display: inline-block;
- margin-left: 22px;
-}
-.m-article-card__social li a {
- color: var(--primary-foreground-color);
- font-size: 0.938rem;
-}
-.m-article-card__social li a span {
- color: inherit;
-}
-
-.rtl .m-article-card__social {
- direction: ltr;
-}
-
-.m-search {
- visibility: hidden;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- opacity: 0;
- overflow-y: auto;
- z-index: 2;
- background-color: var(--transparent-background-color);
- -webkit-overflow-scrolling: touch;
- transform: scale(1.2);
- transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
-}
-.m-search.opened {
- visibility: visible;
- opacity: 1;
- z-index: 10;
- transform: scale(1);
-}
-
-.m-search__content {
- padding: 80px 20px 40px;
- margin: 0 auto;
-}
-@media only screen and (min-width: 48rem) {
- .m-search__content {
- padding-top: 100px;
- padding-bottom: 50px;
- max-width: 700px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-search__content {
- padding-left: 0;
- padding-right: 0;
- }
-}
-@media only screen and (min-width: 90rem) {
- .m-search__content {
- max-width: 800px;
- }
-}
-
-.m-search__form {
- margin-bottom: 30px;
-}
-@media only screen and (min-width: 48rem) {
- .m-search__form {
- max-width: 500px;
- margin: 0 auto 45px;
- }
-}
-
-.m-search-icon {
- position: absolute;
- top: 50%;
- left: 15px;
- color: #9b9b9b;
- font-size: 1rem;
- font-weight: 500;
- pointer-events: none;
- transform: translateY(-45%);
-}
-@media only screen and (min-width: 48rem) {
- .m-search-icon {
- font-size: 1.25em;
- left: 25px;
- }
-}
-
-.m-result {
- border-bottom: 1px solid var(--primary-border-color);
-}
-.m-result.last {
- border-bottom: 0;
-}
-
-.m-result__link {
- display: block;
- width: 100%;
- height: 100%;
- padding: 10px 0;
-}
-@media only screen and (min-width: 48rem) {
- .m-result__link {
- padding: 15px 0;
- }
-}
-
-.m-result__title {
- color: var(--primary-foreground-color);
- letter-spacing: 0.3px;
- line-height: 1.4;
- font-size: 1rem;
- font-weight: 400;
- margin: 0 0 5px;
-}
-@media only screen and (min-width: 48rem) {
- .m-result__title {
- letter-spacing: 0.4px;
- font-size: 1.25rem;
- margin-bottom: 10px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-result__title {
- font-size: 1.375rem;
- }
-}
-
-.m-result__date {
- color: var(--titles-color);
- letter-spacing: 0.2px;
- font-size: 0.813rem;
-}
-@media only screen and (min-width: 48rem) {
- .m-result__date {
- letter-spacing: 0.3px;
- font-size: 0.938rem;
- }
-}
-
-.m-footer {
- flex-shrink: 0;
- background-color: var(--footer-background-color);
-}
-
-.m-footer__content {
- color: #fff;
- text-align: center;
- padding: 50px 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-footer__content {
- padding: 75px 0;
- max-width: 680px;
- margin: 0 auto;
- }
-}
-
-.m-footer__nav-secondary {
- margin-bottom: 25px;
-}
-.m-footer__nav-secondary .m-secondary-menu {
- display: flex;
- justify-content: center;
- flex-wrap: wrap;
-}
-@media only screen and (min-width: 48rem) {
- .m-footer__nav-secondary .m-secondary-menu li {
- margin: 0 5px;
- }
-}
-
-.m-footer-copyright {
- font-size: 0.875rem;
- letter-spacing: 0.3px;
- line-height: 1.7;
- margin-bottom: 20px;
-}
-.m-footer-copyright span {
- display: block;
-}
-@media only screen and (min-width: 48rem) {
- .m-footer-copyright span {
- display: inline;
- }
-}
-.m-footer-copyright span:nth-child(2) {
- display: none;
-}
-@media only screen and (min-width: 48rem) {
- .m-footer-copyright span:nth-child(2) {
- display: inline;
- }
-}
-.m-footer-copyright a {
- text-decoration: underline;
-}
-.m-footer-copyright.jslicense {
- opacity: 0.7;
- margin-bottom: 0;
-}
-
-.m-footer-social {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 20px;
-}
-.m-footer-social a {
- display: inline-block;
- color: #fff;
- margin: 0 15px;
-}
-.m-footer-social a span {
- color: inherit;
- font-size: 1rem;
-}
-
-.rtl .m-footer-social {
- direction: ltr;
-}
-
-[data-aos-duration="50"] [data-aos], [data-aos][data-aos][data-aos-duration="50"] {
- transition-duration: 50ms;
-}
-[data-aos-delay="50"] [data-aos], [data-aos][data-aos][data-aos-delay="50"] {
- transition-delay: 0;
-}
-[data-aos-delay="50"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="50"].aos-animate {
- transition-delay: 50ms;
-}
-[data-aos-duration="100"] [data-aos], [data-aos][data-aos][data-aos-duration="100"] {
- transition-duration: 100ms;
-}
-[data-aos-delay="100"] [data-aos], [data-aos][data-aos][data-aos-delay="100"] {
- transition-delay: 0;
-}
-[data-aos-delay="100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="100"].aos-animate {
- transition-delay: 100ms;
-}
-[data-aos-duration="150"] [data-aos], [data-aos][data-aos][data-aos-duration="150"] {
- transition-duration: 150ms;
-}
-[data-aos-delay="150"] [data-aos], [data-aos][data-aos][data-aos-delay="150"] {
- transition-delay: 0;
-}
-[data-aos-delay="150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="150"].aos-animate {
- transition-delay: 150ms;
-}
-[data-aos-duration="200"] [data-aos], [data-aos][data-aos][data-aos-duration="200"] {
- transition-duration: 200ms;
-}
-[data-aos-delay="200"] [data-aos], [data-aos][data-aos][data-aos-delay="200"] {
- transition-delay: 0;
-}
-[data-aos-delay="200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="200"].aos-animate {
- transition-delay: 200ms;
-}
-[data-aos-duration="250"] [data-aos], [data-aos][data-aos][data-aos-duration="250"] {
- transition-duration: 250ms;
-}
-[data-aos-delay="250"] [data-aos], [data-aos][data-aos][data-aos-delay="250"] {
- transition-delay: 0;
-}
-[data-aos-delay="250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="250"].aos-animate {
- transition-delay: 250ms;
-}
-[data-aos-duration="300"] [data-aos], [data-aos][data-aos][data-aos-duration="300"] {
- transition-duration: 300ms;
-}
-[data-aos-delay="300"] [data-aos], [data-aos][data-aos][data-aos-delay="300"] {
- transition-delay: 0;
-}
-[data-aos-delay="300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="300"].aos-animate {
- transition-delay: 300ms;
-}
-[data-aos-duration="350"] [data-aos], [data-aos][data-aos][data-aos-duration="350"] {
- transition-duration: 350ms;
-}
-[data-aos-delay="350"] [data-aos], [data-aos][data-aos][data-aos-delay="350"] {
- transition-delay: 0;
-}
-[data-aos-delay="350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="350"].aos-animate {
- transition-delay: 350ms;
-}
-[data-aos-duration="400"] [data-aos], [data-aos][data-aos][data-aos-duration="400"] {
- transition-duration: 400ms;
-}
-[data-aos-delay="400"] [data-aos], [data-aos][data-aos][data-aos-delay="400"] {
- transition-delay: 0;
-}
-[data-aos-delay="400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="400"].aos-animate {
- transition-delay: 400ms;
-}
-[data-aos-duration="450"] [data-aos], [data-aos][data-aos][data-aos-duration="450"] {
- transition-duration: 450ms;
-}
-[data-aos-delay="450"] [data-aos], [data-aos][data-aos][data-aos-delay="450"] {
- transition-delay: 0;
-}
-[data-aos-delay="450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="450"].aos-animate {
- transition-delay: 450ms;
-}
-[data-aos-duration="500"] [data-aos], [data-aos][data-aos][data-aos-duration="500"] {
- transition-duration: 500ms;
-}
-[data-aos-delay="500"] [data-aos], [data-aos][data-aos][data-aos-delay="500"] {
- transition-delay: 0;
-}
-[data-aos-delay="500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="500"].aos-animate {
- transition-delay: 500ms;
-}
-[data-aos-duration="550"] [data-aos], [data-aos][data-aos][data-aos-duration="550"] {
- transition-duration: 550ms;
-}
-[data-aos-delay="550"] [data-aos], [data-aos][data-aos][data-aos-delay="550"] {
- transition-delay: 0;
-}
-[data-aos-delay="550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="550"].aos-animate {
- transition-delay: 550ms;
-}
-[data-aos-duration="600"] [data-aos], [data-aos][data-aos][data-aos-duration="600"] {
- transition-duration: 600ms;
-}
-[data-aos-delay="600"] [data-aos], [data-aos][data-aos][data-aos-delay="600"] {
- transition-delay: 0;
-}
-[data-aos-delay="600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="600"].aos-animate {
- transition-delay: 600ms;
-}
-[data-aos-duration="650"] [data-aos], [data-aos][data-aos][data-aos-duration="650"] {
- transition-duration: 650ms;
-}
-[data-aos-delay="650"] [data-aos], [data-aos][data-aos][data-aos-delay="650"] {
- transition-delay: 0;
-}
-[data-aos-delay="650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="650"].aos-animate {
- transition-delay: 650ms;
-}
-[data-aos-duration="700"] [data-aos], [data-aos][data-aos][data-aos-duration="700"] {
- transition-duration: 700ms;
-}
-[data-aos-delay="700"] [data-aos], [data-aos][data-aos][data-aos-delay="700"] {
- transition-delay: 0;
-}
-[data-aos-delay="700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="700"].aos-animate {
- transition-delay: 700ms;
-}
-[data-aos-duration="750"] [data-aos], [data-aos][data-aos][data-aos-duration="750"] {
- transition-duration: 750ms;
-}
-[data-aos-delay="750"] [data-aos], [data-aos][data-aos][data-aos-delay="750"] {
- transition-delay: 0;
-}
-[data-aos-delay="750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="750"].aos-animate {
- transition-delay: 750ms;
-}
-[data-aos-duration="800"] [data-aos], [data-aos][data-aos][data-aos-duration="800"] {
- transition-duration: 800ms;
-}
-[data-aos-delay="800"] [data-aos], [data-aos][data-aos][data-aos-delay="800"] {
- transition-delay: 0;
-}
-[data-aos-delay="800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="800"].aos-animate {
- transition-delay: 800ms;
-}
-[data-aos-duration="850"] [data-aos], [data-aos][data-aos][data-aos-duration="850"] {
- transition-duration: 850ms;
-}
-[data-aos-delay="850"] [data-aos], [data-aos][data-aos][data-aos-delay="850"] {
- transition-delay: 0;
-}
-[data-aos-delay="850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="850"].aos-animate {
- transition-delay: 850ms;
-}
-[data-aos-duration="900"] [data-aos], [data-aos][data-aos][data-aos-duration="900"] {
- transition-duration: 900ms;
-}
-[data-aos-delay="900"] [data-aos], [data-aos][data-aos][data-aos-delay="900"] {
- transition-delay: 0;
-}
-[data-aos-delay="900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="900"].aos-animate {
- transition-delay: 900ms;
-}
-[data-aos-duration="950"] [data-aos], [data-aos][data-aos][data-aos-duration="950"] {
- transition-duration: 950ms;
-}
-[data-aos-delay="950"] [data-aos], [data-aos][data-aos][data-aos-delay="950"] {
- transition-delay: 0;
-}
-[data-aos-delay="950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="950"].aos-animate {
- transition-delay: 950ms;
-}
-[data-aos-duration="1000"] [data-aos], [data-aos][data-aos][data-aos-duration="1000"] {
- transition-duration: 1000ms;
-}
-[data-aos-delay="1000"] [data-aos], [data-aos][data-aos][data-aos-delay="1000"] {
- transition-delay: 0;
-}
-[data-aos-delay="1000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1000"].aos-animate {
- transition-delay: 1000ms;
-}
-[data-aos-duration="1050"] [data-aos], [data-aos][data-aos][data-aos-duration="1050"] {
- transition-duration: 1050ms;
-}
-[data-aos-delay="1050"] [data-aos], [data-aos][data-aos][data-aos-delay="1050"] {
- transition-delay: 0;
-}
-[data-aos-delay="1050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1050"].aos-animate {
- transition-delay: 1050ms;
-}
-[data-aos-duration="1100"] [data-aos], [data-aos][data-aos][data-aos-duration="1100"] {
- transition-duration: 1100ms;
-}
-[data-aos-delay="1100"] [data-aos], [data-aos][data-aos][data-aos-delay="1100"] {
- transition-delay: 0;
-}
-[data-aos-delay="1100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1100"].aos-animate {
- transition-delay: 1100ms;
-}
-[data-aos-duration="1150"] [data-aos], [data-aos][data-aos][data-aos-duration="1150"] {
- transition-duration: 1150ms;
-}
-[data-aos-delay="1150"] [data-aos], [data-aos][data-aos][data-aos-delay="1150"] {
- transition-delay: 0;
-}
-[data-aos-delay="1150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1150"].aos-animate {
- transition-delay: 1150ms;
-}
-[data-aos-duration="1200"] [data-aos], [data-aos][data-aos][data-aos-duration="1200"] {
- transition-duration: 1200ms;
-}
-[data-aos-delay="1200"] [data-aos], [data-aos][data-aos][data-aos-delay="1200"] {
- transition-delay: 0;
-}
-[data-aos-delay="1200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1200"].aos-animate {
- transition-delay: 1200ms;
-}
-[data-aos-duration="1250"] [data-aos], [data-aos][data-aos][data-aos-duration="1250"] {
- transition-duration: 1250ms;
-}
-[data-aos-delay="1250"] [data-aos], [data-aos][data-aos][data-aos-delay="1250"] {
- transition-delay: 0;
-}
-[data-aos-delay="1250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1250"].aos-animate {
- transition-delay: 1250ms;
-}
-[data-aos-duration="1300"] [data-aos], [data-aos][data-aos][data-aos-duration="1300"] {
- transition-duration: 1300ms;
-}
-[data-aos-delay="1300"] [data-aos], [data-aos][data-aos][data-aos-delay="1300"] {
- transition-delay: 0;
-}
-[data-aos-delay="1300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1300"].aos-animate {
- transition-delay: 1300ms;
-}
-[data-aos-duration="1350"] [data-aos], [data-aos][data-aos][data-aos-duration="1350"] {
- transition-duration: 1350ms;
-}
-[data-aos-delay="1350"] [data-aos], [data-aos][data-aos][data-aos-delay="1350"] {
- transition-delay: 0;
-}
-[data-aos-delay="1350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1350"].aos-animate {
- transition-delay: 1350ms;
-}
-[data-aos-duration="1400"] [data-aos], [data-aos][data-aos][data-aos-duration="1400"] {
- transition-duration: 1400ms;
-}
-[data-aos-delay="1400"] [data-aos], [data-aos][data-aos][data-aos-delay="1400"] {
- transition-delay: 0;
-}
-[data-aos-delay="1400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1400"].aos-animate {
- transition-delay: 1400ms;
-}
-[data-aos-duration="1450"] [data-aos], [data-aos][data-aos][data-aos-duration="1450"] {
- transition-duration: 1450ms;
-}
-[data-aos-delay="1450"] [data-aos], [data-aos][data-aos][data-aos-delay="1450"] {
- transition-delay: 0;
-}
-[data-aos-delay="1450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1450"].aos-animate {
- transition-delay: 1450ms;
-}
-[data-aos-duration="1500"] [data-aos], [data-aos][data-aos][data-aos-duration="1500"] {
- transition-duration: 1500ms;
-}
-[data-aos-delay="1500"] [data-aos], [data-aos][data-aos][data-aos-delay="1500"] {
- transition-delay: 0;
-}
-[data-aos-delay="1500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1500"].aos-animate {
- transition-delay: 1500ms;
-}
-[data-aos-duration="1550"] [data-aos], [data-aos][data-aos][data-aos-duration="1550"] {
- transition-duration: 1550ms;
-}
-[data-aos-delay="1550"] [data-aos], [data-aos][data-aos][data-aos-delay="1550"] {
- transition-delay: 0;
-}
-[data-aos-delay="1550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1550"].aos-animate {
- transition-delay: 1550ms;
-}
-[data-aos-duration="1600"] [data-aos], [data-aos][data-aos][data-aos-duration="1600"] {
- transition-duration: 1600ms;
-}
-[data-aos-delay="1600"] [data-aos], [data-aos][data-aos][data-aos-delay="1600"] {
- transition-delay: 0;
-}
-[data-aos-delay="1600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1600"].aos-animate {
- transition-delay: 1600ms;
-}
-[data-aos-duration="1650"] [data-aos], [data-aos][data-aos][data-aos-duration="1650"] {
- transition-duration: 1650ms;
-}
-[data-aos-delay="1650"] [data-aos], [data-aos][data-aos][data-aos-delay="1650"] {
- transition-delay: 0;
-}
-[data-aos-delay="1650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1650"].aos-animate {
- transition-delay: 1650ms;
-}
-[data-aos-duration="1700"] [data-aos], [data-aos][data-aos][data-aos-duration="1700"] {
- transition-duration: 1700ms;
-}
-[data-aos-delay="1700"] [data-aos], [data-aos][data-aos][data-aos-delay="1700"] {
- transition-delay: 0;
-}
-[data-aos-delay="1700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1700"].aos-animate {
- transition-delay: 1700ms;
-}
-[data-aos-duration="1750"] [data-aos], [data-aos][data-aos][data-aos-duration="1750"] {
- transition-duration: 1750ms;
-}
-[data-aos-delay="1750"] [data-aos], [data-aos][data-aos][data-aos-delay="1750"] {
- transition-delay: 0;
-}
-[data-aos-delay="1750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1750"].aos-animate {
- transition-delay: 1750ms;
-}
-[data-aos-duration="1800"] [data-aos], [data-aos][data-aos][data-aos-duration="1800"] {
- transition-duration: 1800ms;
-}
-[data-aos-delay="1800"] [data-aos], [data-aos][data-aos][data-aos-delay="1800"] {
- transition-delay: 0;
-}
-[data-aos-delay="1800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1800"].aos-animate {
- transition-delay: 1800ms;
-}
-[data-aos-duration="1850"] [data-aos], [data-aos][data-aos][data-aos-duration="1850"] {
- transition-duration: 1850ms;
-}
-[data-aos-delay="1850"] [data-aos], [data-aos][data-aos][data-aos-delay="1850"] {
- transition-delay: 0;
-}
-[data-aos-delay="1850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1850"].aos-animate {
- transition-delay: 1850ms;
-}
-[data-aos-duration="1900"] [data-aos], [data-aos][data-aos][data-aos-duration="1900"] {
- transition-duration: 1900ms;
-}
-[data-aos-delay="1900"] [data-aos], [data-aos][data-aos][data-aos-delay="1900"] {
- transition-delay: 0;
-}
-[data-aos-delay="1900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1900"].aos-animate {
- transition-delay: 1900ms;
-}
-[data-aos-duration="1950"] [data-aos], [data-aos][data-aos][data-aos-duration="1950"] {
- transition-duration: 1950ms;
-}
-[data-aos-delay="1950"] [data-aos], [data-aos][data-aos][data-aos-delay="1950"] {
- transition-delay: 0;
-}
-[data-aos-delay="1950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1950"].aos-animate {
- transition-delay: 1950ms;
-}
-[data-aos-duration="2000"] [data-aos], [data-aos][data-aos][data-aos-duration="2000"] {
- transition-duration: 2000ms;
-}
-[data-aos-delay="2000"] [data-aos], [data-aos][data-aos][data-aos-delay="2000"] {
- transition-delay: 0;
-}
-[data-aos-delay="2000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2000"].aos-animate {
- transition-delay: 2000ms;
-}
-[data-aos-duration="2050"] [data-aos], [data-aos][data-aos][data-aos-duration="2050"] {
- transition-duration: 2050ms;
-}
-[data-aos-delay="2050"] [data-aos], [data-aos][data-aos][data-aos-delay="2050"] {
- transition-delay: 0;
-}
-[data-aos-delay="2050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2050"].aos-animate {
- transition-delay: 2050ms;
-}
-[data-aos-duration="2100"] [data-aos], [data-aos][data-aos][data-aos-duration="2100"] {
- transition-duration: 2100ms;
-}
-[data-aos-delay="2100"] [data-aos], [data-aos][data-aos][data-aos-delay="2100"] {
- transition-delay: 0;
-}
-[data-aos-delay="2100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2100"].aos-animate {
- transition-delay: 2100ms;
-}
-[data-aos-duration="2150"] [data-aos], [data-aos][data-aos][data-aos-duration="2150"] {
- transition-duration: 2150ms;
-}
-[data-aos-delay="2150"] [data-aos], [data-aos][data-aos][data-aos-delay="2150"] {
- transition-delay: 0;
-}
-[data-aos-delay="2150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2150"].aos-animate {
- transition-delay: 2150ms;
-}
-[data-aos-duration="2200"] [data-aos], [data-aos][data-aos][data-aos-duration="2200"] {
- transition-duration: 2200ms;
-}
-[data-aos-delay="2200"] [data-aos], [data-aos][data-aos][data-aos-delay="2200"] {
- transition-delay: 0;
-}
-[data-aos-delay="2200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2200"].aos-animate {
- transition-delay: 2200ms;
-}
-[data-aos-duration="2250"] [data-aos], [data-aos][data-aos][data-aos-duration="2250"] {
- transition-duration: 2250ms;
-}
-[data-aos-delay="2250"] [data-aos], [data-aos][data-aos][data-aos-delay="2250"] {
- transition-delay: 0;
-}
-[data-aos-delay="2250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2250"].aos-animate {
- transition-delay: 2250ms;
-}
-[data-aos-duration="2300"] [data-aos], [data-aos][data-aos][data-aos-duration="2300"] {
- transition-duration: 2300ms;
-}
-[data-aos-delay="2300"] [data-aos], [data-aos][data-aos][data-aos-delay="2300"] {
- transition-delay: 0;
-}
-[data-aos-delay="2300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2300"].aos-animate {
- transition-delay: 2300ms;
-}
-[data-aos-duration="2350"] [data-aos], [data-aos][data-aos][data-aos-duration="2350"] {
- transition-duration: 2350ms;
-}
-[data-aos-delay="2350"] [data-aos], [data-aos][data-aos][data-aos-delay="2350"] {
- transition-delay: 0;
-}
-[data-aos-delay="2350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2350"].aos-animate {
- transition-delay: 2350ms;
-}
-[data-aos-duration="2400"] [data-aos], [data-aos][data-aos][data-aos-duration="2400"] {
- transition-duration: 2400ms;
-}
-[data-aos-delay="2400"] [data-aos], [data-aos][data-aos][data-aos-delay="2400"] {
- transition-delay: 0;
-}
-[data-aos-delay="2400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2400"].aos-animate {
- transition-delay: 2400ms;
-}
-[data-aos-duration="2450"] [data-aos], [data-aos][data-aos][data-aos-duration="2450"] {
- transition-duration: 2450ms;
-}
-[data-aos-delay="2450"] [data-aos], [data-aos][data-aos][data-aos-delay="2450"] {
- transition-delay: 0;
-}
-[data-aos-delay="2450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2450"].aos-animate {
- transition-delay: 2450ms;
-}
-[data-aos-duration="2500"] [data-aos], [data-aos][data-aos][data-aos-duration="2500"] {
- transition-duration: 2500ms;
-}
-[data-aos-delay="2500"] [data-aos], [data-aos][data-aos][data-aos-delay="2500"] {
- transition-delay: 0;
-}
-[data-aos-delay="2500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2500"].aos-animate {
- transition-delay: 2500ms;
-}
-[data-aos-duration="2550"] [data-aos], [data-aos][data-aos][data-aos-duration="2550"] {
- transition-duration: 2550ms;
-}
-[data-aos-delay="2550"] [data-aos], [data-aos][data-aos][data-aos-delay="2550"] {
- transition-delay: 0;
-}
-[data-aos-delay="2550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2550"].aos-animate {
- transition-delay: 2550ms;
-}
-[data-aos-duration="2600"] [data-aos], [data-aos][data-aos][data-aos-duration="2600"] {
- transition-duration: 2600ms;
-}
-[data-aos-delay="2600"] [data-aos], [data-aos][data-aos][data-aos-delay="2600"] {
- transition-delay: 0;
-}
-[data-aos-delay="2600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2600"].aos-animate {
- transition-delay: 2600ms;
-}
-[data-aos-duration="2650"] [data-aos], [data-aos][data-aos][data-aos-duration="2650"] {
- transition-duration: 2650ms;
-}
-[data-aos-delay="2650"] [data-aos], [data-aos][data-aos][data-aos-delay="2650"] {
- transition-delay: 0;
-}
-[data-aos-delay="2650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2650"].aos-animate {
- transition-delay: 2650ms;
-}
-[data-aos-duration="2700"] [data-aos], [data-aos][data-aos][data-aos-duration="2700"] {
- transition-duration: 2700ms;
-}
-[data-aos-delay="2700"] [data-aos], [data-aos][data-aos][data-aos-delay="2700"] {
- transition-delay: 0;
-}
-[data-aos-delay="2700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2700"].aos-animate {
- transition-delay: 2700ms;
-}
-[data-aos-duration="2750"] [data-aos], [data-aos][data-aos][data-aos-duration="2750"] {
- transition-duration: 2750ms;
-}
-[data-aos-delay="2750"] [data-aos], [data-aos][data-aos][data-aos-delay="2750"] {
- transition-delay: 0;
-}
-[data-aos-delay="2750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2750"].aos-animate {
- transition-delay: 2750ms;
-}
-[data-aos-duration="2800"] [data-aos], [data-aos][data-aos][data-aos-duration="2800"] {
- transition-duration: 2800ms;
-}
-[data-aos-delay="2800"] [data-aos], [data-aos][data-aos][data-aos-delay="2800"] {
- transition-delay: 0;
-}
-[data-aos-delay="2800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2800"].aos-animate {
- transition-delay: 2800ms;
-}
-[data-aos-duration="2850"] [data-aos], [data-aos][data-aos][data-aos-duration="2850"] {
- transition-duration: 2850ms;
-}
-[data-aos-delay="2850"] [data-aos], [data-aos][data-aos][data-aos-delay="2850"] {
- transition-delay: 0;
-}
-[data-aos-delay="2850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2850"].aos-animate {
- transition-delay: 2850ms;
-}
-[data-aos-duration="2900"] [data-aos], [data-aos][data-aos][data-aos-duration="2900"] {
- transition-duration: 2900ms;
-}
-[data-aos-delay="2900"] [data-aos], [data-aos][data-aos][data-aos-delay="2900"] {
- transition-delay: 0;
-}
-[data-aos-delay="2900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2900"].aos-animate {
- transition-delay: 2900ms;
-}
-[data-aos-duration="2950"] [data-aos], [data-aos][data-aos][data-aos-duration="2950"] {
- transition-duration: 2950ms;
-}
-[data-aos-delay="2950"] [data-aos], [data-aos][data-aos][data-aos-delay="2950"] {
- transition-delay: 0;
-}
-[data-aos-delay="2950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2950"].aos-animate {
- transition-delay: 2950ms;
-}
-[data-aos-duration="3000"] [data-aos], [data-aos][data-aos][data-aos-duration="3000"] {
- transition-duration: 3000ms;
-}
-[data-aos-delay="3000"] [data-aos], [data-aos][data-aos][data-aos-delay="3000"] {
- transition-delay: 0;
-}
-[data-aos-delay="3000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="3000"].aos-animate {
- transition-delay: 3000ms;
-}
-
-[data-aos-easing=linear] [data-aos], [data-aos][data-aos][data-aos-easing=linear] {
- transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
-}
-[data-aos-easing=ease] [data-aos], [data-aos][data-aos][data-aos-easing=ease] {
- transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
-}
-[data-aos-easing=ease-in] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in] {
- transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
-}
-[data-aos-easing=ease-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out] {
- transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
-}
-[data-aos-easing=ease-in-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out] {
- transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
-}
-[data-aos-easing=ease-in-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-back] {
- transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
-}
-[data-aos-easing=ease-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-back] {
- transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 10.275);
-}
-[data-aos-easing=ease-in-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-back] {
- transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 10.55);
-}
-[data-aos-easing=ease-in-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-sine] {
- transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
-}
-[data-aos-easing=ease-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-sine] {
- transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
-}
-[data-aos-easing=ease-in-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-sine] {
- transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
-}
-[data-aos-easing=ease-in-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quad] {
- transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
-}
-[data-aos-easing=ease-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quad] {
- transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
-}
-[data-aos-easing=ease-in-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quad] {
- transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
-}
-[data-aos-easing=ease-in-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-cubic] {
- transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
-}
-[data-aos-easing=ease-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-cubic] {
- transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
-}
-[data-aos-easing=ease-in-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-cubic] {
- transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
-}
-[data-aos-easing=ease-in-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quart] {
- transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
-}
-[data-aos-easing=ease-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quart] {
- transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
-}
-[data-aos-easing=ease-in-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quart] {
- transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
-}
-
-/**
- * Fade animations:
- * fade
- * fade-up, fade-down
- */
-[data-aos^=fade][data-aos^=fade]:not(.no-aos-animation) {
- opacity: 0;
- transition-property: opacity, transform;
-}
-[data-aos^=fade][data-aos^=fade]:not(.no-aos-animation).aos-animate {
- opacity: 1;
- transform: translate3d(0, 0, 0);
-}
-
-[data-aos=fade-up]:not(.no-aos-animation) {
- transform: translate3d(0, 100px, 0);
-}
-
-[data-aos=fade-down]:not(.no-aos-animation) {
- transform: translate3d(0, -100px, 0);
-}
-
-.glide {
- position: relative;
- box-sizing: border-box;
-}
-.glide * {
- box-sizing: inherit;
-}
-.glide__track {
- height: 100%;
- overflow: hidden;
-}
-.glide__slides {
- position: relative;
- width: 100%;
- list-style: none;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- transform-style: preserve-3d;
- touch-action: pan-Y;
- overflow: hidden;
- padding: 0;
- white-space: nowrap;
- display: flex;
- flex-wrap: nowrap;
- will-change: transform;
-}
-.glide__slides--dragging {
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.glide__slide {
- width: 100%;
- height: 100%;
- flex-shrink: 0;
- white-space: normal;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-touch-callout: none;
- -webkit-tap-highlight-color: transparent;
-}
-.glide__slide a {
- -webkit-user-select: none;
- -moz-user-select: none;
- user-select: none;
- -webkit-user-drag: none;
- -ms-user-select: none;
-}
-.glide__arrows {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.glide__bullets {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.glide--rtl {
- direction: rtl;
-}
\ No newline at end of file
+/*! sanitize.css v7.0.2 | CC0 License | github.com/csstools/sanitize.css */*,:after,:before{background-repeat:no-repeat;box-sizing:border-box}:after,:before{text-decoration:inherit;vertical-align:inherit}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Oxygen,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.15;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{height:0;overflow:visible}main{display:block}nav ol,nav ul{list-style:none}pre{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Oxygen Mono,Liberation Mono,monospace;font-size:1em}a{background-color:transparent}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Oxygen Mono,Liberation Mono,monospace;font-size:1em}small{font-size:80%}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg{fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select{margin:0}button{overflow:visible;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{padding:.35em .75em .625em}input{overflow:visible}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{display:inline-block;vertical-align:baseline}select{text-transform:none}textarea{margin:0;overflow:auto;resize:vertical}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}details,dialog{display:block}dialog{background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content}dialog:not([open]){display:none}summary{display:list-item}canvas{display:inline-block}template{display:none}[tabindex],a,area,button,input,label,select,summary,textarea{touch-action:manipulation}[hidden]{display:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled],[disabled]{cursor:disabled}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}:root,[data-theme=light]{--background-color:#fff;--primary-foreground-color:#4a4a4a;--secondary-foreground-color:#000;--primary-subtle-color:#0470ee;--secondary-subtle-color:#f4f8fd;--titles-color:#333;--link-color:#133467;--primary-border-color:#9b9b9b;--secondary-border-color:#f0f8ff;--article-shadow-normal:0 10px 10px rgba(0,0,0,0.08);--article-shadow-hover:0 4px 60px 0 rgba(0,0,0,0.2);--transparent-background-color:hsla(0,0%,100%,0.99);--footer-background-color:#133467;--submenu-shadow-color-opacity:0.25;--button-shadow-color-normal:hsla(0,0%,42.4%,0.2);--button-shadow-color-hover:hsla(0,0%,42.4%,0.3);--table-background-color-odd:#fafafa;--table-head-border-bottom:#e2e2e2;--toggle-darkmode-button-display-moon:block;--toggle-darkmode-button-display-sun:none;--toggle-darkmode-background-color:rgba(0,0,0,0.05);--header-menu-gradient-first-color:hsla(0,0%,100%,0);--header-menu-gradient-second-color:#fff}[data-theme=dark]{--background-color:#111;--primary-foreground-color:#ccc;--secondary-foreground-color:#fff;--primary-subtle-color:#2c2fe6;--secondary-subtle-color:#141920;--titles-color:#b4b4b4;--link-color:#b6b7f6;--primary-border-color:#1d1d1d;--secondary-border-color:#0f0f0f;--article-shadow-normal:0 4px 5px 5px rgba(0,0,0,0.1);--article-shadow-hover:0 4px 5px 10px rgba(0,0,0,0.1);--transparent-background-color:rgba(0,0,0,0.99);--footer-background-color:#080808;--submenu-shadow-color-opacity:0.55;--button-shadow-color-normal:rgba(10,10,10,0.5);--button-shadow-color-hover:rgba(10,10,10,0.5);--table-background-color-odd:#050505;--table-head-border-bottom:#1d1d1d;--toggle-darkmode-button-display-moon:none;--toggle-darkmode-button-display-sun:block;--toggle-darkmode-background-color:rgba(0,0,0,0.5);--header-menu-gradient-first-color:rgba(17,17,17,0);--header-menu-gradient-second-color:rgba(17,17,17,0.65)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background-color:#111;--primary-foreground-color:#ccc;--secondary-foreground-color:#fff;--primary-subtle-color:#2c2fe6;--secondary-subtle-color:#141920;--titles-color:#b4b4b4;--link-color:#b6b7f6;--primary-border-color:#1d1d1d;--secondary-border-color:#0f0f0f;--article-shadow-normal:0 4px 5px 5px rgba(0,0,0,0.1);--article-shadow-hover:0 4px 5px 10px rgba(0,0,0,0.1);--transparent-background-color:rgba(0,0,0,0.99);--footer-background-color:#080808;--submenu-shadow-color-opacity:0.55;--button-shadow-color-normal:rgba(10,10,10,0.5);--button-shadow-color-hover:rgba(10,10,10,0.5);--table-background-color-odd:#050505;--table-head-border-bottom:#1d1d1d;--toggle-darkmode-button-display-moon:none;--toggle-darkmode-button-display-sun:block;--toggle-darkmode-background-color:rgba(0,0,0,0.5);--header-menu-gradient-first-color:rgba(17,17,17,0);--header-menu-gradient-second-color:rgba(17,17,17,0.65)}}.hide{display:none}.sr-only{clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);position:absolute;width:1px;height:1px;overflow:hidden;white-space:nowrap}.focusable:focus,.m-button:focus,.m-icon-button:focus,.m-toggle-darkmode input:focus{box-shadow:0 0 0 2px var(--primary-subtle-color)!important}.content-centered,.m-hero,.m-icon-button{display:flex;align-items:center;justify-content:center}.m-alert__close,.m-button,.m-icon-button,.m-input,.m-toggle-darkmode input,.no-appearance{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.no-padding{padding:0}.no-margin{margin:0}.no-scroll-y{overflow-y:hidden}.align-center{text-align:center}.align-left{text-align:left}.align-right{text-align:right}.pos-relative{position:relative}.pos-absolute{position:absolute}.bold{font-weight:700}.underline{text-decoration:underline}.uppercase{text-transform:uppercase}.pointer{cursor:pointer}.only-desktop{display:none}@media only screen and (min-width:48rem){.only-desktop{display:block}}[class*=" icon-"],[class^=icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-moon:before{content:"\E90F"}.icon-sunny:before{content:"\E910"}.icon-chevron-down:before{content:"\E900"}.icon-star:before{content:"\E901"}.icon-arrow-left:before{content:"\E902"}.icon-arrow-right:before{content:"\E903"}.icon-arrow-top:before{content:"\E904"}.icon-close:before{content:"\E905"}.icon-comments:before{content:"\E906"}.icon-facebook:before{content:"\E907"}.icon-globe:before{content:"\E908"}.icon-menu:before{content:"\E909"}.icon-more:before{content:"\E90A"}.icon-search:before{content:"\E90B"}.icon-twitter:before{content:"\E90C"}.icon-imdb:before{content:"\E90D"}.icon-vk:before{content:"\E90E"}.icon-steam:before{content:"\E914"}.icon-twitch:before{content:"\E915"}.icon-youtube:before{content:"\E916"}.icon-vimeo:before{content:"\E917"}.icon-whatsapp:before{content:"\E918"}.icon-reddit:before{content:"\E919"}.icon-rss:before{content:"\E91A"}.icon-spotify:before{content:"\E91B"}.icon-telegram:before{content:"\E91C"}.icon-soundcloud:before{content:"\E91D"}.icon-flickr:before{content:"\E91E"}.icon-letterboxd:before{content:"\E91F"}.icon-odnoklassniki:before{content:"\E920"}.icon-pinterest:before{content:"\E921"}.icon-tiktok:before{content:"\E922"}.icon-tumblr:before{content:"\E923"}.icon-xing:before{content:"\E924"}.icon-mixcloud:before{content:"\E925"}.icon-mixer:before{content:"\E926"}.icon-wechat:before{content:"\E927"}.icon-deviantart:before{content:"\E928"}.icon-discord:before{content:"\E929"}.icon-instagram:before{content:"\E92A"}.icon-linkedin:before{content:"\E92B"}.icon-snapchat:before{content:"\E92C"}.icon-gitlab:before{content:"\E92D"}.icon-github:before{content:"\E930"}.icon-behance:before{content:"\E951"}body{display:flex;flex-direction:column;width:100%;min-height:100vh;color:var(--primary-foreground-color);font-size:1rem;font-family:Source Sans Pro,Helvetica,Arial,sans-serif;font-display:swap;overflow-x:hidden;background-color:var(--background-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.share-menu-displayed{padding-bottom:45px}@media only screen and (min-width:48rem){body.share-menu-displayed{padding-bottom:0}}.main-wrap{display:flex;flex-direction:column;flex-grow:1}p{line-height:1.5;margin:0}a{color:inherit;text-decoration:none}fieldset{padding:0;margin:0;border:0;position:relative}.tippy-popper *{text-align:left!important}.medium-zoom-overlay{background-color:var(--background-color)!important}.medium-zoom-image,.medium-zoom-overlay{z-index:5}.l-wrapper{position:relative;width:100%;margin:0 auto;padding:0 20px}@media only screen and (min-width:48rem){.l-wrapper{max-width:1200px}}@media only screen and (min-width:80rem){.l-wrapper{padding:0}}.l-wrapper.in-submenu{padding:0}@media only screen and (min-width:48rem){.l-wrapper.in-submenu{padding:0 20px}}@media only screen and (min-width:80rem){.l-wrapper.in-submenu{padding:0}}@media only screen and (min-width:48rem){.l-wrapper.in-post{max-width:960px}}@media only screen and (min-width:48rem){.l-wrapper.in-comments{max-width:820px}}@media only screen and (min-width:64rem){.l-wrapper.in-recommended{padding:0;max-width:calc(100% - 60px)}}@media only screen and (min-width:90rem){.l-wrapper.in-recommended{max-width:1200px}}.l-wrapper.in-post.no-image{padding-top:40px}@media only screen and (min-width:48rem){.l-wrapper.in-post.no-image{padding-top:80px}}.l-content{padding:40px 0 20px}@media only screen and (min-width:48rem){.l-content{padding:60px 0 40px}}.m-button{display:inline-block;color:#333;text-align:center;letter-spacing:.2px;line-height:1;font-size:1rem;font-weight:600;border-radius:5px;padding:13px 25px;cursor:pointer;outline:0;border:0;position:relative;background-color:transparent;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-button.outlined{color:var(--titles-color);border:1px solid var(--primary-foreground-color)}.m-button.filled,.m-button.primary{box-shadow:0 2px 4px var(--button-shadow-color-normal),0 0 0 transparent}.m-button.filled:hover,.m-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--button-shadow-color-hover),0 0 0 transparent}.m-button.filled{border-radius:5px;background-color:#fff}.m-button.block{display:block;width:100%}.m-button.primary{color:#fff;background-color:var(--primary-subtle-color)}.m-button.loading{cursor:default;overflow:hidden}.m-button.loading:after{content:"";position:absolute;left:0;bottom:0;width:25%;height:2px;background-color:#fff;-webkit-animation:loading 1s infinite;animation:loading 1s infinite}@-webkit-keyframes loading{0%{transform:translatex(0)}50%{transform:translatex(300%)}to{transform:translatex(0)}}@keyframes loading{0%{transform:translatex(0)}50%{transform:translatex(300%)}to{transform:translatex(0)}}.m-icon-button{color:var(--titles-color);font-size:1.125rem;border:0;outline:0;padding:0;cursor:pointer;border-radius:50%;background-color:transparent}.m-icon-button.outlined{border:1px solid var(--primary-foreground-color)}.m-icon-button.filled{background-color:var(--background-color);box-shadow:0 2px 4px var(--button-shadow-color-normal),0 0 0 transparent;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-icon-button.filled:hover{box-shadow:0 4px 8px var(--button-shadow-color-hover),0 0 0 transparent}.m-icon-button:disabled{cursor:default;opacity:.5}.m-icon-button.in-mobile-topbar{width:50px;height:50px}.m-icon-button.as-close-menu{position:absolute;top:20px;right:20px;width:32px;height:32px;font-size:.625rem;z-index:2}@media only screen and (min-width:48rem){.m-icon-button.as-close-menu{display:none!important}}.m-icon-button.as-close-search{position:absolute;top:20px;right:20px;width:32px;height:32px;font-size:.625rem;z-index:2}@media only screen and (min-width:48rem){.m-icon-button.as-close-search{top:30px;right:30px;width:42px;height:42px;font-size:.875rem}}@media only screen and (min-width:80rem){.m-icon-button.as-close-search{top:40px;right:40px;width:50px;height:50px}}.m-icon-button.in-menu-main{display:none}@media only screen and (min-width:48rem){.m-icon-button.in-menu-main{display:flex;width:32px;height:32px}}.m-icon-button.more{font-size:1.25rem;z-index:6;position:relative}.m-icon-button.more.active{color:var(--primary-subtle-color)}.m-icon-button.in-pagination-left,.m-icon-button.in-pagination-right{width:40px;height:40px;font-size:.625rem}@media only screen and (min-width:48rem){.m-icon-button.in-pagination-left,.m-icon-button.in-pagination-right{width:46px;height:46px;font-size:.688rem}}.m-icon-button.in-pagination-left{margin-right:30px}.m-icon-button.in-pagination-right{margin-left:30px}.m-icon-button.in-featured-articles{position:absolute;color:#fff;font-size:.875rem;width:40px;height:40px;bottom:5px;z-index:2}@media only screen and (min-width:48rem){.m-icon-button.in-featured-articles{bottom:26px}}.m-icon-button.in-featured-articles.glide-prev{right:56px}@media only screen and (min-width:48rem){.m-icon-button.in-featured-articles.glide-prev{right:76px}}.m-icon-button.in-featured-articles.glide-next{right:16px}@media only screen and (min-width:48rem){.m-icon-button.in-featured-articles.glide-next{right:36px}}.m-icon-button.in-recommended-articles{position:absolute;font-size:.625rem;width:40px;height:40px;top:200px;z-index:2;transform:translateY(-50%)}@media only screen and (min-width:64rem){.m-icon-button.in-recommended-articles{display:none}}.m-icon-button.in-recommended-articles.glide-prev{left:0}.m-icon-button.in-recommended-articles.glide-next{right:0}.m-icon-button.as-load-comments{position:relative;width:60px;height:60px;font-size:1.25rem;margin:0 auto;z-index:2}@media only screen and (min-width:48rem){.m-icon-button.as-load-comments{width:80px;height:80px;font-size:1.625rem}}.m-icon-button.in-share{color:var(--titles-color);font-size:.75rem;text-decoration:none;width:31px;height:31px;margin:0 25px}@media only screen and (min-width:64rem){.m-icon-button.in-share{font-size:.875rem;width:40px;height:40px;margin:0 0 20px}}@media only screen and (min-width:80rem){.m-icon-button.in-share{font-size:1rem;width:50px;height:50px}}.m-icon-button.progress{position:relative}.m-icon-button.progress svg{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0}.m-icon-button.progress svg circle{stroke:var(--primary-subtle-color);transform-origin:50% 50%;transform:rotate(-90deg);transition:stroke-dashoffset .2s}.rtl .m-icon-button.in-featured-articles.glide-prev{right:auto;left:16px}@media only screen and (min-width:48rem){.rtl .m-icon-button.in-featured-articles.glide-prev{right:auto;left:36px}}.rtl .m-icon-button.in-featured-articles.glide-next{right:auto;left:52px}@media only screen and (min-width:48rem){.rtl .m-icon-button.in-featured-articles.glide-next{right:auto;left:72px}}.rtl .m-icon-button.in-recommended-articles.glide-prev{left:auto;right:0;transform:rotate(180deg)}.rtl .m-icon-button.in-recommended-articles.glide-next{right:auto;left:0;transform:rotate(180deg)}.m-input{color:var(--primary-foreground-color);letter-spacing:.2px;line-height:1.3;font-size:1rem;width:100%;border-radius:5px;padding:11px 15px;border:1px solid var(--primary-border-color);outline:0;background-color:var(--background-color)}.m-input:focus{border-color:var(--primary-subtle-color)}.m-input.in-search{font-weight:600;padding-left:40px}@media only screen and (min-width:48rem){.m-input.in-search{font-size:1.25rem;padding:15px 30px 15px 60px}}.m-input.in-subscribe-section{margin-bottom:15px}.m-section-title{color:var(--primary-foreground-color);text-align:center;letter-spacing:.3px;line-height:1.3;font-weight:400;font-size:1.25rem;margin:0 0 30px}@media only screen and (min-width:48rem){.m-section-title{font-size:1.5rem;margin-bottom:40px}}.m-section-title.in-recommended{margin-bottom:0!important}.m-small-text{color:var(--titles-color);font-size:.875rem}.m-small-text.in-subscribe-page{padding-top:30px;font-weight:600}.m-small-text.in-author-along-with{margin-bottom:20px}.m-small-text.in-author-along-with a{text-decoration:underline}.m-not-found{color:var(--primary-foreground-color);line-height:1.3;font-size:.875rem;font-weight:600}.m-not-found.in-recent-articles{margin-left:20px}@media only screen and (min-width:48rem){.m-not-found.in-recent-articles{margin-left:0}}.m-alert{color:#fff;text-align:center;letter-spacing:1px;line-height:1.4;font-size:.875rem;visibility:hidden;position:fixed;top:0;left:0;width:100%;padding:16px 45px 14px;z-index:11;transform:translateY(-100%);transition:transform .2s ease}@media only screen and (min-width:48rem){.m-alert{font-size:1rem;padding:24px 75px 22px}}.m-alert.success{background-color:var(--primary-subtle-color)}.m-alert.opened{visibility:visible;transform:translateY(0)}.m-alert__close{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:20px;width:20px;height:20px;cursor:pointer;outline:0;border:0;padding:0;background-color:transparent;transform:translateY(-50%)}@media only screen and (min-width:48rem){.m-alert__close{right:40px;width:25px;height:25px}}.m-alert__close span{color:#fff;font-size:.75rem}@media only screen and (min-width:48rem){.m-alert__close span{font-size:.875rem}}.rtl .m-alert__close{right:auto;left:20px}@media only screen and (min-width:48rem){.rtl .m-alert__close{right:auto;left:40px}}.m-header{position:fixed;top:0;left:0;width:100%;z-index:4;background-color:var(--background-color);will-change:transform;transition:transform .4s cubic-bezier(.165,.84,.44,1)}@media only screen and (min-width:48rem){.m-header{padding:15px 0}}.m-header.mobile-menu-opened{height:100%}@media only screen and (min-width:48rem){.m-header.mobile-menu-opened{height:auto}}.m-header.headroom--pinned{box-shadow:0 4px 8px rgba(0,0,0,.05),0 0 0 transparent;transform:translateY(0)}.m-header.headroom--pinned .m-header__shadow{display:none}.m-header.headroom--unpinned{transform:translateY(-100%)}.m-header.submenu-is-active{background-color:var(--background-color)}.m-header.submenu-is-active .m-header__shadow{display:none}.m-header.with-picture{background-color:var(--background-color)}.m-mobile-topbar{display:flex;align-items:center;justify-content:space-between;height:50px;position:relative;z-index:2}@media only screen and (min-width:48rem){.m-mobile-topbar{display:none!important}}.m-logo{display:inline-block;height:25px}.m-logo img{width:auto;max-width:150px;height:100%;-o-object-fit:contain;object-fit:contain}.m-logo.in-mobile-topbar{height:20px;margin:0 20px}.m-site-name.in-mobile-topbar{color:var(--titles-color);font-weight:600}.m-site-name.in-desktop-menu{font-weight:700}@media only screen and (min-width:48rem){.m-nav{display:flex;align-items:center;justify-content:space-between;height:37px;overflow-y:hidden}}@media only screen and (min-width:90rem){.m-nav{margin:0 -5px}}@media only screen and (min-width:48rem){.m-nav.toggle-overflow{overflow-y:initial}}.m-nav__left{margin-bottom:30px}@media only screen and (min-width:48rem){.m-nav__left{display:flex;flex:1 1 auto;align-items:center;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding-top:40px;padding-bottom:40px;padding-left:5px;margin-bottom:0;-webkit-overflow-scrolling:touch}}@media only screen and (min-width:48rem){.m-nav__left.toggle-overflow{overflow-x:hidden}}.m-nav__left ul{padding:0;margin:0}@media only screen and (min-width:48rem){.m-nav__left ul{display:flex;align-items:center}}.m-nav__left li{color:var(--titles-color);letter-spacing:.3px;font-size:1.125rem;margin-bottom:15px}@media only screen and (min-width:48rem){.m-nav__left li{margin-bottom:0;margin-right:35px;position:relative}}.m-nav__left li:last-of-type{margin-bottom:0}.m-nav__left li.nav-current{font-weight:600}.m-nav__left li a{color:inherit}.m-nav__left li.more a{display:inline-flex;align-items:center}@media only screen and (min-width:48rem){.m-nav__left li.more a{display:flex}}.m-nav__left li.more a span{display:inline-block;color:inherit;font-size:1rem;margin-left:8px;transform:translateY(1px)}@media only screen and (min-width:48rem){.m-nav__left li.submenu-option{z-index:2}}.m-nav__right{display:flex;align-items:center;justify-content:flex-end}@media only screen and (min-width:48rem){.m-nav__right{flex-shrink:0;position:relative;padding-left:20px;padding-right:5px}}@media only screen and (min-width:48rem){.m-nav__right:before{content:"";position:absolute;pointer-events:none;top:0;left:-20px;width:20px;height:100%;z-index:2;background:linear-gradient(90deg,var(--header-menu-gradient-first-color),var(--header-menu-gradient-second-color))}}@media only screen and (min-width:48rem){.rtl .m-nav__left{padding-left:0;padding-right:5px}}@media only screen and (min-width:48rem){.rtl .m-nav__left li{margin-right:0;margin-left:35px}}@media only screen and (min-width:48rem){.rtl .m-nav__right{padding-left:5px;padding-right:20px}}@media only screen and (min-width:48rem){.rtl .m-nav__right:before{left:auto;right:-20px;transform:rotate(180deg)}}.m-menu{visibility:hidden;position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;overflow-y:auto;z-index:2;background-color:var(--background-color);-webkit-overflow-scrolling:touch;transform:scale(1.2);transition:all .4s cubic-bezier(.165,.84,.44,1)}.m-menu.opened{visibility:visible;opacity:1;z-index:10;transform:scale(1)}@media only screen and (min-width:48rem){.m-menu{visibility:visible!important;position:relative;top:auto;left:auto;height:auto;opacity:1!important;overflow:initial;background-color:transparent;transform:translateZ(0)!important}}.m-menu__main{padding:50px 0 5px;min-height:100%}@media only screen and (min-width:48rem){.m-menu__main{padding:0;min-height:0}}.rtl .m-menu__main{padding-top:75px}@media only screen and (min-width:48rem){.rtl .m-menu__main{padding:0}}.m-secondary-menu{padding:0;margin:0;list-style-type:none}.m-secondary-menu li{font-size:1rem}.m-secondary-menu li.nav-current a{font-weight:600}.m-secondary-menu li a{display:block;padding:6px 10px;border-radius:4px;transition:background-color .1s linear}@media only screen and (min-width:48rem){.m-secondary-menu li a{padding:8px 10px}}.m-secondary-menu li a:hover{background-color:rgba(0,0,0,.1)}.rtl .m-secondary-menu .li,.rtl .m-secondary-menu .li a{text-align:right!important}.m-submenu{padding-top:25px}@media only screen and (min-width:48rem){.m-submenu{visibility:hidden;position:fixed;top:45px;left:0;width:100%;padding:30px 0 20px;background-color:var(--background-color);border-top:1px solid var(--secondary-border-color);z-index:5;box-shadow:0 60px 60px rgba(0,0,0,var(--submenu-shadow-color-opacity)),0 0 0 transparent}}@media only screen and (min-width:80rem){.m-submenu{padding:32px 0 23px}}@media only screen and (min-width:48rem){.m-submenu.opened{visibility:visible;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation:openSubmenuAnimation .3s both;animation:openSubmenuAnimation .3s both}@-webkit-keyframes openSubmenuAnimation{0%{opacity:0;transform:translate3d(0,-5%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes openSubmenuAnimation{0%{opacity:0;transform:translate3d(0,-5%,0)}to{opacity:1;transform:translateZ(0)}}}@media only screen and (min-width:48rem){.m-submenu.closed{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation:closeSubmenuAnimation .3s both;animation:closeSubmenuAnimation .3s both}@-webkit-keyframes closeSubmenuAnimation{0%{visibility:visible;opacity:1;transform:translateZ(0)}to{visibility:hidden;opacity:0;transform:translate3d(0,-2.5%,0)}}@keyframes closeSubmenuAnimation{0%{visibility:visible;opacity:1;transform:translateZ(0)}to{visibility:hidden;opacity:0;transform:translate3d(0,-2.5%,0)}}}@media only screen and (min-width:48rem){:root .m-submenu,_:-ms-fullscreen{top:65px}}.m-submenu-title{letter-spacing:.3px;line-height:1.3;font-size:1.125rem;font-weight:400;margin:0 0 25px}.m-submenu-title.in-recent-articles{padding:0 20px}@media only screen and (min-width:48rem){.m-submenu-title.in-recent-articles{padding:0}}.rtl .m-submenu-title{direction:rtl}.m-recent-articles{margin:0 -20px 40px;overflow:hidden}@media only screen and (min-width:48rem){.m-recent-articles{margin:0 0 40px}}.m-recent-articles ul{cursor:-webkit-grab;cursor:grab}.m-recent-article{display:block;width:230px;margin:0 20px}@media only screen and (min-width:48rem){.m-recent-article{margin:0 60px 0 0}}.m-recent-article:hover .m-recent-article__picture img{transform:scale(1.1)}@media only screen and (min-width:48rem){.rtl .m-recent-article{margin:0 0 0 60px}}.m-recent-article__picture{height:130px;position:relative;margin-bottom:15px;border-radius:5px;background-color:var(--secondary-subtle-color);overflow:hidden}.m-recent-article__picture.no-picture img{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px}.m-recent-article__picture img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;transition:transform .5s cubic-bezier(.165,.84,.44,1)}.m-recent-article__title{color:var(--titles-color);letter-spacing:.2px;line-height:1.438rem;font-size:1rem;font-weight:400;margin:0 0 10px}@media only screen and (min-width:48rem){.m-recent-article__title{letter-spacing:.25px;font-size:1.125rem}}.m-recent-article__date{color:var(--titles-color);letter-spacing:.15px;font-size:.813rem}.m-tags.in-post{padding-top:25px}.m-tags.in-post ul{padding:0;list-style-type:none}.m-tags.in-post a{text-decoration:none}.m-tags ul{display:flex;flex-wrap:wrap}.m-tags li{letter-spacing:.2px;font-size:.875rem;font-weight:600;margin-right:30px;margin-bottom:10px!important}.m-tags li:last-of-type{margin-right:0}.m-tags li a{color:var(--link-color)!important}.m-toggle-darkmode{position:fixed;right:20px;bottom:45px;width:28px;height:28px;border-radius:50%;overflow:hidden;z-index:2}@media only screen and (min-width:48rem){.m-toggle-darkmode{position:relative;right:auto;bottom:auto;margin-left:20px;z-index:auto}}.m-toggle-darkmode input{position:absolute;top:0;left:0;width:100%;height:100%;outline:0;border:0;opacity:0;cursor:pointer;z-index:2}.m-toggle-darkmode input::-moz-focus-inner{border:0}.m-toggle-darkmode div{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;overflow:hidden;background-color:var(--toggle-darkmode-background-color);z-index:1}.m-toggle-darkmode span{color:var(--titles-color);font-size:.9375rem}.m-toggle-darkmode span.moon{display:var(--toggle-darkmode-button-display-moon)}.m-toggle-darkmode span.sun{display:var(--toggle-darkmode-button-display-sun)}:root .m-toggle-darkmode,_:-ms-fullscreen{display:none}.m-hero{position:relative;flex-direction:column;min-height:365px;overflow:hidden;padding:100px 0 75px;background-color:var(--secondary-subtle-color)}@media only screen and (min-width:48rem){.m-hero{min-height:400px;padding:150px 0 75px}}.m-hero.with-picture{color:#fff;background-color:#000}@media only screen and (min-width:48rem){.m-hero.with-picture{min-height:450px}}@media only screen and (min-width:80rem){.m-hero.with-picture{min-height:565px}}.m-hero.with-picture .m-hero-title{color:#fff}.m-hero.no-picture.in-post{display:none}.m-hero__picture{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;opacity:.7}.m-hero__picture.in-post{opacity:1}.m-hero__picture img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.m-hero__content{position:relative;text-align:center;padding:0 20px;z-index:2}@media only screen and (min-width:48rem){.m-hero__content{max-width:700px}}@media only screen and (min-width:80rem){.m-hero__content{padding:0}}.m-hero__meta{margin:0 auto}@media only screen and (min-width:48rem){.m-hero__meta{display:flex;align-items:center;justify-content:center}}.rtl .m-hero__meta{direction:ltr}.m-hero-avatar{width:80px;height:80px;margin:0 auto 25px;border-radius:50%;background-color:#5c697c;background-repeat:no-repeat;background-position:50%;background-size:cover;box-shadow:inset 0 2px 4px rgba(0,0,0,.25),0 0 0 transparent}@media only screen and (min-width:48rem){.m-hero-avatar{width:100px;height:100px}}.m-hero-title{color:var(--titles-color);letter-spacing:.4px;line-height:1.3;font-size:1.75rem;font-weight:700;margin:0 0 15px}@media only screen and (min-width:48rem){.m-hero-title{letter-spacing:.5px;font-size:2.25rem}}.m-hero-title.bigger{letter-spacing:.5px;font-size:2rem}@media only screen and (min-width:48rem){.m-hero-title.bigger{letter-spacing:.8px;font-size:3.25rem;margin-bottom:10px}}.m-hero-description{letter-spacing:.2px;line-height:1.5;font-size:.938rem;margin-bottom:20px}@media only screen and (min-width:48rem){.m-hero-description{font-size:1.125rem}}.m-hero-description.bigger{line-height:1.3;font-size:1.125rem;margin-bottom:25px}@media only screen and (min-width:48rem){.m-hero-description.bigger{font-size:1.375rem}}.m-hero-description.with-picture{color:#fff}.m-hero-social{text-align:center;list-style-type:none;padding:0;margin:0 0 15px}@media only screen and (min-width:48rem){.m-hero-social{margin-right:7px;margin-bottom:0}}.m-hero-social.with-picture{color:#fff}.m-hero-social li{display:inline-block;margin:0 11px}.m-hero-social li a{color:inherit;font-size:.938rem}.m-hero-social li a span{color:inherit}.rtl .m-hero-social{direction:ltr}.m-hero-stats{text-align:center;list-style-type:none;padding:0;margin:0}@media only screen and (min-width:48rem){.m-hero-stats{margin-left:7px}}.m-hero-stats.with-picture{color:#fff}.m-hero-stats li{display:inline-block;color:inherit;letter-spacing:.2px;font-size:.813rem;margin:0 4px}@media only screen and (min-width:48rem){.m-hero-stats li{letter-spacing:.3px;font-size:1rem}}.m-heading{text-align:center;margin:0 auto 40px}@media only screen and (min-width:48rem){.m-heading{margin-bottom:60px}}@media only screen and (min-width:48rem){.m-heading.in-subscribe-page{margin-bottom:50px}}.m-heading.no-margin{margin-bottom:0!important}.m-heading__title{color:var(--titles-color);letter-spacing:.4px;line-height:1.3;font-size:1.75rem;margin:0 0 10px}@media only screen and (min-width:48rem){.m-heading__title{letter-spacing:.5px;font-size:2.25rem;margin-bottom:15px}}.m-heading__title.in-post{letter-spacing:.5px;font-size:2rem;margin-bottom:15px}@media only screen and (min-width:48rem){.m-heading__title.in-post{letter-spacing:.7px;font-size:2.625rem;margin-bottom:20px}}.m-heading__title.in-page{margin:0}.m-heading__description{letter-spacing:.2px;line-height:1.3;font-size:.938rem;margin:0 auto}@media only screen and (min-width:48rem){.m-heading__description{font-size:1.125rem}}@media only screen and (min-width:48rem){.m-heading__description.in-subscribe-page{max-width:420px;font-size:1rem}}.m-heading__description.in-newsletter-form{font-size:.875rem;max-width:80%}@media only screen and (min-width:48rem){.m-heading__description.in-newsletter-form{max-width:420px}}.m-heading__meta{display:flex;align-items:center;justify-content:center;letter-spacing:.2px;font-size:.875rem;font-weight:600}@media only screen and (min-width:48rem){.m-heading__meta{font-size:1rem}}.m-heading__meta__tag,.m-heading__meta__time{color:var(--link-color)!important}.m-heading__meta__tag{text-decoration:none!important}.m-heading__meta__divider{display:inline-block;color:var(--primary-border-color);margin:0 10px}.m-article-card{display:flex;flex-direction:column;position:relative;margin-bottom:20px;height:400px;background-color:var(--background-color);border-radius:10px;border:1px solid var(--secondary-border-color);z-index:1;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-article-card:hover{transform:translateY(-5px)}.m-article-card:hover:before{box-shadow:var(--article-shadow-hover),0 0 0 transparent}.m-article-card:hover .m-article-card__author{box-shadow:0 4px 8px rgba(0,0,0,.3),0 0 0 transparent}@media only screen and (min-width:48rem){.m-article-card{width:calc(50% - 20px);height:420px;margin-left:10px;margin-right:10px;margin-bottom:20px}}@media only screen and (min-width:64rem){.m-article-card{width:calc(33.33333% - 40px);margin-left:20px;margin-right:20px;margin-bottom:40px}}.m-article-card.no-picture .m-article-card__picture{height:85px!important}.m-article-card.no-picture .m-article-card__info{background-color:var(--secondary-subtle-color)}.m-article-card.no-picture .m-article-card__title{line-height:1.4;font-size:1.625rem}.m-article-card.as-author .m-article-card__picture{background-color:#000}.m-article-card.as-author .m-article-card__picture-link{z-index:2}.m-article-card.as-author .m-article-card__picture-background{opacity:.75}.m-article-card.as-author .m-article-card__info{padding:0}.m-article-card.as-author .m-article-card__info-link{padding:20px 20px 60px}.m-article-card:before{content:"";position:absolute;top:10px;right:10px;bottom:0;left:10px;border-radius:10px;box-shadow:var(--article-shadow-normal),0 0 0 transparent;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-article-card__picture{position:relative;height:200px;border-radius:10px 10px 0 0;background-color:var(--secondary-subtle-color);overflow:hidden;transform:translateZ(0)}@media only screen and (min-width:48rem){.m-article-card__picture{height:220px}}.m-article-card__picture-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.m-article-card__picture-background{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:0}.m-article-card__name{position:absolute;left:20px;right:20px;bottom:20px;color:#fff;letter-spacing:.4px;line-height:1.3;font-size:1.25rem;font-weight:600;margin:0;z-index:1}@media only screen and (min-width:48rem){.m-article-card__name{left:25px;bottom:25px}}.m-article-card__author{position:absolute;top:20px;left:20px;width:35px;height:35px;border-radius:50%;z-index:2;transition:all .25s cubic-bezier(.02,.01,.47,1)}@media only screen and (min-width:48rem){.m-article-card__author{top:25px;left:25px}}.m-article-card__author div{width:100%;height:100%;border-radius:50%;border:2px solid #fff;background-color:#fff;background-repeat:no-repeat;background-position:50%;background-size:cover}.m-article-card__featured{display:flex;align-items:center;justify-content:center;position:absolute;top:26px;right:20px;width:24px;height:24px;color:#000;background-color:#fff;border-radius:50%;z-index:2}@media only screen and (min-width:48rem){.m-article-card__featured{top:31px;right:25px}}.m-article-card__featured span{color:inherit;font-size:.75rem}.m-article-card__info{flex:1;position:relative;padding-top:48px;height:200px;overflow:hidden;border-radius:0 0 10px 10px;background-color:var(--background-color)}@media only screen and (min-width:48rem){.m-article-card__info{padding-top:53px}}.m-article-card__info.no-tag{padding-top:0!important}.m-article-card__info.no-tag .m-article-card__info-link{padding-top:48px}@media only screen and (min-width:48rem){.m-article-card__info.no-tag .m-article-card__info-link{padding-top:53px}}.m-article-card__tag{position:absolute;top:20px;left:20px;right:20px;color:var(--link-color);letter-spacing:.2px;line-height:1.3;font-size:.875rem;font-weight:600}@media only screen and (min-width:48rem){.m-article-card__tag{top:25px;left:25px}}.m-article-card__info-link{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:0 20px 20px}@media only screen and (min-width:48rem){.m-article-card__info-link{padding:0 25px 25px}}.m-article-card__title{color:var(--titles-color);letter-spacing:.4px;line-height:1.3;font-size:1.25rem;font-weight:600;margin:0}.m-article-card__excerpt{display:block;position:relative;overflow:hidden;height:100%;color:var(--titles-color);letter-spacing:.3px;line-height:1.5;font-size:1rem}.m-article-card__author-stats,.m-article-card__timestamp{display:flex;align-items:center;color:var(--titles-color);letter-spacing:.2px;font-size:.875rem}.m-article-card__author-stats span:nth-child(2),.m-article-card__timestamp span:nth-child(2){padding:0 10px}.m-article-card__author-stats{position:absolute;left:20px;right:20px;bottom:20px;justify-content:space-between}.m-article-card__author-stats span{padding:0!important}.m-article-card__social{display:flex;align-items:center;justify-content:flex-end;padding:0;margin:0}.m-article-card__social li{display:inline-block;margin-left:22px}.m-article-card__social li a{color:var(--primary-foreground-color);font-size:.938rem}.m-article-card__social li a span{color:inherit}.rtl .m-article-card__social{direction:ltr}.m-search{visibility:hidden;position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;overflow-y:auto;z-index:2;background-color:var(--transparent-background-color);-webkit-overflow-scrolling:touch;transform:scale(1.2);transition:all .4s cubic-bezier(.165,.84,.44,1)}.m-search.opened{visibility:visible;opacity:1;z-index:10;transform:scale(1)}.m-search__content{padding:80px 20px 40px;margin:0 auto}@media only screen and (min-width:48rem){.m-search__content{padding-top:100px;padding-bottom:50px;max-width:700px}}@media only screen and (min-width:80rem){.m-search__content{padding-left:0;padding-right:0}}@media only screen and (min-width:90rem){.m-search__content{max-width:800px}}.m-search__form{margin-bottom:30px}@media only screen and (min-width:48rem){.m-search__form{max-width:500px;margin:0 auto 45px}}.m-search-icon{position:absolute;top:50%;left:15px;color:#9b9b9b;font-size:1rem;font-weight:500;pointer-events:none;transform:translateY(-45%)}@media only screen and (min-width:48rem){.m-search-icon{font-size:1.25em;left:25px}}.m-result{border-bottom:1px solid var(--primary-border-color)}.m-result.last{border-bottom:0}.m-result__link{display:block;width:100%;height:100%;padding:10px 0}@media only screen and (min-width:48rem){.m-result__link{padding:15px 0}}.m-result__title{color:var(--primary-foreground-color);letter-spacing:.3px;line-height:1.4;font-size:1rem;font-weight:400;margin:0 0 5px}@media only screen and (min-width:48rem){.m-result__title{letter-spacing:.4px;font-size:1.25rem;margin-bottom:10px}}@media only screen and (min-width:80rem){.m-result__title{font-size:1.375rem}}.m-result__date{color:var(--titles-color);letter-spacing:.2px;font-size:.813rem}@media only screen and (min-width:48rem){.m-result__date{letter-spacing:.3px;font-size:.938rem}}.m-footer{flex-shrink:0;background-color:var(--footer-background-color)}.m-footer__content{color:#fff;text-align:center;padding:50px 20px}@media only screen and (min-width:48rem){.m-footer__content{padding:75px 0;max-width:680px;margin:0 auto}}.m-footer__nav-secondary{margin-bottom:25px}.m-footer__nav-secondary .m-secondary-menu{display:flex;justify-content:center;flex-wrap:wrap}@media only screen and (min-width:48rem){.m-footer__nav-secondary .m-secondary-menu li{margin:0 5px}}.m-footer-copyright{font-size:.875rem;letter-spacing:.3px;line-height:1.7;margin-bottom:20px}.m-footer-copyright span{display:block}@media only screen and (min-width:48rem){.m-footer-copyright span{display:inline}}.m-footer-copyright span:nth-child(2){display:none}@media only screen and (min-width:48rem){.m-footer-copyright span:nth-child(2){display:inline}}.m-footer-copyright a{text-decoration:underline}.m-footer-copyright.jslicense{opacity:.7;margin-bottom:0}.m-footer-social{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.m-footer-social a{display:inline-block;color:#fff;margin:0 15px}.m-footer-social a span{color:inherit;font-size:1rem}.rtl .m-footer-social{direction:ltr}[data-aos-duration="50"] [data-aos],[data-aos][data-aos][data-aos-duration="50"]{transition-duration:50ms}[data-aos-delay="50"] [data-aos],[data-aos][data-aos][data-aos-delay="50"]{transition-delay:0}[data-aos-delay="50"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="50"].aos-animate{transition-delay:50ms}[data-aos-duration="100"] [data-aos],[data-aos][data-aos][data-aos-duration="100"]{transition-duration:.1s}[data-aos-delay="100"] [data-aos],[data-aos][data-aos][data-aos-delay="100"]{transition-delay:0}[data-aos-delay="100"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="100"].aos-animate{transition-delay:.1s}[data-aos-duration="150"] [data-aos],[data-aos][data-aos][data-aos-duration="150"]{transition-duration:.15s}[data-aos-delay="150"] [data-aos],[data-aos][data-aos][data-aos-delay="150"]{transition-delay:0}[data-aos-delay="150"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="150"].aos-animate{transition-delay:.15s}[data-aos-duration="200"] [data-aos],[data-aos][data-aos][data-aos-duration="200"]{transition-duration:.2s}[data-aos-delay="200"] [data-aos],[data-aos][data-aos][data-aos-delay="200"]{transition-delay:0}[data-aos-delay="200"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="200"].aos-animate{transition-delay:.2s}[data-aos-duration="250"] [data-aos],[data-aos][data-aos][data-aos-duration="250"]{transition-duration:.25s}[data-aos-delay="250"] [data-aos],[data-aos][data-aos][data-aos-delay="250"]{transition-delay:0}[data-aos-delay="250"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="250"].aos-animate{transition-delay:.25s}[data-aos-duration="300"] [data-aos],[data-aos][data-aos][data-aos-duration="300"]{transition-duration:.3s}[data-aos-delay="300"] [data-aos],[data-aos][data-aos][data-aos-delay="300"]{transition-delay:0}[data-aos-delay="300"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="300"].aos-animate{transition-delay:.3s}[data-aos-duration="350"] [data-aos],[data-aos][data-aos][data-aos-duration="350"]{transition-duration:.35s}[data-aos-delay="350"] [data-aos],[data-aos][data-aos][data-aos-delay="350"]{transition-delay:0}[data-aos-delay="350"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="350"].aos-animate{transition-delay:.35s}[data-aos-duration="400"] [data-aos],[data-aos][data-aos][data-aos-duration="400"]{transition-duration:.4s}[data-aos-delay="400"] [data-aos],[data-aos][data-aos][data-aos-delay="400"]{transition-delay:0}[data-aos-delay="400"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="400"].aos-animate{transition-delay:.4s}[data-aos-duration="450"] [data-aos],[data-aos][data-aos][data-aos-duration="450"]{transition-duration:.45s}[data-aos-delay="450"] [data-aos],[data-aos][data-aos][data-aos-delay="450"]{transition-delay:0}[data-aos-delay="450"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="450"].aos-animate{transition-delay:.45s}[data-aos-duration="500"] [data-aos],[data-aos][data-aos][data-aos-duration="500"]{transition-duration:.5s}[data-aos-delay="500"] [data-aos],[data-aos][data-aos][data-aos-delay="500"]{transition-delay:0}[data-aos-delay="500"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="500"].aos-animate{transition-delay:.5s}[data-aos-duration="550"] [data-aos],[data-aos][data-aos][data-aos-duration="550"]{transition-duration:.55s}[data-aos-delay="550"] [data-aos],[data-aos][data-aos][data-aos-delay="550"]{transition-delay:0}[data-aos-delay="550"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="550"].aos-animate{transition-delay:.55s}[data-aos-duration="600"] [data-aos],[data-aos][data-aos][data-aos-duration="600"]{transition-duration:.6s}[data-aos-delay="600"] [data-aos],[data-aos][data-aos][data-aos-delay="600"]{transition-delay:0}[data-aos-delay="600"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="600"].aos-animate{transition-delay:.6s}[data-aos-duration="650"] [data-aos],[data-aos][data-aos][data-aos-duration="650"]{transition-duration:.65s}[data-aos-delay="650"] [data-aos],[data-aos][data-aos][data-aos-delay="650"]{transition-delay:0}[data-aos-delay="650"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="650"].aos-animate{transition-delay:.65s}[data-aos-duration="700"] [data-aos],[data-aos][data-aos][data-aos-duration="700"]{transition-duration:.7s}[data-aos-delay="700"] [data-aos],[data-aos][data-aos][data-aos-delay="700"]{transition-delay:0}[data-aos-delay="700"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="700"].aos-animate{transition-delay:.7s}[data-aos-duration="750"] [data-aos],[data-aos][data-aos][data-aos-duration="750"]{transition-duration:.75s}[data-aos-delay="750"] [data-aos],[data-aos][data-aos][data-aos-delay="750"]{transition-delay:0}[data-aos-delay="750"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="750"].aos-animate{transition-delay:.75s}[data-aos-duration="800"] [data-aos],[data-aos][data-aos][data-aos-duration="800"]{transition-duration:.8s}[data-aos-delay="800"] [data-aos],[data-aos][data-aos][data-aos-delay="800"]{transition-delay:0}[data-aos-delay="800"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="800"].aos-animate{transition-delay:.8s}[data-aos-duration="850"] [data-aos],[data-aos][data-aos][data-aos-duration="850"]{transition-duration:.85s}[data-aos-delay="850"] [data-aos],[data-aos][data-aos][data-aos-delay="850"]{transition-delay:0}[data-aos-delay="850"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="850"].aos-animate{transition-delay:.85s}[data-aos-duration="900"] [data-aos],[data-aos][data-aos][data-aos-duration="900"]{transition-duration:.9s}[data-aos-delay="900"] [data-aos],[data-aos][data-aos][data-aos-delay="900"]{transition-delay:0}[data-aos-delay="900"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="900"].aos-animate{transition-delay:.9s}[data-aos-duration="950"] [data-aos],[data-aos][data-aos][data-aos-duration="950"]{transition-duration:.95s}[data-aos-delay="950"] [data-aos],[data-aos][data-aos][data-aos-delay="950"]{transition-delay:0}[data-aos-delay="950"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="950"].aos-animate{transition-delay:.95s}[data-aos-duration="1000"] [data-aos],[data-aos][data-aos][data-aos-duration="1000"]{transition-duration:1s}[data-aos-delay="1000"] [data-aos],[data-aos][data-aos][data-aos-delay="1000"]{transition-delay:0}[data-aos-delay="1000"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1000"].aos-animate{transition-delay:1s}[data-aos-duration="1050"] [data-aos],[data-aos][data-aos][data-aos-duration="1050"]{transition-duration:1.05s}[data-aos-delay="1050"] [data-aos],[data-aos][data-aos][data-aos-delay="1050"]{transition-delay:0}[data-aos-delay="1050"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1050"].aos-animate{transition-delay:1.05s}[data-aos-duration="1100"] [data-aos],[data-aos][data-aos][data-aos-duration="1100"]{transition-duration:1.1s}[data-aos-delay="1100"] [data-aos],[data-aos][data-aos][data-aos-delay="1100"]{transition-delay:0}[data-aos-delay="1100"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1100"].aos-animate{transition-delay:1.1s}[data-aos-duration="1150"] [data-aos],[data-aos][data-aos][data-aos-duration="1150"]{transition-duration:1.15s}[data-aos-delay="1150"] [data-aos],[data-aos][data-aos][data-aos-delay="1150"]{transition-delay:0}[data-aos-delay="1150"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1150"].aos-animate{transition-delay:1.15s}[data-aos-duration="1200"] [data-aos],[data-aos][data-aos][data-aos-duration="1200"]{transition-duration:1.2s}[data-aos-delay="1200"] [data-aos],[data-aos][data-aos][data-aos-delay="1200"]{transition-delay:0}[data-aos-delay="1200"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1200"].aos-animate{transition-delay:1.2s}[data-aos-duration="1250"] [data-aos],[data-aos][data-aos][data-aos-duration="1250"]{transition-duration:1.25s}[data-aos-delay="1250"] [data-aos],[data-aos][data-aos][data-aos-delay="1250"]{transition-delay:0}[data-aos-delay="1250"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1250"].aos-animate{transition-delay:1.25s}[data-aos-duration="1300"] [data-aos],[data-aos][data-aos][data-aos-duration="1300"]{transition-duration:1.3s}[data-aos-delay="1300"] [data-aos],[data-aos][data-aos][data-aos-delay="1300"]{transition-delay:0}[data-aos-delay="1300"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1300"].aos-animate{transition-delay:1.3s}[data-aos-duration="1350"] [data-aos],[data-aos][data-aos][data-aos-duration="1350"]{transition-duration:1.35s}[data-aos-delay="1350"] [data-aos],[data-aos][data-aos][data-aos-delay="1350"]{transition-delay:0}[data-aos-delay="1350"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1350"].aos-animate{transition-delay:1.35s}[data-aos-duration="1400"] [data-aos],[data-aos][data-aos][data-aos-duration="1400"]{transition-duration:1.4s}[data-aos-delay="1400"] [data-aos],[data-aos][data-aos][data-aos-delay="1400"]{transition-delay:0}[data-aos-delay="1400"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1400"].aos-animate{transition-delay:1.4s}[data-aos-duration="1450"] [data-aos],[data-aos][data-aos][data-aos-duration="1450"]{transition-duration:1.45s}[data-aos-delay="1450"] [data-aos],[data-aos][data-aos][data-aos-delay="1450"]{transition-delay:0}[data-aos-delay="1450"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1450"].aos-animate{transition-delay:1.45s}[data-aos-duration="1500"] [data-aos],[data-aos][data-aos][data-aos-duration="1500"]{transition-duration:1.5s}[data-aos-delay="1500"] [data-aos],[data-aos][data-aos][data-aos-delay="1500"]{transition-delay:0}[data-aos-delay="1500"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1500"].aos-animate{transition-delay:1.5s}[data-aos-duration="1550"] [data-aos],[data-aos][data-aos][data-aos-duration="1550"]{transition-duration:1.55s}[data-aos-delay="1550"] [data-aos],[data-aos][data-aos][data-aos-delay="1550"]{transition-delay:0}[data-aos-delay="1550"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1550"].aos-animate{transition-delay:1.55s}[data-aos-duration="1600"] [data-aos],[data-aos][data-aos][data-aos-duration="1600"]{transition-duration:1.6s}[data-aos-delay="1600"] [data-aos],[data-aos][data-aos][data-aos-delay="1600"]{transition-delay:0}[data-aos-delay="1600"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1600"].aos-animate{transition-delay:1.6s}[data-aos-duration="1650"] [data-aos],[data-aos][data-aos][data-aos-duration="1650"]{transition-duration:1.65s}[data-aos-delay="1650"] [data-aos],[data-aos][data-aos][data-aos-delay="1650"]{transition-delay:0}[data-aos-delay="1650"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1650"].aos-animate{transition-delay:1.65s}[data-aos-duration="1700"] [data-aos],[data-aos][data-aos][data-aos-duration="1700"]{transition-duration:1.7s}[data-aos-delay="1700"] [data-aos],[data-aos][data-aos][data-aos-delay="1700"]{transition-delay:0}[data-aos-delay="1700"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1700"].aos-animate{transition-delay:1.7s}[data-aos-duration="1750"] [data-aos],[data-aos][data-aos][data-aos-duration="1750"]{transition-duration:1.75s}[data-aos-delay="1750"] [data-aos],[data-aos][data-aos][data-aos-delay="1750"]{transition-delay:0}[data-aos-delay="1750"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1750"].aos-animate{transition-delay:1.75s}[data-aos-duration="1800"] [data-aos],[data-aos][data-aos][data-aos-duration="1800"]{transition-duration:1.8s}[data-aos-delay="1800"] [data-aos],[data-aos][data-aos][data-aos-delay="1800"]{transition-delay:0}[data-aos-delay="1800"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1800"].aos-animate{transition-delay:1.8s}[data-aos-duration="1850"] [data-aos],[data-aos][data-aos][data-aos-duration="1850"]{transition-duration:1.85s}[data-aos-delay="1850"] [data-aos],[data-aos][data-aos][data-aos-delay="1850"]{transition-delay:0}[data-aos-delay="1850"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1850"].aos-animate{transition-delay:1.85s}[data-aos-duration="1900"] [data-aos],[data-aos][data-aos][data-aos-duration="1900"]{transition-duration:1.9s}[data-aos-delay="1900"] [data-aos],[data-aos][data-aos][data-aos-delay="1900"]{transition-delay:0}[data-aos-delay="1900"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1900"].aos-animate{transition-delay:1.9s}[data-aos-duration="1950"] [data-aos],[data-aos][data-aos][data-aos-duration="1950"]{transition-duration:1.95s}[data-aos-delay="1950"] [data-aos],[data-aos][data-aos][data-aos-delay="1950"]{transition-delay:0}[data-aos-delay="1950"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="1950"].aos-animate{transition-delay:1.95s}[data-aos-duration="2000"] [data-aos],[data-aos][data-aos][data-aos-duration="2000"]{transition-duration:2s}[data-aos-delay="2000"] [data-aos],[data-aos][data-aos][data-aos-delay="2000"]{transition-delay:0}[data-aos-delay="2000"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2000"].aos-animate{transition-delay:2s}[data-aos-duration="2050"] [data-aos],[data-aos][data-aos][data-aos-duration="2050"]{transition-duration:2.05s}[data-aos-delay="2050"] [data-aos],[data-aos][data-aos][data-aos-delay="2050"]{transition-delay:0}[data-aos-delay="2050"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2050"].aos-animate{transition-delay:2.05s}[data-aos-duration="2100"] [data-aos],[data-aos][data-aos][data-aos-duration="2100"]{transition-duration:2.1s}[data-aos-delay="2100"] [data-aos],[data-aos][data-aos][data-aos-delay="2100"]{transition-delay:0}[data-aos-delay="2100"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2100"].aos-animate{transition-delay:2.1s}[data-aos-duration="2150"] [data-aos],[data-aos][data-aos][data-aos-duration="2150"]{transition-duration:2.15s}[data-aos-delay="2150"] [data-aos],[data-aos][data-aos][data-aos-delay="2150"]{transition-delay:0}[data-aos-delay="2150"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2150"].aos-animate{transition-delay:2.15s}[data-aos-duration="2200"] [data-aos],[data-aos][data-aos][data-aos-duration="2200"]{transition-duration:2.2s}[data-aos-delay="2200"] [data-aos],[data-aos][data-aos][data-aos-delay="2200"]{transition-delay:0}[data-aos-delay="2200"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2200"].aos-animate{transition-delay:2.2s}[data-aos-duration="2250"] [data-aos],[data-aos][data-aos][data-aos-duration="2250"]{transition-duration:2.25s}[data-aos-delay="2250"] [data-aos],[data-aos][data-aos][data-aos-delay="2250"]{transition-delay:0}[data-aos-delay="2250"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2250"].aos-animate{transition-delay:2.25s}[data-aos-duration="2300"] [data-aos],[data-aos][data-aos][data-aos-duration="2300"]{transition-duration:2.3s}[data-aos-delay="2300"] [data-aos],[data-aos][data-aos][data-aos-delay="2300"]{transition-delay:0}[data-aos-delay="2300"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2300"].aos-animate{transition-delay:2.3s}[data-aos-duration="2350"] [data-aos],[data-aos][data-aos][data-aos-duration="2350"]{transition-duration:2.35s}[data-aos-delay="2350"] [data-aos],[data-aos][data-aos][data-aos-delay="2350"]{transition-delay:0}[data-aos-delay="2350"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2350"].aos-animate{transition-delay:2.35s}[data-aos-duration="2400"] [data-aos],[data-aos][data-aos][data-aos-duration="2400"]{transition-duration:2.4s}[data-aos-delay="2400"] [data-aos],[data-aos][data-aos][data-aos-delay="2400"]{transition-delay:0}[data-aos-delay="2400"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2400"].aos-animate{transition-delay:2.4s}[data-aos-duration="2450"] [data-aos],[data-aos][data-aos][data-aos-duration="2450"]{transition-duration:2.45s}[data-aos-delay="2450"] [data-aos],[data-aos][data-aos][data-aos-delay="2450"]{transition-delay:0}[data-aos-delay="2450"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2450"].aos-animate{transition-delay:2.45s}[data-aos-duration="2500"] [data-aos],[data-aos][data-aos][data-aos-duration="2500"]{transition-duration:2.5s}[data-aos-delay="2500"] [data-aos],[data-aos][data-aos][data-aos-delay="2500"]{transition-delay:0}[data-aos-delay="2500"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2500"].aos-animate{transition-delay:2.5s}[data-aos-duration="2550"] [data-aos],[data-aos][data-aos][data-aos-duration="2550"]{transition-duration:2.55s}[data-aos-delay="2550"] [data-aos],[data-aos][data-aos][data-aos-delay="2550"]{transition-delay:0}[data-aos-delay="2550"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2550"].aos-animate{transition-delay:2.55s}[data-aos-duration="2600"] [data-aos],[data-aos][data-aos][data-aos-duration="2600"]{transition-duration:2.6s}[data-aos-delay="2600"] [data-aos],[data-aos][data-aos][data-aos-delay="2600"]{transition-delay:0}[data-aos-delay="2600"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2600"].aos-animate{transition-delay:2.6s}[data-aos-duration="2650"] [data-aos],[data-aos][data-aos][data-aos-duration="2650"]{transition-duration:2.65s}[data-aos-delay="2650"] [data-aos],[data-aos][data-aos][data-aos-delay="2650"]{transition-delay:0}[data-aos-delay="2650"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2650"].aos-animate{transition-delay:2.65s}[data-aos-duration="2700"] [data-aos],[data-aos][data-aos][data-aos-duration="2700"]{transition-duration:2.7s}[data-aos-delay="2700"] [data-aos],[data-aos][data-aos][data-aos-delay="2700"]{transition-delay:0}[data-aos-delay="2700"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2700"].aos-animate{transition-delay:2.7s}[data-aos-duration="2750"] [data-aos],[data-aos][data-aos][data-aos-duration="2750"]{transition-duration:2.75s}[data-aos-delay="2750"] [data-aos],[data-aos][data-aos][data-aos-delay="2750"]{transition-delay:0}[data-aos-delay="2750"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2750"].aos-animate{transition-delay:2.75s}[data-aos-duration="2800"] [data-aos],[data-aos][data-aos][data-aos-duration="2800"]{transition-duration:2.8s}[data-aos-delay="2800"] [data-aos],[data-aos][data-aos][data-aos-delay="2800"]{transition-delay:0}[data-aos-delay="2800"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2800"].aos-animate{transition-delay:2.8s}[data-aos-duration="2850"] [data-aos],[data-aos][data-aos][data-aos-duration="2850"]{transition-duration:2.85s}[data-aos-delay="2850"] [data-aos],[data-aos][data-aos][data-aos-delay="2850"]{transition-delay:0}[data-aos-delay="2850"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2850"].aos-animate{transition-delay:2.85s}[data-aos-duration="2900"] [data-aos],[data-aos][data-aos][data-aos-duration="2900"]{transition-duration:2.9s}[data-aos-delay="2900"] [data-aos],[data-aos][data-aos][data-aos-delay="2900"]{transition-delay:0}[data-aos-delay="2900"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2900"].aos-animate{transition-delay:2.9s}[data-aos-duration="2950"] [data-aos],[data-aos][data-aos][data-aos-duration="2950"]{transition-duration:2.95s}[data-aos-delay="2950"] [data-aos],[data-aos][data-aos][data-aos-delay="2950"]{transition-delay:0}[data-aos-delay="2950"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="2950"].aos-animate{transition-delay:2.95s}[data-aos-duration="3000"] [data-aos],[data-aos][data-aos][data-aos-duration="3000"]{transition-duration:3s}[data-aos-delay="3000"] [data-aos],[data-aos][data-aos][data-aos-delay="3000"]{transition-delay:0}[data-aos-delay="3000"] [data-aos].aos-animate,[data-aos][data-aos][data-aos-delay="3000"].aos-animate{transition-delay:3s}[data-aos-easing=linear] [data-aos],[data-aos][data-aos][data-aos-easing=linear]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos-easing=ease] [data-aos],[data-aos][data-aos][data-aos-easing=ease]{transition-timing-function:ease}[data-aos-easing=ease-in] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in]{transition-timing-function:ease-in}[data-aos-easing=ease-out] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out]{transition-timing-function:ease-out}[data-aos-easing=ease-in-out] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out]{transition-timing-function:ease-in-out}[data-aos-easing=ease-in-back] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-back]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos-easing=ease-out-back] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out-back]{transition-timing-function:cubic-bezier(.175,.885,.32,10.275)}[data-aos-easing=ease-in-out-back] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out-back]{transition-timing-function:cubic-bezier(.68,-.55,.265,10.55)}[data-aos-easing=ease-in-sine] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-sine]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos-easing=ease-out-sine] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out-sine]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos-easing=ease-in-out-sine] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out-sine]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos-easing=ease-in-quad] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-quad]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos-easing=ease-out-quad] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out-quad]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos-easing=ease-in-out-quad] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out-quad]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos-easing=ease-in-cubic] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-cubic]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos-easing=ease-out-cubic] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out-cubic]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos-easing=ease-in-out-cubic] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out-cubic]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos-easing=ease-in-quart] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-quart]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos-easing=ease-out-quart] [data-aos],[data-aos][data-aos][data-aos-easing=ease-out-quart]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos-easing=ease-in-out-quart] [data-aos],[data-aos][data-aos][data-aos-easing=ease-in-out-quart]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]:not(.no-aos-animation){opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade]:not(.no-aos-animation).aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]:not(.no-aos-animation){transform:translate3d(0,100px,0)}[data-aos=fade-down]:not(.no-aos-animation){transform:translate3d(0,-100px,0)}.glide{position:relative;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{height:100%;overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slide,.glide__slides--dragging{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;-ms-user-select:none}.glide__arrows,.glide__bullets{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.glide--rtl{direction:rtl}
\ No newline at end of file
diff --git a/assets/css/home.css b/assets/css/home.css
index b21fea2a..4aca39e4 100644
--- a/assets/css/home.css
+++ b/assets/css/home.css
@@ -1,245 +1 @@
-/** Mixins */
-/** Colors */
-/** Config */
-.m-featured-slider {
- position: relative;
- overflow: hidden !important;
- height: 350px;
- margin: -40px -20px 40px;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-slider:hover {
- transform: translateY(-5px);
- box-shadow: var(--article-shadow-hover), 0 0 0 transparent;
- }
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-slider {
- width: 100%;
- height: 420px;
- margin: -40px 10px 20px 10px;
- border-radius: 10px;
- }
-}
-@media only screen and (min-width: 64rem) {
- .m-featured-slider {
- width: calc(100% - (100% / 3) - 40px);
- margin: 0 20px 40px 20px;
- overflow: unset;
- }
-}
-
-.m-featured-slider:not(:root:root) {
- overflow: hidden !important;
-}
-
-.m-featured-slider__list {
- list-style-type: none;
- padding: 0;
- margin: 0;
- height: 100%;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-slider__list {
- border-radius: 10px;
- overflow: hidden;
- }
-}
-
-.m-featured-slider__list__item {
- height: 100%;
- overflow: hidden;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-slider__list__item {
- border-radius: 10px;
- }
-}
-
-.m-featured-article {
- position: relative;
- height: 100%;
- overflow: hidden;
- background-color: var(--primary-subtle-color);
- z-index: 1;
-}
-.m-featured-article:hover .m-featured-article__author {
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), 0 0 0 transparent;
-}
-.m-featured-article.no-picture .m-featured-article__picture {
- background-color: var(--primary-subtle-color);
-}
-
-.m-featured-article__picture {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-color: #000;
- z-index: 1;
-}
-.m-featured-article__picture div {
- width: 100%;
- height: 100%;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
- opacity: 0.7;
-}
-
-.m-featured-article__meta {
- position: absolute;
- top: 20px;
- left: 20px;
- z-index: 4;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__meta {
- top: 40px;
- left: 40px;
- }
-}
-
-.rtl .m-featured-article__meta {
- left: auto;
- right: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-featured-article__meta {
- left: auto;
- right: 40px;
- }
-}
-
-.m-featured-article__author {
- display: block;
- width: 35px;
- height: 35px;
- background-color: #fff;
- border: 2px solid #fff;
- border-radius: 50%;
- margin-bottom: 20px;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-featured-article__author div {
- width: 100%;
- height: 100%;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
- border-radius: 50%;
-}
-
-.m-featured-article__tag {
- color: #fff;
- letter-spacing: 0.3px;
- font-weight: 700;
- font-size: 1rem;
-}
-
-.m-featured-article__ribbon {
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 26px;
- right: 20px;
- width: 24px;
- height: 24px;
- color: #000;
- background-color: #fff;
- border-radius: 50%;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__ribbon {
- justify-content: flex-start;
- top: 47px;
- right: 40px;
- width: auto;
- height: 22px;
- padding: 0 7px;
- font-size: 0.875rem;
- font-weight: 600;
- border-radius: 15px;
- }
-}
-.m-featured-article__ribbon span {
- display: inline-block;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__ribbon span:first-of-type {
- font-size: 0.75rem;
- margin-right: 4px;
- }
-}
-.m-featured-article__ribbon span:last-of-type {
- display: none;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__ribbon span:last-of-type {
- display: block;
- }
-}
-
-.rtl .m-featured-article__ribbon {
- right: auto;
- left: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-featured-article__ribbon {
- right: auto;
- left: 40px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .rtl .m-featured-article__ribbon span:first-of-type {
- margin-right: 0;
- margin-left: 4px;
- }
-}
-
-.m-featured-article__content {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 100%;
- height: 100%;
- padding: 120px 20px 20px 20px;
- position: relative;
- z-index: 3;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__content {
- padding: 125px 40px 40px 40px;
- }
-}
-
-.m-featured-article__title {
- color: #fff;
- letter-spacing: 0.4px;
- line-height: 1.3;
- font-size: 1.625rem;
- font-weight: 600;
- margin: 0;
-}
-@media only screen and (min-width: 48rem) {
- .m-featured-article__title {
- letter-spacing: 0.5px;
- font-size: 2.25em;
- max-width: 80%;
- }
-}
-
-.m-featured-article__timestamp {
- display: flex;
- align-items: center;
- color: #fff;
- letter-spacing: 0.2px;
- font-size: 0.875rem;
-}
-.m-featured-article__timestamp span:nth-child(2) {
- padding: 0 10px;
-}
\ No newline at end of file
+.m-featured-slider{position:relative;overflow:hidden!important;height:350px;margin:-40px -20px 40px;transition:all .25s cubic-bezier(.02,.01,.47,1)}@media only screen and (min-width:48rem){.m-featured-slider:hover{transform:translateY(-5px);box-shadow:var(--article-shadow-hover),0 0 0 transparent}}@media only screen and (min-width:48rem){.m-featured-slider{width:100%;height:420px;margin:-40px 10px 20px;border-radius:10px}}@media only screen and (min-width:64rem){.m-featured-slider{width:calc(66.66667% - 40px);margin:0 20px 40px;overflow:unset}}.m-featured-slider:not(:root:root){overflow:hidden!important}.m-featured-slider__list{list-style-type:none;padding:0;margin:0;height:100%}@media only screen and (min-width:48rem){.m-featured-slider__list{border-radius:10px;overflow:hidden}}.m-featured-slider__list__item{height:100%;overflow:hidden}@media only screen and (min-width:48rem){.m-featured-slider__list__item{border-radius:10px}}.m-featured-article{position:relative;height:100%;overflow:hidden;background-color:var(--primary-subtle-color);z-index:1}.m-featured-article:hover .m-featured-article__author{box-shadow:0 4px 8px rgba(0,0,0,.3),0 0 0 transparent}.m-featured-article.no-picture .m-featured-article__picture{background-color:var(--primary-subtle-color)}.m-featured-article__picture{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000;z-index:1}.m-featured-article__picture div{width:100%;height:100%;background-repeat:no-repeat;background-position:50%;background-size:cover;opacity:.7}.m-featured-article__meta{position:absolute;top:20px;left:20px;z-index:4}@media only screen and (min-width:48rem){.m-featured-article__meta{top:40px;left:40px}}.rtl .m-featured-article__meta{left:auto;right:20px}@media only screen and (min-width:48rem){.rtl .m-featured-article__meta{left:auto;right:40px}}.m-featured-article__author{display:block;width:35px;height:35px;background-color:#fff;border:2px solid #fff;border-radius:50%;margin-bottom:20px;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-featured-article__author div{width:100%;height:100%;background-repeat:no-repeat;background-position:50%;background-size:cover;border-radius:50%}.m-featured-article__tag{color:#fff;letter-spacing:.3px;font-weight:700;font-size:1rem}.m-featured-article__ribbon{display:flex;align-items:center;justify-content:center;position:absolute;top:26px;right:20px;width:24px;height:24px;color:#000;background-color:#fff;border-radius:50%;z-index:2}@media only screen and (min-width:48rem){.m-featured-article__ribbon{justify-content:flex-start;top:47px;right:40px;width:auto;height:22px;padding:0 7px;font-size:.875rem;font-weight:600;border-radius:15px}}.m-featured-article__ribbon span{display:inline-block}@media only screen and (min-width:48rem){.m-featured-article__ribbon span:first-of-type{font-size:.75rem;margin-right:4px}}.m-featured-article__ribbon span:last-of-type{display:none}@media only screen and (min-width:48rem){.m-featured-article__ribbon span:last-of-type{display:block}}.rtl .m-featured-article__ribbon{right:auto;left:20px}@media only screen and (min-width:48rem){.rtl .m-featured-article__ribbon{right:auto;left:40px}}@media only screen and (min-width:48rem){.rtl .m-featured-article__ribbon span:first-of-type{margin-right:0;margin-left:4px}}.m-featured-article__content{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:120px 20px 20px;position:relative;z-index:3}@media only screen and (min-width:48rem){.m-featured-article__content{padding:125px 40px 40px}}.m-featured-article__title{color:#fff;letter-spacing:.4px;line-height:1.3;font-size:1.625rem;font-weight:600;margin:0}@media only screen and (min-width:48rem){.m-featured-article__title{letter-spacing:.5px;font-size:2.25em;max-width:80%}}.m-featured-article__timestamp{display:flex;align-items:center;color:#fff;letter-spacing:.2px;font-size:.875rem}.m-featured-article__timestamp span:nth-child(2){padding:0 10px}
\ No newline at end of file
diff --git a/assets/css/listing.css b/assets/css/listing.css
index 54569a95..29dcacda 100644
--- a/assets/css/listing.css
+++ b/assets/css/listing.css
@@ -1,42 +1 @@
-/** Mixins */
-.l-grid {
- padding-bottom: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-grid {
- display: flex;
- flex-wrap: wrap;
- margin: 0 -10px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .l-grid {
- margin: 0 -20px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-grid.centered {
- justify-content: center;
- }
-}
-
-.m-pagination {
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 0 auto 40px;
-}
-
-.m-pagination__text {
- display: inline-block;
- color: var(--titles-color);
- letter-spacing: 0.2px;
- text-align: center;
- font-size: 0.875rem;
-}
-@media only screen and (min-width: 48rem) {
- .m-pagination__text {
- letter-spacing: 0.3px;
- font-size: 1rem;
- }
-}
\ No newline at end of file
+.l-grid{padding-bottom:20px}@media only screen and (min-width:48rem){.l-grid{display:flex;flex-wrap:wrap;margin:0 -10px}}@media only screen and (min-width:80rem){.l-grid{margin:0 -20px}}@media only screen and (min-width:48rem){.l-grid.centered{justify-content:center}}.m-pagination{display:flex;align-items:center;justify-content:center;margin:0 auto 40px}.m-pagination__text{display:inline-block;color:var(--titles-color);letter-spacing:.2px;text-align:center;font-size:.875rem}@media only screen and (min-width:48rem){.m-pagination__text{letter-spacing:.3px;font-size:1rem}}
\ No newline at end of file
diff --git a/assets/css/newsletter.css b/assets/css/newsletter.css
index d463ad8e..9474327a 100644
--- a/assets/css/newsletter.css
+++ b/assets/css/newsletter.css
@@ -1,180 +1 @@
-/** Mixins */
-/** Colors */
-/** Config */
-.l-fullscreen {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100vh;
-}
-
-.l-fullscreen__content {
- text-align: center;
- padding: 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-fullscreen__content {
- max-width: 500px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-fullscreen__content.in-subscribe-page {
- padding: 0;
- }
-}
-@media only screen and (min-width: 64rem) {
- .l-fullscreen__content.in-subscribe-page {
- max-width: 820px;
- }
-}
-
-.m-back {
- display: flex;
- align-items: center;
- position: absolute;
- top: 20px;
- left: 20px;
- color: var(--titles-color);
- letter-spacing: 0.2px;
- font-size: 0.875rem;
- cursor: pointer;
- z-index: 2;
-}
-@media only screen and (min-width: 48rem) {
- .m-back {
- top: 40px;
- letter-spacing: 0.3px;
- font-size: 1rem;
- }
-}
-.m-back span {
- color: inherit;
- display: inline-block;
-}
-
-.rtl .m-back span:first-of-type {
- order: 2;
-}
-
-.m-back__icon {
- font-size: 0.75rem;
- margin-right: 10px;
-}
-@media only screen and (min-width: 48rem) {
- .m-back__icon {
- font-size: 0.875rem;
- }
-}
-
-.rtl .m-back__icon {
- order: 1;
-}
-
-.m-subscribe-section {
- padding: 50px 0;
- background-color: var(--secondary-subtle-color);
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section {
- padding: 80px 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__content {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
-}
-
-.m-subscribe-section__text {
- text-align: center;
- margin-bottom: 30px;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__text {
- flex: 1;
- text-align: left;
- padding-right: 75px;
- margin-bottom: 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-subscribe-section__text {
- text-align: right;
- padding-right: 0;
- padding-left: 75px;
- }
-}
-
-.m-subscribe-section__title {
- color: var(--titles-color);
- letter-spacing: 0.3px;
- line-height: 1.3;
- font-size: 1.25rem;
- font-weight: 600;
- margin: 0 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__title {
- letter-spacing: 0.3px;
- font-size: 1.5rem;
- margin-bottom: 15px;
- }
-}
-
-.m-subscribe-section__description {
- letter-spacing: 0.2px;
- line-height: 1.4;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__description {
- font-size: 1.125rem;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__form {
- width: 300px;
- margin: 0 auto;
- }
-}
-
-.m-subscribe-section__container.loading .m-button {
- pointer-events: none;
-}
-.m-subscribe-section__container.success .m-subscribe__success {
- display: block;
-}
-.m-subscribe-section__container.success .m-subscribe__invalid,
-.m-subscribe-section__container.success .m-subscribe__error,
-.m-subscribe-section__container.success .m-subscribe__form {
- display: none;
-}
-.m-subscribe-section__container.invalid .m-subscribe__invalid {
- display: block;
-}
-.m-subscribe-section__container.error .m-subscribe__error {
- display: block;
-}
-.m-subscribe-section__container.error .m-subscribe__form {
- margin-bottom: 20px;
-}
-.m-subscribe-section__container .m-subscribe__success,
-.m-subscribe-section__container .m-subscribe__invalid,
-.m-subscribe-section__container .m-subscribe__error {
- display: none;
-}
-
-.m-subscribe__success_icon {
- display: block;
- width: 64px;
- height: 64px;
- margin: 0 auto 25px;
-}
-
-.m-subscribe__error {
- text-align: center;
-}
\ No newline at end of file
+.l-fullscreen{display:flex;align-items:center;justify-content:center;height:100vh}.l-fullscreen__content{text-align:center;padding:0 20px}@media only screen and (min-width:48rem){.l-fullscreen__content{max-width:500px}}@media only screen and (min-width:48rem){.l-fullscreen__content.in-subscribe-page{padding:0}}@media only screen and (min-width:64rem){.l-fullscreen__content.in-subscribe-page{max-width:820px}}.m-back{display:flex;align-items:center;position:absolute;top:20px;left:20px;color:var(--titles-color);letter-spacing:.2px;font-size:.875rem;cursor:pointer;z-index:2}@media only screen and (min-width:48rem){.m-back{top:40px;letter-spacing:.3px;font-size:1rem}}.m-back span{color:inherit;display:inline-block}.rtl .m-back span:first-of-type{order:2}.m-back__icon{font-size:.75rem;margin-right:10px}@media only screen and (min-width:48rem){.m-back__icon{font-size:.875rem}}.rtl .m-back__icon{order:1}.m-subscribe-section{padding:50px 0;background-color:var(--secondary-subtle-color)}@media only screen and (min-width:48rem){.m-subscribe-section{padding:80px 0}}@media only screen and (min-width:48rem){.m-subscribe-section__content{display:flex;align-items:center;justify-content:space-between}}.m-subscribe-section__text{text-align:center;margin-bottom:30px}@media only screen and (min-width:48rem){.m-subscribe-section__text{flex:1;text-align:left;padding-right:75px;margin-bottom:0}}@media only screen and (min-width:48rem){.rtl .m-subscribe-section__text{text-align:right;padding-right:0;padding-left:75px}}.m-subscribe-section__title{color:var(--titles-color);letter-spacing:.3px;line-height:1.3;font-size:1.25rem;font-weight:600;margin:0 0 20px}@media only screen and (min-width:48rem){.m-subscribe-section__title{letter-spacing:.3px;font-size:1.5rem;margin-bottom:15px}}.m-subscribe-section__description{letter-spacing:.2px;line-height:1.4}@media only screen and (min-width:48rem){.m-subscribe-section__description{font-size:1.125rem}}@media only screen and (min-width:48rem){.m-subscribe-section__form{width:300px;margin:0 auto}}.m-subscribe-section__container.loading .m-button{pointer-events:none}.m-subscribe-section__container.success .m-subscribe__success{display:block}.m-subscribe-section__container.success .m-subscribe__error,.m-subscribe-section__container.success .m-subscribe__form,.m-subscribe-section__container.success .m-subscribe__invalid{display:none}.m-subscribe-section__container.error .m-subscribe__error,.m-subscribe-section__container.invalid .m-subscribe__invalid{display:block}.m-subscribe-section__container.error .m-subscribe__form{margin-bottom:20px}.m-subscribe-section__container .m-subscribe__error,.m-subscribe-section__container .m-subscribe__invalid,.m-subscribe-section__container .m-subscribe__success{display:none}.m-subscribe__success_icon{display:block;width:64px;height:64px;margin:0 auto 25px}.m-subscribe__error{text-align:center}
\ No newline at end of file
diff --git a/assets/css/post.css b/assets/css/post.css
index ed35a389..46676389 100644
--- a/assets/css/post.css
+++ b/assets/css/post.css
@@ -1,1188 +1 @@
-@charset "UTF-8";
-/** Mixins */
-/** Colors */
-/** Config */
-/** Helpers */
-.hide {
- display: none;
-}
-
-.sr-only {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(100%);
- clip-path: inset(100%);
- position: absolute;
- width: 1px;
- height: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.focusable:focus, .m-button:focus, .l-post-content button:focus:not(.m-icon-button) {
- box-shadow: 0 0 0 2px var(--primary-subtle-color) !important;
-}
-
-.content-centered {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.no-appearance, .m-input, .l-post-content input,
-.l-post-content textarea,
-.l-post-content select, .m-button, .l-post-content button:not(.m-icon-button) {
- -webkit-appearance: none !important;
- -moz-appearance: none !important;
- appearance: none !important;
-}
-
-.no-padding {
- padding: 0;
-}
-
-.no-margin {
- margin: 0;
-}
-
-.no-scroll-y {
- overflow-y: hidden;
-}
-
-.align-center {
- text-align: center;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.pos-relative {
- position: relative;
-}
-
-.pos-absolute {
- position: absolute;
-}
-
-.bold {
- font-weight: bold;
-}
-
-.underline {
- text-decoration: underline;
-}
-
-.uppercase {
- text-transform: uppercase;
-}
-
-.pointer {
- cursor: pointer;
-}
-
-.only-desktop {
- display: none;
-}
-@media only screen and (min-width: 48rem) {
- .only-desktop {
- display: block;
- }
-}
-
-.l-post-content {
- padding-bottom: 15px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content {
- max-width: 820px;
- min-height: 400px;
- margin: 0 auto;
- }
-}
-@media only screen and (min-width: 48rem) and (min-width: 48rem) {
- .l-post-content {
- padding-bottom: 30px;
- }
-}
-.l-post-content h1,
-.l-post-content h2,
-.l-post-content h3,
-.l-post-content h4,
-.l-post-content h5,
-.l-post-content h6 {
- color: var(--titles-color);
- line-height: 1.3;
- font-weight: 700;
- padding-top: 5px;
- margin: 0 0 30px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h1,
-.l-post-content h2,
-.l-post-content h3,
-.l-post-content h4,
-.l-post-content h5,
-.l-post-content h6 {
- padding-top: 10px;
- margin-bottom: 40px;
- }
-}
-.l-post-content h1 {
- font-size: 2.125rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h1 {
- font-size: 2.625rem;
- }
-}
-.l-post-content h2 {
- font-size: 1.75rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h2 {
- font-size: 2.25rem;
- }
-}
-.l-post-content h3 {
- font-size: 1.375rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h3 {
- font-size: 1.75rem;
- }
-}
-.l-post-content h4 {
- font-size: 1rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h4 {
- font-size: 1.375rem;
- }
-}
-.l-post-content h5 {
- font-size: 0.938rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h5 {
- font-size: 1.125rem;
- }
-}
-.l-post-content h6 {
- font-size: 0.813rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content h6 {
- font-size: 1rem;
- }
-}
-.l-post-content p {
- letter-spacing: 0.2px;
- line-height: 1.5;
- font-size: 1.125rem;
- margin-bottom: 25px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content p {
- letter-spacing: 0.3px;
- line-height: 1.6;
- font-size: 1.25rem;
- margin-bottom: 30px;
- }
-}
-.l-post-content p img {
- margin-bottom: 0 !important;
-}
-.l-post-content b, .l-post-content strong {
- font-weight: 600;
-}
-.l-post-content em {
- font-style: italic;
-}
-.l-post-content a {
- color: var(--primary-foreground-color);
- text-decoration: underline;
- transition: color linear 0.2s;
-}
-.l-post-content a:hover {
- color: var(--link-color);
-}
-.l-post-content ul, .l-post-content ol {
- letter-spacing: 0.2px;
- line-height: 1.5;
- font-size: 1.125rem;
- padding-left: 20px;
- margin: 0 0 20px 0;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content ul, .l-post-content ol {
- letter-spacing: 0.3px;
- line-height: 1.6;
- font-size: 1.25rem;
- padding-left: 40px;
- margin-bottom: 30px;
- }
-}
-.l-post-content li {
- margin-bottom: 20px;
-}
-.l-post-content img,
-.l-post-content .kg-image {
- display: block;
- max-width: 100%;
- margin: 0 auto 35px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content img,
-.l-post-content .kg-image {
- margin-bottom: 40px;
- }
-}
-.l-post-content iframe {
- max-width: 100%;
-}
-.l-post-content .fluid-width-video-wrapper {
- margin: 0 auto 35px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content .fluid-width-video-wrapper {
- margin-bottom: 40px;
- }
-}
-.l-post-content figure, .l-post-content.kg-image-card {
- padding: 20px 0 40px;
- margin: 0 -20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content figure, .l-post-content.kg-image-card {
- padding: 20px 0 50px;
- margin: 0;
- }
-}
-.l-post-content figure.kg-embed-card, .l-post-content.kg-image-card.kg-embed-card {
- display: flex;
- flex-direction: column;
- align-items: center;
- min-width: 100%;
- margin: 0 auto;
-}
-.l-post-content figure.kg-embed-card iframe, .l-post-content.kg-image-card.kg-embed-card iframe {
- margin: 0 auto;
-}
-.l-post-content figure.kg-width-full img, .l-post-content figure.kg-width-wide img, .l-post-content.kg-image-card.kg-width-full img, .l-post-content.kg-image-card.kg-width-wide img {
- width: 100%;
- height: auto;
-}
-@media only screen and (min-width: 80rem) {
- .l-post-content figure.kg-width-wide, .l-post-content.kg-image-card.kg-width-wide {
- margin: 0 -70px;
- }
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content figure.kg-width-full, .l-post-content.kg-image-card.kg-width-full {
- width: 100vw;
- margin-left: 50%;
- transform: translateX(-50%);
- }
-}
-.l-post-content figure img,
-.l-post-content figure .kg-image, .l-post-content.kg-image-card img,
-.l-post-content.kg-image-card .kg-image {
- display: block;
- width: auto;
- max-width: 100%;
- height: auto;
- margin: 0 auto;
-}
-.l-post-content figure figcaption, .l-post-content.kg-image-card figcaption {
- text-align: center;
- letter-spacing: 0.1px;
- line-height: 1.3;
- font-size: 0.75rem;
- padding: 10px 20px 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content figure figcaption, .l-post-content.kg-image-card figcaption {
- font-size: 0.875rem;
- padding: 15px 0 0 0;
- }
-}
-.l-post-content figure .fluid-width-video-container, .l-post-content.kg-image-card .fluid-width-video-container {
- flex-grow: 1;
- width: 100%;
-}
-.l-post-content figure .fluid-width-video-wrapper, .l-post-content.kg-image-card .fluid-width-video-wrapper {
- margin: 0 auto !important;
-}
-.l-post-content figure .kg-gallery-container, .l-post-content.kg-image-card .kg-gallery-container {
- display: flex;
- flex-direction: column;
- width: 100%;
-}
-.l-post-content figure .kg-gallery-row, .l-post-content.kg-image-card .kg-gallery-row {
- display: flex;
- flex-direction: row;
- justify-content: center;
-}
-.l-post-content figure .kg-gallery-image img, .l-post-content.kg-image-card .kg-gallery-image img {
- display: block;
- margin: 0;
- width: 100%;
- height: 100%;
- -o-object-fit: cover;
- object-fit: cover;
-}
-.l-post-content figure .kg-gallery-row:not(:first-of-type), .l-post-content.kg-image-card .kg-gallery-row:not(:first-of-type) {
- margin: 0.75em 0 0 0;
-}
-.l-post-content figure .kg-gallery-image:not(:first-of-type), .l-post-content.kg-image-card .kg-gallery-image:not(:first-of-type) {
- margin: 0 0 0 0.75em;
-}
-.l-post-content hr {
- position: relative;
- margin: 30px 0;
- border: 0;
- border-top: 1px solid var(--secondary-subtle-color);
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content hr {
- margin: 50px 0;
- }
-}
-.l-post-content hr:after {
- content: "";
- position: absolute;
- top: 50%;
- left: 50%;
- width: 10px;
- height: 10px;
- border-radius: 50%;
- background-color: var(--secondary-subtle-color);
- box-shadow: 0 0 0 10px var(--background-color), 0 0 0 transparent;
- transform: translate(-50%, -50%);
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content hr:after {
- width: 12px;
- height: 12px;
- box-shadow: 0 0 0 20px var(--background-color), 0 0 0 transparent;
- }
-}
-.l-post-content blockquote {
- position: relative;
- letter-spacing: 0.2px;
- line-height: 1.5;
- font-size: 1.125rem;
- font-style: italic;
- font-family: Georgia, "Times New Roman", Times, serif;
- padding: 0 40px;
- margin: 0 0 25px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content blockquote {
- letter-spacing: 0.3px;
- line-height: 1.6;
- font-size: 1.25rem;
- padding: 0 60px;
- margin-bottom: 30px;
- }
-}
-.l-post-content blockquote:before {
- content: '"';
- position: absolute;
- top: 0;
- left: 0;
- color: var(--primary-foreground-color);
- line-height: 1;
- font-size: 2.625rem;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content blockquote:before {
- font-size: 4rem;
- }
-}
-.l-post-content blockquote p:last-child {
- margin-bottom: 0;
-}
-.l-post-content table {
- color: var(--titles-color);
- font-size: 0.875rem;
- width: calc(100% + 40px);
- margin: 0 -20px 25px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content table {
- font-size: 1rem;
- width: 100%;
- margin: 0 0 30px;
- }
-}
-.l-post-content table thead {
- border-bottom: 1px solid var(--table-head-border-bottom);
-}
-.l-post-content table thead td {
- font-weight: 600;
-}
-.l-post-content table tbody tr:nth-child(even) {
- background-color: var(--background-color);
-}
-.l-post-content table tbody tr:nth-child(odd) {
- background-color: var(--table-background-color-odd);
-}
-.l-post-content table td {
- text-align: center;
- padding: 10px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content table td {
- padding: 20px;
- }
-}
-.l-post-content code {
- display: inline-block;
- color: var(--link-color);
- font-size: 0.9rem;
- font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
- padding: 0 5px;
- border-radius: 5px;
- background-color: var(--secondary-subtle-color);
-}
-.l-post-content pre {
- line-height: 1.4;
- font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
- margin: 0 0 25px;
- overflow: auto;
- border-radius: 5px;
- background-color: var(--secondary-subtle-color);
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- line-height: 1.5;
- -moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
- -webkit-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content pre {
- margin-bottom: 30px;
- }
-}
-.l-post-content pre > code {
- display: block;
- padding: 10px;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- line-height: 1.5;
- -moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
- -webkit-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content pre > code {
- padding: 20px;
- }
-}
-.l-post-content pre.line-numbers > code {
- padding: 0;
-}
-.l-post-content form {
- margin-bottom: 25px;
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content form {
- margin-bottom: 30px;
- }
-}
-.l-post-content input,
-.l-post-content textarea,
-.l-post-content select {
- margin-bottom: 20px;
-}
-.l-post-content textarea {
- height: 100px;
- resize: none;
-}
-.l-post-content select {
- position: relative;
- padding-right: 40px !important;
- background-repeat: no-repeat;
- background-position: calc(100% -15px) center;
- background-size: 15px 8px;
- background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjUiIHZpZXdCb3g9IjAgMCA5IDUiPgogICAgPHBhdGggZmlsbD0iIzU2NWU2MCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4zMi41N2EuMjQ3LjI0NyAwIDAgMSAwIC4zNkw0LjY4IDQuNTdhLjI0Ny4yNDcgMCAwIDEtLjM2IDBMLjY4LjkzYS4yNDcuMjQ3IDAgMCAxIDAtLjM2bC4zOS0uMzlhLjI0Ny4yNDcgMCAwIDEgLjM2IDBMNC41IDMuMjUgNy41Ny4xOGEuMjQ3LjI0NyAwIDAgMSAuMzYgMGwuMzkuMzl6Ii8+Cjwvc3ZnPgo=");
-}
-.l-post-content button:not(.m-icon-button) {
- border: 1px solid var(--primary-foreground-color) !important;
-}
-.l-post-content .kg-bookmark-card {
- width: 100%;
- padding: 0 !important;
- margin: 30px auto !important;
- background: var(--background-color);
-}
-@media only screen and (min-width: 48rem) {
- .l-post-content .kg-bookmark-card {
- margin: 40px auto !important;
- }
-}
-.l-post-content .kg-bookmark-card:hover .kg-bookmark-container {
- opacity: 0.8;
- color: var(--primary-foreground-color);
-}
-.l-post-content .kg-card + .kg-bookmark-card {
- margin-top: 0;
-}
-.l-post-content .kg-bookmark-container {
- display: flex;
- color: var(--primary-foreground-color);
- text-decoration: none !important;
- min-height: 148px;
- box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 4px, rgba(0, 0, 0, 0.1) 0px 0px 0px 1px;
- border-radius: 3px;
- transition: opacity linear 0.2s;
-}
-.l-post-content .kg-bookmark-content {
- display: flex;
- flex-direction: column;
- flex-grow: 1;
- align-items: flex-start;
- justify-content: flex-start;
- padding: 20px;
-}
-.l-post-content .kg-bookmark-title {
- font-size: 1.125rem;
- line-height: 1.3;
- font-weight: 600;
-}
-.l-post-content .kg-bookmark-description {
- font-size: 0.875rem;
- font-weight: 400;
- line-height: 1.4;
- margin-top: 12px;
- overflow-y: hidden;
-}
-.l-post-content .kg-bookmark-thumbnail {
- position: relative;
- min-width: 30%;
- max-height: 100%;
- overflow: hidden;
-}
-.l-post-content .kg-bookmark-thumbnail img {
- position: absolute;
- top: 0;
- left: 0;
- width: 100% !important;
- height: 100% !important;
- -o-object-fit: cover;
- object-fit: cover;
- border-radius: 0 3px 3px 0;
-}
-.l-post-content .kg-bookmark-metadata {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- font-size: 0.9rem;
- font-weight: 400;
- color: var(--titles-color);
- margin-top: 14px;
-}
-.l-post-content .kg-bookmark-icon {
- width: 22px !important;
- height: 22px !important;
- margin-right: 8px !important;
-}
-.l-post-content .kg-bookmark-author:after {
- content: "\2022";
- margin: 0 6px;
-}
-.l-post-content .kg-bookmark-publisher {
- color: inherit;
-}
-@media (max-width: 500px) {
- .l-post-content .kg-bookmark-container {
- flex-direction: column;
- }
- .l-post-content .kg-bookmark-thumbnail {
- order: 1;
- width: 100%;
- min-height: 160px;
- }
- .l-post-content .kg-bookmark-thumbnail img {
- border-radius: 3px 3px 0 0;
- }
- .l-post-content .kg-bookmark-content {
- order: 2;
- }
-}
-
-.rtl .l-post-content ul, .rtl .l-post-content ol {
- padding-left: 0;
- padding-right: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .l-post-content ul, .rtl .l-post-content ol {
- padding-left: 0;
- padding-right: 40px;
- }
-}
-.rtl .l-post-content code {
- direction: ltr;
-}
-.rtl .l-post-content blockquote:before {
- left: auto;
- right: 0;
-}
-.rtl .l-post-content .kg-bookmark-icon {
- margin-right: 0 !important;
- margin-left: 8px !important;
-}
-@media only screen and (min-width: 48rem) {
- .rtl .l-post-content figure.kg-width-full {
- margin-left: 0;
- margin-right: 50%;
- transform: translateX(50%);
- }
-}
-
-.m-button, .l-post-content button:not(.m-icon-button) {
- display: inline-block;
- color: #333;
- text-align: center;
- letter-spacing: 0.2px;
- line-height: 1;
- font-size: 1rem;
- font-weight: 600;
- border-radius: 5px;
- padding: 13px 25px;
- cursor: pointer;
- outline: 0;
- border: 0;
- position: relative;
- background-color: transparent;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-button.outlined, .l-post-content button.outlined:not(.m-icon-button) {
- color: var(--titles-color);
- border: 1px solid var(--primary-foreground-color);
-}
-.m-button.filled, .l-post-content button.filled:not(.m-icon-button), .m-button.primary, .l-post-content button.primary:not(.m-icon-button) {
- box-shadow: 0 2px 4px var(--button-shadow-color-normal), 0 0 0 transparent;
-}
-.m-button.filled:hover, .l-post-content button.filled:hover:not(.m-icon-button), .m-button.primary:hover, .l-post-content button.primary:hover:not(.m-icon-button) {
- transform: translateY(-2px);
- box-shadow: 0 4px 8px var(--button-shadow-color-hover), 0 0 0 transparent;
-}
-.m-button.filled, .l-post-content button.filled:not(.m-icon-button) {
- border-radius: 5px;
- background-color: #fff;
-}
-.m-button.block, .l-post-content button.block:not(.m-icon-button) {
- display: block;
- width: 100%;
-}
-.m-button.primary, .l-post-content button.primary:not(.m-icon-button) {
- color: #fff;
- background-color: var(--primary-subtle-color);
-}
-.m-button.loading, .m-subscribe-section__container.loading .m-button, .l-post-content button.loading:not(.m-icon-button), .m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button), .l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button) {
- cursor: default;
- overflow: hidden;
-}
-.m-button.loading:after, .m-subscribe-section__container.loading .m-button:after, .l-post-content button.loading:not(.m-icon-button):after, .m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button):after, .l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button):after {
- content: "";
- position: absolute;
- left: 0;
- bottom: 0;
- width: 25%;
- height: 2px;
- background-color: #fff;
- -webkit-animation: loading 1s infinite;
- animation: loading 1s infinite;
-}
-@-webkit-keyframes loading {
- 0% {
- transform: translatex(0);
- }
- 50% {
- transform: translatex(300%);
- }
- 100% {
- transform: translatex(0);
- }
-}
-@keyframes loading {
- 0% {
- transform: translatex(0);
- }
- 50% {
- transform: translatex(300%);
- }
- 100% {
- transform: translatex(0);
- }
-}
-
-.m-input, .l-post-content input,
-.l-post-content textarea,
-.l-post-content select {
- color: var(--primary-foreground-color);
- letter-spacing: 0.2px;
- line-height: 1.3;
- font-size: 1rem;
- width: 100%;
- border-radius: 5px;
- padding: 11px 15px;
- border: 1px solid var(--primary-border-color);
- outline: 0;
- background-color: var(--background-color);
-}
-.m-input:focus, .l-post-content input:focus,
-.l-post-content textarea:focus,
-.l-post-content select:focus {
- border-color: var(--primary-subtle-color);
-}
-.m-input.in-search, .l-post-content input.in-search,
-.l-post-content textarea.in-search,
-.l-post-content select.in-search {
- font-weight: 600;
- padding-left: 40px;
-}
-@media only screen and (min-width: 48rem) {
- .m-input.in-search, .l-post-content input.in-search,
-.l-post-content textarea.in-search,
-.l-post-content select.in-search {
- font-size: 1.25rem;
- padding: 15px 30px 15px 60px;
- }
-}
-.m-input.in-subscribe-section, .l-post-content input.in-subscribe-section,
-.l-post-content textarea.in-subscribe-section,
-.l-post-content select.in-subscribe-section {
- margin-bottom: 15px;
-}
-
-.m-share {
- position: fixed;
- left: 0;
- bottom: 0;
- width: 100%;
- height: 45px;
- z-index: 3;
- background-color: var(--transparent-background-color);
- box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.1), 0 0 0 transparent;
-}
-@media only screen and (min-width: 48rem) {
- .m-share {
- height: 50px;
- }
-}
-@media only screen and (min-width: 64rem) {
- .m-share {
- position: absolute;
- top: 0;
- left: auto;
- right: -75px;
- width: 40px;
- height: auto;
- background-color: transparent;
- box-shadow: 0 0 0 transparent, 0 0 0 transparent;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-share {
- width: 50px;
- right: -175px;
- }
-}
-@media only screen and (min-width: 90rem) {
- .m-share {
- right: -200px;
- }
-}
-.m-share a {
- color: inherit !important;
-}
-.m-share a:first-of-type {
- margin-left: 0;
-}
-@media only screen and (min-width: 64rem) {
- .m-share a:first-of-type {
- margin-bottom: 0;
- }
-}
-.m-share button:last-of-type {
- margin-right: 0;
-}
-
-@media only screen and (min-width: 64rem) {
- .rtl .m-share {
- right: auto;
- left: -75px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .rtl .m-share {
- left: -175px;
- }
-}
-@media only screen and (min-width: 90rem) {
- .rtl .m-share {
- left: -200px;
- }
-}
-
-.m-share__content {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100%;
-}
-@media only screen and (min-width: 64rem) {
- .m-share__content {
- position: -webkit-sticky;
- position: sticky;
- top: 100px;
- flex-direction: column-reverse;
- align-items: flex-start;
- height: auto;
- }
-}
-
-.rtl .m-share__content {
- direction: ltr;
-}
-
-.m-subscribe-section {
- padding: 50px 0;
- background-color: var(--secondary-subtle-color);
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section {
- padding: 80px 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__content {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
-}
-
-.m-subscribe-section__text {
- text-align: center;
- margin-bottom: 30px;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__text {
- flex: 1;
- text-align: left;
- padding-right: 75px;
- margin-bottom: 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-subscribe-section__text {
- text-align: right;
- padding-right: 0;
- padding-left: 75px;
- }
-}
-
-.m-subscribe-section__title {
- color: var(--titles-color);
- letter-spacing: 0.3px;
- line-height: 1.3;
- font-size: 1.25rem;
- font-weight: 600;
- margin: 0 0 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__title {
- letter-spacing: 0.3px;
- font-size: 1.5rem;
- margin-bottom: 15px;
- }
-}
-
-.m-subscribe-section__description {
- letter-spacing: 0.2px;
- line-height: 1.4;
-}
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__description {
- font-size: 1.125rem;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .m-subscribe-section__form {
- width: 300px;
- margin: 0 auto;
- }
-}
-
-.m-subscribe-section__container.loading .m-button, .m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button), .l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button) {
- pointer-events: none;
-}
-.m-subscribe-section__container.success .m-subscribe__success {
- display: block;
-}
-.m-subscribe-section__container.success .m-subscribe__invalid,
-.m-subscribe-section__container.success .m-subscribe__error,
-.m-subscribe-section__container.success .m-subscribe__form {
- display: none;
-}
-.m-subscribe-section__container.invalid .m-subscribe__invalid {
- display: block;
-}
-.m-subscribe-section__container.error .m-subscribe__error {
- display: block;
-}
-.m-subscribe-section__container.error .m-subscribe__form {
- margin-bottom: 20px;
-}
-.m-subscribe-section__container .m-subscribe__success,
-.m-subscribe-section__container .m-subscribe__invalid,
-.m-subscribe-section__container .m-subscribe__error {
- display: none;
-}
-
-.m-subscribe__success_icon {
- display: block;
- width: 64px;
- height: 64px;
- margin: 0 auto 25px;
-}
-
-.m-subscribe__error {
- text-align: center;
-}
-
-.m-author {
- padding: 40px 20px;
- border-color: var(--secondary-subtle-color);
- border-top-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 0;
- border-right-width: 0;
- border-style: solid;
- margin: 0 auto;
-}
-@media only screen and (min-width: 48rem) {
- .m-author {
- display: flex;
- justify-content: center;
- padding: 60px 40px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-author {
- padding: 60px 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .m-author__content {
- display: flex;
- max-width: 820px;
- }
-}
-
-.m-author__picture {
- width: 90px;
- margin: 0 auto 25px;
-}
-@media only screen and (min-width: 48rem) {
- .m-author__picture {
- width: 100px;
- margin: 0 30px 0 0;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-author__picture {
- margin: 0 0 0 30px;
- }
-}
-
-.m-author__info {
- text-align: center;
-}
-@media only screen and (min-width: 48rem) {
- .m-author__info {
- display: flex;
- flex-direction: column;
- justify-content: center;
- flex: 1;
- text-align: left;
- }
-}
-
-@media only screen and (min-width: 48rem) {
- .rtl .m-author__info {
- text-align: right;
- }
-}
-
-.m-author__name {
- color: var(--link-color);
- letter-spacing: 0.2px;
- line-height: 1.3;
- font-size: 1.125rem;
- font-weight: 400;
- margin: 0 0 15px;
-}
-@media only screen and (min-width: 48rem) {
- .m-author__name {
- letter-spacing: 0.3px;
- font-size: 1.25rem;
- }
-}
-
-.m-author__bio {
- letter-spacing: 0.2px;
- line-height: 1.5;
- margin-bottom: 20px;
-}
-@media only screen and (min-width: 48rem) {
- .m-author__bio {
- margin-bottom: 15px;
- }
-}
-
-.m-author-picture {
- display: block;
- width: 90px;
- height: 90px;
-}
-@media only screen and (min-width: 48rem) {
- .m-author-picture {
- width: 100px;
- height: 100px;
- }
-}
-.m-author-picture div {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
-}
-
-.m-author-links {
- padding: 0;
- margin: 0;
- list-style-type: none;
- text-align: center;
-}
-@media only screen and (min-width: 48rem) {
- .m-author-links {
- text-align: left;
- }
-}
-.m-author-links li {
- display: inline-block;
- margin: 0 11px;
-}
-.m-author-links li:first-of-type {
- margin-left: 0;
-}
-.m-author-links li:last-of-type {
- margin-right: 0;
-}
-
-.rtl .m-author-links {
- direction: ltr;
- text-align: right;
-}
-
-.m-comments {
- padding-top: 40px;
-}
-@media only screen and (min-width: 48rem) {
- .m-comments {
- padding-top: 60px;
- }
-}
-.m-comments iframe {
- width: 100%;
- max-width: 100%;
-}
-
-.m-recommended {
- padding-top: 40px;
-}
-@media only screen and (min-width: 48rem) {
- .m-recommended {
- padding-top: 60px;
- }
-}
-
-.m-recommended-articles {
- margin: 0 -20px;
-}
-@media only screen and (min-width: 64rem) {
- .m-recommended-articles {
- padding: 0 40px;
- margin: 0 -30px;
- }
-}
-
-.m-recommended-slider {
- list-style-type: none;
- padding: 0;
- margin: 0;
-}
-@media only screen and (min-width: 48rem) {
- .m-recommended-slider .glide__track {
- padding: 0 40px 0;
- margin: 0 -40px;
- }
-}
-.m-recommended-slider .glide__slides {
- padding: 40px 0 60px;
- margin: 0 auto;
-}
-@media only screen and (min-width: 48rem) {
- .m-recommended-slider .glide__slides {
- padding: 40px 0 60px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-recommended-slider .glide__slides {
- overflow: visible;
- }
-}
-.m-recommended-slider .m-article-card {
- width: 100% !important;
- margin: 0 !important;
-}
-@media only screen and (min-width: 64rem) {
- .m-recommended-slider .m-article-card .m-article-card__picture {
- height: 190px;
- }
-}
-@media only screen and (min-width: 80rem) {
- .m-recommended-slider .m-article-card .m-article-card__picture {
- height: 220px;
- }
-}
-
-.m-recommended-slider__item {
- padding: 0 20px;
-}
\ No newline at end of file
+.hide{display:none}.sr-only{clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);position:absolute;width:1px;height:1px;overflow:hidden;white-space:nowrap}.focusable:focus,.l-post-content button:focus:not(.m-icon-button),.m-button:focus{box-shadow:0 0 0 2px var(--primary-subtle-color)!important}.content-centered{display:flex;align-items:center;justify-content:center}.l-post-content button:not(.m-icon-button),.l-post-content input,.l-post-content select,.l-post-content textarea,.m-button,.m-input,.no-appearance{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}.no-padding{padding:0}.no-margin{margin:0}.no-scroll-y{overflow-y:hidden}.align-center{text-align:center}.align-left{text-align:left}.align-right{text-align:right}.pos-relative{position:relative}.pos-absolute{position:absolute}.bold{font-weight:700}.underline{text-decoration:underline}.uppercase{text-transform:uppercase}.pointer{cursor:pointer}.only-desktop{display:none}@media only screen and (min-width:48rem){.only-desktop{display:block}}.l-post-content{padding-bottom:15px}@media only screen and (min-width:48rem){.l-post-content{max-width:820px;min-height:400px;margin:0 auto}}@media only screen and (min-width:48rem) and (min-width:48rem){.l-post-content{padding-bottom:30px}}.l-post-content h1,.l-post-content h2,.l-post-content h3,.l-post-content h4,.l-post-content h5,.l-post-content h6{color:var(--titles-color);line-height:1.3;font-weight:700;padding-top:5px;margin:0 0 30px}@media only screen and (min-width:48rem){.l-post-content h1,.l-post-content h2,.l-post-content h3,.l-post-content h4,.l-post-content h5,.l-post-content h6{padding-top:10px;margin-bottom:40px}}.l-post-content h1{font-size:2.125rem}@media only screen and (min-width:48rem){.l-post-content h1{font-size:2.625rem}}.l-post-content h2{font-size:1.75rem}@media only screen and (min-width:48rem){.l-post-content h2{font-size:2.25rem}}.l-post-content h3{font-size:1.375rem}@media only screen and (min-width:48rem){.l-post-content h3{font-size:1.75rem}}.l-post-content h4{font-size:1rem}@media only screen and (min-width:48rem){.l-post-content h4{font-size:1.375rem}}.l-post-content h5{font-size:.938rem}@media only screen and (min-width:48rem){.l-post-content h5{font-size:1.125rem}}.l-post-content h6{font-size:.813rem}@media only screen and (min-width:48rem){.l-post-content h6{font-size:1rem}}.l-post-content p{letter-spacing:.2px;line-height:1.5;font-size:1.125rem;margin-bottom:25px}@media only screen and (min-width:48rem){.l-post-content p{letter-spacing:.3px;line-height:1.6;font-size:1.25rem;margin-bottom:30px}}.l-post-content p img{margin-bottom:0!important}.l-post-content b,.l-post-content strong{font-weight:600}.l-post-content em{font-style:italic}.l-post-content a{color:var(--primary-foreground-color);text-decoration:underline;transition:color .2s linear}.l-post-content a:hover{color:var(--link-color)}.l-post-content ol,.l-post-content ul{letter-spacing:.2px;line-height:1.5;font-size:1.125rem;padding-left:20px;margin:0 0 20px}@media only screen and (min-width:48rem){.l-post-content ol,.l-post-content ul{letter-spacing:.3px;line-height:1.6;font-size:1.25rem;padding-left:40px;margin-bottom:30px}}.l-post-content li{margin-bottom:20px}.l-post-content .kg-image,.l-post-content img{display:block;max-width:100%;margin:0 auto 35px}@media only screen and (min-width:48rem){.l-post-content .kg-image,.l-post-content img{margin-bottom:40px}}.l-post-content iframe{max-width:100%}.l-post-content .fluid-width-video-wrapper{margin:0 auto 35px}@media only screen and (min-width:48rem){.l-post-content .fluid-width-video-wrapper{margin-bottom:40px}}.l-post-content.kg-image-card,.l-post-content figure{padding:20px 0 40px;margin:0 -20px}@media only screen and (min-width:48rem){.l-post-content.kg-image-card,.l-post-content figure{padding:20px 0 50px;margin:0}}.l-post-content.kg-image-card.kg-embed-card,.l-post-content figure.kg-embed-card{display:flex;flex-direction:column;align-items:center;min-width:100%;margin:0 auto}.l-post-content.kg-image-card.kg-embed-card iframe,.l-post-content figure.kg-embed-card iframe{margin:0 auto}.l-post-content.kg-image-card.kg-width-full img,.l-post-content.kg-image-card.kg-width-wide img,.l-post-content figure.kg-width-full img,.l-post-content figure.kg-width-wide img{width:100%;height:auto}@media only screen and (min-width:80rem){.l-post-content.kg-image-card.kg-width-wide,.l-post-content figure.kg-width-wide{margin:0 -70px}}@media only screen and (min-width:48rem){.l-post-content.kg-image-card.kg-width-full,.l-post-content figure.kg-width-full{width:100vw;margin-left:50%;transform:translateX(-50%)}}.l-post-content.kg-image-card .kg-image,.l-post-content.kg-image-card img,.l-post-content figure .kg-image,.l-post-content figure img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}.l-post-content.kg-image-card figcaption,.l-post-content figure figcaption{text-align:center;letter-spacing:.1px;line-height:1.3;font-size:.75rem;padding:10px 20px 0}@media only screen and (min-width:48rem){.l-post-content.kg-image-card figcaption,.l-post-content figure figcaption{font-size:.875rem;padding:15px 0 0}}.l-post-content.kg-image-card .fluid-width-video-container,.l-post-content figure .fluid-width-video-container{flex-grow:1;width:100%}.l-post-content.kg-image-card .fluid-width-video-wrapper,.l-post-content figure .fluid-width-video-wrapper{margin:0 auto!important}.l-post-content.kg-image-card .kg-gallery-container,.l-post-content figure .kg-gallery-container{display:flex;flex-direction:column;width:100%}.l-post-content.kg-image-card .kg-gallery-row,.l-post-content figure .kg-gallery-row{display:flex;flex-direction:row;justify-content:center}.l-post-content.kg-image-card .kg-gallery-image img,.l-post-content figure .kg-gallery-image img{display:block;margin:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.l-post-content.kg-image-card .kg-gallery-row:not(:first-of-type),.l-post-content figure .kg-gallery-row:not(:first-of-type){margin:.75em 0 0}.l-post-content.kg-image-card .kg-gallery-image:not(:first-of-type),.l-post-content figure .kg-gallery-image:not(:first-of-type){margin:0 0 0 .75em}.l-post-content hr{position:relative;margin:30px 0;border:0;border-top:1px solid var(--secondary-subtle-color)}@media only screen and (min-width:48rem){.l-post-content hr{margin:50px 0}}.l-post-content hr:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;background-color:var(--secondary-subtle-color);box-shadow:0 0 0 10px var(--background-color),0 0 0 transparent;transform:translate(-50%,-50%)}@media only screen and (min-width:48rem){.l-post-content hr:after{width:12px;height:12px;box-shadow:0 0 0 20px var(--background-color),0 0 0 transparent}}.l-post-content blockquote{position:relative;letter-spacing:.2px;line-height:1.5;font-size:1.125rem;font-style:italic;font-family:Georgia,Times New Roman,Times,serif;padding:0 40px;margin:0 0 25px}@media only screen and (min-width:48rem){.l-post-content blockquote{letter-spacing:.3px;line-height:1.6;font-size:1.25rem;padding:0 60px;margin-bottom:30px}}.l-post-content blockquote:before{content:'"';position:absolute;top:0;left:0;color:var(--primary-foreground-color);line-height:1;font-size:2.625rem}@media only screen and (min-width:48rem){.l-post-content blockquote:before{font-size:4rem}}.l-post-content blockquote p:last-child{margin-bottom:0}.l-post-content table{color:var(--titles-color);font-size:.875rem;width:calc(100% + 40px);margin:0 -20px 25px}@media only screen and (min-width:48rem){.l-post-content table{font-size:1rem;width:100%;margin:0 0 30px}}.l-post-content table thead{border-bottom:1px solid var(--table-head-border-bottom)}.l-post-content table thead td{font-weight:600}.l-post-content table tbody tr:nth-child(2n){background-color:var(--background-color)}.l-post-content table tbody tr:nth-child(odd){background-color:var(--table-background-color-odd)}.l-post-content table td{text-align:center;padding:10px}@media only screen and (min-width:48rem){.l-post-content table td{padding:20px}}.l-post-content code{display:inline-block;color:var(--link-color);font-size:.9rem;padding:0 5px}.l-post-content code,.l-post-content pre{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;border-radius:5px;background-color:var(--secondary-subtle-color)}.l-post-content pre{line-height:1.4;margin:0 0 25px;overflow-x:auto;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}@media only screen and (min-width:48rem){.l-post-content pre{margin-bottom:30px}}.l-post-content pre>code{display:block;padding:10px 10px 0;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}@media only screen and (min-width:48rem){.l-post-content pre>code{padding:20px 20px 0}}.l-post-content pre.line-numbers>code{padding:0}.l-post-content form{margin-bottom:25px}@media only screen and (min-width:48rem){.l-post-content form{margin-bottom:30px}}.l-post-content input,.l-post-content select,.l-post-content textarea{margin-bottom:20px}.l-post-content textarea{height:100px;resize:none}.l-post-content select{position:relative;padding-right:40px!important;background-repeat:no-repeat;background-position:calc(100% - 15px) 50%;background-size:15px 8px;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjUiPjxwYXRoIGZpbGw9IiM1NjVlNjAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMzIuNTdhLjI0Ny4yNDcgMCAwMTAgLjM2TDQuNjggNC41N2EuMjQ3LjI0NyAwIDAxLS4zNiAwTC42OC45M2EuMjQ3LjI0NyAwIDAxMC0uMzZsLjM5LS4zOWEuMjQ3LjI0NyAwIDAxLjM2IDBMNC41IDMuMjUgNy41Ny4xOGEuMjQ3LjI0NyAwIDAxLjM2IDBsLjM5LjM5eiIvPjwvc3ZnPg==")}.l-post-content button:not(.m-icon-button){border:1px solid var(--primary-foreground-color)!important}.l-post-content .kg-bookmark-card{width:100%;padding:0!important;margin:30px auto!important;background:var(--background-color)}@media only screen and (min-width:48rem){.l-post-content .kg-bookmark-card{margin:40px auto!important}}.l-post-content .kg-bookmark-card:hover .kg-bookmark-container{opacity:.8;color:var(--primary-foreground-color)}.l-post-content .kg-card+.kg-bookmark-card{margin-top:0}.l-post-content .kg-bookmark-container{display:flex;color:var(--primary-foreground-color);text-decoration:none!important;min-height:148px;box-shadow:0 1px 4px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.1);border-radius:3px;transition:opacity .2s linear}.l-post-content .kg-bookmark-content{display:flex;flex-direction:column;flex-grow:1;align-items:flex-start;justify-content:flex-start;padding:20px}.l-post-content .kg-bookmark-title{font-size:1.125rem;line-height:1.3;font-weight:600}.l-post-content .kg-bookmark-description{font-size:.875rem;font-weight:400;line-height:1.4;margin-top:12px;overflow-y:hidden}.l-post-content .kg-bookmark-thumbnail{position:relative;min-width:30%;max-height:100%;overflow:hidden}.l-post-content .kg-bookmark-thumbnail img{position:absolute;top:0;left:0;width:100%!important;height:100%!important;-o-object-fit:cover;object-fit:cover;border-radius:0 3px 3px 0}.l-post-content .kg-bookmark-metadata{display:flex;align-items:center;flex-wrap:wrap;font-size:.9rem;font-weight:400;color:var(--titles-color);margin-top:14px}.l-post-content .kg-bookmark-icon{width:22px!important;height:22px!important;margin-right:8px!important}.l-post-content .kg-bookmark-author:after{content:"\2022";margin:0 6px}.l-post-content .kg-bookmark-publisher{color:inherit}@media (max-width:500px){.l-post-content .kg-bookmark-container{flex-direction:column}.l-post-content .kg-bookmark-thumbnail{order:1;width:100%;min-height:160px}.l-post-content .kg-bookmark-thumbnail img{border-radius:3px 3px 0 0}.l-post-content .kg-bookmark-content{order:2}}.rtl .l-post-content ol,.rtl .l-post-content ul{padding-left:0;padding-right:20px}@media only screen and (min-width:48rem){.rtl .l-post-content ol,.rtl .l-post-content ul{padding-left:0;padding-right:40px}}.rtl .l-post-content code{direction:ltr}.rtl .l-post-content blockquote:before{left:auto;right:0}.rtl .l-post-content .kg-bookmark-icon{margin-right:0!important;margin-left:8px!important}@media only screen and (min-width:48rem){.rtl .l-post-content figure.kg-width-full{margin-left:0;margin-right:50%;transform:translateX(50%)}}.l-post-content button:not(.m-icon-button),.m-button{display:inline-block;color:#333;text-align:center;letter-spacing:.2px;line-height:1;font-size:1rem;font-weight:600;border-radius:5px;padding:13px 25px;cursor:pointer;outline:0;border:0;position:relative;background-color:transparent;transition:all .25s cubic-bezier(.02,.01,.47,1)}.l-post-content button.outlined:not(.m-icon-button),.m-button.outlined{color:var(--titles-color);border:1px solid var(--primary-foreground-color)}.l-post-content button.filled:not(.m-icon-button),.l-post-content button.primary:not(.m-icon-button),.m-button.filled,.m-button.primary{box-shadow:0 2px 4px var(--button-shadow-color-normal),0 0 0 transparent}.l-post-content button.filled:hover:not(.m-icon-button),.l-post-content button.primary:hover:not(.m-icon-button),.m-button.filled:hover,.m-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--button-shadow-color-hover),0 0 0 transparent}.l-post-content button.filled:not(.m-icon-button),.m-button.filled{border-radius:5px;background-color:#fff}.l-post-content button.block:not(.m-icon-button),.m-button.block{display:block;width:100%}.l-post-content button.primary:not(.m-icon-button),.m-button.primary{color:#fff;background-color:var(--primary-subtle-color)}.l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button),.l-post-content button.loading:not(.m-icon-button),.m-button.loading,.m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button),.m-subscribe-section__container.loading .m-button{cursor:default;overflow:hidden}.l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button):after,.l-post-content button.loading:not(.m-icon-button):after,.m-button.loading:after,.m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button):after,.m-subscribe-section__container.loading .m-button:after{content:"";position:absolute;left:0;bottom:0;width:25%;height:2px;background-color:#fff;-webkit-animation:loading 1s infinite;animation:loading 1s infinite}@-webkit-keyframes loading{0%{transform:translatex(0)}50%{transform:translatex(300%)}to{transform:translatex(0)}}@keyframes loading{0%{transform:translatex(0)}50%{transform:translatex(300%)}to{transform:translatex(0)}}.l-post-content input,.l-post-content select,.l-post-content textarea,.m-input{color:var(--primary-foreground-color);letter-spacing:.2px;line-height:1.3;font-size:1rem;width:100%;border-radius:5px;padding:11px 15px;border:1px solid var(--primary-border-color);outline:0;background-color:var(--background-color)}.l-post-content input:focus,.l-post-content select:focus,.l-post-content textarea:focus,.m-input:focus{border-color:var(--primary-subtle-color)}.l-post-content input.in-search,.l-post-content select.in-search,.l-post-content textarea.in-search,.m-input.in-search{font-weight:600;padding-left:40px}@media only screen and (min-width:48rem){.l-post-content input.in-search,.l-post-content select.in-search,.l-post-content textarea.in-search,.m-input.in-search{font-size:1.25rem;padding:15px 30px 15px 60px}}.l-post-content input.in-subscribe-section,.l-post-content select.in-subscribe-section,.l-post-content textarea.in-subscribe-section,.m-input.in-subscribe-section{margin-bottom:15px}.m-share{position:fixed;left:0;bottom:0;width:100%;height:45px;z-index:3;background-color:var(--transparent-background-color);box-shadow:0 -4px 10px rgba(0,0,0,.1),0 0 0 transparent}@media only screen and (min-width:48rem){.m-share{height:50px}}@media only screen and (min-width:64rem){.m-share{position:absolute;top:0;left:auto;right:-75px;width:40px;height:auto;background-color:transparent;box-shadow:0 0 0 transparent,0 0 0 transparent}}@media only screen and (min-width:80rem){.m-share{width:50px;right:-175px}}@media only screen and (min-width:90rem){.m-share{right:-200px}}.m-share a{color:inherit!important}.m-share a:first-of-type{margin-left:0}@media only screen and (min-width:64rem){.m-share a:first-of-type{margin-bottom:0}}.m-share button:last-of-type{margin-right:0}@media only screen and (min-width:64rem){.rtl .m-share{right:auto;left:-75px}}@media only screen and (min-width:80rem){.rtl .m-share{left:-175px}}@media only screen and (min-width:90rem){.rtl .m-share{left:-200px}}.m-share__content{display:flex;align-items:center;justify-content:center;height:100%}@media only screen and (min-width:64rem){.m-share__content{position:-webkit-sticky;position:sticky;top:100px;flex-direction:column-reverse;align-items:flex-start;height:auto}}.rtl .m-share__content{direction:ltr}.m-subscribe-section{padding:50px 0;background-color:var(--secondary-subtle-color)}@media only screen and (min-width:48rem){.m-subscribe-section{padding:80px 0}}@media only screen and (min-width:48rem){.m-subscribe-section__content{display:flex;align-items:center;justify-content:space-between}}.m-subscribe-section__text{text-align:center;margin-bottom:30px}@media only screen and (min-width:48rem){.m-subscribe-section__text{flex:1;text-align:left;padding-right:75px;margin-bottom:0}}@media only screen and (min-width:48rem){.rtl .m-subscribe-section__text{text-align:right;padding-right:0;padding-left:75px}}.m-subscribe-section__title{color:var(--titles-color);letter-spacing:.3px;line-height:1.3;font-size:1.25rem;font-weight:600;margin:0 0 20px}@media only screen and (min-width:48rem){.m-subscribe-section__title{letter-spacing:.3px;font-size:1.5rem;margin-bottom:15px}}.m-subscribe-section__description{letter-spacing:.2px;line-height:1.4}@media only screen and (min-width:48rem){.m-subscribe-section__description{font-size:1.125rem}}@media only screen and (min-width:48rem){.m-subscribe-section__form{width:300px;margin:0 auto}}.l-post-content .m-subscribe-section__container.loading button:not(.m-icon-button),.m-subscribe-section__container.loading .l-post-content button:not(.m-icon-button),.m-subscribe-section__container.loading .m-button{pointer-events:none}.m-subscribe-section__container.success .m-subscribe__success{display:block}.m-subscribe-section__container.success .m-subscribe__error,.m-subscribe-section__container.success .m-subscribe__form,.m-subscribe-section__container.success .m-subscribe__invalid{display:none}.m-subscribe-section__container.error .m-subscribe__error,.m-subscribe-section__container.invalid .m-subscribe__invalid{display:block}.m-subscribe-section__container.error .m-subscribe__form{margin-bottom:20px}.m-subscribe-section__container .m-subscribe__error,.m-subscribe-section__container .m-subscribe__invalid,.m-subscribe-section__container .m-subscribe__success{display:none}.m-subscribe__success_icon{display:block;width:64px;height:64px;margin:0 auto 25px}.m-subscribe__error{text-align:center}.m-author{padding:40px 20px;border-color:var(--secondary-subtle-color);border-style:solid;border-width:1px 0;margin:0 auto}@media only screen and (min-width:48rem){.m-author{display:flex;justify-content:center;padding:60px 40px}}@media only screen and (min-width:80rem){.m-author{padding:60px 0}}@media only screen and (min-width:48rem){.m-author__content{display:flex;max-width:820px}}.m-author__picture{width:90px;margin:0 auto 25px}@media only screen and (min-width:48rem){.m-author__picture{width:100px;margin:0 30px 0 0}}@media only screen and (min-width:48rem){.rtl .m-author__picture{margin:0 0 0 30px}}.m-author__info{text-align:center}@media only screen and (min-width:48rem){.m-author__info{display:flex;flex-direction:column;justify-content:center;flex:1;text-align:left}}@media only screen and (min-width:48rem){.rtl .m-author__info{text-align:right}}.m-author__name{color:var(--link-color);letter-spacing:.2px;line-height:1.3;font-size:1.125rem;font-weight:400;margin:0 0 15px}@media only screen and (min-width:48rem){.m-author__name{letter-spacing:.3px;font-size:1.25rem}}.m-author__bio{letter-spacing:.2px;line-height:1.5;margin-bottom:20px}@media only screen and (min-width:48rem){.m-author__bio{margin-bottom:15px}}.m-author-picture{display:block;width:90px;height:90px}@media only screen and (min-width:48rem){.m-author-picture{width:100px;height:100px}}.m-author-picture div{width:100%;height:100%;border-radius:50%;background-repeat:no-repeat;background-position:50%;background-size:cover}.m-author-links{padding:0;margin:0;list-style-type:none;text-align:center}@media only screen and (min-width:48rem){.m-author-links{text-align:left}}.m-author-links li{display:inline-block;margin:0 11px}.m-author-links li:first-of-type{margin-left:0}.m-author-links li:last-of-type{margin-right:0}.rtl .m-author-links{direction:ltr;text-align:right}.m-comments{padding-top:40px}@media only screen and (min-width:48rem){.m-comments{padding-top:60px}}.m-comments iframe{width:100%;max-width:100%}.m-recommended{padding-top:40px}@media only screen and (min-width:48rem){.m-recommended{padding-top:60px}}.m-recommended-articles{margin:0 -20px}@media only screen and (min-width:64rem){.m-recommended-articles{padding:0 40px;margin:0 -30px}}.m-recommended-slider{list-style-type:none;padding:0;margin:0}@media only screen and (min-width:48rem){.m-recommended-slider .glide__track{padding:0 40px;margin:0 -40px}}.m-recommended-slider .glide__slides{padding:40px 0 60px;margin:0 auto}@media only screen and (min-width:48rem){.m-recommended-slider .glide__slides{padding:40px 0 60px}}@media only screen and (min-width:80rem){.m-recommended-slider .glide__slides{overflow:visible}}.m-recommended-slider .m-article-card{width:100%!important;margin:0!important}@media only screen and (min-width:64rem){.m-recommended-slider .m-article-card .m-article-card__picture{height:190px}}@media only screen and (min-width:80rem){.m-recommended-slider .m-article-card .m-article-card__picture{height:220px}}.m-recommended-slider__item{padding:0 20px}
\ No newline at end of file
diff --git a/assets/css/tags.css b/assets/css/tags.css
index bf3149fb..f7b0ff92 100644
--- a/assets/css/tags.css
+++ b/assets/css/tags.css
@@ -1,102 +1 @@
-/** Mixins */
-/** Colors */
-/** Config */
-@media only screen and (min-width: 48rem) {
- .l-tags-container {
- display: flex;
- flex-wrap: wrap;
- justify-content: center;
- margin: 0 auto;
- max-width: 720px;
- }
-}
-@media only screen and (min-width: 64rem) {
- .l-tags-container {
- max-width: 1080px;
- }
-}
-
-.m-tag-card {
- height: 180px;
- margin: 0 0 20px;
- position: relative;
- border-radius: 10px;
- border: 1px solid var(--secondary-border-color);
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-.m-tag-card:hover {
- transform: translateY(-5px);
-}
-.m-tag-card:hover:before {
- box-shadow: var(--article-shadow-hover), 0 0 0 transparent;
-}
-@media only screen and (min-width: 48rem) {
- .m-tag-card {
- width: 320px;
- margin: 0 20px 40px;
- }
-}
-.m-tag-card:before {
- content: "";
- position: absolute;
- top: 10px;
- right: 10px;
- bottom: 0;
- left: 10px;
- border-radius: 10px;
- z-index: 1;
- box-shadow: var(--article-shadow-normal), 0 0 0 transparent;
- transition: all 0.25s cubic-bezier(0.02, 0.01, 0.47, 1);
-}
-
-.m-tag-card__link {
- display: block;
- width: 100%;
- height: 100%;
- border-radius: 10px;
- overflow: hidden;
- position: relative;
- background-color: #000;
- z-index: 2;
-}
-.m-tag-card__link.no-picture {
- background-color: var(--secondary-subtle-color);
-}
-
-.m-tag-card__picture {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border-radius: 10px;
- -o-object-fit: cover;
- object-fit: cover;
- opacity: 0.7;
- z-index: 1;
-}
-
-.m-tag-card__info {
- position: absolute;
- left: 15px;
- bottom: 15px;
- color: #fff;
- z-index: 2;
-}
-.m-tag-card__info.no-picture {
- color: var(--titles-color);
-}
-
-.m-tag-card__name {
- letter-spacing: 0.3px;
- line-height: 1.3;
- font-size: 1.25rem;
- font-weight: 600;
- margin: 0 0 5px;
-}
-
-.m-tag-card__counter {
- display: block;
- letter-spacing: 0.2px;
- font-size: 0.875rem;
-}
\ No newline at end of file
+@media only screen and (min-width:48rem){.l-tags-container{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;max-width:720px}}@media only screen and (min-width:64rem){.l-tags-container{max-width:1080px}}.m-tag-card{height:180px;margin:0 0 20px;position:relative;border-radius:10px;border:1px solid var(--secondary-border-color);transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-tag-card:hover{transform:translateY(-5px)}.m-tag-card:hover:before{box-shadow:var(--article-shadow-hover),0 0 0 transparent}@media only screen and (min-width:48rem){.m-tag-card{width:320px;margin:0 20px 40px}}.m-tag-card:before{content:"";position:absolute;top:10px;right:10px;bottom:0;left:10px;border-radius:10px;z-index:1;box-shadow:var(--article-shadow-normal),0 0 0 transparent;transition:all .25s cubic-bezier(.02,.01,.47,1)}.m-tag-card__link{display:block;width:100%;height:100%;border-radius:10px;overflow:hidden;position:relative;background-color:#000;z-index:2}.m-tag-card__link.no-picture{background-color:var(--secondary-subtle-color)}.m-tag-card__picture{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:10px;-o-object-fit:cover;object-fit:cover;opacity:.7;z-index:1}.m-tag-card__info{position:absolute;left:15px;bottom:15px;color:#fff;z-index:2}.m-tag-card__info.no-picture{color:var(--titles-color)}.m-tag-card__name{letter-spacing:.3px;line-height:1.3;font-size:1.25rem;font-weight:600;margin:0 0 5px}.m-tag-card__counter{display:block;letter-spacing:.2px;font-size:.875rem}
\ No newline at end of file
diff --git a/assets/js/app.js b/assets/js/app.js
index d3888e6f..b77f92a7 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -1,476 +1 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/app"],{
-
-/***/ "./js/app.js":
-/*!*******************!*\
- !*** ./js/app.js ***!
- \*******************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var headroom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! headroom.js */ "./node_modules/headroom.js/dist/headroom.js");
-/* harmony import */ var headroom_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(headroom_js__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @glidejs/glide/dist/glide.modular.esm */ "./node_modules/@glidejs/glide/dist/glide.modular.esm.js");
-/* harmony import */ var tippy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tippy.js */ "./node_modules/tippy.js/esm/index.all.js");
-/* harmony import */ var shave__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! shave */ "./node_modules/shave/dist/shave.es.js");
-/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! aos */ "./node_modules/aos/dist/aos.js");
-/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(aos__WEBPACK_IMPORTED_MODULE_5__);
-/* harmony import */ var fuse_js_dist_fuse_basic_esm_min_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! fuse.js/dist/fuse.basic.esm.min.js */ "./node_modules/fuse.js/dist/fuse.basic.esm.min.js");
-/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helpers */ "./js/helpers.js");
-
-
-
-
-
-
-
-
-jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {
- if (Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["isRTL"])()) {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir', 'rtl').addClass('rtl');
- }
-
- var $body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');
- var $header = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-header');
- var $openMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-open-menu');
- var $closeMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-close-menu');
- var $menu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-menu');
- var $toggleSubmenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-toggle-submenu');
- var $submenuOption = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-submenu-option')[0];
- var $submenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-submenu');
- var $recentSlider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-recent-slider');
- var $openSecondaryMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-open-secondary-menu');
- var $openSearch = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-open-search');
- var $closeSearch = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-close-search');
- var $search = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-search');
- var $inputSearch = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-input-search');
- var $searchResults = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-search-results');
- var $searchNoResults = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-no-results');
- var $toggleDarkMode = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-toggle-darkmode');
- var $closeNotification = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-notification-close');
- var $mainNav = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-main-nav');
- var $mainNavLeft = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-main-nav-left');
- var currentSavedTheme = localStorage.getItem('theme');
- var fuse = null;
- var submenuIsOpen = false;
- var secondaryMenuTippy = null;
-
- var showSubmenu = function showSubmenu() {
- $header.addClass('submenu-is-active');
- $toggleSubmenu.addClass('active');
- $submenu.removeClass('closed').addClass('opened');
- };
-
- var hideSubmenu = function hideSubmenu() {
- $header.removeClass('submenu-is-active');
- $toggleSubmenu.removeClass('active');
- $submenu.removeClass('opened').addClass('closed');
- };
-
- var toggleScrollVertical = function toggleScrollVertical() {
- $body.toggleClass('no-scroll-y');
- };
-
- var trySearchFeature = function trySearchFeature() {
- if (typeof ghostSearchApiKey !== 'undefined') {
- getAllPosts(ghostHost, ghostSearchApiKey);
- } else {
- $openSearch.css('visibility', 'hidden');
- $closeSearch.remove();
- $search.remove();
- }
- };
-
- var getAllPosts = function getAllPosts(host, key) {
- var api = new GhostContentAPI({
- url: host,
- key: key,
- version: 'v2'
- });
- var allPosts = [];
- var fuseOptions = {
- shouldSort: true,
- ignoreLocation: true,
- findAllMatches: true,
- includeScore: true,
- minMatchCharLength: 2,
- keys: ['title', 'custom_excerpt', 'tags.name']
- };
- api.posts.browse({
- limit: 'all',
- include: 'tags',
- fields: 'id, title, url, published_at, custom_excerpt'
- }).then(function (posts) {
- for (var i = 0, len = posts.length; i < len; i++) {
- allPosts.push(posts[i]);
- }
-
- fuse = new fuse_js_dist_fuse_basic_esm_min_js__WEBPACK_IMPORTED_MODULE_6__["default"](allPosts, fuseOptions);
- })["catch"](function (err) {
- console.log(err);
- });
- };
-
- var showNotification = function showNotification(typeNotification) {
- var $notification = jquery__WEBPACK_IMPORTED_MODULE_0___default()(".js-alert[data-notification=\"".concat(typeNotification, "\"]"));
- $notification.addClass('opened');
- setTimeout(function () {
- closeNotification($notification);
- }, 5000);
- };
-
- var closeNotification = function closeNotification($notification) {
- $notification.removeClass('opened');
- var url = window.location.toString();
-
- if (url.indexOf('?') > 0) {
- var cleanUrl = url.substring(0, url.indexOf('?'));
- window.history.replaceState({}, document.title, cleanUrl);
- }
- };
-
- var checkForActionParameter = function checkForActionParameter() {
- var action = Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["getParameterByName"])('action');
- var stripe = Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["getParameterByName"])('stripe');
-
- if (action === 'subscribe') {
- showNotification('subscribe');
- }
-
- if (action === 'signup') {
- window.location = "".concat(ghostHost, "/signup/?action=checkout");
- }
-
- if (action === 'checkout') {
- showNotification('signup');
- }
-
- if (action === 'signin') {
- showNotification('signin');
- }
-
- if (stripe === 'success') {
- showNotification('checkout');
- }
- };
-
- var toggleDesktopTopbarOverflow = function toggleDesktopTopbarOverflow(disableOverflow) {
- if (!Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["isMobile"])()) {
- if (disableOverflow) {
- $mainNav.addClass('toggle-overflow');
- $mainNavLeft.addClass('toggle-overflow');
- } else {
- $mainNav.removeClass('toggle-overflow');
- $mainNavLeft.removeClass('toggle-overflow');
- }
- }
- };
-
- $openMenu.click(function () {
- $header.addClass('mobile-menu-opened');
- $menu.addClass('opened');
- toggleScrollVertical();
- });
- $closeMenu.click(function () {
- $header.removeClass('mobile-menu-opened');
- $menu.removeClass('opened');
- toggleScrollVertical();
- });
- $toggleSubmenu.click(function () {
- submenuIsOpen = !submenuIsOpen;
-
- if (submenuIsOpen) {
- showSubmenu();
- } else {
- hideSubmenu();
- }
- });
- $openSearch.click(function () {
- $search.addClass('opened');
- setTimeout(function () {
- $inputSearch.focus();
- }, 400);
- toggleScrollVertical();
- });
- $closeSearch.click(function () {
- $inputSearch.blur();
- $search.removeClass('opened');
- toggleScrollVertical();
- });
- $inputSearch.keyup(function () {
- if ($inputSearch.val().length > 0 && fuse) {
- var results = fuse.search($inputSearch.val());
- var bestResults = results.filter(function (result) {
- if (result.score <= 0.5) {
- return result;
- }
- });
- var htmlString = '';
-
- if (bestResults.length > 0) {
- for (var i = 0, len = bestResults.length; i < len; i++) {
- htmlString += "\n ").concat(bestResults[i].item.title, "
").concat(Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["formatDate"])(bestResults[i].item.published_at), " ");
- }
-
- $searchNoResults.hide();
- $searchResults.html(htmlString);
- $searchResults.show();
- } else {
- $searchResults.html('');
- $searchResults.hide();
- $searchNoResults.show();
- }
- } else {
- $searchResults.html('');
- $searchResults.hide();
- $searchNoResults.hide();
- }
- });
- $toggleDarkMode.change(function () {
- if ($toggleDarkMode.is(':checked')) {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('data-theme', 'dark');
- localStorage.setItem('theme', 'dark');
- } else {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('data-theme', 'light');
- localStorage.setItem('theme', 'light');
- }
- });
- $toggleDarkMode.hover(function () {
- toggleDesktopTopbarOverflow(true);
- }, function () {
- toggleDesktopTopbarOverflow(false);
- });
- $closeNotification.click(function () {
- closeNotification(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).parent());
- });
- jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).click(function (e) {
- if (submenuIsOpen) {
- if ($submenuOption && !$submenuOption.contains(e.target)) {
- submenuIsOpen = false;
- hideSubmenu();
- }
- }
- });
- jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).keyup(function (e) {
- if (e.key === 'Escape' && $search.hasClass('opened')) {
- $closeSearch.click();
- }
- });
-
- if (currentSavedTheme) {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('data-theme', currentSavedTheme);
-
- if (currentSavedTheme === 'dark') {
- $toggleDarkMode.attr('checked', true);
- }
- } else {
- if (Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["isDarkMode"])()) {
- $toggleDarkMode.attr('checked', true);
- }
- }
-
- if ($header.length > 0) {
- var headroom = new headroom_js__WEBPACK_IMPORTED_MODULE_1___default.a($header[0], {
- tolerance: {
- down: 10,
- up: 20
- },
- offset: 15,
- onUnpin: function onUnpin() {
- if (!Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["isMobile"])() && secondaryMenuTippy) {
- var desktopSecondaryMenuTippy = secondaryMenuTippy[0];
-
- if (desktopSecondaryMenuTippy && desktopSecondaryMenuTippy.state.isVisible) {
- desktopSecondaryMenuTippy.hide();
- }
- }
- }
- });
- headroom.init();
- }
-
- if ($recentSlider.length > 0) {
- var recentSlider = new _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["default"]('.js-recent-slider', {
- type: 'slider',
- rewind: false,
- perView: 4,
- swipeThreshold: false,
- dragThreshold: false,
- gap: 0,
- direction: Object(_helpers__WEBPACK_IMPORTED_MODULE_7__["isRTL"])() ? 'rtl' : 'ltr',
- breakpoints: {
- 1024: {
- perView: 3,
- swipeThreshold: 80,
- dragThreshold: 120
- },
- 768: {
- perView: 2,
- swipeThreshold: 80,
- dragThreshold: 120,
- peek: {
- before: 0,
- after: 115
- }
- },
- 568: {
- perView: 1,
- swipeThreshold: 80,
- dragThreshold: 120,
- peek: {
- before: 0,
- after: 115
- }
- }
- }
- });
- recentSlider.on('mount.after', function () {
- Object(shave__WEBPACK_IMPORTED_MODULE_4__["default"])('.js-recent-article-title', 50);
- });
- recentSlider.mount({
- Swipe: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["Swipe"],
- Breakpoints: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["Breakpoints"]
- });
- }
-
- if (typeof disableFadeAnimation === 'undefined' || !disableFadeAnimation) {
- aos__WEBPACK_IMPORTED_MODULE_5___default.a.init({
- once: true,
- startEvent: 'DOMContentLoaded'
- });
- } else {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-aos]').addClass('no-aos-animation');
- }
-
- if ($openSecondaryMenu.length > 0) {
- var template = document.getElementById('secondary-navigation-template');
- secondaryMenuTippy = Object(tippy_js__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-open-secondary-menu', {
- content: template.innerHTML,
- allowHTML: true,
- arrow: true,
- trigger: 'click',
- interactive: true,
- onShow: function onShow() {
- toggleDesktopTopbarOverflow(true);
- },
- onHidden: function onHidden() {
- toggleDesktopTopbarOverflow(false);
- }
- });
- }
-
- Object(tippy_js__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-tooltip');
- Object(shave__WEBPACK_IMPORTED_MODULE_4__["default"])('.js-article-card-title', 100);
- Object(shave__WEBPACK_IMPORTED_MODULE_4__["default"])('.js-article-card-title-no-image', 250);
- checkForActionParameter();
- trySearchFeature();
-});
-
-/***/ }),
-
-/***/ "./js/helpers.js":
-/*!***********************!*\
- !*** ./js/helpers.js ***!
- \***********************/
-/*! exports provided: isRTL, isMobile, isDarkMode, formatDate, getParameterByName, adjustImageGallery, managePostImages, makeImagesZoomable */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRTL", function() { return isRTL; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDarkMode", function() { return isDarkMode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDate", function() { return formatDate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getParameterByName", function() { return getParameterByName; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adjustImageGallery", function() { return adjustImageGallery; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "managePostImages", function() { return managePostImages; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeImagesZoomable", function() { return makeImagesZoomable; });
-var isRTL = function isRTL() {
- var $html = document.querySelector('html');
- return ['ar', 'he', 'fa'].includes($html.getAttribute('lang'));
-};
-var isMobile = function isMobile() {
- var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '768px';
- return window.matchMedia("(max-width: ".concat(width, ")")).matches;
-};
-var isDarkMode = function isDarkMode() {
- var darkModeMatcher = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');
- return darkModeMatcher && darkModeMatcher.matches;
-};
-var formatDate = function formatDate(date) {
- if (date) {
- return new Date(date).toLocaleDateString(document.documentElement.lang, {
- year: 'numeric',
- month: 'long',
- day: 'numeric'
- });
- }
-
- return '';
-};
-var getParameterByName = function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, '\\$&');
- var regex = new RegExp("[?&]".concat(name, "(=([^]*)|&|#|$)"));
- var results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
-};
-var adjustImageGallery = function adjustImageGallery() {
- var images = document.querySelectorAll('.kg-gallery-image img');
-
- for (var i = 0, len = images.length; i < len; i++) {
- var container = images[i].closest('.kg-gallery-image');
- var width = images[i].attributes.width.value;
- var height = images[i].attributes.height.value;
- var ratio = width / height;
- container.style.flex = "".concat(ratio, " 1 0%");
- }
-};
-var managePostImages = function managePostImages($) {
- $('.js-post-content').find('img').each(function () {
- if (!$(this).closest('figure').hasClass('kg-bookmark-card') && !$(this).parent().is('a')) {
- $(this).addClass('js-zoomable');
- }
-
- var $figcaption = $(this).parent().find('figcaption');
-
- if ($figcaption) {
- $(this).attr('alt', $figcaption.text());
- } else {
- $(this).attr('alt', '');
- }
- });
-};
-var makeImagesZoomable = function makeImagesZoomable($, mediumZoom) {
- var zoom = mediumZoom('.js-zoomable');
- zoom.on('opened', function () {
- setTimeout(function () {
- var $mediumZoomImages = $('.medium-zoom-image--opened');
-
- if ($mediumZoomImages.length > 1) {
- $mediumZoomImages.last().hide();
- }
- }, 10);
- });
-};
-
-/***/ }),
-
-/***/ 1:
-/*!*************************!*\
- !*** multi ./js/app.js ***!
- \*************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(/*! /Users/eddie/Code/own/liebling/src/js/app.js */"./js/app.js");
-
-
-/***/ })
-
-},[[1,"/js/manifest","/js/vendor"]]]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return o})),n.d(t,"isMobile",(function(){return a})),n.d(t,"isDarkMode",(function(){return i})),n.d(t,"formatDate",(function(){return s})),n.d(t,"getParameterByName",(function(){return r})),n.d(t,"adjustImageGallery",(function(){return c})),n.d(t,"managePostImages",(function(){return l})),n.d(t,"makeImagesZoomable",(function(){return d}));var o=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},i=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},s=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},r=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},c=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t1&&t.last().hide()}),10)}))}},13:function(e,t,n){e.exports=n(14)},14:function(e,t,n){"use strict";n.r(t);var o=n(0),a=n.n(o),i=n(8),s=n.n(i),r=n(2),c=n(6),l=n(3),d=n(10),u=n.n(d),m=n(11),h=n(1);a()(document).ready((function(){Object(h.isRTL)()&&a()("html").attr("dir","rtl").addClass("rtl");var e,t,n=a()("body"),o=a()(".js-header"),i=a()(".js-open-menu"),d=a()(".js-close-menu"),f=a()(".js-menu"),g=a()(".js-toggle-submenu"),p=a()(".js-submenu-option")[0],v=a()(".js-submenu"),w=a()(".js-recent-slider"),b=a()(".js-open-secondary-menu"),j=a()(".js-open-search"),k=a()(".js-close-search"),y=a()(".js-search"),C=a()(".js-input-search"),O=a()(".js-search-results"),T=a()(".js-no-results"),S=a()(".js-toggle-darkmode"),M=a()(".js-notification-close"),x=a()(".js-main-nav"),_=a()(".js-main-nav-left"),I=localStorage.getItem("theme"),L=null,A=!1,D=null,B=function(){o.removeClass("submenu-is-active"),g.removeClass("active"),v.removeClass("opened").addClass("closed")},E=function(){n.toggleClass("no-scroll-y")},H=function(e,t){var n=new GhostContentAPI({url:e,key:t,version:"v2"}),o=[],a={shouldSort:!0,ignoreLocation:!0,findAllMatches:!0,includeScore:!0,minMatchCharLength:2,keys:["title","custom_excerpt","tags.name"]};n.posts.browse({limit:"all",include:"tags",fields:"id, title, url, published_at, custom_excerpt"}).then((function(e){for(var t=0,n=e.length;t0){var n=t.substring(0,t.indexOf("?"));window.history.replaceState({},document.title,n)}},V=function(e){Object(h.isMobile)()||(e?(x.addClass("toggle-overflow"),_.addClass("toggle-overflow")):(x.removeClass("toggle-overflow"),_.removeClass("toggle-overflow")))};(i.click((function(){o.addClass("mobile-menu-opened"),f.addClass("opened"),E()})),d.click((function(){o.removeClass("mobile-menu-opened"),f.removeClass("opened"),E()})),g.click((function(){(A=!A)?(o.addClass("submenu-is-active"),g.addClass("active"),v.removeClass("closed").addClass("opened")):B()})),j.click((function(){y.addClass("opened"),setTimeout((function(){C.focus()}),400),E()})),k.click((function(){C.blur(),y.removeClass("opened"),E()})),C.keyup((function(){if(C.val().length>0&&L){var e=L.search(C.val()).filter((function(e){if(e.score<=.5)return e})),t="";if(e.length>0){for(var n=0,o=e.length;n ').concat(e[n].item.title,'
').concat(Object(h.formatDate)(e[n].item.published_at)," ");T.hide(),O.html(t),O.show()}else O.html(""),O.hide(),T.show()}else O.html(""),O.hide(),T.hide()})),S.change((function(){S.is(":checked")?(a()("html").attr("data-theme","dark"),localStorage.setItem("theme","dark")):(a()("html").attr("data-theme","light"),localStorage.setItem("theme","light"))})),S.hover((function(){V(!0)}),(function(){V(!1)})),M.click((function(){R(a()(this).parent())})),a()(window).click((function(e){A&&p&&!p.contains(e.target)&&(A=!1,B())})),a()(document).keyup((function(e){"Escape"===e.key&&y.hasClass("opened")&&k.click()})),I?(a()("html").attr("data-theme",I),"dark"===I&&S.attr("checked",!0)):Object(h.isDarkMode)()&&S.attr("checked",!0),o.length>0)&&new s.a(o[0],{tolerance:{down:10,up:20},offset:15,onUnpin:function(){if(!Object(h.isMobile)()&&D){var e=D[0];e&&e.state.isVisible&&e.hide()}}}).init();if(w.length>0){var z=new r.d(".js-recent-slider",{type:"slider",rewind:!1,perView:4,swipeThreshold:!1,dragThreshold:!1,gap:0,direction:Object(h.isRTL)()?"rtl":"ltr",breakpoints:{1024:{perView:3,swipeThreshold:80,dragThreshold:120},768:{perView:2,swipeThreshold:80,dragThreshold:120,peek:{before:0,after:115}},568:{perView:1,swipeThreshold:80,dragThreshold:120,peek:{before:0,after:115}}}});z.on("mount.after",(function(){Object(l.a)(".js-recent-article-title",50)})),z.mount({Swipe:r.c,Breakpoints:r.a})}if("undefined"!=typeof disableFadeAnimation&&disableFadeAnimation?a()("[data-aos]").addClass("no-aos-animation"):u.a.init({once:!0,startEvent:"DOMContentLoaded"}),b.length>0){var N=document.getElementById("secondary-navigation-template");D=Object(c.a)(".js-open-secondary-menu",{content:N.innerHTML,allowHTML:!0,arrow:!0,trigger:"click",interactive:!0,onShow:function(){V(!0)},onHidden:function(){V(!1)}})}Object(c.a)(".js-tooltip"),Object(l.a)(".js-article-card-title",100),Object(l.a)(".js-article-card-title-no-image",250),e=Object(h.getParameterByName)("action"),t=Object(h.getParameterByName)("stripe"),"subscribe"===e&&P("subscribe"),"signup"===e&&(window.location="".concat(ghostHost,"/signup/?action=checkout")),"checkout"===e&&P("signup"),"signin"===e&&P("signin"),"success"===t&&P("checkout"),"undefined"!=typeof ghostSearchApiKey?H(ghostHost,ghostSearchApiKey):(j.css("visibility","hidden"),k.remove(),y.remove())}))}},[[13,0,1]]]);
\ No newline at end of file
diff --git a/assets/js/helpers.js b/assets/js/helpers.js
index 620d1c64..e7c2d817 100644
--- a/assets/js/helpers.js
+++ b/assets/js/helpers.js
@@ -1,189 +1 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/helpers"],{
-
-/***/ "./js/helpers.js":
-/*!***********************!*\
- !*** ./js/helpers.js ***!
- \***********************/
-/*! exports provided: isRTL, isMobile, isDarkMode, formatDate, getParameterByName, adjustImageGallery, managePostImages, makeImagesZoomable */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRTL", function() { return isRTL; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDarkMode", function() { return isDarkMode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDate", function() { return formatDate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getParameterByName", function() { return getParameterByName; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adjustImageGallery", function() { return adjustImageGallery; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "managePostImages", function() { return managePostImages; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeImagesZoomable", function() { return makeImagesZoomable; });
-var isRTL = function isRTL() {
- var $html = document.querySelector('html');
- return ['ar', 'he', 'fa'].includes($html.getAttribute('lang'));
-};
-var isMobile = function isMobile() {
- var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '768px';
- return window.matchMedia("(max-width: ".concat(width, ")")).matches;
-};
-var isDarkMode = function isDarkMode() {
- var darkModeMatcher = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');
- return darkModeMatcher && darkModeMatcher.matches;
-};
-var formatDate = function formatDate(date) {
- if (date) {
- return new Date(date).toLocaleDateString(document.documentElement.lang, {
- year: 'numeric',
- month: 'long',
- day: 'numeric'
- });
- }
-
- return '';
-};
-var getParameterByName = function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, '\\$&');
- var regex = new RegExp("[?&]".concat(name, "(=([^]*)|&|#|$)"));
- var results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
-};
-var adjustImageGallery = function adjustImageGallery() {
- var images = document.querySelectorAll('.kg-gallery-image img');
-
- for (var i = 0, len = images.length; i < len; i++) {
- var container = images[i].closest('.kg-gallery-image');
- var width = images[i].attributes.width.value;
- var height = images[i].attributes.height.value;
- var ratio = width / height;
- container.style.flex = "".concat(ratio, " 1 0%");
- }
-};
-var managePostImages = function managePostImages($) {
- $('.js-post-content').find('img').each(function () {
- if (!$(this).closest('figure').hasClass('kg-bookmark-card') && !$(this).parent().is('a')) {
- $(this).addClass('js-zoomable');
- }
-
- var $figcaption = $(this).parent().find('figcaption');
-
- if ($figcaption) {
- $(this).attr('alt', $figcaption.text());
- } else {
- $(this).attr('alt', '');
- }
- });
-};
-var makeImagesZoomable = function makeImagesZoomable($, mediumZoom) {
- var zoom = mediumZoom('.js-zoomable');
- zoom.on('opened', function () {
- setTimeout(function () {
- var $mediumZoomImages = $('.medium-zoom-image--opened');
-
- if ($mediumZoomImages.length > 1) {
- $mediumZoomImages.last().hide();
- }
- }, 10);
- });
-};
-
-/***/ }),
-
-/***/ "./sass/404.scss":
-/*!***********************!*\
- !*** ./sass/404.scss ***!
- \***********************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/app.scss":
-/*!***********************!*\
- !*** ./sass/app.scss ***!
- \***********************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/home.scss":
-/*!************************!*\
- !*** ./sass/home.scss ***!
- \************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/listing.scss":
-/*!***************************!*\
- !*** ./sass/listing.scss ***!
- \***************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/newsletter.scss":
-/*!******************************!*\
- !*** ./sass/newsletter.scss ***!
- \******************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/post.scss":
-/*!************************!*\
- !*** ./sass/post.scss ***!
- \************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ "./sass/tags.scss":
-/*!************************!*\
- !*** ./sass/tags.scss ***!
- \************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-
-/***/ 0:
-/*!***********************************************************************************************************************************************************!*\
- !*** multi ./js/helpers.js ./sass/app.scss ./sass/home.scss ./sass/listing.scss ./sass/post.scss ./sass/newsletter.scss ./sass/tags.scss ./sass/404.scss ***!
- \***********************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/js/helpers.js */"./js/helpers.js");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/app.scss */"./sass/app.scss");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/home.scss */"./sass/home.scss");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/listing.scss */"./sass/listing.scss");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/post.scss */"./sass/post.scss");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/newsletter.scss */"./sass/newsletter.scss");
-__webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/tags.scss */"./sass/tags.scss");
-module.exports = __webpack_require__(/*! /Users/eddie/Code/own/liebling/src/sass/404.scss */"./sass/404.scss");
-
-
-/***/ })
-
-},[[0,"/js/manifest"]]]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{1:function(t,n,e){"use strict";e.r(n),e.d(n,"isRTL",(function(){return o})),e.d(n,"isMobile",(function(){return a})),e.d(n,"isDarkMode",(function(){return i})),e.d(n,"formatDate",(function(){return r})),e.d(n,"getParameterByName",(function(){return c})),e.d(n,"adjustImageGallery",(function(){return u})),e.d(n,"managePostImages",(function(){return s})),e.d(n,"makeImagesZoomable",(function(){return l}));var o=function(){var t=document.querySelector("html");return["ar","he","fa"].includes(t.getAttribute("lang"))},a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(t,")")).matches},i=function(){var t=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return t&&t.matches},r=function(t){return t?new Date(t).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},c=function(t,n){n||(n=window.location.href),t=t.replace(/[\[\]]/g,"\\$&");var e=new RegExp("[?&]".concat(t,"(=([^]*)|&|#|$)")).exec(n);return e?e[2]?decodeURIComponent(e[2].replace(/\+/g," ")):"":null},u=function(){for(var t=document.querySelectorAll(".kg-gallery-image img"),n=0,e=t.length;n1&&n.last().hide()}),10)}))}},12:function(t,n,e){e(1),e(22),e(27),e(29),e(31),e(33),e(35),t.exports=e(37)},22:function(t,n){},27:function(t,n){},29:function(t,n){},31:function(t,n){},33:function(t,n){},35:function(t,n){},37:function(t,n){}},[[12,0,1]]]);
\ No newline at end of file
diff --git a/assets/js/home.js b/assets/js/home.js
index dceafa60..5eb3cef2 100644
--- a/assets/js/home.js
+++ b/assets/js/home.js
@@ -1,232 +1 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/home"],{
-
-/***/ "./js/helpers.js":
-/*!***********************!*\
- !*** ./js/helpers.js ***!
- \***********************/
-/*! exports provided: isRTL, isMobile, isDarkMode, formatDate, getParameterByName, adjustImageGallery, managePostImages, makeImagesZoomable */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRTL", function() { return isRTL; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDarkMode", function() { return isDarkMode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDate", function() { return formatDate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getParameterByName", function() { return getParameterByName; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adjustImageGallery", function() { return adjustImageGallery; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "managePostImages", function() { return managePostImages; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeImagesZoomable", function() { return makeImagesZoomable; });
-var isRTL = function isRTL() {
- var $html = document.querySelector('html');
- return ['ar', 'he', 'fa'].includes($html.getAttribute('lang'));
-};
-var isMobile = function isMobile() {
- var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '768px';
- return window.matchMedia("(max-width: ".concat(width, ")")).matches;
-};
-var isDarkMode = function isDarkMode() {
- var darkModeMatcher = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');
- return darkModeMatcher && darkModeMatcher.matches;
-};
-var formatDate = function formatDate(date) {
- if (date) {
- return new Date(date).toLocaleDateString(document.documentElement.lang, {
- year: 'numeric',
- month: 'long',
- day: 'numeric'
- });
- }
-
- return '';
-};
-var getParameterByName = function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, '\\$&');
- var regex = new RegExp("[?&]".concat(name, "(=([^]*)|&|#|$)"));
- var results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
-};
-var adjustImageGallery = function adjustImageGallery() {
- var images = document.querySelectorAll('.kg-gallery-image img');
-
- for (var i = 0, len = images.length; i < len; i++) {
- var container = images[i].closest('.kg-gallery-image');
- var width = images[i].attributes.width.value;
- var height = images[i].attributes.height.value;
- var ratio = width / height;
- container.style.flex = "".concat(ratio, " 1 0%");
- }
-};
-var managePostImages = function managePostImages($) {
- $('.js-post-content').find('img').each(function () {
- if (!$(this).closest('figure').hasClass('kg-bookmark-card') && !$(this).parent().is('a')) {
- $(this).addClass('js-zoomable');
- }
-
- var $figcaption = $(this).parent().find('figcaption');
-
- if ($figcaption) {
- $(this).attr('alt', $figcaption.text());
- } else {
- $(this).attr('alt', '');
- }
- });
-};
-var makeImagesZoomable = function makeImagesZoomable($, mediumZoom) {
- var zoom = mediumZoom('.js-zoomable');
- zoom.on('opened', function () {
- setTimeout(function () {
- var $mediumZoomImages = $('.medium-zoom-image--opened');
-
- if ($mediumZoomImages.length > 1) {
- $mediumZoomImages.last().hide();
- }
- }, 10);
- });
-};
-
-/***/ }),
-
-/***/ "./js/home.js":
-/*!********************!*\
- !*** ./js/home.js ***!
- \********************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var shave__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! shave */ "./node_modules/shave/dist/shave.es.js");
-/* harmony import */ var _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @glidejs/glide/dist/glide.modular.esm */ "./node_modules/@glidejs/glide/dist/glide.modular.esm.js");
-/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./js/helpers.js");
-
-
-
-
-jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {
- var $featuredSlider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-featured-slider');
-
- if ($featuredSlider.length > 0) {
- var numSlides = $featuredSlider.find('.js-featured-slide').length;
- var featuredSlider = new _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["default"]('.js-featured-slider', {
- type: 'slider',
- rewind: false,
- gap: 0,
- swipeThreshold: false,
- dragThreshold: false,
- direction: Object(_helpers__WEBPACK_IMPORTED_MODULE_3__["isRTL"])() ? 'rtl' : 'ltr',
- breakpoints: {
- 768: {
- swipeThreshold: numSlides === 1 ? false : 80,
- dragThreshold: numSlides === 1 ? false : 120
- }
- }
- });
-
- var ArrowDisabler = function ArrowDisabler(Glide, Components) {
- var controlClasses = {
- 'controls': 'js-featured-slider-controls',
- 'backArrow': 'js-featured-slider-previous',
- 'nextArrow': 'js-featured-slider-next'
- };
- return {
- mount: function mount() {
- if (Glide.settings.rewind || numSlides === 1) {
- return;
- }
-
- Glide.on(['mount.after', 'run'], function () {
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = Components.Controls.items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var controlItem = _step.value;
-
- if (!controlItem.className.includes(controlClasses.controls)) {
- continue;
- }
-
- var left = controlItem.querySelector(".".concat(controlClasses.backArrow));
-
- if (left) {
- if (Glide.index === 0) {
- left.setAttribute('disabled', '');
- } else {
- left.removeAttribute('disabled');
- }
- }
-
- var right = controlItem.querySelector(".".concat(controlClasses.nextArrow));
-
- if (right) {
- var lastSlideIndex = Glide.settings.bound ? Glide.index + (Glide.settings.perView - 1) : Glide.index;
-
- if (lastSlideIndex === Components.Sizes.length - 1) {
- right.setAttribute('disabled', '');
- } else {
- right.removeAttribute('disabled');
- }
- }
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
- });
- }
- };
- };
-
- if (numSlides === 1) {
- $featuredSlider.find('.js-featured-slider-controls').remove();
- }
-
- featuredSlider.on('mount.after', function () {
- Object(shave__WEBPACK_IMPORTED_MODULE_1__["default"])('.js-featured-article-title', 200);
- });
- featuredSlider.mount({
- Controls: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["Controls"],
- Swipe: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["Swipe"],
- Breakpoints: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_2__["Breakpoints"],
- ArrowDisabler: ArrowDisabler
- });
- setTimeout(function () {
- window.dispatchEvent(new Event('resize'));
- }, 350);
- }
-
- Object(shave__WEBPACK_IMPORTED_MODULE_1__["default"])('.js-featured-article-title', 200);
-});
-
-/***/ }),
-
-/***/ 2:
-/*!**************************!*\
- !*** multi ./js/home.js ***!
- \**************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(/*! /Users/eddie/Code/own/liebling/src/js/home.js */"./js/home.js");
-
-
-/***/ })
-
-},[[2,"/js/manifest","/js/vendor"]]]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return r})),n.d(t,"isMobile",(function(){return i})),n.d(t,"isDarkMode",(function(){return a})),n.d(t,"formatDate",(function(){return o})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return u})),n.d(t,"managePostImages",(function(){return d})),n.d(t,"makeImagesZoomable",(function(){return c}));var r=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},a=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},o=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},u=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t1&&t.last().hide()}),10)}))}},16:function(e,t,n){e.exports=n(17)},17:function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(3),o=n(2),s=n(1);i()(document).ready((function(){var e=i()(".js-featured-slider");if(e.length>0){var t=e.find(".js-featured-slide").length,n=new o.d(".js-featured-slider",{type:"slider",rewind:!1,gap:0,swipeThreshold:!1,dragThreshold:!1,direction:Object(s.isRTL)()?"rtl":"ltr",breakpoints:{768:{swipeThreshold:1!==t&&80,dragThreshold:1!==t&&120}}});1===t&&e.find(".js-featured-slider-controls").remove(),n.on("mount.after",(function(){Object(a.a)(".js-featured-article-title",200)})),n.mount({Controls:o.b,Swipe:o.c,Breakpoints:o.a,ArrowDisabler:function(e,n){var r="js-featured-slider-controls",i="js-featured-slider-previous",a="js-featured-slider-next";return{mount:function(){e.settings.rewind||1===t||e.on(["mount.after","run"],(function(){var t=!0,o=!1,s=void 0;try{for(var u,d=n.Controls.items[Symbol.iterator]();!(t=(u=d.next()).done);t=!0){var c=u.value;if(c.className.includes(r)){var l=c.querySelector(".".concat(i));l&&(0===e.index?l.setAttribute("disabled",""):l.removeAttribute("disabled"));var f=c.querySelector(".".concat(a));if(f)(e.settings.bound?e.index+(e.settings.perView-1):e.index)===n.Sizes.length-1?f.setAttribute("disabled",""):f.removeAttribute("disabled")}}}catch(e){o=!0,s=e}finally{try{t||null==d.return||d.return()}finally{if(o)throw s}}}))}}}}),setTimeout((function(){window.dispatchEvent(new Event("resize"))}),350)}Object(a.a)(".js-featured-article-title",200)}))}},[[16,0,1]]]);
\ No newline at end of file
diff --git a/assets/js/manifest.js b/assets/js/manifest.js
index 261629ac..5aca81a8 100644
--- a/assets/js/manifest.js
+++ b/assets/js/manifest.js
@@ -1,154 +1 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // install a JSONP callback for chunk loading
-/******/ function webpackJsonpCallback(data) {
-/******/ var chunkIds = data[0];
-/******/ var moreModules = data[1];
-/******/ var executeModules = data[2];
-/******/
-/******/ // add "moreModules" to the modules object,
-/******/ // then flag all "chunkIds" as loaded and fire callback
-/******/ var moduleId, chunkId, i = 0, resolves = [];
-/******/ for(;i < chunkIds.length; i++) {
-/******/ chunkId = chunkIds[i];
-/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
-/******/ resolves.push(installedChunks[chunkId][0]);
-/******/ }
-/******/ installedChunks[chunkId] = 0;
-/******/ }
-/******/ for(moduleId in moreModules) {
-/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
-/******/ modules[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if(parentJsonpFunction) parentJsonpFunction(data);
-/******/
-/******/ while(resolves.length) {
-/******/ resolves.shift()();
-/******/ }
-/******/
-/******/ // add entry modules from loaded chunk to deferred list
-/******/ deferredModules.push.apply(deferredModules, executeModules || []);
-/******/
-/******/ // run deferred modules when all chunks ready
-/******/ return checkDeferredModules();
-/******/ };
-/******/ function checkDeferredModules() {
-/******/ var result;
-/******/ for(var i = 0; i < deferredModules.length; i++) {
-/******/ var deferredModule = deferredModules[i];
-/******/ var fulfilled = true;
-/******/ for(var j = 1; j < deferredModule.length; j++) {
-/******/ var depId = deferredModule[j];
-/******/ if(installedChunks[depId] !== 0) fulfilled = false;
-/******/ }
-/******/ if(fulfilled) {
-/******/ deferredModules.splice(i--, 1);
-/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
-/******/ }
-/******/ }
-/******/
-/******/ return result;
-/******/ }
-/******/
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // object to store loaded and loading chunks
-/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
-/******/ // Promise = chunk loading, 0 = chunk loaded
-/******/ var installedChunks = {
-/******/ "/js/manifest": 0
-/******/ };
-/******/
-/******/ var deferredModules = [];
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "/";
-/******/
-/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
-/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
-/******/ jsonpArray.push = webpackJsonpCallback;
-/******/ jsonpArray = jsonpArray.slice();
-/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
-/******/ var parentJsonpFunction = oldJsonpFunction;
-/******/
-/******/
-/******/ // run deferred modules from other chunks
-/******/ checkDeferredModules();
-/******/ })
-/************************************************************************/
-/******/ ([]);
\ No newline at end of file
+!function(e){function r(r){for(var n,l,f=r[0],i=r[1],a=r[2],c=0,s=[];c 0 && arguments[0] !== undefined ? arguments[0] : '768px';
- return window.matchMedia("(max-width: ".concat(width, ")")).matches;
-};
-var isDarkMode = function isDarkMode() {
- var darkModeMatcher = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');
- return darkModeMatcher && darkModeMatcher.matches;
-};
-var formatDate = function formatDate(date) {
- if (date) {
- return new Date(date).toLocaleDateString(document.documentElement.lang, {
- year: 'numeric',
- month: 'long',
- day: 'numeric'
- });
- }
-
- return '';
-};
-var getParameterByName = function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, '\\$&');
- var regex = new RegExp("[?&]".concat(name, "(=([^]*)|&|#|$)"));
- var results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
-};
-var adjustImageGallery = function adjustImageGallery() {
- var images = document.querySelectorAll('.kg-gallery-image img');
-
- for (var i = 0, len = images.length; i < len; i++) {
- var container = images[i].closest('.kg-gallery-image');
- var width = images[i].attributes.width.value;
- var height = images[i].attributes.height.value;
- var ratio = width / height;
- container.style.flex = "".concat(ratio, " 1 0%");
- }
-};
-var managePostImages = function managePostImages($) {
- $('.js-post-content').find('img').each(function () {
- if (!$(this).closest('figure').hasClass('kg-bookmark-card') && !$(this).parent().is('a')) {
- $(this).addClass('js-zoomable');
- }
-
- var $figcaption = $(this).parent().find('figcaption');
-
- if ($figcaption) {
- $(this).attr('alt', $figcaption.text());
- } else {
- $(this).attr('alt', '');
- }
- });
-};
-var makeImagesZoomable = function makeImagesZoomable($, mediumZoom) {
- var zoom = mediumZoom('.js-zoomable');
- zoom.on('opened', function () {
- setTimeout(function () {
- var $mediumZoomImages = $('.medium-zoom-image--opened');
-
- if ($mediumZoomImages.length > 1) {
- $mediumZoomImages.last().hide();
- }
- }, 10);
- });
-};
-
-/***/ }),
-
-/***/ "./js/page.js":
-/*!********************!*\
- !*** ./js/page.js ***!
- \********************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var fitvids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fitvids */ "./node_modules/fitvids/index.js");
-/* harmony import */ var fitvids__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fitvids__WEBPACK_IMPORTED_MODULE_1__);
-/* harmony import */ var medium_zoom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! medium-zoom */ "./node_modules/medium-zoom/dist/medium-zoom.esm.js");
-/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ "./js/helpers.js");
-
-
-
-
-jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {
- fitvids__WEBPACK_IMPORTED_MODULE_1___default()('.js-post-content');
- Object(_helpers__WEBPACK_IMPORTED_MODULE_3__["adjustImageGallery"])();
- Object(_helpers__WEBPACK_IMPORTED_MODULE_3__["managePostImages"])(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);
- Object(_helpers__WEBPACK_IMPORTED_MODULE_3__["makeImagesZoomable"])(jquery__WEBPACK_IMPORTED_MODULE_0___default.a, medium_zoom__WEBPACK_IMPORTED_MODULE_2__["default"]);
-});
-
-/***/ }),
-
-/***/ 4:
-/*!**************************!*\
- !*** multi ./js/page.js ***!
- \**************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(/*! /Users/eddie/Code/own/liebling/src/js/page.js */"./js/page.js");
-
-
-/***/ })
-
-},[[4,"/js/manifest","/js/vendor"]]]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return c})),n.d(t,"adjustImageGallery",(function(){return u})),n.d(t,"managePostImages",(function(){return s})),n.d(t,"makeImagesZoomable",(function(){return m}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},c=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},u=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t1&&t.last().hide()}),10)}))}},20:function(e,t,n){e.exports=n(21)},21:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(5),i=n.n(r),c=n(4),u=n(1);o()(document).ready((function(){i()(".js-post-content"),Object(u.adjustImageGallery)(),Object(u.managePostImages)(o.a),Object(u.makeImagesZoomable)(o.a,c.a)}))}},[[20,0,1]]]);
\ No newline at end of file
diff --git a/assets/js/post.js b/assets/js/post.js
index deb9701c..46364725 100644
--- a/assets/js/post.js
+++ b/assets/js/post.js
@@ -1,305 +1 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/post"],{
-
-/***/ "./js/helpers.js":
-/*!***********************!*\
- !*** ./js/helpers.js ***!
- \***********************/
-/*! exports provided: isRTL, isMobile, isDarkMode, formatDate, getParameterByName, adjustImageGallery, managePostImages, makeImagesZoomable */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRTL", function() { return isRTL; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMobile", function() { return isMobile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDarkMode", function() { return isDarkMode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDate", function() { return formatDate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getParameterByName", function() { return getParameterByName; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "adjustImageGallery", function() { return adjustImageGallery; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "managePostImages", function() { return managePostImages; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeImagesZoomable", function() { return makeImagesZoomable; });
-var isRTL = function isRTL() {
- var $html = document.querySelector('html');
- return ['ar', 'he', 'fa'].includes($html.getAttribute('lang'));
-};
-var isMobile = function isMobile() {
- var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '768px';
- return window.matchMedia("(max-width: ".concat(width, ")")).matches;
-};
-var isDarkMode = function isDarkMode() {
- var darkModeMatcher = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');
- return darkModeMatcher && darkModeMatcher.matches;
-};
-var formatDate = function formatDate(date) {
- if (date) {
- return new Date(date).toLocaleDateString(document.documentElement.lang, {
- year: 'numeric',
- month: 'long',
- day: 'numeric'
- });
- }
-
- return '';
-};
-var getParameterByName = function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, '\\$&');
- var regex = new RegExp("[?&]".concat(name, "(=([^]*)|&|#|$)"));
- var results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
-};
-var adjustImageGallery = function adjustImageGallery() {
- var images = document.querySelectorAll('.kg-gallery-image img');
-
- for (var i = 0, len = images.length; i < len; i++) {
- var container = images[i].closest('.kg-gallery-image');
- var width = images[i].attributes.width.value;
- var height = images[i].attributes.height.value;
- var ratio = width / height;
- container.style.flex = "".concat(ratio, " 1 0%");
- }
-};
-var managePostImages = function managePostImages($) {
- $('.js-post-content').find('img').each(function () {
- if (!$(this).closest('figure').hasClass('kg-bookmark-card') && !$(this).parent().is('a')) {
- $(this).addClass('js-zoomable');
- }
-
- var $figcaption = $(this).parent().find('figcaption');
-
- if ($figcaption) {
- $(this).attr('alt', $figcaption.text());
- } else {
- $(this).attr('alt', '');
- }
- });
-};
-var makeImagesZoomable = function makeImagesZoomable($, mediumZoom) {
- var zoom = mediumZoom('.js-zoomable');
- zoom.on('opened', function () {
- setTimeout(function () {
- var $mediumZoomImages = $('.medium-zoom-image--opened');
-
- if ($mediumZoomImages.length > 1) {
- $mediumZoomImages.last().hide();
- }
- }, 10);
- });
-};
-
-/***/ }),
-
-/***/ "./js/post.js":
-/*!********************!*\
- !*** ./js/post.js ***!
- \********************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
-/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var medium_zoom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! medium-zoom */ "./node_modules/medium-zoom/dist/medium-zoom.esm.js");
-/* harmony import */ var fitvids__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! fitvids */ "./node_modules/fitvids/index.js");
-/* harmony import */ var fitvids__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fitvids__WEBPACK_IMPORTED_MODULE_2__);
-/* harmony import */ var shave__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shave */ "./node_modules/shave/dist/shave.es.js");
-/* harmony import */ var _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @glidejs/glide/dist/glide.modular.esm */ "./node_modules/@glidejs/glide/dist/glide.modular.esm.js");
-/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers */ "./js/helpers.js");
-
-
-
-
-
-
-var $aosWrapper = null;
-var $progressCircle = null;
-var lastScrollingY = window.pageYOffset;
-var lastWindowHeight = 0;
-var lastDocumentHeight = 0;
-var circumference = 0;
-var isTicking = false;
-
-var onScrolling = function onScrolling() {
- lastScrollingY = window.pageYOffset;
- requestTicking();
-};
-
-var adjustShare = function adjustShare(timeout) {
- if (!Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["isMobile"])('1023px')) {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').removeClass('share-menu-displayed');
- } else {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').addClass('share-menu-displayed');
- setTimeout(function () {
- $aosWrapper.removeAttr('data-aos');
- }, timeout);
- }
-};
-
-var onResizing = function onResizing() {
- setHeights();
- adjustShare(100);
- setTimeout(function () {
- setCircleStyles();
- requestTicking();
- }, 200);
-};
-
-var requestTicking = function requestTicking() {
- if (!isTicking) {
- requestAnimationFrame(updating);
- }
-
- isTicking = true;
-};
-
-var updating = function updating() {
- var progressMax = lastDocumentHeight - lastWindowHeight;
- var percent = Math.ceil(lastScrollingY / progressMax * 100);
-
- if (percent <= 100) {
- setProgress(percent);
- }
-
- isTicking = false;
-};
-
-var setHeights = function setHeights() {
- lastWindowHeight = window.innerHeight;
- lastDocumentHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).height();
-};
-
-var setCircleStyles = function setCircleStyles() {
- var svgWidth = $progressCircle.parent().width();
- var radiusCircle = svgWidth / 2;
- var borderWidth = Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["isMobile"])() ? 2 : 3;
- $progressCircle.parent().attr('viewBox', "0 0 ".concat(svgWidth, " ").concat(svgWidth));
- $progressCircle.attr('stroke-width', borderWidth);
- $progressCircle.attr('r', radiusCircle - (borderWidth - 1));
- $progressCircle.attr('cx', radiusCircle);
- $progressCircle.attr('cy', radiusCircle);
- circumference = radiusCircle * 2 * Math.PI;
- $progressCircle[0].style.strokeDasharray = "".concat(circumference, " ").concat(circumference);
- $progressCircle[0].style.strokeDashoffset = circumference;
-};
-
-var setProgress = function setProgress(percent) {
- if (percent <= 100) {
- var offset = circumference - percent / 100 * circumference;
- $progressCircle[0].style.strokeDashoffset = offset;
- }
-};
-
-var prepareProgressCircle = function prepareProgressCircle() {
- $progressCircle = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-progress');
- setHeights();
- setCircleStyles();
- updating();
- setTimeout(function () {
- $progressCircle.parent().css('opacity', 1);
- }, 300);
-};
-
-jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {
- $aosWrapper = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-aos-wrapper');
- var $scrollButton = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-scrolltop');
- var $recommendedSlider = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.js-recommended-slider');
- fitvids__WEBPACK_IMPORTED_MODULE_2___default()('.js-post-content');
- Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["adjustImageGallery"])();
- adjustShare(1000);
-
- if ($recommendedSlider.length > 0) {
- var recommendedSlider = new _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_4__["default"]('.js-recommended-slider', {
- type: 'slider',
- rewind: false,
- perView: 3,
- swipeThreshold: false,
- dragThreshold: false,
- gap: 0,
- direction: Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["isRTL"])() ? 'rtl' : 'ltr',
- breakpoints: {
- 1023: {
- type: 'carousel',
- perView: 2,
- swipeThreshold: 80,
- dragThreshold: 120
- },
- 720: {
- type: 'carousel',
- perView: 2,
- swipeThreshold: 80,
- dragThreshold: 120
- },
- 568: {
- type: 'carousel',
- perView: 1,
- swipeThreshold: 80,
- dragThreshold: 120
- }
- }
- });
-
- var Length = function Length(Glide, Components, Events) {
- return {
- mount: function mount() {
- Events.emit('length.change', Components.Sizes.length);
- }
- };
- };
-
- recommendedSlider.on('mount.after', function () {
- Object(shave__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-article-card-title', 100);
- Object(shave__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-article-card-title-no-image', 250);
- });
- recommendedSlider.on('length.change', function (length) {
- if (length === 1) {
- recommendedSlider.update({
- type: 'slider'
- });
- $recommendedSlider.find('.js-controls').remove();
- }
- });
- recommendedSlider.mount({
- Controls: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_4__["Controls"],
- Swipe: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_4__["Swipe"],
- Breakpoints: _glidejs_glide_dist_glide_modular_esm__WEBPACK_IMPORTED_MODULE_4__["Breakpoints"],
- Length: Length
- });
- }
-
- Object(shave__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-article-card-title', 100);
- Object(shave__WEBPACK_IMPORTED_MODULE_3__["default"])('.js-article-card-title-no-image', 250);
- $scrollButton.click(function () {
- jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({
- scrollTop: 0
- }, 500);
- });
- Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["managePostImages"])(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);
- Object(_helpers__WEBPACK_IMPORTED_MODULE_5__["makeImagesZoomable"])(jquery__WEBPACK_IMPORTED_MODULE_0___default.a, medium_zoom__WEBPACK_IMPORTED_MODULE_1__["default"]);
- window.addEventListener('scroll', onScrolling, {
- passive: true
- });
- window.addEventListener('resize', onResizing, {
- passive: true
- });
-});
-jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('load', function () {
- prepareProgressCircle();
-});
-
-/***/ }),
-
-/***/ 3:
-/*!**************************!*\
- !*** multi ./js/post.js ***!
- \**************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(/*! /Users/eddie/Code/own/liebling/src/js/post.js */"./js/post.js");
-
-
-/***/ })
-
-},[[3,"/js/manifest","/js/vendor"]]]);
\ No newline at end of file
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1:function(e,t,n){"use strict";n.r(t),n.d(t,"isRTL",(function(){return a})),n.d(t,"isMobile",(function(){return o})),n.d(t,"isDarkMode",(function(){return r})),n.d(t,"formatDate",(function(){return i})),n.d(t,"getParameterByName",(function(){return s})),n.d(t,"adjustImageGallery",(function(){return c})),n.d(t,"managePostImages",(function(){return l})),n.d(t,"makeImagesZoomable",(function(){return d}));var a=function(){var e=document.querySelector("html");return["ar","he","fa"].includes(e.getAttribute("lang"))},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"768px";return window.matchMedia("(max-width: ".concat(e,")")).matches},r=function(){var e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)");return e&&e.matches},i=function(e){return e?new Date(e).toLocaleDateString(document.documentElement.lang,{year:"numeric",month:"long",day:"numeric"}):""},s=function(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var n=new RegExp("[?&]".concat(e,"(=([^]*)|&|#|$)")).exec(t);return n?n[2]?decodeURIComponent(n[2].replace(/\+/g," ")):"":null},c=function(){for(var e=document.querySelectorAll(".kg-gallery-image img"),t=0,n=e.length;t1&&t.last().hide()}),10)}))}},18:function(e,t,n){e.exports=n(19)},19:function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a),r=n(4),i=n(5),s=n.n(i),c=n(3),l=n(2),d=n(1),u=null,m=null,h=window.pageYOffset,f=0,p=0,g=0,w=!1,b=function(){h=window.pageYOffset,v()},y=function(e){Object(d.isMobile)("1023px")?(o()("body").addClass("share-menu-displayed"),setTimeout((function(){u.removeAttr("data-aos")}),e)):o()("body").removeClass("share-menu-displayed")},j=function(){T(),y(100),setTimeout((function(){O(),v()}),200)},v=function(){w||requestAnimationFrame(k),w=!0},k=function(){var e=p-f,t=Math.ceil(h/e*100);t<=100&&x(t),w=!1},T=function(){f=window.innerHeight,p=o()(document).height()},O=function(){var e=m.parent().width(),t=e/2,n=Object(d.isMobile)()?2:3;m.parent().attr("viewBox","0 0 ".concat(e," ").concat(e)),m.attr("stroke-width",n),m.attr("r",t-(n-1)),m.attr("cx",t),m.attr("cy",t),g=2*t*Math.PI,m[0].style.strokeDasharray="".concat(g," ").concat(g),m[0].style.strokeDashoffset=g},x=function(e){if(e<=100){var t=g-e/100*g;m[0].style.strokeDashoffset=t}};o()(document).ready((function(){u=o()(".js-aos-wrapper");var e=o()(".js-scrolltop"),t=o()(".js-recommended-slider");if(s()(".js-post-content"),Object(d.adjustImageGallery)(),y(1e3),t.length>0){var n=new l.d(".js-recommended-slider",{type:"slider",rewind:!1,perView:3,swipeThreshold:!1,dragThreshold:!1,gap:0,direction:Object(d.isRTL)()?"rtl":"ltr",breakpoints:{1023:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},720:{type:"carousel",perView:2,swipeThreshold:80,dragThreshold:120},568:{type:"carousel",perView:1,swipeThreshold:80,dragThreshold:120}}});n.on("mount.after",(function(){Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250)})),n.on("length.change",(function(e){1===e&&(n.update({type:"slider"}),t.find(".js-controls").remove())})),n.mount({Controls:l.b,Swipe:l.c,Breakpoints:l.a,Length:function(e,t,n){return{mount:function(){n.emit("length.change",t.Sizes.length)}}}})}Object(c.a)(".js-article-card-title",100),Object(c.a)(".js-article-card-title-no-image",250),e.click((function(){o()("html, body").animate({scrollTop:0},500)})),Object(d.managePostImages)(o.a),Object(d.makeImagesZoomable)(o.a,r.a),window.addEventListener("scroll",b,{passive:!0}),window.addEventListener("resize",j,{passive:!0})})),o()(window).on("load",(function(){m=o()(".js-progress"),T(),O(),k(),setTimeout((function(){m.parent().css("opacity",1)}),300)}))}},[[18,0,1]]]);
\ No newline at end of file
diff --git a/assets/js/vendor.js b/assets/js/vendor.js
index c10371e6..8c358a0f 100644
--- a/assets/js/vendor.js
+++ b/assets/js/vendor.js
@@ -1,19958 +1 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/vendor"],{
-
-/***/ "./node_modules/@glidejs/glide/dist/glide.modular.esm.js":
-/*!***************************************************************!*\
- !*** ./node_modules/@glidejs/glide/dist/glide.modular.esm.js ***!
- \***************************************************************/
-/*! exports provided: default, Swipe, Images, Anchors, Controls, Keyboard, Autoplay, Breakpoints */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Swipe", function() { return swipe; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Images", function() { return images; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Anchors", function() { return anchors; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Controls", function() { return controls; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Keyboard", function() { return keyboard; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Autoplay", function() { return autoplay; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Breakpoints", function() { return breakpoints; });
-function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
-
-/*!
- * Glide.js v3.4.1
- * (c) 2013-2019 Jędrzej Chałubek (http://jedrzejchalubek.com/)
- * Released under the MIT License.
- */
-var defaults = {
- /**
- * Type of the movement.
- *
- * Available types:
- * `slider` - Rewinds slider to the start/end when it reaches the first or last slide.
- * `carousel` - Changes slides without starting over when it reaches the first or last slide.
- *
- * @type {String}
- */
- type: 'slider',
-
- /**
- * Start at specific slide number defined with zero-based index.
- *
- * @type {Number}
- */
- startAt: 0,
-
- /**
- * A number of slides visible on the single viewport.
- *
- * @type {Number}
- */
- perView: 1,
-
- /**
- * Focus currently active slide at a specified position in the track.
- *
- * Available inputs:
- * `center` - Current slide will be always focused at the center of a track.
- * `0,1,2,3...` - Current slide will be focused on the specified zero-based index.
- *
- * @type {String|Number}
- */
- focusAt: 0,
-
- /**
- * A size of the gap added between slides.
- *
- * @type {Number}
- */
- gap: 10,
-
- /**
- * Change slides after a specified interval. Use `false` for turning off autoplay.
- *
- * @type {Number|Boolean}
- */
- autoplay: false,
-
- /**
- * Stop autoplay on mouseover event.
- *
- * @type {Boolean}
- */
- hoverpause: true,
-
- /**
- * Allow for changing slides with left and right keyboard arrows.
- *
- * @type {Boolean}
- */
- keyboard: true,
-
- /**
- * Stop running `perView` number of slides from the end. Use this
- * option if you don't want to have an empty space after
- * a slider. Works only with `slider` type and a
- * non-centered `focusAt` setting.
- *
- * @type {Boolean}
- */
- bound: false,
-
- /**
- * Minimal swipe distance needed to change the slide. Use `false` for turning off a swiping.
- *
- * @type {Number|Boolean}
- */
- swipeThreshold: 80,
-
- /**
- * Minimal mouse drag distance needed to change the slide. Use `false` for turning off a dragging.
- *
- * @type {Number|Boolean}
- */
- dragThreshold: 120,
-
- /**
- * A maximum number of slides to which movement will be made on swiping or dragging. Use `false` for unlimited.
- *
- * @type {Number|Boolean}
- */
- perTouch: false,
-
- /**
- * Moving distance ratio of the slides on a swiping and dragging.
- *
- * @type {Number}
- */
- touchRatio: 0.5,
-
- /**
- * Angle required to activate slides moving on swiping or dragging.
- *
- * @type {Number}
- */
- touchAngle: 45,
-
- /**
- * Duration of the animation in milliseconds.
- *
- * @type {Number}
- */
- animationDuration: 400,
-
- /**
- * Allows looping the `slider` type. Slider will rewind to the first/last slide when it's at the start/end.
- *
- * @type {Boolean}
- */
- rewind: true,
-
- /**
- * Duration of the rewinding animation of the `slider` type in milliseconds.
- *
- * @type {Number}
- */
- rewindDuration: 800,
-
- /**
- * Easing function for the animation.
- *
- * @type {String}
- */
- animationTimingFunc: 'cubic-bezier(.165, .840, .440, 1)',
-
- /**
- * Throttle costly events at most once per every wait milliseconds.
- *
- * @type {Number}
- */
- throttle: 10,
-
- /**
- * Moving direction mode.
- *
- * Available inputs:
- * - 'ltr' - left to right movement,
- * - 'rtl' - right to left movement.
- *
- * @type {String}
- */
- direction: 'ltr',
-
- /**
- * The distance value of the next and previous viewports which
- * have to peek in the current view. Accepts number and
- * pixels as a string. Left and right peeking can be
- * set up separately with a directions object.
- *
- * For example:
- * `100` - Peek 100px on the both sides.
- * { before: 100, after: 50 }` - Peek 100px on the left side and 50px on the right side.
- *
- * @type {Number|String|Object}
- */
- peek: 0,
-
- /**
- * Collection of options applied at specified media breakpoints.
- * For example: display two slides per view under 800px.
- * `{
- * '800px': {
- * perView: 2
- * }
- * }`
- */
- breakpoints: {},
-
- /**
- * Collection of internally used HTML classes.
- *
- * @todo Refactor `slider` and `carousel` properties to single `type: { slider: '', carousel: '' }` object
- * @type {Object}
- */
- classes: {
- direction: {
- ltr: 'glide--ltr',
- rtl: 'glide--rtl'
- },
- slider: 'glide--slider',
- carousel: 'glide--carousel',
- swipeable: 'glide--swipeable',
- dragging: 'glide--dragging',
- cloneSlide: 'glide__slide--clone',
- activeNav: 'glide__bullet--active',
- activeSlide: 'glide__slide--active',
- disabledArrow: 'glide__arrow--disabled'
- }
-};
-/**
- * Outputs warning message to the bowser console.
- *
- * @param {String} msg
- * @return {Void}
- */
-
-function warn(msg) {
- console.error("[Glide warn]: " + msg);
-}
-
-var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
- return _typeof2(obj);
-} : function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
-};
-
-var classCallCheck = function classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
-};
-
-var createClass = function () {
- function defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- return function (Constructor, protoProps, staticProps) {
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
- if (staticProps) defineProperties(Constructor, staticProps);
- return Constructor;
- };
-}();
-
-var _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
-
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
-
- return target;
-};
-
-var get = function get(object, property, receiver) {
- if (object === null) object = Function.prototype;
- var desc = Object.getOwnPropertyDescriptor(object, property);
-
- if (desc === undefined) {
- var parent = Object.getPrototypeOf(object);
-
- if (parent === null) {
- return undefined;
- } else {
- return get(parent, property, receiver);
- }
- } else if ("value" in desc) {
- return desc.value;
- } else {
- var getter = desc.get;
-
- if (getter === undefined) {
- return undefined;
- }
-
- return getter.call(receiver);
- }
-};
-
-var inherits = function inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function, not " + _typeof2(superClass));
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
-};
-
-var possibleConstructorReturn = function possibleConstructorReturn(self, call) {
- if (!self) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return call && (_typeof2(call) === "object" || typeof call === "function") ? call : self;
-};
-/**
- * Converts value entered as number
- * or string to integer value.
- *
- * @param {String} value
- * @returns {Number}
- */
-
-
-function toInt(value) {
- return parseInt(value);
-}
-/**
- * Converts value entered as number
- * or string to flat value.
- *
- * @param {String} value
- * @returns {Number}
- */
-
-
-function toFloat(value) {
- return parseFloat(value);
-}
-/**
- * Indicates whether the specified value is a string.
- *
- * @param {*} value
- * @return {Boolean}
- */
-
-
-function isString(value) {
- return typeof value === 'string';
-}
-/**
- * Indicates whether the specified value is an object.
- *
- * @param {*} value
- * @return {Boolean}
- *
- * @see https://github.com/jashkenas/underscore
- */
-
-
-function isObject(value) {
- var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);
- return type === 'function' || type === 'object' && !!value; // eslint-disable-line no-mixed-operators
-}
-/**
- * Indicates whether the specified value is a number.
- *
- * @param {*} value
- * @return {Boolean}
- */
-
-
-function isNumber(value) {
- return typeof value === 'number';
-}
-/**
- * Indicates whether the specified value is a function.
- *
- * @param {*} value
- * @return {Boolean}
- */
-
-
-function isFunction(value) {
- return typeof value === 'function';
-}
-/**
- * Indicates whether the specified value is undefined.
- *
- * @param {*} value
- * @return {Boolean}
- */
-
-
-function isUndefined(value) {
- return typeof value === 'undefined';
-}
-/**
- * Indicates whether the specified value is an array.
- *
- * @param {*} value
- * @return {Boolean}
- */
-
-
-function isArray(value) {
- return value.constructor === Array;
-}
-/**
- * Creates and initializes specified collection of extensions.
- * Each extension receives access to instance of glide and rest of components.
- *
- * @param {Object} glide
- * @param {Object} extensions
- *
- * @returns {Object}
- */
-
-
-function mount(glide, extensions, events) {
- var components = {};
-
- for (var name in extensions) {
- if (isFunction(extensions[name])) {
- components[name] = extensions[name](glide, components, events);
- } else {
- warn('Extension must be a function');
- }
- }
-
- for (var _name in components) {
- if (isFunction(components[_name].mount)) {
- components[_name].mount();
- }
- }
-
- return components;
-}
-/**
- * Defines getter and setter property on the specified object.
- *
- * @param {Object} obj Object where property has to be defined.
- * @param {String} prop Name of the defined property.
- * @param {Object} definition Get and set definitions for the property.
- * @return {Void}
- */
-
-
-function define(obj, prop, definition) {
- Object.defineProperty(obj, prop, definition);
-}
-/**
- * Sorts aphabetically object keys.
- *
- * @param {Object} obj
- * @return {Object}
- */
-
-
-function sortKeys(obj) {
- return Object.keys(obj).sort().reduce(function (r, k) {
- r[k] = obj[k];
- return r[k], r;
- }, {});
-}
-/**
- * Merges passed settings object with default options.
- *
- * @param {Object} defaults
- * @param {Object} settings
- * @return {Object}
- */
-
-
-function mergeOptions(defaults, settings) {
- var options = _extends({}, defaults, settings); // `Object.assign` do not deeply merge objects, so we
- // have to do it manually for every nested object
- // in options. Although it does not look smart,
- // it's smaller and faster than some fancy
- // merging deep-merge algorithm script.
-
-
- if (settings.hasOwnProperty('classes')) {
- options.classes = _extends({}, defaults.classes, settings.classes);
-
- if (settings.classes.hasOwnProperty('direction')) {
- options.classes.direction = _extends({}, defaults.classes.direction, settings.classes.direction);
- }
- }
-
- if (settings.hasOwnProperty('breakpoints')) {
- options.breakpoints = _extends({}, defaults.breakpoints, settings.breakpoints);
- }
-
- return options;
-}
-
-var EventsBus = function () {
- /**
- * Construct a EventBus instance.
- *
- * @param {Object} events
- */
- function EventsBus() {
- var events = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- classCallCheck(this, EventsBus);
- this.events = events;
- this.hop = events.hasOwnProperty;
- }
- /**
- * Adds listener to the specifed event.
- *
- * @param {String|Array} event
- * @param {Function} handler
- */
-
-
- createClass(EventsBus, [{
- key: 'on',
- value: function on(event, handler) {
- if (isArray(event)) {
- for (var i = 0; i < event.length; i++) {
- this.on(event[i], handler);
- }
- } // Create the event's object if not yet created
-
-
- if (!this.hop.call(this.events, event)) {
- this.events[event] = [];
- } // Add the handler to queue
-
-
- var index = this.events[event].push(handler) - 1; // Provide handle back for removal of event
-
- return {
- remove: function remove() {
- delete this.events[event][index];
- }
- };
- }
- /**
- * Runs registered handlers for specified event.
- *
- * @param {String|Array} event
- * @param {Object=} context
- */
-
- }, {
- key: 'emit',
- value: function emit(event, context) {
- if (isArray(event)) {
- for (var i = 0; i < event.length; i++) {
- this.emit(event[i], context);
- }
- } // If the event doesn't exist, or there's no handlers in queue, just leave
-
-
- if (!this.hop.call(this.events, event)) {
- return;
- } // Cycle through events queue, fire!
-
-
- this.events[event].forEach(function (item) {
- item(context || {});
- });
- }
- }]);
- return EventsBus;
-}();
-
-var Glide = function () {
- /**
- * Construct glide.
- *
- * @param {String} selector
- * @param {Object} options
- */
- function Glide(selector) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- classCallCheck(this, Glide);
- this._c = {};
- this._t = [];
- this._e = new EventsBus();
- this.disabled = false;
- this.selector = selector;
- this.settings = mergeOptions(defaults, options);
- this.index = this.settings.startAt;
- }
- /**
- * Initializes glide.
- *
- * @param {Object} extensions Collection of extensions to initialize.
- * @return {Glide}
- */
-
-
- createClass(Glide, [{
- key: 'mount',
- value: function mount$$1() {
- var extensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
- this._e.emit('mount.before');
-
- if (isObject(extensions)) {
- this._c = mount(this, extensions, this._e);
- } else {
- warn('You need to provide a object on `mount()`');
- }
-
- this._e.emit('mount.after');
-
- return this;
- }
- /**
- * Collects an instance `translate` transformers.
- *
- * @param {Array} transformers Collection of transformers.
- * @return {Void}
- */
-
- }, {
- key: 'mutate',
- value: function mutate() {
- var transformers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-
- if (isArray(transformers)) {
- this._t = transformers;
- } else {
- warn('You need to provide a array on `mutate()`');
- }
-
- return this;
- }
- /**
- * Updates glide with specified settings.
- *
- * @param {Object} settings
- * @return {Glide}
- */
-
- }, {
- key: 'update',
- value: function update() {
- var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- this.settings = mergeOptions(this.settings, settings);
-
- if (settings.hasOwnProperty('startAt')) {
- this.index = settings.startAt;
- }
-
- this._e.emit('update');
-
- return this;
- }
- /**
- * Change slide with specified pattern. A pattern must be in the special format:
- * `>` - Move one forward
- * `<` - Move one backward
- * `={i}` - Go to {i} zero-based slide (eq. '=1', will go to second slide)
- * `>>` - Rewinds to end (last slide)
- * `<<` - Rewinds to start (first slide)
- *
- * @param {String} pattern
- * @return {Glide}
- */
-
- }, {
- key: 'go',
- value: function go(pattern) {
- this._c.Run.make(pattern);
-
- return this;
- }
- /**
- * Move track by specified distance.
- *
- * @param {String} distance
- * @return {Glide}
- */
-
- }, {
- key: 'move',
- value: function move(distance) {
- this._c.Transition.disable();
-
- this._c.Move.make(distance);
-
- return this;
- }
- /**
- * Destroy instance and revert all changes done by this._c.
- *
- * @return {Glide}
- */
-
- }, {
- key: 'destroy',
- value: function destroy() {
- this._e.emit('destroy');
-
- return this;
- }
- /**
- * Start instance autoplaying.
- *
- * @param {Boolean|Number} interval Run autoplaying with passed interval regardless of `autoplay` settings
- * @return {Glide}
- */
-
- }, {
- key: 'play',
- value: function play() {
- var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
- if (interval) {
- this.settings.autoplay = interval;
- }
-
- this._e.emit('play');
-
- return this;
- }
- /**
- * Stop instance autoplaying.
- *
- * @return {Glide}
- */
-
- }, {
- key: 'pause',
- value: function pause() {
- this._e.emit('pause');
-
- return this;
- }
- /**
- * Sets glide into a idle status.
- *
- * @return {Glide}
- */
-
- }, {
- key: 'disable',
- value: function disable() {
- this.disabled = true;
- return this;
- }
- /**
- * Sets glide into a active status.
- *
- * @return {Glide}
- */
-
- }, {
- key: 'enable',
- value: function enable() {
- this.disabled = false;
- return this;
- }
- /**
- * Adds cuutom event listener with handler.
- *
- * @param {String|Array} event
- * @param {Function} handler
- * @return {Glide}
- */
-
- }, {
- key: 'on',
- value: function on(event, handler) {
- this._e.on(event, handler);
-
- return this;
- }
- /**
- * Checks if glide is a precised type.
- *
- * @param {String} name
- * @return {Boolean}
- */
-
- }, {
- key: 'isType',
- value: function isType(name) {
- return this.settings.type === name;
- }
- /**
- * Gets value of the core options.
- *
- * @return {Object}
- */
-
- }, {
- key: 'settings',
- get: function get$$1() {
- return this._o;
- }
- /**
- * Sets value of the core options.
- *
- * @param {Object} o
- * @return {Void}
- */
- ,
- set: function set$$1(o) {
- if (isObject(o)) {
- this._o = o;
- } else {
- warn('Options must be an `object` instance.');
- }
- }
- /**
- * Gets current index of the slider.
- *
- * @return {Object}
- */
-
- }, {
- key: 'index',
- get: function get$$1() {
- return this._i;
- }
- /**
- * Sets current index a slider.
- *
- * @return {Object}
- */
- ,
- set: function set$$1(i) {
- this._i = toInt(i);
- }
- /**
- * Gets type name of the slider.
- *
- * @return {String}
- */
-
- }, {
- key: 'type',
- get: function get$$1() {
- return this.settings.type;
- }
- /**
- * Gets value of the idle status.
- *
- * @return {Boolean}
- */
-
- }, {
- key: 'disabled',
- get: function get$$1() {
- return this._d;
- }
- /**
- * Sets value of the idle status.
- *
- * @return {Boolean}
- */
- ,
- set: function set$$1(status) {
- this._d = !!status;
- }
- }]);
- return Glide;
-}();
-
-function Run(Glide, Components, Events) {
- var Run = {
- /**
- * Initializes autorunning of the glide.
- *
- * @return {Void}
- */
- mount: function mount() {
- this._o = false;
- },
-
- /**
- * Makes glides running based on the passed moving schema.
- *
- * @param {String} move
- */
- make: function make(move) {
- var _this = this;
-
- if (!Glide.disabled) {
- Glide.disable();
- this.move = move;
- Events.emit('run.before', this.move);
- this.calculate();
- Events.emit('run', this.move);
- Components.Transition.after(function () {
- if (_this.isStart()) {
- Events.emit('run.start', _this.move);
- }
-
- if (_this.isEnd()) {
- Events.emit('run.end', _this.move);
- }
-
- if (_this.isOffset('<') || _this.isOffset('>')) {
- _this._o = false;
- Events.emit('run.offset', _this.move);
- }
-
- Events.emit('run.after', _this.move);
- Glide.enable();
- });
- }
- },
-
- /**
- * Calculates current index based on defined move.
- *
- * @return {Void}
- */
- calculate: function calculate() {
- var move = this.move,
- length = this.length;
- var steps = move.steps,
- direction = move.direction;
- var countableSteps = isNumber(toInt(steps)) && toInt(steps) !== 0;
-
- switch (direction) {
- case '>':
- if (steps === '>') {
- Glide.index = length;
- } else if (this.isEnd()) {
- if (!(Glide.isType('slider') && !Glide.settings.rewind)) {
- this._o = true;
- Glide.index = 0;
- }
- } else if (countableSteps) {
- Glide.index += Math.min(length - Glide.index, -toInt(steps));
- } else {
- Glide.index++;
- }
-
- break;
-
- case '<':
- if (steps === '<') {
- Glide.index = 0;
- } else if (this.isStart()) {
- if (!(Glide.isType('slider') && !Glide.settings.rewind)) {
- this._o = true;
- Glide.index = length;
- }
- } else if (countableSteps) {
- Glide.index -= Math.min(Glide.index, toInt(steps));
- } else {
- Glide.index--;
- }
-
- break;
-
- case '=':
- Glide.index = steps;
- break;
-
- default:
- warn('Invalid direction pattern [' + direction + steps + '] has been used');
- break;
- }
- },
-
- /**
- * Checks if we are on the first slide.
- *
- * @return {Boolean}
- */
- isStart: function isStart() {
- return Glide.index === 0;
- },
-
- /**
- * Checks if we are on the last slide.
- *
- * @return {Boolean}
- */
- isEnd: function isEnd() {
- return Glide.index === this.length;
- },
-
- /**
- * Checks if we are making a offset run.
- *
- * @param {String} direction
- * @return {Boolean}
- */
- isOffset: function isOffset(direction) {
- return this._o && this.move.direction === direction;
- }
- };
- define(Run, 'move', {
- /**
- * Gets value of the move schema.
- *
- * @returns {Object}
- */
- get: function get() {
- return this._m;
- },
-
- /**
- * Sets value of the move schema.
- *
- * @returns {Object}
- */
- set: function set(value) {
- var step = value.substr(1);
- this._m = {
- direction: value.substr(0, 1),
- steps: step ? toInt(step) ? toInt(step) : step : 0
- };
- }
- });
- define(Run, 'length', {
- /**
- * Gets value of the running distance based
- * on zero-indexing number of slides.
- *
- * @return {Number}
- */
- get: function get() {
- var settings = Glide.settings;
- var length = Components.Html.slides.length; // If the `bound` option is acitve, a maximum running distance should be
- // reduced by `perView` and `focusAt` settings. Running distance
- // should end before creating an empty space after instance.
-
- if (Glide.isType('slider') && settings.focusAt !== 'center' && settings.bound) {
- return length - 1 - (toInt(settings.perView) - 1) + toInt(settings.focusAt);
- }
-
- return length - 1;
- }
- });
- define(Run, 'offset', {
- /**
- * Gets status of the offsetting flag.
- *
- * @return {Boolean}
- */
- get: function get() {
- return this._o;
- }
- });
- return Run;
-}
-/**
- * Returns a current time.
- *
- * @return {Number}
- */
-
-
-function now() {
- return new Date().getTime();
-}
-/**
- * Returns a function, that, when invoked, will only be triggered
- * at most once during a given window of time.
- *
- * @param {Function} func
- * @param {Number} wait
- * @param {Object=} options
- * @return {Function}
- *
- * @see https://github.com/jashkenas/underscore
- */
-
-
-function throttle(func, wait, options) {
- var timeout = void 0,
- context = void 0,
- args = void 0,
- result = void 0;
- var previous = 0;
- if (!options) options = {};
-
- var later = function later() {
- previous = options.leading === false ? 0 : now();
- timeout = null;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- };
-
- var throttled = function throttled() {
- var at = now();
- if (!previous && options.leading === false) previous = at;
- var remaining = wait - (at - previous);
- context = this;
- args = arguments;
-
- if (remaining <= 0 || remaining > wait) {
- if (timeout) {
- clearTimeout(timeout);
- timeout = null;
- }
-
- previous = at;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
- }
-
- return result;
- };
-
- throttled.cancel = function () {
- clearTimeout(timeout);
- previous = 0;
- timeout = context = args = null;
- };
-
- return throttled;
-}
-
-var MARGIN_TYPE = {
- ltr: ['marginLeft', 'marginRight'],
- rtl: ['marginRight', 'marginLeft']
-};
-
-function Gaps(Glide, Components, Events) {
- var Gaps = {
- /**
- * Applies gaps between slides. First and last
- * slides do not receive it's edge margins.
- *
- * @param {HTMLCollection} slides
- * @return {Void}
- */
- apply: function apply(slides) {
- for (var i = 0, len = slides.length; i < len; i++) {
- var style = slides[i].style;
- var direction = Components.Direction.value;
-
- if (i !== 0) {
- style[MARGIN_TYPE[direction][0]] = this.value / 2 + 'px';
- } else {
- style[MARGIN_TYPE[direction][0]] = '';
- }
-
- if (i !== slides.length - 1) {
- style[MARGIN_TYPE[direction][1]] = this.value / 2 + 'px';
- } else {
- style[MARGIN_TYPE[direction][1]] = '';
- }
- }
- },
-
- /**
- * Removes gaps from the slides.
- *
- * @param {HTMLCollection} slides
- * @returns {Void}
- */
- remove: function remove(slides) {
- for (var i = 0, len = slides.length; i < len; i++) {
- var style = slides[i].style;
- style.marginLeft = '';
- style.marginRight = '';
- }
- }
- };
- define(Gaps, 'value', {
- /**
- * Gets value of the gap.
- *
- * @returns {Number}
- */
- get: function get() {
- return toInt(Glide.settings.gap);
- }
- });
- define(Gaps, 'grow', {
- /**
- * Gets additional dimentions value caused by gaps.
- * Used to increase width of the slides wrapper.
- *
- * @returns {Number}
- */
- get: function get() {
- return Gaps.value * (Components.Sizes.length - 1);
- }
- });
- define(Gaps, 'reductor', {
- /**
- * Gets reduction value caused by gaps.
- * Used to subtract width of the slides.
- *
- * @returns {Number}
- */
- get: function get() {
- var perView = Glide.settings.perView;
- return Gaps.value * (perView - 1) / perView;
- }
- });
- /**
- * Apply calculated gaps:
- * - after building, so slides (including clones) will receive proper margins
- * - on updating via API, to recalculate gaps with new options
- */
-
- Events.on(['build.after', 'update'], throttle(function () {
- Gaps.apply(Components.Html.wrapper.children);
- }, 30));
- /**
- * Remove gaps:
- * - on destroying to bring markup to its inital state
- */
-
- Events.on('destroy', function () {
- Gaps.remove(Components.Html.wrapper.children);
- });
- return Gaps;
-}
-/**
- * Finds siblings nodes of the passed node.
- *
- * @param {Element} node
- * @return {Array}
- */
-
-
-function siblings(node) {
- if (node && node.parentNode) {
- var n = node.parentNode.firstChild;
- var matched = [];
-
- for (; n; n = n.nextSibling) {
- if (n.nodeType === 1 && n !== node) {
- matched.push(n);
- }
- }
-
- return matched;
- }
-
- return [];
-}
-/**
- * Checks if passed node exist and is a valid element.
- *
- * @param {Element} node
- * @return {Boolean}
- */
-
-
-function exist(node) {
- if (node && node instanceof window.HTMLElement) {
- return true;
- }
-
- return false;
-}
-
-var TRACK_SELECTOR = '[data-glide-el="track"]';
-
-function Html(Glide, Components) {
- var Html = {
- /**
- * Setup slider HTML nodes.
- *
- * @param {Glide} glide
- */
- mount: function mount() {
- this.root = Glide.selector;
- this.track = this.root.querySelector(TRACK_SELECTOR);
- this.slides = Array.prototype.slice.call(this.wrapper.children).filter(function (slide) {
- return !slide.classList.contains(Glide.settings.classes.cloneSlide);
- });
- }
- };
- define(Html, 'root', {
- /**
- * Gets node of the glide main element.
- *
- * @return {Object}
- */
- get: function get() {
- return Html._r;
- },
-
- /**
- * Sets node of the glide main element.
- *
- * @return {Object}
- */
- set: function set(r) {
- if (isString(r)) {
- r = document.querySelector(r);
- }
-
- if (exist(r)) {
- Html._r = r;
- } else {
- warn('Root element must be a existing Html node');
- }
- }
- });
- define(Html, 'track', {
- /**
- * Gets node of the glide track with slides.
- *
- * @return {Object}
- */
- get: function get() {
- return Html._t;
- },
-
- /**
- * Sets node of the glide track with slides.
- *
- * @return {Object}
- */
- set: function set(t) {
- if (exist(t)) {
- Html._t = t;
- } else {
- warn('Could not find track element. Please use ' + TRACK_SELECTOR + ' attribute.');
- }
- }
- });
- define(Html, 'wrapper', {
- /**
- * Gets node of the slides wrapper.
- *
- * @return {Object}
- */
- get: function get() {
- return Html.track.children[0];
- }
- });
- return Html;
-}
-
-function Peek(Glide, Components, Events) {
- var Peek = {
- /**
- * Setups how much to peek based on settings.
- *
- * @return {Void}
- */
- mount: function mount() {
- this.value = Glide.settings.peek;
- }
- };
- define(Peek, 'value', {
- /**
- * Gets value of the peek.
- *
- * @returns {Number|Object}
- */
- get: function get() {
- return Peek._v;
- },
-
- /**
- * Sets value of the peek.
- *
- * @param {Number|Object} value
- * @return {Void}
- */
- set: function set(value) {
- if (isObject(value)) {
- value.before = toInt(value.before);
- value.after = toInt(value.after);
- } else {
- value = toInt(value);
- }
-
- Peek._v = value;
- }
- });
- define(Peek, 'reductor', {
- /**
- * Gets reduction value caused by peek.
- *
- * @returns {Number}
- */
- get: function get() {
- var value = Peek.value;
- var perView = Glide.settings.perView;
-
- if (isObject(value)) {
- return value.before / perView + value.after / perView;
- }
-
- return value * 2 / perView;
- }
- });
- /**
- * Recalculate peeking sizes on:
- * - when resizing window to update to proper percents
- */
-
- Events.on(['resize', 'update'], function () {
- Peek.mount();
- });
- return Peek;
-}
-
-function Move(Glide, Components, Events) {
- var Move = {
- /**
- * Constructs move component.
- *
- * @returns {Void}
- */
- mount: function mount() {
- this._o = 0;
- },
-
- /**
- * Calculates a movement value based on passed offset and currently active index.
- *
- * @param {Number} offset
- * @return {Void}
- */
- make: function make() {
- var _this = this;
-
- var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
- this.offset = offset;
- Events.emit('move', {
- movement: this.value
- });
- Components.Transition.after(function () {
- Events.emit('move.after', {
- movement: _this.value
- });
- });
- }
- };
- define(Move, 'offset', {
- /**
- * Gets an offset value used to modify current translate.
- *
- * @return {Object}
- */
- get: function get() {
- return Move._o;
- },
-
- /**
- * Sets an offset value used to modify current translate.
- *
- * @return {Object}
- */
- set: function set(value) {
- Move._o = !isUndefined(value) ? toInt(value) : 0;
- }
- });
- define(Move, 'translate', {
- /**
- * Gets a raw movement value.
- *
- * @return {Number}
- */
- get: function get() {
- return Components.Sizes.slideWidth * Glide.index;
- }
- });
- define(Move, 'value', {
- /**
- * Gets an actual movement value corrected by offset.
- *
- * @return {Number}
- */
- get: function get() {
- var offset = this.offset;
- var translate = this.translate;
-
- if (Components.Direction.is('rtl')) {
- return translate + offset;
- }
-
- return translate - offset;
- }
- });
- /**
- * Make movement to proper slide on:
- * - before build, so glide will start at `startAt` index
- * - on each standard run to move to newly calculated index
- */
-
- Events.on(['build.before', 'run'], function () {
- Move.make();
- });
- return Move;
-}
-
-function Sizes(Glide, Components, Events) {
- var Sizes = {
- /**
- * Setups dimentions of slides.
- *
- * @return {Void}
- */
- setupSlides: function setupSlides() {
- var width = this.slideWidth + 'px';
- var slides = Components.Html.slides;
-
- for (var i = 0; i < slides.length; i++) {
- slides[i].style.width = width;
- }
- },
-
- /**
- * Setups dimentions of slides wrapper.
- *
- * @return {Void}
- */
- setupWrapper: function setupWrapper(dimention) {
- Components.Html.wrapper.style.width = this.wrapperSize + 'px';
- },
-
- /**
- * Removes applied styles from HTML elements.
- *
- * @returns {Void}
- */
- remove: function remove() {
- var slides = Components.Html.slides;
-
- for (var i = 0; i < slides.length; i++) {
- slides[i].style.width = '';
- }
-
- Components.Html.wrapper.style.width = '';
- }
- };
- define(Sizes, 'length', {
- /**
- * Gets count number of the slides.
- *
- * @return {Number}
- */
- get: function get() {
- return Components.Html.slides.length;
- }
- });
- define(Sizes, 'width', {
- /**
- * Gets width value of the glide.
- *
- * @return {Number}
- */
- get: function get() {
- return Components.Html.root.offsetWidth;
- }
- });
- define(Sizes, 'wrapperSize', {
- /**
- * Gets size of the slides wrapper.
- *
- * @return {Number}
- */
- get: function get() {
- return Sizes.slideWidth * Sizes.length + Components.Gaps.grow + Components.Clones.grow;
- }
- });
- define(Sizes, 'slideWidth', {
- /**
- * Gets width value of the single slide.
- *
- * @return {Number}
- */
- get: function get() {
- return Sizes.width / Glide.settings.perView - Components.Peek.reductor - Components.Gaps.reductor;
- }
- });
- /**
- * Apply calculated glide's dimensions:
- * - before building, so other dimentions (e.g. translate) will be calculated propertly
- * - when resizing window to recalculate sildes dimensions
- * - on updating via API, to calculate dimensions based on new options
- */
-
- Events.on(['build.before', 'resize', 'update'], function () {
- Sizes.setupSlides();
- Sizes.setupWrapper();
- });
- /**
- * Remove calculated glide's dimensions:
- * - on destoting to bring markup to its inital state
- */
-
- Events.on('destroy', function () {
- Sizes.remove();
- });
- return Sizes;
-}
-
-function Build(Glide, Components, Events) {
- var Build = {
- /**
- * Init glide building. Adds classes, sets
- * dimensions and setups initial state.
- *
- * @return {Void}
- */
- mount: function mount() {
- Events.emit('build.before');
- this.typeClass();
- this.activeClass();
- Events.emit('build.after');
- },
-
- /**
- * Adds `type` class to the glide element.
- *
- * @return {Void}
- */
- typeClass: function typeClass() {
- Components.Html.root.classList.add(Glide.settings.classes[Glide.settings.type]);
- },
-
- /**
- * Sets active class to current slide.
- *
- * @return {Void}
- */
- activeClass: function activeClass() {
- var classes = Glide.settings.classes;
- var slide = Components.Html.slides[Glide.index];
-
- if (slide) {
- slide.classList.add(classes.activeSlide);
- siblings(slide).forEach(function (sibling) {
- sibling.classList.remove(classes.activeSlide);
- });
- }
- },
-
- /**
- * Removes HTML classes applied at building.
- *
- * @return {Void}
- */
- removeClasses: function removeClasses() {
- var classes = Glide.settings.classes;
- Components.Html.root.classList.remove(classes[Glide.settings.type]);
- Components.Html.slides.forEach(function (sibling) {
- sibling.classList.remove(classes.activeSlide);
- });
- }
- };
- /**
- * Clear building classes:
- * - on destroying to bring HTML to its initial state
- * - on updating to remove classes before remounting component
- */
-
- Events.on(['destroy', 'update'], function () {
- Build.removeClasses();
- });
- /**
- * Remount component:
- * - on resizing of the window to calculate new dimentions
- * - on updating settings via API
- */
-
- Events.on(['resize', 'update'], function () {
- Build.mount();
- });
- /**
- * Swap active class of current slide:
- * - after each move to the new index
- */
-
- Events.on('move.after', function () {
- Build.activeClass();
- });
- return Build;
-}
-
-function Clones(Glide, Components, Events) {
- var Clones = {
- /**
- * Create pattern map and collect slides to be cloned.
- */
- mount: function mount() {
- this.items = [];
-
- if (Glide.isType('carousel')) {
- this.items = this.collect();
- }
- },
-
- /**
- * Collect clones with pattern.
- *
- * @return {Void}
- */
- collect: function collect() {
- var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var slides = Components.Html.slides;
- var _Glide$settings = Glide.settings,
- perView = _Glide$settings.perView,
- classes = _Glide$settings.classes;
- var peekIncrementer = +!!Glide.settings.peek;
- var part = perView + peekIncrementer;
- var start = slides.slice(0, part);
- var end = slides.slice(-part);
-
- for (var r = 0; r < Math.max(1, Math.floor(perView / slides.length)); r++) {
- for (var i = 0; i < start.length; i++) {
- var clone = start[i].cloneNode(true);
- clone.classList.add(classes.cloneSlide);
- items.push(clone);
- }
-
- for (var _i = 0; _i < end.length; _i++) {
- var _clone = end[_i].cloneNode(true);
-
- _clone.classList.add(classes.cloneSlide);
-
- items.unshift(_clone);
- }
- }
-
- return items;
- },
-
- /**
- * Append cloned slides with generated pattern.
- *
- * @return {Void}
- */
- append: function append() {
- var items = this.items;
- var _Components$Html = Components.Html,
- wrapper = _Components$Html.wrapper,
- slides = _Components$Html.slides;
- var half = Math.floor(items.length / 2);
- var prepend = items.slice(0, half).reverse();
- var append = items.slice(half, items.length);
- var width = Components.Sizes.slideWidth + 'px';
-
- for (var i = 0; i < append.length; i++) {
- wrapper.appendChild(append[i]);
- }
-
- for (var _i2 = 0; _i2 < prepend.length; _i2++) {
- wrapper.insertBefore(prepend[_i2], slides[0]);
- }
-
- for (var _i3 = 0; _i3 < items.length; _i3++) {
- items[_i3].style.width = width;
- }
- },
-
- /**
- * Remove all cloned slides.
- *
- * @return {Void}
- */
- remove: function remove() {
- var items = this.items;
-
- for (var i = 0; i < items.length; i++) {
- Components.Html.wrapper.removeChild(items[i]);
- }
- }
- };
- define(Clones, 'grow', {
- /**
- * Gets additional dimentions value caused by clones.
- *
- * @return {Number}
- */
- get: function get() {
- return (Components.Sizes.slideWidth + Components.Gaps.value) * Clones.items.length;
- }
- });
- /**
- * Append additional slide's clones:
- * - while glide's type is `carousel`
- */
-
- Events.on('update', function () {
- Clones.remove();
- Clones.mount();
- Clones.append();
- });
- /**
- * Append additional slide's clones:
- * - while glide's type is `carousel`
- */
-
- Events.on('build.before', function () {
- if (Glide.isType('carousel')) {
- Clones.append();
- }
- });
- /**
- * Remove clones HTMLElements:
- * - on destroying, to bring HTML to its initial state
- */
-
- Events.on('destroy', function () {
- Clones.remove();
- });
- return Clones;
-}
-
-var EventsBinder = function () {
- /**
- * Construct a EventsBinder instance.
- */
- function EventsBinder() {
- var listeners = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- classCallCheck(this, EventsBinder);
- this.listeners = listeners;
- }
- /**
- * Adds events listeners to arrows HTML elements.
- *
- * @param {String|Array} events
- * @param {Element|Window|Document} el
- * @param {Function} closure
- * @param {Boolean|Object} capture
- * @return {Void}
- */
-
-
- createClass(EventsBinder, [{
- key: 'on',
- value: function on(events, el, closure) {
- var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
- if (isString(events)) {
- events = [events];
- }
-
- for (var i = 0; i < events.length; i++) {
- this.listeners[events[i]] = closure;
- el.addEventListener(events[i], this.listeners[events[i]], capture);
- }
- }
- /**
- * Removes event listeners from arrows HTML elements.
- *
- * @param {String|Array} events
- * @param {Element|Window|Document} el
- * @param {Boolean|Object} capture
- * @return {Void}
- */
-
- }, {
- key: 'off',
- value: function off(events, el) {
- var capture = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- if (isString(events)) {
- events = [events];
- }
-
- for (var i = 0; i < events.length; i++) {
- el.removeEventListener(events[i], this.listeners[events[i]], capture);
- }
- }
- /**
- * Destroy collected listeners.
- *
- * @returns {Void}
- */
-
- }, {
- key: 'destroy',
- value: function destroy() {
- delete this.listeners;
- }
- }]);
- return EventsBinder;
-}();
-
-function Resize(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var Resize = {
- /**
- * Initializes window bindings.
- */
- mount: function mount() {
- this.bind();
- },
-
- /**
- * Binds `rezsize` listener to the window.
- * It's a costly event, so we are debouncing it.
- *
- * @return {Void}
- */
- bind: function bind() {
- Binder.on('resize', window, throttle(function () {
- Events.emit('resize');
- }, Glide.settings.throttle));
- },
-
- /**
- * Unbinds listeners from the window.
- *
- * @return {Void}
- */
- unbind: function unbind() {
- Binder.off('resize', window);
- }
- };
- /**
- * Remove bindings from window:
- * - on destroying, to remove added EventListener
- */
-
- Events.on('destroy', function () {
- Resize.unbind();
- Binder.destroy();
- });
- return Resize;
-}
-
-var VALID_DIRECTIONS = ['ltr', 'rtl'];
-var FLIPED_MOVEMENTS = {
- '>': '<',
- '<': '>',
- '=': '='
-};
-
-function Direction(Glide, Components, Events) {
- var Direction = {
- /**
- * Setups gap value based on settings.
- *
- * @return {Void}
- */
- mount: function mount() {
- this.value = Glide.settings.direction;
- },
-
- /**
- * Resolves pattern based on direction value
- *
- * @param {String} pattern
- * @returns {String}
- */
- resolve: function resolve(pattern) {
- var token = pattern.slice(0, 1);
-
- if (this.is('rtl')) {
- return pattern.split(token).join(FLIPED_MOVEMENTS[token]);
- }
-
- return pattern;
- },
-
- /**
- * Checks value of direction mode.
- *
- * @param {String} direction
- * @returns {Boolean}
- */
- is: function is(direction) {
- return this.value === direction;
- },
-
- /**
- * Applies direction class to the root HTML element.
- *
- * @return {Void}
- */
- addClass: function addClass() {
- Components.Html.root.classList.add(Glide.settings.classes.direction[this.value]);
- },
-
- /**
- * Removes direction class from the root HTML element.
- *
- * @return {Void}
- */
- removeClass: function removeClass() {
- Components.Html.root.classList.remove(Glide.settings.classes.direction[this.value]);
- }
- };
- define(Direction, 'value', {
- /**
- * Gets value of the direction.
- *
- * @returns {Number}
- */
- get: function get() {
- return Direction._v;
- },
-
- /**
- * Sets value of the direction.
- *
- * @param {String} value
- * @return {Void}
- */
- set: function set(value) {
- if (VALID_DIRECTIONS.indexOf(value) > -1) {
- Direction._v = value;
- } else {
- warn('Direction value must be `ltr` or `rtl`');
- }
- }
- });
- /**
- * Clear direction class:
- * - on destroy to bring HTML to its initial state
- * - on update to remove class before reappling bellow
- */
-
- Events.on(['destroy', 'update'], function () {
- Direction.removeClass();
- });
- /**
- * Remount component:
- * - on update to reflect changes in direction value
- */
-
- Events.on('update', function () {
- Direction.mount();
- });
- /**
- * Apply direction class:
- * - before building to apply class for the first time
- * - on updating to reapply direction class that may changed
- */
-
- Events.on(['build.before', 'update'], function () {
- Direction.addClass();
- });
- return Direction;
-}
-/**
- * Reflects value of glide movement.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function Rtl(Glide, Components) {
- return {
- /**
- * Negates the passed translate if glide is in RTL option.
- *
- * @param {Number} translate
- * @return {Number}
- */
- modify: function modify(translate) {
- if (Components.Direction.is('rtl')) {
- return -translate;
- }
-
- return translate;
- }
- };
-}
-/**
- * Updates glide movement with a `gap` settings.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function Gap(Glide, Components) {
- return {
- /**
- * Modifies passed translate value with number in the `gap` settings.
- *
- * @param {Number} translate
- * @return {Number}
- */
- modify: function modify(translate) {
- return translate + Components.Gaps.value * Glide.index;
- }
- };
-}
-/**
- * Updates glide movement with width of additional clones width.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function Grow(Glide, Components) {
- return {
- /**
- * Adds to the passed translate width of the half of clones.
- *
- * @param {Number} translate
- * @return {Number}
- */
- modify: function modify(translate) {
- return translate + Components.Clones.grow / 2;
- }
- };
-}
-/**
- * Updates glide movement with a `peek` settings.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function Peeking(Glide, Components) {
- return {
- /**
- * Modifies passed translate value with a `peek` setting.
- *
- * @param {Number} translate
- * @return {Number}
- */
- modify: function modify(translate) {
- if (Glide.settings.focusAt >= 0) {
- var peek = Components.Peek.value;
-
- if (isObject(peek)) {
- return translate - peek.before;
- }
-
- return translate - peek;
- }
-
- return translate;
- }
- };
-}
-/**
- * Updates glide movement with a `focusAt` settings.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function Focusing(Glide, Components) {
- return {
- /**
- * Modifies passed translate value with index in the `focusAt` setting.
- *
- * @param {Number} translate
- * @return {Number}
- */
- modify: function modify(translate) {
- var gap = Components.Gaps.value;
- var width = Components.Sizes.width;
- var focusAt = Glide.settings.focusAt;
- var slideWidth = Components.Sizes.slideWidth;
-
- if (focusAt === 'center') {
- return translate - (width / 2 - slideWidth / 2);
- }
-
- return translate - slideWidth * focusAt - gap * focusAt;
- }
- };
-}
-/**
- * Applies diffrent transformers on translate value.
- *
- * @param {Object} Glide
- * @param {Object} Components
- * @return {Object}
- */
-
-
-function mutator(Glide, Components, Events) {
- /**
- * Merge instance transformers with collection of default transformers.
- * It's important that the Rtl component be last on the list,
- * so it reflects all previous transformations.
- *
- * @type {Array}
- */
- var TRANSFORMERS = [Gap, Grow, Peeking, Focusing].concat(Glide._t, [Rtl]);
- return {
- /**
- * Piplines translate value with registered transformers.
- *
- * @param {Number} translate
- * @return {Number}
- */
- mutate: function mutate(translate) {
- for (var i = 0; i < TRANSFORMERS.length; i++) {
- var transformer = TRANSFORMERS[i];
-
- if (isFunction(transformer) && isFunction(transformer().modify)) {
- translate = transformer(Glide, Components, Events).modify(translate);
- } else {
- warn('Transformer should be a function that returns an object with `modify()` method');
- }
- }
-
- return translate;
- }
- };
-}
-
-function Translate(Glide, Components, Events) {
- var Translate = {
- /**
- * Sets value of translate on HTML element.
- *
- * @param {Number} value
- * @return {Void}
- */
- set: function set(value) {
- var transform = mutator(Glide, Components).mutate(value);
- Components.Html.wrapper.style.transform = 'translate3d(' + -1 * transform + 'px, 0px, 0px)';
- },
-
- /**
- * Removes value of translate from HTML element.
- *
- * @return {Void}
- */
- remove: function remove() {
- Components.Html.wrapper.style.transform = '';
- }
- };
- /**
- * Set new translate value:
- * - on move to reflect index change
- * - on updating via API to reflect possible changes in options
- */
-
- Events.on('move', function (context) {
- var gap = Components.Gaps.value;
- var length = Components.Sizes.length;
- var width = Components.Sizes.slideWidth;
-
- if (Glide.isType('carousel') && Components.Run.isOffset('<')) {
- Components.Transition.after(function () {
- Events.emit('translate.jump');
- Translate.set(width * (length - 1));
- });
- return Translate.set(-width - gap * length);
- }
-
- if (Glide.isType('carousel') && Components.Run.isOffset('>')) {
- Components.Transition.after(function () {
- Events.emit('translate.jump');
- Translate.set(0);
- });
- return Translate.set(width * length + gap * length);
- }
-
- return Translate.set(context.movement);
- });
- /**
- * Remove translate:
- * - on destroying to bring markup to its inital state
- */
-
- Events.on('destroy', function () {
- Translate.remove();
- });
- return Translate;
-}
-
-function Transition(Glide, Components, Events) {
- /**
- * Holds inactivity status of transition.
- * When true transition is not applied.
- *
- * @type {Boolean}
- */
- var disabled = false;
- var Transition = {
- /**
- * Composes string of the CSS transition.
- *
- * @param {String} property
- * @return {String}
- */
- compose: function compose(property) {
- var settings = Glide.settings;
-
- if (!disabled) {
- return property + ' ' + this.duration + 'ms ' + settings.animationTimingFunc;
- }
-
- return property + ' 0ms ' + settings.animationTimingFunc;
- },
-
- /**
- * Sets value of transition on HTML element.
- *
- * @param {String=} property
- * @return {Void}
- */
- set: function set() {
- var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
- Components.Html.wrapper.style.transition = this.compose(property);
- },
-
- /**
- * Removes value of transition from HTML element.
- *
- * @return {Void}
- */
- remove: function remove() {
- Components.Html.wrapper.style.transition = '';
- },
-
- /**
- * Runs callback after animation.
- *
- * @param {Function} callback
- * @return {Void}
- */
- after: function after(callback) {
- setTimeout(function () {
- callback();
- }, this.duration);
- },
-
- /**
- * Enable transition.
- *
- * @return {Void}
- */
- enable: function enable() {
- disabled = false;
- this.set();
- },
-
- /**
- * Disable transition.
- *
- * @return {Void}
- */
- disable: function disable() {
- disabled = true;
- this.set();
- }
- };
- define(Transition, 'duration', {
- /**
- * Gets duration of the transition based
- * on currently running animation type.
- *
- * @return {Number}
- */
- get: function get() {
- var settings = Glide.settings;
-
- if (Glide.isType('slider') && Components.Run.offset) {
- return settings.rewindDuration;
- }
-
- return settings.animationDuration;
- }
- });
- /**
- * Set transition `style` value:
- * - on each moving, because it may be cleared by offset move
- */
-
- Events.on('move', function () {
- Transition.set();
- });
- /**
- * Disable transition:
- * - before initial build to avoid transitioning from `0` to `startAt` index
- * - while resizing window and recalculating dimentions
- * - on jumping from offset transition at start and end edges in `carousel` type
- */
-
- Events.on(['build.before', 'resize', 'translate.jump'], function () {
- Transition.disable();
- });
- /**
- * Enable transition:
- * - on each running, because it may be disabled by offset move
- */
-
- Events.on('run', function () {
- Transition.enable();
- });
- /**
- * Remove transition:
- * - on destroying to bring markup to its inital state
- */
-
- Events.on('destroy', function () {
- Transition.remove();
- });
- return Transition;
-}
-/**
- * Test via a getter in the options object to see
- * if the passive property is accessed.
- *
- * @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection
- */
-
-
-var supportsPassive = false;
-
-try {
- var opts = Object.defineProperty({}, 'passive', {
- get: function get() {
- supportsPassive = true;
- }
- });
- window.addEventListener('testPassive', null, opts);
- window.removeEventListener('testPassive', null, opts);
-} catch (e) {}
-
-var supportsPassive$1 = supportsPassive;
-var START_EVENTS = ['touchstart', 'mousedown'];
-var MOVE_EVENTS = ['touchmove', 'mousemove'];
-var END_EVENTS = ['touchend', 'touchcancel', 'mouseup', 'mouseleave'];
-var MOUSE_EVENTS = ['mousedown', 'mousemove', 'mouseup', 'mouseleave'];
-
-function swipe(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var swipeSin = 0;
- var swipeStartX = 0;
- var swipeStartY = 0;
- var disabled = false;
- var capture = supportsPassive$1 ? {
- passive: true
- } : false;
- var Swipe = {
- /**
- * Initializes swipe bindings.
- *
- * @return {Void}
- */
- mount: function mount() {
- this.bindSwipeStart();
- },
-
- /**
- * Handler for `swipestart` event. Calculates entry points of the user's tap.
- *
- * @param {Object} event
- * @return {Void}
- */
- start: function start(event) {
- if (!disabled && !Glide.disabled) {
- this.disable();
- var swipe = this.touches(event);
- swipeSin = null;
- swipeStartX = toInt(swipe.pageX);
- swipeStartY = toInt(swipe.pageY);
- this.bindSwipeMove();
- this.bindSwipeEnd();
- Events.emit('swipe.start');
- }
- },
-
- /**
- * Handler for `swipemove` event. Calculates user's tap angle and distance.
- *
- * @param {Object} event
- */
- move: function move(event) {
- if (!Glide.disabled) {
- var _Glide$settings = Glide.settings,
- touchAngle = _Glide$settings.touchAngle,
- touchRatio = _Glide$settings.touchRatio,
- classes = _Glide$settings.classes;
- var swipe = this.touches(event);
- var subExSx = toInt(swipe.pageX) - swipeStartX;
- var subEySy = toInt(swipe.pageY) - swipeStartY;
- var powEX = Math.abs(subExSx << 2);
- var powEY = Math.abs(subEySy << 2);
- var swipeHypotenuse = Math.sqrt(powEX + powEY);
- var swipeCathetus = Math.sqrt(powEY);
- swipeSin = Math.asin(swipeCathetus / swipeHypotenuse);
-
- if (swipeSin * 180 / Math.PI < touchAngle) {
- event.stopPropagation();
- Components.Move.make(subExSx * toFloat(touchRatio));
- Components.Html.root.classList.add(classes.dragging);
- Events.emit('swipe.move');
- } else {
- return false;
- }
- }
- },
-
- /**
- * Handler for `swipeend` event. Finitializes user's tap and decides about glide move.
- *
- * @param {Object} event
- * @return {Void}
- */
- end: function end(event) {
- if (!Glide.disabled) {
- var settings = Glide.settings;
- var swipe = this.touches(event);
- var threshold = this.threshold(event);
- var swipeDistance = swipe.pageX - swipeStartX;
- var swipeDeg = swipeSin * 180 / Math.PI;
- var steps = Math.round(swipeDistance / Components.Sizes.slideWidth);
- this.enable();
-
- if (swipeDistance > threshold && swipeDeg < settings.touchAngle) {
- // While swipe is positive and greater than threshold move backward.
- if (settings.perTouch) {
- steps = Math.min(steps, toInt(settings.perTouch));
- }
-
- if (Components.Direction.is('rtl')) {
- steps = -steps;
- }
-
- Components.Run.make(Components.Direction.resolve('<' + steps));
- } else if (swipeDistance < -threshold && swipeDeg < settings.touchAngle) {
- // While swipe is negative and lower than negative threshold move forward.
- if (settings.perTouch) {
- steps = Math.max(steps, -toInt(settings.perTouch));
- }
-
- if (Components.Direction.is('rtl')) {
- steps = -steps;
- }
-
- Components.Run.make(Components.Direction.resolve('>' + steps));
- } else {
- // While swipe don't reach distance apply previous transform.
- Components.Move.make();
- }
-
- Components.Html.root.classList.remove(settings.classes.dragging);
- this.unbindSwipeMove();
- this.unbindSwipeEnd();
- Events.emit('swipe.end');
- }
- },
-
- /**
- * Binds swipe's starting event.
- *
- * @return {Void}
- */
- bindSwipeStart: function bindSwipeStart() {
- var _this = this;
-
- var settings = Glide.settings;
-
- if (settings.swipeThreshold) {
- Binder.on(START_EVENTS[0], Components.Html.wrapper, function (event) {
- _this.start(event);
- }, capture);
- }
-
- if (settings.dragThreshold) {
- Binder.on(START_EVENTS[1], Components.Html.wrapper, function (event) {
- _this.start(event);
- }, capture);
- }
- },
-
- /**
- * Unbinds swipe's starting event.
- *
- * @return {Void}
- */
- unbindSwipeStart: function unbindSwipeStart() {
- Binder.off(START_EVENTS[0], Components.Html.wrapper, capture);
- Binder.off(START_EVENTS[1], Components.Html.wrapper, capture);
- },
-
- /**
- * Binds swipe's moving event.
- *
- * @return {Void}
- */
- bindSwipeMove: function bindSwipeMove() {
- var _this2 = this;
-
- Binder.on(MOVE_EVENTS, Components.Html.wrapper, throttle(function (event) {
- _this2.move(event);
- }, Glide.settings.throttle), capture);
- },
-
- /**
- * Unbinds swipe's moving event.
- *
- * @return {Void}
- */
- unbindSwipeMove: function unbindSwipeMove() {
- Binder.off(MOVE_EVENTS, Components.Html.wrapper, capture);
- },
-
- /**
- * Binds swipe's ending event.
- *
- * @return {Void}
- */
- bindSwipeEnd: function bindSwipeEnd() {
- var _this3 = this;
-
- Binder.on(END_EVENTS, Components.Html.wrapper, function (event) {
- _this3.end(event);
- });
- },
-
- /**
- * Unbinds swipe's ending event.
- *
- * @return {Void}
- */
- unbindSwipeEnd: function unbindSwipeEnd() {
- Binder.off(END_EVENTS, Components.Html.wrapper);
- },
-
- /**
- * Normalizes event touches points accorting to different types.
- *
- * @param {Object} event
- */
- touches: function touches(event) {
- if (MOUSE_EVENTS.indexOf(event.type) > -1) {
- return event;
- }
-
- return event.touches[0] || event.changedTouches[0];
- },
-
- /**
- * Gets value of minimum swipe distance settings based on event type.
- *
- * @return {Number}
- */
- threshold: function threshold(event) {
- var settings = Glide.settings;
-
- if (MOUSE_EVENTS.indexOf(event.type) > -1) {
- return settings.dragThreshold;
- }
-
- return settings.swipeThreshold;
- },
-
- /**
- * Enables swipe event.
- *
- * @return {self}
- */
- enable: function enable() {
- disabled = false;
- Components.Transition.enable();
- return this;
- },
-
- /**
- * Disables swipe event.
- *
- * @return {self}
- */
- disable: function disable() {
- disabled = true;
- Components.Transition.disable();
- return this;
- }
- };
- /**
- * Add component class:
- * - after initial building
- */
-
- Events.on('build.after', function () {
- Components.Html.root.classList.add(Glide.settings.classes.swipeable);
- });
- /**
- * Remove swiping bindings:
- * - on destroying, to remove added EventListeners
- */
-
- Events.on('destroy', function () {
- Swipe.unbindSwipeStart();
- Swipe.unbindSwipeMove();
- Swipe.unbindSwipeEnd();
- Binder.destroy();
- });
- return Swipe;
-}
-
-function images(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var Images = {
- /**
- * Binds listener to glide wrapper.
- *
- * @return {Void}
- */
- mount: function mount() {
- this.bind();
- },
-
- /**
- * Binds `dragstart` event on wrapper to prevent dragging images.
- *
- * @return {Void}
- */
- bind: function bind() {
- Binder.on('dragstart', Components.Html.wrapper, this.dragstart);
- },
-
- /**
- * Unbinds `dragstart` event on wrapper.
- *
- * @return {Void}
- */
- unbind: function unbind() {
- Binder.off('dragstart', Components.Html.wrapper);
- },
-
- /**
- * Event handler. Prevents dragging.
- *
- * @return {Void}
- */
- dragstart: function dragstart(event) {
- event.preventDefault();
- }
- };
- /**
- * Remove bindings from images:
- * - on destroying, to remove added EventListeners
- */
-
- Events.on('destroy', function () {
- Images.unbind();
- Binder.destroy();
- });
- return Images;
-}
-
-function anchors(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- /**
- * Holds detaching status of anchors.
- * Prevents detaching of already detached anchors.
- *
- * @private
- * @type {Boolean}
- */
-
- var detached = false;
- /**
- * Holds preventing status of anchors.
- * If `true` redirection after click will be disabled.
- *
- * @private
- * @type {Boolean}
- */
-
- var prevented = false;
- var Anchors = {
- /**
- * Setups a initial state of anchors component.
- *
- * @returns {Void}
- */
- mount: function mount() {
- /**
- * Holds collection of anchors elements.
- *
- * @private
- * @type {HTMLCollection}
- */
- this._a = Components.Html.wrapper.querySelectorAll('a');
- this.bind();
- },
-
- /**
- * Binds events to anchors inside a track.
- *
- * @return {Void}
- */
- bind: function bind() {
- Binder.on('click', Components.Html.wrapper, this.click);
- },
-
- /**
- * Unbinds events attached to anchors inside a track.
- *
- * @return {Void}
- */
- unbind: function unbind() {
- Binder.off('click', Components.Html.wrapper);
- },
-
- /**
- * Handler for click event. Prevents clicks when glide is in `prevent` status.
- *
- * @param {Object} event
- * @return {Void}
- */
- click: function click(event) {
- if (prevented) {
- event.stopPropagation();
- event.preventDefault();
- }
- },
-
- /**
- * Detaches anchors click event inside glide.
- *
- * @return {self}
- */
- detach: function detach() {
- prevented = true;
-
- if (!detached) {
- for (var i = 0; i < this.items.length; i++) {
- this.items[i].draggable = false;
- this.items[i].setAttribute('data-href', this.items[i].getAttribute('href'));
- this.items[i].removeAttribute('href');
- }
-
- detached = true;
- }
-
- return this;
- },
-
- /**
- * Attaches anchors click events inside glide.
- *
- * @return {self}
- */
- attach: function attach() {
- prevented = false;
-
- if (detached) {
- for (var i = 0; i < this.items.length; i++) {
- this.items[i].draggable = true;
- this.items[i].setAttribute('href', this.items[i].getAttribute('data-href'));
- }
-
- detached = false;
- }
-
- return this;
- }
- };
- define(Anchors, 'items', {
- /**
- * Gets collection of the arrows HTML elements.
- *
- * @return {HTMLElement[]}
- */
- get: function get() {
- return Anchors._a;
- }
- });
- /**
- * Detach anchors inside slides:
- * - on swiping, so they won't redirect to its `href` attributes
- */
-
- Events.on('swipe.move', function () {
- Anchors.detach();
- });
- /**
- * Attach anchors inside slides:
- * - after swiping and transitions ends, so they can redirect after click again
- */
-
- Events.on('swipe.end', function () {
- Components.Transition.after(function () {
- Anchors.attach();
- });
- });
- /**
- * Unbind anchors inside slides:
- * - on destroying, to bring anchors to its initial state
- */
-
- Events.on('destroy', function () {
- Anchors.attach();
- Anchors.unbind();
- Binder.destroy();
- });
- return Anchors;
-}
-
-var NAV_SELECTOR = '[data-glide-el="controls[nav]"]';
-var CONTROLS_SELECTOR = '[data-glide-el^="controls"]';
-
-function controls(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var capture = supportsPassive$1 ? {
- passive: true
- } : false;
- var Controls = {
- /**
- * Inits arrows. Binds events listeners
- * to the arrows HTML elements.
- *
- * @return {Void}
- */
- mount: function mount() {
- /**
- * Collection of navigation HTML elements.
- *
- * @private
- * @type {HTMLCollection}
- */
- this._n = Components.Html.root.querySelectorAll(NAV_SELECTOR);
- /**
- * Collection of controls HTML elements.
- *
- * @private
- * @type {HTMLCollection}
- */
-
- this._c = Components.Html.root.querySelectorAll(CONTROLS_SELECTOR);
- this.addBindings();
- },
-
- /**
- * Sets active class to current slide.
- *
- * @return {Void}
- */
- setActive: function setActive() {
- for (var i = 0; i < this._n.length; i++) {
- this.addClass(this._n[i].children);
- }
- },
-
- /**
- * Removes active class to current slide.
- *
- * @return {Void}
- */
- removeActive: function removeActive() {
- for (var i = 0; i < this._n.length; i++) {
- this.removeClass(this._n[i].children);
- }
- },
-
- /**
- * Toggles active class on items inside navigation.
- *
- * @param {HTMLElement} controls
- * @return {Void}
- */
- addClass: function addClass(controls) {
- var settings = Glide.settings;
- var item = controls[Glide.index];
-
- if (item) {
- item.classList.add(settings.classes.activeNav);
- siblings(item).forEach(function (sibling) {
- sibling.classList.remove(settings.classes.activeNav);
- });
- }
- },
-
- /**
- * Removes active class from active control.
- *
- * @param {HTMLElement} controls
- * @return {Void}
- */
- removeClass: function removeClass(controls) {
- var item = controls[Glide.index];
-
- if (item) {
- item.classList.remove(Glide.settings.classes.activeNav);
- }
- },
-
- /**
- * Adds handles to the each group of controls.
- *
- * @return {Void}
- */
- addBindings: function addBindings() {
- for (var i = 0; i < this._c.length; i++) {
- this.bind(this._c[i].children);
- }
- },
-
- /**
- * Removes handles from the each group of controls.
- *
- * @return {Void}
- */
- removeBindings: function removeBindings() {
- for (var i = 0; i < this._c.length; i++) {
- this.unbind(this._c[i].children);
- }
- },
-
- /**
- * Binds events to arrows HTML elements.
- *
- * @param {HTMLCollection} elements
- * @return {Void}
- */
- bind: function bind(elements) {
- for (var i = 0; i < elements.length; i++) {
- Binder.on('click', elements[i], this.click);
- Binder.on('touchstart', elements[i], this.click, capture);
- }
- },
-
- /**
- * Unbinds events binded to the arrows HTML elements.
- *
- * @param {HTMLCollection} elements
- * @return {Void}
- */
- unbind: function unbind(elements) {
- for (var i = 0; i < elements.length; i++) {
- Binder.off(['click', 'touchstart'], elements[i]);
- }
- },
-
- /**
- * Handles `click` event on the arrows HTML elements.
- * Moves slider in driection precised in
- * `data-glide-dir` attribute.
- *
- * @param {Object} event
- * @return {Void}
- */
- click: function click(event) {
- event.preventDefault();
- Components.Run.make(Components.Direction.resolve(event.currentTarget.getAttribute('data-glide-dir')));
- }
- };
- define(Controls, 'items', {
- /**
- * Gets collection of the controls HTML elements.
- *
- * @return {HTMLElement[]}
- */
- get: function get() {
- return Controls._c;
- }
- });
- /**
- * Swap active class of current navigation item:
- * - after mounting to set it to initial index
- * - after each move to the new index
- */
-
- Events.on(['mount.after', 'move.after'], function () {
- Controls.setActive();
- });
- /**
- * Remove bindings and HTML Classes:
- * - on destroying, to bring markup to its initial state
- */
-
- Events.on('destroy', function () {
- Controls.removeBindings();
- Controls.removeActive();
- Binder.destroy();
- });
- return Controls;
-}
-
-function keyboard(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var Keyboard = {
- /**
- * Binds keyboard events on component mount.
- *
- * @return {Void}
- */
- mount: function mount() {
- if (Glide.settings.keyboard) {
- this.bind();
- }
- },
-
- /**
- * Adds keyboard press events.
- *
- * @return {Void}
- */
- bind: function bind() {
- Binder.on('keyup', document, this.press);
- },
-
- /**
- * Removes keyboard press events.
- *
- * @return {Void}
- */
- unbind: function unbind() {
- Binder.off('keyup', document);
- },
-
- /**
- * Handles keyboard's arrows press and moving glide foward and backward.
- *
- * @param {Object} event
- * @return {Void}
- */
- press: function press(event) {
- if (event.keyCode === 39) {
- Components.Run.make(Components.Direction.resolve('>'));
- }
-
- if (event.keyCode === 37) {
- Components.Run.make(Components.Direction.resolve('<'));
- }
- }
- };
- /**
- * Remove bindings from keyboard:
- * - on destroying to remove added events
- * - on updating to remove events before remounting
- */
-
- Events.on(['destroy', 'update'], function () {
- Keyboard.unbind();
- });
- /**
- * Remount component
- * - on updating to reflect potential changes in settings
- */
-
- Events.on('update', function () {
- Keyboard.mount();
- });
- /**
- * Destroy binder:
- * - on destroying to remove listeners
- */
-
- Events.on('destroy', function () {
- Binder.destroy();
- });
- return Keyboard;
-}
-
-function autoplay(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- var Autoplay = {
- /**
- * Initializes autoplaying and events.
- *
- * @return {Void}
- */
- mount: function mount() {
- this.start();
-
- if (Glide.settings.hoverpause) {
- this.bind();
- }
- },
-
- /**
- * Starts autoplaying in configured interval.
- *
- * @param {Boolean|Number} force Run autoplaying with passed interval regardless of `autoplay` settings
- * @return {Void}
- */
- start: function start() {
- var _this = this;
-
- if (Glide.settings.autoplay) {
- if (isUndefined(this._i)) {
- this._i = setInterval(function () {
- _this.stop();
-
- Components.Run.make('>');
-
- _this.start();
- }, this.time);
- }
- }
- },
-
- /**
- * Stops autorunning of the glide.
- *
- * @return {Void}
- */
- stop: function stop() {
- this._i = clearInterval(this._i);
- },
-
- /**
- * Stops autoplaying while mouse is over glide's area.
- *
- * @return {Void}
- */
- bind: function bind() {
- var _this2 = this;
-
- Binder.on('mouseover', Components.Html.root, function () {
- _this2.stop();
- });
- Binder.on('mouseout', Components.Html.root, function () {
- _this2.start();
- });
- },
-
- /**
- * Unbind mouseover events.
- *
- * @returns {Void}
- */
- unbind: function unbind() {
- Binder.off(['mouseover', 'mouseout'], Components.Html.root);
- }
- };
- define(Autoplay, 'time', {
- /**
- * Gets time period value for the autoplay interval. Prioritizes
- * times in `data-glide-autoplay` attrubutes over options.
- *
- * @return {Number}
- */
- get: function get() {
- var autoplay = Components.Html.slides[Glide.index].getAttribute('data-glide-autoplay');
-
- if (autoplay) {
- return toInt(autoplay);
- }
-
- return toInt(Glide.settings.autoplay);
- }
- });
- /**
- * Stop autoplaying and unbind events:
- * - on destroying, to clear defined interval
- * - on updating via API to reset interval that may changed
- */
-
- Events.on(['destroy', 'update'], function () {
- Autoplay.unbind();
- });
- /**
- * Stop autoplaying:
- * - before each run, to restart autoplaying
- * - on pausing via API
- * - on destroying, to clear defined interval
- * - while starting a swipe
- * - on updating via API to reset interval that may changed
- */
-
- Events.on(['run.before', 'pause', 'destroy', 'swipe.start', 'update'], function () {
- Autoplay.stop();
- });
- /**
- * Start autoplaying:
- * - after each run, to restart autoplaying
- * - on playing via API
- * - while ending a swipe
- */
-
- Events.on(['run.after', 'play', 'swipe.end'], function () {
- Autoplay.start();
- });
- /**
- * Remount autoplaying:
- * - on updating via API to reset interval that may changed
- */
-
- Events.on('update', function () {
- Autoplay.mount();
- });
- /**
- * Destroy a binder:
- * - on destroying glide instance to clearup listeners
- */
-
- Events.on('destroy', function () {
- Binder.destroy();
- });
- return Autoplay;
-}
-/**
- * Sorts keys of breakpoint object so they will be ordered from lower to bigger.
- *
- * @param {Object} points
- * @returns {Object}
- */
-
-
-function sortBreakpoints(points) {
- if (isObject(points)) {
- return sortKeys(points);
- } else {
- warn('Breakpoints option must be an object');
- }
-
- return {};
-}
-
-function breakpoints(Glide, Components, Events) {
- /**
- * Instance of the binder for DOM Events.
- *
- * @type {EventsBinder}
- */
- var Binder = new EventsBinder();
- /**
- * Holds reference to settings.
- *
- * @type {Object}
- */
-
- var settings = Glide.settings;
- /**
- * Holds reference to breakpoints object in settings. Sorts breakpoints
- * from smaller to larger. It is required in order to proper
- * matching currently active breakpoint settings.
- *
- * @type {Object}
- */
-
- var points = sortBreakpoints(settings.breakpoints);
- /**
- * Cache initial settings before overwritting.
- *
- * @type {Object}
- */
-
- var defaults = _extends({}, settings);
-
- var Breakpoints = {
- /**
- * Matches settings for currectly matching media breakpoint.
- *
- * @param {Object} points
- * @returns {Object}
- */
- match: function match(points) {
- if (typeof window.matchMedia !== 'undefined') {
- for (var point in points) {
- if (points.hasOwnProperty(point)) {
- if (window.matchMedia('(max-width: ' + point + 'px)').matches) {
- return points[point];
- }
- }
- }
- }
-
- return defaults;
- }
- };
- /**
- * Overwrite instance settings with currently matching breakpoint settings.
- * This happens right after component initialization.
- */
-
- _extends(settings, Breakpoints.match(points));
- /**
- * Update glide with settings of matched brekpoint:
- * - window resize to update slider
- */
-
-
- Binder.on('resize', window, throttle(function () {
- Glide.settings = mergeOptions(settings, Breakpoints.match(points));
- }, Glide.settings.throttle));
- /**
- * Resort and update default settings:
- * - on reinit via API, so breakpoint matching will be performed with options
- */
-
- Events.on('update', function () {
- points = sortBreakpoints(points);
- defaults = _extends({}, settings);
- });
- /**
- * Unbind resize listener:
- * - on destroying, to bring markup to its initial state
- */
-
- Events.on('destroy', function () {
- Binder.off('resize', window);
- });
- return Breakpoints;
-}
-
-var COMPONENTS = {
- Html: Html,
- Translate: Translate,
- Transition: Transition,
- Direction: Direction,
- Peek: Peek,
- Sizes: Sizes,
- Gaps: Gaps,
- Move: Move,
- Clones: Clones,
- Resize: Resize,
- Build: Build,
- Run: Run
-};
-
-var Glide$1 = function (_Core) {
- inherits(Glide$$1, _Core);
-
- function Glide$$1() {
- classCallCheck(this, Glide$$1);
- return possibleConstructorReturn(this, (Glide$$1.__proto__ || Object.getPrototypeOf(Glide$$1)).apply(this, arguments));
- }
-
- createClass(Glide$$1, [{
- key: 'mount',
- value: function mount() {
- var extensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- return get(Glide$$1.prototype.__proto__ || Object.getPrototypeOf(Glide$$1.prototype), 'mount', this).call(this, _extends({}, COMPONENTS, extensions));
- }
- }]);
- return Glide$$1;
-}(Glide);
-
-/* harmony default export */ __webpack_exports__["default"] = (Glide$1);
-
-
-/***/ }),
-
-/***/ "./node_modules/aos/dist/aos.js":
-/*!**************************************!*\
- !*** ./node_modules/aos/dist/aos.js ***!
- \**************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
-
-!function (e, t) {
- "object" == ( false ? undefined : _typeof(exports)) && "object" == ( false ? undefined : _typeof(module)) ? module.exports = t() : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (t),
- __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
- (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : undefined;
-}(this, function () {
- return function (e) {
- function t(o) {
- if (n[o]) return n[o].exports;
- var i = n[o] = {
- exports: {},
- id: o,
- loaded: !1
- };
- return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
- }
-
- var n = {};
- return t.m = e, t.c = n, t.p = "dist/", t(0);
- }([function (e, t, n) {
- "use strict";
-
- function o(e) {
- return e && e.__esModule ? e : {
- "default": e
- };
- }
-
- var i = Object.assign || function (e) {
- for (var t = 1; t < arguments.length; t++) {
- var n = arguments[t];
-
- for (var o in n) {
- Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
- }
- }
-
- return e;
- },
- r = n(1),
- a = (o(r), n(6)),
- u = o(a),
- c = n(7),
- s = o(c),
- f = n(8),
- d = o(f),
- l = n(9),
- p = o(l),
- m = n(10),
- b = o(m),
- v = n(11),
- y = o(v),
- g = n(14),
- h = o(g),
- w = [],
- k = !1,
- x = {
- offset: 120,
- delay: 0,
- easing: "ease",
- duration: 400,
- disable: !1,
- once: !1,
- startEvent: "DOMContentLoaded",
- throttleDelay: 99,
- debounceDelay: 50,
- disableMutationObserver: !1
- },
- j = function j() {
- var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
- if (e && (k = !0), k) return w = (0, y["default"])(w, x), (0, b["default"])(w, x.once), w;
- },
- O = function O() {
- w = (0, h["default"])(), j();
- },
- M = function M() {
- w.forEach(function (e, t) {
- e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
- });
- },
- S = function S(e) {
- return e === !0 || "mobile" === e && p["default"].mobile() || "phone" === e && p["default"].phone() || "tablet" === e && p["default"].tablet() || "function" == typeof e && e() === !0;
- },
- _ = function _(e) {
- x = i(x, e), w = (0, h["default"])();
- var t = document.all && !window.atob;
- return S(x.disable) || t ? M() : (x.disableMutationObserver || d["default"].isSupported() || (console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && ["complete", "interactive"].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function () {
- j(!0);
- }) : document.addEventListener(x.startEvent, function () {
- j(!0);
- }), window.addEventListener("resize", (0, s["default"])(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s["default"])(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u["default"])(function () {
- (0, b["default"])(w, x.once);
- }, x.throttleDelay), {
- passive: !0
- }), x.disableMutationObserver || d["default"].ready("[data-aos]", O), w);
- };
-
- e.exports = {
- init: _,
- refresh: j,
- refreshHard: O
- };
- }, function (e, t) {},,,,, function (e, t) {
- (function (t) {
- "use strict";
-
- function n(e, t, n) {
- function o(t) {
- var n = b,
- o = v;
- return b = v = void 0, k = t, g = e.apply(o, n);
- }
-
- function r(e) {
- return k = e, h = setTimeout(f, t), M ? o(e) : g;
- }
-
- function a(e) {
- var n = e - w,
- o = e - k,
- i = t - n;
- return S ? j(i, y - o) : i;
- }
-
- function c(e) {
- var n = e - w,
- o = e - k;
- return void 0 === w || n >= t || n < 0 || S && o >= y;
- }
-
- function f() {
- var e = O();
- return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
- }
-
- function d(e) {
- return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
- }
-
- function l() {
- void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
- }
-
- function p() {
- return void 0 === h ? g : d(O());
- }
-
- function m() {
- var e = O(),
- n = c(e);
-
- if (b = arguments, v = this, w = e, n) {
- if (void 0 === h) return r(w);
- if (S) return h = setTimeout(f, t), o(w);
- }
-
- return void 0 === h && (h = setTimeout(f, t)), g;
- }
-
- var b,
- v,
- y,
- g,
- h,
- w,
- k = 0,
- M = !1,
- S = !1,
- _ = !0;
-
- if ("function" != typeof e) throw new TypeError(s);
- return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
- }
-
- function o(e, t, o) {
- var r = !0,
- a = !0;
- if ("function" != typeof e) throw new TypeError(s);
- return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
- leading: r,
- maxWait: t,
- trailing: a
- });
- }
-
- function i(e) {
- var t = "undefined" == typeof e ? "undefined" : c(e);
- return !!e && ("object" == t || "function" == t);
- }
-
- function r(e) {
- return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
- }
-
- function a(e) {
- return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
- }
-
- function u(e) {
- if ("number" == typeof e) return e;
- if (a(e)) return f;
-
- if (i(e)) {
- var t = "function" == typeof e.valueOf ? e.valueOf() : e;
- e = i(t) ? t + "" : t;
- }
-
- if ("string" != typeof e) return 0 === e ? e : +e;
- e = e.replace(l, "");
- var n = m.test(e);
- return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
- }
-
- var c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
- return _typeof(e);
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
- },
- s = "Expected a function",
- f = NaN,
- d = "[object Symbol]",
- l = /^\s+|\s+$/g,
- p = /^[-+]0x[0-9a-f]+$/i,
- m = /^0b[01]+$/i,
- b = /^0o[0-7]+$/i,
- v = parseInt,
- y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t,
- g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self,
- h = y || g || Function("return this")(),
- w = Object.prototype,
- k = w.toString,
- x = Math.max,
- j = Math.min,
- O = function O() {
- return h.Date.now();
- };
-
- e.exports = o;
- }).call(t, function () {
- return this;
- }());
- }, function (e, t) {
- (function (t) {
- "use strict";
-
- function n(e, t, n) {
- function i(t) {
- var n = b,
- o = v;
- return b = v = void 0, O = t, g = e.apply(o, n);
- }
-
- function r(e) {
- return O = e, h = setTimeout(f, t), M ? i(e) : g;
- }
-
- function u(e) {
- var n = e - w,
- o = e - O,
- i = t - n;
- return S ? x(i, y - o) : i;
- }
-
- function s(e) {
- var n = e - w,
- o = e - O;
- return void 0 === w || n >= t || n < 0 || S && o >= y;
- }
-
- function f() {
- var e = j();
- return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
- }
-
- function d(e) {
- return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
- }
-
- function l() {
- void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
- }
-
- function p() {
- return void 0 === h ? g : d(j());
- }
-
- function m() {
- var e = j(),
- n = s(e);
-
- if (b = arguments, v = this, w = e, n) {
- if (void 0 === h) return r(w);
- if (S) return h = setTimeout(f, t), i(w);
- }
-
- return void 0 === h && (h = setTimeout(f, t)), g;
- }
-
- var b,
- v,
- y,
- g,
- h,
- w,
- O = 0,
- M = !1,
- S = !1,
- _ = !0;
-
- if ("function" != typeof e) throw new TypeError(c);
- return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
- }
-
- function o(e) {
- var t = "undefined" == typeof e ? "undefined" : u(e);
- return !!e && ("object" == t || "function" == t);
- }
-
- function i(e) {
- return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
- }
-
- function r(e) {
- return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
- }
-
- function a(e) {
- if ("number" == typeof e) return e;
- if (r(e)) return s;
-
- if (o(e)) {
- var t = "function" == typeof e.valueOf ? e.valueOf() : e;
- e = o(t) ? t + "" : t;
- }
-
- if ("string" != typeof e) return 0 === e ? e : +e;
- e = e.replace(d, "");
- var n = p.test(e);
- return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
- }
-
- var u = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
- return _typeof(e);
- } : function (e) {
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
- },
- c = "Expected a function",
- s = NaN,
- f = "[object Symbol]",
- d = /^\s+|\s+$/g,
- l = /^[-+]0x[0-9a-f]+$/i,
- p = /^0b[01]+$/i,
- m = /^0o[0-7]+$/i,
- b = parseInt,
- v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t,
- y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self,
- g = v || y || Function("return this")(),
- h = Object.prototype,
- w = h.toString,
- k = Math.max,
- x = Math.min,
- j = function j() {
- return g.Date.now();
- };
-
- e.exports = n;
- }).call(t, function () {
- return this;
- }());
- }, function (e, t) {
- "use strict";
-
- function n(e) {
- var t = void 0,
- o = void 0,
- i = void 0;
-
- for (t = 0; t < e.length; t += 1) {
- if (o = e[t], o.dataset && o.dataset.aos) return !0;
- if (i = o.children && n(o.children)) return !0;
- }
-
- return !1;
- }
-
- function o() {
- return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
- }
-
- function i() {
- return !!o();
- }
-
- function r(e, t) {
- var n = window.document,
- i = o(),
- r = new i(a);
- u = t, r.observe(n.documentElement, {
- childList: !0,
- subtree: !0,
- removedNodes: !0
- });
- }
-
- function a(e) {
- e && e.forEach(function (e) {
- var t = Array.prototype.slice.call(e.addedNodes),
- o = Array.prototype.slice.call(e.removedNodes),
- i = t.concat(o);
- if (n(i)) return u();
- });
- }
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var u = function u() {};
-
- t["default"] = {
- isSupported: i,
- ready: r
- };
- }, function (e, t) {
- "use strict";
-
- function n(e, t) {
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
- }
-
- function o() {
- return navigator.userAgent || navigator.vendor || window.opera || "";
- }
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var i = function () {
- function e(e, t) {
- for (var n = 0; n < t.length; n++) {
- var o = t[n];
- o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
- }
- }
-
- return function (t, n, o) {
- return n && e(t.prototype, n), o && e(t, o), t;
- };
- }(),
- r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,
- a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,
- u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,
- c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,
- s = function () {
- function e() {
- n(this, e);
- }
-
- return i(e, [{
- key: "phone",
- value: function value() {
- var e = o();
- return !(!r.test(e) && !a.test(e.substr(0, 4)));
- }
- }, {
- key: "mobile",
- value: function value() {
- var e = o();
- return !(!u.test(e) && !c.test(e.substr(0, 4)));
- }
- }, {
- key: "tablet",
- value: function value() {
- return this.mobile() && !this.phone();
- }
- }]), e;
- }();
-
- t["default"] = new s();
- }, function (e, t) {
- "use strict";
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var n = function n(e, t, _n) {
- var o = e.node.getAttribute("data-aos-once");
- t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !_n && "true" !== o) && e.node.classList.remove("aos-animate");
- },
- o = function o(e, t) {
- var o = window.pageYOffset,
- i = window.innerHeight;
- e.forEach(function (e, r) {
- n(e, i + o, t);
- });
- };
-
- t["default"] = o;
- }, function (e, t, n) {
- "use strict";
-
- function o(e) {
- return e && e.__esModule ? e : {
- "default": e
- };
- }
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var i = n(12),
- r = o(i),
- a = function a(e, t) {
- return e.forEach(function (e, n) {
- e.node.classList.add("aos-init"), e.position = (0, r["default"])(e.node, t.offset);
- }), e;
- };
-
- t["default"] = a;
- }, function (e, t, n) {
- "use strict";
-
- function o(e) {
- return e && e.__esModule ? e : {
- "default": e
- };
- }
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var i = n(13),
- r = o(i),
- a = function a(e, t) {
- var n = 0,
- o = 0,
- i = window.innerHeight,
- a = {
- offset: e.getAttribute("data-aos-offset"),
- anchor: e.getAttribute("data-aos-anchor"),
- anchorPlacement: e.getAttribute("data-aos-anchor-placement")
- };
-
- switch (a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r["default"])(e).top, a.anchorPlacement) {
- case "top-bottom":
- break;
-
- case "center-bottom":
- n += e.offsetHeight / 2;
- break;
-
- case "bottom-bottom":
- n += e.offsetHeight;
- break;
-
- case "top-center":
- n += i / 2;
- break;
-
- case "bottom-center":
- n += i / 2 + e.offsetHeight;
- break;
-
- case "center-center":
- n += i / 2 + e.offsetHeight / 2;
- break;
-
- case "top-top":
- n += i;
- break;
-
- case "bottom-top":
- n += e.offsetHeight + i;
- break;
-
- case "center-top":
- n += e.offsetHeight / 2 + i;
- }
-
- return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
- };
-
- t["default"] = a;
- }, function (e, t) {
- "use strict";
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var n = function n(e) {
- for (var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);) {
- t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
- }
-
- return {
- top: n,
- left: t
- };
- };
-
- t["default"] = n;
- }, function (e, t) {
- "use strict";
-
- Object.defineProperty(t, "__esModule", {
- value: !0
- });
-
- var n = function n(e) {
- return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function (e) {
- return {
- node: e
- };
- });
- };
-
- t["default"] = n;
- }]);
-});
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
-
-/***/ }),
-
-/***/ "./node_modules/fitvids/index.js":
-/*!***************************************!*\
- !*** ./node_modules/fitvids/index.js ***!
- \***************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var selectors = ['iframe[src*="player.vimeo.com"]', 'iframe[src*="youtube.com"]', 'iframe[src*="youtube-nocookie.com"]', 'iframe[src*="kickstarter.com"][src*="video.html"]', 'object'];
-var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
-
-module.exports = function (parentSelector, opts) {
- parentSelector = parentSelector || 'body';
- opts = opts || {};
-
- if (isObject(parentSelector)) {
- opts = parentSelector;
- parentSelector = 'body';
- }
-
- opts.ignore = opts.ignore || '';
- opts.players = opts.players || '';
- var containers = queryAll(parentSelector);
- if (!hasLength(containers)) return;
-
- if (!document.getElementById('fit-vids-style')) {
- var head = document.head || document.getElementsByTagName('head')[0];
- head.appendChild(styles());
- }
-
- var custom = toSelectorArray(opts.players) || [];
- var ignored = toSelectorArray(opts.ignore) || [];
- var selector = selectors.filter(notIgnored(ignored)).concat(custom).join();
- if (!hasLength(selector)) return;
- containers.forEach(function (container) {
- var videos = queryAll(container, selector);
- videos.forEach(function (video) {
- wrap(video);
- });
- });
-};
-
-function queryAll(el, selector) {
- if (typeof el === 'string') {
- selector = el;
- el = document;
- }
-
- return Array.prototype.slice.call(el.querySelectorAll(selector));
-}
-
-function toSelectorArray(input) {
- if (typeof input === 'string') {
- return input.split(',').map(trim).filter(hasLength);
- } else if (isArray(input)) {
- return flatten(input.map(toSelectorArray).filter(hasLength));
- }
-
- return input || [];
-}
-
-function wrap(el) {
- if (/fluid-width-video-wrapper/.test(el.parentNode.className)) return;
- var widthAttr = parseInt(el.getAttribute('width'), 10);
- var heightAttr = parseInt(el.getAttribute('height'), 10);
- var width = !isNaN(widthAttr) ? widthAttr : el.clientWidth;
- var height = !isNaN(heightAttr) ? heightAttr : el.clientHeight;
- var aspect = height / width;
- el.removeAttribute('width');
- el.removeAttribute('height');
- var wrapper = document.createElement('div');
- el.parentNode.insertBefore(wrapper, el);
- wrapper.className = 'fluid-width-video-wrapper';
- wrapper.style.paddingTop = aspect * 100 + '%';
- wrapper.appendChild(el);
-}
-
-function styles() {
- var div = document.createElement('div');
- div.innerHTML = 'x
';
- return div.childNodes[1];
-}
-
-function notIgnored(ignored) {
- if (ignored.length < 1) {
- return function () {
- return true;
- };
- }
-
- return function (selector) {
- return ignored.indexOf(selector) === -1;
- };
-}
-
-function hasLength(input) {
- return input.length > 0;
-}
-
-function trim(str) {
- return str.replace(/^\s+|\s+$/g, '');
-}
-
-function flatten(input) {
- return [].concat.apply([], input);
-}
-
-function isObject(input) {
- return Object.prototype.toString.call(input) === '[object Object]';
-}
-
-function isArray(input) {
- return Object.prototype.toString.call(input) === '[object Array]';
-}
-
-/***/ }),
-
-/***/ "./node_modules/fuse.js/dist/fuse.basic.esm.min.js":
-/*!*********************************************************!*\
- !*** ./node_modules/fuse.js/dist/fuse.basic.esm.min.js ***!
- \*********************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
-
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-/**
- * Fuse.js v6.3.1 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2020 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-function t(t) {
- return Array.isArray ? Array.isArray(t) : "[object Array]" === Object.prototype.toString.call(t);
-}
-
-function e(t) {
- return "string" == typeof t;
-}
-
-function n(t) {
- return "number" == typeof t;
-}
-
-function s(t) {
- return null != t;
-}
-
-function i(t) {
- return !t.trim().length;
-}
-
-var r = Object.prototype.hasOwnProperty;
-
-var o =
-/*#__PURE__*/
-function () {
- function o(t) {
- var _this = this;
-
- _classCallCheck(this, o);
-
- this._keys = [], this._keyMap = {};
- var e = 0;
- t.forEach(function (t) {
- var n = c(t);
- e += n.weight, _this._keys.push(n), _this._keyMap[n.id] = n, e += n.weight;
- }), this._keys.forEach(function (t) {
- t.weight /= e;
- });
- }
-
- _createClass(o, [{
- key: "get",
- value: function get(t) {
- return this._keyMap[t];
- }
- }, {
- key: "keys",
- value: function keys() {
- return this._keys;
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return JSON.stringify(this._keys);
- }
- }]);
-
- return o;
-}();
-
-function c(n) {
- var s = null,
- i = null,
- o = null,
- c = 1;
- if (e(n) || t(n)) o = n, s = h(n), i = a(n);else {
- if (!r.call(n, "name")) throw new Error(function (t) {
- return "Missing ".concat(t, " property in key");
- }("name"));
- var _t = n.name;
- if (o = _t, r.call(n, "weight") && (c = n.weight, c <= 0)) throw new Error(function (t) {
- return "Property 'weight' in key '".concat(t, "' must be a positive integer");
- }(_t));
- s = h(_t), i = a(_t);
- }
- return {
- path: s,
- id: i,
- weight: c,
- src: o
- };
-}
-
-function h(e) {
- return t(e) ? e : e.split(".");
-}
-
-function a(e) {
- return t(e) ? e.join(".") : e;
-}
-
-var l = _objectSpread({
- isCaseSensitive: !1,
- includeScore: !1,
- keys: [],
- shouldSort: !0,
- sortFn: function sortFn(t, e) {
- return t.score === e.score ? t.idx < e.idx ? -1 : 1 : t.score < e.score ? -1 : 1;
- },
- includeMatches: !1,
- findAllMatches: !1,
- minMatchCharLength: 1,
- location: 0,
- threshold: .6,
- distance: 100
-}, {
- useExtendedSearch: !1,
- getFn: function getFn(i, r) {
- var o = [],
- c = !1;
-
- var h = function h(i, r, a) {
- if (r[a]) {
- var _l = i[r[a]];
- if (!s(_l)) return;
- if (a === r.length - 1 && (e(_l) || n(_l))) o.push(function (t) {
- return null == t ? "" : function (t) {
- if ("string" == typeof t) return t;
- var e = t + "";
- return "0" == e && 1 / t == -1 / 0 ? "-0" : e;
- }(t);
- }(_l));else if (t(_l)) {
- c = !0;
-
- for (var _t2 = 0, _e = _l.length; _t2 < _e; _t2 += 1) {
- h(_l[_t2], r, a + 1);
- }
- } else r.length && h(_l, r, a + 1);
- } else o.push(i);
- };
-
- return h(i, e(r) ? r.split(".") : r, 0), c ? o : o[0];
- },
- ignoreLocation: !1,
- ignoreFieldNorm: !1
-});
-
-var d = /[^ ]+/g;
-
-var u =
-/*#__PURE__*/
-function () {
- function u() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$getFn = _ref.getFn,
- t = _ref$getFn === void 0 ? l.getFn : _ref$getFn;
-
- _classCallCheck(this, u);
-
- this.norm = function () {
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 3;
- var e = new Map();
- return {
- get: function get(n) {
- var s = n.match(d).length;
- if (e.has(s)) return e.get(s);
- var i = parseFloat((1 / Math.sqrt(s)).toFixed(t));
- return e.set(s, i), i;
- },
- clear: function clear() {
- e.clear();
- }
- };
- }(3), this.getFn = t, this.isCreated = !1, this.setIndexRecords();
- }
-
- _createClass(u, [{
- key: "setSources",
- value: function setSources() {
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.docs = t;
- }
- }, {
- key: "setIndexRecords",
- value: function setIndexRecords() {
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.records = t;
- }
- }, {
- key: "setKeys",
- value: function setKeys() {
- var _this2 = this;
-
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.keys = t, this._keysMap = {}, t.forEach(function (t, e) {
- _this2._keysMap[t.id] = e;
- });
- }
- }, {
- key: "create",
- value: function create() {
- var _this3 = this;
-
- !this.isCreated && this.docs.length && (this.isCreated = !0, e(this.docs[0]) ? this.docs.forEach(function (t, e) {
- _this3._addString(t, e);
- }) : this.docs.forEach(function (t, e) {
- _this3._addObject(t, e);
- }), this.norm.clear());
- }
- }, {
- key: "add",
- value: function add(t) {
- var n = this.size();
- e(t) ? this._addString(t, n) : this._addObject(t, n);
- }
- }, {
- key: "removeAt",
- value: function removeAt(t) {
- this.records.splice(t, 1);
-
- for (var _e2 = t, _n = this.size(); _e2 < _n; _e2 += 1) {
- this.records[_e2].i -= 1;
- }
- }
- }, {
- key: "getValueForItemAtKeyId",
- value: function getValueForItemAtKeyId(t, e) {
- return t[this._keysMap[e]];
- }
- }, {
- key: "size",
- value: function size() {
- return this.records.length;
- }
- }, {
- key: "_addString",
- value: function _addString(t, e) {
- if (!s(t) || i(t)) return;
- var n = {
- v: t,
- i: e,
- n: this.norm.get(t)
- };
- this.records.push(n);
- }
- }, {
- key: "_addObject",
- value: function _addObject(n, r) {
- var _this4 = this;
-
- var o = {
- i: r,
- $: {}
- };
- this.keys.forEach(function (r, c) {
- var h = _this4.getFn(n, r.path);
-
- if (s(h)) if (t(h)) {
- (function () {
- var n = [];
- var r = [{
- nestedArrIndex: -1,
- value: h
- }];
-
- for (; r.length;) {
- var _r$pop = r.pop(),
- _o = _r$pop.nestedArrIndex,
- _c = _r$pop.value;
-
- if (s(_c)) if (e(_c) && !i(_c)) {
- var _t3 = {
- v: _c,
- i: _o,
- n: _this4.norm.get(_c)
- };
- n.push(_t3);
- } else t(_c) && _c.forEach(function (t, e) {
- r.push({
- nestedArrIndex: e,
- value: t
- });
- });
- }
-
- o.$[c] = n;
- })();
- } else if (!i(h)) {
- var _t4 = {
- v: h,
- n: _this4.norm.get(h)
- };
- o.$[c] = _t4;
- }
- }), this.records.push(o);
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- keys: this.keys,
- records: this.records
- };
- }
- }]);
-
- return u;
-}();
-
-function f(t, e) {
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref2$getFn = _ref2.getFn,
- n = _ref2$getFn === void 0 ? l.getFn : _ref2$getFn;
-
- var s = new u({
- getFn: n
- });
- return s.setKeys(t.map(c)), s.setSources(e), s.create(), s;
-}
-
-function g(t, e) {
- var n = t.matches;
- e.matches = [], s(n) && n.forEach(function (t) {
- if (!s(t.indices) || !t.indices.length) return;
- var n = t.indices,
- i = t.value;
- var r = {
- indices: n,
- value: i
- };
- t.key && (r.key = t.key.src), t.idx > -1 && (r.refIndex = t.idx), e.matches.push(r);
- });
-}
-
-function p(t, e) {
- e.score = t.score;
-}
-
-function m(t) {
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref3$errors = _ref3.errors,
- e = _ref3$errors === void 0 ? 0 : _ref3$errors,
- _ref3$currentLocation = _ref3.currentLocation,
- n = _ref3$currentLocation === void 0 ? 0 : _ref3$currentLocation,
- _ref3$expectedLocatio = _ref3.expectedLocation,
- s = _ref3$expectedLocatio === void 0 ? 0 : _ref3$expectedLocatio,
- _ref3$distance = _ref3.distance,
- i = _ref3$distance === void 0 ? l.distance : _ref3$distance,
- _ref3$ignoreLocation = _ref3.ignoreLocation,
- r = _ref3$ignoreLocation === void 0 ? l.ignoreLocation : _ref3$ignoreLocation;
-
- var o = e / t.length;
- if (r) return o;
- var c = Math.abs(s - n);
- return i ? o + c / i : c ? 1 : o;
-}
-
-function y(t, e, n) {
- var _ref4 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
- _ref4$location = _ref4.location,
- s = _ref4$location === void 0 ? l.location : _ref4$location,
- _ref4$distance = _ref4.distance,
- i = _ref4$distance === void 0 ? l.distance : _ref4$distance,
- _ref4$threshold = _ref4.threshold,
- r = _ref4$threshold === void 0 ? l.threshold : _ref4$threshold,
- _ref4$findAllMatches = _ref4.findAllMatches,
- o = _ref4$findAllMatches === void 0 ? l.findAllMatches : _ref4$findAllMatches,
- _ref4$minMatchCharLen = _ref4.minMatchCharLength,
- c = _ref4$minMatchCharLen === void 0 ? l.minMatchCharLength : _ref4$minMatchCharLen,
- _ref4$includeMatches = _ref4.includeMatches,
- h = _ref4$includeMatches === void 0 ? l.includeMatches : _ref4$includeMatches,
- _ref4$ignoreLocation = _ref4.ignoreLocation,
- a = _ref4$ignoreLocation === void 0 ? l.ignoreLocation : _ref4$ignoreLocation;
-
- if (e.length > 32) throw new Error("Pattern length exceeds max of ".concat(32, "."));
- var d = e.length,
- u = t.length,
- f = Math.max(0, Math.min(s, u));
- var g = r,
- p = f;
- var y = c > 1 || h,
- M = y ? Array(u) : [];
- var x;
-
- for (; (x = t.indexOf(e, p)) > -1;) {
- var _t5 = m(e, {
- currentLocation: x,
- expectedLocation: f,
- distance: i,
- ignoreLocation: a
- });
-
- if (g = Math.min(_t5, g), p = x + d, y) {
- var _t6 = 0;
-
- for (; _t6 < d;) {
- M[x + _t6] = 1, _t6 += 1;
- }
- }
- }
-
- p = -1;
- var L = [],
- _ = 1,
- k = d + u;
- var v = 1 << d - 1;
-
- for (var _s = 0; _s < d; _s += 1) {
- var _r = 0,
- _c2 = k;
-
- for (; _r < _c2;) {
- m(e, {
- errors: _s,
- currentLocation: f + _c2,
- expectedLocation: f,
- distance: i,
- ignoreLocation: a
- }) <= g ? _r = _c2 : k = _c2, _c2 = Math.floor((k - _r) / 2 + _r);
- }
-
- k = _c2;
-
- var _h = Math.max(1, f - _c2 + 1),
- _l2 = o ? u : Math.min(f + _c2, u) + d,
- _x = Array(_l2 + 2);
-
- _x[_l2 + 1] = (1 << _s) - 1;
-
- for (var _r2 = _l2; _r2 >= _h; _r2 -= 1) {
- var _o2 = _r2 - 1,
- _c3 = n[t.charAt(_o2)];
-
- if (y && (M[_o2] = +!!_c3), _x[_r2] = (_x[_r2 + 1] << 1 | 1) & _c3, _s && (_x[_r2] |= (L[_r2 + 1] | L[_r2]) << 1 | 1 | L[_r2 + 1]), _x[_r2] & v && (_ = m(e, {
- errors: _s,
- currentLocation: _o2,
- expectedLocation: f,
- distance: i,
- ignoreLocation: a
- }), _ <= g)) {
- if (g = _, p = _o2, p <= f) break;
- _h = Math.max(1, 2 * f - p);
- }
- }
-
- if (m(e, {
- errors: _s + 1,
- currentLocation: f,
- expectedLocation: f,
- distance: i,
- ignoreLocation: a
- }) > g) break;
- L = _x;
- }
-
- var w = {
- isMatch: p >= 0,
- score: Math.max(.001, _)
- };
-
- if (y) {
- var _t7 = function () {
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : l.minMatchCharLength;
- var n = [],
- s = -1,
- i = -1,
- r = 0;
-
- for (var _o3 = t.length; r < _o3; r += 1) {
- var _o4 = t[r];
- _o4 && -1 === s ? s = r : _o4 || -1 === s || (i = r - 1, i - s + 1 >= e && n.push([s, i]), s = -1);
- }
-
- return t[r - 1] && r - s >= e && n.push([s, r - 1]), n;
- }(M, c);
-
- _t7.length ? h && (w.indices = _t7) : w.isMatch = !1;
- }
-
- return w;
-}
-
-function M(t) {
- var e = {};
-
- for (var _n2 = 0, _s2 = t.length; _n2 < _s2; _n2 += 1) {
- var _i = t.charAt(_n2);
-
- e[_i] = (e[_i] || 0) | 1 << _s2 - _n2 - 1;
- }
-
- return e;
-}
-
-var x =
-/*#__PURE__*/
-function () {
- function x(t) {
- var _this5 = this;
-
- var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref5$location = _ref5.location,
- e = _ref5$location === void 0 ? l.location : _ref5$location,
- _ref5$threshold = _ref5.threshold,
- n = _ref5$threshold === void 0 ? l.threshold : _ref5$threshold,
- _ref5$distance = _ref5.distance,
- s = _ref5$distance === void 0 ? l.distance : _ref5$distance,
- _ref5$includeMatches = _ref5.includeMatches,
- i = _ref5$includeMatches === void 0 ? l.includeMatches : _ref5$includeMatches,
- _ref5$findAllMatches = _ref5.findAllMatches,
- r = _ref5$findAllMatches === void 0 ? l.findAllMatches : _ref5$findAllMatches,
- _ref5$minMatchCharLen = _ref5.minMatchCharLength,
- o = _ref5$minMatchCharLen === void 0 ? l.minMatchCharLength : _ref5$minMatchCharLen,
- _ref5$isCaseSensitive = _ref5.isCaseSensitive,
- c = _ref5$isCaseSensitive === void 0 ? l.isCaseSensitive : _ref5$isCaseSensitive,
- _ref5$ignoreLocation = _ref5.ignoreLocation,
- h = _ref5$ignoreLocation === void 0 ? l.ignoreLocation : _ref5$ignoreLocation;
-
- _classCallCheck(this, x);
-
- if (this.options = {
- location: e,
- threshold: n,
- distance: s,
- includeMatches: i,
- findAllMatches: r,
- minMatchCharLength: o,
- isCaseSensitive: c,
- ignoreLocation: h
- }, this.pattern = c ? t : t.toLowerCase(), this.chunks = [], !this.pattern.length) return;
-
- var a = function a(t, e) {
- _this5.chunks.push({
- pattern: t,
- alphabet: M(t),
- startIndex: e
- });
- },
- d = this.pattern.length;
-
- if (d > 32) {
- var _t8 = 0;
-
- var _e3 = d % 32,
- _n3 = d - _e3;
-
- for (; _t8 < _n3;) {
- a(this.pattern.substr(_t8, 32), _t8), _t8 += 32;
- }
-
- if (_e3) {
- var _t9 = d - 32;
-
- a(this.pattern.substr(_t9), _t9);
- }
- } else a(this.pattern, 0);
- }
-
- _createClass(x, [{
- key: "searchIn",
- value: function searchIn(t) {
- var _this$options = this.options,
- e = _this$options.isCaseSensitive,
- n = _this$options.includeMatches;
-
- if (e || (t = t.toLowerCase()), this.pattern === t) {
- var _e4 = {
- isMatch: !0,
- score: 0
- };
- return n && (_e4.indices = [[0, t.length - 1]]), _e4;
- }
-
- var _this$options2 = this.options,
- s = _this$options2.location,
- i = _this$options2.distance,
- r = _this$options2.threshold,
- o = _this$options2.findAllMatches,
- c = _this$options2.minMatchCharLength,
- h = _this$options2.ignoreLocation;
- var a = [],
- l = 0,
- d = !1;
- this.chunks.forEach(function (_ref6) {
- var e = _ref6.pattern,
- u = _ref6.alphabet,
- f = _ref6.startIndex;
-
- var _y = y(t, e, u, {
- location: s + f,
- distance: i,
- threshold: r,
- findAllMatches: o,
- minMatchCharLength: c,
- includeMatches: n,
- ignoreLocation: h
- }),
- g = _y.isMatch,
- p = _y.score,
- m = _y.indices;
-
- g && (d = !0), l += p, g && m && (a = [].concat(_toConsumableArray(a), _toConsumableArray(m)));
- });
- var u = {
- isMatch: d,
- score: d ? l / this.chunks.length : 1
- };
- return d && n && (u.indices = a), u;
- }
- }]);
-
- return x;
-}();
-
-var L = [];
-
-function _(t, e) {
- for (var _n4 = 0, _s3 = L.length; _n4 < _s3; _n4 += 1) {
- var _s4 = L[_n4];
- if (_s4.condition(t, e)) return new _s4(t, e);
- }
-
- return new x(t, e);
-}
-
-var k =
-/*#__PURE__*/
-function () {
- function k(t) {
- var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var n = arguments.length > 2 ? arguments[2] : undefined;
-
- _classCallCheck(this, k);
-
- if (this.options = _objectSpread({}, l, {}, e), this.options.useExtendedSearch) throw new Error("Extended search is not available");
- this._keyStore = new o(this.options.keys), this.setCollection(t, n);
- }
-
- _createClass(k, [{
- key: "setCollection",
- value: function setCollection(t, e) {
- if (this._docs = t, e && !(e instanceof u)) throw new Error("Incorrect 'index' type");
- this._myIndex = e || f(this.options.keys, this._docs, {
- getFn: this.options.getFn
- });
- }
- }, {
- key: "add",
- value: function add(t) {
- s(t) && (this._docs.push(t), this._myIndex.add(t));
- }
- }, {
- key: "remove",
- value: function remove() {
- var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {
- return !1;
- };
- var e = [];
-
- for (var _n5 = 0, _s5 = this._docs.length; _n5 < _s5; _n5 += 1) {
- var _s6 = this._docs[_n5];
- t(_s6, _n5) && (this.removeAt(_n5), _n5 -= 1, e.push(_s6));
- }
-
- return e;
- }
- }, {
- key: "removeAt",
- value: function removeAt(t) {
- this._docs.splice(t, 1), this._myIndex.removeAt(t);
- }
- }, {
- key: "getIndex",
- value: function getIndex() {
- return this._myIndex;
- }
- }, {
- key: "search",
- value: function search(t) {
- var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref7$limit = _ref7.limit,
- s = _ref7$limit === void 0 ? -1 : _ref7$limit;
-
- var _this$options3 = this.options,
- i = _this$options3.includeMatches,
- r = _this$options3.includeScore,
- o = _this$options3.shouldSort,
- c = _this$options3.sortFn,
- h = _this$options3.ignoreFieldNorm;
- var a = e(t) ? e(this._docs[0]) ? this._searchStringList(t) : this._searchObjectList(t) : this._searchLogical(t);
- return function (t, e, _ref8) {
- var _ref8$ignoreFieldNorm = _ref8.ignoreFieldNorm,
- n = _ref8$ignoreFieldNorm === void 0 ? l.ignoreFieldNorm : _ref8$ignoreFieldNorm;
- t.forEach(function (t) {
- var e = 1;
- t.matches.forEach(function (_ref9) {
- var t = _ref9.key,
- s = _ref9.norm,
- i = _ref9.score;
- var r = t ? t.weight : null;
- e *= Math.pow(0 === i && r ? Number.EPSILON : i, (r || 1) * (n ? 1 : s));
- }), t.score = e;
- });
- }(a, this._keyStore, {
- ignoreFieldNorm: h
- }), o && a.sort(c), n(s) && s > -1 && (a = a.slice(0, s)), function (t, e) {
- var _ref10 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref10$includeMatches = _ref10.includeMatches,
- n = _ref10$includeMatches === void 0 ? l.includeMatches : _ref10$includeMatches,
- _ref10$includeScore = _ref10.includeScore,
- s = _ref10$includeScore === void 0 ? l.includeScore : _ref10$includeScore;
-
- var i = [];
- n && i.push(g);
- s && i.push(p);
- return t.map(function (t) {
- var n = t.idx,
- s = {
- item: e[n],
- refIndex: n
- };
- return i.length && i.forEach(function (e) {
- e(t, s);
- }), s;
- });
- }(a, this._docs, {
- includeMatches: i,
- includeScore: r
- });
- }
- }, {
- key: "_searchStringList",
- value: function _searchStringList(t) {
- var e = _(t, this.options),
- n = this._myIndex.records,
- i = [];
-
- return n.forEach(function (_ref11) {
- var t = _ref11.v,
- n = _ref11.i,
- r = _ref11.n;
- if (!s(t)) return;
-
- var _e$searchIn = e.searchIn(t),
- o = _e$searchIn.isMatch,
- c = _e$searchIn.score,
- h = _e$searchIn.indices;
-
- o && i.push({
- item: t,
- idx: n,
- matches: [{
- score: c,
- value: t,
- norm: r,
- indices: h
- }]
- });
- }), i;
- }
- }, {
- key: "_searchLogical",
- value: function _searchLogical(t) {
- throw new Error("Logical search is not available");
- }
- }, {
- key: "_searchObjectList",
- value: function _searchObjectList(t) {
- var _this6 = this;
-
- var e = _(t, this.options),
- _this$_myIndex = this._myIndex,
- n = _this$_myIndex.keys,
- i = _this$_myIndex.records,
- r = [];
-
- return i.forEach(function (_ref12) {
- var t = _ref12.$,
- i = _ref12.i;
- if (!s(t)) return;
- var o = [];
- n.forEach(function (n, s) {
- o.push.apply(o, _toConsumableArray(_this6._findMatches({
- key: n,
- value: t[s],
- searcher: e
- })));
- }), o.length && r.push({
- idx: i,
- item: t,
- matches: o
- });
- }), r;
- }
- }, {
- key: "_findMatches",
- value: function _findMatches(_ref13) {
- var e = _ref13.key,
- n = _ref13.value,
- i = _ref13.searcher;
- if (!s(n)) return [];
- var r = [];
- if (t(n)) n.forEach(function (_ref14) {
- var t = _ref14.v,
- n = _ref14.i,
- o = _ref14.n;
- if (!s(t)) return;
-
- var _i$searchIn = i.searchIn(t),
- c = _i$searchIn.isMatch,
- h = _i$searchIn.score,
- a = _i$searchIn.indices;
-
- c && r.push({
- score: h,
- key: e,
- value: t,
- idx: n,
- norm: o,
- indices: a
- });
- });else {
- var _t10 = n.v,
- _s7 = n.n,
- _i$searchIn2 = i.searchIn(_t10),
- _o5 = _i$searchIn2.isMatch,
- _c4 = _i$searchIn2.score,
- _h2 = _i$searchIn2.indices;
-
- _o5 && r.push({
- score: _c4,
- key: e,
- value: _t10,
- norm: _s7,
- indices: _h2
- });
- }
- return r;
- }
- }]);
-
- return k;
-}();
-
-k.version = "6.3.1", k.createIndex = f, k.parseIndex = function (t) {
- var _ref15 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref15$getFn = _ref15.getFn,
- e = _ref15$getFn === void 0 ? l.getFn : _ref15$getFn;
-
- var n = t.keys,
- s = t.records,
- i = new u({
- getFn: e
- });
- return i.setKeys(n), i.setIndexRecords(s), i;
-}, k.config = l;
-/* harmony default export */ __webpack_exports__["default"] = (k);
-
-/***/ }),
-
-/***/ "./node_modules/headroom.js/dist/headroom.js":
-/*!***************************************************!*\
- !*** ./node_modules/headroom.js/dist/headroom.js ***!
- \***************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
-
-/*!
- * headroom.js v0.10.3 - Give your page some headroom. Hide your header until you need it
- * Copyright (c) 2019 Nick Williams - http://wicky.nillia.ms/headroom.js
- * License: MIT
- */
-(function (global, factory) {
- ( false ? undefined : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
- __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
- (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
- __WEBPACK_AMD_DEFINE_FACTORY__),
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (undefined);
-})(this, function () {
- 'use strict';
-
- function isBrowser() {
- return typeof window !== "undefined";
- }
- /**
- * Used to detect browser support for adding an event listener with options
- * Credit: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
- */
-
-
- function passiveEventsSupported() {
- var supported = false;
-
- try {
- var options = {
- // eslint-disable-next-line getter-return
- get passive() {
- supported = true;
- }
-
- };
- window.addEventListener("test", options, options);
- window.removeEventListener("test", options, options);
- } catch (err) {
- supported = false;
- }
-
- return supported;
- }
-
- function isSupported() {
- return !!(isBrowser() && function () {}.bind && "classList" in document.documentElement && Object.assign && Object.keys && requestAnimationFrame);
- }
-
- function isDocument(obj) {
- return obj.nodeType === 9; // Node.DOCUMENT_NODE === 9
- }
-
- function isWindow(obj) {
- // `obj === window` or `obj instanceof Window` is not sufficient,
- // as the obj may be the window of an iframe.
- return obj && obj.document && isDocument(obj.document);
- }
-
- function windowScroller(win) {
- var doc = win.document;
- var body = doc.body;
- var html = doc.documentElement;
- return {
- /**
- * @see http://james.padolsey.com/javascript/get-document-height-cross-browser/
- * @return {Number} the scroll height of the document in pixels
- */
- scrollHeight: function scrollHeight() {
- return Math.max(body.scrollHeight, html.scrollHeight, body.offsetHeight, html.offsetHeight, body.clientHeight, html.clientHeight);
- },
-
- /**
- * @see http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript
- * @return {Number} the height of the viewport in pixels
- */
- height: function height() {
- return win.innerHeight || html.clientHeight || body.clientHeight;
- },
-
- /**
- * Gets the Y scroll position
- * @return {Number} pixels the page has scrolled along the Y-axis
- */
- scrollY: function scrollY() {
- if (win.pageYOffset !== undefined) {
- return win.pageYOffset;
- }
-
- return (html || body.parentNode || body).scrollTop;
- }
- };
- }
-
- function elementScroller(element) {
- return {
- /**
- * @return {Number} the scroll height of the element in pixels
- */
- scrollHeight: function scrollHeight() {
- return Math.max(element.scrollHeight, element.offsetHeight, element.clientHeight);
- },
-
- /**
- * @return {Number} the height of the element in pixels
- */
- height: function height() {
- return Math.max(element.offsetHeight, element.clientHeight);
- },
-
- /**
- * Gets the Y scroll position
- * @return {Number} pixels the element has scrolled along the Y-axis
- */
- scrollY: function scrollY() {
- return element.scrollTop;
- }
- };
- }
-
- function createScroller(element) {
- return isWindow(element) ? windowScroller(element) : elementScroller(element);
- }
- /**
- * @param element EventTarget
- */
-
-
- function trackScroll(element, options, callback) {
- var isPassiveSupported = passiveEventsSupported();
- var rafId;
- var scrolled = false;
- var scroller = createScroller(element);
- var lastScrollY = scroller.scrollY();
- var details = {};
-
- function update() {
- var scrollY = Math.round(scroller.scrollY());
- var height = scroller.height();
- var scrollHeight = scroller.scrollHeight(); // reuse object for less memory churn
-
- details.scrollY = scrollY;
- details.lastScrollY = lastScrollY;
- details.direction = scrollY > lastScrollY ? "down" : "up";
- details.distance = Math.abs(scrollY - lastScrollY);
- details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;
- details.top = scrollY <= options.offset;
- details.bottom = scrollY + height >= scrollHeight;
- details.toleranceExceeded = details.distance > options.tolerance[details.direction];
- callback(details);
- lastScrollY = scrollY;
- scrolled = false;
- }
-
- function handleScroll() {
- if (!scrolled) {
- scrolled = true;
- rafId = requestAnimationFrame(update);
- }
- }
-
- var eventOptions = isPassiveSupported ? {
- passive: true,
- capture: false
- } : false;
- element.addEventListener("scroll", handleScroll, eventOptions);
- return {
- destroy: function destroy() {
- cancelAnimationFrame(rafId);
- element.removeEventListener("scroll", handleScroll, eventOptions);
- }
- };
- }
-
- function normalizeTolerance(t) {
- return t === Object(t) ? t : {
- down: t,
- up: t
- };
- }
- /**
- * UI enhancement for fixed headers.
- * Hides header when scrolling down
- * Shows header when scrolling up
- * @constructor
- * @param {DOMElement} elem the header element
- * @param {Object} options options for the widget
- */
-
-
- function Headroom(elem, options) {
- options = options || {};
- Object.assign(this, Headroom.options, options);
- this.classes = Object.assign({}, Headroom.options.classes, options.classes);
- this.elem = elem;
- this.tolerance = normalizeTolerance(this.tolerance);
- this.initialised = false;
- this.frozen = false;
- }
-
- Headroom.prototype = {
- constructor: Headroom,
-
- /**
- * Start listening to scrolling
- * @public
- */
- init: function init() {
- if (Headroom.cutsTheMustard && !this.initialised) {
- this.addClass("initial");
- this.initialised = true; // defer event registration to handle browser
- // potentially restoring previous scroll position
-
- setTimeout(function (self) {
- self.scrollTracker = trackScroll(self.scroller, {
- offset: self.offset,
- tolerance: self.tolerance
- }, self.update.bind(self));
- }, 100, this);
- }
-
- return this;
- },
-
- /**
- * Destroy the widget, clearing up after itself
- * @public
- */
- destroy: function destroy() {
- this.initialised = false;
- Object.keys(this.classes).forEach(this.removeClass, this);
- this.scrollTracker.destroy();
- },
-
- /**
- * Unpin the element
- * @public
- */
- unpin: function unpin() {
- if (this.hasClass("pinned") || !this.hasClass("unpinned")) {
- this.addClass("unpinned");
- this.removeClass("pinned");
-
- if (this.onUnpin) {
- this.onUnpin.call(this);
- }
- }
- },
-
- /**
- * Pin the element
- * @public
- */
- pin: function pin() {
- if (this.hasClass("unpinned")) {
- this.addClass("pinned");
- this.removeClass("unpinned");
-
- if (this.onPin) {
- this.onPin.call(this);
- }
- }
- },
-
- /**
- * Freezes the current state of the widget
- * @public
- */
- freeze: function freeze() {
- this.frozen = true;
- this.addClass("frozen");
- },
-
- /**
- * Re-enables the default behaviour of the widget
- * @public
- */
- unfreeze: function unfreeze() {
- this.frozen = false;
- this.removeClass("frozen");
- },
- top: function top() {
- if (!this.hasClass("top")) {
- this.addClass("top");
- this.removeClass("notTop");
-
- if (this.onTop) {
- this.onTop.call(this);
- }
- }
- },
- notTop: function notTop() {
- if (!this.hasClass("notTop")) {
- this.addClass("notTop");
- this.removeClass("top");
-
- if (this.onNotTop) {
- this.onNotTop.call(this);
- }
- }
- },
- bottom: function bottom() {
- if (!this.hasClass("bottom")) {
- this.addClass("bottom");
- this.removeClass("notBottom");
-
- if (this.onBottom) {
- this.onBottom.call(this);
- }
- }
- },
- notBottom: function notBottom() {
- if (!this.hasClass("notBottom")) {
- this.addClass("notBottom");
- this.removeClass("bottom");
-
- if (this.onNotBottom) {
- this.onNotBottom.call(this);
- }
- }
- },
- shouldUnpin: function shouldUnpin(details) {
- var scrollingDown = details.direction === "down";
- return scrollingDown && !details.top && details.toleranceExceeded;
- },
- shouldPin: function shouldPin(details) {
- var scrollingUp = details.direction === "up";
- return scrollingUp && details.toleranceExceeded || details.top;
- },
- addClass: function addClass(className) {
- this.elem.classList.add(this.classes[className]);
- },
- removeClass: function removeClass(className) {
- this.elem.classList.remove(this.classes[className]);
- },
- hasClass: function hasClass(className) {
- return this.elem.classList.contains(this.classes[className]);
- },
- update: function update(details) {
- if (details.isOutOfBounds) {
- // Ignore bouncy scrolling in OSX
- return;
- }
-
- if (this.frozen === true) {
- return;
- }
-
- if (details.top) {
- this.top();
- } else {
- this.notTop();
- }
-
- if (details.bottom) {
- this.bottom();
- } else {
- this.notBottom();
- }
-
- if (this.shouldUnpin(details)) {
- this.unpin();
- } else if (this.shouldPin(details)) {
- this.pin();
- }
- }
- };
- /**
- * Default options
- * @type {Object}
- */
-
- Headroom.options = {
- tolerance: {
- up: 0,
- down: 0
- },
- offset: 0,
- scroller: isBrowser() ? window : null,
- classes: {
- frozen: "headroom--frozen",
- pinned: "headroom--pinned",
- unpinned: "headroom--unpinned",
- top: "headroom--top",
- notTop: "headroom--not-top",
- bottom: "headroom--bottom",
- notBottom: "headroom--not-bottom",
- initial: "headroom"
- }
- };
- Headroom.cutsTheMustard = isSupported();
- return Headroom;
-});
-
-/***/ }),
-
-/***/ "./node_modules/jquery/dist/jquery.js":
-/*!********************************************!*\
- !*** ./node_modules/jquery/dist/jquery.js ***!
- \********************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
-
-/*!
- * jQuery JavaScript Library v3.4.1
- * https://jquery.com/
- *
- * Includes Sizzle.js
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2019-05-01T21:04Z
- */
-(function (global, factory) {
- "use strict";
-
- if (( false ? undefined : _typeof(module)) === "object" && _typeof(module.exports) === "object") {
- // For CommonJS and CommonJS-like environments where a proper `window`
- // is present, execute the factory and get jQuery.
- // For environments that do not have a `window` with a `document`
- // (such as Node.js), expose a factory as module.exports.
- // This accentuates the need for the creation of a real `window`.
- // e.g. var jQuery = require("jquery")(window);
- // See ticket #14549 for more info.
- module.exports = global.document ? factory(global, true) : function (w) {
- if (!w.document) {
- throw new Error("jQuery requires a window with a document");
- }
-
- return factory(w);
- };
- } else {
- factory(global);
- } // Pass this if window is not defined yet
-
-})(typeof window !== "undefined" ? window : this, function (window, noGlobal) {
- // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
- // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
- // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
- // enough that all such attempts are guarded in a try block.
- "use strict";
-
- var arr = [];
- var document = window.document;
- var getProto = Object.getPrototypeOf;
- var _slice = arr.slice;
- var concat = arr.concat;
- var push = arr.push;
- var indexOf = arr.indexOf;
- var class2type = {};
- var toString = class2type.toString;
- var hasOwn = class2type.hasOwnProperty;
- var fnToString = hasOwn.toString;
- var ObjectFunctionString = fnToString.call(Object);
- var support = {};
-
- var isFunction = function isFunction(obj) {
- // Support: Chrome <=57, Firefox <=52
- // In some browsers, typeof returns "function" for HTML