:root {
    --accent: #0b70db;
}

[v-cloak] {
    display: none;
}

.boardal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.boardal__mask {
    background: rgba(0, 0, 0, 0.65);
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 200vh;
}
.boardal__wrapper {
    position: relative;
    width: 65vw;
    max-width: 60em;
    min-width: 30em;
    max-height: 100vh;
    height: 50em;
    background: #fff;
    color: #333;
    display: flex;
    flex-direction: var(--cross, column);
    border-radius: .2em;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2), 0 1em 2em -1em;
}
.boardal__x {
    cursor: pointer;
    font-size: 2em;
    line-height: .5;
    opacity: .15;
}
.boardal__x:hover {
    opacity: .65;
}
.boardal-enter-active, .boardal-leave-active {
    transition: opacity 0.25s;
}
.boardal-enter, .boardal-leave-to {
    opacity: 0;
}

.boardal article {
    flex: 1 1 100%;
    height: 100%;
    display: flex;
    flex-direction: var(--axis, row);
    overflow: hidden;
}

.boardal section {
    width: 100%;
    visibility: hidden;
    flex: 0 0 100%;
    padding: 2em;
    overflow: auto;
    will-change: transform;
    transform: translate(var(--x, 0%), var(--y, 0%));
    transition: transform 300ms ease-out;
    position: relative;
    text-align: left;
}
.boardal section h2, section h3, section h4 {
    margin-top: 0;
}
.boardal section.current {
    visibility: visible;
}

.boardal footer {
    position: relative;
    text-align: right;
    display: flex;
    flex-direction: var(--axis-reverse, row-reverse);
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.05);
}

.boardal footer:not(:empty) {
    padding: 1em;
}

.boardal .step-dots {
    display: flex;
    flex-direction: var(--axis, row);
}

.boardal .step-dot {
    cursor: pointer;
    width: 1em;
    height: 1em;
    margin: .5ch;
    border-radius: 1em;
    background: currentColor;
    opacity: .2;
    transition: transform 100ms ease-out, opacity 150ms linear;
}
.boardal .step-dot.active {
    opacity: .7;
    box-shadow: 0 0 1em -.25em;
}
.boardal .step-dot:hover {
    transform: scale(1.2);
}

.boardal .forward-actions,
.boardal .back-actions {
    flex: 1;
    display: flex;
    flex-direction: var(--axis, row);
}

.boardal .forward-actions {
    justify-content: flex-end;
}

.boardal .back-actions {
    justify-content: flex-start;
}

*, *::before, *::after {
    box-sizing: border-box;
}

.boardal a {
    color: var(--accent);
}

.boardal del {
    color: #ca1e34;
    font-style: italic;
}

.boardal p {
    line-height: 1.5;
    font-size: 1.1em;
}

.boardal button {
    outline: none;
    font: inherit;
    line-height: 1;
    cursor: pointer;
    padding: .5em 1em;
    border-radius: .35em;
    color: rgba(0, 0, 0, 0.7);
    background: rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(0, 0, 0, 0.05);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: transform 50ms ease-out;
    will-change: transform;
}
.boardal button:active {
    transform: scale(0.95);
}
.boardal button:focus {
    border-color: var(--accent);
    box-shadow: 0 0 1em 0 var(--accent);
}
.boardal button[disabled] {
    opacity: .2;
    cursor: not-allowed;
}
.boardal button.primary {
    border-color: transparent;
    background: transparent;
    font-weight: bold;
}
.boardal button.primary:not([disabled]) {
    color: var(--accent);
}
.boardal button.accent {
    background: var(--accent);
}
.boardal button.accent:not([disabled]) {
    color: #fff;
}
.boardal button.secondary {
    border-color: transparent;
}
.boardal button.secondary:not([disabled]) {
    color: rgba(0, 0, 0, 0.4);
}
.boardal button.cancel:not([disabled]) {
    color: var(--accent);
}

.boardal .topimage {
    width: 100%;
}
