body {
  overflow-x: hidden;
}

.home-banner {
  padding: 140px 24px 80px;
  position: relative;
}

.home-banner__typewriter { 
  min-width: 400px;
  display: inline-block;
}

.home-banner__overlays {
  width: 100%;
  height: 100%;
  z-index: -3;
  position: absolute;
  top: 0;
  left: 0;
}

.home-banner__overlays:before, .home-banner__overlays:after {
  content: "";
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.home-banner__overlays:after, .home-banner__overlays:before {
  height: 116%;
}

.home-banner__overlays:before {
  z-index: -2; 
}

.home-banner__overlays:after {
  z-index: 0;
  background-image: radial-gradient(circle at 8% 120%, #fff 16%, #0000 56%), radial-gradient(circle at 40% 120%, #fff 24%, #0000 48%), radial-gradient(circle at 64% 120%, #fff 24%, #0000 48%), radial-gradient(circle at 100% 120%, #fff 16%, #0000 56%);
}

@media screen and (min-width: 2200px) {
  .home-banner__overlays:after {
    background-image: radial-gradient(circle at 8% 140%, #fff 16%, #0000 56%), radial-gradient(circle at 40% 140%, #fff 24%, #0000 48%), radial-gradient(circle at 64% 140%, #fff 24%, #0000 48%), radial-gradient(circle at 100% 140%, #fff 16%, #0000 56%);
  }
}

@media screen and (min-width: 3200px) {
  .home-banner__overlays:after {
    background-image: radial-gradient(circle at 8% 160%, #fff 16%, #0000 56%), radial-gradient(circle at 40% 160%, #fff 24%, #0000 48%), radial-gradient(circle at 64% 160%, #fff 24%, #0000 48%), radial-gradient(circle at 100% 160%, #fff 16%, #0000 56%);
  }
}

.home-banner__container {
  max-width: 1150px;
  margin: 0 auto;
}

.home-banner__main-wrapper {
  align-items: center;
  gap: 24px;
  display: flex;
}

.home-banner__content {
  width: 100%;
  max-width: 66.67%;
}

.home-banner__headline {
  margin: 32px 0 24px; 
  line-height: 1.2;
}
 
.home-banner__paragraph {
  margin: 0; 
  line-height: 1.8;
}

.home-banner__cta-list {
  flex-wrap: wrap;
  gap: 40px 64px;
  margin: 48px 0 80px;
  padding: 0;
  list-style: none;
  display: flex;
}

.home-banner__link { 
  white-space: nowrap;
  z-index: 1;
  align-items: center;
  gap: 8px; 
  display: flex;
  position: relative;
}

.home-banner__link:after {
  content: "";
  z-index: -1;
  opacity: 0;
  background: #33333329;
  border-radius: 3px;
  display: block;
  position: absolute;
  inset: -10px -16px;
}

.home-banner__link__icon {
  width: 30px;
  height: 24px;
  display: block;
}

.home-banner__link__text {
  height: 20px;
  display: inline-block;
}

.home-banner__link svg {
  fill: currentColor;
  width: 30px;
  height: 24px;
}

@media (pointer: fine) {
  .home-banner__link:hover { 
    text-decoration: none;
    transition: color .25s ease-in-out;
  }

  .home-banner__link:hover:after {
    opacity: 1;
    transition: opacity .25s ease-in-out;
  }
}

.home-banner__image-wrapper {
  flex-grow: 1;
  align-items: center;
  display: flex;
  position: relative;
}

@keyframes slidedown {
  from {
    transform: translateY(0%);
  }

  to {
    transform: translateY(4%);
  }
}

@keyframes slidedown-with-rotate {
  from {
    transform: translateY(0%);
  }

  to {
    transform: translateY(7%);
  }
}

.home-banner__image-wrapper img {
  width: 100%;
  animation: slidedown 2s ease-in-out infinite alternate;
}

.home-banner__bot-wrapper {
  width: 100%; 
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.home-banner__partner-badges {
  width:auto;
  align-items: center;
  gap: 64px;
  display: flex;
}

.home-banner__partner-badges img {
  height: 64px;
  object-fit: contain;
}

.home-banner__specialized-badges {
    
  justify-content: center;
  align-items: center;
  display: flex;
  width:auto;
}

.home-banner__specialized-badges img {
  height: 140px;
  margin-left:10px;
  width:auto;
}

@media screen and (max-width: 1200px) {
  .home-banner {
    padding: 200px 24px 64px;
  } 
}

@media screen and (max-width: 930px){
 .home-banner__bot-wrapper {
    border: none;
    flex-direction: column;
  }

  .home-banner__partner-badges {
    width: 100%;
    justify-content: flex-start;
  }

  .home-banner__partner-badges img {
    height: 48px;
    object-position: bottom;
  }

  .home-banner__specialized-badges {
    width: 100%; 
    margin-top: 32px;
  }

  .home-banner__specialized-badges img {
    height: 130px;
  }
}

@media screen and (max-width: 880px) {
  .home-banner__content {
    max-width: 100%;
  }

  .home-banner__image-wrapper {
    display: none;
  }

  .home-banner__cta-list {
    grid-template-columns: min-content min-content;
    margin: 40px 0 56px;
    display: grid;
  }

  .home-banner__partner-badges {
    gap: 32px;
  }
}

@media screen and (max-width: 767px){
  .home-banner {
    overflow: hidden;
  } 
}

@media screen and (max-width: 610px) {
  .home-banner {
    padding: 160px 16px 64px;
  }

  .home-banner__headline {
    margin: 24px 0 16px; 
  }

  .home-banner__cta-list {
    gap: 40px 24px;
    margin-top: 32px;
    overflow: hidden;
  }

  .home-banner__link {
    gap: 4px;
  }

  .home-banner__link__icon, .home-banner__link svg {
    width: 25px;
    height: 20px;
  }

  .home-banner__bot-wrapper {
    border: none;
    flex-direction: column;
  }

  .home-banner__partner-badges {
    width: 100%;
    justify-content: flex-start;
  }

  .home-banner__partner-badges img {
    height: 48px;
    object-position: bottom;
  }

  .home-banner__specialized-badges {
    width: 100%; 
    margin-top: 32px;
  }

  .home-banner__specialized-badges img {
    height: 130px;
  }
}

@media screen and (max-width: 490px){
      .home-banner__specialized-badges img {
    height: 100px;
  }
}
}
@media screen and (max-width: 360px){
  .home-banner {
    overflow: hidden;
  } 
    .home-banner__specialized-badges img {
 display:none;
  }
}
}