@charset "UTF-8";
@font-face {
  font-family: "Manrope";
  font-weight: normal;
  src: url("../assets/manrope-regular.woff") format("woff"); }

@font-face {
  font-family: "Manrope";
  font-weight: bold;
  src: url("../assets/manrope-extrabold.woff") format("woff"); }

*,
*:before,
*::after {
  box-sizing: border-box; }

body {
  background: white url(../assets/bg-light.svg) left -350px top/200vw 155vw no-repeat fixed;
  color: #404040;
  font: normal normal 1em/1.5 "Manrope", sans-serif;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media (min-width: 760px) {
    body {
      background-size: 100vw 75vw;
      background-position: left -160px top; } }

figure {
  margin: 0;
  padding: 0; }

img {
  border: 0;
  display: block;
  max-width: 100%; }

h1,
h2,
h3 {
  margin-top: 1rem; }

h1 {
  font-size: 30px;
  line-height: 1.2; }
  @media (min-width: 760px) {
    h1 {
      font-size: 50px; } }

h2 {
  font-size: 24px;
  line-height: 1.3; }
  @media (min-width: 760px) {
    h2 {
      font-size: 30px; } }

h3 {
  color: #b1022f;
  font-size: 24px;
  margin: 1rem 0; }

a {
  color: #b1022f;
  text-decoration: none; }

.text {
  font-size: 18px; }
  .text--small {
    font-size: 14px; }
    .text--small ul {
      margin-bottom: 2.5rem;
      padding: 0; }
      .text--small ul li {
        list-style: none;
        margin: .5em 0;
        padding: 0; }
      .text--small ul a {
        color: #b1022f;
        display: flex;
        font-weight: bold; }
        .text--small ul a:after {
          content: '→';
          display: block;
          flex: 1 1 100%;
          text-align: right; }
  .text--medium {
    font-size: 24px; }
  .text--large {
    font-size: 24px; }
    @media (min-width: 760px) {
      .text--large {
        font-size: 30px; } }

.nav li,
time {
  font-size: 14px; }

hr {
  background-color: currentColor;
  border: none;
  display: block;
  height: 3px;
  margin: 2em 0; }

.jaga,
.lined,
.link-lined a {
  display: flex;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: right;
  white-space: nowrap; }
  .jaga:before,
  .lined:before,
  .link-lined a:before {
    background: transparent linear-gradient(currentColor, currentColor) right 1rem center/100vw 3px no-repeat;
    content: '';
    flex: 1 1 100%; }

time {
  display: flex;
  font-weight: bold;
  text-transform: uppercase;
  white-space: nowrap; }
  time:after {
    background: transparent linear-gradient(currentColor, currentColor) center/100% 3px no-repeat;
    content: '';
    margin-left: 1.25rem;
    flex: 1 1 100%; }

.jaga {
  color: #b1022f;
  margin: 1rem 0; }

.list--ordered {
  counter-reset: section; }
  .list--ordered ol {
    margin: 0;
    padding: 0; }
    .list--ordered ol li {
      counter-increment: section;
      list-style: none;
      margin: 2.5rem 0;
      padding: 0 0 0 3.75rem;
      position: relative; }
      .list--ordered ol li::before {
        color: #b1022f;
        content: "0" counter(section);
        font-size: 30px;
        line-height: 1.2;
        position: absolute;
        top: 0;
        left: 0; }
    @media (min-width: 760px) {
      .list--ordered ol {
        display: flex;
        flex-wrap: wrap; }
        .list--ordered ol li {
          flex: 0 0 calc(50% - 1.25rem);
          margin: 1rem 0 2.5rem 0; }
          .list--ordered ol li:nth-child(odd) {
            margin-right: 2.5rem; } }
  .list--ordered a {
    display: inline-block;
    max-width: 100%; }

.social p strong {
  display: inline-block;
  max-width: 50vw; }

@media (max-width: 760px) {
  .social {
    margin: 2.5rem 0; } }

.news-item {
  position: relative; }
  .news-item figcaption:before {
    content: 'Featured Story';
    color: white;
    font-weight: bold;
    text-transform: uppercase;
    line-height: .9;
    font-size: 14px;
    position: absolute;
    top: 1rem;
    left: 1rem; }
  .news-item figcaption h3,
  .news-item figcaption .text {
    flex: 0 0 50%; }
  .news-item figcaption h3 {
    padding-right: 2.5rem; }
  .news-item figcaption .lined {
    flex: 1 1 100%;
    margin-top: 2.5rem; }
  @media (max-width: 760px) {
    .news-item .news-image img {
      margin-left: -1.25rem;
      max-width: calc( 100% + 2.5rem);
      width: calc( 100% + 2.5rem); } }
  @media (min-width: 760px) {
    .news-item figcaption {
      display: flex;
      flex-wrap: wrap; }
    .news-item h3,
    .news-item p {
      margin: 2.5rem 0; } }
  @media (min-width: 920px) {
    .news-item .news-image {
      padding-left: calc( (100% - 10rem) / 5 + 2.5rem); }
      .news-item .news-image img {
        max-width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%; }
    .news-item figcaption {
      position: relative; }
      .news-item figcaption:before {
        bottom: 100%;
        color: gray;
        left: 0;
        top: auto; }
      .news-item figcaption h3,
      .news-item figcaption .text {
        padding-right: 2.5rem; }
      .news-item figcaption h3 {
        flex: 0 0 calc( (100% - 10rem) / 5*2 + 5rem); }
      .news-item figcaption .text {
        flex: 0 0 calc( (100% - 10rem) / 5*3  + 5rem); }
      .news-item figcaption .lined {
        flex: 1 1 100%; } }

.modal {
  background-color: white;
  box-shadow: 0 0 0 4px white, 0 0 5rem rgba(54, 48, 95, 0.5);
  display: flex;
  overflow: hidden;
  pointer-events: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  transition: all 500ms !important;
  -webkit-transform: translate3d(-50%, 150%, 0);
  transform: translate3d(-50%, 150%, 0);
  max-width: 32em;
  max-height: 100vh;
  opacity: 0;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
  visibility: hidden;
  width: 100%;
  z-index: 1000; }
  .modal-content {
    flex: 1;
    overflow: auto; }
  .modal-header {
    padding: 1.25rem 5rem 1.25rem 2.5rem; }
  .modal-close {
    background-color: #f2f4f5;
    border-radius: 50%;
    cursor: pointer;
    padding: 0.625em;
    position: absolute;
    top: 1em;
    right: 1em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    .modal-close svg {
      display: block;
      font-size: 2em;
      height: 1em;
      width: 1em;
      pointer-events: none; }
    .modal-close:hover {
      background-color: #e4e8ea; }
  @media (min-width: 920px) {
    .modal {
      max-height: calc(100vh - 2.5rem); } }
  body.modal--visible .modal {
    opacity: 1;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    visibility: visible; }

body.modal--visible {
  pointer-events: none;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  body.modal--visible > * {
    opacity: .5;
    transition: opacity 500ms; }

[data-content-type="form"],
.form_area {
  background-color: #f2f4f5;
  padding: 2.5rem; }
  [data-content-type="form"] input,
  [data-content-type="form"] textarea,
  [data-content-type="form"] select,
  .form_area input,
  .form_area textarea,
  .form_area select {
    border: none;
    border-radius: 0;
    color: inherit;
    display: block;
    font-family: inherit;
    font-size: inherit;
    outline: none;
    padding: 0.625rem;
    resize: none;
    width: 100%;
    -moz-appearance: none;
    -webkit-appearance: none; }
  [data-content-type="form"] input[type="text"],
  [data-content-type="form"] input[type="email"],
  [data-content-type="form"] textarea,
  [data-content-type="form"] select,
  .form_area input[type="text"],
  .form_area input[type="email"],
  .form_area textarea,
  .form_area select {
    background-color: white;
    box-shadow: inset 0 -1px #36305e; }
    [data-content-type="form"] input[type="text"]:focus,
    [data-content-type="form"] input[type="email"]:focus,
    [data-content-type="form"] textarea:focus,
    [data-content-type="form"] select:focus,
    .form_area input[type="text"]:focus,
    .form_area input[type="email"]:focus,
    .form_area textarea:focus,
    .form_area select:focus {
      box-shadow: inset 0 -2px #36305e; }
  [data-content-type="form"] select,
  .form_area select {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzM2MzA1ZSIgZD0iTTE2IDIyTDYgMTIgNy40IDEwLjYgMTYgMTkuMiAyNC42IDEwLjYgMjYgMTJ6Ij48L3BhdGg+PC9zdmc+);
    background-position: right .5em center;
    background-repeat: no-repeat;
    background-size: 1.5rem 1.5rem;
    padding-right: 5rem; }
  [data-content-type="form"] label:not([class]),
  .form_area label:not([class]) {
    align-items: center;
    display: flex;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    [data-content-type="form"] label:not([class]) input[type="checkbox"],
    .form_area label:not([class]) input[type="checkbox"] {
      display: none; }
    [data-content-type="form"] label:not([class]) .form_control_indicator,
    .form_area label:not([class]) .form_control_indicator {
      background: white url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMyAyMS4yTDUuOSAxNC4xIDQuNSAxNS41IDExLjYgMjIuNiAxMyAyNCAyNy4xIDkuOSAyNS43IDguNHoiPjwvcGF0aD48L3N2Zz4K) center/1.25em 1.25em no-repeat;
      border: thin solid #36305e;
      height: 1.5em;
      margin-right: 1.25rem;
      width: 1.5em; }
    [data-content-type="form"] label:not([class]) input[type="checkbox"]:checked + .form_control_indicator,
    .form_area label:not([class]) input[type="checkbox"]:checked + .form_control_indicator {
      background-color: #36305e; }
  [data-content-type="form"] input[type="submit"],
  .form_area input[type="submit"] {
    background-color: #36305e;
    color: white;
    height: 2.75rem;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase; }
    [data-content-type="form"] input[type="submit"]:hover,
    .form_area input[type="submit"]:hover {
      background-color: #231f3c; }
    [data-content-type="form"] input[type="submit"]:active,
    .form_area input[type="submit"]:active {
      background-color: #0f0e1a; }
  [data-content-type="form"] .form_field,
  .form_area .form_field {
    margin-bottom: 1.25rem; }
    [data-content-type="form"] .form_field.required label.form_field_label:after,
    .form_area .form_field.required label.form_field_label:after {
      content: '*'; }
    [data-content-type="form"] .form_field.required .form_control_indicator,
    .form_area .form_field.required .form_control_indicator {
      border-color: #b1022f; }
    [data-content-type="form"] .form_field.form_field_with_errors input[type="text"],
    [data-content-type="form"] .form_field.form_field_with_errors input[type="email"],
    [data-content-type="form"] .form_field.form_field_with_errors textarea,
    [data-content-type="form"] .form_field.form_field_with_errors select,
    .form_area .form_field.form_field_with_errors input[type="text"],
    .form_area .form_field.form_field_with_errors input[type="email"],
    .form_area .form_field.form_field_with_errors textarea,
    .form_area .form_field.form_field_with_errors select {
      box-shadow: inset 0 -1px #b1022f; }
      [data-content-type="form"] .form_field.form_field_with_errors input[type="text"]:focus,
      [data-content-type="form"] .form_field.form_field_with_errors input[type="email"]:focus,
      [data-content-type="form"] .form_field.form_field_with_errors textarea:focus,
      [data-content-type="form"] .form_field.form_field_with_errors select:focus,
      .form_area .form_field.form_field_with_errors input[type="text"]:focus,
      .form_area .form_field.form_field_with_errors input[type="email"]:focus,
      .form_area .form_field.form_field_with_errors textarea:focus,
      .form_area .form_field.form_field_with_errors select:focus {
        box-shadow: inset 0 -2px #b1022f; }
  [data-content-type="form"] label.form_field_label,
  .form_area label.form_field_label {
    color: #36305e;
    font-size: 14px; }
  [data-content-type="form"] .form_notice,
  .form_area .form_notice {
    font-size: 24px;
    text-align: center;
    padding: 0.625rem 2.5rem; }
    [data-content-type="form"] .form_notice ~ *,
    .form_area .form_notice ~ * {
      display: none; }
  [data-content-type="form"] .form_error,
  .form_area .form_error {
    background-color: #b1022f;
    font-size: 14px;
    color: white;
    margin: 1.25rem 0;
    padding: 0.3125rem;
    text-align: center; }
  [data-content-type="form"] .form_field_error,
  .form_area .form_field_error {
    font-size: 14px;
    color: #b1022f; }

.grid {
  margin: 2.5rem auto;
  padding: 0 2.5rem;
  width: 100%; }
  @media (max-width: 920px) {
    header .grid,
    main .grid {
      max-width: 38em; } }
  @media (min-width: 920px) {
    .grid {
      display: flex;
      margin: 5rem auto;
      max-width: 69.625em; }
      .grid--wrap {
        flex-wrap: wrap; }
      .grid--center {
        justify-content: center; }
      .grid--fixed {
        flex-grow: 1; }
      .grid > * {
        flex: 0 0 calc( 16.66667% - 2.5rem);
        margin: 0 1.25rem; }
      .grid > .col-2 {
        flex: 0 0 calc( 33.33333% - 2.5rem); }
      .grid > .col-3 {
        flex: 0 0 calc( 50% - 2.5rem); }
      .grid > .col-4 {
        flex: 0 0 calc( 66.66667% - 2.5rem); }
      .grid > .col-5 {
        flex: 0 0 calc( 83.33333% - 2.5rem); }
      .grid > .col-6 {
        flex: 1 1 calc( 100% - 2.5rem); }
      .grid .push-1 {
        margin-left: calc( 16.66667% + 1.25rem); }
      .grid .push-2 {
        margin-left: calc( 33.33333% + 1.25rem); }
      .grid .pull-1 {
        margin-right: calc( 16.66667% + 1.25rem); }
      .grid .pull-2 {
        margin-right: calc( 33.33333% + 1.25rem); } }

nav.nav {
  color: white;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2; }
  nav.nav menu {
    display: flex;
    margin-top: 1.25rem;
    padding: 0; }
    nav.nav menu li {
      font-weight: bold;
      list-style: none;
      padding: 0.625rem;
      text-transform: uppercase;
      white-space: nowrap; }
    nav.nav menu a {
      color: inherit; }
  @media (max-width: 920px) {
    nav.nav .logo {
      margin: 5rem auto 1.25rem auto;
      max-width: 11.875em; }
    nav.nav .col-6 {
      box-shadow: 0 2px rgba(255, 255, 255, 0.3);
      height: 5rem;
      margin-left: -2.5rem;
      padding: 0 !important;
      overflow: hidden;
      width: 100vw; }
      nav.nav .col-6 menu {
        overflow: scroll;
        min-height: 5rem;
        padding: 0 1.25rem; }
        nav.nav .col-6 menu li:last-child {
          padding-right: 2.5rem; } }
  @media (min-width: 920px) {
    nav.nav .logo {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: 0;
      -webkit-transform: translate3d(-50%, -35%, 0);
      transform: translate3d(-50%, -35%, 0);
      width: 14rem; }
    nav.nav menu li {
      padding: 1.25rem 0.625rem; }
      nav.nav menu li:nth-child(2) {
        margin-right: auto; } }

.page-header {
  background-color: #902e61;
  background-image: url(../assets/bg-white.svg), radial-gradient(circle at top left, #362f5d 0%, #362f5d 15%, #42315f 15%, #42315f 30%, #573363 30%, #573363 45%, #623567 45%, #623567 45%, #902e61 100%);
  background-position: left -350px top, top left;
  background-size: 200vw 155vw, 100vw 100vh;
  background-repeat: no-repeat, no-repeat;
  background-attachment: fixed, fixed;
  color: white;
  padding-top: 17.5rem;
  padding-bottom: 1px;
  text-align: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  .page-header .text > * {
    margin: 1rem 0; }
  .page-header .lined,
  .page-header .link-lined a {
    margin: 2rem auto 0;
    max-width: 20em; }
  .page-header a {
    color: currentColor;
    font-weight: bold; }
  @media (min-width: 760px) {
    .page-header {
      background-size: 100vw 75vw, 100vw 100vh;
      background-position: left -160px top, center; } }
  @media (min-width: 920px) {
    .page-header {
      padding-top: 11.25rem; } }

[data-page="article"] img.cover-image {
  box-shadow: 0 0 0 4px white;
  margin-left: -1.25rem;
  max-width: calc(100% + 2.5rem);
  width: calc(100% + 2.5rem); }

@media (max-width: 920px) {
  [data-page="article"] .page-header {
    padding-bottom: 2.5rem; }
  [data-page="article"] article {
    display: flex;
    flex-direction: column;
    margin-top: -2.5rem; }
    [data-page="article"] article .article-date {
      order: 0; }
    [data-page="article"] article .article-lead {
      order: -1; } }

@media (min-width: 920px) {
  [data-page="article"] img.cover-image {
    margin: -7.5rem 0 2.5rem;
    max-width: 40.1875rem; }
  [data-page="article"] time {
    margin: 1.5rem 0; } }

[data-page="foundation"] .mari-picture {
  box-shadow: 0 0 0 4px white; }
  [data-page="foundation"] .mari-picture img {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%); }

[data-page="foundation"] .memoriam {
  background-color: #222;
  color: white;
  padding: 2.5rem;
  position: relative;
  z-index: 1; }
  [data-page="foundation"] .memoriam * {
    color: inherit; }

@media (min-width: 920px) {
  [data-page="foundation"] .mari-picture {
    position: relative; }
    [data-page="foundation"] .mari-picture img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      -o-object-fit: cover;
      object-fit: cover; }
  [data-page="foundation"] .memoriam {
    box-shadow: -2.5rem 0 0 0 #222;
    padding: 5rem 5rem 5rem 2.5rem; } }

.contacts {
  position: relative; }
  .contacts .grid {
    margin-bottom: 0 !important; }
  .contacts .legal {
    background-color: #f6f7f8;
    box-shadow: 0 0 0 4px white;
    padding: 2.5rem;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    .contacts .legal strong {
      display: block; }
  .contacts .text--small {
    border-top: 2px solid #b1022f;
    margin-top: 2.5rem;
    padding-top: 1.25rem; }
  .contacts .map-holder:before {
    content: '';
    display: block;
    padding-top: 100%; }
  .contacts .map {
    background-color: #f6f7f8;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .contacts .map iframe {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100%; }
  @media (max-width: 760px) {
    .contacts .grid {
      padding: 0; }
    .contacts .map-holder {
      position: relative; } }
  @media (min-width: 760px) {
    .contacts {
      border-top: 4px solid white; }
      .contacts .map-holder:before {
        padding-top: 50%; } }
