div.wpcf7 {
    margin: 0;
    padding: 0;
}

div.wpcf7 .screen-reader-response {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

div.wpcf7-response-output {
    border: 2px solid #ff0000;
    margin: 2em 0.5em 1em;
    padding: 0.2em 1em;
}

div.wpcf7-mail-sent-ok { border: 2px solid #398f14; }

div.wpcf7-mail-sent-ng,
div.wpcf7-aborted { border: 2px solid #ff0000; }

div.wpcf7-spam-blocked { border: 2px solid #ffa500; }

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing { border: 2px solid #f7e700; }

.wpcf7-form-control-wrap { position: relative; }

span.wpcf7-not-valid-tip {
    color: #f00;
    display: block;
    font-size: 1em;
    font-weight: normal;
}

.use-floating-validation-tip span.wpcf7-not-valid-tip {
    background: #fff;
    border: 1px solid #ff0000;
    left: 20%;
    padding: .2em .8em;
    position: absolute;
    top: 20%;
    z-index: 100;
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 1em;
}

span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after { content: " "; }

.wpcf7-display-none { display: none; }

div.wpcf7 .ajax-loader {
    background-image: url('../../images/ajax-loader.gif');
    border: none;
    display: inline-block;
    height: 16px;
    margin: 0 0 0 4px;
    padding: 0;
    vertical-align: middle;
    visibility: hidden;
    width: 16px;
}

div.wpcf7 .ajax-loader.is-active { visibility: visible; }

div.wpcf7 div.ajax-error { display: none; }

div.wpcf7 .placeheld { color: #888; }

div.wpcf7 input[type="file"] { cursor: pointer; }

div.wpcf7 input[type="file"]:disabled { cursor: default; }

div.wpcf7 .wpcf7-submit:disabled { cursor: not-allowed; }