146 lines
2.6 KiB
CSS
146 lines
2.6 KiB
CSS
@import url("https://fonts.googleapis.com/css?family=Raleway:300");
|
|
|
|
:root {
|
|
--btn-border: 1px solid rgba(255, 255, 255, 0.2);
|
|
--btn-bg: transparent;
|
|
--btn-shadow: 1px 1px 25px 10px rgba(255, 255, 255, 0.5);
|
|
--btn-text-color: #f4f4f4;
|
|
|
|
--shine-degree: 120deg;
|
|
--shine-color: rgba(255, 255, 255, 0.2);
|
|
--shine-effect: linear-gradient(
|
|
var(--shine-degree),
|
|
transparent,
|
|
var(--shine-color),
|
|
transparent
|
|
);
|
|
--shine-transition: all 0.65s ease-in-out;
|
|
}
|
|
|
|
.btn {
|
|
position: relative;
|
|
overflow: hidden;
|
|
font-size: 1.1rem;
|
|
padding: 1rem 3rem;
|
|
border-radius: 4px;
|
|
text-decoration: none;
|
|
border: var(--btn-border);
|
|
color: var(--btn-text-color);
|
|
background: var(--btn-bg);
|
|
}
|
|
|
|
.btn:not(:last-child) {
|
|
margin-bottom: 3rem;
|
|
}
|
|
|
|
.btn::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: var(--shine-effect);
|
|
}
|
|
|
|
.btn-hover::before {
|
|
left: -100%;
|
|
transition: var(--shine-transition);
|
|
}
|
|
|
|
.btn-hover:hover {
|
|
box-shadow: var(--btn-shadow);
|
|
}
|
|
|
|
.btn-hover:hover::before {
|
|
left: 100%;
|
|
}
|
|
|
|
.btn-anim::before {
|
|
animation: shine 5s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes shine {
|
|
0% {
|
|
left: -100%;
|
|
transition-property: left;
|
|
}
|
|
45%,
|
|
100% {
|
|
left: 100%;
|
|
transition-property: left;
|
|
}
|
|
}
|
|
|
|
.btn-alt {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 250px;
|
|
height: 60px;
|
|
font-size: 1.1rem;
|
|
position: relative;
|
|
overflow: hidden;
|
|
border-radius: 4px;
|
|
text-decoration: none;
|
|
border: var(--btn-border);
|
|
color: var(--btn-text-color);
|
|
background: var(--btn-bg);
|
|
}
|
|
|
|
.btn-alt:not(:last-child) {
|
|
margin-bottom: 3rem;
|
|
}
|
|
|
|
.btn-alt::before,
|
|
.btn-alt::after {
|
|
content: "";
|
|
display: block;
|
|
position: absolute;
|
|
height: 100%;
|
|
top: 0;
|
|
}
|
|
|
|
.btn-alt::before {
|
|
background: rgba(255, 255, 255, 0.5);
|
|
width: 60px;
|
|
left: 0;
|
|
filter: blur(30px);
|
|
animation: shine-alt1 5s ease-in-out infinite;
|
|
}
|
|
|
|
.btn-alt::after {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
width: 30px;
|
|
left: 30px;
|
|
filter: blur(5px);
|
|
animation: shine-alt2 5s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes shine-alt1 {
|
|
0% {
|
|
opacity: 0.5;
|
|
transform: translateX(-100px) skewX(-15deg);
|
|
transition-property: opacity, transform;
|
|
}
|
|
45%,
|
|
100% {
|
|
opacity: 0.6;
|
|
transform: translateX(300px) skewX(-15deg);
|
|
transition-property: opacity, transform;
|
|
}
|
|
}
|
|
|
|
@keyframes shine-alt2 {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(-100px) skewX(-15deg);
|
|
transition-property: opacity, transform;
|
|
}
|
|
45%,
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(300px) skewX(-15deg);
|
|
transition-property: opacity, transform;
|
|
}
|
|
}
|