<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 ---------->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link href='http://fonts.googleapis.com/css?family=Questrial|Droid+Sans|Alice' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="container">
<div class="row">
<div></div>
<img id="postcard" src="http://upload.wikimedia.org/wikipedia/commons/6/6d/FolliesBergereBoxCostume.jpg" alt="postcard" class="img-responsive move">
<div id="content" >
<h1> Contact me </h1>
<form role="form">
<div class="form-group">
<label for="username" class="iconic user" > Name <span class="required">*</span></label>
<input type="text" class="form-control" name="username" id="username" required="required" placeholder="Hi friend, how may I call you ?">
</div>
<div class="form-group">
<label for="usermail" class="iconic mail-alt"> E-mail address <span class="required">*</span></label>
<input type="email" class="form-control" name="usermail" id="usermail" placeholder="I promise I hate spam as much as you do" required="required">
</div>
<div class="form-group">
<label for="subject" class="iconic quote-alt"> Subject </label>
<input type="text" class="form-control" name="subject" id="subject" required="required" placeholder="What would you like to talk about?">
</div>
<div class="form-group">
<label for="message" class="iconic comment"> Message </label>
<textarea name="message" id="message" class="form-control" rows="3" placeholder="Don't be shy, live me a friendly message and I'll answer as soon as possible" required="required"></textarea>
</div>
<input type="submit" value=" ★ Send the mail !" />
</form>
</div>
</div>
</div>
</body>
</html>
/* generic */
body {
color: #3F3F3F;
font-family: 'Droid Sans',Tahoma,Arial,Verdana sans-serif;
font-size: 16px;
background: #3F3F3F;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block }
@font-face {
font-family: 'IconicStroke';
src: url('http://www.onextrapixel.com/examples/html5-css3-contact-form/font/iconic_stroke-webfont.eot');
src: url('http://www.onextrapixel.com/examples/html5-css3-contact-form/font/iconic_stroke-webfont.eot?#iefix') format('embedded-opentype'), url('http://www.onextrapixel.com/examples/html5-css3-contact-form/font/iconic_stroke-webfont.woff') format('woff'), url('http://www.onextrapixel.com/examples/html5-css3-contact-form/font/iconic_stroke-webfont.ttf') format('truetype'), url('http://www.onextrapixel.com/examples/html5-css3-contact-form/font/iconic_stroke-webfont.svg#IconicStrokeRegular') format('svg');
font-weight: normal;
font-style: normal;
}
h1 {
font-family: 'Questrial', Verdana, sans-serif;
text-align: center;
font-size: 40px;
padding: 0;
margin: 0 0 20px 0;
position: relative;
color: #8C8C8C;
}
/* * have a nice ampersand *
================================================== */
h1:after {
font-size: 25px;
color: #D6CFCB;
content: '&';
text-align: center;
display: block;
width: 100%;
font-family: 'Alice', Verdana, serif;
text-shadow: 0px 1px 0px #fff;
}
/* * create the gradient bottom *
================================================== */
h1:before {
position: absolute;
bottom: 15px;
content: ' ';
text-align: center;
display: block;
height: 2px;
width: 100%;
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(182,180,180,0.7) 42%, rgba(180,178,178,0) 43%, rgba(168,166,166,0) 50%, rgba(180,178,178,0) 57%, rgba(182,180,180,0.7) 58%, rgba(238,237,237,0.3) 90%, rgba(255,255,255,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(42%,rgba(182,180,180,0.7)), color-stop(43%,rgba(180,178,178,0)), color-stop(50%,rgba(168,166,166,0)), color-stop(57%,rgba(180,178,178,0)), color-stop(58%,rgba(182,180,180,0.7)), color-stop(90%,rgba(238,237,237,0.3)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(182,180,180,0.7) 42%,rgba(180,178,178,0) 43%,rgba(168,166,166,0) 50%,rgba(180,178,178,0) 57%,rgba(182,180,180,0.7) 58%,rgba(238,237,237,0.3) 90%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(182,180,180,0.7) 42%,rgba(180,178,178,0) 43%,rgba(168,166,166,0) 50%,rgba(180,178,178,0) 57%,rgba(182,180,180,0.7) 58%,rgba(238,237,237,0.3) 90%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(182,180,180,0.7) 42%,rgba(180,178,178,0) 43%,rgba(168,166,166,0) 50%,rgba(180,178,178,0) 57%,rgba(182,180,180,0.7) 58%,rgba(238,237,237,0.3) 90%,rgba(255,255,255,0) 100%); /* IE10+ */
background: linear-gradient(left, rgba(255,255,255,0) 0%,rgba(182,180,180,0.7) 42%,rgba(180,178,178,0) 43%,rgba(168,166,166,0) 50%,rgba(180,178,178,0) 57%,rgba(182,180,180,0.7) 58%,rgba(238,237,237,0.3) 90%,rgba(255,255,255,0) 100%); /* W3C */
}
/* ===[ Here comes to good stuff : content styling ]=== */
#content {
max-width: 400px;
position: relative;
margin: 50px auto;
min-height: 200px;
z-index: 100;
padding: 30px;
border: 1px solid #383838;
/* My stipped background */
background: #D1D1D1; /* Old browsers */
background: -moz-repeating-linear-gradient(-45deg, #EFC1CB , #EFC1CB 30px, #F2F2F2 30px, #F2F2F2 40px, #C2E8F5 40px, #C2E8F5 70px,#F2F2F2 70px, #F2F2F2 80px); /* FF3.6+ */
background: -webkit-repeating-linear-gradient(-45deg, #EFC1CB , #EFC1CB 30px, #F2F2F2 30px, #F2F2F2 40px, #C2E8F5 40px, #C2E8F5 70px,#F2F2F2 70px, #F2F2F2 80px); /* FF3.6+ */
background: -o-repeating-linear-gradient(-45deg, #EFC1CB , #EFC1CB 30px, #F2F2F2 30px, #F2F2F2 40px, #C2E8F5 40px, #C2E8F5 70px,#F2F2F2 70px, #F2F2F2 80px); /* FF3.6+ */
background: repeating-linear-gradient(-45deg, #EFC1CB , #EFC1CB 30px, #F2F2F2 30px, #F2F2F2 40px, #C2E8F5 40px, #C2E8F5 70px,#F2F2F2 70px, #F2F2F2 80px); /* FF3.6+ */
/*border-radius*/
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
/*box-shadow*/
-webkit-box-shadow: 0px 1px 6px #3F3F3F;
-moz-box-shadow: 0px 1px 6px #3F3F3F;
box-shadow: 0px 1px 6px #3F3F3F;
}
/* * my "fake" background that will hover the stripes *
================================================== */
#content form {
z-index: 101;
}
#content:after {
background: #F9F9F9;
margin: 10px;
position: absolute;
content : " ";
bottom: 0;
left: 0;
right: 0;
top: 0;
z-index: -1;
border: 1px #E5E5E5 solid;
/*border-radius*/
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
}
/* * labels*
================================================== */
/* * adding our icon font !!
================================================== */
.iconic:before {
font-size: 25px;
font-family: "IconicStroke";
}
.iconic.link:before { content: '/' }
.iconic.quote-alt:before { content: "'" }
.iconic.comment:before { content: "q" }
.iconic.user:before { content: "u" }
.iconic.mail-alt:before { content: "M" }
label {
color: #7F7E7E;
-webkit-transition: color 1s ease;
-moz-transition: color 1s ease;
transition: color 1s ease;
}
label:hover { color: #191919 }
label:before {
color: #C1BFBD;
-webkit-transition: color 1s ease;
-moz-transition: color 1s ease;
transition: color 1s ease;
}
label:hover:before {
color: #969696;
-webkit-transition: color 1s ease;
-moz-transition: color 1s ease;
transition: color 1s ease;
}
p { margin-bottom: 20px }
.indication {
color: #878787;
font-size: 12px;
font-style: italic;
text-align: right;
padding-right: 10px;
}
.required { color: #E5224C }
/* * Styling the send button *
================================================== */
input[type=submit] {
cursor: pointer;
background: none;
border: none;
font-family: 'Alice',serif;
color: #767676;
font-size: 18px;
padding: 10px 4px;
border: 1px solid #E0E0E0;
text-shadow: 0px 1px 1px #E8E8E8;
background: rgb(247,247,247);
background: -moz-linear-gradient(top, rgba(247,247,247,1) 1%, rgba(242,242,242,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,rgba(247,247,247,1)), color-stop(100%,rgba(242,242,242,1)));
background: -webkit-linear-gradient(top, rgba(247,247,247,1) 1%,rgba(242,242,242,1) 100%);
background: -o-linear-gradient(top, rgba(247,247,247,1) 1%,rgba(242,242,242,1) 100%);
background: -ms-linear-gradient(top, rgba(247,247,247,1) 1%,rgba(242,242,242,1) 100%);
background: linear-gradient(top, rgba(247,247,247,1) 1%,rgba(242,242,242,1) 100%);
/*border-radius*/
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
/*box-shadow*/
-webkit-box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #EAEAEA;
-moz-box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #EAEAEA;
box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #EAEAEA;
/*transition*/
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
transition: all 0.2s linear;
}
input[type=submit]:hover {
color: #686868;
border-color: #CECECE;
background: rgb(244,244,244);
background: -moz-linear-gradient(top, rgba(244,244,244,1) 0%, rgba(242,242,242,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(244,244,244,1)), color-stop(100%,rgba(242,242,242,1)));
background: -webkit-linear-gradient(top, rgba(244,244,244,1) 0%,rgba(242,242,242,1) 100%);
background: -o-linear-gradient(top, rgba(244,244,244,1) 0%,rgba(242,242,242,1) 100%);
background: -ms-linear-gradient(top, rgba(244,244,244,1) 0%,rgba(242,242,242,1) 100%);
background: linear-gradient(top, rgba(244,244,244,1) 0%,rgba(242,242,242,1) 100%);
/*box-shadow*/
-webkit-box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
-moz-box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
box-shadow: 0px 1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
}
input[type=submit]:active, input[type=submit]:focus {
position: relative;
top: 1px;
color: #515151;
background: rgb(234,234,234);
background: -moz-linear-gradient(top, rgba(234,234,234,1) 0%, rgba(242,242,242,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(234,234,234,1)), color-stop(100%,rgba(242,242,242,1)));
background: -webkit-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(242,242,242,1) 100%);
background: -o-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(242,242,242,1) 100%);
background: -ms-linear-gradient(top, rgba(234,234,234,1) 0%,rgba(242,242,242,1) 100%);
background: linear-gradient(top, rgba(234,234,234,1) 0%,rgba(242,242,242,1) 100%);
/*box-shadow*/
-webkit-box-shadow: 0px -1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
-moz-box-shadow: 0px -1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
box-shadow: 0px -1px 1px #FFF inset, 0 0 0px 5px #E0E0E0;
}
#postcard{
z-index: 102;
margin: 50px auto;
position: absolute;
transform: scale(1.2) rotate(30deg);
left: 650px;
}
.move {
animation-duration: 4s;
animation-timing-function: ease-in-out;
animation-delay: 1s;
animation-direction: alternate;
animation-fill-mode: forwards;
animation-iteration-count: 1;
animation-play-state: running;
animation-name: anim;
}
@keyframes anim
{
from {left: 650px; transform: scale(1.2) rotate(30deg); z-index:102; }
50% {left: 1150px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:102; }
75% {left: 1000px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:1;}
to {left: 650px; transform: scale(1) rotate(20deg); z-index:1;}
}
@keyframes animTabletHor
{
from {left: 450px; transform: scale(1.2) rotate(30deg); z-index:102; }
50% {left: 950px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:102; }
75% {left: 700px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:1;}
to {left: 450px; transform: scale(1) rotate(20deg); z-index:1;}
}
@keyframes animTablet
{
from {left: 250px; transform: scale(1.2) rotate(28deg); z-index:102; }
50% {left: 800px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:102; }
75% {left: 600px; top: -200px; transform: scale(0.8) rotate(45deg); z-index:1;}
to {left: 300px; transform: scale(1) rotate(20deg); z-index:1;}
}
@keyframes animPhone
{
from {transform: scale(1.2) rotate(28deg);}
25% {transform: scale(1) rotate(0deg);}
50% { transform: scale(0.8) rotate(0deg); top: -550px; ; z-index:102;}
75% { transform: scale(0.9) rotate(0deg); top: -200px; z-index:1;}
to { transform: scale(1) rotate(0deg); top: -100px; z-index:1;}
}
@media (min-width: 981px) and (max-width : 1280px) {
#postcard{
left: 450px;
}
.move {
animation-name: animTabletHor;
}
}
@media (min-width: 768px) and (max-width : 980px) {
#postcard{
transform: scale(1.2) rotate(28deg);
left: 250px;
}
.move {
animation-name: animTablet;
}
}
@media (max-width: 767px) {
#postcard{
left: auto;
top: 0px;
}
.move {
animation-name: animPhone;
}
}