/* ALL VARIBALES and functions noted by -- are in sitewide.css if not found here */


/* Hero Section */
.hero-section {
  margin-bottom: 55px;
}

.hero-section-display-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0 107px;

  @media (max-width: 768px) {
    flex-direction: column-reverse;
    width: max(350px, 85dvw);
    padding: 0;
  }

  @media (max-width: 1920px) {
    padding: 0;
  }
}

.homepage-cta-white {
  border-radius: 4px;
}

.homepage-cta-text {
  color: var(--white);
  font-weight: 600;
  font-size: 16px;
  line-height: 14px;
}


.hero-section-text-container {
  width: 100%;
  max-width: 532px;
  height: 441px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 39px;
}

.hero-section-title {
  color: var(--dark-blue);
  font-size: 100px;
  line-height: 77px;
  font-weight: 800;
  letter-spacing: -3%;
  margin: 0;

  @media (max-width: 768px) {
    font-size: 62px;
    line-height: 70px;
    letter-spacing: -1.24px;
  }

  @media (max-width: 1919px) {
    font-size: 70px;
    line-height: 72px;
  }
}

.hero-section-text {
  @media (min-width: 769px) and (max-width: 1919px) {
    width: max(95%, 100%);
  }
}

.hero-section-button {
  background-color: var(--dark-blue);
  width: 255px;
  height: 57px;
  justify-content: center;
  align-items: center;
  gap: 8px;

  @media (max-width: 768px) {
    width: 100%;
  }
}

.hero-section-card-container {
  position: relative;
  width: 600px;
  height: 600px;

  @media (max-width: 768px) {
    width: 350px;
    height: 400px;
  }

  @media (max-width: 1919px) {
    width: 1100px;
  }
}

.hero-section-image {
  position: absolute;
  width: 378px;
  height: 461px;
  top: 0;
  left: 0;
  border-radius: 10px;
  overflow: hidden;

  @media (min-width: 769px) {
    width: 315px;
    height: 385px;
  }

}

.hero-section-image-background-color {
  width: 100%;
  height: 100%;
  background-size: cover;
}

.hero-section-image-1 {
  top: 60px;
  left: 100px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  @media (max-width: 768px) {
    top: 17px;
    left: 0px;
  }
}

.hero-section-image-background-color-1 {
  background: linear-gradient(rgba(255, 0, 0, 0.7), rgba(255, 0, 0, 0.7));
}

.hero-section-image-2 {
  top: 43px;
  left: 189px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  @media (max-width: 768px) {
    top: -5px;
    left: 0px;
  }
}

.hero-section-image-background-color-2 {
  background: linear-gradient(rgba(122, 164, 153, .7), rgba(122, 164, 153, .7));
}

.hero-section-image-3 {
  top: 12px;
  left: 45px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  @media (max-width: 768px) {
    top: 0px;
    left: 0px;
  }
}

.hero-section-image-background-color-3 {
  background: linear-gradient(rgba(13, 48, 80, .8), rgba(13, 48, 80, .8));
}


/* Section One-A */
.section-one-a {
  margin-bottom: 60px;

  @media (max-width: 768px) {
    margin-bottom: 75px;
  }
}

.section-one-a-graphic-parent {
  position: absolute;
  z-index: -1;
  left: 50vw;
}

.section-one-a-graphic {
  position: absolute;
  width: 719.641px;
  height: 789.52px;
  top: -380px;
  left: 460px;
  background-repeat: no-repeat;
  
  @media (max-width: 768px) {
    display: none;
  }
}

.section-one-a-container {
  display: flex;
  flex-direction: row;
  padding: 0 125px;
  gap: 96px;

  @media (max-width: 768px) {
    flex-direction: column;
    padding: 0;
    gap: 30px;
  }

  @media (max-width: 1919px) {
    padding: 0;
  }
}

.section-one-a-image-container {
  
}

.section-one-a-text-container {
  width: 100%;
  max-width: 497px;
  gap: 32px;
}

.section-one-a-image {
  width: 596px;
  border-radius: 10px;

  @media (max-width: 1439px) {
    min-width: 460px;
  }
}

.section-one-a-heading {
  font-weight: 700;
  font-size: 45px;

  
} 

.section-one-a-text {
  
}



/* Section One */

.section-one {
  margin-bottom: 94px;

  @media (max-width: 768px) {
    padding-top: 16px;
  }
}

.section-one-heading {
  text-align: center;
  font-weight: 700;
  font-size: 25px;
  margin-bottom: 50px;

  @media (max-width: 768px) {
    font-size: 30px;
    margin-bottom: 37px;
    letter-spacing: -.9px;
  }
}

.section-one-cards-container {
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  gap: 28px;
  overflow: hidden;
}

.section-one-cards-display {
  position: relative;
  left: -600px;
  width: 5000px;
  gap: 32px;

  @media (max-width: 768px) {
    left: 16px;
  }
}

.section-one-card {
  transform-origin: center right;
  min-width: max-content;
  height: 336px;
  border-radius: 10px;
  border: 1px solid #52CBFF;
  box-shadow: 0px 4px 19.5px 0px #52CBFF4D inset;
  background-color: #FCFDFC;
  transition: width .5s, background-color .5s;
  overflow: hidden;
}

