#contact_us {
    cursor: default; z-index: 104;
    position: absolute; right: 10px; top: 10px; width: auto; max-width: 0px; bottom: 10px;
    overflow-x: hidden; overflow-y: auto; opacity: 0;
    background-color: #8800dc;
    transition: max-width 0.5s, opacity 0.5s, border-radius 0.5s;
    pointer-events: all;
}

#contact_us.open {
    max-width: 492px; opacity: 1;
    /* width: 492px; opacity: 1; border-radius: 0px; top: 0%; bottom: 0%;  */
}


#contact_us .stage {
    position: relative;
    box-sizing: border-box;
    width: 492px; height: 100%;
    /* background-color: #8800dc;  */
    padding: 32px;
}

#contact_us .stage .topline {
    position: relative; height: 2px; width: auto; max-width: 0;
    background-color: #2d2d2d;
    transition: max-width 0.7s;
}

#contact_us.open .stage .topline {
    max-width: 370px;
}

#contact_us .stage .close {
    position: absolute; cursor: pointer;
    right: 43px; top: 21px;
    transform-origin: center;
    transform: scale(1);
    transition: transform 0.3s;
}

#contact_us .stage .close:hover {
    transform: scale(1.1);
}

#contact_us .stage .title {
    margin-top: 68px;
    /* font-family: NimbusRegular; font-size: 32px; text-align: left; font-weight: bold; */
    font-family: arial, sans-serif; font-size: 32px; text-align: left; font-weight: bold;
    color: #fff;
}

#contact_us .form_stage .description {
    margin: 0 0 20px 0;
    font-family: arial, sans-serif; font-size: 12px; text-align: left;
    color: #fff;
    padding: 0 32px;
}


#contact_us .form_stage {
    position: absolute;
    box-sizing: border-box;
    left: 0px; top: 140px; right: 0px; bottom: 20px;
    background-color: #8800dc;

}

#contact_us .form_stage form {
    position: relative;
    margin-left: 32px; width: 428px;
}

#contact_us .form_stage > div:first-child {
    position: relative;
    height: 100%;
    overflow: auto;
    padding-top: 5px;
}

#contact_us .form_stage form textarea,
#contact_us .form_stage form select,
#contact_us .form_stage form input {
    -webkit-appearance: textfield;
    appearance: textfield;
    position: relative;
    display: block; box-sizing: border-box;
    width: 100%; height: 44px; border-radius: 4px; margin-bottom: 20px;
    border: 2px solid #2d2d2d;
    background-color: rgba(136,0,220,1);
    /* font-family: NimbusRegular; font-size: 14px; text-align: left; color: #000000; */
    font-family: arial, sans-serif; font-size: 14px; text-align: left; color: #fff;
    padding: 0px 0 0px 19px;
    outline: none;
    -webkit-user-select: auto;
    user-select: auto;
    transition: background-color 0.5s;
}

#contact_us .form_stage form .invalid {
    border: 2px solid #EF353B;
}

#contact_us .form_stage form textarea {
    resize: none;
    position: absolute;
    padding: 15px 30px 15px 19px;
    box-sizing: border-box;
    width: 100%; height: 140px;
}

/* Has to be defined for custom scrollbar */
#contact_us .form_stage form .textarea_style_for_scrollbar .scroll-textarea {
    border: 2px solid #2d2d2d!important;
    border-radius: 4px!important;
    box-sizing: border-box!important;
    width: 100%!important;
    height: 150px!important;
}

#contact_us .form_stage form select {
    background-image: url(../images/svg/icon_menu_list_item_arrow.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
}

#contact_us .form_stage form select::placeholder,
#contact_us .form_stage form input::placeholder {
    /* font-family: NimbusRegular; font-size: 14px; text-align: left; color: #A58400; */
    font-family: arial, sans-serif; font-size: 14px; text-align: left; color: #fff;
    /* padding: 12px 0 12px 0; */
}

#contact_us .form_stage form textarea::placeholder{
    /* font-family: NimbusRegular; font-size: 14px; text-align: left; color: #A58400; */
    font-family: arial, sans-serif; font-size: 14px; text-align: left; color: #fff;
}

#contact_us .form_stage form textarea:hover,
#contact_us .form_stage form input:hover,
#contact_us .form_stage form select:hover,
#contact_us .form_stage form textarea:focus,
#contact_us .form_stage form input:focus,
#contact_us .form_stage form select:focus {
    background-color: rgba(136,0,220,1);
    /* border: 2px solid #000000; */
}

