@font-face {
  font-family: 'SofiaPro';
  font-weight: 400;
  src: url('/fonts/sofia-pro/3AD2FE_A_0.woff2') format('woff2'),
    url('/fonts/sofia-pro/3AD2FE_A_0.woff') format('woff');
}
@font-face {
  font-family: 'SofiaPro';
  font-weight: 600;
  src: url('/fonts/sofia-pro/3AD2FE_C_0.woff2') format('woff2'),
    url('/fonts/sofia-pro/3AD2FE_C_0.woff') format('woff');
}
@font-face {
  font-family: 'SofiaPro';
  font-weight: bold;
  src: url('/fonts/sofia-pro/3AD2FE_1_0.woff2') format('woff2'),
    url('/fonts/sofia-pro/3AD2FE_1_0.woff') format('woff');
}


:root,
:root body {
  /* LOCAL ---- */
  --color-primary: #7622a9;
  --color-secondary: #f82507;
  --brand-gradient: linear-gradient(to bottom right, var(--color-secondary), var(--color-primary));

  --box-shadow-elevated: -1px 3px 4px 0px rgba(255, 38, 0, 0.05),
    -1px 1px 5px 0px rgba(99, 13, 192, 0.07);

  --box-shadow-bright: rgba(255, 38, 0, 0.1) -4px 24px 30px 0px,
    rgba(99, 13, 192, 0.14) -2px 6px 20px 0px;
  /* GLOBAL ---- */
  --color-brand: #7622a9;
  --color-page-background: #fafafa;
  --color-error: #f82507;
  --logo-height: 30px;
  --logo-width: 64px;
  --color-focus-outline: transparent;
  --field-hover-border-color: var(--color-brand); /* field border (hover) */
  --field-focus-border-color: var(--color-brand);
  --stepper-bullet-complete-background-color: var(--color-brand); /* investment checked step color */
  --button-primary-background-color: var(--color-brand);
  --color-brand-hover: var(--color-brand);
  --button-primary-hover-background-color: var(--color-brand);
}
/* 

TYPOGRAPHY - TEXT, LINKS, HEADINGS ------------------------------------

*/
:root body {
  --font-family: 'SofiaPro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';

  --font-size-x-huge: 1.5rem; /* 24px */
  --font-size-huge: 1.5rem; /* 24px */

  --font-size-x-large: 1.25rem; /* 20px */
  --font-size-large: 1.25rem; /* 20px */

  --color-text: #000;
  --color-text-secondary: #9d9d9d;
}
/* LINKS --------------------------------------- */
:root body {
  --color-link: #7622a9;
}
body a {
  text-decoration: none;
}
/* HEADINGS --------------------------------------- */
:root body {
  --font-family-heading: 'SofiaPro', serif;
  --color-heading: #000;
}
body h1 {
  font-size: var(--font-size-huge);
  font-weight: var(--bold);
}
body h2,
body h3 {
  font-weight: normal;
}
/* 

BUTTONS ------------------------------------------------------------- 

*/
body .button {
  border-radius: 0.25rem;
  font-weight: bold;
}
/* PRIMARY --------------------------------------- */
body .button.primary {
  background: var(--brand-gradient);
  border: 0;
  border-radius: 0.25rem;
}
/* FLAT --------------------------------------- */
body .button.flat {
  color: inherit;
}
/* SECONDARY ------------------------------------- */
:root body {
  --button-secondary-color: var(--color-text);
  --button-secondary-background-color: transparent;
  --button-secondary-border-color: #edeef0;
}
body .button.secondary {
  background-image: var(--brand-gradient);
  border: 0;
  border-radius: 0.25rem;
  position: relative;
  z-index: 1;
}
/* hover */
body .button.secondary:hover:before {
  opacity: 0.95;
}
/* emulate border gradient */
body .button.secondary:before {
  background: var(--color-background);
  border-radius: calc(var(--section-border-radius) - 1px);
  bottom: 1px;
  content: '';
  display: block;
  left: 1px;
  position: absolute;
  right: 1px;
  top: 1px;
  transition: 0.3s ease opacity;
  z-index: -1;
}
/* 

FORMS ------------------------------------------------------------- 

*/
:root body {
  --field-label-color: #9d9d9d;
  --field-border-color: #d8d8d8;
  --field-border-radius: 0;
  --field-border-width: 0 0 1px 0;
  --field-label-font: var(--field-label-font-size) / var(--field-label-line-height)
    var(--font-family);

  --checkbox-border-color: #f82507;
}
#root .field > .input {
  background-attachment: local;
  background-image: linear-gradient(to right, var(--color-secondary), var(--color-primary));
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  transition: all 0.3s ease;
}
/* - */
#root .field > .input:focus {
  background-size: 100% 2px;
  border-bottom: 0;
  box-shadow: none;
}
/* 

HEADER ------------------------------------------------------------- 

*/
:root body {
  --color-header-dark: #fff;
}
body .main-header {
  background-color: var(--color-background);
  box-shadow: var(--section-box-shadow);
  color: var(--color-text);
}
body .main-header nav.signed-out .button {
  min-height: 0;
}
body .main-header nav.signed-out .button.flat {
  margin-right: var(--gap-small);
}
body .main-header nav.signed-out .button > a.link.nav-link.menu-link {
  line-height: 1.5;
  padding: 0.5rem 1.5rem;
}
body .main-header nav.signed-out .primary > .link.nav-link.menu-link {
  color: var(--color-background);
  font-weight: var(--bold);
}
body .main-header nav.signed-out .button.flat::after {
  display: none;
}
body .main-header nav.signed-out .button.flat > .link.nav-link.menu-link {
  /* position: relative; */
  border: 1px solid var(--button-secondary-border-color);
  font-weight: var(--bold);
  min-height: 0;
}
#root .hamburger-menu-content {
  color: var(--color-brand);
}
body .main-header.clean-layout {
  background-color: var(--color-page-background);
  width: calc(24rem + var(--page-content-horizontal-padding));
}
/* 

FOOTER ------------------------------------------------------------- 

*/
:root body {
  --color-page-footer-background: #fff;
  --color-page-footer-text: var(--color-text-secondary);
}
body .main-footer {
  padding-bottom: var(--gap-huge);
}
body .main-footer .copyright {
  bottom: 0;
  left: 0;
  padding: var(--gap);
  position: absolute;
  right: 0;
  text-align: center;
}
/* 

BUILDING BLOCKS ----------------------------------------------------

*/
:root body {
  /* SECTION --------------------------------------- */
  --section-box-shadow: var(--box-shadow-elevated);
  --section-box-shadow-hover: var(--box-shadow-bright);
  --section-border-radius: 0.25rem;
  /* CARD ------------------------------------------ */
  --card-box-shadow: var(--box-shadow-elevated);
  --card-box-shadow-hover: var(--box-shadow-bright);
  --card-border-radius: 0.25rem;
}

