:root {
    --space-multiplier: 0.5;
    --content-max-width: 140rem;
    --grid-spacer-width: 0.5rem;
    --grid-column-count: 12;
}

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

.multistep-form__form {
    display: block;
    padding: 2rem;
}

.multistep-form .multistep-form_container {
    position: relative;
}

.multistep-form .multistep-form_intro {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    border: 1px solid #bcccdc;
    border-radius: 4px;
    padding: 4rem;
}

.multistep-form .column-reverse {
    flex-direction: column-reverse;
}

@media only screen and (min-width: 640px) {
    .multistep-form .sm\:flex-row {
        flex-direction: row;
    }
}

.multistep-form .flex-1 {
    flex: 1 1 0%;
}

@media only screen and (min-width: 640px) {
    .multistep-form .sm\:grid-col-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .multistep-form .sm\:grid-col-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.multistep-form .justify-center {
    justify-content: center;
}

.multistep-form .align-start {
    align-items: start;
}

.multistep-form .align-center {
    align-items: center;
}

@media only screen and (min-width: 640px) {
    .multistep-form .sm\:justify-left {
        justify-content: start;
    }

    .multistep-form .sm\:justify-center {
        justify-content: center;
    }

    .multistep-form .sm\:justify-right {
        justify-content: end;
    }
}

.multistep-form .d-block {
    display: block;
}

.multistep-form .display-flex {
    column-gap: calc(var(--grid-spacer-width) * 2);
    display: flex;
}

@media only screen and (min-width: 640px) {
    .multistep-form .sm\:d-grid {
        column-gap: calc(var(--grid-spacer-width) * 2);
        display: grid;
    }
}

.multistep-form .full-width {
    grid-column: 1 / -1;
}

.multistep-form .description p,
.multistep-form .field_description p {
    margin: 0;
}

.multistep-form fieldset {
    display: block;
    border: 0;
    margin: 0;
    padding: 0;
}

.multistep-form label,
.multistep-form legend {
    display: block;
    line-height: 1.6;
    padding-bottom: calc(var(--space-multiplier) * 1rem);
    position: relative;
}

.multistep-form label [data-required='true']::after,
.multistep-form legend [data-required='true']::after{
    content: '*';
    padding-left: 0.25em;
    position: absolute;
}

.multistep-form [type='email'],
.multistep-form [type='tel'],
.multistep-form [type='text'],
select {
    padding: 0 1rem;
}

.multistep-form [type='email'],
.multistep-form [type='tel'],
.multistep-form [type='text'],
.multistep-form select,
.multistep-form textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    display: block;
    width: 100%;
}

.multistep-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='hsl(0, 0%, 13%)' d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 2rem center;
    background-size: 0.7em auto;
    padding-right: 5rem;
}

.multistep-form textarea {
    padding: 1rem;
    resize: vertical;
}

.multistep-form .form__choice-wrapper {
    align-items: center;
    column-gap: 1rem;
    /* display: grid; */
    grid-template-columns: min-content 1fr;
    padding: 0;
}

.multistep-form .form__choice-wrapper.bool {
    align-items: center;
    column-gap: 1rem;
    display: grid;
    grid-template-columns: min-content 1fr;
    padding: 0;
}

/* .multistep-form .form__choice-wrapper+.form__choice-wrapper {
    margin-top: calc(var(--space-multiplier) * 1rem);
} */

.multistep-form .form__choice-wrapper legend {
    padding-bottom: 0;
    margin-bottom: 0;
}

.multistep-form fieldset:has(>label.form__choice-wrapper:not(.bool)) {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .5rem;
}

.multistep-form label.form__choice-wrapper:not(.bool):has(>[type="checkbox"]) {
    background: #F0F0FA;
    padding: 0.6rem;
    border-radius: 6px;
    margin-bottom: 0;
    cursor: pointer;
}

.multistep-form label:has(>[type="checkbox"]):hover {
    transform: translateX(1.1) translateY(1.1)
}

