/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1.2; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html {
  box-sizing: border-box;
  overflow-y: scroll; }

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

html {
  scroll-behavior: smooth; }
  @media (min-width: 1101px) {
    html {
      font-size: 100%; } }
  @media (min-width: 601px) and (max-width: 900px) {
    html {
      font-size: 90%; } }
  @media (max-width: 600px) {
    html {
      font-size: 80%; } }

body {
  font-family: europa, sans-serif;
  font-style: normal;
  font-size: 1.2rem; }

.leadtext a,
.mobile-nav,
blockquote,
.vector-anim .node,
.newsitem a,
h2,
nav {
  font-weight: 600;
  font-size: 1.7rem; }

blockquote {
  margin: 2rem;
  font-style: italic; }

strong {
  font-weight: bold; }

em {
  font-style: italic; }

p + p {
  margin-top: 1rem; }

.container {
  padding: 1rem; }

.maxline {
  max-width: 37rem; }

.maxline-s {
  max-width: 29rem; }

img,
video {
  max-width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: inherit;
  color: blue;
  transition: opacity 0.11s ease; }
  a:hover {
    opacity: 0.65; }
  a.icon:hover {
    opacity: 0.85; }
  a.selected {
    color: blue; }

.filters a {
  color: black; }
  .filters a.selected {
    color: blue; }

nav {
  position: -webkit-sticky;
  position: sticky;
  z-index: 100;
  transition: background-color 0.1s ease;
  width: 100%;
  top: 0; }
  nav a {
    color: black; }
  nav.transparent {
    position: fixed; }
    nav.transparent .home {
      transition: opacity 0.1s ease; }
  nav.scrolled {
    background-color: white; }
  nav .container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    justify-content: flex-end; }
    nav .container a {
      margin-left: 1rem;
      text-decoration: none; }
      nav .container a.home {
        margin-right: auto;
        margin-left: 0;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        position: relative; }
        nav .container a.home .cela,
        nav .container a.home .eu {
          background-color: white; }
        nav .container a.home .cela {
          padding-right: 1.5rem; }
        nav .container a.home .eu {
          padding-left: 1.5rem; }
        nav .container a.home:hover .line {
          background-color: black; }
        nav .container a.home .line {
          position: absolute;
          z-index: -1;
          left: 0;
          top: 1.1rem;
          height: 0.20rem;
          background-color: black;
          width: 100%; }
        @media (max-width: 1100px) {
          nav .container a.home {
            width: calc(50% + 1rem); } }
        @media (min-width: 1101px) {
          nav .container a.home {
            width: calc(50% - 1.75rem); } }
      @media (max-width: 1100px) {
        nav .container a:not(.home) {
          display: none; } }
      @media (max-width: 1100px) {
        nav .container a.mobile-menu {
          display: inline; } }
      @media (min-width: 1101px) {
        nav .container a.mobile-menu {
          display: none; } }

.mobile-nav {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1rem;
  padding-top: 4rem;
  text-align: right;
  background-color: white;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25);
  opacity: 0; }
  @media (min-width: 1101px) {
    .mobile-nav {
      display: none; } }
  .mobile-nav.show {
    padding-bottom: 3rem;
    opacity: 1;
    transition: opacity 0.1s ease; }
    .mobile-nav.show a {
      color: black;
      height: auto;
      padding-bottom: 1rem;
      padding-top: 0.5rem;
      transition: padding-top 0.2s ease; }
      .mobile-nav.show a.selected {
        color: blue; }
      .mobile-nav.show a:before {
        transition: height 0.2s ease; }
      .mobile-nav.show a:nth-child($i) {
        transition-delay: 0.5s; }
      .mobile-nav.show a:nth-child($i) {
        transition-delay: 1s; }
      .mobile-nav.show a:nth-child($i) {
        transition-delay: 1.5s; }
  .mobile-nav a {
    display: block;
    position: relative;
    height: 0;
    padding: 0;
    overflow: hidden;
    display: block; }

main {
  min-height: calc(100vh - 13rem); }

.vector-anim-wrap {
  height: calc(100vh - 4rem);
  width: 100%; }
  @media (min-width: 1101px) {
    .vector-anim-wrap {
      grid-column: auto / span 3; } }
  @media (max-width: 1100px) {
    .vector-anim-wrap {
      height: 55vh; } }
  .vector-anim-wrap .vector-anim {
    height: 100%;
    width: 100%; }

