/* 
 * Gatech Solutions Plugin Styles 
 */


/* Body */
body:has([class*="gatech-solutions-hero"]) {
  position: relative;
  background: url(../images/desktop-bg.svg) no-repeat top 200px center / 100% 100%;
  background-color: rgb(3, 6, 11);

  @media (max-width: 768px) {
    background-image: none;
  }
}

/* Header */
body:has([class*="gatech-solutions-hero"]) header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(12, 14, 20, 0.3);
  z-index: 100;
}

/* Debug Log */
.gatech-solutions-debug-message {
  display: block;
  padding: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  color: orange;
  border-radius: 8px;
  border: 1px solid orange;
}

/* Base Section */
.gatech-solutions-section {
  padding: 32px 0;
}

/* Main Container */
/* Duplicates .oxy-header-container */
.gatech-solutions-container {
  width: 100%;
  max-width: 2000px;
  margin: auto;
  padding: 0 12%;

  @media (max-width: 2047px) {
    max-width: 100%;
  }

  @media (max-width: 1280px) {
    padding: 0 4%;
  }
}

/* Button duplicates .sininappi */
.gatech-solutions-button {
  display: inline-block;
  background-color: #004eeb;
  color: white;
  align-self: flex-start;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 24px;
  padding-right: 24px;
  border-radius: 16px;
  border-top-color: #004eeb;
  border-right-color: #004eeb;
  border-bottom-color: #004eeb;
  border-left-color: #004eeb;
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  font-weight: 500;
  transition: all 0.2s;
}

.gatech-solutions-button:hover {
  color: rgba(20, 20, 20, 1);
  background-color: #ffffff;
  border: 1px solid #ffffff;
  cursor: pointer;
}

.gatech-solutions-button--w-100 {
  width: 100%;
}

/* Base Section Heading */
.gatech-solutions-section-heading {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 32px;

  @media (max-width: 768px) {
    font-size: 26px;
  }
}

.gatech-solutions-section-heading--centered {
  text-align: center;
}

/* Hero Section */
.gatech-solutions-hero {
  position: relative;
  padding-top: 175px;
  padding-bottom: 100px;
  box-sizing: border-box;

  @media (max-width: 768px) {
    padding-top: 384px;
    padding-bottom: 0px;
    margin-bottom: 60px;
  }
}

.gatech-solutions-hero::after {
  content: "";
  display: block;
  height: 300px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(to top, rgb(3, 6, 11) 9.97%, rgba(3, 6, 11, 0) 100%);
}

.gatech-solutions-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;

  @media (max-width: 768px) {
    height: calc(100% + 100px);
    top: -100px;
  }

  &::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(12, 14, 20, 0.6);
  }
}

.gatech-solutions-hero__bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;

  @media (max-width: 768px) {
    object-position: 44% center;
  }
}

.gatech-solutions-hero__heading {
  font-size: 52px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 20px;
  max-width: 715px;

  @media (max-width: 768px) {
    font-size: 26px;
    margin-bottom: 16px;
    max-width: 400px;
  }
}

.gatech-solutions-hero__intro {
  font-size: 24px;
  line-height: 1.33;
  font-weight: 300;
  margin-bottom: 50px;
  max-width: 715px;

  @media (max-width: 768px) {
    font-size: 16px;
    margin-bottom: 32px;
    max-width: 400px;
  }
}

/* Problems Section */
.gatech-solutions-problems {
  background: url(../images/bg-line-1.webp) no-repeat center / 80% 100%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-1.webp) no-repeat center right -40px / contain;
  }
}

.gatech-solutions-problems__heading {
  text-align: center;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 32px;

  @media (max-width: 768px) {
    font-size: 26px;
  }
}

.gatech-solutions-problems__intro {
  text-align: center;
  font-size: 20px;
  line-height: 1.33;
  font-weight: 300;
  margin-bottom: 62px;

  @media (max-width: 1023px) {
    margin-bottom: 80px;
  }

  @media (max-width: 768px) {
    font-size: 16px;
  }
}

.gatech-solutions-problems__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 566px;
  max-width: 100%;
  margin: 0 auto;
}

.gatech-solutions-problems__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: calc(385px * 3);
  max-width: 100%;
  gap: 12px;
  margin: 0 auto 80px;

  @media (max-width: 1023px) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}

