UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

1,206 lines (1,205 loc) 27.6 kB
[esl-scroll-lock] { overflow: hidden !important; } [esl-scroll-lock]:not(html[esl-scroll-lock='native'])::-webkit-scrollbar { display: none !important; } html[esl-scroll-lock] body { overflow: hidden !important; } html[esl-scroll-lock='native'] { overflow-y: scroll !important; } html[esl-scroll-lock='native'][esl-scroll-lock-passive] { overflow-y: hidden !important; } html[esl-scroll-lock='native'] body { max-width: 100vw !important; max-height: 100vh !important; } html[esl-scroll-lock='pseudo'], html[esl-scroll-lock='background'] { --s-lock-offset: 0; padding-right: var(--s-lock-offset); } html[esl-scroll-lock='pseudo']:not([esl-scroll-lock-passive])::after, html[esl-scroll-lock='background']:not([esl-scroll-lock-passive])::after { content: ''; position: fixed; top: 0; right: 0; bottom: 0; overflow-y: scroll; z-index: 1; } html[esl-scroll-lock='pseudo']:not([esl-scroll-lock-passive])::after { z-index: 999999; } esl-image { display: block; width: 100%; padding: 0; text-align: center; background-size: cover; background-repeat: no-repeat; background-position: center center; } esl-image[lazy]:not([ready]) { min-height: 1px; } esl-image[mode='origin'] { display: inline-block; width: auto; height: auto; } esl-image[mode='cover'] { height: 100%; } esl-image[mode='save-ratio'] { height: 0; } esl-image[mode='inner-svg'] svg { max-width: 100%; max-height: 100%; } esl-image .inner-image { max-width: 100%; } esl-image::after { display: none; content: attr(alt); } esl-image[error]::after { display: inline-block; } esl-image[loaded]::after { display: none; } esl-image[mode='fit'][error]::after, esl-image[mode='origin'][error]::after { display: none; } esl-image.bg-flex { background-size: 100% 100%; } esl-image.bg-inscribe { background-size: contain; } esl-image.bg-v-top { background-position-y: top; } esl-image.bg-v-center { background-position-y: center; } esl-image.bg-v-bottom { background-position-y: bottom; } esl-image.bg-h-left { background-position-x: left; } esl-image.bg-h-center { background-position-x: center; } esl-image.bg-h-right { background-position-x: right; } .img-container { position: relative; overflow: hidden; } .img-container:not(.img-container-auto) esl-image { position: absolute; top: 0; left: 0; width: 100%; } .img-container:not(.img-container-auto) esl-image[mode='origin'], .img-container:not(.img-container-auto) esl-image[mode='save-ratio'] { position: relative; } .img-container:not(.img-container-auto) esl-image[mode='fit'] { position: static; overflow: hidden; } .img-container:not(.img-container-auto) esl-image[mode='fit'] > .inner-image { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); } @supports (object-fit: cover) { .img-container:not(.img-container-auto) esl-image[mode='fit'] > .inner-image { top: 0; left: 0; width: 100%; height: 100%; transform: none; object-fit: cover; } } .img-container esl-image[lazy] { opacity: 0; } .img-container esl-image[lazy][ready] { opacity: 1; transition: opacity 0.4s; } .img-container { position: relative; } .img-container > img { width: 100%; } .img-container > img:is(.img-stretch, .img-cover, .img-contain) { position: absolute; top: 0; left: 0; height: 100%; } img.img-cover { object-fit: cover; } img.img-contain { object-fit: contain; } picture.img-container { display: block; } .img-fade { opacity: 0; } .img-fade.img-container-loaded, .img-container-loaded .img-fade { opacity: 1; transition: opacity 0.4s; } .img-container.img-container-1-1 { aspect-ratio: 1; } .img-container.img-container-4-3 { aspect-ratio: 4 / 3; } .img-container.img-container-16-9 { aspect-ratio: 16 / 9; } .img-container.img-container-26-9 { aspect-ratio: 26 / 9; } esl-media { display: block; } esl-media .esl-media-inner { display: block; width: 100%; } esl-media .esl-media-inner:not(audio) { height: 100%; } esl-media iframe.esl-media-inner { border: 0; } esl-media.esl-media-bg { position: relative; } esl-media.esl-media-bg .esl-media-inner { z-index: -1; pointer-events: none; } esl-media.esl-media-bg::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } esl-media[fill-mode='cover'], esl-media[fill-mode='inscribe'] { position: relative; overflow: hidden; height: 100%; } esl-media[fill-mode='cover'] .esl-media-inner, esl-media[fill-mode='inscribe'] .esl-media-inner { position: absolute; top: var(--esl-media-y-offset, 50%); left: var(--esl-media-x-offset, 50%); transform: translate(calc(var(--esl-media-x-offset, 50%) * -1), calc(var(--esl-media-y-offset, 50%) * -1)); min-width: 1px; min-height: 1px; } esl-media:not([wide])[fill-mode='cover'] .esl-media-inner, esl-media[wide][fill-mode='inscribe'] .esl-media-inner { width: auto; height: 100%; } esl-media:not([wide])[fill-mode='inscribe'] .esl-media-inner, esl-media[wide][fill-mode='cover'] .esl-media-inner { width: 100%; height: auto; } esl-media.esl-media-top { --esl-media-y-offset: 0%; } esl-media.esl-media-bottom { --esl-media-y-offset: 100%; } esl-media.esl-media-left { --esl-media-x-offset: 0%; } esl-media.esl-media-right { --esl-media-x-offset: 100%; } .img-container > esl-media { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } esl-scrollbar { display: inline-block; position: absolute; cursor: default; overflow: hidden; } esl-scrollbar[inactive] { visibility: hidden; } esl-scrollbar.page-scrollbar { position: fixed; } esl-scrollbar .scrollbar-track { position: relative; border-radius: 3px; background: #e7e7e7; } esl-scrollbar .scrollbar-thumb { position: absolute; cursor: pointer; border-radius: 3px; background: #b5b5b5; } esl-scrollbar .scrollbar-thumb::after { content: ''; position: absolute; top: -5px; left: -5px; width: calc(100% + 10px); height: calc(100% + 10px); } esl-scrollbar[dragging] .scrollbar-thumb { background: #9a9a9a; } esl-scrollbar:not([horizontal]) { top: 0; bottom: 0; right: 0; padding: 0 5px; } esl-scrollbar:not([horizontal]) .scrollbar-track { top: 0; width: 6px; height: 100%; } esl-scrollbar:not([horizontal]) .scrollbar-thumb { width: 100%; height: 33.33%; min-height: 10px; touch-action: pan-x; } esl-scrollbar[horizontal] { left: 0; right: 0; bottom: 0; padding: 5px 0; } esl-scrollbar[horizontal] .scrollbar-track { bottom: 0; height: 6px; width: 100%; } esl-scrollbar[horizontal] .scrollbar-thumb { height: 100%; width: 33.33%; min-width: 10px; touch-action: pan-y; } esl-scrollbar:not([horizontal]) { padding-top: 15px; padding-bottom: 15px; } esl-scrollbar:not([horizontal]) .scrollbar-track::before, esl-scrollbar:not([horizontal]) .scrollbar-track::after { content: ''; position: absolute; display: block; height: 10px; width: 100%; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10' xml:space='preserve'%3E%3Cpolyline points='0,0 8,8 16,0' fill='none' stroke='%23BBBBBB' stroke-width='5'/%3E%3C/svg%3E"); background-repeat: no-repeat; } esl-scrollbar:not([horizontal]) .scrollbar-track::before { top: -15px; transform: scaleY(-1); } esl-scrollbar:not([horizontal]) .scrollbar-track::after { bottom: -15px; } esl-scrollbar[horizontal] { padding-left: 15px; padding-right: 15px; } esl-scrollbar[horizontal] .scrollbar-track::before, esl-scrollbar[horizontal] .scrollbar-track::after { content: ''; position: absolute; display: block; height: 100%; width: 10px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16' xml:space='preserve'%3E%3Cpolyline points='0,16 8,8 0,0' fill='none' stroke='%23BBBBBB' stroke-width='5'/%3E%3C/svg%3E"); background-repeat: no-repeat; } esl-scrollbar[horizontal] .scrollbar-track::before { left: -15px; transform: scaleX(-1); } esl-scrollbar[horizontal] .scrollbar-track::after { right: -15px; } esl-scrollbar[at-end] .scrollbar-track::after, esl-scrollbar[at-start] .scrollbar-track::before { opacity: 0.25; } .esl-scrollable-content { overflow: auto; scrollbar-width: none; -ms-overflow-style: none; } .esl-scrollable-content::-webkit-scrollbar { display: none; } [esl-drag-to-scroll].is-draggable { cursor: grab; } [esl-drag-to-scroll].dragging { cursor: grabbing; user-select: none; scroll-behavior: auto !important; } esl-a11y-group { display: none; } esl-toggleable { display: block; } esl-toggleable:not(.open) { display: none; } esl-toggleable-dispatcher { display: none; } esl-popup:not(.esl-popup) { display: none; } .esl-popup { --_border-width: var(--esl-popup-border-width, 1px); --_border: var(--_border-width) solid var(--esl-popup-border-color, #dbdbdb); position: absolute; left: 0; top: 0; display: block; opacity: 0; visibility: hidden; transition: visibility 0.5s 0.2s; box-sizing: border-box; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); border: var(--_border); background: var(--esl-popup-background-color, #fff); cursor: default; will-change: auto; } .esl-popup[open] { z-index: var(--esl-popup-z-index, 999); opacity: 1; visibility: visible; transition: opacity 0.15s, transform 0.2s; } .esl-popup:not([open]) { display: none; } .esl-popup .esl-popup-arrow { --_size: var(--esl-popup-arrow-size, 20px); --_half: calc(var(--_size) / 2); --_shift: calc(0.2071 * var(--_size) - var(--_border-width)); position: absolute; top: calc(-1 * var(--_half) - var(--_border-width)); bottom: 100%; z-index: -1; transform: rotate(45deg); width: var(--_size); height: var(--_size); margin-left: var(--_shift); border-left: var(--_border); border-top: var(--_border); background: inherit; } .esl-popup:is([placed-at='top'], [placed-at='bottom-inner']) .esl-popup-arrow { top: auto; bottom: calc(-1 * var(--_half) - var(--_border-width)); transform: rotate(225deg); } .esl-popup:is([placed-at='left'], [placed-at='right-inner']) .esl-popup-arrow { right: calc(-1 * var(--_half) - var(--_border-width)); left: auto; transform: rotate(135deg); margin-top: var(--_shift); } .esl-popup:is([placed-at='right'], [placed-at='left-inner']) .esl-popup-arrow { left: calc(-1 * var(--_half) - var(--_border-width) - var(--_shift)); right: auto; transform: rotate(315deg); margin-top: var(--_shift); } .esl-popup.disable-arrow .esl-popup-arrow { display: none; } esl-trigger { cursor: pointer; } esl-panel { display: block; height: auto; overflow: hidden; visibility: hidden; max-height: 0; transition: max-height 0.5s ease-in-out, visibility 0s linear 0.5s; } esl-panel.open { visibility: visible; max-height: none; transition: max-height 0.5s ease-in-out, visibility 0s linear; } @media print { esl-panel:not(.print-closed) { visibility: visible; max-height: none; } } esl-panel-group { display: block; box-sizing: content-box; } esl-panel-group.animate { transition: height 0.5s ease-in-out; overflow: hidden; } esl-panel-group[current-mode='tabs'] > esl-panel { opacity: 0; transition: max-height 0.5s ease-in-out, visibility 0s linear 0.5s, opacity 0.5s ease-in-out; } esl-panel-group[current-mode='tabs'] > esl-panel.open { opacity: 1; transition: max-height 0.5s ease-in-out, visibility 0s linear, opacity 0.5s ease-in-out; } esl-panel-group[current-mode='tabs'].esl-tabs-equal-height { display: grid; grid-template-areas: 'stack'; } esl-panel-group[current-mode='tabs'].esl-tabs-equal-height > esl-panel { grid-area: stack; max-height: none; } @media screen { esl-panel-group:not(.animate) esl-panel:not(.animate):not(.open) * { visibility: hidden !important; } } esl-tab { cursor: pointer; } esl-tabs { display: block; } esl-tabs .esl-tab-container { display: flex; flex-direction: row; flex-wrap: nowrap; } esl-tabs.center-alignment > .esl-tab-container > :first-child { margin-left: auto; } esl-tabs.center-alignment > .esl-tab-container > :last-child { margin-right: auto; } esl-tabs.right-alignment > .esl-tab-container > :first-child { margin-left: auto; } esl-tabs[scrollable]:not(.scrollable-disabled) { display: flex; align-items: center; } esl-tabs[scrollable]:not(.scrollable-disabled) > .esl-tab-container { flex: 1 1 auto; overflow: hidden; white-space: nowrap; display: flex; flex-direction: row; flex-wrap: nowrap; position: relative; } esl-tabs[scrollable]:not(.scrollable-disabled) > .esl-tab-container.esl-scrollable-content { overflow: auto; } esl-tabs[scrollable]:not(.scrollable-disabled) .arrow-prev, esl-tabs[scrollable]:not(.scrollable-disabled) .arrow-next { flex: 0 0 auto; } esl-tabs[scrollable][has-scroll] .arrow-prev, esl-tabs[scrollable][has-scroll] .arrow-next { display: block; } esl-tabs[scrollable][has-scroll] .arrow-prev[disabled], esl-tabs[scrollable][has-scroll] .arrow-next[disabled] { opacity: 0.1; cursor: auto; } esl-tabs[scrollable] .arrow-prev, esl-tabs[scrollable] .arrow-next { display: none; z-index: 2; width: 35px; height: 35px; background: none; border: none; opacity: 0.5; cursor: pointer; appearance: none; } esl-tabs[scrollable] .arrow-next { right: 0; } esl-tabs[scrollable] .arrow-prev { left: 0; } esl-tabs[scrollable] .icon-arrow-next, esl-tabs[scrollable] .icon-arrow-prev { display: block; height: 35px; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUwIDUwIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cG9seWdvbiBwb2ludHM9IjMxIDQwIDE2IDI1IDMxIDEwIDMzIDEyIDIwIDI1IDMzIDM4Ii8+PC9zdmc+) no-repeat; } esl-tabs[scrollable] .icon-arrow-next { transform: scaleX(-1); } [dir='rtl'] esl-tabs[scrollable] .icon-arrow-prev, esl-tabs[scrollable][dir='rtl'] .icon-arrow-prev { transform: scaleX(-1); } [dir='rtl'] esl-tabs[scrollable] .icon-arrow-next, esl-tabs[scrollable][dir='rtl'] .icon-arrow-next { transform: none; } esl-alert { display: flex; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease 0.05s, visibility 0s linear 0.35s; position: absolute; z-index: 10002; right: 35%; bottom: 20px; padding: 20px; width: 30%; color: #fff; background-color: #0097e7; } body > esl-alert { position: fixed; } esl-alert[open] { opacity: 1; visibility: visible; } .esl-select { display: inline-block; position: relative; min-width: 150px; max-width: 100%; } .esl-select [esl-select-target] { /* Visually hidden */ position: absolute; border: 0; padding: 0; overflow: hidden; opacity: 0; clip: rect(0, 0, 0, 0); width: 100%; height: 100%; pointer-events: none; } .esl-select[disabled] { pointer-events: none; color: #aaa; } .esl-select[disabled] .esl-select-text, .esl-select[disabled] .esl-select-renderer::after { color: #aaa; } .esl-select[disabled] .esl-select-clear-btn { display: none; } .esl-select .esl-select-renderer::after { content: '\2BC6'; display: inline-block; flex: 0 0 auto; width: 20px; height: 27px; z-index: 1; padding: 0; pointer-events: none; color: #0097e7; vertical-align: middle; text-align: center; font-weight: bold !important; transition: transform 0.2s linear; transform-origin: center center; } .esl-select[open] .esl-select-renderer::after { transform: rotateX(180deg); } .esl-select [esl-select-target]:invalid + .esl-select-renderer { border: 1px solid #b22; } esl-select-renderer.esl-select-renderer.esl-select-renderer { display: flex; align-items: center; } esl-select-renderer::before { content: attr(empty-text); color: #aaa; } esl-select-renderer[has-value]::before { display: none; } esl-select-renderer .esl-select-text { display: inline-block; white-space: nowrap; max-height: 100%; } esl-select-renderer .esl-select-text + .esl-select-text { margin-left: 10px; } esl-select-renderer .esl-select-text-container { display: block; flex: 1 1 auto; white-space: nowrap; overflow: hidden; } esl-select-renderer .esl-select-clear-btn { flex: 0 0 auto; width: 15px; height: 15px; padding: 0; margin: 0 10px; font-size: 14px; line-height: 14px; border: none; background: transparent; } esl-select-renderer .esl-select-clear-btn::before { content: '\2715'; } esl-select-renderer:not([multiple]) .esl-select-clear-btn { display: none; } .esl-select-dropdown { display: block; position: absolute; top: 0; z-index: 100; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 0.25s linear, visibility 0s linear 0.25s; } .esl-select-dropdown[open] { visibility: visible; pointer-events: all; opacity: 1; transition: opacity 0.25s linear, visibility 0s linear 0s; } .esl-select-dropdown .esl-select-list { max-height: 50vh; box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2); } .esl-select-dropdown .esl-select-list .esl-select-list-container { margin-right: 20px; } .esl-select-dropdown .esl-select-list esl-scrollbar { top: 6px; bottom: 6px; right: 2px; } .esl-select-dropdown .esl-select-list[multiple] esl-scrollbar { top: 56px; } esl-select-item { display: block; cursor: pointer; position: relative; padding: 15px 15px 15px 45px; line-height: 20px; vertical-align: middle; } esl-select-item::before { content: ''; cursor: pointer; position: absolute; top: 15px; left: 15px; width: 20px; height: 20px; border: 2px solid #0097e7; border-radius: 4px; background-color: #fff; } esl-select-item::after { content: ''; cursor: pointer; position: absolute; top: 20px; left: 19px; width: 12px; height: 6px; border: 2px solid #fff; border-top: none; border-right: none; transform: rotate(-45deg); opacity: 0; transition: opacity 0.4s ease-in; } esl-select-item[selected]::before { background-color: #0097e7; } esl-select-item[selected]::after { opacity: 1; } esl-select-item.last-in-group:not(:last-of-type) { border-bottom: 1px solid #ccc; } esl-select-item[disabled], [disabled] esl-select-item { pointer-events: none; color: #aaa; } esl-select-item[disabled]::before, [disabled] esl-select-item::before { border-color: #aaa; } esl-select-item[disabled][selected]::before, [disabled] esl-select-item[selected]::before { background-color: #aaa; } .esl-select-list { display: flex; flex-flow: column; position: relative; overflow: hidden; background: #fff; border: 1px solid #ccc; min-height: 50px; height: auto; max-height: 400px; } .esl-select-list > [esl-select-target] { /* Visually hidden */ position: absolute; width: 0; height: 0; border: 0; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); } .esl-select-list esl-scrollbar { top: 5px; bottom: 5px; right: 10px; } .esl-select-list[multiple] esl-scrollbar { top: 60px; } .esl-select-list .esl-select-list-container { flex: 1 1 auto; height: 100%; margin-right: 16px; } .esl-select-list .esl-select-item.esl-select-all-item { flex: 0 0 auto; border-bottom: 1px solid #ccc; } .esl-select-list:not([multiple]) .esl-select-all-item { display: none; } /* stylelint-disable */ _:-ms-fullscreen, :root .esl-select-list { height: 400px; } /* stylelint-enable */ esl-footnotes { display: block; } esl-footnotes .esl-footnotes-items { list-style-type: none; } esl-footnotes .esl-footnotes-index { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; top: -0.5em; } esl-footnotes .esl-footnotes-text { padding-left: 0.5em; padding-right: 0.5em; } esl-footnotes .esl-footnotes-back-to-note { position: relative; font-size: 66%; line-height: 0; vertical-align: baseline; top: -0.5em; cursor: pointer; } esl-footnotes .esl-footnotes-back-to-note::before { content: '[ ^ ]'; } esl-note { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; top: -0.5em; cursor: pointer; } esl-note::before { content: '['; } esl-note::after { content: ']'; } esl-note[active] { text-decoration: underline; } esl-note.highlight { font-weight: bold; } esl-note .esl-note-link, esl-note .esl-note-link:hover { color: inherit; text-decoration: none; } esl-tooltip { padding: 10px; width: 100%; max-width: 220px; text-align: start; } esl-tooltip:focus { outline: none; } esl-animate { display: inline-block; } esl-animate:empty { display: none; } @media screen { .esl-animate-fade { opacity: 0; } .esl-animate-fade.in { opacity: 1; transition: opacity 1.5s; } .esl-animate-slide { --esl-animation-offset-x: 0; --esl-animation-offset-y: 0; opacity: 0; transform: translate3d(var(--esl-animation-offset-x), var(--esl-animation-offset-y), 0); } .esl-animate-slide.in { opacity: 1; transform: translate3d(0, 0, 0); transition: transform 1s, opacity 1s; } .esl-animate-slide:not(.in) { position: relative; top: calc(-1 * var(--esl-animation-offset-y)); left: calc(-1 * var(--esl-animation-offset-x)); } .esl-animate-slide.up { --esl-animation-offset-y: 30px; } .esl-animate-slide.down { --esl-animation-offset-y: -30px; } .esl-animate-slide.left { --esl-animation-offset-x: 30px; } .esl-animate-slide.right { --esl-animation-offset-x: -30px; } } esl-share-button { display: inline-flex; cursor: pointer; } esl-share-button:hover { opacity: 0.6; } esl-share-button[unavailable] { display: none; } esl-share-button .esl-share-icon { overflow: hidden; width: var(--esl-share-icon-size, 40px); height: var(--esl-share-icon-size, 40px); } esl-share-list { display: inline-flex; flex-wrap: wrap; } esl-share { display: inline-flex; cursor: pointer; } esl-share-popup.esl-popup { display: flex; flex-wrap: wrap; max-width: var(--esl-share-popup-max-width, 202px); } :root { --esl-slide-initial-size: 100%; --esl-carousel-side-space: 5px; } esl-carousel { position: relative; display: block; max-width: 100%; box-sizing: content-box; margin: calc(var(--esl-carousel-side-space, 0) * -1); padding: var(--esl-carousel-side-space, 0); /* stylelint-disable */ overflow: hidden; overflow: clip; /* stylelint-enable */ } esl-carousel:not(.esl-carousel) [esl-carousel-slide] { max-width: 100%; max-height: 100%; } esl-carousel.esl-carousel-vertical { touch-action: pan-x; } esl-carousel.esl-carousel-vertical [esl-carousel-slides] { flex-direction: column; } esl-carousel.esl-carousel-horizontal { touch-action: pan-y; } esl-carousel.esl-carousel-horizontal [esl-carousel-slides] { flex-direction: row; } esl-carousel[dragging] { cursor: grabbing; } esl-carousel[animating] { padding-inline: 0; margin-inline: 0; } esl-carousel[dragging] [esl-carousel-slides], esl-carousel[animating] [esl-carousel-slides] { user-select: none; pointer-events: none; } esl-carousel[empty] { --esl-carousel-side-space: 0; } esl-carousel[empty] [esl-carousel-slides] { display: none; } /* Default carousel area styles */ [esl-carousel-slides] { position: relative; width: 100%; margin: 0; display: flex; gap: 20px; z-index: 0; transform: translate3d(0px, 0px, 0px); } /* Default carousel slide styles */ [esl-carousel-slide] { flex: 0 0 auto; margin: 0; padding: 0; position: relative; z-index: 1; list-style: none; } .esl-carousel-no-extra-space { --esl-carousel-side-space: 0; } .esl-carousel-default-renderer [esl-carousel-slides] { display: flex; flex-wrap: nowrap; transition: none; max-width: 100%; max-height: 100%; } .esl-carousel-default-renderer.esl-carousel-horizontal [esl-carousel-slide] { width: var(--esl-slide-size, var(--esl-slide-initial-size)); } .esl-carousel-default-renderer.esl-carousel-vertical [esl-carousel-slide] { height: var(--esl-slide-size, var(--esl-slide-initial-size)); } .esl-carousel-grid-renderer { /* stylelint-disable-next-line */ /* stylelint-disable-next-line */ } .esl-carousel-grid-renderer [esl-carousel-slides] { display: grid; grid-template-rows: 1fr 1fr; grid-auto-columns: auto; grid-auto-flow: column; transition: none; max-width: 100%; max-height: 100%; } .esl-carousel-grid-renderer.esl-carousel-vertical [esl-carousel-slides] { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; grid-auto-flow: row; } .esl-carousel-grid-renderer.esl-carousel-horizontal :is([esl-carousel-slide], [esl-carousel-fake-slide]) { width: var(--esl-slide-size, --esl-slide-initial-size, 100%); } .esl-carousel-grid-renderer.esl-carousel-vertical :is([esl-carousel-slide], [esl-carousel-fake-slide]) { height: var(--esl-slide-size, --esl-slide-initial-size, 100%); } /** Nav control mixin defaults */ [esl-carousel-nav]:not([active]) { display: none; } [esl-carousel-nav][disabled] { pointer-events: none; } :root { --esl-carousel-arrow-size: 40px; --esl-carousel-arrow-padding: 0px; --esl-carousel-arrow-bg: grey; } /** Arrow navigation styles */ .esl-carousel-nav-container { position: relative; /* stylelint-disable-next-line */ --esl-carousel-arrow-offset: calc((var(--esl-carousel-arrow-size) + var(--esl-carousel-arrow-padding) + var(--esl-carousel-side-space)) * -1); } .esl-carousel-arrow { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); padding: var(--esl-carousel-arrow-padding); display: grid; place-content: center; background: none; border: none; cursor: pointer; appearance: none; filter: drop-shadow(0 0 4px var(--esl-carousel-arrow-bg)); opacity: 0.75; } .esl-carousel-arrow:hover { opacity: 1; } .esl-carousel-arrow[disabled] { opacity: 0.25; } .esl-carousel-arrow.prev { left: var(--esl-carousel-arrow-offset); } .esl-carousel-arrow.prev.inner { left: 0; } .esl-carousel-arrow.next { right: var(--esl-carousel-arrow-offset); } .esl-carousel-arrow.next.inner { right: 0; } .esl-carousel-arrow::before { content: ''; display: block; width: var(--esl-carousel-arrow-size); height: var(--esl-carousel-arrow-size); background: var(--esl-carousel-arrow-bg); clip-path: polygon(20% 50%, 70% 0%, 80% 5%, 35% 50%, 80% 95%, 70% 100%); } .esl-carousel-arrow.next::before { transform: scaleX(-1); } /* ESLCarouselNavDots default styles */ .esl-carousel-dots { display: flex; align-items: center; width: fit-content; gap: 0.5rem; margin: 1rem auto; } .esl-carousel-dots:empty { display: none; } .esl-carousel-dot { margin: 0; padding: 0; flex: 0 0 auto; min-width: 9px; box-sizing: content-box; aspect-ratio: 1; border-radius: 100%; text-align: center; vertical-align: middle; cursor: pointer; appearance: none; } .esl-carousel-dot:is(*, :focus, :active, :hover) { border: var(--esl-carousel-dot-border, 1px solid transparent); background: var(--esl-carousel-dot-color, rgba(118, 118, 118, 0.5)); background-clip: content-box; } .esl-carousel-dot[active] { border: var(--esl-carousel-dot-active-border, 1px solid #bababa); background: var(--esl-carousel-dot-active-color, rgba(255, 255, 255, 0.5)); background-clip: content-box; } [esl-anchor] { margin-block-end: -2px; height: 2px; } esl-anchornav { display: block; } [esl-anchornav-sticked] { position: sticky; top: 0; }