html {
  background: #252525;
  font-size: 62.5%; }

body {
  padding: 0;
  margin: 0;
  color: white; }

body, button {
  font-family: "Open Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 2.2rem; }
  @media (max-width: 1200px) {
    body, button {
      font-size: 2rem; } }
  @media (max-width: 1000px) {
    body, button {
      font-size: 1.8rem; } }
  @media (max-width: 800px) {
    body, button {
      font-size: 1.6rem; } }

a {
  color: #F05248;
  text-decoration: underline; }

div.inner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 20px; }

div.section {
  padding: 75px 0; }
  div.section header h2 {
    margin: 0;
    font-size: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--section-header-color, inherit); }

#background {
  background: #30457C; }

#header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: white;
  color: #013378;
  border-bottom: 1px solid black; }
  #header div.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #header div.menu a {
    text-decoration: none;
    text-transform: uppercase;
    color: #013378; }
    @media (hover: hover) {
      #header div.menu a {
        transition: color linear 150ms; }
        #header div.menu a:hover {
          color: #0f438a; } }
  @media (max-width: 999px) {
    #header div.title {
      padding: 1.5em 0;
      display: flex;
      align-items: center;
      gap: 1em; }
      #header div.title img {
        display: block;
        width: clamp(50px, 25vw, 120px);
        height: auto; }
      #header div.title p {
        margin: 0;
        font-size: 1em;
        font-weight: bold;
        text-wrap: balance;
        line-height: 1; }
    #header button.menu {
      width: 40px;
      height: 40px;
      padding: 5px;
      border: 0;
      cursor: pointer;
      background: none;
      display: flex;
      flex-direction: column;
      justify-content: space-around; }
      #header button.menu span {
        height: 2px;
        background: #013378; }
    #header div.menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(255, 255, 255, 0.75);
      backdrop-filter: blur(8px);
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 15px;
      font-weight: bold; }
      #header div.menu button.menu-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        border: 0;
        cursor: pointer;
        background: url("/assets/images/menu_close.svg") no-repeat center center; } }
  @media (min-width: 1000px) {
    #header {
      padding: 2em 0; }
      #header div.title {
        display: flex;
        align-items: center;
        gap: 2em; }
        #header div.title img {
          display: block;
          width: 120px;
          height: 33px; }
        #header div.title p {
          margin: 0;
          font-size: 1.1em;
          font-weight: bold;
          text-wrap: balance;
          line-height: 1; }
      #header button.menu {
        display: none; }
      #header div.menu {
        display: flex;
        gap: 0.75em; }
        #header div.menu a {
          line-height: 1; }
        #header div.menu span.split {
          width: 1px;
          background: #F05248;
          align-self: stretch; }
        #header div.menu button.menu-close {
          display: none; } }

@media (max-width: 999px) {
  body.menu-open {
    overflow: hidden; }
  body:not(.menu-open) #header div.menu {
    display: none; } }

details.dropdown {
  margin-top: 25px;
  background: var(--dropdown-background);
  border-radius: 20px;
  color: var(--dropdown-text-color); }
  details.dropdown summary {
    padding: 1em;
    background: var(--dropdown-header-background);
    font-size: 1.3em;
    font-weight: 700;
    border-radius: 20px;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px; }
    details.dropdown summary:after {
      display: block;
      content: '';
      width: 0;
      height: 0;
      border-left: 1em solid transparent;
      border-right: 1em solid transparent;
      border-top: 0.95em solid var(--dropdown-text-color);
      transition: rotate 300ms ease-in-out; }
    details.dropdown summary::marker {
      display: none; }
  details.dropdown[open] summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
    details.dropdown[open] summary:after {
      rotate: 180deg; }

div.dropdown-content {
  padding: 1.5em; }
  div.dropdown-content p:first-child, div.dropdown-content ul:first-child, div.dropdown-content ol:first-child, div.dropdown-content li:first-child, div.dropdown-content figure.general:first-child, div.dropdown-content img.general:first-child {
    margin-top: 0; }
  div.dropdown-content p:last-child, div.dropdown-content ul:last-child, div.dropdown-content ol:last-child, div.dropdown-content li:last-child, div.dropdown-content figure.general:last-child, div.dropdown-content img.general:last-child {
    margin-bottom: 0; }
  div.dropdown-content img.general {
    margin: 0.75em 0;
    width: auto;
    height: auto;
    max-width: 100%; }
  div.dropdown-content ul {
    margin: 0.75em 0; }
  div.dropdown-content li, div.dropdown-content ol {
    margin: 0.5em 0; }
  div.dropdown-content figure.caption {
    position: relative;
    margin: 0 auto;
    padding: 0; }
    div.dropdown-content figure.caption figcaption {
      position: absolute;
      bottom: 15px;
      left: 10px;
      background: #F05248;
      color: white;
      font-size: 0.7em;
      padding: 0.4em 0.8em;
      box-sizing: border-box;
      max-width: calc(100% - 0.8em); }
    div.dropdown-content figure.caption img {
      display: block;
      width: auto;
      height: auto;
      max-width: 100%; }
    div.dropdown-content figure.caption.caption-top figcaption {
      top: 15px;
      bottom: auto; }
  div.dropdown-content figure.general {
    margin: 0.75em 0; }

