form#ac_form {
    color: #565655;
    background: #f8f8f8;
    padding: 15px;
    margin-top: 50px;
}
form#ac_form .hidden {
    display: none;
}
.ac_form_fields_block {
    background: white;
    padding: 15px;
    margin-bottom: 20px;
    position: relative;
    box-shadow: 0 1px 3px rgba(86, 86, 85, 0.12), 0 1px 2px rgba(86, 86, 85, 0.24);
}

.ac_form_fields_block_title {
    width: 100%;
    font-size: 30px;
    line-height: 40px;
    margin-bottom: 15px;
}

.ac_form_field_wrapper,
.break_line {
    width: calc(50% - 10px);
    margin-bottom: 10px;
}
.ac_form_field_wrapper.child_age_wrapper {
    display: flex;
    gap: 20px;
    margin: 0;
    width: 100%;
    flex-wrap: wrap;
}
.ac_form_field_wrapper.child_age.extra_small {
    width: 100%;
    max-width: calc(17% - 21px);
}
.ac_form_field_wrapper.full_width {
    width: 100%;
    padding: 0;
}

.ac_form_field_wrapper label {
    width: 100%;
    display: block;
    margin-bottom: 10px;
    font-size: 23px;
    line-height: 25px;
}
span.ac_privacy_text,
span.ac_privacy_text a {
    font-size: 17px;
    line-height: 17px;
    margin: 0;
}
.ac_form_field_wrapper input,
.ac_form_field_wrapper select,
.ac_form_field_wrapper textarea {
    width: 100%;
    color: inherit;
    border: none;
    padding: 7px 7px 7px 7px;
    background: white;
    border: 1px solid rgba(86, 86, 85, 0.35);
}
label.privacy_check_label input {
    box-shadow: none;
    width: auto;
}
.ac_form_field_wrapper input#ac_departure,
.ac_form_field_wrapper input#ac_arrival {
    padding-left: 40px;
}
.ac_form_field_wrapper textarea {
    height: 200px;
    resize: none;
    padding: 7px;
}
.ac_form_fields {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.ac_form_fields_block:last-child {
    margin-bottom: 0;
}
.ac_form_fields_block_remove {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 45px;
    height: 45px;
    background: #c1121f;
    padding: 9px;
    cursor: pointer;
}

.ac_form_fields_block_remove svg {
    width: 100%;
    height: 100%;
}

.ac_form_fields_add_block_wrapper {
    text-align: right;
    margin: 20px 0px 35px;
}

.ac_form_fields_add_block {
    background: #565655;
    display: inline-block;
    color: white;
    padding: 10px 25px;
    cursor: pointer;
}
.field_wrapper {
    position: relative;
}

.field_wrapper::after {
    content: '';
    width: 35px;
    height: calc(100% - 10px);
    position: absolute;
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    background-size: contain;
    background-position: left;
    background-repeat: no-repeat;
    pointer-events: none;
}

.field_wrapper.calendar::after {
    background-image: url(/Resources/Public/Images/ac_form/calendar.svg);
}
.ac_form_send_button {
    text-align: right;
    width: 100%;
}

button.ac_form_send_button_inner {
    display: inline-block;
    background: #565655;
    border: none;
    box-shadow: 0 1px 3px rgba(86, 86, 85, 0.12), 0 1px 2px rgba(86, 86, 85, 0.24);
    padding: 10px 25px;
    color: white;
    font-size: 23px;
    cursor: pointer;
}
button.ac_form_send_button_inner.loading {
    opacity: 0.55;
    pointer-events: none;
}
.ac_form_fields_block.form_block_room.copy_block_main .ac_form_fields_block_remove,
.child_age_template {
    display: none;
}
.room_info_button {
    position: absolute;
    right: 65px;
    top: 10px;
    background: #565655;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 15px;
    font-size: 18px;
    height: 45px;
}
.ac_form_fields_block.form_block_room.copy_block_main .room_info_button {
    right: 10px;
}

@media screen and (max-width: 768px) {
    .ac_form_fields_block_title {
        font-size: 24px;
        line-height: 34px;
    }

    .ac_form_field_wrapper label {
        font-size: 18px;
        line-height: 22px;
    }

    .ac_form_field_wrapper,
    .break_line {
        width: 100% !important;
    }

    .ac_form_field_wrapper.child_age.extra_small {
        max-width: calc(50% - 10px);
    }

    .room_info_button {
        padding: 6px 10px;
    }

    .break_line {
        display: none;
    }

    button.ac_form_send_button_inner {
        font-size: 18px;
        padding: 7px 12px;
    }

    span.ac_privacy_text {
        font-size: 15px;
        line-height: 15px;
    }
}

@media screen and (max-width: 400px) {
    .room_info_button {
        position: relative;
        right: 0 !important;
        top: 0;
        height: auto;
    }
}
