Кнопка прокрутки вниз на CSS

Код
<div style="width:100%;height:100%;">
<section id="section01" class="demo">
  <h1>Scroll Down Button #1</h1>
  <a href="#section02"><span></span>Scroll</a>
</section>
<section id="section02" class="demo">
  <h1>Scroll Down Button #2</h1>
  <a href="#section03"><span></span>Scroll</a>
</section>
<section id="section03" class="demo">
  <h1>Scroll Down Button #3</h1>
  <a href="#section04"><span></span>Scroll</a>
</section>
<section id="section04" class="demo">
  <h1>Scroll Down Button #4</h1>
  <a href="#section05"><span></span>Scroll</a>
</section>
<section id="section05" class="demo">
  <h1>Scroll Down Button #5</h1>
  <a href="#section06"><span></span>Scroll</a>
</section>
<section id="section06" class="demo">
  <h1>Scroll Down Button #6</h1>
  <a href="#section07"><span></span>Scroll</a>
</section>
<section id="section07" class="demo">
  <h1>Scroll Down Button #7</h1>
  <a href="#section08"><span></span><span></span><span></span>Scroll</a>
</section>
<section id="section08" class="demo">
  <h1>Scroll Down Button #8</h1>
  <a href="#section09"><span></span>Scroll</a>
</section>
<section id="section09" class="demo">
  <h1>Scroll Down Button #9</h1>
  <a href="#section10"><span></span>Scroll</a>
</section>
<section id="section10" class="demo">
  <h1>Scroll Down Button #10</h1>
  <a href="#thanks"><span></span>Scroll</a>
</section>
</section>
</div>
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:300,400);
* {
	margin: 0;
	padding: 0;
}
html,
body {
	height: 100%;
}
section {
	position: relative;
	width: 100%;
	height: 100%;
}
section::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 80%;
	background: -webkit-linear-gradient(
		top,
		rgba(0, 0, 0, 0) 0,
		rgba(0, 0, 0, 0.8) 80%,
		rgba(0, 0, 0, 0.8) 100%
	);
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0,
		rgba(0, 0, 0, 0.8) 80%,
		rgba(0, 0, 0, 0.8) 100%
	);
}
section h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff;
	font: normal 300 64px/1 "Josefin Sans", sans-serif;
	text-align: center;
	white-space: nowrap;
}

#section01 {
	background: url(https://picsum.photos/1200/800?image=575) center center / cover
		no-repeat;
}
#section02 {
	background: url(https://picsum.photos/1200/800?image=1016) center center /
		cover no-repeat;
}
#section03 {
	backgroun-color: white;
}
#section04 {
	background: url(https://picsum.photos/1200/800?image=506) center center / cover
		no-repeat;
}
#section05 {
	background: url(https://picsum.photos/1200/800?image=1037) center center /
		cover no-repeat;
}
#section06 {
	background: url(https://picsum.photos/1200/800?image=901) center center / cover
		no-repeat;
}
#section07 {
	background: url(https://picsum.photos/1200/800?image=675) center center / cover
		no-repeat;
}
#section08 {
	background: url(https://picsum.photos/1200/800?image=1050) center center /
		cover no-repeat;
}
#section09 {
	background: url(https://picsum.photos/1200/800?image=902) center center / cover
		no-repeat;
}
#section10 {
	background: url(https://picsum.photos/1200/800?image=516) center center / cover
		no-repeat;
}

#thanks {
	background-color: #fff;
}
#thanks::after {
	content: none;
}
#thanks div {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}
#thanks h2 {
	margin-bottom: 60px;
	color: #333;
	font: normal 300 64px/1 "Josefin Sans", sans-serif;
	text-align: center;
	white-space: nowrap;
}
#thanks p {
	color: #333;
	font: normal 400 20px/1 "Josefin Sans", sans-serif;
}
#thanks p a {
	color: #333;
	text-decoration: none;
	transition: color 0.3s;
}
#thanks p a:hover {
	color: #888;
}
.demo a {
	position: absolute;
	bottom: 20px;
	left: 50%;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font: normal 400 20px/1 "Josefin Sans", sans-serif;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: opacity 0.3s;
}
.demo a:hover {
	opacity: 0.5;
}

