.img_viewer{
	display: flex;
	flex-direction: column;
	background-color: #f1f1f1;
	border: solid 1px #3e3e3e;
	padding-block: 20px;
}
.viewer_body{
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.img_box{
	position: relative;
}
.img_box.single{
	padding-inline: 40px;
}
.loading.active{
	width: 80px;
	height: 80px;
	position: absolute;
	left: 50%;
	top: 50%;
	box-sizing: border-box;
	border-radius: 50%;
	border: 10px solid #72ff9139;
	border-top: 10px solid #72ff91;

	animation-name: loading;
	animation-fill-mode: backwards;
	animation-duration: .8s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-direction: normal;
}
@keyframes loading {
	0% {
		transform:translateX(-50%) translateY(-50%) rotateZ(0deg);
	}
	100% {
		transform:translateX(-50%) translateY(-50%) rotateZ(360deg);
	}
}
.btn_prev,
.btn_next{
	width: 40px;
	height: 40px;
	position: relative;
	cursor: pointer;
}
.btn_prev span,
.btn_next span{
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 10px;
	left: 15px;
	border-left: solid 4px #000000;
	border-top: solid 4px #000000;
}
.btn_prev:hover span,
.btn_next:hover span{
	border-left: solid 4px #72ff91;
	border-top: solid 4px #72ff91;
}
.btn_prev span{
	transform: rotate(-45deg);
}
.btn_next span{
	left: 5px;
	transform: rotate(135deg);
}
.position{
	display: flex;
	justify-content: center;
}
.position span{
	display: block;
	width: 20px;
	height: 20px;
	clip-path: circle(25%);
	background-color: #716f68;
	transition: background-color 0.2s;
}
.position span.active{
	background-color: #72ff91;
}


@media screen and (max-width: 550px){
	.viewer_body{
		padding: 10px;
	}
	.img_box.single{
		padding-inline: 0;
	}
	.btn_prev,
	.btn_next{
		position: absolute;
		bottom: -30px;
	}
	.btn_prev{
		left: 10px;
	}
	.btn_next{
		right: 10px;
	}
}