.container-image-comparison {
  max-width: 100%;
    overflow: hidden;
    border-radius: 20px;
}

.image-comparison {
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
  position: relative;
}

.main-image {
  position: absolute;
  background-size: auto 102%;
  font-size: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.image-comparison-divisor {
  background-size: auto 102%;
  position: absolute;
  width: 50%;
  bottom: 0;
  height: 100%;
  border-right: 3px solid #b7b6b4;
}

.image-comparison-handle {
  position: absolute;
  height: 20px;
  width: 50px;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 1;
}
.image-comparison-handle::before, .image-comparison-handle::after {
  content: '';
  width: 0;
  height: 0;
  border: 10px inset transparent;
  position: absolute;
  top: 0;
  margin-top: 0;
}
.image-comparison-handle::before {
  border-left: 7px solid white;
  left: 50%;
  margin-left: 3px;
}
.image-comparison-handle::after {
  border-right: 7px solid white;
  right: 50%;
  margin-right: 6px;
}

.container-image-comparison input[type=range] {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: absolute;
  top: 50%;
  left: -25px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: transparent;
  width: calc(100% + 50px);
  z-index: 2;
  cursor: pointer;
}
.container-image-comparison input[type=range]:focus, input[type=range]:active {
  border: none;
  outline: none;
}

.container-image-comparison input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 50px;
  width: 50px;
  background: transparent;
}

.container-image-comparison input[type=range]::-moz-range-track {
  -moz-appearance: none;
  height: 15px;
  width: 100%;
  background-color: transparent;
  position: relative;
  outline: none;
}