.gatech-solutions-problems__grid-item {
  background-color: rgba(24, 32, 50, 0.6);
  border-radius: 24px;
  padding: 24px;

  @media (max-width: 1023px) {
    width: 680px;
    max-width: 100%;
    padding: 32px;
  }

  &>* {
    position: relative;
  }

  .gatech-solutions-problems__grid-item-icon {
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
  }

  .gatech-solutions-problems__grid-item-title {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 16px;

    @media (max-width: 1023px) {
      text-align: center;
    }

    @media (max-width: 768px) {
      font-size: 26px;
    }
  }

  .gatech-solutions-problems__grid-item-divider {
    height: 1px;
    width: 203px;
    background-color: rgba(9, 82, 193, 1);
    margin: 16px 0;

    @media (max-width: 1023px) {
      margin-left: auto;
      margin-right: auto;
    }
  }

  .gatech-solutions-problems__grid-item-text {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 300;
    margin: 0;

    @media (max-width: 1023px) {
      text-align: center;
    }
  }

  .gatech-solutions-problems__grid-item-text--red {
    color: rgba(255, 186, 186, 1);
  }

  .gatech-solutions-problems__grid-item-text--green {
    color: rgba(202, 255, 206, 1);
  }
}

.gatech-solutions-problems__grid-item--1 {
  position: relative;
  grid-row: span 2;
  padding-top: 230px;

  @media (max-width: 1023px) {
    padding-top: 110px;
  }

  .gatech-solutions-problems__grid-item-icon {
    position: absolute;
    top: 0;
    left: 0;
    translate: -24% -5%;
    width: 340px;
    height: 314px;

    @media (max-width: 1023px) {
      width: 243px;
      top: 0;
      bottom: unset;
      left: 50%;
      right: unset;
      translate: -50% -37%;
    }

    @media (max-width: 768px) {
      scale: 0.8;
    }
  }
}

.gatech-solutions-problems__grid-item--2 {
  position: relative;
  grid-column: 2 / span 2;
  padding-right: 30%;

  @media (max-width: 1023px) {
    padding-top: 110px;
    padding-right: 24px;
  }


  .gatech-solutions-problems__grid-item-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 251px;
    translate: 29% -10%;

    @media (max-width: 1023px) {
      top: 0;
      bottom: unset;
      left: 50%;
      right: unset;
      translate: -50% -21%;
      rotate: 11deg;
      width: 180px;
    }

    @media (max-width: 768px) {
      scale: 0.9;
    }
  }
}

.gatech-solutions-problems__grid-item--3 {
  position: relative;
  grid-column: 2 / 2;
  z-index: 1;

  @media (max-width: 1023px) {
    padding-top: 110px;
    padding-right: 24px;
  }


  .gatech-solutions-problems__grid-item-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 236px;
    translate: 23% -22%;

    @media (max-width: 1023px) {
      top: 0;
      bottom: unset;
      left: 50%;
      right: unset;
      translate: -58% -25%;
      rotate: -19deg;
      width: 223px;
    }

    @media (max-width: 768px) {
      scale: 0.9;
    }
  }

  .gatech-solutions-problems__grid-item-title {
    padding-right: 90px;

    @media (max-width: 1023px) {
      padding-right: 0;
    }
  }

  .gatech-solutions-problems__grid-item-text--red {
    padding-right: 60px;

    @media (max-width: 1023px) {
      padding-right: 0;
    }
  }
}

.gatech-solutions-problems__grid-item--4 {
  position: relative;
  grid-column: 3 / 3;
  padding-bottom: 72px;

  @media (max-width: 1023px) {
    padding-top: 86px;
    padding-bottom: 32px;
  }

  .gatech-solutions-problems__grid-item-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    translate: 16% 26%;

    @media (max-width: 1023px) {
      top: 0;
      bottom: unset;
      left: 50%;
      right: unset;
      translate: -61% -25%;
      rotate: -35deg;
      width: 223px;
    }

    @media (max-width: 768px) {
      scale: 0.9;
    }
  }
}

/* How It Works Section */
.gatech-solutions-how-it-works {
  position: relative;
  background: url(../images/bg-line-2.webp) no-repeat bottom center / 70% 80%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-2.webp) no-repeat bottom center / 110% 80%;
  }
}

.gatech-solutions-how-it-works__inner {
  position: relative;
  z-index: 1;
}

