.modal {
    display: none;
    
    position: fixed; /* active = flex */
    
    align-items: flex-start;
    justify-content: center;
    
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    
    cursor: pointer;
    
    z-index: 9999;
    
    background-color: rgba(255,255,255,0.8);
}
.modal.active {
    display: flex;
}

.modal-back,
.modal-close {
    position: absolute;
    left: 20px;
    top: 20px;
    width: 24px;
    height: 24px;
    background-color: rgba(0,0,0,0);
    cursor: pointer;
}
.modal-close {
    left: auto;
    right: 20px;
}
.modal-back::before,
.modal-close::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url(/static/icon_flatarrow_right.svg);
    transform: rotate(180deg);
}
.modal-close::before {
    background-image: url(/static/icon_modal_close.svg);
    transform: rotate(0deg);
}
.modal-close[disabled="disabled"] {
    filter: opacity(0.1);
    cursor: not-allowed;
}


.modal-content {
    position: relative;
    background-color: #fff;
    border: 1px solid #096536;
    padding: 50px 50px 20px 50px;
    margin: 40px 20px 20px 20px;
    display: flex;
    align-items: center;
    flex-flow: column;
    width: 90vw;
    max-width: 1140px;
    overflow-y: scroll;
    max-height: calc(100vh - 80px);
    cursor: default;
}
.modal-content .accordion {
    margin-top: 50px;
}
.modal-content .accordion > .accordion-entry > label {
    padding-top: 40px;
    padding-bottom: 80px;
}
.modal-content .accordion > .accordion-entry > input:checked ~ label {
    padding-bottom: 55px;
}
.modal-content .accordion input:checked ~ .accordion-panel {
    padding-bottom: 50px;
}
.modal-content .accordion p {
    max-width: 102ch;
}
.modal-content > h2 {
    text-align: center;
}
.modal-content > .mainfirst-form-wrapper {
    width: 100%;
    margin-top: 40px;
}
.modal-content > .mainfirst-form-wrapper .custom-select {
    width: 50%;
    margin: 0 auto;
}

.modal-accept-container,
.modal-accept-container > div {
    display: flex;
    flex-flow: row;
    flex: 1;
}
.modal-accept-container > div {
    padding: 10px 0;
}

.modal-accept-container .button {
    margin: 0 0 0 auto;
}
