/*
 * Original Design Specifications
 * Target: > 1800px
 * Test Resolution: 1920 x 1080
 */
:root {
  /* Banner */
  --vacancies-call-to-action-banner-flex-direction: row;
  --vacancies-call-to-action-banner-content-flex-direction: row;
  --vacancies-call-to-action-banner-content-title-and-description-text-align: left;
  --vacancies-call-to-action-banner-min-height: 15rem;
  --vacancies-call-to-action-banner-border-radius: 1.4rem;
  --vacancies-call-to-action-banner-padding: 5rem;
  --vacancies-call-to-action-banner-gap: 5rem;
  --vacancies-call-to-action-banner-justify-content: space-between;
  --vacancies-call-to-action-banner-align-items: center;
  --vacancies-call-to-action-banner-content-title-min-width: 15rem;
  --vacancies-call-to-action-banner-call-to-action-min-width: 14rem;

  /* Banner Content */
  --vacancies-call-to-action-banner-content-gap: 7rem;
  --vacancies-call-to-action-banner-content-align-items: center;

  /* Banner Typography */
  --vacancies-call-to-action-banner-content-title-font-size: 4.8rem;
  --vacancies-call-to-action-banner-content-title-line-height: 1.2;
  --vacancies-call-to-action-banner-content-description-margin-top: 0.4rem;
  --vacancies-call-to-action-banner-content-description-font-size: 2rem;
  --vacancies-call-to-action-banner-content-description-line-height: 1.3;
  --vacancies-call-to-action-banner-content-description-max-width: 40rem;

  /* Banner Call To Action */
  --vacancies-call-to-action-banner-call-to-action-gap: 3rem;
  --vacancies-call-to-action-banner-call-to-action-align-items: center;
  --vacancies-call-to-action-banner-call-to-action-text-font-size: 2.4rem;
  --vacancies-call-to-action-banner-call-to-action-icon-dimensions: 1.8rem;
  --vacancies-call-to-action-banner-call-to-action-icon-margin-top: 0.3rem;
}

/*
 * 2XL Media Query (1536px)
 * Target: 1799px > 1536px
 * Test Resolution: 1536 x 864
 */
@media screen and (max-width: 1535px) {
  :root {
    /* Banner */
    --vacancies-call-to-action-banner-min-height: 13rem;
    --vacancies-call-to-action-banner-padding: 4.5rem;
    --vacancies-call-to-action-banner-gap: 4rem;

    /* Banner Content */
    --vacancies-call-to-action-banner-content-gap: 5rem;

    /* Banner Typography */
    --vacancies-call-to-action-banner-content-title-font-size: 3rem;
    --vacancies-call-to-action-banner-content-description-font-size: 1.6rem;
    --vacancies-call-to-action-banner-content-description-max-width: 34rem;

    /* Banner Call To Action */
    --vacancies-call-to-action-banner-call-to-action-gap: 2.4rem;
    --vacancies-call-to-action-banner-call-to-action-text-font-size: 2rem;
    --vacancies-call-to-action-banner-call-to-action-icon-dimensions: 1.5rem;
  }
}

/*
 * L Media Query (1024px)
 * Target: 1279px > 1024px
 * Test Resolution: 1024 x 768
 */
@media screen and (max-width: 1279px) {
  :root {
    /* Banner Content */
    --vacancies-call-to-action-banner-content-gap: 4rem;

    /* Banner Typography */
    --vacancies-call-to-action-banner-content-title-font-size: 3.6rem;
    --vacancies-call-to-action-banner-content-description-font-size: 1.7rem;

    /* Banner Call To Action */
    --vacancies-call-to-action-banner-call-to-action-gap: 2rem;
    --vacancies-call-to-action-banner-call-to-action-text-font-size: 1.9rem;
    --vacancies-call-to-action-banner-call-to-action-icon-dimensions: 1.4rem;
  }
}

/*
 * M Media Query (768px)
 * Target: 1023px > 768px
 * Test Resolution: 768 x 1024
 */
