|
|
|
|
|
/* ---------------------------------- */ |
|
|
|
*, *:before, *:after { |
|
position: relative; |
|
box-sizing: border-box; |
|
transition: all .3s cubic-bezier(.5, 0, .5, 1); |
|
} |
|
|
|
body, html { |
|
height: 100%; |
|
width: 100%; |
|
margin: 0; |
|
padding: 0; |
|
} |
|
|
|
body { |
|
background: #C9D2DE; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
} |
|
|
|
/* ---------------------------------- */ |
|
|
|
|
|
#app { |
|
height: 87vh; |
|
width: 46vh; |
|
transform: scale(0.8); |
|
border-radius: 2rem; |
|
background-color: #BEC9D6; //#fff; |
|
box-shadow: 0px 2vh 10vh rgba(0,0,0,.3); |
|
overflow: hidden; |
|
border: 1vh solid #F0F0F0; |
|
} |
|
|
|
.ui-nav { |
|
overflow: hidden; |
|
position: absolute; |
|
bottom: 1rem; |
|
left: 1rem; |
|
right: 1rem; |
|
height: 10vh; |
|
display: flex; |
|
align-items: stretch; |
|
text-align: center; |
|
border-radius: .75rem .75rem 1.25rem 1.25rem; |
|
z-index: 3; |
|
} |
|
|
|
$cutout-size: 9vh; |
|
|
|
.ui-bg { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
|
|
.ui-dot { |
|
$size: $cutout-size; |
|
width: $size; |
|
height: $size; |
|
border-radius: 50%; |
|
background: #F0F0F0; |
|
border-top: solid 2px #FFF; |
|
position: absolute; |
|
left: calc((33.3333% - #{$size}) / 2); |
|
top: 0%; |
|
z-index: 2; |
|
transform: scale(.85); |
|
box-shadow: 0px 0.5vh 1vh rgba(0,0,0,.3); |
|
} |
|
|
|
> .ui-cutout { |
|
$size: $cutout-size; |
|
width: $size; |
|
height: $size; |
|
left: calc((33.3333% - #{$size}) / 2); |
|
z-index: 3; |
|
border-radius: 50%; |
|
box-shadow: |
|
$size / 2 $size / 2 0 #F0F0F0, |
|
-$size / 2 $size / 2 0 #F0F0F0, |
|
0 $size 0 #F0F0F0; |
|
|
|
&:before, &:after { |
|
content: ''; |
|
position: absolute; |
|
width: 400%; |
|
height: 130%; |
|
background-color: #fff; |
|
top: 30%; |
|
background: #F0F0F0; |
|
border-top: solid 2px #FFF; |
|
} |
|
|
|
&:before { |
|
right: 100%; |
|
border-top-right-radius: 1vh; |
|
} |
|
|
|
&:after { |
|
left: 100%; |
|
border-top-left-radius: 1vh; |
|
} |
|
} |
|
} |
|
|
|
.ui-label { |
|
flex: 1; |
|
display: flex; |
|
align-items: center; |
|
justify-content: center; |
|
cursor: pointer; |
|
z-index: 2; |
|
top: 20%; |
|
font-size: $cutout-size / 2.5; |
|
|
|
svg { |
|
width: 1em; |
|
height: 1em; |
|
fill: #5B6D7F; |
|
transition-duration: .2s; |
|
transition-timing-function: linear; |
|
} |
|
} |
|
|
|
/* ---------------------------------- */ |
|
|
|
.ui-pages { |
|
display: flex; |
|
width: 100%; |
|
height: 100%; |
|
} |
|
|
|
.ui-page { |
|
width: 100%; |
|
margin-right: -100%; |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
color: #FFF; |
|
font-family: monospace; |
|
text-shadow: 0 1px 0px rgba(0,0,0,0.3); |
|
} |
|
|
|
[data-page="1"] { background-color: #76B471; } |
|
[data-page="2"] { background-color: #BEC9D6; } |
|
[data-page="3"] { background-color: #586B7D; } |
|
|
|
/* ---------------------------------- */ |
|
|
|
input[name="choice"] { |
|
position: absolute; |
|
top: 0; |
|
opacity: 0; |
|
} |
|
|
|
#nav-1:checked ~ * label[for="nav-1"], |
|
#nav-2:checked ~ * label[for="nav-2"], |
|
#nav-3:checked ~ * label[for="nav-3"] |
|
{ |
|
transform: translateY(-20%); |
|
svg { fill: #76B371; } |
|
} |
|
|
|
[data-page] { |
|
opacity: 0; |
|
transform: translateX(-100%); |
|
} |
|
|
|
#nav-1:checked ~ * [data-page="1"], |
|
#nav-2:checked ~ * [data-page="2"], |
|
#nav-3:checked ~ * [data-page="3"] |
|
{ |
|
opacity: 1; |
|
transform: translateX(0%); |
|
|
|
~ [data-page] { transform: translateX(100%); } |
|
} |
|
|
|
/* ---------------------------------- */ |
|
|
|
.ui-bg { |
|
transform: translateX(calc(var(--x) * 33.3333%)); |
|
} |
|
@for $i from 1 through 3 { |
|
#nav-#{$i}:checked ~ #app { |
|
--x: #{$i - 1}; |
|
} |
|
} |
|
|
|
/* ---------------------------------- */ |