@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
CSS
[esl-scroll-lock] {
overflow: hidden ;
}
[esl-scroll-lock]:not(html[esl-scroll-lock='native'])::-webkit-scrollbar {
display: none ;
}
html[esl-scroll-lock] body {
overflow: hidden ;
}
html[esl-scroll-lock='native'] {
overflow-y: scroll ;
}
html[esl-scroll-lock='native'][esl-scroll-lock-passive] {
overflow-y: hidden ;
}
html[esl-scroll-lock='native'] body {
max-width: 100vw ;
max-height: 100vh ;
}
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 ;
}
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 ;
}
}
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 ;
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;
}