921 lines
19 KiB
SCSS
921 lines
19 KiB
SCSS
|
|
// Define the fonts used in the Pen
|
||
|
|
@import url(https://fonts.googleapis.com/css?family=Francois+One);
|
||
|
|
@import url(https://fonts.googleapis.com/css?family=PT+Sans);
|
||
|
|
|
||
|
|
@font-face {
|
||
|
|
font-family: 'Audiowide';
|
||
|
|
font-style: normal;
|
||
|
|
font-weight: 400;
|
||
|
|
src: local('Audiowide'), local('Audiowide-Regular'), url(http://themes.googleusercontent.com/static/fonts/audiowide/v2/8XtYtNKEyyZh481XVWfVOj8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
$color-bg: #fff; //background for the demo
|
||
|
|
|
||
|
|
body {
|
||
|
|
font-size: 62.5%;
|
||
|
|
background-color: $color-bg;
|
||
|
|
margin: 10px;
|
||
|
|
border: 1px solid #333;
|
||
|
|
}
|
||
|
|
|
||
|
|
*,
|
||
|
|
*::before,
|
||
|
|
*::after {
|
||
|
|
box-sizing: border-box;
|
||
|
|
}
|
||
|
|
|
||
|
|
h1, h2, h3 {
|
||
|
|
font-family: 'PT Sans', sans-serif;
|
||
|
|
text-transform: uppercase;
|
||
|
|
}
|
||
|
|
|
||
|
|
h1 {
|
||
|
|
font-size: 2.4em;
|
||
|
|
background-color: rgba(41, 41, 41, 1);
|
||
|
|
text-align: center;
|
||
|
|
padding: 20px;
|
||
|
|
margin: 0;
|
||
|
|
color: #fff;
|
||
|
|
|
||
|
|
a {
|
||
|
|
display: block;
|
||
|
|
margin-top: 10px;
|
||
|
|
text-transform: none;
|
||
|
|
color: #aaa;
|
||
|
|
font-size: 16px;
|
||
|
|
text-decoration: none;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.headingOuter {
|
||
|
|
background: #f1f1f1;
|
||
|
|
text-align: center;
|
||
|
|
margin-top: 50px;
|
||
|
|
margin-bottom: 0;
|
||
|
|
padding: 10px;
|
||
|
|
border-top: 1px solid #333;
|
||
|
|
border-bottom: 1px solid #333;
|
||
|
|
|
||
|
|
font-size: 1.6em;
|
||
|
|
|
||
|
|
&:first-child {
|
||
|
|
margin-top: 0;
|
||
|
|
}
|
||
|
|
h1 + & {
|
||
|
|
margin-top: 0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* =====================================================
|
||
|
|
Some defaults across all toggle demos
|
||
|
|
===================================================== */
|
||
|
|
|
||
|
|
.toggle {
|
||
|
|
display: block;
|
||
|
|
text-align: center;
|
||
|
|
margin-top: 40px;
|
||
|
|
user-select: none;
|
||
|
|
}
|
||
|
|
.toggle--checkbox {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
.toggle--btn {
|
||
|
|
display: block;
|
||
|
|
margin: 0 auto;
|
||
|
|
|
||
|
|
font-size: 1.4em;
|
||
|
|
|
||
|
|
transition: all 350ms ease-in;
|
||
|
|
|
||
|
|
&:hover {
|
||
|
|
cursor: pointer;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.toggle--btn,
|
||
|
|
.toggle--checkbox,
|
||
|
|
.toggle--feature {
|
||
|
|
&,
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
transition: all 250ms ease-in;
|
||
|
|
}
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
content: '';
|
||
|
|
display: block;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* ===================================================
|
||
|
|
Day/Night and Gender toggle buttons
|
||
|
|
=================================================== */
|
||
|
|
|
||
|
|
$toggleHeight: 70px;
|
||
|
|
$toggleWidth: 125px;
|
||
|
|
$borderWidth: 5px;
|
||
|
|
$toggleBtnRadius: $toggleHeight - 14px;
|
||
|
|
|
||
|
|
$bgColor--night: #3c4145;
|
||
|
|
$borderColor--night: #1c1c1c;
|
||
|
|
$toggleBtn-bgColor--night: #fff;
|
||
|
|
$toggleBtn-borderColor--night: #e3e3c7;
|
||
|
|
|
||
|
|
$bgColor--day: #9ee3fb;
|
||
|
|
$borderColor--day: #86c3d7;
|
||
|
|
$toggleBtn-bgColor--day: #ffdf6d;
|
||
|
|
$toggleBtn-borderColor--day: #e1c348;
|
||
|
|
|
||
|
|
$cloud-borderColor: #d3d3d3;
|
||
|
|
$cloud-bgColor: #fff;
|
||
|
|
|
||
|
|
.toggle--daynight,
|
||
|
|
.toggle--like {
|
||
|
|
.toggle--btn {
|
||
|
|
position: relative;
|
||
|
|
height: $toggleHeight;
|
||
|
|
width: $toggleWidth;
|
||
|
|
border-radius: $toggleHeight;
|
||
|
|
|
||
|
|
//toggle button
|
||
|
|
&:before {
|
||
|
|
position: absolute;
|
||
|
|
top: 2px;
|
||
|
|
left: 4px;
|
||
|
|
width: $toggleBtnRadius;
|
||
|
|
height: $toggleBtnRadius;
|
||
|
|
border-radius: 50%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.toggle--daynight {
|
||
|
|
.toggle--btn {
|
||
|
|
border: $borderWidth solid $borderColor--night;
|
||
|
|
background-color: $bgColor--night;
|
||
|
|
|
||
|
|
//toggle button
|
||
|
|
&:before {
|
||
|
|
background-color: $toggleBtn-bgColor--night;
|
||
|
|
border: $borderWidth solid $toggleBtn-borderColor--night;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
top: 62%;
|
||
|
|
left: $toggleWidth - ($toggleBtnRadius) - ($borderWidth * 2) - 20px;
|
||
|
|
z-index: 10;
|
||
|
|
width: $toggleBtnRadius / 5;
|
||
|
|
height: $toggleBtnRadius / 5;
|
||
|
|
opacity: 0;
|
||
|
|
background-color: $cloud-bgColor;
|
||
|
|
border-radius: 50%;
|
||
|
|
|
||
|
|
//crazy ass box-shadow to make the cloud
|
||
|
|
box-shadow: $cloud-bgColor 0 0,
|
||
|
|
$cloud-bgColor 3px 0,
|
||
|
|
$cloud-bgColor 6px 0,
|
||
|
|
$cloud-bgColor 9px 0,
|
||
|
|
$cloud-bgColor 11px 0,
|
||
|
|
$cloud-bgColor 14px 0,
|
||
|
|
$cloud-bgColor 16px 0,
|
||
|
|
$cloud-bgColor 21px -1px 0 1px,
|
||
|
|
$cloud-bgColor 16px -7px 0 -2px,
|
||
|
|
$cloud-bgColor 7px -7px 0 1px,
|
||
|
|
|
||
|
|
$cloud-borderColor 0 0 0 4px,
|
||
|
|
$cloud-borderColor 6px 0 0 4px,
|
||
|
|
$cloud-borderColor 11px 0 0 4px,
|
||
|
|
$cloud-borderColor 16px 0 0 4px,
|
||
|
|
$cloud-borderColor 21px -1px 0 5px,
|
||
|
|
$cloud-borderColor 16px -7px 0 1px,
|
||
|
|
$cloud-borderColor 7px -7px 0 5px;
|
||
|
|
|
||
|
|
transition: opacity 100ms ease-in;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes starry_star {
|
||
|
|
50% {
|
||
|
|
background-color: rgba(255,255,255,0.1);
|
||
|
|
box-shadow: #fff 30px -3px 0 0,
|
||
|
|
#fff 12px 10px 0 -1px,
|
||
|
|
rgba(255,255,255,0.1) 38px 18px 0 1px,
|
||
|
|
#fff 32px 34px 0 0,
|
||
|
|
rgba(255,255,255,0.1) 20px 24px 0 -1.5px,
|
||
|
|
#fff 5px 38px 0 1px;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@keyframes bounceIn {
|
||
|
|
0% {
|
||
|
|
opacity: 0;
|
||
|
|
transform: scale(.3);
|
||
|
|
}
|
||
|
|
50% {
|
||
|
|
opacity: 100;
|
||
|
|
transform: scale(1.1);
|
||
|
|
}
|
||
|
|
55% {
|
||
|
|
transform: scale(1.1);
|
||
|
|
}
|
||
|
|
75% {
|
||
|
|
transform: scale(.9);
|
||
|
|
}
|
||
|
|
100% {
|
||
|
|
opacity: 100;
|
||
|
|
transform: scale(1);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//stars
|
||
|
|
.toggle--feature {
|
||
|
|
display: block;
|
||
|
|
position: absolute;
|
||
|
|
top: 9px;
|
||
|
|
left: 52.5%;
|
||
|
|
z-index: 20;
|
||
|
|
width: 4px;
|
||
|
|
height: 4px;
|
||
|
|
border-radius: 50%;
|
||
|
|
background-color: #fff;
|
||
|
|
|
||
|
|
box-shadow: rgba(255,255,255,0.1) 30px -3px 0 0,
|
||
|
|
rgba(255,255,255,0.1) 12px 10px 0 -1px,
|
||
|
|
#fff 38px 18px 0 1px,
|
||
|
|
rgba(255,255,255,0.1) 32px 34px 0 0,
|
||
|
|
#fff 20px 24px 0 -1.5px,
|
||
|
|
rgba(255,255,255,0.1) 5px 38px 0 1px;
|
||
|
|
|
||
|
|
animation: starry_star 5s ease-in-out infinite;
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
position: absolute;
|
||
|
|
top: -2px;
|
||
|
|
left: -25px;
|
||
|
|
width: 18px;
|
||
|
|
height: 18px;
|
||
|
|
background-color: $toggleBtn-bgColor--night;
|
||
|
|
border-radius: 50%;
|
||
|
|
border: 5px solid $toggleBtn-borderColor--night;
|
||
|
|
|
||
|
|
box-shadow: $toggleBtn-borderColor--night -28px 0 0 -3px,
|
||
|
|
$toggleBtn-borderColor--night -8px 24px 0 -2px;
|
||
|
|
|
||
|
|
transform-origin: -6px 130%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//what happens once checkbox is checked
|
||
|
|
.toggle--checkbox:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
background-color: $bgColor--day;
|
||
|
|
border: $borderWidth solid $borderColor--day;
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
left: $toggleWidth - ($toggleBtnRadius) - ($borderWidth * 2) - 4px;
|
||
|
|
background-color: $toggleBtn-bgColor--day;
|
||
|
|
border: $borderWidth solid $toggleBtn-borderColor--day;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
opacity: 100;
|
||
|
|
animation-name: bounceIn;
|
||
|
|
animation-duration: 0.60s;
|
||
|
|
animation-delay: 0.10s;
|
||
|
|
animation-fill-mode: backwards;
|
||
|
|
animation-timing-function: ease-in-out;
|
||
|
|
}
|
||
|
|
|
||
|
|
> .toggle--feature {
|
||
|
|
opacity: 0;
|
||
|
|
box-shadow: rgba(255,255,255,0.1) 30px -3px 0 -4px,
|
||
|
|
rgba(255,255,255,0.1) 12px 10px 0 -5px,
|
||
|
|
#fff 38px 18px 0 -3px,
|
||
|
|
rgba(255,255,255,0.1) 32px 34px 0 -4px,
|
||
|
|
#fff 20px 24px 0 -5.5px,
|
||
|
|
rgba(255,255,255,0.1) 5px 38px 0 -3px;
|
||
|
|
animation: none;
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
left: 25px;
|
||
|
|
transform: rotate(70deg);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================================================
|
||
|
|
Like specific styling
|
||
|
|
================================================== */
|
||
|
|
|
||
|
|
$bgColor--sad: #3498db;
|
||
|
|
$borderColor--sad: #0865B0;
|
||
|
|
|
||
|
|
$bgColor--happy: #e25d5d;
|
||
|
|
$borderColor--happy: #AD1000;
|
||
|
|
|
||
|
|
$emojiWidth: 36px;
|
||
|
|
$emojiBgColor: #f2dd68;
|
||
|
|
$emojiBorderColor: #e5ce5e;
|
||
|
|
$emojiColor: #995710;
|
||
|
|
$emojiColorAlt: #d8aa2b;
|
||
|
|
|
||
|
|
$toggleFeaturePosition--sad: ($toggleBtnRadius/2) - 14;
|
||
|
|
$toggleFeaturePosition--happy: 53px;
|
||
|
|
|
||
|
|
.toggle--like {
|
||
|
|
position: relative;
|
||
|
|
|
||
|
|
.toggle--btn {
|
||
|
|
border: $borderWidth solid $borderColor--sad;
|
||
|
|
background-color: $bgColor--sad;
|
||
|
|
|
||
|
|
//toggle button
|
||
|
|
&:before {
|
||
|
|
background-color: $emojiBgColor;
|
||
|
|
border: $borderWidth solid $emojiBorderColor;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.toggle--feature {
|
||
|
|
position: absolute;
|
||
|
|
left: 14px;
|
||
|
|
top: 32%;
|
||
|
|
width: 7px;
|
||
|
|
height: 7px;
|
||
|
|
border-radius: 50%;
|
||
|
|
background-color: $emojiColor;
|
||
|
|
box-shadow: ($emojiWidth - 8) 0 0 0 $emojiColor;
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
position: absolute;
|
||
|
|
left: 0;
|
||
|
|
top: 11px;
|
||
|
|
width: $emojiWidth;
|
||
|
|
height: 17px;
|
||
|
|
background-color: $emojiColor;
|
||
|
|
|
||
|
|
border-radius: $emojiWidth $emojiWidth 0 0;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
left: 9px;
|
||
|
|
top: 21px;
|
||
|
|
width: 17px;
|
||
|
|
height: 7px;
|
||
|
|
background-color: $emojiColorAlt;
|
||
|
|
|
||
|
|
border-radius: 17px 17px 0 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
//what happens once checkbox is checked
|
||
|
|
.toggle--checkbox:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
background-color: $bgColor--happy;
|
||
|
|
border: $borderWidth solid $borderColor--happy;
|
||
|
|
|
||
|
|
//toggle button
|
||
|
|
&:before {
|
||
|
|
transform: translate($toggleWidth - ($toggleBtnRadius) - ($borderWidth * 2) - 8px, 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--feature {
|
||
|
|
transform: translate($toggleFeaturePosition--happy, 0);
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
border-radius: 0 0 $emojiWidth $emojiWidth;
|
||
|
|
top: 11px;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
top: 21px;
|
||
|
|
border-radius: 50%/50%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ====================================================
|
||
|
|
Text toggle button
|
||
|
|
==================================================== */
|
||
|
|
|
||
|
|
$toggleHeight: 70px;
|
||
|
|
$toggleWidth: 180px;
|
||
|
|
|
||
|
|
$toggle-borderColor: #8c8c8c;
|
||
|
|
$toggle-shadowColor: #999;
|
||
|
|
|
||
|
|
$activeTextColor: #db4c00;
|
||
|
|
$inactiveTextColor: #999;
|
||
|
|
|
||
|
|
.toggle--text {
|
||
|
|
.toggle--btn {
|
||
|
|
position: relative;
|
||
|
|
width: $toggleWidth;
|
||
|
|
height: $toggleHeight;
|
||
|
|
font-family: 'PT Sans', Sans Serif;
|
||
|
|
text-transform: uppercase;
|
||
|
|
font-weight: bold;
|
||
|
|
|
||
|
|
border-radius: 40px;
|
||
|
|
border: 1px solid $toggle-borderColor;
|
||
|
|
border-right: 2px solid $toggle-borderColor;
|
||
|
|
|
||
|
|
box-shadow: inset ($toggleWidth/2) 0 10px rgba(255, 255, 255, 0.6),
|
||
|
|
inset -3px 3px 18px -2px $toggle-borderColor,
|
||
|
|
0 0 15px #ccc,
|
||
|
|
|
||
|
|
0px -5px 16px 1px #ddd,
|
||
|
|
-5px -5px 16px 1px #ddd,
|
||
|
|
5px -5px 16px 1px #ddd,
|
||
|
|
-5px -5px 16px 1px #ddd,
|
||
|
|
5px -5px 16px 1px #ddd,
|
||
|
|
|
||
|
|
17px 9px 0 -5px rgba(255, 255, 255, 0.6),
|
||
|
|
-3px 6px 12px -7px #000,
|
||
|
|
|
||
|
|
|
||
|
|
//outlines
|
||
|
|
0 0 0 14px #fff,
|
||
|
|
0 0 0 15px $toggle-shadowColor;
|
||
|
|
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
top: 50%;
|
||
|
|
transform: translateY(-50%);
|
||
|
|
}
|
||
|
|
&:before {
|
||
|
|
content: attr(data-label-on);
|
||
|
|
left: 15%;
|
||
|
|
color: $inactiveTextColor;
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
content: attr(data-label-off);
|
||
|
|
right: 15%;
|
||
|
|
color: $activeTextColor;
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.toggle--checkbox:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
border-left: 2px solid $toggle-borderColor;
|
||
|
|
border-right: 1px solid $toggle-borderColor;
|
||
|
|
|
||
|
|
box-shadow: inset ($toggleWidth/2) 0 10px rgba(255, 255, 255, 0),
|
||
|
|
inset 3px 3px 18px -2px $toggle-borderColor,
|
||
|
|
0 0 15px #ccc,
|
||
|
|
|
||
|
|
0px -5px 16px 1px #ddd,
|
||
|
|
-5px -5px 16px 1px #ddd,
|
||
|
|
5px -5px 16px 1px #ddd,
|
||
|
|
-5px -5px 16px 1px #ddd,
|
||
|
|
5px -5px 16px 1px #ddd,
|
||
|
|
|
||
|
|
-17px 9px 0 -5px rgba(255, 255, 255, 0.6),
|
||
|
|
3px 6px 12px -7px #000,
|
||
|
|
|
||
|
|
|
||
|
|
//outlines
|
||
|
|
0 0 0 14px #fff,
|
||
|
|
0 0 0 15px $toggle-shadowColor;
|
||
|
|
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
color: $activeTextColor;
|
||
|
|
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
color: $inactiveTextColor;
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* =====================================================
|
||
|
|
Toggle - knob button style
|
||
|
|
===================================================== */
|
||
|
|
|
||
|
|
$toggleHeight: 40px;
|
||
|
|
$toggleWidth: 120px;
|
||
|
|
|
||
|
|
$toggleBtnRadius: 48px;
|
||
|
|
$toggleBtnColor: #f1f1f1;
|
||
|
|
|
||
|
|
$toggle-bgColor--inactive: #a2a2a2;
|
||
|
|
$toggle-bgColor--active: #a4bf4d;
|
||
|
|
|
||
|
|
$toggle-textColor: #fff;
|
||
|
|
|
||
|
|
.toggle--knob {
|
||
|
|
|
||
|
|
& .toggle--btn {
|
||
|
|
position: relative;
|
||
|
|
width: $toggleWidth;
|
||
|
|
height: $toggleHeight;
|
||
|
|
|
||
|
|
font-family: 'PT Sans', Sans Serif;
|
||
|
|
text-transform: uppercase;
|
||
|
|
color: $toggle-textColor;
|
||
|
|
|
||
|
|
background: $toggle-bgColor--active;
|
||
|
|
box-shadow: inset 0 20px 40px -10px #7b9d25;
|
||
|
|
border-radius: 40px;
|
||
|
|
|
||
|
|
//contains the actual knob part of the button and the 'on' text
|
||
|
|
&:before {
|
||
|
|
display: block;
|
||
|
|
position: absolute;
|
||
|
|
top: 50%;
|
||
|
|
left: 60%;
|
||
|
|
transform: translateY(-50%);
|
||
|
|
|
||
|
|
width: $toggleBtnRadius;
|
||
|
|
height: $toggleBtnRadius;
|
||
|
|
border-radius: 50%;
|
||
|
|
background: $toggleBtnColor;
|
||
|
|
box-shadow: 0 4px 10px 0 #999,
|
||
|
|
inset 0 10px 10px 8px rgba($toggleBtnColor, 0.6),
|
||
|
|
inset 0 0 8px 0px #333,
|
||
|
|
inset 0 0 0 13px #ccc,
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
|
||
|
|
text-indent: -100%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--feature {
|
||
|
|
position: relative;
|
||
|
|
display: block;
|
||
|
|
overflow: hidden;
|
||
|
|
height: $toggleHeight;
|
||
|
|
text-shadow: 0 1px 2px #666;
|
||
|
|
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
top: 50%;
|
||
|
|
transform: translateY(-50%);
|
||
|
|
}
|
||
|
|
&:before {
|
||
|
|
content: attr(data-label-on);
|
||
|
|
left: 20%;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
content: attr(data-label-off);
|
||
|
|
right: -60%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--checkbox {
|
||
|
|
&:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
background: $toggle-bgColor--inactive;
|
||
|
|
box-shadow: inset 0 20px 40px -10px #7e7e7e;
|
||
|
|
|
||
|
|
&:before { left: 0; }
|
||
|
|
|
||
|
|
& .toggle--feature {
|
||
|
|
&:before { left: -60%; }
|
||
|
|
&:after { right: 20%; }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* =====================================================
|
||
|
|
Toggle - switch stylee
|
||
|
|
===================================================== */
|
||
|
|
|
||
|
|
$toggleHeight: 44px;
|
||
|
|
$toggleWidth: 120px;
|
||
|
|
|
||
|
|
$toggleBtnWidth: 52px;
|
||
|
|
$toggleBtnColor: #2b2e3a;
|
||
|
|
|
||
|
|
$toggle-bgColor--inactive: #ca5046;
|
||
|
|
$toggle-bgColor--active: #a4bf4d;
|
||
|
|
|
||
|
|
$toggle-textColor: #fff;
|
||
|
|
|
||
|
|
.toggle--switch {
|
||
|
|
|
||
|
|
& .toggle--btn {
|
||
|
|
position: relative;
|
||
|
|
width: $toggleWidth;
|
||
|
|
height: $toggleHeight;
|
||
|
|
|
||
|
|
font-family: 'PT Sans', Sans Serif;
|
||
|
|
text-transform: uppercase;
|
||
|
|
color: $toggle-textColor;
|
||
|
|
|
||
|
|
// background: $toggle-bgColor--inactive;
|
||
|
|
|
||
|
|
background: linear-gradient(90deg, $toggle-bgColor--active 0%, $toggle-bgColor--active 50%, $toggle-bgColor--inactive 50%, $toggle-bgColor--inactive 200%);
|
||
|
|
background-position: -80px 0;
|
||
|
|
background-size: 200% 100%;
|
||
|
|
box-shadow: inset 0 0px 22px -8px #111;
|
||
|
|
|
||
|
|
|
||
|
|
&,
|
||
|
|
&:before {
|
||
|
|
border-radius: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
//contains the actual knob part of the button and the 'on' text
|
||
|
|
&:before {
|
||
|
|
display: block;
|
||
|
|
position: absolute;
|
||
|
|
top: 50%;
|
||
|
|
left: 0;
|
||
|
|
transform: translateY(-50%);
|
||
|
|
|
||
|
|
width: $toggleBtnWidth;
|
||
|
|
height: $toggleHeight;
|
||
|
|
border: 2px solid #202027;
|
||
|
|
background-image: linear-gradient(90deg, transparent 50%, rgba(255,255,255,.15) 100%);
|
||
|
|
background-color: $toggleBtnColor;
|
||
|
|
|
||
|
|
background-size: 5px 5px;
|
||
|
|
|
||
|
|
text-indent: -100%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--feature {
|
||
|
|
position: relative;
|
||
|
|
display: block;
|
||
|
|
overflow: hidden;
|
||
|
|
height: $toggleHeight;
|
||
|
|
text-shadow: 0 1px 2px #666;
|
||
|
|
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
top: 50%;
|
||
|
|
transform: translateY(-50%);
|
||
|
|
}
|
||
|
|
&:before {
|
||
|
|
content: attr(data-label-on);
|
||
|
|
left: -60%;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
content: attr(data-label-off);
|
||
|
|
right: 16%;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--checkbox {
|
||
|
|
&:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
// background: $toggle-bgColor--active;
|
||
|
|
|
||
|
|
background-position: 0 0;
|
||
|
|
|
||
|
|
&:before { left: calc(100% - #{$toggleBtnWidth}); }
|
||
|
|
|
||
|
|
& .toggle--feature {
|
||
|
|
&:before { left: 20%; }
|
||
|
|
&:after { right: -60%; }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* ======================================================
|
||
|
|
Push button toggle
|
||
|
|
====================================================== */
|
||
|
|
|
||
|
|
$toggleBtnRadius: 50px;
|
||
|
|
$toggleBtnColor: #f9f8f6;
|
||
|
|
|
||
|
|
$toggleShadowColor: #333;
|
||
|
|
$toggleActiveColor: #FF9900;
|
||
|
|
$toggleInactiveColor: #ccc;
|
||
|
|
|
||
|
|
.toggle--push {
|
||
|
|
& .toggle--btn {
|
||
|
|
position: relative;
|
||
|
|
width: $toggleBtnRadius;
|
||
|
|
height: $toggleBtnRadius;
|
||
|
|
background-color: $toggleBtnColor;
|
||
|
|
border-radius: 50%;
|
||
|
|
|
||
|
|
box-shadow: 0 5px 10px 0px $toggleShadowColor,
|
||
|
|
0 15px 20px 0px lighten($toggleShadowColor, 60%);
|
||
|
|
|
||
|
|
&,
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
transition-duration: 150ms;
|
||
|
|
}
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
position: absolute;
|
||
|
|
left: 50%;
|
||
|
|
top: 50%;
|
||
|
|
transform: translate(-50%, -50%);
|
||
|
|
width: $toggleBtnRadius / 2.2;
|
||
|
|
height: $toggleBtnRadius / 2.2;
|
||
|
|
border-radius: 50%;
|
||
|
|
background-color: $toggleActiveColor;
|
||
|
|
|
||
|
|
box-shadow: inset 0 0 0 5px $toggleInactiveColor,
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
position: absolute;
|
||
|
|
left: 50%;
|
||
|
|
top: 35%;
|
||
|
|
transform: translate(-50%, -50%);
|
||
|
|
width: 4px;
|
||
|
|
height: 12px;
|
||
|
|
background-color: $toggleInactiveColor;
|
||
|
|
box-shadow: 0 0 0 2.5px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
|
||
|
|
&:hover {
|
||
|
|
&:before {
|
||
|
|
box-shadow: inset 0 0 0 5px darken($toggleInactiveColor, 10%),
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
background-color: darken($toggleInactiveColor, 10%);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--checkbox {
|
||
|
|
&:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
box-shadow: 0 2px 5px 0px lighten($toggleShadowColor, 30%),
|
||
|
|
0 15px 20px 0px transparent;
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
box-shadow: inset 0 0 0 5px $toggleActiveColor,
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
background-color: $toggleActiveColor;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$toggleBgColor: #111;
|
||
|
|
$toggleBtnColor: #dfdfdf;
|
||
|
|
|
||
|
|
$toggleActiveColor: #0094e0;
|
||
|
|
$toggleInactiveColor: #aaa;
|
||
|
|
|
||
|
|
.toggle--push--glow {
|
||
|
|
background: $toggleBgColor;
|
||
|
|
padding: 50px 0;
|
||
|
|
margin-bottom: -50px;
|
||
|
|
|
||
|
|
& .toggle--btn {
|
||
|
|
background-color: $toggleBtnColor;
|
||
|
|
box-shadow: 0 5px 10px 0px $toggleShadowColor,
|
||
|
|
0 0 0 3px lighten($toggleBgColor, 20%),
|
||
|
|
0 0 8px 2px transparent,
|
||
|
|
0 0 0 6px lighten($toggleBgColor, 50%);
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
box-shadow: inset 0 0 0 5px $toggleInactiveColor,
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
background-color: $toggleInactiveColor;
|
||
|
|
box-shadow: 0 0 0 2.5px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
|
||
|
|
&:hover {
|
||
|
|
&:before {
|
||
|
|
box-shadow: inset 0 0 0 5px darken($toggleInactiveColor, 20%),
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
background-color: darken($toggleInactiveColor, 20%);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--checkbox {
|
||
|
|
|
||
|
|
&:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
box-shadow: 0 0px 8px 0 darken($toggleActiveColor, 10%),
|
||
|
|
0 0 0 3px $toggleActiveColor,
|
||
|
|
0 0 30px 0 $toggleActiveColor,
|
||
|
|
0 0 0 6px lighten($toggleBgColor, 40%);
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
box-shadow: inset 0 0 0 5px $toggleActiveColor,
|
||
|
|
inset 0 0 0 14px $toggleBtnColor;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
background-color: $toggleActiveColor;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* ======================================================
|
||
|
|
Neon toggle
|
||
|
|
====================================================== */
|
||
|
|
|
||
|
|
@keyframes neon {
|
||
|
|
0% {
|
||
|
|
text-shadow: 0 0 10px #fff,
|
||
|
|
0 0 15px #fff,
|
||
|
|
0 0 25px #fff,
|
||
|
|
0 0 40px #FF9900,
|
||
|
|
0 0 70px #FF9900,
|
||
|
|
0 0 90px #FF9900,
|
||
|
|
0 0 90px #FF9900;
|
||
|
|
}
|
||
|
|
100% {
|
||
|
|
text-shadow: 0 0 5px #fff,
|
||
|
|
0 0 10px #fff,
|
||
|
|
0 0 15px #fff,
|
||
|
|
0 0 20px #FF9900,
|
||
|
|
0 0 35px #FF9900,
|
||
|
|
0 0 40px #FF9900,
|
||
|
|
0 0 50px #FF9900;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$textColor--active: #f1f1f1;
|
||
|
|
$textColor--inactive: #333;
|
||
|
|
|
||
|
|
|
||
|
|
.toggle--neon {
|
||
|
|
background-color: #222;
|
||
|
|
margin-top: 0;
|
||
|
|
padding: 50px 0;
|
||
|
|
|
||
|
|
& .toggle--btn {
|
||
|
|
font-family: Audiowide;
|
||
|
|
text-transform: uppercase;
|
||
|
|
font-size: 6.2em;
|
||
|
|
color: $textColor--inactive;
|
||
|
|
|
||
|
|
// text-shadow: -1px -1px 1px #111, 1px 1px 1px #444;
|
||
|
|
|
||
|
|
text-shadow: 0 0 10px transparent,
|
||
|
|
0 0 15px transparent,
|
||
|
|
0 0 25px transparent,
|
||
|
|
0 0 40px transparent,
|
||
|
|
0 0 70px transparent,
|
||
|
|
0 0 90px transparent,
|
||
|
|
0 0 90px transparent;
|
||
|
|
|
||
|
|
&:before,
|
||
|
|
&:after {
|
||
|
|
display: inline-block;
|
||
|
|
margin: 0 20px;
|
||
|
|
transition: all 220ms ease-in-out;
|
||
|
|
}
|
||
|
|
|
||
|
|
&:before {
|
||
|
|
content: attr(data-label-off);
|
||
|
|
animation: neon 1.5s ease-in-out infinite alternate;
|
||
|
|
animation-delay: 90ms;
|
||
|
|
color: $textColor--active;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
content: attr(data-label-on);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
& .toggle--checkbox {
|
||
|
|
&:checked {
|
||
|
|
& + .toggle--btn {
|
||
|
|
&:before {
|
||
|
|
animation: none;
|
||
|
|
color: $textColor--inactive;
|
||
|
|
}
|
||
|
|
&:after {
|
||
|
|
animation: neon 1.5s ease-in-out infinite alternate;
|
||
|
|
animation-delay: 90ms;
|
||
|
|
color: $textColor--active;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|