#background {
  --dropdown-background: rgba(204, 204, 204, 0.8);
  --dropdown-header-background: #CCCCCC;
  --dropdown-text-color: black; }

#proposals {
  --dropdown-background: #394D82;
  --dropdown-header-background: #2F457D;
  --dropdown-text-color: white; }

#feedback {
  background: #30457C; }
  #feedback p {
    margin: 1.5em 0; }
  #feedback div.buttons {
    margin: 35px 0;
    display: flex;
    gap: 2em; }
    #feedback div.buttons a {
      flex: 1 1 0;
      padding: 0.875em 0.5em;
      display: block;
      background: #F05248;
      color: rgba(255, 255, 255, 0.8);
      text-align: center;
      text-decoration: none;
      font-weight: 700;
      font-size: 1.6em;
      box-sizing: border-box; }
      @media (hover: hover) {
        #feedback div.buttons a {
          transition: background linear 150ms, color linear 150ms; }
          #feedback div.buttons a:hover {
            background: #dd483f;
            color: white; } }
    @media (max-width: 900px) {
      #feedback div.buttons {
        flex-wrap: wrap; }
        #feedback div.buttons a {
          flex: 0 0 100%; } }

#footer {
  padding: 2em 0; }
  #footer p.title {
    margin: 0;
    font-size: 1.5em;
    font-weight: 700; }
  #footer div.contact {
    margin: 2em 0; }
    #footer div.contact ul.details {
      margin: 0;
      padding: 0;
      list-style-type: none; }
      #footer div.contact ul.details li {
        margin: 0.5em 0; }
      #footer div.contact ul.details a {
        text-decoration: none;
        color: white; }
    #footer div.contact div.links a {
      color: white;
      text-decoration: underline; }
    @media (max-width: 999px) {
      #footer div.contact div.links {
        margin-top: 2em; } }
    @media (min-width: 1000px) {
      #footer div.contact {
        display: flex;
        justify-content: space-between; } }
  #footer img.logo {
    margin-top: 2em;
    width: auto;
    height: auto;
    max-width: 60%; }

#introduction {
  background: white;
  padding: 0 0 35px 0; }
  #introduction div.hero {
    margin-bottom: 35px; }
    #introduction div.hero figure {
      background: white;
      position: relative;
      margin: 0 auto;
      padding: 0;
      width: 100%;
      height: auto;
      max-width: 1600px; }
    #introduction div.hero figcaption {
      position: absolute;
      bottom: 15px;
      left: 10px;
      background: #F05248;
      color: white;
      font-size: 1.6em;
      padding: 0.4em 0.8em; }
    #introduction div.hero img {
      display: block;
      width: 100%;
      height: auto; }
  #introduction div.text {
    color: #27353B; }
    #introduction div.text p:first-child, #introduction div.text ul:first-child, #introduction div.text ol:first-child, #introduction div.text li:first-child {
      margin-top: 0; }
    #introduction div.text p:last-child, #introduction div.text ul:last-child, #introduction div.text ol:last-child, #introduction div.text li:last-child {
      margin-bottom: 0; }
    #introduction div.text ul {
      margin: 0.75em 0; }
    #introduction div.text li, #introduction div.text ol {
      margin: 0.5em 0; }

#proposals {
  background: white;
  --section-header-color: #000000; }
  #proposals div.open-space-images {
    display: grid;
    gap: 1em; }
    #proposals div.open-space-images div.double {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1em; }
      #proposals div.open-space-images div.double img {
        width: 100%;
        height: auto; }
    @media (max-width: 799px) {
      #proposals div.open-space-images {
        grid-template-columns: 1fr; } }
    @media (min-width: 800px) {
      #proposals div.open-space-images {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto; }
        #proposals div.open-space-images div.image {
          overflow: hidden; }
          #proposals div.open-space-images div.image:nth-child(1) {
            grid-column: 1 / 2;
            grid-row: 1 / 3; }
            #proposals div.open-space-images div.image:nth-child(1) img {
              display: block;
              width: 100%;
              height: auto; }
          #proposals div.open-space-images div.image:nth-child(2) {
            grid-column: 2 / 3; }
            #proposals div.open-space-images div.image:nth-child(2) figure {
              height: 100%; }
            #proposals div.open-space-images div.image:nth-child(2) img {
              display: block;
              width: 100%;
              height: 100%;
              object-fit: cover;
              object-position: center center; }
          #proposals div.open-space-images div.image:nth-child(3) {
            grid-column: 2 / 3; }
            #proposals div.open-space-images div.image:nth-child(3) img {
              height: 100%;
              object-fit: cover;
              object-position: center center; } }