.gatech-solutions-how-it-works__intro {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.33;
  text-align: center;
  margin-bottom: 52px;

  @media (max-width: 1023px) {
    font-size: 16px;
  }
}

.gatech-solutions-how-it-works__outro {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.33;
  text-align: center;
  margin-bottom: 32px;
  color: rgba(142, 142, 142, 1);

  @media (max-width: 1023px) {
    font-size: 16px;
  }
}

.gatech-solutions-how-it-works__stages {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 100px;
  margin-bottom: 180px;

  @media (max-width: 1023px) {
    gap: 64px;
    margin-bottom: 80px;
  }

  @media (max-width: 768px) {
    gap: 40px;
    margin-bottom: 32px;
    align-items: center;
  }
}

.gatech-solutions-how-it-works__stages-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;

  @media (max-width: 768px) {
    flex-direction: column;
    gap: 16px;
    width: 512px;
    max-width: 100%;
  }
}

.gatech-solutions-how-it-works__stages-item:nth-child(even) {
  flex-direction: row-reverse;

  @media (max-width: 768px) {
    flex-direction: column;
  }
}

.gatech-solutions-how-it-works__stages-item-text-block {
  flex: 487px 0 1;

  @media (max-width: 768px) {
    flex: auto 0 0;
    order: 3;
  }
}

.gatech-solutions-how-it-works__stages-item-text-block-title {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 16px;
  text-align: right;

  @media (max-width: 1023px) {
    font-size: 22px;
  }

  @media (max-width: 768px) {
    text-align: center;
  }
}

.gatech-solutions-how-it-works__stages-item:nth-child(even) .gatech-solutions-how-it-works__stages-item-text-block-title {
  text-align: left;

  @media (max-width: 768px) {
    text-align: center;
  }
}

.gatech-solutions-how-it-works__stages-item-text-block-text {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  text-align: right;


  @media (max-width: 1023px) {
    line-height: 1.4;
  }

  @media (max-width: 768px) {
    text-align: center;
  }
}

.gatech-solutions-how-it-works__stages-item:nth-child(even) .gatech-solutions-how-it-works__stages-item-text-block-text {
  text-align: left;

  @media (max-width: 768px) {
    text-align: center;
  }
}

.gatech-solutions-how-it-works__stages-item-ball {
  position: relative;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  background-color: rgba(0, 78, 235, 1);
  border-radius: 50%;

  @media (max-width: 768px) {
    order: 2;
  }

}

.gatech-solutions-how-it-works__stages-item-ball--with-vl::after {
  content: "";
  display: block;
  width: 12px;
  height: 771px;
  background: linear-gradient(180deg, rgba(24, 31, 50, 1), rgba(7, 5, 11, 0.3));
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% 0;
  z-index: -1;

  @media (max-width: 768px) {
    width: 8px;
  }
}

.gatech-solutions-how-it-works__stages-item-icon-column {
  flex: 487px 0 1;

  @media (max-width: 768px) {
    flex: auto 0 0;
  }
}

.gatech-solutions-how-it-works__stages-item:nth-child(even) .gatech-solutions-how-it-works__stages-item-icon-column {
  display: flex;
  justify-content: end;

  @media (max-width: 768px) {
    order: 1;
  }

}

.gatech-solutions-how-it-works__stages-item-icon {
  flex-shrink: 0;
  position: relative;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(21, 25, 34, 0.6);
  overflow: hidden;
  border-radius: 30px;
  backdrop-filter: blur(10px);
  box-shadow: 0px 0px 15px 0px rgba(0, 78, 235, 1);

  @media (max-width: 768px) {
    border-radius: 8px;
    width: 75px;
    height: 75px;
  }
}

.gatech-solutions-how-it-works__stages-item-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  padding: 2px;
  background: linear-gradient(45deg, rgba(57, 57, 83, 1), rgba(85, 4, 130, 0.65), rgba(0, 78, 235, 1));
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;

  @media (max-width: 768px) {
    border-radius: 8px;
  }
}

.gatech-solutions-how-it-works__stages-item:nth-child(even) .gatech-solutions-how-it-works__stages-item-icon::before {
  rotate: 90deg;
}

.gatech-solutions-how-it-works__stages-item-icon-img {

  @media (max-width: 768px) {
    width: 40px;
  }
}

.gatech-solutions-how-it-works__stages-item-icon-img--offset-right {
  translate: 15% 0;
}

.gatech-solutions-how-it-works__stages-item-icon-img--offset-right-s {
  translate: 10% 0;
}

