
/*--------------------------------------

        INPUT ANIMATION

-------------------------------------*/
.input {
  position: relative;
  z-index: 1;
  display: inline-block;
  max-width: 350px;
  width: calc(100% - 2em);
  vertical-align: top;
}
/*-------------------- INPUT ANIMATION INSIDE CONTACT FORM*/
.form-inner .input {
  max-width: 240px;
}
.form-inner .input.email {
  float: right;
}
.form-inner .input.subject, .form-inner .input.message {
  max-width: 100%;
  width:100%;
}
.form-inner .input__field { 
  font-size: 18px;
}

.form-inner .input__field--hoshi {
  margin-top: 0;
}
.form-inner .input__label {
  opacity: 1;
}
.form-inner textarea {
  outline: none;
  border:none;
  background-color:transparent;
  resize: none;
  line-height: 1.5em;
  color: #000000;
  font-weight: 400;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  opacity: 0.5;
  font-weight: 500;
  font-family: "Barlow";
  font-size:18px;
}
::-moz-placeholder { /* Firefox 19+ */
  opacity: 0.5;
  font-weight: 500;
  font-family: "Barlow";
}
:-ms-input-placeholder { /* IE 10+ */
  opacity: 0.5; 
  font-weight: 500;
  font-family: "Barlow";
}
:-moz-placeholder { /* Firefox 18- */
  opacity: 0.5;
  font-weight: 500;
  font-family: "Barlow";
}

.textarea {
    position: relative;
    padding-top:74px;
    border-bottom: 2px solid #B9C1CA;
}
.textarea:after {
    content: '';
    display: inline-block;
    position: absolute;
    width: 0;
    left:-1px;
    border-bottom: 4px solid #D24B1E;
    bottom: -3px;
    transition: width 600ms cubic-bezier(0,.9,.41,.99);
}
textarea {
    width: 100%;
    outline:none;
    border:none;
    resize:none;
    color: #aaa;
    font-weight: 600;
    font-size:18px;
}

 .textarea.active2:after {
    width: 100%;            
 }
/*-------------END FORM*/

.input__field {
  position: relative;
  display: block;
  float: right;
  padding: 0.8em;
  width: 60%;
  border: none;
  border-radius: 0;
  background: #f0f0f0;
  color: #000000;
  font-weight: 300;
  font-size:18px;
  font-family: "Barlow", sans-serif;
  -webkit-appearance: none; /* for box shadows to show on iOS */
}

.input__field:focus {
  outline: none;
}

.input__label {
  display: inline-block;
  float: right;
  padding: 0 1em;
  width: 40%;
  color: #95989A;
  opacity: 0.5;
  font-weight: 300;
  font-family: "Barlow";
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.input__label-content {
  position: relative;
  display: block;
  padding: 1.6em 0;
  width: 100%;
}

.graphic {
  position: absolute;
  top: 0;
  left: 0;
  fill: none;
}

.icon {
  color: #ddd;
  font-size: 150%;
}
/* Hoshi */
.input--hoshi {
  overflow: hidden;
}

.input__field--hoshi {
  margin-top: 2em;
  padding: 0.85em 0;
  width: 100%;
  background: transparent;
  color: #000000;
  font-weight: 400;
  font-size: 18px;
}

.input__label--hoshi {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 0;
  width: 100%;
  height: calc(100% - 1em);
  text-align: left;
  pointer-events: none;
}

.input__label-content--hoshi {
  position: absolute;
}

.input__label--hoshi::before,
.input__label--hoshi::after {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 100%;
  height: calc(100% - 10px);
  border-bottom: 2px solid #B9C1CA;
  opacity: 1;
}

.input__label--hoshi::after {
  margin-top: 2px;
  border-bottom: 4px solid #B9C1CA;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 600ms cubic-bezier(0,.9,.41,.99);
}

.input__label--hoshi-color-1::after {
  border-color: #D24B1E;
}

.input__field--hoshi:focus + .input__label--hoshi::after,
.input--filled .input__label--hoshi::after {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.input__field--hoshi:focus + .input__label--hoshi .input__label-content--hoshi,
.input--filled .input__label-content--hoshi {
  -webkit-animation: anim-1 0.3s forwards;
  animation: anim-1 0.3s forwards;
}

@-webkit-keyframes anim-1 {
  50% {
    opacity: 0;
    -webkit-transform: translate3d(1em, 0, 0);
    transform: translate3d(1em, 0, 0);
  }
  51% {
    opacity: 0;
    -webkit-transform: translate3d(-1em, -40%, 0);
    transform: translate3d(-1em, -40%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, -40%, 0);
    transform: translate3d(0, -40%, 0);
  }
}

@keyframes anim-1 {
  50% {
    opacity: 0;
    -webkit-transform: translate3d(1em, 0, 0);
    transform: translate3d(1em, 0, 0);
  }
  51% {
    opacity: 0;
    -webkit-transform: translate3d(-1em, -40%, 0);
    transform: translate3d(-1em, -40%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, -40%, 0);
    transform: translate3d(0, -40%, 0);
  }
}


@media only screen and (min-width: 481px) and (max-width: 767px) {
  .input {
    width: 100%;
    max-width: 100% !important;
    float: none !important;
  }
}

@media (min-width: 768px ) and (max-width: 1024px) {
	.form-inner .input.email {
	  float: none;
	}
}