.grid {
  grid-gap: 0 1.5rem;
  display: grid;
  justify-items: center; }
  @media (min-width: 1101px) {
    .grid {
      grid-template-columns: repeat(6, 1fr); } }
  .grid .vector-anim .lines .cela.eu {
    display: none; }
  @media (max-width: 1100px) {
    .grid {
      grid-gap: 1.5rem; } }
  .grid .break {
    display: none;
    grid-column: 1 / -1;
    min-height: 4rem;
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 4rem; }
  .grid > .block {
    width: 100%; }
    @media (min-width: 1101px) {
      .grid > .block {
        grid-column: auto / span 3; } }
    .grid > .block.text {
      padding: 1rem; }
      @media (min-width: 1101px) {
        .grid > .block.text {
          margin: 2rem; } }
    .grid > .block.images {
      cursor: pointer; }
      .grid > .block.images .counter {
        margin-bottom: 0.25rem; }
      @media (min-width: 1201px) {
        .grid > .block.images {
          padding-right: 2rem; } }
    .grid > .block.leadtext {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 1rem 0rem;
      position: relative; }
      @media (min-width: 1101px) {
        .grid > .block.leadtext {
          padding-top: 5rem; } }
      .grid > .block.leadtext .dot {
        z-index: -1;
        border-radius: 50%;
        width: 2.5rem;
        height: 2.5rem;
        background: radial-gradient(closest-side, blue 75%, white);
        margin: 1rem; }
      @media (max-width: 1100px) {
        .grid > .block.leadtext {
          padding: 1rem; } }
      .grid > .block.leadtext a {
        display: block;
        margin-top: 0.5rem; }
    .grid > .block.largeimage {
      margin-top: 4rem;
      grid-column: 1 / -1;
      width: 100%; }
      .grid > .block.largeimage img {
        width: 100%;
        vertical-align: bottom; }

.edit {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 0.5rem; }

.vector-anim {
  position: relative;
  overflow: hidden; }
  .vector-anim .graph {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .vector-anim .graph .node {
      position: absolute;
      padding: 1rem;
      border-radius: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: white; }
      .vector-anim .graph .node.hidden {
        visibility: hidden; }
  .vector-anim .lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    padding: 1.5rem; }
    .vector-anim .lines .svg {
      width: 100%;
      height: 100%;
      vertical-align: bottom; }
      .vector-anim .lines .svg line {
        transition: opacity 0.2s ease; }
        .vector-anim .lines .svg line.hidden {
          transition: opacity 0s ease;
          opacity: 0; }

.date,
.edition,
.functions,
.languages {
  font-size: 0.9rem; }

.news {
  margin-top: 4rem; }
  .news .newsitem {
    margin: 0 auto;
    display: grid;
    grid-gap: 1rem 2.5rem;
    margin-bottom: 3rem; }
    @media (min-width: 601px) {
      .news .newsitem {
        grid-template-columns: 1fr 1fr; } }
    .news .newsitem .image {
      text-align: right; }
      @media (min-width: 1101px) {
        .news .newsitem .image img {
          max-width: 60%; } }

.overview .grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
  grid-gap: 1.5rem; }
  .overview .grid a {
    text-decoration: none; }

.template-participants .grid {
  justify-items: initial; }

.template-participants .icon {
  color: black; }

.template-participants .filters {
  margin-bottom: 2rem;
  line-height: 1.5; }
  .template-participants .filters .filter {
    margin-bottom: 0.25rem; }
    .template-participants .filters .filter .category {
      margin-right: 0.75rem; }
      @media (min-width: 1101px) {
        .template-participants .filters .filter .category {
          display: inline-block;
          width: 9rem; } }
    .template-participants .filters .filter a {
      margin-right: 0.75rem; }
    .template-participants .filters .filter .dropdown {
      display: inline-block;
      height: 1.5rem; }
      .template-participants .filters .filter .dropdown a {
        display: block; }
      .template-participants .filters .filter .dropdown:hover .drop {
        display: block; }
      .template-participants .filters .filter .dropdown .drop {
        position: absolute;
        display: none;
        z-index: 2;
        background-color: white;
        margin: -1rem;
        margin-top: 0;
        padding: 1rem;
        padding-top: 0;
        box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15); }
        @media (max-width: 600px) {
          .template-participants .filters .filter .dropdown .drop {
            right: 0; } }
    @media (max-width: 600px) {
      .template-participants .filters .filter {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between; } }

.template-participants .image {
  position: relative;
  height: 0;
  padding-bottom: 149.81%;
  background-color: blue;
  background-color: #e4e4e4; }
  .template-participants .image img {
    position: absolute; }

.template-participant .block.text {
  padding: 1rem;
  margin: 0 auto; }

.template-participant .block .label {
  font-size: 0.9rem;
  margin-top: 0.5rem; }

@media (min-width: 1101px) {
  .template-participant .block.iconimage {
    height: 100%; } }

.template-participant .block.iconimage img {
  width: 100%;
  vertical-align: bottom; }
  @media (min-width: 1101px) {
    .template-participant .block.iconimage img {
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 0%;
         object-position: 50% 0%; } }

.template-home .fp-video {
  margin-top: 4rem;
  margin-bottom: 3rem;
  position: relative;
  grid-column: 1 / -1; }
  .template-home .fp-video:hover .play {
    transition: transform 0.2s ease;
    transform: scale(1.2); }
  .template-home .fp-video .poster {
    width: 100%;
    height: 100%;
    overflow: hidden;
    box-shadow: 0 0 7rem blue;
    cursor: pointer;
    position: relative; }
    .template-home .fp-video .poster img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }
  .template-home .fp-video .frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1rem solid white;
    pointer-events: none;
    transition: border 0.05s ease; }
  .template-home .fp-video video {
    width: 100%;
    display: none;
    box-shadow: 0 0 5rem blue; }
  .template-home .fp-video.playing .frame {
    border: 0rem solid white; }
  .template-home .fp-video.playing video {
    display: block; }
  .template-home .fp-video.playing .poster {
    display: none; }
  .template-home .fp-video.playing .text {
    display: none; }
  .template-home .fp-video .text {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-shadow: 0 0 2rem black;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 2rem; }
    .template-home .fp-video .text h2 {
      font-size: 2.2rem;
      line-height: 1.2;
      margin-bottom: 0.25rem; }
    .template-home .fp-video .text .play {
      display: inline-block;
      width: 2rem;
      height: 2rem;
      margin-top: 0.5rem;
      -webkit-filter: drop-shadow(0 0 2rem black);
              filter: drop-shadow(0 0 2rem black); }
      .template-home .fp-video .text .play svg {
        width: 100%;
        height: 100%; }

