Flippy Form

HTML

<br><br>
<form>
    <input name="First Name" type="text" class="form-field-text">
    <br>
    <input name="Last Name" type="text" class="form-field-text">
    <br>
    <input name="Email" type="email" class="form-field-text">
    <br>
    <textarea name="Message" class="form-field-textarea"></textarea>
    <input type="Submit" value="Send" class="form-field-submit">
</form>

CSS

body {
    font-family:sans-serif;
    background:#2084D3;
}
form {
    -webkit-perspective: 500;
    display:block;
    width:300px;
    margin:0 auto;
}
.form-field-text {    
    background:#4A8EDE;
    display:block;
    font-size:20px;
    line-height:1.4em;
    width:250px;
    padding:10px;
    outline:none;
    border:none;
    color:rgba(255, 255, 255, .7);
    transition:all .3s ease-out;
    -webkit-transform:rotateX(180deg);
}
.flip {
    -webkit-transform:rotateX(0deg);
    -webkit-transform-style: preserve-3d;
}
.form-field-text:focus {
    background:#fff;
    color:#555;
    box-shadow: 0 0 15px rgba(255,255,255,.6);
    -webkit-transform:rotateX(0deg);
}
.field-wrap {
    display:inline-block;
    position:relative;
    margin:10px 0;
    transition:all .3s ease-out;
}
.field-value {
    position:absolute;
    color:rgba(255, 255, 255, .7);
    font-size:20px;
    line-height:1.4em;
    top:0;
    left:0;
    padding:10px;
    transition:all .3s ease-out;
    pointer-events:none;
}

.form-field-textarea {
    background:#4A8EDE;
    display:block;
    width:250px;
    height:120px;
    font-size:14px;
    line-height:1.4em;
    padding:10px;
    outline:none;
    border:none;
    color:rgba(255, 255, 255, .7);
    transition:all .3s ease-out;
}

.form-field-textarea:focus {
    background:#fff;
    color:#555;
}

.form-field-submit {
    width: 270px;
    padding: 10px;
    margin:5px 0;
    display: inline-block;
    background: #3A5073;
    border: 0;
    color: #FFF;
    font-size: 15px;
    border-radius: 3px;
    transition:all .3s ease-out;
}
.form-field-submit:hover {
    cursor: pointer;
    background: #D83C3C;
    box-shadow: 0 0 5px #D83C3C;
}

JavaScript

// Add some extra markup
$('.form-field-text, .form-field-textarea').each(function () {
    var originalValue = $(this).attr('name');
    $(this).wrap('<div class="field-wrap"></div>');
    $(this).after('<div class="field-value">' + originalValue + '</div>');
});

// On Text Focus
$(document.body).on('focusin', '.form-field-text', function (event) {
    $(this).addClass('flip').next('.field-value').css({
        fontSize: "12px",
        top: "-15px",
        padding:"0"
    });
});

// On Text Blur
$(document.body).on('focusout', '.form-field-text', function (event) {
    var value = $(this).attr('value');
    if (!value) {
        $(this).next('.field-value').css({
            fontSize: "",
            top: "",
            padding: ""
        });
        $(this).removeClass('flip');
    }
});

// On Textarea Focus
$(document.body).on('focusin', '.form-field-textarea', function (event) {
    $(this).next('.field-value').css({
        fontSize: "12px",
        top: "-15px",
        padding:"0"
    });
});

// On Textarea Blur
$(document.body).on('focusout', '.form-field-textarea', function (event) {
    var value = $(this).attr('value');
    if (!value) {
        $(this).next('.field-value').css({
            fontSize: "",
            top: "",
            padding: ""
        });
    }
});

$('head').append('<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, user-scalable=0">');