.section-one-card-active {
  width: 375px;
  background-color: var(--dark-blue);

  @media (max-width: 768px) {
    max-width: calc(100vw - 2rem);
  }
}

.section-one-card-content {
  justify-content: space-between;
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  color: var(--dark-blue);
  gap: 18px;
  transition: color .5s;
  z-index: 1;
}

.section-one-card-content-active {
  color: white;
}

.section-one-card-header {
  max-width: 259px;
  height: 90px;
  font-weight: 700;
  font-size: 44px;
  letter-spacing: -3%;
  line-height: 45px;
}

.section-one-card-text {
  opacity: 0;
  max-width: 275px;
  height: 101px;
  font-size: 20px;
  line-height: 30px;
  margin: 0;
  transition: opacity .5s;

  @media (min-width: 769px) and (max-width: 1919px) {
    font-size: 17px;
  }
}

.section-one-card-text-active {
  opacity: 1;
}

.section-one-card-link-container {
  gap: 6px;
  align-items: center;
  font-family: var(--font-outfit);
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
}

.section-one-card-read-more {
  color: var(--dark-blue);
}

.section-one-card-learn-more {
  color: #52CBFF;
}

.section-one-card-plus-sign {
  width: 12px;
  height: 12px;
}

.section-one-card-hidden {
  display: none;
}

.section-one-card-background-image-container {
  position: relative;
}

.section-one-card-background-image {
  position: absolute;
  opacity: 0;
  top: -350px;
  left: 192px;
  rotate: 38.581deg;
  filter: blur(60.05000305175781px);
  transition: opacity .5s;
}

.section-one-card-background-image-active {
  opacity: 1;
}




/* Section Two */


.section-two {
  margin-top: 125px;

  @media (max-width: 768px) {
    margin-top: 16px;
  }
}

.wave-background-parent {
  position: relative;
}

.wave-background {
  z-index: -1;
  width: 2060.46px;
  height: 1948.595px;
  top: -584.8px;
  left: -330px;
  position: absolute;
  /* background-image: url(/_assets/_redesign/images/jpl_graphic_wave_lines.png); */
  background-repeat: no-repeat;
}


.section-two-header-container {
  width: 100%;
  text-align: center;
  gap: 16px;

  /* @media (max-width: 768px) {
    width: 100%;
    padding: 0;
    gap: 25px;
  } */
}

.section-two-header {
  font-weight: 700;
  font-size: 25px;
  letter-spacing: -1%;

  @media (max-width: 768px) {
    font-size: 30px;
    line-height: 39px;
    letter-spacing: -.9px;
  }
}

.section-two-header-text {
  font-size: 18px;
}

.section-two-testimonial-container {
  padding-top: 35px;
}

.section-two-text-container {
  width: 737px;
  min-height: 457px;
  background-color: white;
  border-radius: 24px;
  margin-left: 540px;
  margin-right: auto;
}

.section-two-text-content {
  padding: 80px 20px 48px 156px;
}

.section-two-text-heading {
  font-size: 40px;
  font-weight: 700;
  line-height: 52px;
  letter-spacing: -1.2px;
}

.section-two-text {
  color: var(--color-black);
  font-size: 18px;
  line-height: 28px;
}

.section-two-small-text-container {
  color: var(--dark-blue);
  font-family: var(--font-outfit);
  font-size: 12px;
  line-height: 24px;
}

.section-two-small-text {

}

/* Section Three */
.section-three {
  margin-top: 80px;
  margin-bottom: 50px;

  @media (max-width: 768px) {
    margin-top: 76px;
  }
}

.section-three-container {
  display: flex;
  flex-direction: row;
  gap: 150px;

  @media (max-width: 768px) {
    flex-direction: column;
    gap: 42px;
  }
}

.section-three-text-container {
  width: 100%;
  max-width: 483px;
  gap: 42px;

  @media (max-width: 768px) {
    padding: 0;
  }

  @media (min-width: 769px) and (max-width: 1439px) {
    gap: 22px;
  }

  @media (min-width: 1440px) {
    padding-left: 100px;
  }
}

.section-three-text-container-header {
  color: var(--dark-blue);
}

.section-three-text-container-text {
  font-size: 18px;
  line-height: 28px;
  margin: 0;

  @media (max-width: 768px) {
    font-size: 16px;
  }

  @media (min-width: 769px) and (max-width: 1439px) {
    font-size: 15px;
    line-height: 24px;
  }
}

.section-three-text-container-cta {
  background-color: var(--dark-blue);
  color: white;
  border-radius: 4px;
  width: 230px;
  height: 57px;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 8px;

  @media (max-width: 768px) {
    width: 100%;
  }
}

.section-three-text-container-cta-text {

  @media (max-width: 768px) {
    font-size: 16px;
  }
}

.section-three-text-container-cta-icon {
  width: 20px;
}



/*
RESPONSIVE STARTS HERE
*/

