Hopi endpoint login
by Adrian Grajdeanu
HTML
<div class="container-login">
<div class="panel-login">
<form class="login-form">
<div class="login-form-title">
<div class="hopi-logo">
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 340 340">
<g style="fill: #222;">
<path d="M170,0C76.3,0,0,76.3,0,170s76.3,170,170,170s170-76.3,170-170S263.7,0,170,0z M185,319.3V275h-30v44.3 C79.3,311.7,20,247.7,20,170C20,87.3,87.3,20,170,20s150,67.3,150,150C320,247.6,260.7,311.7,185,319.3z"/>
<path d="M220,145H120c-8.3,0-15,6.7-15,15v80c0,13.8,11.2,25,25,25h80c13.8,0,25-11.2,25-25v-80 C235,151.7,228.3,145,220,145z M170,195c-8.3,0-15-6.7-15-15s6.7-15,15-15c8.3,0,15,6.7,15,15S178.3,195,170,195z"/>
<path d="M220,65H120v70h100V65z M160,115h-20v-15h20V115z M200,115h-20v-15h20V115z"/>
</g>
</svg>
</div>
<div>Sign in</div>
</div>
<div class="login-label">Username</div>
<div class="login-input">
<input class="login-input-control" type="text" name="username">
<span class="login-focus-input"></span>
</div>
<div class="login-label">Password</div>
<div class="login-input">
<input class="login-input-control" type="password" name="password">
<span class="login-focus-input"></span>
</div>
<div class="container-login-form-btn">
<button class="login-form-btn">Sign in</button>
</div>
<div class="login-footer">
<a class="text-muted" href="#">Forgot password?</a>
</div>
</form>
</div>
</div>
CSS
*,
*::before,
*::after {
box-sizing: border-box;
}
html, body {
font-family: sans-serif;
height: 100%;
}
body {
margin: 0;
}
a {
color: #666;
font-size: 14px;
line-height: 1.5;
margin: 0;
text-decoration: none;
transition: all .4s;
}
a:hover {
color: #322446;
}
input {
outline: 0;
}
button {
border: 0;
cursor: pointer;
outline: 0;
}
.container-login {
align-items: center;
background: linear-gradient(45deg, #322446, #001230);
display: flex;
flex-wrap: wrap;
justify-content: center;
min-height: 100vh;
padding: 30px;
width: 100%;
}
.container-login-form-btn {
display: flex;
flex-wrap: wrap;
margin-top: 10px;
width: 100%;
}
.hopi-logo {
display: inline-block;
width: 80px;
padding-bottom: 10px;
}
.panel-login {
background: #fff;
border-radius: 10px;
box-shadow: 0 5px 10px 0px rgba(0, 0, 0, .1);
padding: 25px 40px 10px;
position: relative;
width: 420px;
}
.login-form {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
}
.login-form-title {
color: #555;
display: block;
font-size: 30px;
line-height: 1.2;
padding-bottom: 10px;
text-align: center;
width: 100%;
}
.login-form-btn {
align-items: center;
background-color: #333;
border-radius: 10px;
color: #fff;
display: flex;
font-size: 16px;
height: 40px;
justify-content: center;
line-height: 1.2;
position: relative;
transition: all .4s;
width: 100%;
z-index: 1;
}
.login-form-btn::before {
background: #a64bf4;
background: linear-gradient(-135deg, #322446, #001230);
border-radius: 10px;
content: "";
display: block;
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
transition: all .4s;
width: 100%;
z-index: -1;
}
.login-form-btn:hover::before {
opacity: 1;
}
.login-input {
margin-bottom: 10px;
position: relative;
width: 100%;
z-index: 1;
}
.login-input-control {
background-color: #f7f7f7;
border-radius: 10px;
...