<div class="controls">
  <div class="prev">Previous project</div>
  <div class="count">
    <span class="current">01</span>
    <span class="divider">/</span>
    <span class="total">04</span>
  </div>
  <div class="next">Next project</div>
</div>
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: #3f3b48;
}

.controls {
  display: flex;
  max-width: 400px;
  height: 44px;
  margin: 50px;
  font-family: Oswald, sans-serif;
  font-weight: 700;
  font-size: 0.8em;
  white-space: nowrap;
}

.next, .prev {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #3f3b48;
  text-transform: uppercase;
  padding: 10px;
  cursor: pointer;
}

.next {
  clip-path: polygon(100% 0, 100% 100%, 0 calc(100% - 7px), 0 7px);
}

.prev {
  clip-path: polygon(0 0, 100% 7px, 100% calc(100% - 7px), 0 100%);
}

.count {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 70px;
  background-color: #3f3b48;
  text-align: center;
  border: 3px solid #fff;
  border-radius: 9px;
  color: #fff;
  margin: 0 -1px;
  font-weight: 700;
  z-index: 0;
}

.count::before, .count::after {
  content: '';
  position: absolute;
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border: inherit;
  background-color: inherit;
  border-radius: 50%;
  z-index: -1;
}

.count::before {
  top: -9px;
  clip-path: polygon(0 0, 100% 0, 50% 50%);
}

.count::after {
  bottom: -9px;
  clip-path: polygon(0 100%, 100% 100%, 50% 50%);
}

.current {
  font-size: 1.5em;
}

.divider {
  font-size: 1.8em;
  margin: 0 0.1em;
}

.total {
  font-size: 1em;
  margin-top: -0.1em;
}

External CSS

  1. https://fonts.googleapis.com/css2?family=Oswald:wght@700&amp;display=swap

External JavaScript

This Pen doesn't use any external JavaScript resources.