/* Base styles */
.content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  padding: 3em 8em;
  background: #e2e2f3;
  border-radius: 30px;
}

h2 {
  color: #4e4ab8;
}

/* Main header styles */
.main-header-wrapper {
  width: 100%;
  margin-bottom: 2em;
}
.main-title {
  font-family: Lato, sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 300;
  line-height: 60px; /* 125% */
}

/* Text and phone container styles */
.text-phone-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

/* Text container styles */
.text-container {
  display: flex;
  flex-direction: column;
  width: 50%;
}

.text-title {
  color: #4e4ab8;
  font-family: Lato, sans-serif;
  font-size: 36px;
  font-style: normal;
  font-weight: 300;
  line-height: 42px; /* 116.667% */
}

.text-sizing {
  /* Desktop Paragraph */
  font-family: Lato, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
}

/* Phone and icon container styles */
.phone-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 450px;
}

/* Icon wrapper styles */
.icon-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 130px;
}
.icon-border {
  border-radius: 100% !important;
  text-align: center;
  width: 100px;
  height: 100px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 0.25em;
}
.icon-border.dark {
  background-color: #2d2e30 !important;
}

.top-icons .icon-wrapper {
  flex-direction: column-reverse;
}

/* Icon styles */
.icons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 15px;
  margin-top: 80px;
  width: calc(100% + 8em);
}

.icon {
  position: relative;
  z-index: 2;
  width: 66%;
}

.dark {
  pointer-events: none;
}

.under-icon-title {
  margin-top: 0.5em;
  text-align: center;
  font-size: 20px;
  font-family: Lato, sans-serif;
  line-height: 24px;
}

/* Phone image styles */
.phone {
  width: 80%;
  text-align: center;
  transition: opacity 0.25s ease-in-out;
  opacity: 1;
  z-index: 3;
}

.phone-image {
  max-width: 375px !important;
  transition:
    opacity 0.3s ease-in-out,
    transform 0.3s ease-in-out;
}

.phone-image img {
  opacity: 1;
}

.phone-image.changing-image img {
  opacity: 0;
  transform: scale(1.1);
}

/* SVG and Path styles */
#line-drawing-svg {
  z-index: 1;
  pointer-events: none;
}

path {
  stroke: #2d2e30;
}
.top-icons,
.bottom-icons {
  display: none;
}
@media (max-width: 1140px) {
  .content {
    padding: 2em 20px;
  }
  .icons {
    width: calc(100% + 20px);
  }
  .icon-border {
    width: 80px;
    height: 80px;
  }
  .phone-container {
    justify-content: flex-start;
  }
  .main-title {
    /* Mobile H2 */
    font-family: Lato, sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 300;
    line-height: 42px; /* 131.25% */
  }
  .text-title {
    /* Mobile H3 */
    font-family: Lato, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 300;
    line-height: 36px; /* 128.571% */
  }
  .text-container {
    display: flex;
    flex-direction: column;
    width: 66%;
  }
  .under-icon-title {
    font-size: 14px;
  }
  .text-sizing {
    font-size: 14px;
  }
}

/* Mobile styles */
@media (max-width: 767px) {
  .content {
    padding: 60px 20px 80px 20px;
    border-radius: 0;
  }

  .phone-container {
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
  }
  .phone {
    width: 100%;
  }
  .phone-image {
    max-width: 100% !important;
  }

  .text-phone-container {
    flex-direction: column;
  }

  .desktop-icons {
    display: none;
  }

  .text-container {
    width: 100%;
  }
  .icon-wrapper {
    max-width: 33%;
  }
  .icons {
    flex-direction: row;
    width: 100%;
    margin-top: 2em;
    gap: 15px;
  }

  .top-icons {
    margin-bottom: 2em;
  }

  .mobile-icons {
    display: flex;
  }

  .text-sizing {
    font-family: Lato, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
  }
}

@media (max-width: 400px) {
  .icon {
    width: 40px;
    height: 40px;
  }
}
