@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;900&family=Roboto:wght@400;600;900&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box; }

body,
h1,
h2,
h3,
h4,
p {
  margin: 0; }

body {
  width: 100%;
  overflow-x: hidden; }

section {
  padding: 4rem 0; }
  @media (min-width: 48.75em) {
    section {
      padding: 8rem 0; } }
  @media (min-width: 150em) {
    section {
      padding: 6rem 0; } }

html {
  scroll-behavior: smooth; }
  @media (min-width: 150em) {
    html {
      font-size: 25px; } }

html {
  font-family: "Raleway", sans-serif; }

h2,
h3 {
  color: #333333;
  font-weight: 600; }

h4 {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.4rem; }

h2 {
  font-size: 1.4rem;
  margin-bottom: 2rem; }
  @media (min-width: 48.75em) {
    h2 {
      font-size: 3.5rem; } }

.center {
  text-align: center;
  display: block; }

.sub-text {
  font-size: 1.1rem; }
  @media (min-width: 40em) {
    .sub-text {
      font-size: 1.8rem; } }

.purple {
  color: #732884; }

.bold {
  font-weight: 600; }

.bg-dark {
  color: #ffffff; }

.bg-light {
  color: #333333; }

.mb-1 {
  margin-bottom: 1rem; }

.mb-2 {
  margin-bottom: 2rem; }

.mb-4 {
  margin-bottom: 4rem; }

.mt-2 {
  margin-top: 2rem; }

.mt-4 {
  margin-top: 4rem; }

.mr-2 {
  margin-right: 2rem; }

.pt-0 {
  padding-top: 0 !important; }

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center; }

.btn {
  text-decoration: none;
  font-size: 1rem;
  border-radius: 50rem;
  font-weight: 600; }
  .btn-outline {
    color: #ffffff;
    padding: 0.7rem 1rem;
    border: 1px solid #ffffff; }
    .btn-outline:hover {
      background-color: rgba(255, 255, 255, 0.2); }
    @media (min-width: 53.75em) {
      .btn-outline {
        padding: 0.7rem 2rem;
        font-size: 1.2rem; } }
  .btn-solid {
    background: #ffffff;
    color: #333333;
    padding: 1.2rem 2rem;
    box-shadow: 4px 4px 2px rgba(51, 51, 51, 0.2);
    transition: all 0.3s; }
    @media (min-width: 53.75em) {
      .btn-solid {
        padding: 1.2rem 4rem;
        font-size: 1.6rem; } }
    .btn-solid:hover, .btn-solid:active {
      box-shadow: 2px 2px 2px rgba(51, 51, 51, 0.2); }
  .btn-gradient {
    background-image: linear-gradient(to top right, #f17131, #e92283);
    color: #ffffff;
    padding: 1.2rem 4rem;
    box-shadow: 4px 4px 2px rgba(51, 51, 51, 0.2);
    font-size: 1.2rem;
    transition: all 0.3s; }
    .btn-gradient:hover, .btn-gradient:active {
      box-shadow: 2px 2px 2px rgba(51, 51, 51, 0.2); }
  .btn-submit {
    background-image: linear-gradient(to top right, #f17131, #e92283);
    height: 3rem;
    border-radius: 6px;
    color: #ffffff;
    padding: 0.4rem 0;
    display: block;
    width: 100%;
    border: none;
    box-shadow: 4px 4px 2px rgba(51, 51, 51, 0.2);
    cursor: pointer;
    transition: all 0.3s; }
    .btn-submit:hover, .btn-submit:active {
      box-shadow: 2px 2px 2px rgba(51, 51, 51, 0.2); }
  .btn-close {
    width: 20px;
    height: 20px;
    opacity: 0.3;
    background: none;
    border: none; }
    .btn-close:hover {
      opacity: 1;
      cursor: pointer; }
    .btn-close:before, .btn-close:after {
      position: absolute;
      content: ' ';
      height: 20px;
      width: 2px;
      background-color: #ffffff; }
    .btn-close:before {
      transform: rotate(45deg); }
    .btn-close:after {
      transform: rotate(-45deg); }
  .btn-scroll-top {
    position: fixed;
    right: 50px;
    bottom: 50px;
    background: #ffffff;
    color: #333333;
    height: 50px;
    width: 50px;
    box-shadow: 0px 0px 4px rgba(51, 51, 51, 0.8);
    transition: all 0.3s;
    cursor: pointer;
    visibility: hidden;
    opacity: 0; }
    @media (min-width: 48.75em) {
      .btn-scroll-top {
        visibility: visible;
        opacity: 1; } }
    .btn-scroll-top--hidden {
      visibility: hidden;
      opacity: 0; }
    .btn-scroll-top:hover, .btn-scroll-top:active {
      box-shadow: 0px 0px 2px rgba(51, 51, 51, 0.8); }
    .btn-scroll-top > img {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }

.input__group {
  width: 100%; }
  .input__group label {
    display: none; }
  .input__group input {
    width: 100%;
    border-radius: 4px;
    border: 2px solid transparent;
    height: 3rem;
    font-size: 1.2rem;
    margin-bottom: 0.6rem;
    padding: 0 0.7rem;
    font-family: "Raleway", sans-serif;
    outline: none; }
    .input__group input:active, .input__group input:focus {
      border: 2px solid rgba(144, 50, 139, 0.6);
      border-radius: 4px;
      box-shadow: 0 0 4px rgba(255, 255, 255, 0.6); }
  .input__group textarea {
    width: 100%;
    border-radius: 4px;
    padding: 0.5rem 0.7rem;
    border: none;
    font-size: 1.2rem;
    font-family: "Raleway", sans-serif;
    outline: none;
    resize: vertical;
    margin-bottom: 0.4rem;
    border: 2px solid transparent; }
    .input__group textarea:active, .input__group textarea:focus {
      border: 2px solid rgba(144, 50, 139, 0.6);
      border-radius: 4px;
      box-shadow: 0 0 4px rgba(255, 255, 255, 0.6); }

.step {
  display: flex; }
  .step__heading {
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 2rem; }
    .step__heading.light {
      font-weight: 100; }
  .step__description {
    position: relative;
    border-left: 3px solid #ce236c;
    padding-left: 1rem;
    padding-bottom: 1rem; }
    @media (min-width: 48.75em) {
      .step__description {
        padding: 2rem; } }
    .step__description p {
      font-size: 0.8rem; }
      @media (min-width: 40em) {
        .step__description p {
          font-size: 1rem; } }
  .step__icon {
    display: flex;
    align-items: flex-end;
    margin-bottom: 2rem;
    margin-right: 2rem; }
    .step__icon img {
      width: 60px; }
      .step__icon img.pid_img {
        width: 40px;
        margin-right: 20px; }
      @media (min-width: 40em) {
        .step__icon img {
          width: 80px; }
          .step__icon img.pid_img {
            width: 60px;
            margin-right: 20px; } }

.row.step__row {
  align-items: flex-start; }
  @media (min-width: 40em) {
    .row.step__row {
      margin: 0 2rem; } }

.arrow-down {
  position: absolute;
  left: -0.8rem;
  bottom: -0.4rem;
  width: 0;
  height: 0;
  border-left: 0.7rem solid transparent;
  border-right: 0.7rem solid transparent;
  border-top: 0.7rem solid #ce236c; }

.bg-purple {
  background-image: linear-gradient(to top right, #7877bc, #90338b); }

.bg-light-purple {
  background-image: linear-gradient(rgba(144, 50, 139, 0.2), rgba(120, 119, 188, 0.2)); }

.row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48.75em) {
    .row {
      flex-direction: row; } }

.col-2 {
  flex: 1;
  margin: 2rem 0; }

.col-3 {
  width: 33.33%; }

.grid {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  position: relative; }
  .grid > * {
    padding: 0.5rem;
    text-align: center; }

.circle {
  position: absolute;
  background: #fff;
  height: 20px;
  width: 20px;
  border-radius: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0; }

.box {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 100em) {
    .box p {
      font-size: 1.4rem; } }

.box-1 {
  border-bottom: 2px solid #e6614b;
  border-right: 2px solid #e6614b; }

.box-2 {
  border-bottom: 2px solid #e6614b; }

.box-3 {
  border-right: 2px solid #e6614b; }

.container {
  padding: 0 2rem; }
  @media (min-width: 73.125em) {
    .container {
      width: 1170px;
      margin: 0 auto; } }
  @media (min-width: 87.5em) {
    .container {
      width: 1280px;
      margin: 0 auto; } }
  @media (min-width: 120em) {
    .container {
      width: 1480px;
      margin: 0 auto; } }
  @media (min-width: 150em) {
    .container {
      width: 1800px;
      margin: 0 auto; } }
  @media (min-width: 187.5em) {
    .container {
      width: 2400px;
      margin: 0 auto; } }

.container-2 {
  padding: 0 2rem; }
  @media (min-width: 66.25em) {
    .container-2 {
      width: 1060px;
      margin: 0 auto; } }
  @media (min-width: 120em) {
    .container-2 {
      width: 1170px; } }
  @media (min-width: 150em) {
    .container-2 {
      width: 1400px;
      margin: 0 auto; } }
  @media (min-width: 187.5em) {
    .container-2 {
      width: 1500px;
      margin: 0 auto; } }

.nav {
  padding-top: 2rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .nav__menu {
    display: flex;
    align-items: center; }
  .nav__logo img {
    height: 1.6rem;
    margin-right: 1rem;
    margin-bottom: -0.5rem; }
    @media (min-width: 40em) {
      .nav__logo img {
        height: 2rem; } }
    @media (min-width: 100em) {
      .nav__logo img {
        height: 2.6rem; } }
  .nav__links {
    padding: 0;
    list-style: none;
    display: none; }
    @media (min-width: 58.75em) {
      .nav__links {
        display: flex; } }
  .nav__item > a {
    text-decoration: none;
    color: #fff;
    font-size: 1rem;
    font-weight: 100;
    padding: 0 1rem; }
    @media (min-width: 100em) {
      .nav__item > a {
        font-size: 1.4rem; } }
  .nav__button {
    justify-self: flex-end; }
  .nav__item a:hover {
    color: #eee; 
  }

.header {
  width: 100%; }
  .header__wave {
    width: 100vw;
    display: block;
    margin-top: -12rem; }

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 3rem 0 4rem 0; }
  @media (min-width: 40em) {
    .hero {
      margin-top: 6rem;
      flex-direction: row-reverse; } }
  .hero__info-box {
    width: 100%;
    padding-bottom: 10rem;
    display: flex;
    align-items: center;
    flex-direction: column; }
    @media (min-width: 40em) {
      .hero__info-box {
        display: block;
        text-align: left;
        width: 60%; } }
  .hero__image-box {
    height: 100%;
    width: 40%;
    align-self: end; }
  .hero__image {
    margin-left: 2rem;
    max-height: 350px;
    display: none; }
    @media (min-width: 40em) {
      .hero__image {
        width: 80%;
        display: block; } }
    @media (min-width: 120em) {
      .hero__image {
        max-height: 500px; } }
    @media (min-width: 150em) {
      .hero__image {
        max-height: 600px; } }
  .hero__heading {
    font-weight: 600;
    font-size: 3rem;
    margin-top: 0;
    margin-bottom: 2rem;
    text-align: center; }
    @media (min-width: 31.25em) {
      .hero__heading {
        font-size: 4rem; } }
    @media (min-width: 40em) {
      .hero__heading {
        text-align: left; } }
    @media (min-width: 52.5em) {
      .hero__heading {
        font-size: 5rem; } }
    @media (min-width: 87.5em) {
      .hero__heading {
        font-size: 6rem; } }
    .hero__heading__box {
      display: flex; }
    .hero__heading__logo {
      height: 60px;
      margin-left: 1rem; }
      @media (min-width: 31.25em) {
        .hero__heading__logo {
          height: 80px; } }
      @media (min-width: 40em) {
        .hero__heading__logo {
          display: none; } }
  .hero__subheading {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    font-weight: 600;
    text-align: center; }
    @media (min-width: 31.25em) {
      .hero__subheading {
        font-size: 1.4rem; } }
    @media (min-width: 40em) {
      .hero__subheading {
        text-align: left; } }
    @media (min-width: 52.5em) {
      .hero__subheading {
        font-size: 1.6rem; } }
    @media (min-width: 87.5em) {
      .hero__subheading {
        font-size: 2rem; } }
  .hero__description {
    width: 100%;
    font-size: 1rem;
    margin-bottom: 4rem;
    text-align: center; }
    @media (min-width: 28.75em) {
      .hero__description {
        width: 400px; } }
    @media (min-width: 31.25em) {
      .hero__description {
        font-size: 1.1rem; } }
    @media (min-width: 40em) {
      .hero__description {
        width: 80%;
        text-align: left; } }
    @media (min-width: 52.5em) {
      .hero__description {
        font-size: 1.2rem; } }
    @media (min-width: 87.5em) {
      .hero__description {
        font-size: 1.6rem; } }

.challenge {
  padding-top: 0;
  padding-bottom: 8rem; }

.privacy-image {
  width: 100%;
  margin: 2rem 0; }
  @media (min-width: 40em) {
    .privacy-image {
      max-width: 460px;
      min-width: 250px;
      margin: 2rem auto; } }

@media (min-width: 187.5em) {
  .features-section > .container {
    width: 1800px;
    margin: 0 auto; } }

.features-section h2 {
  font-weight: 100;
  font-size: 2em; }
  .features-section h2 span {
    font-weight: 600;
    display: block; }
  @media (min-width: 61.25em) {
    .features-section h2 span {
      font-weight: 600;
      display: inline; } }

.features {
  margin: 0 auto;
  padding: 2rem; }
  @media (min-width: 67.5em) {
    .features {
      width: 100%;
      display: grid;
      grid-template-rows: repeat(2, 1fr);
      grid-template-columns: repeat(3, 1fr); } }

.feature {
  margin-bottom: 2rem; }
  .feature__1 {
    grid-column: 1/2;
    grid-row: 1/2; }
    @media (min-width: 67.5em) {
      .feature__1 {
        text-align: right; } }
  .feature__2 {
    grid-column: 3/4;
    grid-row: 1/2; }
  .feature__image {
    text-align: center;
    display: none;
    grid-column: 2/3;
    grid-row: 1/3;
    padding: 2rem;
    padding-top: 0.5rem; }
    .feature__image img {
      height: 250px; }
      @media (min-width: 150em) {
        .feature__image img {
          height: 350px; } }
    @media (min-width: 67.5em) {
      .feature__image {
        display: block; } }
  .feature__3 {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-top: 0; }
    @media (min-width: 67.5em) {
      .feature__3 {
        margin-top: 2.8rem;
        text-align: right; } }
    @media (min-width: 87.5em) {
      .feature__3 {
        margin-top: 3.4rem; } }
    @media (min-width: 150em) {
      .feature__3 {
        margin-top: 2rem; } }
  .feature__4 {
    grid-column: 3/4;
    grid-row: 2/3;
    margin-top: 0; }
    @media (min-width: 67.5em) {
      .feature__4 {
        margin-top: 2.8rem; } }
    @media (min-width: 87.5em) {
      .feature__4 {
        margin-top: 3.4rem; } }
    @media (min-width: 150em) {
      .feature__4 {
        margin-top: 2rem; } }

.benefits__p {
  margin-bottom: 1rem; }

.benefits__row {
  justify-content: space-between;
  flex-direction: column-reverse; }
  .benefits__row--swap {
    flex-direction: column; }
  @media (min-width: 54.375em) {
    .benefits__row {
      flex-direction: row; } }

.benefits__img--left {
  display: flex;
  justify-content: center;
  margin-right: 0; }
  @media (min-width: 48.75em) {
    .benefits__img--left {
      margin-right: 2rem; } }
  @media (min-width: 54.375em) {
    .benefits__img--left {
      justify-content: flex-start; } }

.benefits__img--right {
  display: flex;
  justify-content: center;
  margin-right: 0; }
  @media (min-width: 48.75em) {
    .benefits__img--right {
      margin-left: 2rem; } }
  @media (min-width: 54.375em) {
    .benefits__img--right {
      justify-content: flex-end; } }

.benefits__col {
  max-width: 100%;
  align-self: center; }
  .benefits__col img {
    width: 80%;
    height: 100%; }
    @media (min-width: 150em) {
      .benefits__col img {
        width: 90%; } }

h3.benefits__p {
  font-size: 1.3rem; }
  @media (min-width: 40em) {
    h3.benefits__p {
      font-size: 1.6rem; } }

.quote__image {
  max-width: 100px;
  margin-bottom: 2rem; }

.quote__text {
  width: 80%;
  margin: 0 auto;
  margin-bottom: 2rem; }

.contact__heading {
  margin-bottom: 2rem;
  font-size: 2rem; }

.contact__form {
  width: 300px; }
  @media (min-width: 37.5em) {
    .contact__form {
      margin-bottom: 2rem;
      margin-right: 0rem;
      width: 350px; } }
  @media (min-width: 53.75em) {
    .contact__form {
      margin-bottom: 2rem;
      width: 450px; } }
  @media (min-width: 75em) {
    .contact__form {
      margin-right: 8rem; } }
  @media (min-width: 150em) {
    .contact__form {
      width: 600px; } }

.contact__row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media (min-width: 75em) {
    .contact__row {
      flex-direction: row;
      justify-content: center;
      align-items: center; } }

.contact__thanks {
  width: 80%;
  margin: 2rem auto;
  padding: 2rem; }

.contact__thanks__modal {
  position: relative; }

.contact__image {
  width: 100%;
  margin: 2rem 0;
  display: none; }
  @media (min-width: 40em) {
    .contact__image {
      display: block;
      max-width: 600px;
      min-width: 250px;
      margin: 2rem auto; } }
  @media (min-width: 125em) {
    .contact__image {
      max-width: 100%; } }

.contact__thanks__modal__content h3 {
  font-size: 1.8rem; }

.contact__thanks__modal__content p {
  font-size: 1.4rem;
  line-height: 2rem; }

.btn-close {
  position: absolute;
  top: 0;
  right: 0; }

.footer__nav {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 2rem 0; }
  @media (min-width: 46.875em) {
    .footer__nav {
      flex-direction: row;
      height: 8rem; } }

.footer__links {
  display: flex;
  list-style: none;
  flex-direction: column; }
  @media (min-width: 46.875em) {
    .footer__links {
      flex-direction: row; } }
  .footer__links > li {
    margin: 1rem; }
    .footer__links > li > a {
      text-decoration: none;
      color: #333333; }

.footer__links a:hover {
  color: #000;
}

.footer__logo {
  height: 2rem; }