/*
LANDING PAGE -------------------------------------------------------- 
*/
body .landing-page address {
  display: inline;
  font-style: normal;
}
body .landing-page > .hero-image {
  display: none !important;
}
body section.page-content.cols-1.landing-hero-wrapper {
  height: unset;
}
body .landing-page .page-content.landing-content {
  background: none;
}
body .landing-page .landing-about:before,
body .landing-page > .landing-hero-wrapper,
body .landing-page > .page-content > .landing-join,
body .landing-page > .page-content.landing-content > .landing-about,
body .landing-page > .page-content.cols-1:not(.landing-content) {
  display: none;
}
/* LANDING-SECTION  --------------------------------------- */
body .landing-page .landing-article {
  background-color: var(--section-background-color);
  border: var(--section-border);
  border-radius: var(--section-border-radius);
  box-shadow: var(--section-box-shadow);
}
body .landing-page .page-content.landing-content .landing-article > header {
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: left;
}
body .landing-page .page-content.landing-content .landing-article > header h2 {
  margin-bottom: var(--gap-small);
}
body .landing-page .page-content.landing-content .landing-article:first-of-type > header h2 {
  font-size: var(--font-size-huge);
}
body .landing-page .page-content.landing-content .landing-article > .page-section {
  background: none transparent;
  border: none;
  box-shadow: 0 0 transparent;
  padding-top: 0;
}
body .landing-page .landing-article .aside-image {
  justify-content: space-between;
  margin: 0;
}
body .landing-page .landing-article .aside-image > img {
  margin-bottom: 0;
}
/* RESTRICTED OFFERINGS ------------------------------------- */
body .landing-page .restricted-offerings-list {
  background-color: var(--section-background-color);
  border: var(--section-border);
  border-radius: var(--section-border-radius);
  box-shadow: var(--section-box-shadow);
  order: 100;
  padding: var(--section-padding);
  text-align: center;
}
/* OFFERING DETAILS PAGE ------------------------------------- */

body .offering-details-invest-block .button.invest {
  width: 100%;
}
body .offering-details-invest-block {
  background-color: transparent;
  color: var(--color-text);
  padding: 0;
}
body .offering-details-invest-block > .actions {
  margin: 0;
}

@media (min-width: 63rem) {
  .offering-details > .offering-details-invest-block {
    display: none;
  }
  body main .page-content.offering-details > .block-header {
    grid-column: 2;
    margin-bottom: 0;
  }
  body main .page-content.offering-details > .offering-details-aside {
    grid-row: 1 / span 3;
  }
}

.powered-by_svg__number {
  fill: #000;
}

/* INVESTMENT FLOW */
body .page-content.invest:before {
  background-position: top calc(var(--header-height)) right 0;
  background-image: var( --brand-gradient);
  background-repeat: no-repeat;
  background-color: transparent;
}

body label.option.investor-radio-option input:checked + span,
body label.option.client-radio-option input:checked + span {
  background-color: transparent;
  border-color: var(--color-brand);
  color: var(--color-text);
}
body label.option.investor-radio-option input:checked + span svg {
  color: var(--color-investment-flow-icons);
}
body label.option.investor-radio-option input:checked + span div > span.name,
body label.option.client-radio-option input:checked + span > * > span.name {
  color: var(--color-text);
}
body label.option.investor-radio-option input:checked + span div > span.email,
body label.option.client-radio-option input:checked + span.option-label > div > span.email {
  color: var(--color-text-secondary);
}
body #root label.option.investor-radio-option > span > span > svg,
body #root label.option.client-radio-option > span > span > svg{
  color: var(--color-investment-flow-icons);
}
@media (min-width: 63rem) {
  body .page-content.invest > header:first-of-type {
    margin-left: calc(-1 * var(--gap));
  }
}

/* PAGINATION */

body .list-pagination > .pagination-item.current:before {
  background: var(--brand-gradient);
}

.profile-details-page .side-menu-list li.menu-item:last-child {
  display: none;
}