/* For browsers that support `scrollbar-*` properties */
@supports (scrollbar-color: auto) {
    .stepwrapper {
        scrollbar-width: thin;
        scrollbar-color: #208199 #163441;
    }
}

/* Otherwise, use `::-webkit-scrollbar-*` pseudo-elements */
@supports selector(::-webkit-scrollbar) {
    .stepwrapper::-webkit-scrollbar {
        width: .5em;
    }
    .stepwrapper::-webkit-scrollbar-thumb {
        width: .5em;
    }
    .stepwrapper::-webkit-scrollbar-track-piece, .stepwrapper::-webkit-scrollbar-button {
        display: none;
    }
}

.stepwrapper {
    width: 100%;
    border-radius: 50px;
    border-radius: 15px;

    display: flex;
    flex-direction: row;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
}

.step {
    flex-shrink: 0;
    flex-grow: 1;
    flex-basis: calc(100% - 2em);
    width: calc(100% - 2em);
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    padding: 1em;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-shadow: inset 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
}

.step > h2 {
    flex-grow: 0;
    align-self: baseline;
}

.stepContent {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

.step * {
    max-width: calc(100% - 2em);
}

.step img {
    max-width: 100%;
    max-height: 50vh;
    object-fit: scale-down;
}

.step p {
    margin-bottom: 1em;
}

.buttons {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: .5em;
    margin-bottom: .5em;
}

.version-block {
    background-color: var(--background-accent);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 12px;
    width: 100%;
}

.version-label {
    font-weight: bold;
    border-bottom: 1px solid var(--heading-colour);
    padding-bottom: 5px;
    margin-bottom: 10px;
    color: var(--heading-colour);
}