@import url('https://fonts.googleapis.com/css?family=Montserrat');

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  background: #eee;
}

.extend-row {
  margin: auto;
}

:root {
  --marquee-width: 101vw;
  --marquee-height: 20vh;
  --marquee-margin-left: -20px;
  /* --marquee-elements: 9; */
  --marquee-elements-displayed: 10;
  --marquee-element-width: calc(var(--marquee-width) / var(--marquee-elements-displayed));
  --marquee-animation-duration: calc(var(--marquee-elements) * 3s);
  --bs-guttor-x: 2.0rem;
}

.marquee {
  width: var(--marquee-width);
  height: var(--marquee-height);
  background-color: dimgray;
  color: #eee;
  overflow: hidden;
  position: relative;
 }

 .marquee-reverse {
  width: var(--marquee-width);
  height: var(--marquee-height);
  background-color: dimgray;
  color: #eee;
  overflow: hidden;
  position: relative;
 }

  .marquee-reverse:before, .marquee-reverse:after {
  position: absolute;
  top: 0;
  width: 1rem;
  height: 100%;
  content: "";
  z-index: 1;
  padding:5px;
 }

 .marquee:before, .marquee:after {
  position: absolute;
  top: 0;
  width: 1rem;
  height: 100%;
  content: "";
  z-index: 1;
  padding:5px;
 }

 .marquee:before {
  left: 0;
  background: linear-gradient(to right, #111 0%, transparent 100%);
 }

.marquee-reverse:before {
  left: 0;
  background: linear-gradient(to right, #111 0%, transparent 100%);
 }

 .marquee:after {
  right: 0;
  background: linear-gradient(to left, #111 0%, transparent 100%);
 }

.marquee-reverse:after {
  right: 0;
  background: linear-gradient(to left, #111 0%, transparent 100%);
 }

.marquee-content {
  list-style: none;
  height: 100%;
  display: flex;
  animation: scrolling var(--marquee-animation-duration) linear infinite;
 }

.marquee-content-reverse {
  list-style: none;
  height: 100%;
  display: flex;
  margin-left: calc(-1 * var(--marquee-element-width) * var(--marquee-elements-displayed));
  animation: scrolling-reverse var(--marquee-animation-duration) linear infinite;
 }

@keyframes scrolling {
  0% {
    transform: translateX(0 );
  }
  100% {
    transform: translateX(calc(-1 * var(--marquee-element-width) * var(--marquee-elements)));
  }
}

 @keyframes scrolling-reverse {
  0% {
    transform: translateX(0 );
  }
  100% {
    transform: translateX(calc(+1 * var(--marquee-element-width) * var(--marquee-elements)));
  }
 } 

.marquee-content:hover {
  animation-play-state: paused;
}

 .marquee-content li {
  display: flex;
  justify-content: center;
  align-items: center;
  /* border: 3px solid teal; */
  width: var(--marquee-element-width);
  flex-shrink: 0;
  font-size: calc(var(--marquee-height) * 2 / 3);
  white-space: nowrap;
  padding:5px;
}

 .marquee-content-reverse li {
  display: flex;
  justify-content: center;
  align-items: center;
  /* border: 3px solid teal; */
  width: var(--marquee-element-width);
  flex-shrink: 0;
  font-size: calc(var(--marquee-height) * 2 / 3);
  white-space: nowrap;
  padding:5px;
}

.marquee-content li img {
  width: 100%;
  border: 5px solid #111;
}

.marquee-content-reverse li img {
  width: 100%;
  border: 5px solid #111;
}

@media (max-width: 600px) {
  html { font-size: 12px;}
  :root {
    --marquee-width: 100vw;
    --marquee-height: 16vh;
    --marquee-elements-displayed: 3;
  }
  .marquee::before, .marquee::after {
    width: 5rem;
  }
}

@media (max-width: 1080px) {
  html { font-size: 12px;}
  :root {
    --marquee-width: 100vw;
    --marquee-height: 12vh;
    --marquee-elements-displayed: 5;
  }
  .marquee::before, .marquee::after {
    width: 5rem;
  }
}