/* ------------------------------------------------------------------------- */
/*                            COMPONENT: SLIDER                              */
/* ------------------------------------------------------------------------- */

.wp-elementor-slider {
    --interval: 1000ms;
    background-color: white;
    color: #f9f6ee;
    font-size: 1rem;
    display: flex;
    align-items: stretch;
    justify-content: start;
    height: 100vh;
    width: 100%;
}

.wp-elementor-slider__container {
    flex: 0 0 100%;
    position: relative;
}

.wp-elementor-slider__slide {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: end;
    transition: opacity 300ms linear;
}

.wp-elementor-slider__footer {
    flex: 0 0 50%;
    display: flex;
    justify-content: start;
    align-items: start;
    padding: 0 0 6rem 4rem;
}

.wp-elementor-slider__footer-start {
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: stretch;
    gap: 0.5rem;
}

.wp-elementor-slider__progress {
    flex: 0 0 2px;
    background-color: #f9f6ee56;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: stretch;
}

.wp-elementor-slider__progress-bar {
    height: 0;
    background-color: #f9f6ee;
    transition: height var(--interval) linear;
}

.wp-elementor-slider__column {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.wp-elementor-slider__data {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.wp-elementor-slider__counter {
    font-size: 1.1rem;
    flex: 1 1 auto;
}

.wp-elementor-slider__title {
    font-size: 1.2rem;
    position: relative;
}

.wp-elementor-slider__title-text {
    font-size: 1.2rem;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: rotate(-0.25turn) translate(-0.5em, 0.5em);
    transform-origin: 0 50%;
    white-space: nowrap;
}

.wp-elementor-slider__description {
    font-size: 2rem;
    font-weight: 900;
    margin-top: 2em;
    margin-left: 1.5em;
}

.wp-elementor-slider__description::first-line {
    font-weight: 400;
}

.wp-elementor-slider__slide:not(.active) {
    opacity: 0;
}

.wp-elementor-slider__slide.active {
    opacity: 1;
}

.wp-elementor-slider__slide.active .wp-elementor-slider__progress-bar {
    height: 100%;
}

/* ------------------------------------------------------------------------- */
/*                          COMPONENT: VIEW MASTER                           */
/* ------------------------------------------------------------------------- */

.wp-elementor-view-master {
    background-color: white;
    color: #f9f6ee;
    /* @todo Cursor image. */
    /* cursor: url(...); */
    font-size: 1rem;
    display: flex;
    align-items: stretch;
    justify-content: start;
    height: var(--view-master-height, 480px);
    width: var(--view-master-width, 480px);
}

.wp-elementor-view-master__container {
    flex: 0 0 100%;
    position: relative;
}

.wp-elementor-view-master__slide {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: start;
    transition: opacity 300ms linear;
}

.wp-elementor-view-master__header {
    font-size: 1.5rem;
    display: flex;
    justify-content: space-between;
    padding: 1rem;
}

.wp-elementor-view-master__title {
    font-size: 3rem;
    display: block;
    left: 100%;
    bottom: 0;
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    transform: rotate(-0.25turn) translateY(-0.65em);
    transform-origin: 0 50%;
    white-space: nowrap;
    width: calc(var(--view-master-height) - 100px);
}

.wp-elementor-view-master__slide:not(.active) {
    opacity: 0;
}

.wp-elementor-view-master__slide.active {
    opacity: 1;
}