.gatech-solutions-how-it-works__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 566px;
  max-width: 100%;
  margin: 0 auto;
}

/* Economic Section */

.gatech-solutions-economic {
  background: url(../images/bg-line-3.webp) no-repeat center / 80%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-3.webp) no-repeat center / 80% 100%;
  }
}

.gatech-solutions-economic__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 60px;
  margin-bottom: 52px;

  @media (max-width: 1600px) {
    gap: 24px;
  }

  @media (max-width: 768px) {
    display: flex;
    flex-direction: column;
    width: 512px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.gatech-solutions-economic__cards-item {
  position: relative;
  display: flex;
  gap: 24px;
  align-items: center;
  background: rgba(21, 25, 34, 0.6);
  padding: 24px 16px;
  border-radius: 16px;
  overflow: hidden;

  @media (max-width: 1440px) {
    flex-direction: column;
  }
}

.gatech-solutions-economic__cards-item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 1px;
  background: linear-gradient(45deg, rgba(57, 57, 83, 1), rgba(85, 4, 130, 0.65), rgba(0, 78, 235, 1));
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.gatech-solutions-economic__cards-item-display {
  position: relative;
  width: 79px;
  height: 79px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gatech-solutions-economic__cards-item-display-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 105%;
  height: auto;
}

.gatech-solutions-economic__cards-item-display-value {
  font-size: 20px;
  font-weight: 700;
  line-height: 0.92;
}

.gatech-solutions-economic__cards-item-text-block-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 4px;

  @media (max-width: 1440px) {
    text-align: center;
  }
}

.gatech-solutions-economic__cards-item-text-block-text {
  font-size: 16px;
  line-height: 1.33;
  font-weight: 300;
  margin: 0;

  @media (max-width: 1440px) {
    text-align: center;
  }
}

.gatech-solutions-economic__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 566px;
  max-width: 100%;
  margin: 0 auto;
}

/* Steps Section */
.gatech-solutions-steps {
  background: url(../images/bg-line-4.webp) no-repeat center / 70% 100%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-6.webp) no-repeat center / 80% 100%;
  }
}

.gatech-solutions-steps__heading {
  margin-bottom: 50px;
}

.gatech-solutions-steps__cards {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-bottom: 32px;

  @media (max-width: 1600px) {
    flex-wrap: wrap;
    row-gap: 60px;
  }
}

.gatech-solutions-steps__cards-item {
  position: relative;
  flex: 265px 0 0;
  height: 432px;
  z-index: 1;
}

.gatech-solutions-steps__cards-item-number {
  position: absolute;
  top: 0;
  left: 16px;
  translate: 0 -50%;
  font-size: 60px;
  font-weight: 700;
  line-height: 0.92;
}

.gatech-solutions-steps__cards-item-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -1;
}

.gatech-solutions-steps__cards-item-body {
  position: absolute;
  bottom: 34px;
  left: 0;
  width: 100%;
  background: rgba(21, 25, 34, 0.6);
  backdrop-filter: blur(8.300000190734863px);
  padding: 12px 16px;
  min-height: 141px;
}

.gatech-solutions-steps__cards-item-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}

.gatech-solutions-steps__cards-item-text {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.33;
  margin: 0;
}

.gatech-solutions-steps__outro {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.33;
  text-align: center;
  margin-bottom: 32px;

  @media (max-width: 1023px) {
    font-size: 16px;
  }
}

/* Cases Section */

.gatech-solutions-cases {
  background: url(../images/bg-line-5.webp) no-repeat bottom 24% center / 95% 40%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-6.webp) no-repeat center / 80% 100%;
  }
}

.gatech-solutions-cases__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 62px;
  margin-bottom: 52px;

  @media (max-width: 1440px) {
    grid-template-columns: repeat(2, minmax(0, 400px));
    justify-content: center;
    gap: 32px;
  }

  @media (max-width: 768px) {
    grid-template-columns: repeat(1, minmax(0, 412px));
    justify-content: center;
  }
}

.gatech-solutions-cases__cards-item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 411 / 284;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 10px;
}

.gatech-solutions-cases__cards-item-box {
  position: relative;
  gap: 16px;
  padding: 24px;
  background: rgba(3, 6, 11, 0.5);
  border-radius: 5px;
  overflow: hidden;
}

