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,
.component-accordion__title {
  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,
  .component-accordion__title {
    font-size: calc(1.13849rem + 0.42401 * (100vw - 30rem) / 45);
  }
}

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

h4 {
  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 {
    font-size: calc(1.067rem + 0.183 * (100vw - 30rem) / 45);
  }
}

@media screen and (min-width: 75rem) {
  h4 {
    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;
  }
}

.layout-center,
.layout-center--form {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
  max-width: 1190px;
}

@media (min-width: 40em) {
  .layout-center--form {
    padding: 0 68px;
  }
}

.component-accordion {
  box-shadow: 0 0 8px 0 rgba(69, 73, 91, 0.2);
  background-color: #fff;
  padding: 0;
  height: 100%;
  display: block;
  border-bottom: 3px solid transparent;
  transition: box-shadow .2s ease, border .2s ease;
  text-decoration: none;
  position: relative;
  width: 100%;
  text-align: left;
  margin-bottom: .75rem;
}

@media (min-width: 40em) {
  .component-accordion {
    padding: 0;
  }
}

.component-accordion:hover, .component-accordion: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;
}

@media (min-width: 40em) {
  .component-accordion {
    margin-bottom: 1rem;
  }
}

.component-accordion__header {
  padding: 1rem 1rem .8rem 2rem;
  cursor: pointer;
}

@media (min-width: 40em) {
  .component-accordion__header {
    padding-left: 1.5rem;
  }
}

@media (min-width: 50em) {
  .component-accordion__header {
    padding-left: 2rem;
  }
}

.component-accordion__header:hover {
  color: #1764e2;
}

.component-accordion__header::after {
  content: '-';
  position: absolute;
  display: block;
  top: .9rem;
  right: 1rem;
  width: 20px;
  height: 24px;
  text-align: center;
  font-size: 2.3rem;
  color: #1764e2;
}

.component-accordion__header--closed::after {
  content: '+';
  font-size: 2rem;
}

.component-accordion__title {
  display: inline-block;
  margin: 0 1rem 0 0;
  vertical-align: middle;
}

.component-accordion__image {
  display: inline-block;
  margin-right: 1rem;
  vertical-align: middle;
}

.component-accordion__content {
  padding: 0 1rem .8rem;
}

@media (min-width: 40em) {
  .component-accordion__content {
    padding-top: .5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 50em) {
  .component-accordion__content {
    padding-top: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
