h1 {
  font-size: 1.29616rem;
  line-height: 1.2em;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h1 {
    font-size: calc(1.29616rem + 1.14525 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h1 {
    font-size: 2.44141rem;
  }
}

@media (min-width: 40em) {
  h1 {
    margin-bottom: 2.25rem;
  }
}

h2 {
  font-size: 1.21477rem;
  line-height: 1.2em;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h2 {
    font-size: calc(1.21477rem + 0.73836 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h2 {
    font-size: 1.95312rem;
  }
}

@media (min-width: 40em) {
  h2 {
    margin-top: 2.25rem;
    margin-bottom: 2.25rem;
  }
}

h3 {
  font-size: 1.13849rem;
  line-height: 1em;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h3 {
    font-size: calc(1.13849rem + 0.42401 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h3 {
    font-size: 1.5625rem;
  }
}

h4,
.component-banner__title--onecolumn,
.component-banner__title--twocolumns,
.component-banner__title--threecolumns,
.component-banner__title--fourcolumns {
  font-size: 1.067rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h4,
  .component-banner__title--onecolumn,
  .component-banner__title--twocolumns,
  .component-banner__title--threecolumns,
  .component-banner__title--fourcolumns {
    font-size: calc(1.067rem + 0.183 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h4,
  .component-banner__title--onecolumn,
  .component-banner__title--twocolumns,
  .component-banner__title--threecolumns,
  .component-banner__title--fourcolumns {
    font-size: 1.25rem;
  }
}

h5 {
  font-size: 1rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h5 {
    font-size: calc(1rem + 0 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h5 {
    font-size: 1rem;
  }
}

h6 {
  font-size: 0.93721rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media screen and (min-width: 30rem) {
  h6 {
    font-size: calc(0.93721rem + -0.13721 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h6 {
    font-size: 0.8rem;
  }
}

.title-big {
  font-size: 4.768rem;
  line-height: 5rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -7px;
}

@media screen and (min-width: 30rem) {
  .title-big {
    font-size: calc(4.768rem + 7.882 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  .title-big {
    font-size: 12.65rem;
  }
}

@media (min-width: 33.125em) {
  .title-big {
    line-height: 8rem;
  }
}

@media (min-width: 60em) {
  .title-big {
    line-height: 10.65rem;
    letter-spacing: -16px;
  }
}

@media (min-width: 100em) {
  .title-big {
    line-height: 12.65rem;
  }
}

.title-medium {
  font-size: 1.56rem;
  line-height: 2rem;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: 4px;
}

@media screen and (min-width: 30rem) {
  .title-medium {
    font-size: calc(1.56rem + 2.34 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  .title-medium {
    font-size: 3.9rem;
  }
}

@media (min-width: 75em) {
  .title-medium {
    line-height: 3.9rem;
  }
}

.component-banner--white {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #fff;
  padding: 1rem;
  color: #173353;
}

.component-banner--white--link {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #fff;
  padding: 1rem 1rem 2.5rem;
  height: 100%;
  display: block;
  border-bottom: 3px solid transparent;
  transition: box-shadow .2s ease, border .2s ease;
  text-decoration: none;
  position: relative;
  color: #173353;
}

@media (min-width: 40em) {
  .component-banner--white--link {
    padding: 1rem 1rem 3rem;
  }
}

.component-banner--white--link:hover, .component-banner--white--link:focus {
  box-shadow: 0 8px 9px 0 rgba(69, 73, 91, 0.2);
  border-bottom: 3px solid #1764e2;
  transition: box-shadow .2s ease, border .2s ease;
}

.component-banner--white--link::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%231764e2" stroke-width="4" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
  position: absolute;
  display: block;
  bottom: .25rem;
  right: .75rem;
  width: 1.75rem;
  height: 1.75rem;
}

@media (min-width: 40em) {
  .component-banner--white--link::after {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%231764e2" stroke-width="3" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
    width: 2.5rem;
    height: 2.5rem;
  }
}

.component-banner--white--link:hover {
  color: #173353;
}

.component-banner--blue {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #1764e2;
  padding: 1rem;
  color: #fff;
}

.component-banner--blue--link {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #1764e2;
  padding: 1rem 1rem 2.5rem;
  height: 100%;
  display: block;
  border-bottom: 3px solid transparent;
  transition: box-shadow .2s ease, border .2s ease;
  text-decoration: none;
  position: relative;
  color: #fff;
}

@media (min-width: 40em) {
  .component-banner--blue--link {
    padding: 1rem 1rem 3rem;
  }
}

.component-banner--blue--link:hover, .component-banner--blue--link:focus {
  box-shadow: 0 8px 9px 0 rgba(69, 73, 91, 0.2);
  border-bottom: 3px solid #fff;
  transition: box-shadow .2s ease, border .2s ease;
}

.component-banner--blue--link::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%23fff" stroke-width="4" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
  position: absolute;
  display: block;
  bottom: .25rem;
  right: .75rem;
  width: 1.75rem;
  height: 1.75rem;
}

@media (min-width: 40em) {
  .component-banner--blue--link::after {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%23fff" stroke-width="3" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
    width: 2.5rem;
    height: 2.5rem;
  }
}

.component-banner--blue--link:hover {
  color: #fff;
}

.component-banner--image {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #fff;
  padding: 1rem;
}

.component-banner--image--link {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #1764e2;
  padding: 1rem 1rem 2.5rem;
  height: 100%;
  display: block;
  border-bottom: 3px solid transparent;
  transition: box-shadow .2s ease, border .2s ease;
  text-decoration: none;
  position: relative;
  color: #fff;
  min-height: 7rem;
}

@media (min-width: 40em) {
  .component-banner--image--link {
    padding: 1rem 1rem 3rem;
  }
}

.component-banner--image--link:hover, .component-banner--image--link:focus {
  box-shadow: 0 8px 9px 0 rgba(69, 73, 91, 0.2);
  border-bottom: 3px solid #fff;
  transition: box-shadow .2s ease, border .2s ease;
}

.component-banner--image--link::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%23fff" stroke-width="4" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
  position: absolute;
  display: block;
  bottom: .25rem;
  right: .75rem;
  width: 1.75rem;
  height: 1.75rem;
}

@media (min-width: 40em) {
  .component-banner--image--link::after {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49 43" class="component__hightlighted-info--arrow"><path fill="none" stroke="%23fff" stroke-width="3" d="M26.7 41.5l19.5-20.3L26.9 1M0 21.3h45.4"/></svg>');
    width: 2.5rem;
    height: 2.5rem;
  }
}

.component-banner--image--link:hover {
  color: #fff;
}

.component-banner--image, .component-banner--image--link {
  position: relative;
  overflow: hidden;
  color: #fff;
  background-color: #1764e2;
}

.component-banner--image .component__image, .component-banner--image--link .component__image {
  position: absolute;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-filter: grayscale(1) contrast(1.5) brightness(0.75);
          filter: grayscale(1) contrast(1.5) brightness(0.75);
  opacity: .25;
}

.component-banner--image .component__image img,
.component-banner--image .component__image picture, .component-banner--image--link .component__image img,
.component-banner--image--link .component__image picture {
  display: -webkit-box;
  display: flex;
  min-width: 100%;
  min-height: 100%;
}

.component-banner__title--onecolumn, .component-banner__title--twocolumns, .component-banner__title--threecolumns, .component-banner__title--fourcolumns {
  position: relative;
  margin: 0;
  z-index: 1;
  font-weight: 600;
}
