/* Form */

textarea { 
  resize: none;
  width: 100%;
  padding: .8rem;
  box-sizing: border-box;
  font-size: 1rem;
  outline: none;
  overflow: hidden;
  font-family: 'Open Sans', Helvetica, sans-serif;
  transition: height .2s ease;
  min-height: 0;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }
input { color: #494949; }
input:focus { outline: none; }

::placeholder {
  color: #909090;
  font-weight: 300;
}

.row,
.flex-contact .row {
  display: flex;
  flex-wrap: wrap;
  margin: 2rem auto;
}

.row > .col {
  display: flex;
  width: 45%;
  margin: 0 .5rem;
  padding: 1px;
  border-radius: 4px;
  border: none;
  flex: 1;
}

.row > .col-span {
  flex: auto;
  margin: auto .5rem;
}
.row > .col-captcha-input { flex: 0 0 30%; }
.row > .col-captcha-img { 
  flex: 0 0 64%;
  margin-top: 1.7rem;
}

.row > .col input,
.row > .col select {
  display: block;
  width: 85%;
  margin: auto;
}

.row > .col input {
  padding: .8rem;
  margin: 0;
  width: 100%;
  height: 100%;
  display: block;
  font-size: 1rem;
}

.row > .col input[type="submit"] { padding: .8rem 1.5rem; }

.row > .col select { padding: .4rem 0; }

#privacyCheck {
  display: flex;
  width: auto;
  height: auto;
  margin: 0 .5rem 0 0;
}

.char_count { position: relative; }

.char_count div {
  display: block;
  width: auto;
  position: absolute;
  font-size: .6rem;
  right: 10px;
  top: 28px;
  color: black;
}

.onLoad,
.onSuccess,
.onFailure {
  display: flex;
  align-items: center;
  position: static;
  margin: auto .5rem;
}

.onLoad:before { 
  background-image: url(/assets/img/icon/load.svg);
  animation: rotation 1s linear infinite;
}

.onFailure:before { background-image: url(/assets/img/icon/failure.svg); }
.onSuccess:before { background-image: url(/assets/img/icon/check.svg); }

.onLoad:before,
.onFailure:before,
.onSuccess:before { 
  content: " ";
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: .5rem;
}

#reCAPTCHA > div { margin: 0; }

@keyframes rotation {
  0% { transform: rotateZ(0deg); }
  100% { transform: rotateZ(360deg); }
}
