:root {
  box-sizing: border-box;
  font-size: 14px; }

*,
::before,
::after {
  box-sizing: inherit;
  margin: 0;
  padding: 0; }

body {
  color: white;
  font-family: "Open Sans";
  font-weight: 400;
  font-size: inherit; }

h1, h2, h3 {
  font-family: Raleway;
  font-weight: 700; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.15rem; }

ul {
  list-style-type: none; }

img {
  height: 100%;
  width: auto;
  display: block; }

button {
  border: 0; }

.action-button {
  color: white;
  font-weight: 700;
  border-radius: 10em;
  background-image: linear-gradient(to right, #65e2d9, #339ecc); }

@media (min-width: 1400px) {
  :root {
    font-size: 20px; } }

.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5em 1.5em 0;
  background-color: #1B2330; }
  .nav__logo {
    height: 1.6em; }
  .nav__item {
    font-size: 0.8rem;
    margin-left: 1.8em; }
    @media (min-width: 1400px) {
      .nav__item {
        margin-left: 3.5em; } }
    .nav__item--first {
      margin-left: auto; }
  @media (min-width: 1400px) {
    .nav {
      padding: 3.6em 4em 0; }
      .nav__logo {
        height: 2.6em; } }

.hero {
  padding: 3.5em 2em 0;
  text-align: center;
  position: relative;
  background-color: #1c2431;
  z-index: 0; }
  .hero::before {
    position: absolute;
    content: "";
    bottom: 15em;
    left: 0;
    height: 11em;
    width: 100%;
    background: url("../images/bg-curvy-mobile.svg") bottom, #1c2431;
    background-size: 100% auto;
    background-repeat: no-repeat;
    z-index: -1; }
  .hero::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    height: 15em;
    width: 100%;
    background: #181f2a;
    background-size: 100% auto;
    background-repeat: no-repeat;
    z-index: -1; }
  .hero__image {
    height: 16em;
    margin-bottom: 2.5em; }
    .hero__image img {
      margin: 0 auto; }
  .hero__title {
    margin-bottom: 0.7em;
    line-height: 1.4; }
  .hero__desc {
    padding: 0 1em;
    margin-bottom: 2.2em;
    line-height: 1.7; }
  .hero__action {
    height: 3.6em;
    padding: 1.2em 6.2em; }
  @media (min-width: 28em) {
    .hero::before {
      height: 25em;
      bottom: 0; }
    .hero::after {
      display: none; } }
  @media (min-width: 900px) {
    .hero {
      padding: 3.85em 0 0; }
      .hero::before {
        height: 50em;
        bottom: -10em;
        background: url("../images/bg-curvy-desktop.svg") bottom, #1c2431;
        background-size: 100% auto;
        background-repeat: no-repeat;
        z-index: -1; }
      .hero__image {
        height: 26.6em;
        margin-bottom: 2em; }
      .hero__title {
        font-size: 1.8rem;
        width: 21em;
        margin: 0 auto;
        line-height: 1.65;
        letter-spacing: 2.5px; }
      .hero__desc {
        width: 32em;
        margin: 1.5em auto;
        line-height: 1.5;
        margin-bottom: 1.65em; }
      .hero__action {
        font-size: 0.775rem; } }

.features {
  text-align: center;
  background-color: #181f2a; }
  .features__image {
    height: 4.2em;
    margin-bottom: 2.5em; }
    .features__image img {
      margin: 0 auto; }
  .features__list {
    padding: 0 2em; }
    .features__list:first-child {
      padding-top: 9.5em; }
  .features__item {
    display: inline-block;
    margin: 0 auto; }
    .features__item + .features__item {
      margin-top: 7em; }
  .features__title {
    margin-bottom: 0.5em; }
  @media (min-width: 900px) {
    .features__list {
      margin: 5.25em 10em 0;
      font-size: 0.9rem;
      display: flex;
      flex-wrap: wrap; }
      .features__list:first-child {
        padding-top: 0; }
    .features__item {
      position: relative;
      margin-top: 4.5em !important;
      height: 12em;
      width: 28em; }
      .features__item + .features__item {
        margin-top: 0; }
    .features__image {
      margin-bottom: 1.7em; }
    .features__title {
      font-size: 0.95rem; }
    .features__desc {
      font-size: 0.7rem;
      width: 75%;
      margin: 0 auto; } }

.usp {
  background-color: #181f2a;
  padding: 12em 2em 0; }
  .usp__image {
    margin-bottom: 3.75em;
    height: 16em; }
    .usp__image img {
      margin: 0 auto; }
  .usp__content p {
    margin-bottom: 1.15em;
    line-height: 1.5; }
  .usp__title {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 0.8em; }
  .usp__cta {
    width: 11em;
    display: inline-block;
    position: relative;
    font-size: 0.75rem;
    color: #5FDCD6;
    padding-bottom: 0.3em;
    border-bottom: 1px solid #5FDCD6; }
    .usp__cta img {
      height: 16px;
      display: inline-block;
      position: absolute;
      bottom: 2;
      right: 0; }
  @media (min-width: 900px) {
    .usp {
      display: flex;
      justify-content: center;
      padding: 5.75em 5.4em 0; }
      .usp__image {
        height: 23em;
        margin-right: 3.25em; }
      .usp__content {
        display: flex;
        flex-direction: column;
        justify-content: center; }
        .usp__content p {
          margin-bottom: 0.75em;
          line-height: 1.5; }
      .usp__title {
        margin-top: -0.5em;
        font-size: 2.1rem;
        width: 10em;
        text-align: initial;
        margin-bottom: 0.5em; }
      .usp__desc {
        font-size: .8rem;
        width: 35em;
        margin-bottom: 1em; } }

.testimonials {
  padding: 12em 3em 11.5em;
  background-color: #181f2a;
  position: relative;
  z-index: 1; }
  .testimonials__item {
    padding: 1.75em 1.75em;
    background-color: #202a3c;
    border-radius: 0.25em; }
    .testimonials__item + .testimonials__item {
      margin-top: 1.5em; }
    .testimonials__item--first {
      position: relative; }
      .testimonials__item--first::before {
        content: "";
        height: 45px;
        width: 55px;
        position: absolute;
        top: -1.05em;
        left: 0.8em;
        background-image: url("../images/bg-quotes.png");
        background-repeat: no-repeat;
        background-size: calc(55px * 0.4) calc(45px * 0.4);
        z-index: -1; }
  .testimonials__text {
    font-size: 0.65rem;
    line-height: 1.8; }
  .testimonials__author {
    margin-top: 1.1em;
    display: flex;
    align-items: center; }
  .testimonials__author-image {
    display: flex;
    height: 1.75em; }
    .testimonials__author-image img {
      border-radius: 50%; }
  .testimonials__author-meta {
    margin-left: 0.7em; }
  .testimonials__author-name {
    font-weight: 700;
    font-size: 0.6rem;
    margin-bottom: 0.25em;
    letter-spacing: 1px; }
  .testimonials__author-status {
    font-size: 0.5rem; }
  @media (min-width: 1400px) {
    .testimonials {
      font-size: 2rem;
      padding: 0 0; }
      .testimonials__list {
        display: flex;
        justify-content: center;
        align-items: baseline; }
      .testimonials__item {
        margin-top: 2.7em;
        padding: 1em 0.65em 0.5em;
        width: 8.9em;
        border-radius: 0.15em; }
        .testimonials__item + .testimonials__item {
          margin: 0 0 0 1.2em; }
        .testimonials__item--first::before {
          top: -0.9em;
          left: -0.2em;
          background-size: 55px 45px; }
      .testimonials__text {
        line-height: 1.65; }
      .testimonials__author-image {
        height: 0.6em; }
      .testimonials__author {
        margin-top: 0.55em; }
      .testimonials__author-meta {
        margin-left: 0.25em; }
      .testimonials__author-name {
        font-size: 0.5rem; }
      .testimonials__author-status {
        font-size: 0.4rem; } }

.registration {
  background: linear-gradient(to bottom, #181f2a 0%, #181f2a 50%, #0b1523 50%, #0b1523 100%);
  text-align: center;
  padding: 0em 1.5em; }
  .registration__box {
    padding: 2.85em 2em 2.5em;
    background-color: #1B2330;
    border-radius: 0.5em;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.07), 0 4px 8px rgba(0, 0, 0, 0.07), 0 8px 16px rgba(0, 0, 0, 0.07), 0 16px 32px rgba(0, 0, 0, 0.07), 0 32px 64px rgba(0, 0, 0, 0.07); }
  .registration__title {
    margin-bottom: 1em; }
  .registration__desc {
    font-size: 0.8rem;
    line-height: 1.7;
    margin-bottom: 2.5em; }
  .registration__input {
    border: none;
    margin-bottom: 1.7em; }
    .registration__input input {
      border: none;
      width: 100%;
      height: 3.6em;
      padding: 1em;
      border-radius: 10em; }
      .registration__input input::placeholder {
        padding-left: 1.4em;
        font-size: 0.6rem;
        color: rgba(128, 128, 128, 0.75); }
  .registration__button {
    width: 100%;
    height: 3.6em;
    padding: 1.1em; }
  @media (min-width: 1100px) {
    .registration {
      padding: 10.3em 1.5em 0;
      background: linear-gradient(to bottom, #181f2a 0%, #181f2a 75%, #0b1523 75%, #0b1523 100%); }
      .registration__box {
        max-width: 43em;
        padding: 2.4em 1em 0.5em;
        margin: 0 auto; }
      .registration__title {
        font-size: 1.5rem;
        margin-bottom: .7em;
        letter-spacing: 1.5px; }
      .registration__desc {
        font-size: 0.75rem;
        width: 42.3em;
        margin: 0 auto;
        margin-bottom: 2.55em;
        line-height: 1.5; }
      .registration__input {
        display: inline-block;
        width: 58%; }
      .registration__button {
        display: inline-block;
        margin-left: 1.5em;
        width: 25%; } }

.footer {
  background-color: #0b1523;
  padding: 5.5em 2em 0; }
  .footer__logo {
    margin-left: 0.8em; }
  .footer__location {
    letter-spacing: 1px;
    margin: 2.75em 0 0 2.8em;
    line-height: 1.7;
    position: relative; }
    .footer__location::before {
      content: "";
      width: 16px;
      height: 20px;
      position: absolute;
      left: -2.6em;
      top: 0.5em;
      background-image: url("../images/icon-location.svg");
      background-repeat: no-repeat; }
  .footer__number {
    margin: 1.5em 0 0 2.8em;
    position: relative; }
    .footer__number::before {
      content: "";
      width: 18px;
      height: 18px;
      position: absolute;
      left: -2.6em;
      top: 0.2em;
      background-image: url("../images/icon-phone.svg");
      background-repeat: no-repeat;
      background-size: 13px 13px; }
  .footer__email {
    margin: 1.5em 0 0 2.8em;
    position: relative; }
    .footer__email::before {
      content: "";
      width: 20px;
      height: 16px;
      position: absolute;
      left: -2.6em;
      top: 0.25em;
      background-image: url("../images/icon-email.svg");
      background-repeat: no-repeat; }
  .footer__pages {
    margin-top: 6em; }
    .footer__pages > li {
      margin-bottom: 1.3em; }
  .footer__misc {
    margin-top: 4em; }
    .footer__misc > li {
      margin-bottom: 1.3em; }
  .footer__social {
    margin-top: 5.9em;
    padding-bottom: 4em;
    display: flex;
    justify-content: center; }
  .footer__social-logo {
    display: inline-block;
    height: 2em; }
    .footer__social-logo + .footer__social-logo {
      margin-left: 1em; }
  @media (min-width: 960px) {
    .footer {
      padding: 6em 6em 5em 11em;
      font-size: 0.7rem; }
      .footer__content {
        display: flex;
        justify-content: space-between;
        margin-top: 2.2em; }
      .footer__contact {
        margin-left: -2.5em; }
      .footer__logo {
        margin-left: -2.5em; }
      .footer__location {
        width: 25em;
        margin: 0; }
      .footer__number {
        margin: 0 0 1.5em; }
      .footer__email {
        margin: 0; }
      .footer__pages {
        margin-top: 0; }
      .footer__misc {
        margin: 0 -2em 0 -4.5em; }
      .footer__social {
        margin-top: 0; } }