#section01 a {
	padding-top: 60px;
}
#section01 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}

#section02 a {
	padding-top: 60px;
}
#section02 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 46px;
	height: 46px;
	margin-left: -23px;
	border: 1px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
#section02 a span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 16px;
	height: 16px;
	margin: -12px 0 0 -8px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}

#section03 a {
	padding-top: 60px;
}
#section03 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 46px;
	height: 46px;
	margin-left: -23px;
	border: 1px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
#section03 a span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: "";
	width: 16px;
	height: 16px;
	margin: -12px 0 0 -8px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}
#section03 a span::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: "";
	width: 44px;
	height: 44px;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
	border-radius: 100%;
	opacity: 0;
	-webkit-animation: sdb03 3s infinite;
	animation: sdb03 3s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb03 {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	60% {
		box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb03 {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	60% {
		box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

#section04 a {
	padding-top: 60px;
}
#section04 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb04 2s infinite;
	animation: sdb04 2s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb04 {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
	}
	20% {
		-webkit-transform: rotate(-45deg) translate(-10px, 10px);
	}
	40% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
	}
}
@keyframes sdb04 {
	0% {
		transform: rotate(-45deg) translate(0, 0);
	}
	20% {
		transform: rotate(-45deg) translate(-10px, 10px);
	}
	40% {
		transform: rotate(-45deg) translate(0, 0);
	}
}

#section05 a {
	padding-top: 70px;
}
#section05 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb05 1.5s infinite;
	animation: sdb05 1.5s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb05 {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb05 {
	0% {
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}

#section06 a {
	padding-top: 70px;
}
#section06 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotateZ(-45deg);
	transform: rotateZ(-45deg);
	-webkit-animation: sdb06 1.5s infinite;
	animation: sdb06 1.5s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb06 {
	0% {
		-webkit-transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb06 {
	0% {
		transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}

#section07 a {
	padding-top: 80px;
}
#section07 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb07 2s infinite;
	animation: sdb07 2s infinite;
	opacity: 0;
	box-sizing: border-box;
}
#section07 a span:nth-of-type(1) {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
#section07 a span:nth-of-type(2) {
	top: 16px;
	-webkit-animation-delay: 0.15s;
	animation-delay: 0.15s;
}
#section07 a span:nth-of-type(3) {
	top: 32px;
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
}
@-webkit-keyframes sdb07 {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb07 {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

#section08 a {
	padding-top: 60px;
}
#section08 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
}
#section08 a span::before {
	position: absolute;
	top: 10px;
	left: 50%;
	content: "";
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	box-sizing: border-box;
}

#section09 a {
	padding-top: 80px;
}
#section09 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
}
#section09 a span::before {
	position: absolute;
	top: 10px;
	left: 50%;
	content: "";
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
#section09 a span::after {
	position: absolute;
	bottom: -18px;
	left: 50%;
	width: 18px;
	height: 18px;
	content: "";
	margin-left: -9px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}

#section10 a {
	padding-top: 60px;
}
#section10 a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
}
#section10 a span::before {
	position: absolute;
	top: 10px;
	left: 50%;
	content: "";
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	-webkit-animation: sdb10 2s infinite;
	animation: sdb10 2s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb10 {
	0% {
		-webkit-transform: translate(0, 0);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		-webkit-transform: translate(0, 20px);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes sdb10 {
	0% {
		transform: translate(0, 0);
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	80% {
		transform: translate(0, 20px);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
$(function() {
  $('a[href*=#]').on('click', function(e) {
    e.preventDefault();
    $('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top}, 500, 'linear');
  });
});
Результат
Эффекты CSS CSS