:root {
	--current-image-height: 300px;
	--thumbnails-track-height: 100px;
	--thumbnail-width: 100px;
}

.carousel {
	max-width: 100%;
}

.current-image {
	margin-bottom: 1px;
}

.current-image a {
	display: block;
	height: var(--current-image-height);
	overflow: hidden;
	position: relative;
}

.current-image a:before {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: box-shadow .1s linear;
}

.current-image a:focus {
	outline: 0;
}

.current-image a:focus:before {
	box-shadow: inset 0 0 0 1px black,
		inset 0 0 0 4px white;
}

.current-image img {
	display: block;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}


/** Previous and next buttons */
.button {
	background: none;
	border: 0;
	cursor: pointer;
  border-radius: 5px;

	font-size: 25px;
	color: #000;

	padding: 5px;
	margin: 0 2px;
	flex: 0 0 25px;

	transition: all .2s linear;
}

.button:hover {
	background-color: #ccc;
	color: #000;
}

.button:focus {
	outline: none;
	background-color: #ccc;
	color: #000;
}

.button[aria-disabled="true"] {
	opacity: .3;
}

/**
  Thumbnails container
*/
.thumbnails-track {
	display: flex;
}

.thumbnails {
	overflow: hidden;
}

.slick-track {
	display: flex;
}

/** Single thumbnail */
.thumbnail {
	flex: 0 0 var(--thumbnail-width);
	margin-right: 1px;
	position: relative;
}

.thumbnail-button {
	display: block;
	padding: 0;
	height: var(--thumbnails-track-height);
	width: 100%;

	cursor: pointer;
	border: 0;
	background: none;
	background-color: rgba(0, 0, 0, .4);
	transition: opacity .1s linear;
}

.thumbnail-button:before {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: box-shadow .1s linear;
}

.thumbnail-button:focus {
	outline: 0;
}

.thumbnail-button:focus:before {
	box-shadow: inset 0 0 0 1px black, inset 0 0 0 4px white;
}

.thumbnail-button:focus img,
.thumbnail-button:hover img,
.thumbnail-button[aria-current="true"] img {
	opacity: 1;
	filter: grayscale(0);
}

.thumbnail-button img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;

	opacity: 1;
	filter: grayscale(0);
	transition: all .1s linear;
  
}

/** Credits at bottom */
.credits {
	display: inline-block;
	margin-top: 15px;
	padding: 10px;
	font-size: 14px;
	color: black;
	text-decoration: none;
	opacity: .7;
}

.credits img {
	height: 30px;
	margin-left: 5px;
	margin-top: -2px;
	vertical-align: middle;
}

.credits:hover,
.credits:focus {
	opacity: 1;
}