.form-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.form-divider {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

@media (max-width:700px) {
    .form-divider {
        grid-template-columns: 1fr;
    }
}

.form-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
}

@media (max-width:450px) {
    .form-item {
        max-width: calc(100vw - .875rem * 2);
    }
}

.form-label {
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
}

.form-control {
    font-family: Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    border-radius: 30px;
    border: 1px solid #E5E4D8;
    padding: 12px 20px;
}

@media (prefers-reduced-motion: reduce) {
    .form-control {
        transition: none;
    }
}

.form-control:focus {
    border-color: #FF7326;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(255, 115, 38, 0.25);
}

.form-control:disabled {
    background-color: #E5E4D8;
}

.is-invalid .form-control {
    border-color: #EF2C2C;
}

.form-select-container {
    position: relative;
}

fieldset:disabled .form-select-container {
    pointer-events: none;
}

.form-select {
    position: relative;
    font-family: Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    border-radius: 30px;
    border: 1px solid #E5E4D8;
    padding: 12px 50px 12px 20px;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    flex: 0 0 auto;
}

fieldset:disabled .form-select {
    background-color: #E5E4D8;
    pointer-events: none;
}

.form-select::after {
    position: absolute;
    content: "";
    width: 14px;
    height: 7px;
    top: 20px;
    right: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='7' viewBox='0 0 14 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.9998 6.99992C12.7738 6.99992 12.5468 6.92392 12.3597 6.76792L6.98875 2.29192L1.62675 6.60692C1.19775 6.95392 0.56775 6.88592 0.22075 6.45492C-0.12525 6.02492 -0.0572502 5.39592 0.37375 5.04892L6.37375 0.220922C6.74375 -0.0780784 7.27475 -0.0740784 7.64075 0.231922L13.6407 5.23192C14.0647 5.58492 14.1217 6.21592 13.7688 6.63992C13.5708 6.87692 13.2867 6.99992 12.9998 6.99992Z' fill='%23757D8A'/%3E%3C/svg%3E");
    transform: rotate(180deg);
}

.form-select-container.open .form-select {
    border-color: #FF7326;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(255, 115, 38, 0.25);
}

.is-invalid .form-select {
    border-color: #EF2C2C;
}

.form-select-container.open .form-select::after {
    transform: rotate(0deg);
}

.form-select-container ul {
    position: absolute;
    width: 100%;
    margin-top: 10px;

    display: none;
    flex-direction: column;

    border-radius: 30px;
    border: 1px solid #E5E4D8;
    background-color: #FAF9F7;
    box-shadow: 0 4px 14px 0 #0000001F;

    padding: 5px 0;
    overflow: hidden;

    z-index: 100;
}

.form-select-container.open ul {
    display: flex;
}

.form-select-container ul > li {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    padding: 10px 24px;
    cursor: pointer;
}

.form-select-container ul > li:hover {
    background-color: #C3C7CE;
}

.form-select-container ul > li.selected {
    font-weight: 700;
}