@media (max-width: 768px) {
  .hero-section {
    margin-bottom: 5-px;
  }

  .hero-section-display-container {
    width: 100%;
    max-width: 430px;
  }

  .hero-section-text-container {
    height: auto;
    max-width: 100%;
    gap: 28px;
    margin-top: 45px;
    margin-bottom: 50px;
  }

  .hero-section-title {
    font-size: clamp(3.5rem, 14vw, 4.2rem);
    line-height: .98;
  }

  .hero-section-card-container {
    width: min(350px, 100%);
    height: min(400px, 105vw);
    margin: 0 auto;
  }

  .hero-section-image {
    width: min(315px, 82vw);
    height: auto;
    aspect-ratio: 315 / 385;
  }

  .section-one-a-container {
    width: 100%;
  }

  .section-one-a-image {
    width: 100%;
    min-width: 0;
    height: auto;
  }

  .section-one-a-heading {
    font-size: clamp(2rem, 8vw, 2.8rem);
    line-height: 1.12;
  }

  .section-one-cards-container {
    width: 100vw;
  }

  .section-one-card {
    width: min(323px, calc(100vw - 40px));
    min-width: min(323px, calc(100vw - 40px));
  }

  .section-two-header-container,
  .section-two-text-container {
    width: 100%;
    max-width: 100%;
  }

  .section-two-text-container {
    min-height: 0;
    margin-left: 0;
  }

  .section-two-text-content {
    padding: 32px 24px;
  }

  .section-two-text-heading {
    font-size: clamp(2rem, 8vw, 2.5rem);
    line-height: 1.15;
  }

  .wave-background {
    max-width: none;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .hero-section-display-container {
    align-items: center;
    justify-content: center;
    gap: 36px;
  }

  .hero-section-text-container {
    max-width: 44%;
    height: auto;
    gap: 28px;
  }

  .hero-section-title {
    font-size: clamp(4rem, 7vw, 5rem);
    line-height: .98;
  }

  .hero-section-card-container {
    width: min(48vw, 460px);
    height: min(48vw, 500px);
  }

  .hero-section-image {
    width: min(30vw, 300px);
    height: auto;
    aspect-ratio: 315 / 385;
  }

  .hero-section-image-1 {
    top: 48px;
    left: 9vw;
  }

  .hero-section-image-2 {
    top: 34px;
    left: 18vw;
  }

  .hero-section-image-3 {
    top: 8px;
    left: 4vw;
  }

  .section-one-a-container {
    align-items: center;
    gap: 48px;
  }

  .section-one-a-image {
    width: min(48vw, 500px);
    min-width: 0;
    height: auto;
  }

  .section-one-a-text-container {
    max-width: 44%;
  }

  .section-one-a-heading {
    font-size: clamp(2.1rem, 4vw, 2.8rem);
    line-height: 1.1;
  }

  .section-one-card {
    width: 300px;
  }

  .section-one-card-active {
    width: 375px;
  }

  .section-one-card-header {
    font-size: 40px;
  }

  .section-two-header-container {
    width: 100%;
    /* max-width: 650px; */
    /* padding-left: 0; */
  }

  .section-two-text-container {
    width: min(650px, 100%);
    margin-left: auto;
    margin-right: auto;
  }

  .section-two-text-content {
    padding: 64px 48px;
  }

  .section-three-text-container {
    padding-left: 0;
  }
}

@media (min-width: 1025px) and (max-width: 1919px) {
  .hero-section-display-container {
    align-items: center;
    gap: clamp(50px, 7vw, 100px);
  }

  .hero-section-text-container {
    max-width: 515px;
  }

  .hero-section-card-container {
    width: min(48vw, 600px);
    height: min(48vw, 600px);
  }

  .hero-section-image {
    width: min(26vw, 315px);
    height: auto;
    aspect-ratio: 315 / 385;
  }

  .section-one-a-container {
    align-items: center;
    gap: clamp(48px, 7vw, 96px);
  }

  .section-one-a-image {
    width: min(46vw, 596px);
    min-width: 0;
    height: auto;
  }

  .section-one-a-text-container {
    max-width: 500px;
  }

  .section-one-card {
    flex: 0 1 323px;
  }

  .section-one-card-active {
    flex-basis: 375px;
  }

  .section-two-header-container {
    /* width: min(725px, 100%); */
    /* padding-left: 0; */
  }

  .section-two-text-container {
    width: min(737px, 100%);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 1920px) and (max-width: 2559px) {
  .hero-section-display-container {
    gap: 110px;
  }

  .hero-section-text-container {
    max-width: 540px;
    justify-content: center;
  }

  .hero-section-card-container {
    width: 620px;
    height: 620px;
  }

  .hero-section-image {
    width: 325px;
    height: 398px;
  }

  .section-one-a-container {
    gap: 100px;
  }

  .section-one-a-image {
    width: 620px;
  }

  .section-two-text-container {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 2560px) {
  .hero-section-display-container {
    gap: 130px;
  }

  .hero-section-card-container {
    width: 650px;
    height: 650px;
  }

  .hero-section-image {
    width: 340px;
    height: 416px;
  }

  .section-one-a-container {
    gap: 120px;
  }

  .section-one-a-image {
    width: 650px;
  }
}