.multistep-form label.form__choice-wrapper:not(.bool):has([type='checkbox']:checked) {
    background: #7B6DFF;
    color: #fff!important;
}

.multistep-form .form__choice-wrapper:not(.bool) [type='checkbox'] {
    display: none;
}
.multistep-form .form__choice-wrapper [type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    color: currentColor;
    font: inherit;
    height: 2em !important;
    margin: 0;
    width: 2em !important;
}

.multistep-form [type='checkbox']:focus-visible,
.multistep-form [type='radio']:focus-visible {
    outline-offset: 4px;
}

.multistep-form [type='checkbox'] {
    border-radius: 3px;
}

.multistep-form [type='checkbox']:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23fff' d='M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1em auto;
}

.multistep-form button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    display: block;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, text-shadow 0.2s ease-in-out;
    white-space: nowrap;
    width: 100%;
}

.multistep-form button:active {
    transform: translateY(1px);
}

.multistep-form button:focus-visible {
    outline-offset: 4px;
}

@media only screen and (min-width: 640px) {
    .multistep-form button {
        display: inline-block;
        vertical-align: top;
        width: auto;
    }
}

.multistep-form .m-0 {
    margin: 0;
}

.multistep-form .margintop-1 {
    margin-top: calc(var(--space-multiplier) * 1rem);
}

.multistep-form .margintop-2 {
    margin-top: calc(var(--space-multiplier) * 2rem);
}

.multistep-form .margintop-3 {
    margin-top: calc(var(--space-multiplier) * 3rem);
}

.multistep-form .margintop-4 {
    margin-top: calc(var(--space-multiplier) * 4rem);
}

.multistep-form .margintop-5 {
    margin-top: calc(var(--space-multiplier) * 5rem);
}

.multistep-form .margintop-6 {
    margin-top: calc(var(--space-multiplier) * 6rem);
}

.multistep-form .marginbottom-3 {
    margin-bottom: calc(var(--space-multiplier) * 3rem);
}

.multistep-form .mx-auto {
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 640px) {
    .multistep-form .sm\:margintop-0 {
        margin-top: 0;
    }

    .multistep-form .sm\:margintop-3 {
        margin-top: calc(var(--space-multiplier) * 3rem);
    }

    .multistep-form .sm\:margintop-5 {
        margin-top: calc(var(--space-multiplier) * 5rem);
    }

    .multistep-form .sm\:marginbottom-5 {
        margin-bottom: calc(var(--space-multiplier) * 5rem);
    }
}

.multistep-form .pt-2 {
    padding-top: calc(var(--space-multiplier) * 2rem);
}

.multistep-form .px-0 {
    padding-left: 0;
    padding-right: 0;
}

.multistep-form .multistep-form__tabs {
    column-gap: 0;
}


.multistep-form .multistep-form__tabs-item {
    line-height: 1.4;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    display: none;
    position: relative;
    transition: color 0.2s ease-in-out;
    white-space: normal;
    text-align: left;
}

.multistep-form .multistep-form__tabs-item:active {
    transform: none;
}

.multistep-form .multistep-form__tabs-item:focus,
.multistep-form .multistep-form__tabs-item:hover {
    background-color: inherit;
    color: inherit;
}

.multistep-form .multistep-form__tabs-item::before {
    content: '';
    left: 0;
    position: absolute;
    transition: width 0.2s ease-in-out;
    width: 0;
    border-radius: 999px;
}

@media only screen and (min-width: 640px) {
    .multistep-form .multistep-form__tabs-item {
        display: block;
    }
}

.multistep-form .multistep-form__tabs-item[aria-selected='true'] {
    display: block;
}

.multistep-form .multistep-form__tabs-item[aria-selected='true']::before {
    width: 50%;
}

.multistep-form .multistep-form__tabs-item[data-complete='true']::before {
    width: 100%;
}

.multistep-form [hidden] {
    display: none;
}

.multistep-form