mirror of
https://github.com/timmypidashev/web.git
synced 2026-04-14 19:13:51 +00:00
310 lines
5.6 KiB
Plaintext
310 lines
5.6 KiB
Plaintext
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
|
|
@prim: #333333;
|
|
|
|
*{
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
font-weight: 300;
|
|
}
|
|
|
|
body{
|
|
font-family: '', sans-serif;
|
|
color: white;
|
|
font-weight: 300;
|
|
|
|
::-webkit-input-placeholder { /* WebKit browsers */
|
|
font-family: 'Source Sans Pro', sans-serif;
|
|
color: white;
|
|
font-weight: 300;
|
|
}
|
|
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
|
|
font-family: 'Source Sans Pro', sans-serif;
|
|
color: white;
|
|
opacity: 1;
|
|
font-weight: 300;
|
|
}
|
|
::-moz-placeholder { /* Mozilla Firefox 19+ */
|
|
font-family: 'Source Sans Pro', sans-serif;
|
|
color: white;
|
|
opacity: 1;
|
|
font-weight: 300;
|
|
}
|
|
:-ms-input-placeholder { /* Internet Explorer 10+ */
|
|
font-family: 'Source Sans Pro', sans-serif;
|
|
color: white;
|
|
font-weight: 300;
|
|
}
|
|
}
|
|
|
|
.wrapper{
|
|
background: #333333;
|
|
background: -webkit-linear-gradient(top left, #333333 0%, #333333 100%);
|
|
background: -moz-linear-gradient(top left, #333333 0%, #333333 100%);
|
|
background: -o-linear-gradient(top left, #333333 0%, #333333 100%);
|
|
background: linear-gradient(to bottom right, #333333 0%, #333333 100%);
|
|
|
|
position: relative;
|
|
height: 100vh;
|
|
// top: 50%;
|
|
// left: 0;
|
|
// width: 100%;
|
|
// height: 400px;
|
|
// margin-top: -200px;
|
|
overflow: hidden;
|
|
|
|
&.form-success{
|
|
.container{
|
|
h1{
|
|
transform: translateY(85px);
|
|
}
|
|
}
|
|
}
|
|
|
|
// add shake
|
|
&.form-error{
|
|
// add animation to container
|
|
.container{
|
|
h1{
|
|
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
|
|
@keyframes shake {
|
|
10%, 90% {
|
|
transform: translate3d(-1px, 0, 0);
|
|
}
|
|
20%, 80% {
|
|
transform: translate3d(2px, 0, 0);
|
|
}
|
|
30%, 50%, 70% {
|
|
transform: translate3d(-4px, 0, 0);
|
|
}
|
|
40%, 60% {
|
|
transform: translate3d(4px, 0, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.container{
|
|
max-width: 600px;
|
|
margin: 0 auto;
|
|
padding: 80px 0;
|
|
height: 400px;
|
|
text-align: center;
|
|
|
|
h1{
|
|
font-size: 40px;
|
|
transition-duration: 1s;
|
|
transition-timing-function: ease-in-put;
|
|
font-weight: 200;
|
|
}
|
|
}
|
|
|
|
form{
|
|
padding: 20px 0;
|
|
position: relative;
|
|
z-index: 2;
|
|
|
|
input{
|
|
display: block;
|
|
appearance: none;
|
|
outline: 0;
|
|
border: 1px solid fade(white, 40%);
|
|
background-color: fade(white, 20%);
|
|
width: 250px;
|
|
|
|
border-radius: 3px;
|
|
padding: 10px 15px;
|
|
margin: 0 auto 10px auto;
|
|
display: block;
|
|
text-align: center;
|
|
font-size: 18px;
|
|
|
|
color: white;
|
|
|
|
transition-duration: 0.25s;
|
|
font-weight: 300;
|
|
|
|
&:hover{
|
|
background-color: fade(white, 40%);
|
|
}
|
|
|
|
&:focus{
|
|
background-color: white;
|
|
width: 300px;
|
|
|
|
color: @prim;
|
|
}
|
|
}
|
|
|
|
button{
|
|
appearance: none;
|
|
outline: 0;
|
|
background-color: white;
|
|
border: 0;
|
|
padding: 10px 15px;
|
|
color: @prim;
|
|
border-radius: 3px;
|
|
width: 250px;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
transition-duration: 0.25s;
|
|
|
|
&:hover{
|
|
background-color: rgb(245, 247, 249);
|
|
}
|
|
}
|
|
}
|
|
|
|
// // fade the form on success
|
|
// .form-success{
|
|
// .container{
|
|
// h1{
|
|
// transform: translateY(0px);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// // form error shake animation
|
|
// .form-error{
|
|
// .container{
|
|
// h1{
|
|
// animation: formError 0.5s;
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
.bg-bubbles{
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
z-index: 1;
|
|
|
|
li{
|
|
position: absolute;
|
|
// list-style: none;
|
|
display: block;
|
|
width: 40px;
|
|
height: 40px;
|
|
background-color: fade(white, 15%);
|
|
// bottom: -160px;
|
|
// make the squares spawn from the bottom of the screen determined by the height of the screen
|
|
// bottom: calc(-100% + 100px);
|
|
bottom: calc(100% - 1100px);
|
|
|
|
-webkit-animation: square 25s infinite;
|
|
animation: square 25s infinite;
|
|
|
|
-webkit-transition-timing-function: linear;
|
|
transition-timing-function: linear;
|
|
|
|
&:nth-child(1){
|
|
left: 10%;
|
|
}
|
|
|
|
&:nth-child(2){
|
|
left: 20%;
|
|
|
|
width: 80px;
|
|
height: 80px;
|
|
|
|
animation-delay: 2s;
|
|
animation-duration: 17s;
|
|
}
|
|
|
|
&:nth-child(3){
|
|
left: 25%;
|
|
animation-delay: 4s;
|
|
}
|
|
|
|
&:nth-child(4){
|
|
left: 40%;
|
|
width: 60px;
|
|
height: 60px;
|
|
|
|
animation-duration: 22s;
|
|
|
|
background-color: fade(white, 25%);
|
|
}
|
|
|
|
&:nth-child(5){
|
|
left: 70%;
|
|
}
|
|
|
|
&:nth-child(6){
|
|
left: 80%;
|
|
width: 120px;
|
|
height: 120px;
|
|
|
|
animation-delay: 3s;
|
|
background-color: fade(white, 20%);
|
|
}
|
|
|
|
&:nth-child(7){
|
|
left: 32%;
|
|
width: 160px;
|
|
height: 160px;
|
|
|
|
animation-delay: 7s;
|
|
}
|
|
|
|
&:nth-child(8){
|
|
left: 55%;
|
|
width: 20px;
|
|
height: 20px;
|
|
|
|
animation-delay: 15s;
|
|
animation-duration: 40s;
|
|
}
|
|
|
|
&:nth-child(9){
|
|
left: 25%;
|
|
width: 10px;
|
|
height: 10px;
|
|
|
|
animation-delay: 2s;
|
|
animation-duration: 40s;
|
|
background-color: fade(white, 30%);
|
|
}
|
|
|
|
&:nth-child(10){
|
|
left: 90%;
|
|
width: 160px;
|
|
height: 160px;
|
|
|
|
animation-delay: 11s;
|
|
}
|
|
}
|
|
}
|
|
|
|
// add sqaure animation that moves from bottom up and rotates then fades with steps
|
|
|
|
|
|
@-webkit-keyframes square {
|
|
0% { transform: translateY(0); }
|
|
100% { transform: translateY(-700px) rotate(600deg); }
|
|
100% { transform: translateY(-1100px) rotate(600deg); }
|
|
}
|
|
@keyframes square {
|
|
0% { transform: translateY(0); }
|
|
90% { transform: translateY(-1100px) rotate(600deg); }
|
|
}
|
|
|
|
// form error shake animation
|
|
@-webkit-keyframes formError {
|
|
0% { transform: translateY(0); }
|
|
100% { transform: translateY(-10px) rotate(5deg); }
|
|
100% { transform: translateY(0) rotate(-5deg); }
|
|
}
|
|
@keyframes formError {
|
|
0% { transform: translateY(0); }
|
|
100% { transform: translateY(-10px) rotate(5deg); }
|
|
100% { transform: translateY(0) rotate(-5deg); }
|
|
}
|
|
|