<!-- JJ -->
<div class="container">
  <div class="slideshow">
    <div class="slideshow__slides">
      <div class="slideshow__slide slideshow__slide--is-active">
        <img src="https://s.cdpn.io/6234/railcars.jpg" alt="" class="horizontal" />
      </div>
      <div class="slideshow__slide">
        <img src="https://s.cdpn.io/6234/old-man.jpg" alt="" class="vertical" />
      </div>
      <div class="slideshow__slide">
        <img src="https://s.cdpn.io/6234/girl.jpg" alt="" class="horizontal" />
      </div>
      <div class="slideshow__slide slideshow__slide--is-last">
        <img src="https://s.cdpn.io/6234/dandelion.jpg" alt=""  class="vertical" />
      </div>
      <div class="slideshow_overlay slideshow_overlay--is-shadow"></div>
      <div class="slideshow_overlay slideshow_overlay--is-highlight"></div>
    </div>
    <div class="slideshow__effects">

    </div>
    <div class="slideshow__nav">
      <a href="#" class="slideshow__nav_link slideshow__nav_link--is-previous"><i class="ion-chevron-left"></i></a>
      <a href="#" class="slideshow__nav_link slideshow__nav_link--is-next"><i class="ion-chevron-right"></i></a>
    </div>
  </div>
</div>
<!-- SDG -->
$body--BackgroundColor: #ececec;
$slideshow__slide--Border: 6px solid #5E5E5E;
$slideshow__nav_link--Color: #5E5E5E;
$slideshow__nav_link--hover--Color: darken(#5E5E5E, 15%);
body{
  background-color: $body--BackgroundColor;
}
a{
  text-decoration: none;
}
.container {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  height: 100vh;
  margin-top: -150px;
}
.slideshow__slides{
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0px auto;
  text-align: center;
}
.slideshow__slide {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  //border: 4px solid #fff;
  border: $slideshow__slide--Border;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}
.slideshow__overlay {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 4px solid #fff;
  overflow: hidden;
}
.slideshow__overlay--is--shadow {
  box-shadow: inset 0px 0px 10px #000;
  opacity: 0.6;
}
.slideshow__overlay--is-highlight {
  background: -webkit-radial-gradient(30% 30%, closest-corner, #fff, #2F2727);
  background: -moz-radial-gradient(30% 30%, closest-corner, #fff, #2F2727);
  background: -ms-radial-gradient(30% 30%, closest-corner, #fff, #2F2727);
  opacity: 0.4;
}
.slideshow__slide--is-active{
  opacity: 1;
}

.slideshow__slide img.horizontal{
  max-height: 100%;
  width: auto;
}
.slideshow__slide img.vertical{
  max-width: 100%;
  height: auto;
}
.slideshow__nav{
  width: 500px;
  margin: -175px auto 0 auto;
  padding: 10px;
  text-align: center;
  overflow: auto;
}
.slideshow__nav_link {
  padding: 0px 5px;
  color: $slideshow__nav_link--Color;
  font-size: 1.5rem;
  transition: color 0.25s linear;
}
.slideshow__nav_link:hover{
  color: $slideshow__nav_link--hover--Color;
}
.slideshow__nav_link--is-previous{
  float: left;
}
.slideshow__nav_link--is-next{
  float: right;
}
View Compiled
$(document).ready(function(){
  var $prev = $('.slideshow__nav_link--is-previous');
  var $next = $('.slideshow__nav_link--is-next');
  var mode = "auto";
  $prev.on({
    click: function(e){
      e.preventDefault();
      mode = "manual";
      showPreviousImage();
    }
  });
  $next.on({
    click: function(e){
      e.preventDefault();
      mode = "manual";
      showNextImage();
      
    }
  });
  
  setInterval(function(){
    if(mode==="auto"){
      showNextImage();
    }
  },3000);
  
  function showNextImage(){
      var $actEl = $('.slideshow__slide--is-active');
      var $nextEl = $actEl.next('.slideshow__slide');
      if($nextEl.length){
        $actEl.removeClass('slideshow__slide--is-active');
        $nextEl.addClass('slideshow__slide--is-active');
      }else{
        $actEl.removeClass('slideshow__slide--is-active');
        $('.slideshow__slide:first-child').addClass('slideshow__slide--is-active');
      }
  }
  
  function showPreviousImage(){
      var $actEl = $('.slideshow__slide--is-active');
      var $prevEl = $actEl.prev('.slideshow__slide');
      if($prevEl.length){
        $actEl.removeClass('slideshow__slide--is-active');
        $prevEl.addClass('slideshow__slide--is-active');
      }else{
        $actEl.removeClass('slideshow__slide--is-active');
        $('slideshow__slide--is-last').addClass('slideshow__slide--is-active');
      }
  }
});

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js