@media screen and (max-width: 1023px) {
  :root {
    /* Banner */
    --vacancies-call-to-action-banner-min-height: auto;
    --vacancies-call-to-action-banner-padding: 2rem;
    --vacancies-call-to-action-banner-gap: 3rem;
    --vacancies-call-to-action-banner-justify-content: center;
    --vacancies-call-to-action-banner-align-items: center;

    /* Banner Content */
    --vacancies-call-to-action-banner-content-gap: 2rem;
    --vacancies-call-to-action-banner-content-align-items: center;

    /* Banner Typography */
    --vacancies-call-to-action-banner-content-title-font-size: 2.4rem;
    --vacancies-call-to-action-banner-content-title-line-height: 1.3;
    --vacancies-call-to-action-banner-content-description-margin-top: 0.3rem;
    --vacancies-call-to-action-banner-content-description-font-size: 1.4rem;
    --vacancies-call-to-action-banner-content-description-line-height: 1.4;
    --vacancies-call-to-action-banner-content-description-max-width: 100%;

    /* Banner Call To Action */
    --vacancies-call-to-action-banner-call-to-action-gap: 1.5rem;
    --vacancies-call-to-action-banner-call-to-action-align-items: center;
    --vacancies-call-to-action-banner-call-to-action-text-font-size: 1.4rem;
    --vacancies-call-to-action-banner-call-to-action-icon-dimensions: 1.2rem;
    --vacancies-call-to-action-banner-call-to-action-icon-margin-top: 0.2rem;
  }
}

/*
 * S Media Query (640px)
 * Target: < 767px
 * Test Resolution: 390 x 844
 */
@media screen and (max-width: 767px) {
  :root {
    /* Banner */
    --vacancies-call-to-action-banner-padding: 2rem;
    --vacancies-call-to-action-banner-flex-direction: column;
    --vacancies-call-to-action-banner-content-flex-direction: column;
    --vacancies-call-to-action-banner-content-title-and-description-text-align: center;
    --vacancies-call-to-action-banner-content-title-font-size: 2rem;
    --vacancies-call-to-action-banner-gap: 2rem;
    --vacancies-call-to-action-banner-content-gap: 0.5rem;
    --vacancies-call-to-action-banner-call-to-action-icon-dimensions: 1rem;
    --vacancies-call-to-action-banner-call-to-action-icon-margin-top: 0.1rem;
    --vacancies-call-to-action-banner-call-to-action-gap: 1rem;
    --vacancies-call-to-action-banner-call-to-action-min-width: none;
  }
}

.vacancies-call-to-action-banner {
  grid-column: 1 / -1;
  min-height: var(--vacancies-call-to-action-banner-min-height);
  border-radius: var(--vacancies-call-to-action-banner-border-radius);
  background-color: var(--theme-color-white);
  padding: var(--vacancies-call-to-action-banner-padding);
  gap: var(--vacancies-call-to-action-banner-gap);
  display: flex;
  flex-direction: var(--vacancies-call-to-action-banner-flex-direction);
  justify-content: var(--vacancies-call-to-action-banner-justify-content);
  align-items: var(--vacancies-call-to-action-banner-align-items);
}

.vacancies-call-to-action-banner-content {
  display: flex;
  flex-direction: var(--vacancies-call-to-action-banner-content-flex-direction);
  gap: var(--vacancies-call-to-action-banner-content-gap);
  align-items: var(--vacancies-call-to-action-banner-content-align-items);
}

.vacancies-call-to-action-banner-content-title,
.vacancies-call-to-action-banner-content-description {
  display: block;
  text-align: var(
    --vacancies-call-to-action-banner-content-title-and-description-text-align
  );
}

.vacancies-call-to-action-banner-content-title {
  font-size: var(--vacancies-call-to-action-banner-content-title-font-size);
  line-height: var(--vacancies-call-to-action-banner-content-title-line-height);
  min-width: var(--vacancies-call-to-action-banner-content-title-min-width);
}

.vacancies-call-to-action-banner-content-description {
  margin-top: var(
    --vacancies-call-to-action-banner-content-description-margin-top
  );
  font-size: var(
    --vacancies-call-to-action-banner-content-description-font-size
  );
  line-height: var(
    --vacancies-call-to-action-banner-content-description-line-height
  );
  max-width: var(
    --vacancies-call-to-action-banner-content-description-max-width
  );
}

.vacancies-call-to-action-banner-call-to-action {
  display: flex;
  gap: var(--vacancies-call-to-action-banner-call-to-action-gap);
  align-items: var(
    --vacancies-call-to-action-banner-call-to-action-align-items
  );
  min-width: var(--vacancies-call-to-action-banner-call-to-action-min-width);
}

.vacancies-call-to-action-banner-call-to-action-text {
  font-size: var(
    --vacancies-call-to-action-banner-call-to-action-text-font-size
  );
}

.vacancies-call-to-action-banner-call-to-action-icon {
  width: var(--vacancies-call-to-action-banner-call-to-action-icon-dimensions);
  height: var(--vacancies-call-to-action-banner-call-to-action-icon-dimensions);
  margin-top: var(
    --vacancies-call-to-action-banner-call-to-action-icon-margin-top
  );
  object-fit: contain;
}

.vacancies-call-to-action-banner-call-to-action-icon > svg > path {
  fill: var(--theme-color-border);
}