.gatech-solutions-cases__cards-item-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 5px;
  padding: 1px;
  background: linear-gradient(45deg, rgba(12, 8, 158, 1), rgba(85, 4, 130, 0.65), rgba(0, 78, 235, 1));
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.gatech-solutions-cases__cards-item-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 16px;
}

.gatech-solutions-cases__cards-item-topic {
  font-size: 18;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
}

.gatech-solutions-cases__cards-item-text {
  font-size: 16;
  font-weight: 400;
  line-height: 1.3;
  margin: 0 0 16px;
}

.gatech-solutions-cases__cards-item-text:last-child {
  margin-bottom: 0;
}


.gatech-solutions-cases__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 566px;
  max-width: 100%;
  margin: 0 auto;
}

/* Products Section */
.gatech-solutions-products {
  background: url(../images/bg-line-4.webp) no-repeat top center / 75% 100%;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-2.webp) no-repeat center / 100% 80%;
    overflow: hidden;
  }
}

.gatech-solutions-products__columns {
  display: flex;
  gap: 50px;
  justify-content: center;

  @media (max-width: 1024px) {
    gap: 32px;
  }

  @media (max-width: 768px) {
    flex-direction: column;
    gap: 50px;
  }
}

.gatech-solutions-products__swiper {

  --slide-size: 190px;
  --slides-per-vew: 4;
  /* duplicating swiperjs spaceBetween */
  --space-between: 22px;

  height: calc(var(--slide-size) * var(--slides-per-vew) + (var(--space-between) * (var(--slides-per-vew) - 1)));
  flex: 287px 0 1;
  padding-left: 97px;
  overflow: visible;
  margin: 0;

  @media (max-width: 1024px) {
    --slide-size: 170px;
    padding-left: 74px;
  }

  @media (max-width: 768px) {
    order: 2;
    padding-left: 0;
    height: auto;
    flex: unset;
  }
}

.gatech-solutions-products__swiper-pagination {
  right: unset !important;
  left: 0 !important;
  display: flex;
  flex-direction: column;
  padding: 33px 22px;
  gap: 24px;
  border-radius: 100px;
  background: linear-gradient(22.95deg, rgba(20, 20, 20, 0.49) 13.41%, rgba(31, 31, 31, 0.49) 101.32%);

  @media (max-width: 1024px) {
    padding: 18px 12px;
    gap: 12px;
  }

  @media (max-width: 768px) {
    display: none;
  }
}

.gatech-solutions-products__swiper-pagination::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px;
  padding: 1px;
  background: linear-gradient(22.95deg, rgba(26, 26, 26, 1), rgba(51, 51, 51, 1));
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.gatech-solutions-products__swiper-pagination .swiper-pagination-bullet {
  /* override swiper.css */
  --swiper-pagination-bullet-inactive-opacity: 1;

  position: relative;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(22.95deg, #141414 13.41%, #0A0A0A 101.32%);
}

.gatech-solutions-products__swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  overflow: hidden;
  translate: -50% -50%;
  background-color: rgba(51, 51, 51, 1);
}

.gatech-solutions-products__swiper-pagination .swiper-pagination-bullet-active::before {
  background-color: rgba(0, 78, 235, 1);
  box-shadow: 0px -1px 4px 2px rgba(0, 78, 235, 0.4);
}

.gatech-solutions-products__swiper-slide {
  box-sizing: border-box;
  position: relative;
  border-radius: 13px;
  overflow: hidden;
  background: rgba(3, 6, 11, 0.5);
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: var(--slide-size);
  height: var(--slide-size) !important;
  transition: all .3s;
  opacity: 0;
  z-index: -1;
  cursor: pointer;

  @media (max-width: 768px) {
    opacity: 1;
    z-index: auto;
  }
}

.gatech-solutions-products__swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  padding: 2px;
  background: linear-gradient(45deg, rgba(57, 57, 83, 1), rgba(85, 4, 130, 0.65), rgba(0, 78, 235, 1));
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.gatech-solutions-products__swiper-slide--active {
  scale: 1.15;
  box-shadow: 0px 0px 30px 2px rgba(0, 78, 235, 0.4);
}

.gatech-solutions-products__swiper-slide.swiper-slide-active,
.gatech-solutions-products__swiper-slide.swiper-slide-active+div,
.gatech-solutions-products__swiper-slide.swiper-slide-active+div+div,
.gatech-solutions-products__swiper-slide.swiper-slide-active+div+div+div {
  opacity: 1;
  z-index: auto;
}

