#tool {
    position: relative;
    margin-top: 2em;
    background: #f1f1f1;
    border-radius: 5px;
    padding: 2em;
    max-width: 600px;
}

#tool button {
    margin-top: 10px;
    border: 1px solid #fff;
    color: #fff;
}

#tool label {
    min-width: 30%;
    vertical-align: top;
}

#tool input[type="checkbox"] {
    position: absolute;
    left: 5px;
    margin-top: 0;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="file"],
textarea,
select {
    border: 1px solid #ccc;
    height: auto;
    margin-top: 0px;
    /* width: 70%; */
    max-width: 100%;
    margin-bottom: 20px;
}

.captcha_reload {
    visibility: hidden;
    position: absolute;
    right: 15px;
}

.captcha_reload:after {
    content: "\f2f1";
    color: #000;
    font-family: 'Font Awesome 5 Free';
    font-size: 1em;
    visibility: visible;
}

textarea {
    margin-bottom: 10px;
}

input {
    border: 1px solid #ccc;
    height: auto;
    /* margin-top: 10px; */
}

input[type="file"] {
    border: none;
    padding: 0;
}

input[type="submit"] {
    margin-top: 10px;
}

.captcha_image {
    float: right;
    margin-right: 15px;
}

.required:after {
    content: "*";
    color: #ff0000;
    display: inline-block;
}

#tool ul {
    list-style: none;
    margin: 5px 0;
    padding: 0;
}

#tool ul li {
    color: #d9534f;
    font-size: 0.9em;
    margin: 0;
    padding: 0;
    margin-top: -1rem;
}

@media only screen and (max-width: 767px) {
    input {
        margin-top: 0px;
    }
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="file"],
    textarea,
    select {
        width: 100%;
        margin-bottom: 20px;
    }
    #tool label {
        margin-bottom: 0px;
        width: 100%
    }
    .captcha_image {
        float: none;
        margin-bottom: 10px;
    }
    .captcha_reload {
        left: 125px;
    }
}