* {
margin:0;
padding:0;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
html,body {
height:100%;
}
body {
background:#000;
font-family:sans-serif;
}
.window {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
background:#000;
z-index:999;
-webkit-transition:opacity 0.6s;
transition:opacity 0.6s;
}
.window h1,.window h2,.window p {
color:#fff;
text-align:center;
}
.window h2 {
margin-top:100px;
margin-bottom:10px;
}
.window .meta {
margin-top:50px;
opacity:0.6;
}
.window h1 {
line-height:50px;
}
.window .btn-group {
margin:80px auto;
width:100px;
height:90px;
overflow:hidden;
position:relative;
}
.window .gopher {
position:relative;
top:6px;
left:0;
margin:0 auto;
}
.window label {
display:block;
position:absolute;
bottom:0;
left:0;
width:100%;
height:40px;
background:#51a70d;
color:#fff;
text-align:center;
line-height:40px;
cursor:pointer;
border-bottom:4px solid #62b210;
border-radius:4px;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
#end {
opacity:0;
pointer-events:none;
-webkit-pointer-events:none;
}
#startFlag {
position:absolute;
top:-10px;
left:-10px;
}
#startFlag:checked + #start {
opacity:0;
pointer-events:none;
-webkit-pointer-events:none;
}
#container {
background:-webkit-linear-gradient(top,#8adcf7 0%,#bbe8fd 100%);
background:linear-gradient(to bottom,#8adcf7 0%,#bbe8fd 100%);
position:absolute;
left:50%;
top:50%;
margin-left:-300px;
margin-top:-300px;
width:600px;
height:600px;
border:1px solid #000;
overflow:hidden;
}
#map {
position:absolute;
bottom:0;
left:-600px;
width:1800px;
height:800px;
-webkit-transform:perspective(600px) rotateX(45deg);
transform:perspective(600px) rotateX(45deg);
-webkit-transform-origin:center bottom;
-ms-transform-origin:center bottom;
transform-origin:center bottom;
}
.map {
width:5%;
height:100%;
float:left;
}
.map:nth-child(even) {
background:#62b210;
}
.map:nth-child(odd) {
background:#51a70d;
}
.hole {
position:absolute;
left:0;
top:70px;
width:68px;
height:100px;
background-image:-webkit-linear-gradient(left,#2a7d2f 0%,#78fc73 25%,#78fc73 35%,#113e15 95%);
background-image:linear-gradient(to right,#2a7d2f 0%,#78fc73 25%,#78fc73 35%,#113e15 95%);
border-left:1px solid #236d22;
box-shadow:0px 2px 5px 0px rgba(0,0,0,0.6);
}
.hole:before {
display:block;
content:'';
position:absolute;
width:84px;
height:24px;
margin-left:-8px;
top:-24px;
background-image:-webkit-linear-gradient(top,rgba(255,255,255,0) 1px,rgba(255,255,255,0.3) 2px,rgba(255,255,255,0.3) 3px,rgba(255,255,255,0) 4px),-webkit-linear-gradient(bottom,rgba(0,0,0,0.4) 3px,rgba(255,255,255,0.2) 5px,rgba(255,255,255,0) 6px),-webkit-linear-gradient(left,#2a7d2f 0%,#78fc73 25%,#78fc73 35%,#113e15 95%);
background-image:linear-gradient(to bottom,rgba(255,255,255,0) 1px,rgba(255,255,255,0.3) 2px,rgba(255,255,255,0.3) 3px,rgba(255,255,255,0) 4px),linear-gradient(to top,rgba(0,0,0,0.4) 3px,rgba(255,255,255,0.2) 5px,rgba(255,255,255,0) 6px),linear-gradient(to right,#2a7d2f 0%,#78fc73 25%,#78fc73 35%,#113e15 95%);
border-radius:2px;
}
.gopher {
z-index:0;
position:absolute;
display:block;
top:70px;
left:7px;
width:56px;
height:100px;
border-radius:20px;
background:#e3c498;
background-image:-webkit-radial-gradient(20px 23px,circle,#000000 5%,rgba(255,255,255,0) 5%),-webkit-radial-gradient(17px 20px,circle,#ffffff 10%,rgba(255,255,255,0) 10%),-webkit-radial-gradient(40px 23px,circle,#000000 5%,rgba(255,255,255,0) 5%),-webkit-radial-gradient(43px 20px,circle,#ffffff 10%,rgba(255,255,255,0) 10%),-webkit-radial-gradient(center 36px,circle,#000000 8%,rgba(255,255,255,0) 8%),-webkit-radial-gradient(center 48px,circle,#ffffff 20%,rgba(255,255,255,0) 20%);
background-image:radial-gradient(circle at 20px 23px,#000000 5%,rgba(255,255,255,0) 5%),radial-gradient(circle at 17px 20px,#ffffff 10%,rgba(255,255,255,0) 10%),radial-gradient(circle at 40px 23px,#000000 5%,rgba(255,255,255,0) 5%),radial-gradient(circle at 43px 20px,#ffffff 10%,rgba(255,255,255,0) 10%),radial-gradient(circle at center 36px,#000000 8%,rgba(255,255,255,0) 8%),radial-gradient(circle at center 48px,#ffffff 20%,rgba(255,255,255,0) 20%);
-webkit-appearance:button;
-moz-apperance:button;
appearance:button;
cursor:pointer;
border:none;
outline:none;
-webkit-animation-iteration-count:infinite;
animation-iteration-count:infinite;
}
.gopher:before,.gopher:after {
z-index:-1;
content:'';
left:-5px;
top:-5px;
width:20px;
height:20px;
position:absolute;
background:#e3c498;
border-radius:50%;
background-image:-webkit-radial-gradient(center,circle,#000000 40%,rgba(255,255,255,0) 40%);
background-image:radial-gradient(circle at center,#000000 40%,rgba(255,255,255,0) 40%);
}
.gopher:after {
left:auto;
right:-5px;
}
.gopher--not-button {
-webkit-appearance:none;
-moz-apperance:none;
appearance:none;
}
.group {
position:absolute;
z-index:1;
}
.group:nth-child(1) {
left:45px;
top:210px;
}
.group:nth-child(2) {
left:165px;
top:270px;
}
.group:nth-child(3) {
left:345px;
top:250px;
}
.group:nth-child(4) {
left:80px;
top:370px;
}
.group:nth-child(5) {
left:400px;
top:410px;
}
.group:nth-child(6) {
left:470px;
top:230px;
}
.gopher:checked {
-webkit-animation-name:none;
animation-name:none;
pointer-events:none;
-webkit-pointer-events:none;
opacity:0;
overflow:hidden;
}
.gopher1 {
-webkit-animation-name:gopher1;
animation-name:gopher1;
-webkit-animation-delay:2s;
animation-delay:2s;
-webkit-animation-duration:10s;
animation-duration:10s;
}
@-webkit-keyframes gopher1 {
0% {
top:70px;
}
10% {
top:0;
}
15% {
top:0;
}
20% {
top:70px;
}
100% {
top:70px;
}
}@keyframes gopher1 {
0% {
top:70px;
}
10% {
top:0;
}
15% {
top:0;
}
20% {
top:70px;
}
100% {
top:70px;
}
}.gopher2 {
-webkit-animation-name:gopher2;
animation-name:gopher2;
-webkit-animation-delay:2s;
animation-delay:2s;
-webkit-animation-duration:10s;
animation-duration:10s;
}
@-webkit-keyframes gopher2 {
0% {
top:70px;
}
30% {
top:70px;
}
60% {
top:0;
}
70% {
top:0;
}
90% {
top:0;
}
}@keyframes gopher2 {
0% {
top:70px;
}
30% {
top:70px;
}
60% {
top:0;
}
70% {
top:0;
}
90% {
top:0;
}
}.gopher3 {
-webkit-animation-name:gopher3;
animation-name:gopher3;
-webkit-animation-delay:0s;
animation-delay:0s;
-webkit-animation-duration:5s;
animation-duration:5s;
}
@-webkit-keyframes gopher3 {
0% {
top:70px;
}
30% {
top:70px;
}
60% {
top:0;
}
70% {
top:0;
}
90% {
top:70px;
}
}@keyframes gopher3 {
0% {
top:70px;
}
30% {
top:70px;
}
60% {
top:0;
}
70% {
top:0;
}
90% {
top:70px;
}
}.gopher4 {
-webkit-animation-name:gopher4;
animation-name:gopher4;
-webkit-animation-delay:2s;
animation-delay:2s;
-webkit-animation-duration:8s;
animation-duration:8s;
}
@-webkit-keyframes gopher4 {
0% {
top:70px;
}
10% {
top:70px;
}
15% {
top:0;
}
30% {
top:70px;
}
}@keyframes gopher4 {
0% {
top:70px;
}
10% {
top:70px;
}
15% {
top:0;
}
30% {
top:70px;
}
}.gopher5 {
-webkit-animation-name:gopher5;
animation-name:gopher5;
-webkit-animation-delay:0s;
animation-delay:0s;
-webkit-animation-duration:10s;
animation-duration:10s;
}
@-webkit-keyframes gopher5 {
0% {
top:70px;
}
70% {
top:70px;
}
80% {
top:0;
}
90% {
top:70px;
}
}@keyframes gopher5 {
0% {
top:70px;
}
70% {
top:70px;
}
80% {
top:0;
}
90% {
top:70px;
}
}.gopher6 {
-webkit-animation-name:gopher6;
animation-name:gopher6;
-webkit-animation-delay:4s;
animation-delay:4s;
-webkit-animation-duration:6s;
animation-duration:6s;
}
@-webkit-keyframes gopher6 {
0% {
top:70px;
}
70% {
top:70px;
}
90% {
top:0;
}
100% {
top:70px;
}
}@keyframes gopher6 {
0% {
top:70px;
}
70% {
top:70px;
}
90% {
top:0;
}
100% {
top:70px;
}
}.gopher7 {
-webkit-animation-name:gopher7;
animation-name:gopher7;
-webkit-animation-delay:2s;
animation-delay:2s;
-webkit-animation-duration:6s;
animation-duration:6s;
}
@-webkit-keyframes gopher7 {
0% {
top:70px;
}
20% {
top:70px;
}
25% {
top:0;
}
35% {
top:70px;
}
}@keyframes gopher7 {
0% {
top:70px;
}
20% {
top:70px;
}
25% {
top:0;
}
35% {
top:70px;
}
}.gopher8 {
-webkit-animation-name:gopher8;
animation-name:gopher8;
-webkit-animation-delay:0s;
animation-delay:0s;
-webkit-animation-duration:8s;
animation-duration:8s;
}
@-webkit-keyframes gopher8 {
0% {
top:70px;
}
50% {
top:70px;
}
60% {
top:0;
}
70% {
top:70px;
}
}@keyframes gopher8 {
0% {
top:70px;
}
50% {
top:70px;
}
60% {
top:0;
}
70% {
top:70px;
}
}.gopher9 {
-webkit-animation-name:gopher9;
animation-name:gopher9;
-webkit-animation-delay:0s;
animation-delay:0s;
-webkit-animation-duration:10s;
animation-duration:10s;
}
@-webkit-keyframes gopher9 {
0% {
top:70px;
}
10% {
top:70px;
}
20% {
top:0;
}
40% {
top:70px;
}
}@keyframes gopher9 {
0% {
top:70px;
}
10% {
top:70px;
}
20% {
top:0;
}
40% {
top:70px;
}
}.gopher10 {
-webkit-animation-name:gopher10;
animation-name:gopher10;
-webkit-animation-delay:2s;
animation-delay:2s;
-webkit-animation-duration:8s;
animation-duration:8s;
}
@-webkit-keyframes gopher10 {
0% {
top:70px;
}
40% {
top:70px;
}
55% {
top:0;
}
65% {
top:70px;
}
}@keyframes gopher10 {
0% {
top:70px;
}
40% {
top:70px;
}
55% {
top:0;
}
65% {
top:70px;
}
}.gopher11 {
-webkit-animation-name:gopher11;
animation-name:gopher11;
-webkit-animation-delay:0s;
animation-delay:0s;
-webkit-animation-duration:10s;
animation-duration:10s;
}
@-webkit-keyframes gopher11 {
0% {
top:70px;
}
40% {
top:70px;
}
50% {
top:0;
}
60% {
top:70px;
}
}@keyframes gopher11 {
0% {
top:70px;
}
40% {
top:70px;
}
50% {
top:0;
}
60% {
top:70px;
}
}.gopher12 {
-webkit-animation-name:gopher12;
animation-name:gopher12;
-webkit-animation-delay:3s;
animation-delay:3s;
-webkit-animation-duration:6s;
animation-duration:6s;
}
@-webkit-keyframes gopher12 {
0% {
top:70px;
}
30% {
top:70px;
}
50% {
top:0;
}
55% {
top:70px;
}
}@keyframes gopher12 {
0% {
top:70px;
}
30% {
top:70px;
}
50% {
top:0;
}
55% {
top:70px;
}
}#startFlag:checked ~ .points {
top:20px;
}
.points {
-webkit-transition:top 1s;
transition:top 1s;
position:absolute;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
top:-100px;
left:50%;
width:100px;
height:48px;
margin-left:-50px;
background:rgba(0,0,0,0.2);
border:4px solid #ffffff;
border-radius:4px;
color:#fff;
}
.points .points-viewport {
overflow:hidden;
height:40px;
width:100%;
}
.points .points-list {
position:relative;
top:-480px;
}
.points input {
display:block;
height:40px;
-webkit-transition:1s;
transition:1s;
}
.points input:checked {
height:0;
}
.points ul {
list-style:none;
padding:0;
margin:0;
}
.points li {
display:block;
height:40px;
text-align:center;
font-size:30px;
font-weight:bold;
cursor:default;
}
.time-wrapper {
position:absolute;
left:-150px;
top:20px;
-webkit-transition:1s;
transition:1s;
}
.time-wrapper p {
color:#fff;
line-height:24px;
}
.time {
border:2px solid #fff;
width:140px;
height:20px;
}
.time .progress {
height:16px;
width:0;
}
#startFlag:checked ~ .time-wrapper .progress {
-webkit-animation:progress 15s linear 0s forwards;
animation:progress 15s linear 0s forwards;
}
#startFlag:checked ~ #end {
-webkit-animation:end 16s linear 0s forwards;
animation:end 16s linear 0s forwards;
}
#startFlag:checked ~ .time-wrapper {
left:20px;
}
@-webkit-keyframes progress {
from {
width:0;
background:#00ff00;
}
to {
width:136px;
background:#ff0000;
}
}@keyframes progress {
from {
width:0;
background:#00ff00;
}
to {
width:136px;
background:#ff0000;
}
}#end {
top:-800px;
opacity:1;
display:block;
border-bottom:2px solid #fff;
}
#end .gopher {
position:absolute;
left:50%;
top:auto;
margin-left:-30px;
bottom:-54px;
}
@-webkit-keyframes end {
from {
top:-800px;
}
95% {
top:-800px;
}
to {
top:0;
}
}@keyframes end {
from {
top:-800px;
}
95% {
top:-800px;
}
to {
top:0;
}
}