.optimised-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 4;
}

.optimised-content {
  display: flex;
  gap: 3rem;
  padding-right: 2rem;
}

.optimise-for-speed-image > svg {
  width: 48rem;
  padding-left: 7rem;
  padding-block: 2rem;
}

.optimise-for-speed-image {
  background-image: url('/assets/optimized-for-speed.png');
  background-size: auto 100%;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}

.optimised-text {
  max-width: 37.5rem;
  margin: auto;
}

.optimised-wrapper .optimised-heading {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xxxl);
  line-height: 3.125rem;
  color: var(--main-text-color);
  margin: 0;
}

.optimised-description {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xxxxl);
  line-height: 4.0625rem;
  color: var(--blue);
  margin: 0;
}

.optimised-loader-image {
  margin-block: 1rem 1.25rem;
}

.optimised-text .optimised-info {
  font-size: var(--font-size-xxl);
  line-height: 2.625rem;
  font-weight: var(--font-weight-regular);
  margin-block: 2rem 0;
  color: var(--main-text-color);
}

.optimised-dotted-line {
  align-self: end;
  margin-bottom: -7rem;
  margin-top: -2rem;
}

/* Responsive */
@media only screen and (min-width: 1800px) {
  .optimised-content {
    gap: 8rem;
    align-items: center;
    justify-content: center;
  }

  .optimised-text {
    margin: unset;
  }
}

@media only screen and (min-width: 1367px) and (max-width: 1600px) {
  .optimised-text,
  .optimised-loader-image {
    max-width: 30rem;
  }

  .optimise-for-speed-image > svg {
    width: 37rem;
  }
}

@media only screen and (max-width: 1366px) {
  .optimised-dotted-line {
    width: 43rem;
    margin-top: 0;
    margin-bottom: -3rem;
  }

  .optimised-content {
    gap: 7rem;
    justify-content: space-between;
  }

  .optimise-for-speed-image {
    background-size: 100% 80%;
    background-position: bottom left;
    max-width: 31.7rem;
    width: 100%;
    padding: 0;
  }
  .optimise-for-speed-image > svg {
    max-width: 41.25rem;
    width: 37rem;
    padding-left: 3.75rem;
    padding-bottom: 1.7rem;
  }

  .optimised-loader-image {
    display: none;
  }

  .optimised-text {
    max-width: 30rem;
    align-self: end;
  }
}

@media only screen and (max-width: 1200px) {
  .optimise-for-speed-image > svg {
    height: 479px;
    padding-block: 0;
  }
  .optimised-text {
    align-self: end;
    margin: unset;
  }
  .optimised-dotted-line {
    width: 30rem;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 1080px) {
  .optimised-dotted-line {
    width: 35rem;
    margin-bottom: -6rem;
  }

  .optimise-for-speed-image > svg {
    width: 100%;
    max-width: 31.6875rem;
    padding-left: 1.5rem;
    padding-bottom: 4rem;
  }

  .optimise-for-speed-image {
    background-size: 100% 70%;
    background-position: bottom left;
  }
}

@media only screen and (max-width: 960px) {
  .optimised-content {
    gap: 1.5rem;
    padding-bottom: 0;
  }

  .optimised-text {
    max-width: 25rem;
  }

  .optimise-for-speed-image > svg {
    padding-bottom: 0;
  }

  .optimised-dotted-line {
    width: 30rem;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 767px) {
  .optimised-content {
    flex-direction: column;
    padding: 12rem 0 0 0;
    gap: 3rem;
  }

  .optimise-for-speed-image {
    background-size: 100% 80%;
    background-position: bottom left;
  }

  .optimise-for-speed-image > svg {
    width: calc(100% - 1.5rem);
    padding-left: 1.5rem;
    padding-bottom: 1rem;
  }

  .optimised-dotted-line {
    display: none;
  }

  .optimised-text {
    padding-inline: 1.5rem;
    max-width: 100%;
  }

  .optimised-description {
    font-size: var(--font-size-40);
    line-height: 3rem;
  }
}

@media only screen and (max-width: 480px) {
  .optimised-content {
    flex-direction: column;
    padding: 8rem 0 0 0;
  }

  .optimise-for-speed-image {
    background-size: 80% 70%;
    background-position: bottom left;
  }
  .optimise-for-speed-image > svg {
    padding-bottom: 2.8125rem;
  }

  .optimised-content {
    flex-direction: column;
    gap: 4rem;
  }

  .optimise-for-speed-image {
    background-size: 95% 70%;
    background-position: bottom left;
  }
  .optimise-for-speed-image > svg {
    width: calc(100% - 1rem);
    padding-left: 1rem;
    padding-bottom: 3.35rem;
  }

  .optimised-text {
    padding-inline: 1rem;
  }
}
