:root{
    --bulma-body-overflow-x: visible;
    --bulma-body-overflow-y: visible;
}

body {
    overflow-x: hidden;
    /* min-height: 100vh; */
}
.centered{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.mt-3vh{
    margin-top: 4vh;
}
.mt-4vh{
    margin-top: 7vh;
}
.mt-5vh{
    margin-top: 15vh;
}
.mw-12{
    max-width: 18rem !important;
}

.steps-segment::after{
    transition: .3s;
}

.abs-bottom{
    position: absolute;
    bottom: 5vh;
}

.mw-769{
    max-width: 769px !important;
    padding: .75rem !important;
}

.group-select{
    width: 4.5rem;
    height: 4.5rem;
    background-color: hsl(141 71% 69% / 1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.5rem;
    border: .5rem solid hsl(141 71% 91% / 1);
    cursor: pointer;
    transition: .3s;
    user-select: none;
}
.group-is-selected {
    background-color: hsl(198 71% 69% / 1);
    border-color: hsl(198 71% 91% / 1);
}
.group-select:hover{
    border-width: 1rem;
    scale: 1.2;
}

.is-hidden-left{
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
    height: 0;
    overflow: hidden;
}
.is-hidden-right{
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
    height: 0;
    overflow: hidden;
}
.steps-item{
    transition: .5s;
    position: absolute;
    width: calc(100% - 1.5rem);
}
.steps-container{
    transition: .4s;
} 
.content.is-loading::after{
    animation: spinAround 500ms infinite linear;
    border: 4px solid #000;
    border-radius: var(--bulma-radius-rounded);
    border-right-color: transparent;
    border-top-color: transparent;
    content: "";
    display: block;
    height: 3em;
    position: relative;
    width: 3em;
}
.is-loading-overlay.is-active {
    position: absolute;
    width: 100%;
    height: 300px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}
.is-loading-overlay.is-active::after{
    animation: spinAround 500ms infinite linear;
    border: 4px solid #000;
    border-radius: 50%;
    border-right-color: transparent;
    border-top-color: transparent;
    content: "";
    display: block;
    height: 3em;
    position: relative;
    width: 3em;
}
.is-loading-overlay.is-active + div{
    filter: blur(2px);
    pointer-events: none;
}
.float-right{
    float: right;
}
.confirmation {
    color: #23d160;
    font-size: 7rem;
}
.steps-container{
    overflow-x: hidden;
    width: 100%;
}
.sticky-bottom {
    position: sticky;
    bottom: 0;
    width: 100%;
    background-color: white;
    margin-top: 5vh;
    padding: 1rem;
}