Contact form 7 css replacement

div.wpcf7 {margin: 0;padding: 0;}
div.wpcf7-response-output {padding:10px;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;color: #fff;}
div.wpcf7 .screen-reader-response {position: absolute;overflow: hidden;clip: rect(1px, 1px, 1px, 1px);height: 1px;width: 1px;margin: 0;padding: 0;border: 0;}
div.wpcf7-mail-sent-ok {background-color: #27AE61;}
div.wpcf7-mail-sent-ng {background-color: #C0382A;}
div.wpcf7-spam-blocked {background-color: #EC7E25;}
div.wpcf7-validation-errors {background-color: #EC7E25;}
.wpcf7-form-control-wrap {position: relative;}
span.wpcf7-not-valid-tip {color: #C0382A;font-size:0.8em;text-transform: uppercase;font-weight: normal;display: block;text-align: left;padding-top:2px;}
.use-floating-validation-tip span.wpcf7-not-valid-tip {position: absolute;top: 20%;left: 20%;z-index: 100;border: 1px solid #ff0000;background: #fff;padding: .2em .8em;}
span.wpcf7-list-item {display: inline-block;}
span.wpcf7-list-item-label::before,
span.wpcf7-list-item-label::after {content: " ";}
.wpcf7-display-none {display: none;}
div.wpcf7 .ajax-loader {visibility: hidden;display: inline-block;background-image: url('../../images/ajax-loader.gif');width: 16px;height: 16px;border: none;padding: 0;margin: 0 0 0 4px;vertical-align: middle;}
div.wpcf7 .ajax-loader.is-active {visibility: visible;}
div.wpcf7 div.ajax-error {display: none;}
div.wpcf7 .placeheld {color: #888;}
div.wpcf7 .wpcf7-recaptcha iframe {margin-bottom: 0;}
div.wpcf7 input[type="file"] {cursor: pointer;}
div.wpcf7 input[type="file"]:disabled {cursor: default;}
div.wpcf7 .wpcf7-form-control-wrap {display: block;padding-bottom:5px;}
.wpcf7-text {width:100%;padding:10px;font-size: 13px;color:inherit;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;border:1px solid #CCC;}
.wpcf7-textarea {width:100%;padding:10px;font-size: 13px;color:inherit;font-family: inherit;height:180px;resize: vertical;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;border:1px solid #CCC;}
.wpcf7-submit {width:100%;padding:10px;font-size: 13px;color:#fff;-webkit-border-radius: 4px;-moz-border-radius: 4px;border-radius: 4px;border:1px solid #000;background-color:#000;cursor: pointer;text-transform: uppercase;font-weight: bold}
.wpcf7-submit:hover {background-color: #333;border:1px solid #333;}

Vertical align anything

/* traditional */
.element {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
/* Modern with flexbox */
.element-parent {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
    width:100%;
    padding:80px 0;
    text-align: center;
 }