/* ============================================== */
/* FS BASICS */
/* ============================================== */
* {
  box-sizing: border-box;
  line-height: 1.25; }

html {
  font-size: 1rem; }

body {
  background: #F8F9FB;
  color: #191919;
  font-family: 'Jost', sans-serif;
  padding: 24px; }

@media (min-width: 600px) {
  body {
    padding: 0; } }

/* ============================================== */
/* FS HELPER CLASSES */
/* ============================================== */
.fs-uppercase {
  text-transform: uppercase; }

.fs-checkbox-spacing {
  margin-bottom: 1rem; }

.fs-flex {
  display: flex; }

.fs-flex-column {
  flex-direction: column; }

.fs-flex-center-x {
  justify-content: center; }

.fs-flex-center-y {
  align-items: center; }

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

.fs-flex-wrap {
  flex-wrap: wrap; }

.fs-flex-grid-wrapper {
  display: flex;
  margin: 0 -10px; }

.fs-flex-grid-item {
  flex-grow: 1;
  margin: 0 10px; }

.fs-relative {
  position: relative; }

.fs-absolute {
  position: absolute; }

/* ============================================== */
/* FS UI ELEMENTS */
/* ============================================== */
.fs-title {
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.5px; }

.fs-sub-title {
  color: #aaaaaa;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 20px;
  text-transform: uppercase; }

.fs-body-large {
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 24px; }

.fs-body {
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 24px; }

.fs-paper {
  background-color: #ffffff;
  padding: 36px 24px;
  border-radius: 10px; }

.fs-button-default {
  max-width: 155px;
  border: 1px solid #7038A7;
  color: #7038A7;
  box-sizing: border-box;
  border-radius: 8px; }
  .fs-button-default:hover {
    color: #ffffff;
    background-color: #7038A7; }

.fs-divider {
  background-color: #F5F5FB;
  height: 5px;
  padding: 0;
  border-radius: 2.5px;
  border: 0; }

.fs-link {
  color: #7038A7; }
  .fs-link:hover, .fs-link:active {
    color: #7038A7; }
  .fs-link--strong {
    font-weight: bold; }

.fs-simple-table td, .fs-simple-table th {
  border: 0;
  padding: 0.5rem; }

.fs-simple-table th {
  padding-left: 0; }

.fs-form-control {
  background: #FFFFFF;
  border: 1px solid #E3E8EE;
  box-sizing: border-box;
  border-radius: 8px; }

select.fs-form-control {
  height: auto;
  padding: 0.65rem .75rem;
  color: #808791;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23404B4F' stroke-opacity='0.4' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: top 50% right 20px; }
  select.fs-form-control--selected {
    color: #495057; }
  select.fs-form-control option {
    color: #808791; }

textarea.fs-form-control {
  padding: 0.65rem .75rem;
  min-height: 100px; }

.fs-form-control-send-btn {
  padding-left: 40px;
  padding-right: 40px; }

.fs-simple-info-box {
  background: #F8F9FB;
  color: #707070;
  border-radius: 6px;
  padding: 28px;
  font-style: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 140%;
  align-items: center; }

/* ============================================== */
/* FS INVITATION */
/* ============================================== */
@media (min-width: 600px) {
  .fs-invitation {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; } }

@media (min-width: 600px) {
  .fs-invitation__logo {
    position: absolute;
    top: 50px;
    left: 25px;
    z-index: 10; } }

.fs-invitation__content {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 0 6px rgba(214, 189, 240, 0.25);
  margin-top: 20px; }
  @media (min-width: 600px) {
    .fs-invitation__content {
      background: transparent;
      border-radius: 0;
      box-shadow: none;
      margin-top: 0;
      display: flex;
      justify-content: center;
      position: relative;
      padding: 10px; } }

.fs-invitation-info {
  padding: 28px; }
  @media (min-width: 600px) {
    .fs-invitation-info {
      flex-basis: 300px;
      min-width: 250px;
      display: flex;
      align-items: center;
      background: #ffffff;
      margin: 10px 0;
      border-top-left-radius: 8px;
      border-bottom-left-radius: 8px;
      box-shadow: 0 0 6px rgba(214, 189, 240, 0.25); } }
  .fs-invitation-info__content {
    text-align: center; }
  .fs-invitation-info__title {
    text-align: center;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 140%;
    color: #191919;
    margin-bottom: 16px; }
    @media (min-width: 600px) {
      .fs-invitation-info__title {
        font-size: 24px; } }
  .fs-invitation-info__description {
    text-align: left;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 140%;
    color: #707070;
    padding: 0;
    margin-bottom: 0; }
    @media (min-width: 600px) {
      .fs-invitation-info__description {
        color: #3D3D3D; } }

.fs-invitation-form {
  width: 100%;
  background: #A577D4;
  border-radius: 8px;
  padding: 8px; }
  @media (min-width: 600px) {
    .fs-invitation-form {
      max-width: 440px;
      box-shadow: 0 6px 16px #E6EBF6; } }
  .fs-invitation-form__title {
    padding: 16px;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 140%;
    color: #FFFFFF;
    margin-bottom: 0; }
  .fs-invitation-form__form-wrapper {
    background: #FFFFFF;
    border-radius: 6px;
    padding: 24px 16px; }