<section id="hire">
    <h1>Contact Me</h1>
    
    <form>
        <div class="field name-box">
            <input type="text" id="name" placeholder="Who Are You?"/>
            <label for="name">Name</label>
            <span class="ss-icon">check</span>
        </div>

        <div class="field email-box">
            <input type="text" id="email" placeholder="name@email.com"/>
            <label for="email">Email</label>
            <span class="ss-icon">check</span>
        </div>

        <div class="field msg-box">
            <textarea id="msg" rows="4" placeholder="Your message goes here..."/></textarea>
            <label for="msg">Msg</label>
            <span class="ss-icon">check</span>
        </div>

        <input class="button" type="submit" value="Send" />
  </form>
</section>
// Grid
@mixin grid($column) {
    width:(100% / 12) * $column;
    margin:0 auto;
}

// Transition Ease
@mixin ease($time:333ms, $attr:all, $curve:ease-in-out) {
    -webkit-transition: $attr $time $curve;
    -moz-transition: $attr $time $curve;
    -o-transition: $attr $time $curve;
    -ms-transition: $attr $time $curve;
    transition: $attr $time $curve;
}

//-- Lato --//
@mixin lato-1 {font-family: 'Lato', sans-serif; font-weight:100;}
@mixin lato-1-i {@include lato-1; font-style:italic;}

@mixin lato-3 {font-family: 'Lato', sans-serif; font-weight:300;}
@mixin lato-3-i {@include lato-3; font-style:italic;}

@mixin lato-4 {font-family: 'Lato', sans-serif; font-weight:400;}
@mixin lato-4-i {@include lato-4; font-style:italic;}

@mixin lato-7 {font-family: 'Lato', sans-serif; font-weight:700;}
@mixin lato-7-i {@include lato-7; font-style:italic;}

@mixin lato-9 {font-family: 'Lato', sans-serif; font-weight:900;}
@mixin lato-9-i {@include lato-9; font-style:italic;}


// Colors
$blue:#313A3D;
$orange:#FD9638;
$dark-orange:darken($orange, 20%);
$grey:#B6B6B6;
$light-grey:lighten($grey, 15%);

$background:#efefef;
$field-color:#E8E9EA;





body {
    background:$background;
    font-size:62.5%;
    @include lato-3;
    color:$grey;

  section {
      background:white;
    margin:60px auto 120px;
    border-top:15px solid $blue;
    text-align:center;
      padding:50px 0 110px;
    width:80%;
    max-width:1100px;
    
    h1 {
      margin-bottom:40px;
      font-size:4em;
      text-transform:uppercase;
      @include lato-1;
    }
  }
}

// Form
form {
      @include grid(7);

      .field {
          width:100%;
          position:relative;
          margin-bottom:15px;

          $hover-label-width:18%;
          $placeholder-bumper:1.5%;
          $label-padding:18px;

          // Label
          label {
              text-transform: uppercase;
              position:absolute;
              top:0;
              left:0;
              background:$blue;
              width:100%;
              padding:($label-padding + 0px) 0;
              font-size: 1.45em;
              letter-spacing: 0.075em;

              @include ease(333ms);

              // Checkmark
              + span {
                  font-family: 'SSStandard';
                  opacity: 0;
                  color:white;
                  display: block;
                  position:absolute;
                  top: 12px;
                  left: 7%;
                  font-size: 2.5em;
                  text-shadow:1px 2px 0 $dark-orange;

                  @include ease(333ms);
              }
          }

          // Fields
          input[type="text"],
          textarea {
              border:none;
              background:$field-color;
              width:100% - $hover-label-width - $placeholder-bumper;
              margin:0;
              padding:$label-padding 0;
              padding-left:$hover-label-width + $placeholder-bumper;
              color:$blue;
              font-size: 1.4em;
              letter-spacing: 0.05em;
              text-transform: uppercase;

              &#msg {
                  height: 18px;
                  resize: none;
                  @include ease(333ms);
              }

              // Focus and JS Toggle Class
              &:focus,
              &.focused {
                  outline:none;

                  &#msg {
                      padding-bottom:150px;
                  }

                  + label {
                      width:$hover-label-width;
                      background:$orange;
                      color:$blue;
                  }
              }

              // JS Toggle Class
              &.focused {
                  + label {
                      color: $orange;
                  }
              }
          }

          // Field Hover
          &:hover {
              label {
                  width:$hover-label-width;
                  background:$blue;
                  color:white;
              }
          }
      }

      // Submit Button
      input[type="submit"] {
          background:$orange;
          color:white;
          -webkit-appearance: none;
          border: none;
          text-transform: uppercase;
    position:relative;
        padding: 13px 50px;
        font-size: 1.4em;
        letter-spacing: 0.1em;
        @include lato-3;
        @include ease;
        
          &:hover {
              background:$blue;
              color:$orange;
          }

          &:focus {
              outline:none;
              background:$dark-orange;
          }
      }
  }
View Compiled
// Input Lock
$('textarea').blur(function () {
    $('#hire textarea').each(function () {
        $this = $(this);
        if ( this.value != '' ) {
          $this.addClass('focused');
          $('textarea + label + span').css({'opacity': 1});
        }
        else {
          $this.removeClass('focused');
          $('textarea + label + span').css({'opacity': 0});
        }
    });
});

$('#hire .field:first-child input').blur(function () {
    $('#hire .field:first-child input').each(function () {
        $this = $(this);
        if ( this.value != '' ) {
          $this.addClass('focused');
          $('.field:first-child input + label + span').css({'opacity': 1});
        }
        else {
          $this.removeClass('focused');
          $('.field:first-child input + label + span').css({'opacity': 0});
        }
    });
});

$('#hire .field:nth-child(2) input').blur(function () {
    $('#hire .field:nth-child(2) input').each(function () {
        $this = $(this);
        if ( this.value != '' ) {
          $this.addClass('focused');
          $('.field:nth-child(2) input + label + span').css({'opacity': 1});
        }
        else {
          $this.removeClass('focused');
          $('.field:nth-child(2) input + label + span').css({'opacity': 0});
        }
    });
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js