.gatech-solutions-products__swiper-slide-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 8px;

  @media (max-width: 1024px) {
    font-size: 14px;
  }
}

.gatech-solutions-products__swiper-slide-image {
  width: 109px;
  height: 103px;
  position: relative;
}

.gatech-solutions-products__swiper-slide-image::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 1px;
  height: 1px;
  box-shadow: 0px 0px 50px 50px rgba(0, 51, 255, 0.5);
  background: rgba(0, 51, 255, 0.6);
}

.gatech-solutions-products__swiper-slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.gatech-solutions-products__active-product {
  position: relative;
  flex: 724px 0 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 24px;
  padding-right: 200px;
  border-radius: 15px;
  background: rgba(3, 6, 11, 0.5);
  backdrop-filter: blur(5px);
  box-shadow: 0px 0px 30px 7px rgba(0, 78, 235, 0.4);

  @media (max-width: 1440px) {
    padding-right: 24px;
    max-width: 100%;
    justify-self: start;
  }

  @media (max-width: 768px) {
    margin-top: 262px;
  }
}

.gatech-solutions-products__active-product-image {
  position: absolute;
  top: 50%;
  left: 100%;
  translate: -40% -50%;
  width: 480px;
  height: 480px;
  object-fit: contain;
  object-position: center;

  @media (max-width: 1600px) {
    width: 340px;
    height: 340px;
    translate: -50% -50%;
  }

  @media (max-width: 1440px) {
    position: static;
    translate: 0;
    margin: -64px auto -32px;
    z-index: -1;
  }

  @media (max-width: 768px) {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -262px;
    object-position: center bottom;
    margin: 0;
  }
}

.gatech-solutions-products__active-product-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 32px;
}

.gatech-solutions-products__active-product-topic {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 4px;
}

.gatech-solutions-products__active-product-features {
  padding-left: 0;
  list-style: inside;
  margin: 0 0 32px;
}

.gatech-solutions-products__active-product-feat {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}

.gatech-solutions-products__active-product-specefications {
  list-style: none;
  padding-left: 0;
  margin: 0 0 32px;
}

.gatech-solutions-products__active-product-spec {
  position: relative;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  padding-left: 32px;
  margin-bottom: 12px;
}

.gatech-solutions-products__active-product-spec:last-child {
  margin-bottom: 0;
}

.gatech-solutions-products__active-product-spec::before {
  content: url(../images/check.svg);
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

.gatech-solutions-products__active-product-footer {
  margin-top: auto;
}


.gatech-solutions-products__active-product-tags {
  margin-bottom: 32px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 12px;
}

.gatech-solutions-products__active-product-tag {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.4;
  padding: 1px 10px;
  border: 1px solid white;
  border-radius: 10px;
}

.gatech-solutions-products__active-product-cta {
  width: 100%;
}

/* FAQ Section */
.gatech-solutions-faq {
  background: url(../images/bg-line-6.webp) no-repeat bottom center / contain;

  @media (max-width: 768px) {
    background: url(../images/bg-line-mob-5.webp) no-repeat top center / 100%;
  }
}

.gatech-solutions-faq__dropdown {
  align-items: start;
  padding: 32px;
  border-radius: 16px;
  background: rgba(65, 70, 79, 0.6);
  box-shadow: 0px 0px 15px 1px rgba(0, 78, 235, 0.4);
  transition: all .2s;
  cursor: pointer;
  margin-bottom: 16px;
}

.gatech-solutions-faq__dropdown:last-child {
  margin-bottom: 0;
}

.gatech-solutions-faq__dropdown--active {
  background-color: rgba(0, 78, 235, 0.8);
}

.gatech-solutions-faq__dropdown-title {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: start;
  transition: color .2s;
  margin-bottom: 0;
}

.gatech-solutions-faq__dropdown-title::after {
  content: url(../images/chevron-down-white.svg);
}

.gatech-solutions-faq__dropdown--active .gatech-solutions-faq__dropdown-title::after {
  rotate: x 180deg;
}

.gatech-solutions-faq__dropdown-text {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  margin: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  translate: 0 -20px;
  z-index: -1;
  transition: all .2s;
}

.gatech-solutions-faq__dropdown--active .gatech-solutions-faq__dropdown-text {
  opacity: 1;
  translate: 0;
  z-index: auto;
  height: auto;
  margin-top: 32px;
}

/* Contact Section */

.gatech-solutions-contact {
  background: url(../images/bg-line-2.webp) no-repeat center / 50% 100%;

  @media (max-width: 768px) {
    background: none;
  }
}

.gatech-solutions-contact__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px;

  @media (max-width: 1440px) {
    gap: 32px;
  }

  @media (max-width: 1024px) {
    display: flex;
    flex-direction: column;
  }
}

