.generic-image-text-connection-hub {
  padding-top: 40px;
  padding-bottom: 40px;
  color: #5E5E5E;
}
@media (min-width: 768px) {
  .generic-image-text-connection-hub {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.generic-image-text-connection-hub__content-text {
  ul li::before {
    height: 8px !important;
    width: 8px !important;
  }
}

/* links (except button) in this section should be underline */
.generic-image-text-connection-hub__content-text a:not(.button) {
  /* text-decoration: underline; */
}

.generic-image-text-connection-hub__content {
  display: flex;
  gap: 40px;
  flex-direction: column;
}
@media (min-width: 768px) {
  .generic-image-text-connection-hub__content {
    gap: 80px;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .generic-image-text-connection-hub__content.generic-image-text-connection-hub__content--reverse {
    flex-direction: row-reverse;
  }
}

.generic-image-text-connection-hub__content-left,
.generic-image-text-connection-hub__content-right {
  flex: 1;
}
.generic-image-text-connection-hub__content-left > div {
  position: relative;
}
.generic-image-text-connection-hub__content-left > .sticky-wrapper {
  position: sticky;
  top: 160px;
}
.generic-image-text-connection-hub__content-left > div.has-screenshot {
  padding-bottom: 100px;
}
.generic-image-text-connection-hub__content-left > div.has-screenshot > img {
  max-width: 90%;
}
.generic-image-text-connection-hub__content-left > div > img {

  object-fit: cover;
  border-radius:20px;
}

/**
Main screenshot stuff
*/

.generic-image-text-connection-hub__content-left  .main-device-screen {
  position: relative;
  z-index: 1;
}

.generic-image-text-connection-hub__content-left .main-device-screen .device-render {
  max-width: 100%;
  object-fit: cover;
}
.generic-image-text-connection-hub__content-left .main-device-screen .img-fluid {
  object-fit: cover;
  object-position: top center;
}

.generic-image-text-connection-hub__content-left .main-device-screen.phone .img-fluid {
  position: absolute;
  top: 50%;
  /* bottom: 15px; */
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  height: 90%;
  object-fit: cover;
  /* display: block; */
  border-radius: 65px;
}

.generic-image-text-connection-hub__content-left .main-device-screen.tablet .img-fluid {
  position: absolute;
  top: 50%;
  /* bottom: 0px; */
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(95%);
  height: calc(93%);
  object-fit: cover;
  /* display: block; */
  border-radius: 5px;
}

.generic-image-text-connection-hub__content-left .main-device-screen.laptop .img-fluid {
  position: absolute;
  top: 50%;
  /* bottom: 0px; */
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(75%);
  height: calc(75%);
  object-fit: cover;
  /* display: block; */
  border-radius: 5px;
}

.generic-image-text-connection-hub__content-left .main-device-screen.phone {
  transform: translateY(-5%);
  left: 0;
  max-width:580px;
}
.generic-image-text-connection-hub__content-left .main-device-screen.phone .device-render {
  /* max-width: 200%; */
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.generic-image-text-connection-hub__content-left .main-device-screen.tablet .device-render {
  /* max-width: 340px; */
  /* transform: translateX(-25%); */
  position: relative;
  z-index: 1;
}
.generic-image-text-connection-hub__content-left .main-device-screen.laptop .device-render {
  max-width: 100%;
  /* transform: translateX(-25%); */
  position: relative;
  z-index: 1;
}

/**
Secondary Device Screenshot stuff
*/

.generic-image-text-connection-hub__content-left .device-screen {
  position: absolute;
  z-index: 2;
  width: 70%;
  bottom: 0px;
  right: 0;
  max-width: 400px;
  /* transform: translateY(25%); */
}

.generic-image-text-connection-hub__content-left  .device-screen .device-render {
  max-width: 100%;
  object-fit: cover;
}
.generic-image-text-connection-hub__content-left .device-screen .img-fluid {
  object-fit: cover;
  object-position: top center;
}

.generic-image-text-connection-hub__content-left .device-screen.phone .img-fluid {
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 10px;
  width: 157px;
  height: 340px;
  object-fit: cover;
  /* display: block; */
  border-radius: 30px;
}

.generic-image-text-connection-hub__content-left .device-screen.tablet .img-fluid {
  position: absolute;
  top: 50%;
  /* bottom: 0px; */
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(95%);
  height: calc(93%);
  object-fit: cover;
  /* display: block; */
  border-radius: 5px;
}

.generic-image-text-connection-hub__content-left .device-screen.laptop .img-fluid {
  position: absolute;
  top: 50%;
  /* bottom: 0px; */
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: calc(75%);
  height: calc(75%);
  object-fit: cover;
  /* display: block; */
  border-radius: 5px;
}

.generic-image-text-connection-hub__content-left  .device-screen.phone {
  transform: translateY(-5%);
  right: 7%;
  max-width:175px;
}
.generic-image-text-connection-hub__content-left  .device-screen.phone .device-render {
  /* max-width: 200%; */
  width: 175px;
  height: 370px;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.generic-image-text-connection-hub__content-left  .device-screen.tablet .device-render {
  /* max-width: 340px; */
  /* transform: translateX(-25%); */
  position: relative;
  z-index: 1;
}
.generic-image-text-connection-hub__content-left  .device-screen.laptop .device-render {
  max-width: 100%;
  /* transform: translateX(-25%); */
  position: relative;
  z-index: 1;
}


.generic-image-text-connection-hub__content-right {
  display: flex;
  flex-direction: column;
  justify-content: start;
}

@keyframes imageTextConnectionHubFadeLeft {
  from {
    opacity: 0;
    transform: translateX(-28px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes imageTextConnectionHubFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.generic-image-text-connection-hub__content-left {
  opacity: 0;
  transform: translateX(-28px);
  will-change: opacity, transform;
}

.generic-image-text-connection-hub__content-left.is-visible {
  animation: imageTextConnectionHubFadeLeft 0.8s ease-out forwards;
}

.generic-image-text-connection-hub__content-right .eyebrow,
.generic-image-text-connection-hub__content-right .generic-image-text-connection-hub__content-heading,
.generic-image-text-connection-hub__content-right .generic-image-text-connection-hub__content-text,
.generic-image-text-connection-hub__content-right .banner-hero__button {
  opacity: 0;
  transform: translateY(16px);
  will-change: opacity, transform;
}

.generic-image-text-connection-hub__content-right.is-visible .eyebrow,
.generic-image-text-connection-hub__content-right.is-visible .generic-image-text-connection-hub__content-heading,
.generic-image-text-connection-hub__content-right.is-visible .generic-image-text-connection-hub__content-text,
.generic-image-text-connection-hub__content-right.is-visible .banner-hero__button {
  animation: imageTextConnectionHubFadeUp 0.7s ease-out forwards;
  animation-delay: var(--image-text-reveal-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
  .generic-image-text-connection-hub__content-left,
  .generic-image-text-connection-hub__content-right .eyebrow,
  .generic-image-text-connection-hub__content-right .generic-image-text-connection-hub__content-heading,
  .generic-image-text-connection-hub__content-right .generic-image-text-connection-hub__content-text,
  .generic-image-text-connection-hub__content-right .banner-hero__button {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.generic-image-text-connection-hub__content-right .eyebrow {
  margin-bottom: 1rem
}

.generic-image-text-connection-hub__content-heading {
  margin-bottom: 1rem
}

.generic-image-text-connection-hub__content-heading h2 {
  color: #5E5E5E;
  font-family: Montserrat;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 125%; 
}

.bg-true-blue {
  background-color: #0070B9;
}

.bg-bright-highlight {
  background-color: #90D9F91A;
}

.bg-dark-blue {
  background-color: #063354;
}

.bg-white-and-trueblue {
  background: linear-gradient(to bottom, white 50%, #90D9F91A 50%);
}

.bg-trueblue-and-white {
  background: linear-gradient(to bottom, #90D9F91A 50%, white 50%);
}

.generic-image-text-connection-hub__content-text h3 {
  color: #0070B9!important;
}

.generic-image-text-connection-hub__content-text h3:not(:first-of-type) {
  padding-top: 16px;
}

.generic-image-text-connection-hub__content-left video-js {
  max-width: 100%;
}