.btn-icon,
.elementor .elementor-element .btn-icon {
--btn-icon-arrow-right: 22px;
display: inline-flex;
align-items: center;
justify-content: flex-start;
text-align: left;
position: relative;
isolation: isolate;
overflow: hidden;
transform-origin: center;
}
.btn-icon:not(.btn-link) .sav-flat-spot,
.elementor .elementor-element .btn-icon:not(.btn-link) .sav-flat-spot {
position: absolute;
left: 50%;
top: 50%;
z-index: 0;
width: 46px;
height: 46px;
border-radius: 50%;
background: currentColor;
opacity: 0;
pointer-events: none;
transform: translate(-50%, -50%) scale(0);
transform-origin: center;
}
.btn-icon > *,
.elementor .elementor-element .btn-icon > * {
position: relative;
z-index: 1;
}
.btn-icon .sav-button-label,
.elementor .elementor-element .btn-icon .sav-button-label {
display: inline-flex;
align-items: center;
min-width: 0;
line-height: inherit;
}
.btn-icon .sav-arrow,
.btn-icon .elementor-button-icon,
.elementor .elementor-element .btn-icon .sav-arrow,
.elementor .elementor-element .btn-icon .elementor-button-icon {
position: absolute;
top: 50%;
right: var(--btn-icon-arrow-right);
z-index: 1;
flex: 0 0 24px;
width: 24px;
height: 18px;
color: currentColor;
display: inline-flex;
justify-self: end;
align-items: center;
justify-content: center;
line-height: 0;
transform: translateY(-50%);
}
.btn-icon .sav-arrow svg,
.btn-icon .elementor-button-icon svg,
.elementor .elementor-element .btn-icon .sav-arrow svg,
.elementor .elementor-element .btn-icon .elementor-button-icon svg {
width: 100%;
height: 100%;
display: block;
}
.btn-icon .sav-arrow path,
.btn-icon .elementor-button-icon path,
.elementor .elementor-element .btn-icon .sav-arrow path,
.elementor .elementor-element .btn-icon .elementor-button-icon path {
fill: none !important;
stroke: currentColor;
}
.btn-sticky-bottom,
.elementor .elementor-element .btn-sticky-bottom {
--btn-sticky-bottom-offset: 24px;
--btn-sticky-transition: opacity 0.35s ease, transform 0.45s cubic-bezier(.2, .8, .2, 1), border-radius 0.3s ease;
transition: var(--btn-sticky-transition);
will-change: transform, opacity;
}
.btn-sticky-bottom:not(.sav-sticky-mounted),
.elementor .elementor-element .btn-sticky-bottom:not(.sav-sticky-mounted) {
opacity: 0;
visibility: hidden;
transform: translateY(18px);
}
.btn-sticky-bottom.sav-sticky-mounted,
.elementor .elementor-element .btn-sticky-bottom.sav-sticky-mounted {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.btn-sticky-bottom.is-sticky,
.elementor .elementor-element .btn-sticky-bottom.is-sticky {
position: fixed;
bottom: var(--btn-sticky-bottom-offset);
z-index: 1000;
max-width: calc(100vw - 32px);
transition: var(--btn-sticky-transition);
}
.sav-sticky-placeholder {
display: none;
visibility: hidden;
pointer-events: none;
}
.elementor-swiper-button.elementor-swiper-button-prev,
.elementor-swiper-button.elementor-swiper-button-next {
--carousel-arrow-size: 56px;
--carousel-arrow-bg: #fff;
--carousel-arrow-color: #111;
--carousel-arrow-border: #111;
width: var(--carousel-arrow-size);
height: var(--carousel-arrow-size);
border: 2px solid var(--carousel-arrow-border);
border-radius: 50%;
background: var(--carousel-arrow-bg);
color: var(--carousel-arrow-color);
display: grid;
place-items: center;
padding: 0;
overflow: hidden;
cursor: pointer;
line-height: 1;
}
.elementor-swiper-button .sav-carousel-arrow {
width: 24px;
height: 18px;
color: currentColor;
display: block;
line-height: 0;
}
.elementor-swiper-button .sav-carousel-arrow svg {
width: 100%;
height: 100%;
display: block;
}
.elementor-swiper-button .sav-carousel-arrow path {
fill: none !important;
stroke: currentColor;
}
.last-letter-red-char {
color: #C61618;
transition: color 0.5s ease;
}
.motion-1:not(.sav-motion-mounted),
.motion-2:not(.sav-motion-mounted),
.motion-3:not(.sav-motion-mounted),
.motion-1:not(.sav-motion-mounted) .elementor-heading-title,
.motion-2:not(.sav-motion-mounted) .elementor-heading-title,
.motion-3:not(.sav-motion-mounted) .elementor-heading-title,
.motion-1:not(.sav-motion-mounted) p,
.motion-2:not(.sav-motion-mounted) p,
.motion-3:not(.sav-motion-mounted) p {
opacity: 0;
visibility: hidden;
}
.split-char,
.split-word {
display: inline-block;
white-space: pre;
will-change: transform, opacity, filter;
}
.mask-line {
display: block;
overflow: hidden;
}