.gatech-solutions-contact__columns--direction-column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.gatech-solutions-contact__columns--w-697 {
  width: 697px;
  max-width: 100%;
  margin: 0 auto;
}

.gatech-solutions-contact__form {
  background-color: rgba(30, 33, 39, 0.5);
  padding: 40px;
  border-radius: 16px;

  @media (max-width: 768px) {
    padding: 32px 16px;
  }
}

.gatech-solutions-contact__form--order-2 {
  order: 2;
}

.gatech-solutions-contact__form-title {
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 50px;

  @media (max-width: 1440px) {
    text-align: center;
    font-size: 26px;
    margin-bottom: 32px;
  }
}

.gatech-solutions-contact__form-title--centered {
  text-align: center;
}

.gatech-solutions-contact__form-title:has(+.gatech-solutions-contact__form-subtitle) {
  margin-bottom: 16px;
}

.gatech-solutions-contact__form-subtitle {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 40px;
}

.gatech-solutions-contact__form-subtitle--centered {
  text-align: center;
}

.gatech-solutions-contact__form form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea {
    width: 100%;
    padding: 12px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 300;
    color: white;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    transition: all .2s;

    &:is(textarea) {
      height: calc(24px + 18px * 1.3 * 5);
      resize: none;
    }

    &:hover,
    &:focus {
      outline: none;
      box-shadow: 0px 0px 13px 2px rgba(0, 78, 235, 0.4);
      border-color: rgba(0, 51, 255, 1);
    }

    &::placeholder {
      font-size: 18px;
      color: rgba(255, 255, 255, 0.6);
    }

    /* Fix Chrome autofill white background */
    &:-webkit-autofill,
    &:-webkit-autofill:hover,
    &:-webkit-autofill:focus,
    &:-webkit-autofill:active {
      transition: background-color 5000s ease-in-out 0s;
      -webkit-text-fill-color: rgba(255, 255, 255, 1) !important;
    }
  }

  .wpcf7-list-item {
    margin: 0;
  }

  [type="checkbox"] {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    height: 19px;
    width: 19px;
    margin-bottom: -4px;
    margin-right: 16px;
    cursor: pointer;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 19px;
      height: 19px;
      border-radius: 2px;
      border: 1px solid rgba(0, 78, 235, 1);
    }

    &:checked::before {
      background: url(../images/icon-check-blue.svg) no-repeat center center;
    }
  }

  [type="submit"] {
    width: 100%;
    border-radius: 5px;
  }

  .wpcf7-spinner {
    height: 0;
  }

  .wpcf7-response-output {
    padding: 12px;
    border-radius: 5px;
    margin: 0 !important;
  }

  &:not(.invalid) .wpcf7-response-output {
    border-color: rgba(0, 51, 255, 0.6) !important;
  }
}

/* Hide Ugly Captcha label */
.grecaptcha-badge {
  overflow: hidden !important;
  height: 0 !important;
  opacity: 0;
  z-index: -1;
}

.gatech-solutions-contact__contacts {
  height: fit-content;
  background-color: rgba(30, 33, 39, 0.5);
  padding: 40px;
  border-radius: 16px;

  @media (max-width: 1440px) {
    padding: 32px 16px;
  }
}

.gatech-solutions-contact__contacts-title {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 80px;

  @media (max-width: 1440px) {
    text-align: center;
    font-size: 26px;
    margin-bottom: 50px;
  }
}

.gatech-solutions-contact__contacts-title--mb-32 {
  margin-bottom: 32px;
}

.gatech-solutions-contact__contacts-title--centered {
  text-align: center;
}

.gatech-solutions-contact__contacts-links {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 80px;

  @media (max-width: 1440px) {
    align-items: center;
    margin-bottom: 50px;
  }
}

.gatech-solutions-contact__contacts-links--direction-row {
  flex-direction: row;
  justify-content: center;

  @media (max-width: 1440px) {
    flex-direction: column;
  }
}

