.container_form {
    width: 100%;
}

.container_form.auth {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    padding-top: 50px;
}

.contain_form {
    position: relative;
    width: 70%;
    box-shadow: 0 0 10px rgba(200, 200, 200, 1);
    background: white;
    border-radius: 5px;
    padding-bottom: 20px;
}

.contain_form.auth {
    width: 500px;
    box-shadow: none;
}

.contain_form.auth.double {
    width: 800px;
}

.form_error_icon {
    position: absolute;
    top: 10px;
    left: -10px;
}

.form_error_messages {
    width: 70%;
    padding: 10px 20px;
    margin: 10px 20px 0 20px;
    border-radius: 5px;
    color: var(--msg-color-error-text);
    background: var(--msg-color-error-background);
    border: solid 1px var(--msg-color-error-border);
}

.invalid-feedback-manual {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: var(--color-red);
}

.contain_row_form {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    position: relative;
}

.contain_row_form.auth {
    justify-content: space-around;
}

.contain_row_form > div {
    width: 50%;
    padding: 20px 20px 0 20px;
}

.contain_row_form.text_editor > div, .contain_row_form.matrix > div {
    width: 100%;
}

.contain_row_form.auth > div {
    width: 70%;
}

.contain_row_form.auth.double > div {
    width: 40%;
}

.contain_row_form > div > div {
    position: relative;
}

.contain_form_title {
    padding: 10px 20px 0 20px;
    font-size: 1.2em;
}

.contain_form_button,
.contain_user_form_button {
    padding: 20px 20px 0 20px;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 20px;
}

.contain_form_button_filter {
    padding: 20px 20px 0 20px;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}

.contain_form_button > form,
.contain_form_button_filter > form {
    margin: 0;
}

.add_group_filter,
.add_condition_filter {
    margin: 20px 20px 0 0;
    background: var(--color-main);
    color: white;
    padding: 8px 12px;
    border: none;
    border-radius: 5px;
}

.form_button_action {
    height: 30px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    color: white;
    padding: 0 10px 0 5px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.form_button_action:hover {
    filter: brightness(.9);
}

.form_button_action > div {
    padding-left: 5px;
}

.link_action_supp {
    color: white !important;
}

.link_action_supp:hover {
    text-decoration: none;
}

.display_none {
    display: none;
}

.contain_form_separator {
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding-top: 20px;
}

.contain_form_separator > div {
    width: 80%;
    border: solid 1px rgba(200, 200, 200, 1);
}

.container_form_close, .container_form_order {
    width: 100%;
    position: relative;
    z-index: 10;
}

.container_form_close > div, .container_form_close > a, .container_form_order > div {
    position: absolute;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.container_form_close > div > button {
    background: white;
    border: none;
    cursor: pointer;
}

.container_form_close > div, .container_form_close > a, .contain_form_order_down {
    right: 20px;
    top: 10px;
}

.contain_form_order_top {
    right: 50px;
    top: 10px;
}

.custom-readonly .tox-edit-area iframe, 
.custom-readonly .tox-tinymce {
    background: #e9ecef !important;
}

input[type="range"] {
    display: inline-block;
    width: calc(100% - 20px);
    cursor: pointer;
}

.input_range_value {
    position: absolute;
    right: 0;
    top: 8px;
    color: var(--color-second);
}

.range_labels {
    position: relative;
    width: calc(100% - 20px);
    height: 5px;
}

.range_labels span {
    position: absolute;
    top: 5px;
    transform: translateX(-50%);
    font-size: .8em;
    white-space: nowrap;
}

.range_labels span:first-child {
    transform: translateX(0%);
}

.range_labels span:last-child {
    transform: translateX(-100%);
}

.container_form_calendar {
    position: relative;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
    gap: 10px;
}

.container_form_calendar > div {
    position: relative;
    width: 200px;
}

.form_button_calendar {
    height: 30px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 0 5px;
    border: none;
    cursor: pointer;
    background: white;
}

.contain_form_auth_title {
    font-size: 2.2em;
    color: var(--color-second);
    padding-top: 20px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
}

.contain_form_auth_title > a {
    padding-left: 20px;
    text-decoration: none;
    text-transform: uppercase;
    color: black;
}

.contain_form_auth_title > a:hover {
    text-decoration: underline;
    color: black;
}

.contain_auth_button {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
}

.contain_auth_button > button {
    border-radius: 50px;
    color: white;
    background: var(--color-second);
    border: none;
    padding: 5px 30px;
    margin-top: 20px;
    font-size: 1.2em;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}

.contain_auth_button > a {
    padding-top: 10px;
    color: black;
    text-decoration: underline;
}

.contain_auth_link {
    padding-top: 10px;
    color: white;
}

.contain_auth_link > a {
    padding-left: 5px;
    color: var(--color-second);
}

input.input_type_email {
    background-image: url('/img/mdicons/emails.svg');
    background-position: 10px;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 40px;
}

input.input_type_password {
    background-image: url('/img/mdicons/lock.svg');
    background-position: 10px;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 40px;
    padding-right: 40px;
}

svg.input_icon {
    position: absolute;
    top: 8px;
    left: 8px;
}

svg.input_display_password {
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
}

.contain_password_procedure {
    width: 70%;
    display: flex;
    flex-flow: column wrap;
    align-items: flex-start;
}

.contain_password_procedure > div {
    padding-top: 5px;
}

.show_password_procedure {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 5px;
    font-size: .9em;
}

.show_password_procedure:hover {
    cursor: pointer;
    text-decoration: underline;
}

.password_procedure {
    width: 100%;
    display: flex;
    flex-flow: column wrap;
    align-items: flex-start;
}

.password_procedure_none {
    display: none;
}

.register_conditions {
    width: 100%;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
}

.register_conditions > div {
    width: 90%;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    padding: 0 20px;
}

.register_conditions a {
    padding: 5px 10px;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    color: var(--color-second);
}

@media screen and (min-width: 961px) and (max-width: 1360px) {

    .contain_form {
        width: 90%;
    }

    .contain_row_form > div > div > input,
    .contain_row_form > div > div > select,
    .contain_row_form > div > div > textarea {
        width: 100%;
    }
}

@media screen and (max-width: 960px) {

    .contain_form {
        width: 100%;
    }

    .contain_form.auth, .contain_form.auth.double {
        width: 70%;
    }

    .contain_title {
        font-size: .8em;
    }

    .contain_row_form {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
    }

    .contain_row_form > div {
        width: 90%;
        padding: 20px 20px 10px 20px;
    }

    .contain_row_form > div > div > input,
    .contain_row_form > div > div > select,
    .contain_row_form > div > div > textarea {
        width: 100%;
    }
}

@media screen and (max-width: 680px) {

    .contain_form.auth, .contain_form.auth.double {
        width: 90%;
    }

    .contain_form_title {
        padding-bottom: 10px;
    }

    .contain_row_form > div {
        width: 100%;
        padding: 10px 20px;
    }

    .contain_row_form.auth > div, .contain_row_form.auth.double > div, .register_conditions > div {
        width: 100%;
    }
}
