<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<header>
One account. All of Google.
</header>
<div class="login">
<i ripple>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="#C7C7C7" d="m12,2c-5.52,0-10,4.48-10,10s4.48,10,10,10,10-4.48,10-10-4.48-10-10-10zm1,17h-2v-2h2zm2.07-7.75-0.9,0.92c-0.411277,0.329613-0.918558,0.542566-1.20218,1.03749-0.08045,0.14038-0.189078,0.293598-0.187645,0.470854,0.02236,2.76567,0.03004-0.166108,0.07573,1.85002l-1.80787,0.04803-0.04803-1.0764c-0.02822-0.632307-0.377947-1.42259,1.17-2.83l1.24-1.26c0.37-0.36,0.59-0.86,0.59-1.41,0-1.1-0.9-2-2-2s-2,0.9-2,2h-2c0-2.21,1.79-4,4-4s4,1.79,4,4c0,0.88-0.36,1.68-0.930005,2.25z"/>
</svg>
</i>
<div class="photo">
</div>
<span>Sign in with your Google Account</span>
<form action="" id="login-form">
<div id="u" class="form-group">
<input id="username" spellcheck=false class="form-control" name="username" type="text" size="18" alt="login" required="">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label for="username" class="float-label">Email</label>
<erroru>
Username is required
<i>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M0 0h24v24h-24z" fill="none"/>
<path d="M1 21h22l-11-19-11 19zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/>
</svg>
</i>
</erroru>
</div>
<div id="p" class="form-group">
<input id="password" class="form-control" spellcheck=false name="password" type="password" size="18" alt="login" required="">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label for="password" class="float-label">Password</label>
<errorp>
Password is required
<i>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M0 0h24v24h-24z" fill="none"/>
<path d="M1 21h22l-11-19-11 19zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/>
</svg>
</i>
</errorp>
</div>
<div class="form-group">
<input type="checkbox" id="rem">
<label for="rem">Stay Signed in</label>
<button id="submit" type="submit" ripple>Sign in</button>
</div>
</form>
<footer><a href="#0">Create an account</a></footer>
</div>
/*http://drbl.in/nYHu*/
/*
Author : Himateja
Editor : Codepen
Permissions : Open Source
*/
*,
*:after,
*:before
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
font-family:century gothic;
}
html, body
{
position: absolute;
height: 100%;
width: 100%;
background: rgb(243, 243, 243);
color: rgba(0,0,0,0.6);
font-family: RobotoDraft,Roboto;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
body header {
position: relative;
width: 100%;
height: 80px;
box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);
background: rgb(3, 169, 245);
font-size: 30px;
font-weight: 300;
color: rgb(242, 251, 253);
text-align: center;
line-height: 75px;
}
.login {
position: absolute;
padding: 10px;
left: calc(50% - 200px);
top: calc(50% - 13em);
width: 400px;
height: 460px;
border-radius: 3px;
background: white;
box-shadow: 0 1px 5px 0 rgba(0,0,0,0.26);
overflow: hidden;
}
.login > i {
position: relative;
width: 20px;
height: 20px;
border-radius: 50%;
float: right;
cursor: pointer;
}
.login .photo {
position: relative;
width: 100px;
height: 100px;
margin: 30px 135px;
border-radius: 50%;
background: rgb(223, 223, 223);
border: 13px solid rgb(223, 223, 223);
overflow: hidden !important;
transform: rotate(-1deg);
}
.login .photo:before {
position: absolute;
content: '';
width: 35px;
height: 35px;
top: 0px;
right: 20px;
border-radius: 50%;
background: #aaa;
border: 2px solid #fff;
transform: scale(0);
transition: 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
-webkit-animation: user-head 0.5s 0s forwards;
-moz-animation: user-head 0.5s 0s forwards;
animation: user-head 0.5s 0s forwards;
}
.login .photo:after {
position: absolute;
content: '';
width: 140px;
height: 220px;
top: 38px;
right: -32px;
border-radius: 50%;
background: #aaa;
border: 2px solid #fff;
transform: translateY(36px);
transition: 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
-webkit-animation: user-body 0.5s 0.3s forwards;
-moz-animation: user-body 0.5s 0.3s forwards;
animation: user-body 0.5s 0.3s forwards;
}
.login > span {
display: block;
text-align: center;
margin: -15px 0;
font-size: 15px;
}
form {
position: relative;
width: 350px;
margin: 50px 15px;
}
.form-group {
position: relative;
margin-top: 35px;
margin-bottom: 20px;
}
.form-control {
display: block;
height: 36px;
width: 100%;
border: none;
border-radius: 0 !important;
font-size: 15px;
font-family: inherit;
font-weight: 300;
padding: 0;
background-color: transparent;
box-shadow: none;
border-bottom: 1px solid rgba(117, 117, 117, 0.15);
}
.form-control:focus {
border-bottom: 2px solid rgb(3, 169, 245);
outline: none;
box-shadow: none;
}
.form-highlight {
position: absolute;
height: 60%;
width: 60px;
top: 25%;
left: 0;
pointer-events: none;
opacity: 0.4;
}
.form-control:focus ~ .form-highlight {
-webkit-animation: inputHighlighter 0.3s ease;
-moz-animation: inputHighlighter 0.3s ease;
animation: inputHighlighter 0.3s ease;
}
.float-label {
position: absolute;
left: 0;
top: 10px;
font-size: 16px;
color: #999;
font-weight: 300;
transition: 0.2s ease all;
-moz-transition: 0.2s ease all;
-webkit-transition: 0.2s ease all;
}
.form-control:focus ~ .float-label, .form-control:valid ~ .float-label {
top: -15px;
font-size: 12px;
}
.form-group erroru, .form-group errorp {
position: absolute;
width: 100%;
left: 0;
top: 38px;
font-size: 11px;
color: #d34336;
font-weight: 300;
transition: 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55) all;
-moz-transition: 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55) all;
-webkit-transition: 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55) all;
opacity: 0;
}
.form-group erroru i,.form-group errorp i {
position: absolute;
right: 0;
width: 15px;
height: 15px;
border-radius: 50%;
float: right;
}
.form-group erroru i svg, .form-group errorp i svg {
fill:#d34336;
}
.form-group[errr] .float-label {
color: #d34336 !important;
}
.form-group[errr] .form-control {
border-bottom: 1px solid #d34336 !important;
}
.form-group[errr] .form-control:focus {
border-bottom: 2px solid #d34336 !important;
}
.form-group[errr] erroru, .form-group[errr] errorp {
opacity: 1;
}
input[type=checkbox]
{
display: none;
visibility: hidden;
}
input[type="checkbox"] + label
{
cursor: pointer;
font-size: 15px;
font-weight: 500;
transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
input[type="checkbox"] + label:before
{
display: inline-block;
content: "";
margin: 0 15px 3px 0px;
width: 18px;
height: 18px;
background-color: #fff;
border: 2px solid #5a5a5a;
border-radius: 2px;
vertical-align: middle;
}
input[type=checkbox]:checked + label:before
{
background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMTVweCIgdmlld0JveD0iMCAwIDIwIDE1Ij4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iNy4xNDMsMTQuOTM4IDAsNy43OTYgMi4wMjEsNS43NzYgNy4xNDMsMTAuODk4IDE3Ljk3OSwwLjA2MiAyMCwyLjA4MiAiLz4NCjwvc3ZnPg0K');
background-color: rgb(3, 169, 245);
border-color: rgb(3, 169, 245);
background-repeat: no-repeat;
background-position: 50% 50%;
-webkit-background-size: 11px auto;
-moz-background-size: 11px auto;
-o-background-size: 11px auto;
background-size: 11px auto;
}
button[type="submit"] {
position: relative;
float: right;
font-family: inherit;
font-weight: 100;
font-size: 15px;
border: 0;
margin: -3px 0px;
padding: 5px 15px;
border-radius: 3px;
cursor: pointer;
background: rgb(3, 169, 245);
color: #fff;
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}
button[type="submit"]:focus {
outline: none;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
height: 30px;
margin-left: -10px;
line-height: 29px;
text-align: center;
cursor: pointer;
border-top: 1px solid rgba(117, 117, 117, 0.15);
}
footer a {
display: block;
text-decoration: none;
font-size: 12px;
color: inherit;
}
footer a:hover {
color: rgba(0,0,0,0.9);
text-decoration: underline;
}
footer a:focus {
outline: none;
}
.copyright {
position: fixed;
width: 100%;
bottom: 5px;
text-align: center;
font-size: 12px;
}
.copyright a {
text-decoration: none;
color: rgb(3, 169, 245);
}
.copyright a:hover {
transition: none;
border-bottom: 1px solid rgb(3, 169, 245);
}
/* -- highlighter animation --------------------------- */
@-webkit-keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
@-moz-keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
@keyframes inputHighlighter {
from { background:#5264AE; }
to { width:0; background:transparent; }
}
@-webkit-keyframes user-head {
100% {
-webkit-transform:scale(1);
transform:scale(1);
-moz-transform:scale(1);
} }
@-moz-keyframes user-head {
100% {
-webkit-transform:scale(1);
transform:scale(1);
-moz-transform:scale(1);
} }
@keyframes user-head {
100% {
-webkit-transform:scale(1);
transform:scale(1);
-moz-transform:scale(1);
} }
@-webkit-keyframes user-body {
100% {
-webkit-transform:translateY(2px);
transform:translateY(2px);
-moz-transform:translateY(2px);
} }
@-moz-keyframes user-body {
100% {
-webkit-transform:translateY(2px);
transform:translateY(2px);
-moz-transform:translateY(2px);
} }
@keyframes user-body {
100% {
-webkit-transform:translateY(2px);
transform:translateY(2px);
-moz-transform:translateY(2px);
} }
[ripple] {
position: relative;
overflow: hidden;
-webkit-transition: box-shadow .4s;
-moz-transition: box-shadow .4s;
-ms-transition: box-shadow .4s;
-o-transition: box-shadow .4s;
transition: box-shadow .4s;
cursor: inherit;
}
[ripple] .touch {
background: rgba(255, 255, 255, 0.3);
pointer-events: none;
border-radius: 100%;
}
// button ripple effect from @ShawnSauce 's pen http://codepen.io/ShawnSauce/full/huLEH
$(document).ready(function() {
$(function(){
var animationLibrary = 'animate';
$.easing.easeOutQuart = function (x, t, b, c, d) {
return -c * ((t=t/d-1)*t*t*t - 1) + b;
};
$('[ripple]:not([disabled],.disabled)')
.on('mousedown', function( e ){
var button = $(this);
var touch = $('<touch><touch/>');
var size = button.outerWidth() * 1.8;
var complete = false;
$(document)
.on('mouseup',function(){
var a = {
'opacity': '0'
};
if( complete === true ){
size = size * 1.33;
$.extend(a, {
'height': size + 'px',
'width': size + 'px',
'margin-top': -(size)/2 + 'px',
'margin-left': -(size)/2 + 'px'
});
}
touch
[animationLibrary](a, {
duration: 500,
complete: function(){touch.remove();},
easing: 'swing'
});
});
touch
.addClass( 'touch' )
.css({
'position': 'absolute',
'top': e.pageY-button.offset().top + 'px',
'left': e.pageX-button.offset().left + 'px',
'width': '0',
'height': '0'
});
/* IE8 will not appendChild */
button.get(0).appendChild(touch.get(0));
touch
[animationLibrary]({
'height': size + 'px',
'width': size + 'px',
'margin-top': -(size)/2 + 'px',
'margin-left': -(size)/2 + 'px'
}, {
queue: false,
duration: 500,
'easing': 'easeOutQuart',
'complete': function(){
complete = true
}
});
});
});
var username = $('#username'),
password = $('#password'),
erroru = $('erroru'),
errorp = $('errorp'),
submit = $('#submit'),
udiv = $('#u'),
pdiv = $('#p');
username.blur(function() {
if (username.val() == '') {
udiv.attr('errr','');
} else {
udiv.removeAttr('errr');
}
});
password.blur(function() {
if(password.val() == '') {
pdiv.attr('errr','');
} else {
pdiv.removeAttr('errr');
}
});
submit.on('click', function(event) {
event.preventDefault();
if (username.val() == '') {
udiv.attr('errr','');
} else {
udiv.removeAttr('errr');
}
if(password.val() == '') {
pdiv.attr('errr','');
} else {
pdiv.removeAttr('errr');
}
});
});