.gatech-solutions-contact__contacts-links--mb-32 {
  margin-bottom: 32px;
}

.gatech-solutions-contact__contacts-link {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;

  &[href^="tel\:"]::before {
    content: url(../images/icon-whatsapp-blue.svg);
  }

  &[href^="mailto\:"]::before {
    content: url(../images/icon-mail-blue.svg);
  }

  &:hover {
    color: rgba(0, 78, 235, 1);
  }
}

.gatech-solutions-contact__contacts-text {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;

  @media (max-width: 1440px) {
    text-align: center;
  }
}

.gatech-solutions-contact__contacts-text--centered {
  text-align: center;
}

/* Modal Calc */
.gatech-solutions-modal-calc {
  width: 1024px;
  max-width: 100%;
}

.gatech-solutions-modal-calc__heading {
  text-align: center;
  margin-bottom: 50px;

  @media (max-width: 1023px) {
    margin-bottom: 32px;
  }
}

.gatech-solutions-modal-calc__columns {
  --space-between: 16px;

  display: flex;
  gap: var(--space-between);

  @media (max-width: 768px) {
    flex-direction: column;
  }
}

.gatech-solutions-modal-calc__col {
  flex: calc(50% - (var(--space-between) / 2)) 0 0;
  background-color: rgba(16, 16, 16, 1);
  border-radius: 16px;
  border: 1px solid rgba(0, 78, 235, 0.8);
  box-shadow: 0px 0px 10px 0px rgba(0, 78, 235, 0.8);
  padding: 40px;
}

.gatech-solutions-modal-calc__inputs {
  display: flex;
  flex-direction: column;
}

.gatech-solutions-modal-calc__range-label {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
  margin-bottom: 10px;
}

.gatech-solutions-modal-calc__range-input-wrapper {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-bottom: 50px;
}

.gatech-solutions-modal-calc__range-input {
  --progress: 0%;
  --track-height: 4px;

  position: relative;
  width: 100%;
  flex-grow: 1;
  -webkit-appearance: none;
  appearance: none;
  height: var(--track-height);
  width: 100%;
  border-radius: 10px;
}

.gatech-solutions-modal-calc__range-input::-webkit-slider-runnable-track {
  height: var(--track-height);
  border-radius: 10px;
  background: linear-gradient(to right,
      rgba(0, 78, 235, 1) 0%,
      rgba(0, 78, 235, 1) var(--progress),
      rgba(193, 199, 205, 1) var(--progress));
}

.gatech-solutions-modal-calc__range-input::-moz-range-track {
  height: var(--track-height);
  border-radius: 10px;
  background: linear-gradient(to right,
      rgba(0, 78, 235, 1) 0%,
      rgba(0, 78, 235, 1) var(--progress),
      rgba(193, 199, 205, 1) var(--progress));
}

.gatech-solutions-modal-calc__range-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  translate: 0 calc(-50% + var(--track-height) / 2);
  background: rgba(0, 78, 235, 1);
  border-radius: 50%;
  cursor: pointer;
}

.gatech-solutions-modal-calc__range-input::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: rgba(0, 78, 235, 1);
  border-radius: 50%;
  cursor: pointer;
  border: none;
}

.gatech-solutions-modal-calc__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gatech-solutions-modal-calc__checkbox:has([disabled]) {
  pointer-events: none;
  opacity: .3;
}

.gatech-solutions-modal-calc__checkbox-input {
  position: relative;
  appearance: none;
  width: 32px;
  height: 16px;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 33px;
  padding: 2px;
  cursor: pointer;
}

.gatech-solutions-modal-calc__checkbox-input:hover,
.gatech-solutions-modal-calc__checkbox-input:focus {
  outline: none;
}

.gatech-solutions-modal-calc__checkbox-input::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 2px;
  translate: -0% -50%;
  background-color: white;
}

.gatech-solutions-modal-calc__checkbox-input:checked {
  background-color: rgba(0, 78, 235, 1);
}

.gatech-solutions-modal-calc__checkbox-input:checked::after {
  left: unset;
  right: 2px;
}


.gatech-solutions-modal-calc__checkbox-label {
  cursor: pointer;
}

.gatech-solutions-modal-calc__results {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.gatech-solutions-modal-calc__result-item-label {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 10px;
}

.gatech-solutions-modal-calc__result-item-value {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
}