#template-contact .page-title { margin-bottom:220px; }
#template-contact .main-content-inner {
  display:flex;
  align-items:flex-start;
  margin-left:auto;
  margin-right:auto;
  max-width:1200px;
  position:relative;
  z-index:1;
}
#template-contact .main-content-inner .sidebar {
  margin-right:80px;
  width:300px;
  flex:0 0 auto;
}
#template-contact .main-content-inner .sidebar .cover-image { margin-top:-200px; }
#template-contact .main-content-inner .sidebar .content {
  font-size:16px;
  line-height:25px;
  padding-left:90px;
}
#template-contact .main-content-inner .sidebar .submenu {
  color:#909090;
  font-family:'Lato', sans-serif;
  font-size:12px;
  line-height:30px;
  padding-left:90px;
  text-transform:uppercase;
}
#template-contact .main-content-inner .sidebar .submenu .active { color:black; }
#template-contact .contact-form {
  margin-top:80px;
  position:relative;
  z-index:1;
}
#template-contact .contact-form .screen-reader-response { display:none; }
#template-contact .contact-form .form-title {
  background:white;
  color:#909090;
  font-family:'Lato', sans-serif;
  font-size:13px;
  font-weight:400;
  padding:0 20px;
  position:absolute;
  top:-15px;
  left:35px;
  text-transform:uppercase;
}
#template-contact .contact-form .wpcf7 {
  margin:auto;
  max-width:520px;
}
#template-contact .contact-form .field-wrapper {
  border-bottom:1px solid black;
  margin-bottom:59px;
  min-height:30px;
  position:relative;
  z-index:1;
}
#template-contact .contact-form .field-label {
  font-size:20px;
  line-height:20px;
  padding:3px 10px 7px;
  position:absolute;
  top:0;
  left:0;
  transform-origin:top left;
  transition:transform 300ms ease-in-out;
}
#template-contact .contact-form .field-focused:not(.message-field) .field-label { transform:translateY(35px) scale(0.7); }
#template-contact .contact-form .wpcf7-form-control-wrap { display:block; }
#template-contact .contact-form .wpcf7-form-control {
  display:block;
  font-size:20px;
  line-height:30px;
  padding-left:10px;
}
#template-contact .contact-form .wpcf7-validation-errors { display:none !important; }
#template-contact .contact-form .wpcf7-not-valid-tip {
  position:absolute;
  top:100%;
  right:0;
  color:red;
  font-size:14px;
  line-height:20px;
  padding-top:16px;
}
#template-contact .contact-form .wpcf7-mail-sent-ok {
  text-align:center;
  padding:40px 20px;
}
#template-contact .contact-form .message-field {
  border-bottom:0;
  font-size:40px;
  line-height:50px;
  margin-top:40px;
  position:relative;
}
#template-contact .contact-form .message-field .wpcf7-form-control-wrap { display:inline; }
#template-contact .contact-form .message-field .message-fake-input {
  display:inline;
  font-weight:700;
}
#template-contact .contact-form .message-field .field-label {
  display:inline-block;
  font-size:40px;
  font-weight:700;
  line-height:50px;
  overflow:hidden;
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  transition:color 300ms ease-in-out 200ms;
}
#template-contact .contact-form .message-field .field-label .pipe {
  border-left:1px solid currentColor;
  display:inline-block;
  font-weight:400;
  animation:blink-animation 0.7s steps(5,start) infinite;
  height:1em;
  position:relative;
  top:9px;
  left:10px;
}
#template-contact .contact-form .message-field .field-label:after {
  background:black;
  content:"";
  display:block;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  transition:transform 600ms ease-in-out;
  transform:translateX(-105%);
}
#template-contact .contact-form .message-field .wpcf7-textarea {
  overflow:hidden;
  width:0;
  height:0;
}
#template-contact .contact-form .message-field .wpcf7-submit {
  color:transparent;
  display:inline-block;
  margin-left:20px;
  overflow:hidden;
  outline:1px solid transparent;
  padding-left:0;
  position:relative;
  z-index:1;
  vertical-align:8px;
  transition:color 200ms ease-in-out 800ms, outline-color 300ms ease-in-out 1000ms;
  visibility:hidden;
}
#template-contact .contact-form .message-field .wpcf7-submit:before {
  background:black;
  content:"";
  display:block;
  padding:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-2;
  transition:transform 600ms ease-in-out 600ms;
  transform:translateX(-105%);
}
#template-contact .contact-form .message-field .wpcf7-submit:after {
  background:black;
  content:"";
  display:block;
  padding:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  transform-origin:0 0;
  transition:transform 300ms ease-in-out;
  transform:scaleX(0);
}
#template-contact .contact-form .message-field.field-focused .field-label {
  pointer-events:none;
  color:transparent;
}
#template-contact .contact-form .message-field.field-focused .field-label:after { transform:translateX(105%); }
#template-contact .contact-form .message-field.field-focused .wpcf7-submit {
  outline:1px solid black;
  color:black;
  visibility:visible;
  transition-delay:0s;
}
#template-contact .contact-form .message-field.field-focused .wpcf7-submit .icon-wrapper {
  display:inline-block;
  padding:10px;
}
#template-contact .contact-form .message-field.field-focused .wpcf7-submit .icon-wrapper svg {
  display:inline-block;
  width:30px;
  height:15px;
}
#template-contact .contact-form .message-field.field-focused .wpcf7-submit:before { transform:translateX(105%); }
#template-contact .contact-form .message-field.field-focused .wpcf7-submit:hover {
  color:white;
  outline-color:black;
  transition-delay:0s;
}
#template-contact .contact-form .message-field.field-focused .wpcf7-submit:hover:after { transform:scaleX(1); }
#template-contact .contact-form .message-field.field-focused .wpcf7-submit:hover .icon-wrapper svg { transition-delay:0s; }
#template-contact .contact-form .message-field.field-focused.transition .wpcf7-submit { transition-delay:800ms, 1000ms; }
#template-contact .contact-form .ajax-loader {
  background:transparent;
  border-top:2px solid #909090;
  border-radius:50%;
  display:inline-block;
  margin-left:-42px;
  opacity:0;
  pointer-events:none;
  position:relative;
  top:1px;
  left:0;
  z-index:99;
  width:35px;
  height:35px;
  animation:mini-loader-animation 1s infinite;
  transition:opacity 300ms ease-in-out;
}
#template-contact .contact-form .ajax-loader.is-active { opacity:1; }
