JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="style.css">
<body>
      <div class="features-item slider">
        <div class="slider-controls">
          <i class="active"></i>
          <i></i>
          <i></i>
          <i></i>
        </div>
        <div class="slide-prev"></div>
        <div class="slide-next"></div>
        <a href="catalog.html" class="btn">Открыть каталог</a>
        <div class="slide slide-1 slide-active">
          <div class="slide-header">
            <h1>Сап двач!</h1>
            <p>Есть одна тян!</p>
          </div>
        </div>
        <div class="slide slide-2">
          <div class="slide-header">
            <h1>Вытекают глаза?</h1>
            <p>Это из-за фона!</p>
          </div>
        </div>
        <div class="slide slide-3">
          <div class="slide-header">
            <h1>Есть одна тян..</h1>
            <p>ТНН!</p>
          </div>
        </div>
        <div class="slide slide-4">
          <div class="slide-header">
            <h1>Пошел нахуй!</h1>
            <p>Пидорас!</p>
          </div>
        </div>
      </div>
</body>

CSS

body {
  min-width: 1200px;
  margin: 0;
  padding: 30px;

  font-family: 'Cuprum', Arial, sans-serif;
  font-size: 13px;
  line-height: 24px;
  font-weight: 400;

  background-color: #fff;
}

.slider {
  position: relative;

  width: 620px;
  height: 266px;
  margin-bottom: 80px;
  padding: 0;

  color: #fff;
}

.slider-controls {
  position: absolute;
  bottom: 36px;
  left: 50%;

  width: 130px;
  height: 10px;
  margin-left: -65px;

  text-align: center;
  z-index: 1000;
}

.slider-controls i {
  display: inline-block;
  
  width: 6px;
  height: 6px;
  margin: 0 5px;
  
  vertical-align: top;

  background: white;
  border: 2px solid white;
  border-radius: 50%;

  cursor: pointer;
}

.slider-controls .active {
  background: #ee3643;
}

.slide-prev {
  position: absolute;
  top: 50%;
  left: 22px;
  
  margin-bottom: -20px;

  cursor: pointer;

  z-index: 1000;
}

.slide-next {
  position: absolute;
  top: 50%;
  right: 22px;
  
  margin-bottom: -20px;

  cursor: pointer;

  z-index: 1000;
}

.slide-prev::before {
  content: '\3c';
  font-family: "symbols-technomart";
  font-size: 45px;

  opacity: 0.5;
}

.slide-prev:hover::before {
  opacity: 1;
}

.slide-next::before {
  content: '\3e';
  font-family: "symbols-technomart";
  font-size: 45px;

  opacity: 0.5;
}

.slide-next:hover::before {
  opacity: 1;
}

.slider .btn {
  position: absolute;
  bottom: 22px;
  left: 25px;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.slide-header {
  clear: both;
  padding: 20px 20px;
}

.slide-1 {
  background: url(../img/bg-slide-1.jpg) #6c5247;
  background-repeat: no-repeat;
  background-position: 100%;
}

.slide-2 {
  background: url(../img/bg-slide-2.jpg) yellow;
  background-repeat: no-repeat;
  background-position: 100%;
}

.slide-3 {
  background: red;
  background-repeat: no-repeat;
  background-position: 100%;
}

.slide-4 {
  background: blue;
  background-repeat: no-repeat;
  background-position:...

JavaScript

var slide = document.querySelectorAll(".slide");

var prev = document.querySelector(".slide-prev");
var next = document.querySelector(".slide-next");

var control = document.querySelectorAll(".slider-controls > i");

var i = 0;

prev.style.display = "none";

next.addEventListener("click", function() {
	i = i + 1;
	prev.style.display = "block";
	slide[i-1].classList.toggle("slide-active");
	slide[i].classList.toggle("slide-active");
	control[i-1].classList.toggle("active");
	control[i].classList.toggle("active");
	if (i == (slide.length - 1)) { next.style.display = "none"; }
} );

prev.addEventListener("click", function() {
	if (i == 1) { prev.style.display = "none"; }
	i = i - 1;
	next.style.display = "block";
	slide[i+1].classList.toggle("slide-active");
	slide[i].classList.toggle("slide-active");
	control[i+1].classList.toggle("active");
	control[i].classList.toggle("active");
} );