/**
 * Mixin for fluid type.
 * Example usage: @include fluid-type(font-size, 320px, 1600px, 32px, 80px);
 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
:host {
  display: block;
}
.hy-process-flow-box {
  height: calc(100% - 32px);
  position: relative;
}
.hy-process-flow-box__step__container {
  bottom: unset;
  display: grid;
  height: 82px;
  place-items: center;
  position: absolute;
  top: -35px;
  width: 138px;
  z-index: 1;
}
@media (min-width: 30rem) {
  .hy-process-flow-box__step__container {
    bottom: -62px;
    display: grid;
    height: 60px;
    top: unset;
    width: 210px;
  }
}
.hy-process-flow-box__step__container svg polygon {
  fill: var(--grayscale-background-arrow);
}
.hy-process-flow-box__step__container svg.mobile {
  display: block;
}
@media (min-width: 30rem) {
  .hy-process-flow-box__step__container svg.mobile {
    display: none;
  }
}
.hy-process-flow-box__step__container svg.desktop {
  display: none;
}
@media (min-width: 30rem) {
  .hy-process-flow-box__step__container svg.desktop {
    display: block;
  }
}
.hy-process-flow-box .first.even.hy-process-flow-box__step__container {
  left: calc(50% - 69px + 16px);
}
@media (min-width: 30rem) {
  .hy-process-flow-box .first.even.hy-process-flow-box__step__container {
    left: -90px;
  }
}
@media (min-width: 60rem) {
  .hy-process-flow-box .first.even.hy-process-flow-box__step__container {
    left: 0;
  }
}
.hy-process-flow-box .first.odd.hy-process-flow-box__step__container {
  left: calc(50% - 69px + 16px);
}
@media (min-width: 30rem) {
  .hy-process-flow-box .first.odd.hy-process-flow-box__step__container {
    left: 0;
  }
}
.hy-process-flow-box :not(.first).even.hy-process-flow-box__step__container {
  left: calc(50% - 69px + 16px);
}
@media (min-width: 30rem) {
  .hy-process-flow-box :not(.first).even.hy-process-flow-box__step__container {
    left: -90px;
  }
}
.hy-process-flow-box :not(.first).odd.hy-process-flow-box__step__container {
  left: calc(50% - 69px + 16px);
}
@media (min-width: 30rem) {
  .hy-process-flow-box :not(.first).odd.hy-process-flow-box__step__container {
    left: 0;
  }
}
@media (min-width: 60rem) {
  .hy-process-flow-box :not(.first).odd.hy-process-flow-box__step__container {
    left: -90px;
  }
}
.hy-process-flow-box__step {
  background-color: transparent;
  color: var(--grayscale-black);
  font-family: var(--main-font-family);
  font-size: 16px;
  font-weight: 600;
  -ms-hyphens: auto;
  hyphens: auto;
  letter-spacing: 0;
  line-height: 22px;
  padding: 19px 17px;
  position: absolute;
  text-align: center;
  word-break: break-word;
  z-index: 11;
}
@media (min-width: 30rem) {
  .hy-process-flow-box__step {
    left: 0;
    max-width: 175px;
    padding: 8px 23px 8px 14px;
  }
}
.hy-process-flow-box__number__container {
  display: grid;
  height: 64px;
  place-items: center;
  position: relative;
  width: 64px;
  z-index: 2;
}
.hy-process-flow-box__number {
  background-color: var(--brand-main-light);
  color: var(--grayscale-white);
  display: grid;
  font-family: var(--main-font-family);
  font-size: 36px;
  font-weight: 600;
  height: 48px;
  letter-spacing: 0;
  line-height: 49px;
  margin: 0;
  padding: 0;
  place-items: center;
  position: relative;
  width: 48px;
}
.hy-process-flow-box__number::after {
  content: "";
  height: 48px;
  left: -6px;
  position: absolute;
  width: 48px;
}
.hy-process-flow-box__content.small {
  padding: 16px 32px;
  padding-bottom: 64px;
}
@media (min-width: 60rem) {
  .hy-process-flow-box__content.small {
    padding: 20px;
    padding-bottom: 64px;
  }
}
.hy-process-flow-box__content.big {
  padding: 24px 32px;
  padding-bottom: 64px;
}
.hy-process-flow-box__content {
  background-color: var(--grayscale-background-box);
  height: 100%;
  margin-left: 32px;
  margin-top: -32px;
  position: relative;
}
.hy-process-flow-box__title {
  color: var(--brand-main-nearly-black);
  font-family: var(--main-font-family);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.82px;
  line-height: 32px;
  -ms-hyphens: auto;
  hyphens: auto;
  margin-bottom: 16px;
  margin-top: 0;
  word-break: break-word;
}
.hy-process-flow-box__description {
  color: var(--grayscale-dark);
  font-family: var(--main-font-family);
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px;
}
.small.hy-process-flow-box .small.hy-process-flow-box__number__container {
  height: 56px;
  width: 56px;
}
.small.hy-process-flow-box .small.hy-process-flow-box__number__container .hy-process-flow-box__number {
  font-size: 28px;
  height: 40px;
  line-height: 40px;
  width: 40px;
}