.kfw-modal {
    position: fixed;
    z-index: 1000;
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 24px 16px;
    box-sizing: border-box;
    overflow: auto;
    background: var(--gradient-radial-background);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    justify-content: center;
    align-items: flex-start;
    opacity: 0;
    transition: var(--global-transition);
}
.kfw-modal form,
.kfw-modal > .card {
    position: relative;
    margin: 0 auto;
    align-self: flex-start;
    border-radius: calc(var(--global-radius) + 6px);
    box-shadow: 0 24px 70px rgba(8, 20, 34, 0.28);
    overflow: hidden;
}
.kfw-modal form {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    box-shadow: none;
    overflow: visible;
}
.kfw-modal form > .card {
    width: 100%;
    height: auto;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-shadow: 0 24px 70px rgba(8, 20, 34, 0.28);
}
.kfw-modal > .card {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
}
.kfw-modal .card-header,
.kfw-modal .card-footer {
    flex: 0 0 auto;
}
.kfw-modal .card-body {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}
.kfw-modal .card-body.schema {
    align-content: start;
}
.kfw-modal form.full,
.kfw-modal > .card.full {
    width: min(100%, 100vw);
    height: min(100%, 100vh);
    max-height: 100vh;
    top: 0;
}
.kfw-modal form.large,
.kfw-modal > .card.large {
    width: min(85%, 85vw);
    height: auto;
    max-height: 90vh;
    top: 5%;
}
.kfw-modal form.medium-large,
.kfw-modal > .card.medium-large {
    width: min(70%, 70vw);
    height: auto;
    max-height: 85vh;
    top: 10%;
}
.kfw-modal form.medium,
.kfw-modal > .card.medium {
    width: min(50%, 50vw);
    height: auto;
    max-height: 70vh;
    top: 10%;
}
.kfw-modal form.medium-small,
.kfw-modal > .card.medium-small {
    width: min(35%, 35vw);
    height: auto;
    max-height: 60vh;
    top: 10%;
}
.kfw-modal form.small,
.kfw-modal > .card.small {
    width: min(20%, 20vw);
    height: auto;
    max-height: 55vh;
    top: 10%;
}
@media only screen and (max-width: 1000px) and (min-width: 801px) {
    .kfw-modal form.full,
    .kfw-modal > .card.full {
        width: 100%;
        height: 100%;
        max-height: 100vh;
        top: 0;
    }
    .kfw-modal form.large,
    .kfw-modal > .card.large,
    .kfw-modal form.medium-large,
    .kfw-modal > .card.medium-large,
    .kfw-modal form.medium,
    .kfw-modal > .card.medium,
    .kfw-modal form.medium-small,
    .kfw-modal > .card.medium-small,
    .kfw-modal form.small,
    .kfw-modal > .card.small {
        width: min(90%, 90vw);
        height: auto;
        max-height: 90vh;
        top: 5%;
    }
}
@media only screen and (max-width: 800px) {
    .kfw-modal {
        padding: 0;
        z-index: 1101;
    }
    .kfw-modal form,
    .kfw-modal > .card {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        top: 0 !important;
    }
    .kfw-modal form > .card,
    .kfw-modal > .card {
        border-radius: 0;
    }
}
.kfw-modal .card-header .btn {
    justify-content: center;
}
