.gpslider {
	position: relative;
	overflow: hidden;
}

.gpslider--banner > ul.slides > li {
	position: absolute;
	top: 0;
	width: 100%;
	transition: left .2s ease-in-out;
}

.gpslider--banner li.slide-before {
	left: -100%;
}

.gpslider--banner li.slide-active {
	left: 0;
}

.gpslider--banner li.slide-inactive,
.gpslider--banner li.slide-after {
	left: 100%;
}

.gpslider--banner li.slide-inactive {
	opacity: 0;
}

.gpslider--banner > ul.thumbnails {
	position: absolute;

	top: 0;
	left: auto;
	right: 0;
	bottom: 0;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}

.gpslider--banner > ul.thumbnails > li.slide-thumbnail {
	position: relative;

	width: 0.75rem;
	height: 0.75rem;
	
	background-color: white;
	border-radius: 50%;

	margin: 0.5rem 1rem;
}

.gpslider--banner > ul.thumbnails > li.slide-thumbnail::before {
	content: '';
	pointer-events: none;

	position: absolute;

	top: -0.25rem;
	left: -0.25rem;
	right: -0.25rem;
	bottom: -0.25rem;

	border-width: 0.125rem;
	border-style: solid;
	border-color: transparent;
	
	border-radius: 50%;

	transition: all .5s ease-in-out;
}

.gpslider--banner > ul.thumbnails > li.slide-thumbnail.slide-thumbnail-active::before {
	border-color: white;
}
