.slideshow {
  position: relative;
  display: block; 
  line-height: 0;/*removes the gap if you put a border on the slideshow div*/
}
figcaption {
  line-height: 1.5; /* restores line-height to the child element*/
}
.slideshow:focus{
 outline: 0;
}
.slideshow figure{
  position: absolute;
  top: 0;
  width: 100%;
}
.slideshow figure:first-child{
  position: relative;
}
.slideshow figure img{
  margin-top: 0;
  opacity: 0;
  -webkit-transition: opacity 1.2s;
  transition: opacity 1.2s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slideshow .slideshow-show{
  z-index: 2;
}
.slideshow .slideshow-show img{
  opacity: 1;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative; 
}

.slideshow figcaption{
  position: absolute;
  font-family: sans-serif;
  font-size: .8em;
  bottom: .75em;
  right: .35em;
  padding: .25em;
  color: #fff;
  background: #000;
  background: rgba(0,0,0, .25);
  border-radius: 2px;
  opacity: 0;
  -webkit-transition: opacity 1.2s;
  transition: opacity 1.2s;
}
.slideshow .slideshow-show figcaption{
  z-index: 3;
  opacity: 1;
}
.slideshow figcaption a{
  color: #fff;
}
.slideshow-next, .slideshow-prev{
  color: #fff;
  position: absolute;
  background: #000;
  background: rgba(0,0,0, .8);
  top: 50%;
  z-index: 4;
  font-size: 2em;
  margin-top: -1.2em;
  opacity: .8;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.slideshow-next:hover, .slideshow-prev:hover{
  cursor: pointer;
  opacity: 1;
}
.slideshow-next{
  right: -1px;
  padding: 15px 5px 18px 10px;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.slideshow-prev{
  left: 0;
  padding: 15px 10px 18px 5px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