.template-home .grid h2.participants {
  grid-column: 1 / -1;
  text-align: center;
  max-width: 11rem; }

.template-home .grid .leadtext {
  display: flex;
  flex-flow: column nowrap;
  position: relative; }
  .template-home .grid .leadtext .inner-text {
    margin-bottom: 1rem; }
    @media (min-width: 1101px) {
      .template-home .grid .leadtext .inner-text {
        font-weight: 600;
        font-size: 1.7rem;
        line-height: 1.2; } }
  .template-home .grid .leadtext .bg {
    margin-bottom: 0.5rem;
    vertical-align: bottom;
    max-width: 23rem; }
    @media (max-width: 1100px) {
      .template-home .grid .leadtext .bg {
        display: none; } }
    .template-home .grid .leadtext .bg img {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: 0% 0%;
         object-position: 0% 0%; }

@media (min-width: 1101px) {
  .template-home .grid {
    grid-auto-flow: dense;
    justify-items: center;
    align-items: center; }
    .template-home .grid .participant-filler {
      grid-column: 4 / span 3;
      min-height: 12rem; } }

.template-home .grid .participant {
  padding: 1rem;
  display: flex;
  color: black;
  grid-gap: 1rem;
  max-width: 40rem; }
  @media (min-width: 1101px) {
    .template-home .grid .participant {
      grid-column: auto / span 3;
      grid-row: auto / span 2;
      padding: 2rem; } }
  .template-home .grid .participant:nth-of-type(2n + 1) {
    flex-direction: row-reverse; }
  .template-home .grid .participant .col {
    width: 50%; }
  .template-home .grid .participant .quote {
    margin-top: 0.5rem;
    font-style: italic; }

.template-home .grid .news-block {
  grid-column: 1 / -1; }
  .template-home .grid .news-block .newsitem {
    margin-bottom: 1rem; }

footer {
  overflow: hidden;
  position: relative;
  min-height: 8rem; }
  footer .shade {
    box-shadow: 0 0 7rem blue inset;
    width: calc(100% + 14rem);
    left: -7rem;
    height: 200%;
    top: -100%;
    position: absolute;
    z-index: -1; }
  footer .columns {
    padding: 2rem 1rem;
    width: 100%;
    height: 100%;
    color: black;
    padding-right: 1.5rem;
    display: grid;
    grid-gap: 0.5rem 1.5rem;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    align-items: center; }
    @media (max-width: 1100px) {
      footer .columns {
        grid-template-columns: repeat(1, 1fr); } }
    footer .columns .col.logo {
      max-width: 20rem; }
      @media (max-width: 1100px) {
        footer .columns .col.logo {
          margin-bottom: 1rem; } }
      footer .columns .col.logo svg {
        width: 100%;
        height: 100%; }

.scrollto {
  position: relative;
  top: -10rem; }

.template-project .grid .index {
  margin-top: 1rem; }

@media (min-width: 1101px) {
  .template-project .grid > .block.text {
    grid-column: 1 / -1;
    max-width: 46rem !important;
    line-height: 1.3; } }

.template-project .grid > .block.header {
  text-align: center;
  grid-column: 1 / -1;
  margin-top: 6rem; }

.template-project .partners {
  grid-column: 1 / -1;
  display: grid;
  padding: 1rem;
  grid-gap: 1.5rem; }
  @media (min-width: 1101px) {
    .template-project .partners {
      grid-template-columns: repeat(4, 1fr);
      padding: 2rem;
      max-width: 100rem; } }
  @media (min-width: 601px) and (max-width: 900px) {
    .template-project .partners {
      grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1101px) {
    .template-project .partners {
      margin: 2.5rem; } }
  .template-project .partners .organization {
    overflow: hidden; }
    .template-project .partners .organization .image {
      text-align: center; }
      .template-project .partners .organization .image img {
        padding: 2rem; }
    .template-project .partners .organization .text {
      font-size: 0.95rem; }
    .template-project .partners .organization .link {
      margin-top: 1rem; }

.name-contact main {
  min-height: calc(100vh - 8rem); }

.name-contact .block.leadtext {
  padding-top: 1rem; }

.name-contact .vector-anim-wrap {
  height: 65vh; }

.template-newsitem .images {
  margin: 2rem 0; }