#contact_us .form_stage form label {
    position: absolute; z-index: 100;
    display: block;
    padding: 0 5px;
    background-color: #8800dc; border-radius: 8px;
    color: #2d2d2d;
    margin-left: 10px; margin-top: -6px;
    font-size: 11px;
    font-weight: bold;
    z-index: 100;
}

#contact_us button {
    -webkit-appearance: none;
    appearance: none;
    position: relative; cursor: pointer;
    display: inline-block; box-sizing: border-box;
    width: auto; height: 44px; border-radius: 40px; margin: 30px 0 40px 0;
    background-color: #fff; border: 0px solid #fff;
    /* font-family: NimbusRegular; font-size: 14px; text-align: left; color: #8800dc; */
    font-family: arial, sans-serif; font-size: 14px; text-align: left; color: #8800dc;
    padding: 0px 19px;
    transition: background-color 0.5s, color 0.5s, opacity 0.5s;
    outline: none;
    -webkit-user-select: auto;
    user-select: auto;
}

#contact_us button:focus,
#contact_us button:hover {
    background-color: #fff; color: #8800dc;
}

#contact_us button:disabled {
    opacity: 0.5;
    pointer-events: none;
}

#contact_us .form_sent_message {
    position: absolute;
    box-sizing: border-box;
    left: 0px; top: 60px; right: 0px; bottom: 0px;
    background-color: #8800dc;
    z-index: 100;
    text-align: center;
    padding: 10% 20% 0 20%;
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s;
    overflow: hidden;
}
#contact_us .form_sent_message h3 {
    font-family: arial, sans-serif; font-size: 32px; color: #2d2d2d;
}

#contact_us .form_sent_message .check,
#contact_us .form_sent_message .fail{
    display: none;
}
#contact_us.check .form_sent_message .check,
#contact_us.fail .form_sent_message .fail{
    display: block;
}

#contact_us.check .form_sent_message,
#contact_us.fail .form_sent_message {
    opacity: 1;
    pointer-events: all;
}

#contact_us .form_sent_message .guid_image {
    position: absolute;
    left: 0; top: 480px; right: 0;
    bottom: 0;
    text-align: center;
}

#contact_us .form_sent_message .guid_image img {
    position: absolute;
    bottom: 0;
    max-height: 600px;
    height: 100%;
    left: 50%;
    transform: translate(-50%, 0);
}

@media (min-width: 600px) and (max-height: 750px) {
    #contact_us .form_sent_message .guid_image img {
        display: none;
    }
}

@media (max-width: 600px) and (max-height: 600px) {
    #contact_us .form_sent_message .guid_image img {
        display: none;
    }
}


@media (max-width: 600px) {
    #contact_us {
        cursor: default; z-index: 105;
        right: 0; top: 100vh; height: auto; bottom: 0;
        width: 100vw;
        max-width: 100%;
        background-color: transparent;
        transition: opacity 0.5s, top 0.5s;
    }
    #contact_us.open {
        top: 64px;
        max-width: 100%;
    }
    #contact_us .stage {
        position: absolute;
        width: 100%;
        z-index: 1;
        background-color: #8800dc;
        border-radius: 20px 20px 0 0;
    }
    #contact_us .form_stage form {
        width: auto;
        margin-right: 32px;
    }
    #contact_us .stage .title {
        margin-top: 26px;
        text-align: center;
    }
    #contact_us.open .stage .topline {
        display: none;
    }
    #contact_us .form_stage {
        top: 100px;
    }
    #contact_us .form_stage form button {
        margin: 30px auto 40px auto;
    }
    #contact_us .stage .close {
        right: 22px;
    }
    #contact_us .darktop {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 30px;
        background: #2d2d2d;
        z-index: 0;
        opacity: 0;
        transition: opacity 1s;
    }
    #contact_us.open .darktop {
        opacity: 1;
    }
    #contact_us .form_sent_message {
        top: 40px;
        padding: 0 20% 0 20%;
    }
    #contact_us .form_sent_message .check img,
    #contact_us .form_sent_message .fail img {
        height: 100px; width: auto;
    }
    #contact_us .form_sent_message .guid_image {
        top: 320px;
    }
    #contact_us .form_sent_message h3,
    #contact_us .form_sent_message p {
        margin: 10px 0;
    }
}
