/*
----------------------------------------
HOME LAYOUT
----------------------------------------
*/

.home {
    position: relative;
}

.slideshow {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

/*
----------------------------------------
SLIDES
----------------------------------------
*/

.slide {
    position: absolute;
    inset: 0;

    opacity: 0;
    z-index: 1;

    transition: opacity 1.5s ease;
}

.slide.active {
    opacity: 1;
}

.slide img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

/*
----------------------------------------
HEADER OVERLAY
----------------------------------------
*/

.site-header {
    position: absolute;
    inset: 0 auto auto 0;

    width: 100%;

    color: white;
}

/*
----------------------------------------
HERO OVERLAY
----------------------------------------
*/

.hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 20;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;

    color: white;

    padding: 2rem;
}

/*
----------------------------------------
HERO INTRO
----------------------------------------
*/

.hero-intro {
    max-width: 24ch;

    margin-bottom: 2rem;

    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.1;
}

/*
----------------------------------------
HERO BUTTONS
----------------------------------------
*/

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero-buttons .button {
    color: white;
}

/*
----------------------------------------
SLIDE TITLE
----------------------------------------
*/

.slide-title {
    position: absolute;
    z-index: 15;

    color: white;

    font-size: 1rem;

    text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.slide-title.bottom-left {
    left: 4rem;
    bottom: 4rem;
}

.slide-title.bottom-right {
    right: 4rem;
    bottom: 4rem;
}

.slide-title.center {
    left: 50%;
    bottom: 4rem;

    transform: translateX(-50%);
}