.form-textarea {
    position: relative;
    font-family: Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    border-radius: 30px;
    border: 1px solid #E5E4D8;
    padding: 12px 50px 12px 20px;

    min-height: 128px;

    overflow-wrap: break-word;
    white-space: pre-wrap;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

fieldset:disabled .form-textarea {
    background-color: #E5E4D8;
    pointer-events: none;
}

.form-textarea::after {
    cursor: pointer;
    opacity: .5;
    position: absolute;
    content: "";
    right: 20px;
    top: 20px;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.41425 6.00001L11.7072 1.70701C12.0982 1.31601 12.0982 0.684006 11.7072 0.293006C11.3162 -0.0979941 10.6842 -0.0979941 10.2933 0.293006L6.00025 4.58601L1.70725 0.293006C1.31625 -0.0979941 0.68425 -0.0979941 0.29325 0.293006C-0.09775 0.684006 -0.09775 1.31601 0.29325 1.70701L4.58625 6.00001L0.29325 10.293C-0.09775 10.684 -0.09775 11.316 0.29325 11.707C0.48825 11.902 0.74425 12 1.00025 12C1.25625 12 1.51225 11.902 1.70725 11.707L6.00025 7.41401L10.2933 11.707C10.4882 11.902 10.7443 12 11.0002 12C11.2562 12 11.5122 11.902 11.7072 11.707C12.0982 11.316 12.0982 10.684 11.7072 10.293L7.41425 6.00001Z' fill='currentColor'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: reduce) {
    .form-textarea {
        transition: none;
    }
}

.form-textarea:focus {
    border-color: #FF7326;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(255, 115, 38, 0.25);
}

.form-textarea:disabled {
    background-color: #E5E4D8;
}

.is-invalid .form-textarea {
    border-color: #EF2C2C;
}

.form-message {
    position: relative;
    display: none;
    font-size: 14px;
    line-height: 20px;
}

.is-invalid .form-message {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    color: #EF2C2C;
}

.is-invalid .form-message::before {
    width: 20px;
    height: 17px;
    display: block;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='17' viewBox='0 0 20 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.8334 9.83342C10.8334 10.2934 10.4601 10.6667 10.0001 10.6667C9.54009 10.6667 9.16675 10.2934 9.16675 9.83342V6.50008C9.16675 6.04008 9.54009 5.66675 10.0001 5.66675C10.4601 5.66675 10.8334 6.04008 10.8334 6.50008V9.83342ZM10.0001 13.1667C9.54009 13.1667 9.16675 12.7934 9.16675 12.3334C9.16675 11.8734 9.54009 11.5001 10.0001 11.5001C10.4601 11.5001 10.8334 11.8734 10.8334 12.3334C10.8334 12.7934 10.4601 13.1667 10.0001 13.1667ZM18.8009 12.5859L12.4076 1.98675C11.9084 1.16008 11.0084 0.666748 10.0001 0.666748C8.99176 0.666748 8.09176 1.16008 7.59259 1.98675L1.19926 12.5859C0.725922 13.3717 0.711755 14.3167 1.16176 15.1134C1.64426 15.9692 2.58176 16.5001 3.60676 16.5001H16.3934C17.4184 16.5001 18.3559 15.9692 18.8384 15.1134C19.2884 14.3167 19.2743 13.3717 18.8009 12.5859Z' fill='%23EF2C2C'/%3E%3C/svg%3E");
}

.form-alert {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 5px;
    color: #EF2C2C;
    font-family: Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    border-radius: 30px;
    border: 1px solid #EF2C2C;
    padding: 12px 50px 12px 20px;
}

.form-alert::before {
    width: 20px;
    height: 17px;
    display: block;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='17' viewBox='0 0 20 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.8334 9.83342C10.8334 10.2934 10.4601 10.6667 10.0001 10.6667C9.54009 10.6667 9.16675 10.2934 9.16675 9.83342V6.50008C9.16675 6.04008 9.54009 5.66675 10.0001 5.66675C10.4601 5.66675 10.8334 6.04008 10.8334 6.50008V9.83342ZM10.0001 13.1667C9.54009 13.1667 9.16675 12.7934 9.16675 12.3334C9.16675 11.8734 9.54009 11.5001 10.0001 11.5001C10.4601 11.5001 10.8334 11.8734 10.8334 12.3334C10.8334 12.7934 10.4601 13.1667 10.0001 13.1667ZM18.8009 12.5859L12.4076 1.98675C11.9084 1.16008 11.0084 0.666748 10.0001 0.666748C8.99176 0.666748 8.09176 1.16008 7.59259 1.98675L1.19926 12.5859C0.725922 13.3717 0.711755 14.3167 1.16176 15.1134C1.64426 15.9692 2.58176 16.5001 3.60676 16.5001H16.3934C17.4184 16.5001 18.3559 15.9692 18.8384 15.1134C19.2884 14.3167 19.2743 13.3717 18.8009 12.5859Z' fill='%23EF2C2C'/%3E%3C/svg%3E");
}

.form-alert:empty {
    display: none;
}

.form-success {
    display: block;
    text-align: center;
    gap: 5px;
    color: #FF7326;
    font-family: Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    border-radius: 30px;
    border: 1px solid #FF7326;
    padding: 12px 50px 12px 20px;
}

.form-success:empty {
    display: none;
}

.form-submit {
    font-family: Ubuntu, sans-serif;
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    border-radius: 30px;
    padding: 12px 20px;
    background-color: #FF7326;
    color: #FFF;
    text-align: center;
}

.form-submit:hover, .form-submit:focus {
    box-shadow: 0 0 0 4px rgba(255, 115, 38, 0.25);
}

.form-submit:disabled {
    filter: grayscale(100%);
}
