<div class="container">
<div class="sun"></div>
<div class="skyover"></div>
<div class="sky"></div>
<div class="skyline2"></div>
<div class="skyline1"></div>
<div class="skyline"></div>
<div class="skylinel2"></div>
<div class="skylinel1"></div>
<div class="skylinel"></div>
<div class="sun"></div>
<div class="bird"></div>
<div class="birdr"></div>
<div class="redskybubbles"></div>
<div class="redskybubblesright"></div>
<div class="redskybubbles1"></div>
<div class="redskylower"></div>
<div class="mountain1"></div>
<div class="mountain2"></div>
<div class="mountain"></div>
<div class="ocean"></div>
<div class="fincontainer">
<div class="fin"></div></div>
<div class="hill2"></div>
<div class="hill1"></div>
<div class="rightfenceposts"></div>
<div class="rightfencetop"></div>
<div class="rightfencebottom"></div>
<div class="fenceposts"></div>
<div class="fencetop"></div>
<div class="fencebottom"></div>
<div class="fencebottom1"></div>
<div class="fencedown"></div>
<div class="fencedownr"></div>
<div class="fencedown1"></div>
<div class="foreground"></div>
</div>
<a class="otherstuff" href="https://codepen.io/TheBrutalTooth/pens/popular/" target="_blank"><img src="https://assets.codepen.io/439415/codepen_logo_1.png" alt="codepenlogo" border="0" width="20px" height="20px"><span>The Brutal Tooth</span></a>
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
html {background: transparent;}
body {margin:0; padding:0; overflow: hidden;background: transparent;}
.night {animation: night 5s linear forwards;}
@keyframes night {
0% {background: rgba(46,2,54,1);}
100% {background: rgba(0,0,0,1);}
}
.foreground {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(14,16,35,255);
clip-path: polygon(0 86%, 12% 88%, 24% 89%, 32% 85%, 44% 89%, 52% 93%, 62% 89%, 75% 86%, 84% 80%, 96% 79%, 100% 77%, 100% 100%, 0 100%);}
.sky {position: absolute;
top: 0;
width: 100%;
height: 50%;
background-image: linear-gradient(to bottom, rgba(243,187,156,1) 0%, rgba(253,163,72,1) 55%, rgba(246,42,54,1) 100%);
animation: mysunrise 5s linear forwards 15s;
opacity: 0;
}
@keyframes mysunrise {
0% {display: none; opacity: 0;}
100% {display: block; opacity: 1;}
}
@keyframes sky {
0% {background: transparent;}
49.9% {background: transparent;}
50% { background: linear-gradient(to bottom, rgba(243,7,56,1) 0%, rgba(43,3,72,1) 55%, rgba(46,2,54,1) 100%);}
}
.skyover {
position: absolute;
top:0;
width: 100%;
height: 40%;
animation: fadesky 10s linear forwards;
background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/439415/sky1.jpg");
background-size: cover;
}
@keyframes fadesky {
0% {opacity: .85;}
100% {opacity: 0;}
}
.fenceposts {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(14,16,35,255);
clip-path: polygon(7% 87%, 6% 72%, 5% 74%, 6% 87%, 15% 89%, 15% 70%, 16% 68%, 16% 89%, 32% 84%, 32% 70%, 33% 69%, 33% 91%, 16% 89%);
}
.fencetop {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(14,16,35,255);
clip-path: polygon(14% 72%, 5% 75%, 5% 77%, 17% 74%, 17% 73%, 15% 74%, 16% 72%, 14% 74%, 34% 73%, 34% 70%);
}
.fencebottom {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(14,16,35,255);
clip-path: polygon(16% 82%, 5% 85%, 5% 87%, 16% 84%);
}
.fencebottom {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(14,16,35,1);
clip-path: polygon(16% 83%, 5% 85%, 5% 87%, 16% 85%);
}
.fencebottom1 {position: absolute;
bottom: -6%;
left: 2%;
width: 100%;
height: 100%;
background: rgba(14,16,35,1);
clip-path: polygon(31.5% 75%, 31.5% 71%, 17% 79%, 17% 81%, 31.5% 74%);
}
.hill1 {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(40,38,75,1);
clip-path: polygon(0 100%, 0 82%, 5% 76%, 10% 76%, 17% 78%, 25% 79%, 37% 81%, 52% 93%, 60% 85%, 72% 77%, 75% 75%, 83% 73%, 92% 76%, 96% 79%, 98% 80%, 100% 80%, 100% 100%);
}
.hill2 {position: absolute;
bottom: 0;
width: 100%;
height: 100%;
background: rgba(46,49,87,1);
clip-path: polygon(0 100%, 0 72%, 7% 63%, 14% 68%, 25% 70%, 32% 75%, 38% 82%, 45% 85%, 54% 84%, 63% 79%, 69% 73%, 79% 68%, 90% 69%, 95% 68%, 98% 67%, 100% 63%, 100% 100%);}
.ocean {position: absolute;
top: 57%;
width: 100%;
height: 43%;
background-image: linear-gradient(to bottom, rgba(96, 87, 119, 1), rgba(132, 85, 116, 1));
}
.mountain {position: absolute;
top: -38%;
width: 100%;
height: 100%;
background: rgba(45,39,77,1);
clip-path: polygon(0 100%, 0% 85%, 4% 82%, 9% 80%, 15% 74%, 19% 78%, 27% 69%, 29% 67%, 33% 66%, 37% 61%, 40% 58%, 44% 56%, 45% 56%, 52% 53%, 57% 56%, 60% 64%, 62% 61%, 64% 65%, 66% 66%, 68% 68%, 73% 72%, 78% 75%, 86% 79%, 90% 84%, 93% 87%, 96% 89%, 97% 89%, 100% 92%, 100% 100%, 0 100%, 0% 85%, 0 85%);
animation: mountainmain 30s ease forwards;
}
@keyframes mountainmain {
0% {background: rgba(45,39,77,1);}
50% {background: rgba(45,39,77,1);}
100% {background: rgba(85,79,115,1);}
}
.mountain1 {position: absolute;
top: -26%;
width: 100%;
height: 100%;
background: rgba(36,39,77,1);
clip-path: polygon(0% 61%, 2% 62%, 3% 64%, 6% 65%, 8% 66%, 11% 68%, 14% 72%, 0% 73%);
animation: mountain 30s ease forwards;
}
@keyframes mountain {
0% {background: rgba(36,39,77,1);}
50% {background: rgba(36,39,77,1);}
100% {background: rgba(138,100,135,1);}
}
.mountain2 {position: absolute;
top: -22%;
width: 100%;
height: 100%;
background: rgba(36,39,77,1);
clip-path: polygon(100% 62%, 97% 63%, 94% 67%, 91% 66%, 89% 65%, 86% 65%, 88% 65%, 84% 66%, 82% 67%, 80% 67%, 79% 67%, 75% 69%, 72% 72%, 69% 77%, 100% 77% );
animation: mountain 30s ease forwards;
}
.redskylower {position: absolute;
top: 36%;
width: 100%;
height: 20%;
background: rgba(46,49,87,1);
animation: redlower 30s ease forwards;
}
@keyframes redlower {
0% {background: rgba(46,49,87,1);}
50% {background: rgba(46,49,87,1);}
100% {background: rgba(243,103,149,.65);}
}
.redskybubbles {position: absolute;
top: 20%;
width: 72%;
height: 20%;
background: rgba(36,39,77,.65);
clip-path: polygon(0% 68%, 1% 68%, 2% 67%, 4% 67%, 5% 68%, 6% 66%, 6% 65%, 7% 62%, 8% 60%, 9% 60%, 11% 61%, 11% 57%, 11% 55%, 12% 53%, 13% 53%, 14% 53%, 14% 55%, 14% 57%, 15% 54%, 16% 53%, 17% 53%, 17% 55%, 17% 56%, 17% 59%, 17% 60%, 16% 63%, 17% 65%, 18% 66%, 19% 65%, 19% 63%, 20% 62%, 21% 62%, 21% 63%, 22% 65%, 23% 65%, 24% 66%, 26% 66%, 26% 63%, 26% 61%, 27% 59%, 27% 58%, 28% 57%, 28% 56%, 29% 57%, 30% 57%, 30% 59%, 30% 60%, 30% 62%, 31% 63%, 31% 64%, 32% 64%, 33% 63%, 34% 62%, 34% 63%, 35% 64%, 35% 66%, 35% 68%, 35% 71%, 0% 73%, 0% 69%);
animation: redbubbles 30s ease forwards;
}
.redskybubblesright {position: absolute;
top: 20%;
left: 72%;
width: 80%;
height: 20%;
background: rgba(26,29,67,.65);
clip-path: polygon(0% 68%, 1% 68%, 2% 67%, 4% 67%, 5% 68%, 6% 66%, 6% 65%, 7% 62%, 8% 60%, 9% 60%, 11% 61%, 11% 57%, 11% 55%, 12% 53%, 13% 53%, 14% 53%, 14% 55%, 14% 57%, 15% 54%, 16% 53%, 17% 53%, 17% 55%, 17% 56%, 17% 59%, 17% 60%, 16% 63%, 17% 65%, 18% 66%, 19% 65%, 19% 63%, 20% 62%, 21% 62%, 21% 63%, 22% 65%, 23% 65%, 24% 66%, 26% 66%, 26% 63%, 26% 61%, 27% 59%, 27% 58%, 28% 57%, 28% 56%, 29% 57%, 30% 57%, 30% 59%, 30% 60%, 30% 62%, 31% 63%, 31% 64%, 32% 64%, 33% 63%, 34% 62%, 34% 63%, 35% 64%, 35% 66%, 35% 68%, 35% 71%, 0% 73%, 0% 69%);
animation: redbubbles 30s ease forwards;
}
@keyframes redbubbles {
0% {background: rgba(26,29,67,.65);}
50% {background: rgba(26,29,67,.65);}
100% {background: rgba(243,103,149,.65);}
}
.redskybubbles1 {position: absolute;
top: 33.5%;
width: 100%;
height: 1.5%;
background: rgba(46,49,87,.4);
animation: redmiddle 30s ease forwards;
}
@keyframes redmiddle {
0% {background: rgba(46,49,87,.45);}
50% {background: rgba(46,49,87,.45);}
100% {background: rgba(243,103,149,.45);}
}
.rightfenceposts {position: absolute;
width: 100%;
height: 100%;
top: -2.5%;
background: rgba(14,16,35,255);
clip-path: polygon(53% 106%, 93% 99%, 75.8% 97%, 75.8% 70%, 75% 72%, 75% 89%, 82% 91%, 82% 74%, 82.5% 74%, 82.5% 90%, 86% 90%, 86% 77%, 86.5% 76%, 86.5% 90%, 85% 90%, 88% 89%, 88% 80%, 88.5% 80%, 88.5% 89%, 89% 89%, 64% 96%, 64% 70%, 63% 71%, 63% 96%);}
.rightfencetop {position: absolute;
width: 100%;
height: 90%;
top: -13.7%;
background: rgba(14,16,35,255);
clip-path: polygon(62% 95.7%, 75% 96.1%, 82.5% 98%, 82.5% 96.5%, 75% 93.8%, 62.2% 92.2%, 62% 96.5%);}
.rightfencebottom {position: absolute;
width: 100%;
height: 90%;
top: 0.7%;
background: rgba(14,16,35,255);
clip-path: polygon(62% 94.7%, 85% 91.1%, 85% 89.8%, 62.2% 92.2%, 62% 94%);
}
.bird {position: absolute;
opacity: 1;
top: 5%;
left: 0;
width: 1.75%;
height: 1.2%;
border: 2px solid black;
border-radius: 50%;
border-top-color: transparent;
border-left-color: transparent;
border-bottom-color: transparent;
transform: rotateZ(-270deg);
animation: moves 45s linear infinite, flap .5s linear alternate infinite;
z-index: 70;
}
.container {position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: black;
}
.birdr {position: absolute;
z-index: 70;
left: 0;
opacity: 1;
top: 4%;
width: 1.75%;
height: 1.2%;
border: 2px solid black;
border-radius: 50%;
border-bottom-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
transform: rotateZ(270deg);
animation: mover 45s linear infinite, flap .5s linear alternate infinite;
}
@keyframes moves {
0% {
left: -7%;
}
100% {
left: 104%;
}
}
@keyframes mover {
0% {
left: -4%;
}
100% {
left: 108%;
}
}
@keyframes flap {
0% {
border-radius: 90%;
}
50% {
border-radius: 10%;
}
100% {
border-radius: 90%;
}
}
.sun {position: absolute;
top: 10%;
left: 35%;
width: 25px;
height: 25px;
background: white;
border-radius: 50%;
box-shadow: 0 0 40px 0 #fff, 0 0 25px 0 #fff, 0 0 15px 0 #fff, 0 0 5px 0 #fff;
animation: move 30s ease forwards, fizz .25s linear infinite;
}
@keyframes fizz {
0% {box-shadow: 0 0 40px 0 #fff, 0 0 25px 0 #fff, 0 0 15px 0 #fff, 0 0 5px 0 #fff;}
50% {box-shadow: 0 0 40px 0 #fff, 0 0 23px 0 #fff, 0 0 13px 0 #fff, 0 0 5px 0 #fff;}
}
@keyframes move {
0% {top: 10%;}
5% {top: 10%;}
35% {top: 35%;}
45% {top: 35%;}
100% {top: 10%;}
}
.swim {position: absolute;
content: "";
top: 59%;
left: 45%;
background: rgba(45,39,75,.4);
width: 20px;
height: 40px;
animation: swim 15s ease-out forwards;
}
.head {width: 5px;
position: absolute;
height: 5px;
left: 10px;
top: 10px;
border: 1px solid rgba(45,39,75,1);
border-radius: 50%;
}
.fencedown {position: absolute;
top: -4.5%;
left: 0%;
background: rgba(14,16,35,1);
width: 100%;
height: 100%;
clip-path: polygon(55% 100%, 64% 77%, 63% 76%, 54% 100%);
}
.fencedownr {position: absolute;
top: -2.5%;
left: 5.3%;
background: rgba(14,16,35,1);
width: 100%;
height: 100%;
clip-path: polygon(77% 75%, 77.0% 77%, 82% 97%, 82% 96%);
}
.fencedown1 {position: absolute;
top: -6%;
left: 1%;
background: rgba(14,16,35,1);
width: 100%;
height: 100%;
clip-path: polygon(54% 100%, 53% 97%, 52% 97%, 53% 100%);
}
.skyline {position: absolute;
top:2%;
left: 0%;
background: rgba(46,49,87,1);
width: 100%;
height: 100%;
clip-path: polygon(100% 11%, 72% 10%, 73% 10%, 100% 8%);
animation: skyline 30s ease forwards;
}
@keyframes skyline {
0%{background: rgba(46,49,87,1);}
50%{background: rgba(46,49,87,1);}
100%{background: rgba(241,161,147,1);}
}
.skyline1 {position: absolute;
top:-2%;
left: 0%;
background: rgba(36,39,77,1);
width: 100%;
height: 100%;
clip-path: polygon(100% 11%, 65% 10%, 66% 10%, 100% 8%);
animation: skyline1 30s ease forwards;
}
@keyframes skyline1 {
0%{background: rgba(36,39,77,1);}
50%{background: rgba(36,39,77,1);}
100%{background: rgba(241,161,147,1);}
}
.skyline2 {position: absolute;
top:-6%;
left: 0%;
background: rgba(26,29,67,1);
width: 100%;
height: 100%;
clip-path: polygon(100% 11%, 51% 10%, 50% 10%, 100% 8%);
animation: skyline2 30s ease forwards;
}
@keyframes skyline2 {
0%{background: rgba(26,29,67,1);}
50%{background: rgba(26,29,67,1);}
100%{background: rgba(241,161,147,1);}
}
.skylinel {position: absolute;
top:2%;
left: 0%;
background: rgba(46,49,87,1);
width: 100%;
height: 100%;
clip-path: polygon(0% 11%, 21% 10%, 20% 10%, 0% 8%);
animation: skyline 30s ease forwards;}
.skylinel1 {position: absolute;
top:-2%;
left: 0%;
background: rgba(36,39,77,1);
width: 100%;
height: 100%;
clip-path: polygon(0% 11%, 27% 10%, 26% 10%, 0% 8%);
animation: skyline1 30s ease forwards;
}
.skylinel2 {position: absolute;
top:-6%;
left: 0%;
background: rgba(26,29,67,1);
width: 100%;
height: 100%;
clip-path: polygon(0% 11%, 35% 10%, 34% 10%, 0% 8%);
animation: skyline2 30s ease forwards;
}
.yacht1 {position: absolute;
top: 55.5%;
left: 30%;
background: rgba(45,39,75,1);
width: 5%;
height: 11%;
clip-path: polygon(16% 82%, 26% 82%, 33% 65%, 68% 65%, 86% 82%, 100% 82%, 77% 100%, 10% 100%);
animation: yacht 15s ease-out forwards;
}
.yacht1::after {
content: ". : : : : .";
color: yellow;
width: 80px;
height: 20px;
text-shadow: 0 0 4px #fff, 0 0 8px #ff0;
position: absolute;
top: 64%;
left: 34%;
font-size: 12px;
z-index: 1;
}
@keyframes yacht {
0% {left: -5%;}
100% {left: 45%}
}
@keyframes swim {
0% {left: -4%;}
100% {left: 46%}
}
.fincontainer {
position: absolute;
top: 77%;
left: 65%;
width: 15px;
height: 15px;
background: transparent;
overflow: hidden;
animation: sinks 20s linear forwards 22s;
}
.fin {
background: rgba(45,39,75,155);
position: absolute;
top: 0px;
left: 0;
width: 15px;
height: 15px;
clip-path: polygon(2% 100%, 22% 61%, 55% 31%, 87% 26%, 78% 33%, 73% 63%, 79% 88%, 84% 99%);
overflow: hidden;
animation: findown 2s linear forwards 32s;
}
@keyframes findown {
0% {top: 0;}
100% {top: 15px;}
}
@keyframes sinks {
0% {margin-left: 0;}
100% {margin-left: -37%;}
}
.otherstuff {
position: absolute;
bottom: -2px;
left: 10px;
width: 180px;
line-height: 50%;
height: 30px;
color: #444;
font-size: 20px;
text-decoration: none;
font-family: 'Roboto Condensed';
opacity: .25;
}
span {position: relative;
top: -3px;
left: 5px;
color: #fff;
}
.otherstuff:hover {color: #fff; opacity: 1;
transition: color .2s linear, opacity .2s linear;}
This Pen doesn't use any external CSS resources.