body {
  font-family: 'Lora', serif;
  font-size: 10px;
  background-color: #C4C0FF;
  background-image: url("/images/pattern_2x.png");
  background-size: 20%;
  color: #fff;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 10px; } }
  @media screen and (max-width: 667px) {
    body {
      font-size: 10px;
      background-size: 60%; } }

section.content-area {
  display: flex;
  width: 92vw;
  height: 92vh;
  margin-top: 4vh;
  flex-direction: column;
  justify-content: space-around;
  background-color: #C4C0FF;
  text-align: center; }
  section.content-area.cc-form {
    height: auto; }
  @media screen and (max-width: 667px) {
    section.content-area {
      background-color: #C4C0FF; } }
  @media screen and (max-width: 667px) {
    section.content-area.cc-form {
      padding: 5vh 5vw 0vh 5vw; } }
  section.content-area.cc-form footer {
    position: relative;
    width: 100%;
    margin-top: 6rem; }
  section.content-area header {
    margin-top: 15px; }
  section.content-area footer {
    text-align: center;
    margin: 30px auto 0px;
    width: 90%; }
  section.content-area h1 {
    font-size: 6em;
    margin: 1rem;
    font-family: 'Montserrat', sans-serif; }
    @media screen and (max-width: 768px) {
      section.content-area h1 {
        font-size: 6em; } }
    @media screen and (max-width: 667px) {
      section.content-area h1 {
        font-size: 2.8em; } }
  section.content-area p, section.content-area small, section.content-area a {
    color: black;
    font-size: 10px; }
  section.content-area p {
    font-size: 1.8em; }
    @media screen and (max-width: 667px) {
      section.content-area p {
        font-size: 1.4em; } }

section.terms-page, section.privacy-page {
  width: 80vw;
  margin: 5vh auto 5vh auto;
  background-color: #C4C0FF;
  padding: 5vh 5vw;
  color: black; }
  section.terms-page header, section.privacy-page header {
    text-align: center; }
  section.terms-page h1, section.privacy-page h1 {
    text-align: center;
    font-size: 3.5em;
    margin: 1rem 1rem 2rem 1rem;
    color: #fff;
    font-family: 'Montserrat Alternates', sans-serif; }
  section.terms-page h3, section.privacy-page h3 {
    font-weight: bolder;
    font-size: 1.6em; }
  section.terms-page p, section.terms-page small, section.terms-page a, section.privacy-page p, section.privacy-page small, section.privacy-page a {
    color: black;
    font-size: 10px; }
  section.terms-page p, section.privacy-page p {
    font-size: 1.2em; }

.form-errors {
  color: red;
  font-size: 2em;
  padding: .25rem 0;
  display: none; }

button.main-button {
  color: white;
  background-color: #9013FE;
  border-radius: 0;
  border: none;
  width: 50%;
  font-size: 2em;
  height: 80px; }
  button.main-button.error-state {
    background-color: #FF4300;
    border-color: #FF4300; }
  @media screen and (max-width: 667px) {
    button.main-button {
      width: 86%;
      font-size: 1.8em; } }

.input-text-full {
  width: 50%;
  height: 80px;
  border: 2px solid black;
  text-align: left;
  font-size: 2em;
  margin: 0 auto; }
  .input-text-full input {
    border: none;
    height: 80px;
    width: 94%;
    padding: 0 3%;
    font-size: 18px; }
  .input-text-full.error-state {
    border-color: #FF4300; }
  @media screen and (max-width: 667px) {
    .input-text-full {
      width: 85%; } }

.input-text-half {
  width: 24%;
  height: 80px;
  border: 2px solid black;
  text-align: center;
  display: inline-block; }
  .input-text-half input {
    border: none;
    height: 80px;
    width: 94%;
    padding: 0 3%;
    font-size: 18px; }
  @media screen and (max-width: 667px) {
    .input-text-half {
      width: 98%; } }

.input-text-full, .input-text-half {
  margin: 10px auto 30px auto; }

.input-text-half + .input-text-half {
  margin-left: 1%; }

.interest-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-around;
  width: 68%;
  margin: 0 auto 0; }
  @media screen and (max-width: 667px) {
    .interest-group {
      width: 90%; } }
  .interest-group .checkbox-container {
    text-align: center;
    margin: 0px 15px; }
    .interest-group .checkbox-container h5 {
      font-family: 'Lora', serif;
      font-size: 1.5em;
      font-weight: normal;
      color: #000;
      margin-top: 15px; }
    .interest-group .checkbox-container .checkbox-faker {
      width: 20px;
      margin: auto;
      position: relative; }
      .interest-group .checkbox-container .checkbox-faker input[type=checkbox] {
        visibility: hidden; }
      .interest-group .checkbox-container .checkbox-faker label {
        cursor: pointer;
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 5px;
        top: 0;
        left: 0;
        background: #fff;
        border: 1px solid #000; }
        .interest-group .checkbox-container .checkbox-faker label:after {
          opacity: 0.2;
          content: '';
          position: absolute;
          width: 9px;
          height: 4px;
          background: transparent;
          top: 5px;
          left: 4px;
          border: 3px solid #333;
          border-top: none;
          border-right: none;
          transform: rotate(-45deg); }

.checkbox-faker label:hover::after {
  opacity: 0.5; }

.checkbox-faker input[type=checkbox]:checked + label:after {
  opacity: 1; }

section.content-area.thanks-page h1 {
  margin: 2rem 0 0 0; }

.social-icon-area {
  margin: 2rem auto; }
  .social-icon-area a {
    display: inline-block;
    padding: 0 10px; }

.utils-margin-all {
  margin: 1rem; }

.utils-margin-x {
  margin: 0 1rem; }

.utils-margin-y {
  margin: .7rem 0; }

.utils-margin-b {
  margin: 0rem 0rem .7rem 0rem; }
