/*!
       ::::::::   ::::::::   ::::::::
     :+:    :+: :+:    :+: :+:    :+:
          +:+         +:+ +:+
       +#+        +#++:  +#+
    +#+             +#+ +#+
  #+#       #+#    #+# #+#    #+#
##########  ########   ########

23c.sg
*/
@font-face {
  font-family: Montserrat;
  font-weight: 100;
  font-style: normal;
  src: url("/static/fonts/montserrat-thin.eot");
  src: url("/static/fonts/montserrat-thin.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-thin.ttf") format("truetype"),
    url("/static/fonts/montserrat-thin.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 200;
  font-style: normal;
  src: url("/static/fonts/montserrat-extralight.eot");
  src: url("/static/fonts/montserrat-extralight.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-extralight.ttf") format("truetype"),
    url("/static/fonts/montserrat-extralight.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 300;
  font-style: normal;
  src: url("/static/fonts/montserrat-light.eot");
  src: url("/static/fonts/montserrat-light.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-light.ttf") format("truetype"),
    url("/static/fonts/montserrat-light.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 400;
  font-style: normal;
  src: url("/static/fonts/montserrat-regular.eot");
  src: url("/static/fonts/montserrat-regular.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-regular.ttf") format("truetype"),
    url("/static/fonts/montserrat-regular.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 500;
  font-style: normal;
  src: url("/static/fonts/montserrat-medium.eot");
  src: url("/static/fonts/montserrat-medium.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-medium.ttf") format("truetype"),
    url("/static/fonts/montserrat-medium.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 600;
  font-style: normal;
  src: url("/static/fonts/montserrat-semibold.eot");
  src: url("/static/fonts/montserrat-semibold.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-semibold.ttf") format("truetype"),
    url("/static/fonts/montserrat-semibold.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 700;
  font-style: normal;
  src: url("/static/fonts/montserrat-bold.eot");
  src: url("/static/fonts/montserrat-bold.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-bold.ttf") format("truetype"),
    url("/static/fonts/montserrat-bold.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 900;
  font-style: normal;
  src: url("/static/fonts/montserrat-black.eot");
  src: url("/static/fonts/montserrat-black.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-black.ttf") format("truetype"),
    url("/static/fonts/montserrat-black.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 100;
  font-style: italic;
  src: url("/static/fonts/montserrat-thinitalic.eot");
  src: url("/static/fonts/montserrat-thinitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-thinitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-thinitalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 200;
  font-style: italic;
  src: url("/static/fonts/montserrat-extralightitalic.eot");
  src: url("/static/fonts/montserrat-extralightitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-extralightitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-extralightitalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 300;
  font-style: italic;
  src: url("/static/fonts/montserrat-lightitalic.eot");
  src: url("/static/fonts/montserrat-lightitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-lightitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-lightitalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 400;
  font-style: italic;
  src: url("/static/fonts/montserrat-regularitalic.eot");
  src: url("/static/fonts/montserrat-regularitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-regularitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-regularitalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 500;
  font-style: italic;
  src: url("/static/fonts/montserrat-mediumitalic.eot");
  src: url("/static/fonts/montserrat-mediumitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-mediumitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-mediumitalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 600;
  font-style: italic;
  src: url("/static/fonts/montserrat-semibolditalic.eot");
  src: url("/static/fonts/montserrat-semibolditalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-semibolditalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-semibolditalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 700;
  font-style: italic;
  src: url("/static/fonts/montserrat-bolditalic.eot");
  src: url("/static/fonts/montserrat-bolditalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-bolditalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-bolditalic.woff") format("woff");
}
@font-face {
  font-family: Montserrat;
  font-weight: 900;
  font-style: italic;
  src: url("/static/fonts/montserrat-blackitalic.eot");
  src: url("/static/fonts/montserrat-blackitalic.eot?#iefix")
      format("embedded-opentype"),
    url("/static/fonts/montserrat-blackitalic.ttf") format("truetype"),
    url("/static/fonts/montserrat-blackitalic.woff") format("woff");
}
* {
  margin: 0;
  padding: 0;
  text-rendering: auto;
}

A {
  -webkit-transition: all 170ms;
  -ms-transition: all 170ms;
  -moz-transition: all 170ms;
  transition: all 170ms;
  text-decoration: none;
  color: inherit;
}

IMG[src=""] {
  visibility: hidden;
  width: 0;
  height: 0;
}

IMG,
TABLE,
FIELDSET {
  border: 0;
}

OL,
UL {
  list-style-type: none;
}

LEGEND {
  display: none;
}

BUTTON,
INPUT {
  border-radius: 0;
  outline: 0 none;
}
BUTTON[type="search"]::-webkit-search-decoration,
BUTTON[type="search"]::-webkit-search-cancel-button,
BUTTON[type="search"]::-webkit-search-results-button,
BUTTON[type="search"]::-webkit-search-results-decoration,
INPUT[type="search"]::-webkit-search-decoration,
INPUT[type="search"]::-webkit-search-cancel-button,
INPUT[type="search"]::-webkit-search-results-button,
INPUT[type="search"]::-webkit-search-results-decoration {
  display: none;
}
BUTTON[type="number"],
INPUT[type="number"] {
  -moz-appearance: textfield;
}
BUTTON[type="number"]::-webkit-inner-spin-button,
BUTTON[type="number"]::-webkit-outer-spin-button,
INPUT[type="number"]::-webkit-inner-spin-button,
INPUT[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

BUTTON {
  -webkit-appearance: none;
  -ms-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  overflow: visible;
  cursor: pointer;
  border: 0 none;
}
BUTTON:focus {
  outline: 0 none;
}

TEXTAREA {
  resize: none;
}

HR {
  color: var(--color-border);
  background-color: var(--color-border);
  border: none;
}

MARK {
  color: inherit;
  background-color: transparent;
}

HEADER.language:before,
MAIN.frontpage:before,
FOOTER DL:before,
HEADER.language:after,
MAIN.frontpage:after,
FOOTER DL:after {
  content: " ";
  display: table;
}
HEADER.language:after,
MAIN.frontpage:after,
FOOTER DL:after {
  clear: both;
}

[class*="icon_"] {
  text-indent: -1000cm;
  overflow: hidden;
  position: relative;
}
[class*="icon_"]:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  -webkit-transition: background-color 175ms;
  -ms-transition: background-color 175ms;
  -moz-transition: background-color 175ms;
  transition: background-color 175ms;
  display: block;
  margin: auto;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
}

*[class*="icon_"] {
  border-radius: 100%;
}
*[class*="icon_"].icon_circle:after {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAYAAACuNZEIAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4JWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTctMTEtMjdUMjA6NTU6MzIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNy0xMS0yN1QyMDo1NTo1NSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTctMTEtMjdUMjA6NTU6NTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NmZiMzk4OWItN2FiMC1hMzRlLWFmOGMtNDYzNDhhNDY2ZmM0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjZmYjM5ODliLTdhYjAtYTM0ZS1hZjhjLTQ2MzQ4YTQ2NmZjNDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjZmYjM5ODliLTdhYjAtYTM0ZS1hZjhjLTQ2MzQ4YTQ2NmZjNDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2ZmIzOTg5Yi03YWIwLWEzNGUtYWY4Yy00NjM0OGE0NjZmYzQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMTEtMjdUMjA6NTU6MzIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTIwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz416wPOAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAs4SURBVHja7FzbbxtlFncuhYTeUnbbtG7QQtuU1Enq2JO6RYiiRUioAvEH7EoIAYI+8A8gpN19oI8sj8AzSEj7wq7EAwgJIXhdaXnYXOabXGzH9uBJ7DHO+DK389sHzmTd1Ent8SVOTKQjNRN/l5+/M+f2nV8DAAIdkkEAQwCGATwGYAzAWQDnAFxgOcfPxvgzwzxmsFP76gTIYwBOMaArAGYAhABcAvAEgIs1gC/ys0v8mRkec4HnONZu8O2aaBjACQYQAjAFIMibHmpiniEeE+Q5QjznCV7jwAEPAzgN4DJvbgLASBtPZITnDPEap1sF7nfgAIDjrIrTAM530BZ4cp7XusQnPtAtwMOscrP87Qe6LBO8dtDPaTe72KNsVKbarLp+VH2K9/JopwCfAHCNVSrQI3KJ93Si3YDPALjOFjPQY3KR3dmZdgE+DSDM70ygR+UsAAnA460CPs4n+/seBltrxed4z74AP8LvR/AQgPUkyHt+pFnAQ2wBnzpEYD15ivc+1CjgAf6mnvbr3A9YBnjvwUYBH2fHPnIIwdb66dl67qqeKl/qUffjx11d2p1t1XNBM4dUleup9jRjqgt4kDOS8SMA1pNxxjRYD/AJ/kYGjxDgQU4tT+wG7FnmiSMEtja7CnqvaW2QETrklnk/ix3ictEO4FPsuwJHVJ5mjAOeOl84ZCGkn5DzAoDB2jDy1BEGfMoLN72SzUyT1cXDJkOMcTgAYJQzDD8T3QJwp4sbv8Nr+hl7DcBogKv+fso2ZwB8BSAH4C8djs4GeI0cr3nGxxyXAIx51YInfKrJOwAsACaALzpUrj3Pc5u81js+X78nAJwN8P2O32ThGIA/AhD49eenFlRur1fmJ55b8FrHWkgmzgVq7nla2dgfWNUA4BcAf2rxhmCY5/iF5/yK12hljxcAXGgXYK9m/RGrnQPgrwBO+pjnJI91eK6Pmq09PwzwuTbmv4MA7gLY5JP5B4Anmxj/JI8Bz3G3jcnMjkr7NVr7yW0A/+GN/xfAsw2MeZY/Cx57u8172jFaft1SI+HclwAIgAHgz3tUEx/hvxn82S87FObuuKVWAo9G5EMGAwB/21Usf5yfgT/zYQf3sRN4dCO0vAsgxcC+4CrEZf43+G93uxVadit5eB7AvxngEgv42fPdTB66mR5OAPgX/v/zzy5VWe5LD7tdABgG8HeWYRxAAaAvSzx9V8TruzJtXxbi++6qpS8v047adenxfrsQH/it5eG3ppYH3+dwm0pA3ejVut5K25InvwMQ7fFerSAfzOl2th5O93Dr4fV2th72ZXNpX7YP92WDeD0KwEwXKQAzvObxblIA6pE8rrBR6xTJY5rXODCSR9/SePwStc6zHFqi1l7vuUfFG62h4o3XXOCN11DxRmuoeB1LWnwNsm07YFnWzu/lcjlgmmY9wB7/cATAGBGdI6LzRHSR5TwRnWPAIzW8w/sAm6YZKJfLO79blhWwbbsnAA/yKZ0koouu605Vq9WI4ziRQqEQzmazkXw+H9E0LappWjSfz0ey2WykUCiEHceJVKvViOu6U0R0ka9NhwEM9iLgYcuyjhPRhG3bYdM0o7lcLppMJqWVlZWmJJlMSrlcLmqaZtS27TARTViWdbxcLg8fOGAiGgJwslKpXDUMQ9J1fX5tbU0SQkiKojQN1hNFUSQhhLS2tibpuj5vGIZUqVSusuYMHwTgASIatSzrsmEYsVwuN+9t0i/IvcT78nK53LxhGDcsy7pCRI/Ztt097qHrukHTNKO6rt/oFNC9gOu6fsM0zajrut3hHhLRpGEYt9bX16WlpaWOA90tS0tL0vr6umQYxi0imuxk8nDKdd3ZbDZ7SwjRlVPd77SFEFI2m73lOM5sM1e9jYI9TUSRdDodW1xcPDCgu2VxcVFKp9Mx27bn2lkAGLNtO/zzzz/fXFxclFZXV3sG8OrqqrS4uCglEomY67rRRkA3osaRRCIRW1pa6imwu0GrqnrTdd3Iw9R7XwPlOM5sOp2OHYRx8gM6nU7H+J1+tFnAgwAmNU27tbCw0JMnWw/0wsKCpGnaLQCTe2VZDzwgooBt28FSqfRMK9HSQYmiKFKpVHrGtu0gETV0wiOmaUbj8fj8QbqeVlxWPB6fN00zyinn3oCJaKBarV7Rdf1Gr7+3DwtOdF2/Ua1WrxDRwH4nfNIwjNhhVOV6qm0YRmx3R+99hoqIJre2tiRZlg89YFmWpa2tLalcLk8SUd2Wh8dM0zz0QHeLYRgS/09O9wEeJKKJfD5/KA3VfgZM1/V5Iprw3NROyuc4TnhtbW3+qJ3w2travOM4YS+V3DFWpmlKR+l0a0/ZNE3JM14BAANEFMzlctGjBtaTXC4X5cLgQADAkOu6U4lEQjqqgBOJhOS67tQO97Barfo53XlFUcJCiOtdVM/riqKEV1ZWmrY11Wo16gEedRwn0uwEy8vLV1VVfb1YLL67vr4eFkKEOwg0vL6+Hi4Wi++qqvr68vLy1WbncBwnAmA0QERjhUJhrkmwoXQ6fdtxnB8BFEql0seJREISQsx0AOxMIpGQSqXSxwAKjuP8mE6nby8vL4eamadQKMwR0ViAiM5ms9lIk2HbnBAipOv6PQA2AMuyrK83NjZelGV5qo3R0tTGxsaLlmV9zaQtW9f1e0KIkKIoTR1SNpuNENHZABGN+7HQiqJEZFkObW5uvg0gDgCu64pMJvOaECK0srISaQFsRAgRymQyr7mu6/Ea45ubm2/LshxSFCXi01KPB4goqGma3wB9TggRUlX1ZcuyfgAAItouFovvxePxCBuYZucMx+PxSLFYfI+ItvGr+vygqurLfk7WE03TJCIKtgSYJSqEuJ5KpWKVSuVzVnG3XC5/kkwmn1MUZXZlZaURDYoqijKbTCafK5fLnwBwAdiVSuWzVCp1k72B71ihFvB4m4KOOVmWQ7quf0BEOgDYtv1tKpV6RQgxs58aKooSEULMpFKpV2zb/pY1Rdd1/QNZllt9PR5Q6aaN1n6nJMvyVU3T3nRdV+aNr2QymTdWV1fD9dRRUZS51dXVcCaTeYOIVtgWyJqmvSnL8tVWTnUvo9W0W2rAlUyrqvqSZVnfMZ+wXCwW34/H4zFWcQ/sbDwejxWLxfcBlAGQZVnfqar6khBiup172nFLfgOPRoKFVCollUqlzwBUAKBcLn+aTCZfEEJMCyGmk8nkC+Vy+VO2wpVSqfRZKpWSOhHE7AQeLYSWjVjcqCzLU4VC4R4RZdnifrOxsfHqxsbGq5ZlfcNqny0UCvdkWZ5SFKUje6kNLTuePMiyfGVzc/Mtx3EWPJ/q+W7HcRY2NzffkmX5SreSh26kh/OyLF9TVfWOaZrfe8RD0zS/V1X1jizL1/wkBH7Tw64VANj1xLa3tz/f3t7+PJVK3ehE/P2wAkBXSzxCiPDy8vLk8vLyZCczrIeVeLpdxIu2y7/6LeL1XZm2LwvxfXfV0peXaUftunTktwvxvm95qNfU0mvtSp1oatlpWyKiSDabvdmrJ+2BTaVSMdd151ppWwoACLiu+3ilUpEymcyNXm1MU1X1JoePYy134lWr1YBhGGdc153r1dZDIoo0ArYhwKZpBorFYgDAKcdxeq651HXd9jaX1gDuj/bhXYCPfoN4HcAPUAC2trY6TgHY2tqaNwwjZlnWZSIa7RgFYA/A95E8iOiqaZpSPp9vO8kjn8/Pm6YpEZFH8hjqKMljP8C7uIcdo/Ewm7Q7NJ4GAdeGpB5RK8hErSgTteaYqBXVNE3SNE3K5/NRJmrNMVErykStYC1Ra/c6vQR4X+4hEZ0lonEiCrKME1HT3MNWAP9vAEp81Afdai5GAAAAAElFTkSuQmCC);
}
*[class*="icon_"].icon_x:after {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAABHNCSVQICAgIfAhkiAAABRFJREFUaIHtm9tOHEcQhr8eMNgxLCc7CASWUVCMrdhCjvICkXyVR8nzJLd+hzxA8gS+sbmwIidIgDZCEcFscHAg8OeianZnZ89z2Oxq89+semanq77pnu7qnppASZIUAXPAXWAWuA3cAqaAyP92A1wDV8BH4G/gA3AeQrgpw69QZGWSbgHLwCIGmrV+YeDvgT9CCFfFeFgQsKR5YBVYSJ36CzjHWu8jcIm1aNx6EdbiM1gPuI31ik9S9ZwBxyGEP/P6mgvYQdcxJ8FapgacALUQwnXGeqeACrDiv7Gf50A1D3gmYO+6m8BSfAg4xlrhn6zOdLA1jfWeVRr+ngKHWbr6wMCSFoAtrCuCtWY1hHA5aF0D2p3BetOKH7oG9kMIZ4PUMxCwpFVgw4s14CiEcDFIHXkl6Y77UPFDRyGE436v7wvYp5gHNO5uNYTw2yCOFi1Ja1iLg/Wyg36msp7A/rx+hk0zN1g3ep/D18IkaRF7vCJsGvul13PdFdhb9nMM9hJ4N+wu3Evexbexqe0D8HO3lo46nXA9oAH7dtRgAdynt5iPdzGfO6ojsA9QK1g3fldktFO03Ld3mK8r7ntbtQX2qScejfdHsWXTch/3vbjhDC1qAfZBasuL1VEZoPqR+1r14pazNKldC29iQUXtv556ssh9rmEMm+nzTcAeG8fh4lHp3pWn2PclZ6or3cL1iXwcnttOct9PvLiePFcH9jsxhy0Eqoy/qhjLXLKVky0cD+XHZS8EhiFniGPs+jQVQX1kXqCxzMssSfcl3c9Th9fzRFLeDYpjjGkhHrHjFl7231qe9ayD/gT8mAda0gvgFfBdHmhnqXlxGRrAi/57kr4ogwR8QUZoh/0B2+4pQjHTYmwgkvRc0pe+tZJL3qXfyPRmEGhJLyRd+LXfF9ClkTTlbM8lRUiq+IHHeStPGBkYugzYRN2PnbGCpDUvtEQlOY30DV0mrNe/6YxrSHrohXtFGnFDPaHLhnUb95zxIZJ2vDDf+9JMxjpCDwPW7cw74w6SnnphtgxjbrAFeliwbn/WGZ8iadcL02UZdKNJ6F+HBeu2p51xN6L5xVZpCiH8DnyNLdK3sHn2JfBtCEFl2ibxaqfXnlbR2gXWEuWvgMIHy26KaH6xVZrUHEG9BPbIEZENqEYvHtKg1TJADTJPF2C/adAqe1rqOBoPCzo9LZUZePScehx6z/+zVwa026gHHmWFln3Ps2VDKxValrF4GDioKBNaqcVD0cvDzBFUGdBKLw/94CM/uNTj+l6VP8kKm6gjCf2q7mR2n5ac7VHy4Kof3M5ZeXDQXOGipE8d9ps8/nhd2862Cv66VLbB9Qzbnnmdc18rAOQNFyVFeXO1ZOuDZxjn6xDCVeTOXWGpQYHElmYWhRBURGxcUGJanAhzFr/9TD4f9T1cWQLJWMsZ6nvt8fE6sOc+nWN3pOn1xJhqHWM5T+Z1pUfA+BXLiiyVYCzlvtcTcJLnmoD9Tpx6cYPxVez7aTprr90cd4glfVVkqUFjJfe5gjEcps+3APtoFqcOrMtSg8ZC7ms8/uy3y0tpG8V4Ol/8UnlrHJ5n9zFO1TjqlJLYMWzzdL4T/8+22uRLjIrct23M15NuqYi94tQDLNlrBtgZxZZ2n3ZoJKYddPv//6mHHSqenOTSlJHJSB9OGZycBPGE8cn5BCDlzGR85JGWen/Gc4F9hNXtM55Z4A6j/BlPWpqUD7XaSSP6Kd6/1Pz0fPC2ssgAAAAASUVORK5CYII=);
}
*[class*="icon_"]:hover:after {
  background-color: rgba(215, 215, 215, 0.5);
}

::-moz-selection {
  background-color: var(--color-primary-200);
  color: var(--color-text-inverse);
}

::selection {
  background-color: var(--color-primary-200);
  color: var(--color-text-inverse);
}

HTML {
  min-height: 100vh;
}

BODY {
  position: relative;
  font-family: var(--font-body);
  font-size: 16px;
  height: 100%;
  min-height: 100vh;
}
@media (max-width: 768px) {
  BODY {
    font-size: 14px;
  }
}
BODY.loading {
  cursor: wait;
}

HEADER.language {
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  -ms-align-items: stretch;
  -moz-align-items: stretch;
  align-items: stretch;
  -ms-flex-line-pack: stretch;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  -moz-align-content: stretch;
  align-content: stretch;
  box-sizing: border-box;
  margin: 0 auto;
  padding-top: 15px;
  padding-bottom: 15px;
}
HEADER.language H1 {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 1.5em;
  max-width: 400px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
HEADER.language UL.navigation {
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  -ms-align-items: stretch;
  -moz-align-items: stretch;
  align-items: stretch;
  -ms-flex-line-pack: stretch;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  -moz-align-content: stretch;
  align-content: stretch;
}
@media (max-width: 768px) {
  HEADER.language UL.navigation {
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 330px;
    display: block;
  }
}
HEADER.language UL.navigation A {
  -webkit-transition: all 250ms;
  -ms-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
  display: block;
  position: relative;
  padding: 10px 20px;
  font-size: 0.75em;
  font-weight: 300;
  line-height: 1;
  border: 1px solid transparent;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
}
@media (max-width: 768px) {
  HEADER.language UL.navigation A {
    border-bottom-color: var(--color-text-primary);
  }
}
HEADER.language UL.navigation A.active {
  border-color: var(--color-text-primary);
}
@media (max-width: 768px) {
  HEADER.language UL.navigation A.active {
    border-top-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
    border-bottom-width: 2px;
  }
}
HEADER.language UL.navigation A:hover {
  opacity: 0.6;
}
HEADER.language SELECT {
  float: right;
  text-transform: capitalize;
  background-color: var(--color-surface-variant);
  font-weight: 300;
  font-family: var(--font-body);
  font-size: 1.25em;
}
@media (max-width: 500px) {
  HEADER.language SELECT {
    margin-right: 60px;
  }
}
HEADER.language OPTION {
  text-transform: capitalize;
}

INPUT.toggle-navigation-x {
  display: none;
}
INPUT.toggle-navigation-x + LABEL {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: auto;
  height: 60px;
  width: 60px;
  cursor: pointer;
  z-index: 999;
  display: none;
}
@media (max-width: 768px) {
  INPUT.toggle-navigation-x + LABEL {
    display: block;
  }
}
@media (max-width: 500px) {
  INPUT.toggle-navigation-x + LABEL {
    height: 45px;
    width: 45px;
  }
}
INPUT.toggle-navigation-x + LABEL SPAN,
INPUT.toggle-navigation-x + LABEL:before,
INPUT.toggle-navigation-x + LABEL:after {
  content: "";
  position: absolute;
  top: 0;
  left: 25%;
  right: 25%;
  bottom: 0;
  -webkit-transition: all 200ms;
  -ms-transition: all 200ms;
  -moz-transition: all 200ms;
  transition: all 200ms;
  -webkit-transform-origin: 0 50% 0;
  -ms-transform-origin: 0 50% 0;
  -moz-transform-origin: 0 50% 0;
  transform-origin: 0 50% 0;
  display: block;
  border-top: 2.5px solid #000;
  width: auto;
  height: 0;
  margin: auto 0;
}
INPUT.toggle-navigation-x + LABEL:before {
  top: 25%;
  bottom: auto;
}
INPUT.toggle-navigation-x + LABEL:after {
  top: auto;
  bottom: 25%;
}
INPUT.toggle-navigation-x:checked + LABEL SPAN {
  opacity: 0;
}
INPUT.toggle-navigation-x:checked + LABEL:before,
INPUT.toggle-navigation-x:checked + LABEL:after {
  width: 66.6666666667%;
}
INPUT.toggle-navigation-x:checked + LABEL:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
INPUT.toggle-navigation-x:checked + LABEL:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
INPUT.toggle-navigation-x ~ * {
  -webkit-transition: all 300ms;
  -ms-transition: all 300ms;
  -moz-transition: all 300ms;
  transition: all 300ms;
}
INPUT.toggle-navigation-x:checked ~ * {
  -webkit-transform: translatey(335px) !important;
  -ms-transform: translatey(335px) !important;
  -moz-transform: translatey(335px) !important;
  transform: translatey(335px) !important;
}
INPUT.toggle-navigation-x:checked ~ A.fixed {
  -webkit-transform: translatey(0) !important;
  -ms-transform: translatey(0) !important;
  -moz-transform: translatey(0) !important;
  transform: translatey(0) !important;
}

H1,
H2,
H3,
H4 {
  font-family: Montserrat, sans-serif;
}

A {
  text-decoration: underline;
}
A:hover {
  text-decoration: none;
}

DIV.iframewrapper {
  position: absolute;
  top: 4em;
  left: 2vw;
  right: auto;
  bottom: auto;
  -webkit-transition: all 500ms;
  -ms-transition: all 500ms;
  -moz-transition: all 500ms;
  transition: all 500ms;
  z-index: 5;
  margin: 0 auto;
  opacity: 1;
}
DIV.iframewrapper.hidden {
  opacity: 0;
}
DIV.iframewrapper IMG {
  display: block;
  width: 92vw;
  height: auto;
}
DIV.iframewrapper DIV.position,
DIV.iframewrapper IFRAME {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  width: 100%;
  height: 100%;
  border: 0;
  max-width: 640px;
  max-height: 480px;
  margin: 0 auto;
}
DIV.iframewrapper DIV.position {
  z-index: 1;
  height: 0;
  overflow: visible;
}
DIV.iframewrapper BUTTON {
  position: absolute;
  top: -30px;
  left: auto;
  right: -30px;
  bottom: auto;
  width: 60px;
  height: 60px;
}

MAIN.frontpage {
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  -ms-align-items: stretch;
  -moz-align-items: stretch;
  align-items: stretch;
  -ms-flex-line-pack: stretch;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  -moz-align-content: stretch;
  align-content: stretch;
  max-width: 1200px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 80px 40px;
}

@media (max-width: 500px) {
  MAIN.frontpage {
    display: block;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: nowrap;
    -ms-flex-direction: column;
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    -moz-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -ms-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    -ms-align-items: stretch;
    -moz-align-items: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    -webkit-align-content: stretch;
    -ms-align-content: stretch;
    -moz-align-content: stretch;
    align-content: stretch;
  }
}
@media (max-width: 500px) {
  MAIN.frontpage FIGURE {
    order: 1;
  }
}

@media (max-width: 768px) {
  MAIN.frontpage IMG.aside {
    margin-right: 0px;
  }
}
@media (max-width: 500px) {
  MAIN.frontpage IMG.aside {
    max-width: 100%;
  }
}

MAIN.frontpage FORM {
  min-width: 50%;
  text-align: left;
  font-size: 1.25em;
}

MAIN.frontpage UL.form {
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -ms-flex-direction: column;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  -moz-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -ms-flex-line-pack: stretch;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  -moz-align-content: stretch;
  align-content: stretch;
}
MAIN.frontpage LI {
  margin-bottom: 1em;
  max-width: 100%;
}
MAIN.frontpage LABEL {
  display: block;
  width: 400px;
  max-width: 100%;
}
MAIN.frontpage P.error {
  max-width: 400px;
  color: red;
  margin-bottom: 1em;
}
MAIN.frontpage SPAN.description {
  display: inline-block;
  box-sizing: border-box;
  width: 120px;
  margin-bottom: 0.25em;
  max-width: 100%;
  padding-right: 25px;
}
@media (max-width: 1024px) {
  MAIN.frontpage SPAN.description {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
MAIN.frontpage INPUT {
  box-sizing: border-box;
  border: 0;
  border-radius: 2px;
  padding: 1em;
  width: 265px;
  max-width: 100%;
  background-color: var(--color-surface-variant);
}
@media (max-width: 1024px) {
  MAIN.frontpage INPUT {
    max-width: 80%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
MAIN.frontpage DIV.form-action {
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  -moz-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -ms-flex-pack: between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  -ms-align-items: stretch;
  -moz-align-items: stretch;
  align-items: stretch;
  -ms-flex-line-pack: stretch;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  -moz-align-content: stretch;
  align-content: stretch;
  max-width: 400px;
  margin: 0 auto 2em;
}
MAIN.frontpage A.button,
MAIN.frontpage BUTTON[type="submit"] {
  max-width: 90%;
  width: 200px;
  font-family: var(--font-body);
  font-size: 1.25em;
  color: var(--color-text-primary);
  margin: 25px auto 0;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
}
MAIN.frontpage A.button:only-child,
MAIN.frontpage BUTTON[type="submit"]:only-child {
  margin-left: 0;
}
MAIN.frontpage A.small {
  font-size: 1em;
}

FOOTER {
  background-color: var(--color-surface);
  padding: 20px 10px;}

FOOTER DIV.content {
  max-width: 1200px;
  margin: 0 auto;
  font-family: var(--font-body);
  font-size: 19px;
}

@media (max-width: 768px) {
  FOOTER DIV.content {
    padding: 0;
  }
}

FOOTER H2 {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 2em;
  font-size: 22px;
  font-weight: bold;
}

FOOTER P {
  color: #4d4d4d;
  margin-bottom: 0.5em;
  text-align: justify;
}
FOOTER P.copy {
  font-weight: 500;
}
FOOTER DIV.info {
  padding-right: 25px;
  margin-bottom: 2em;
}
@media (max-width: 768px) {
  FOOTER DIV.info {
    padding-right: 0;
    margin-bottom: 2em;
  }
}

FOOTER ADDRESS {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 40px;
  font-style: normal;
  min-width: 400px;
  max-width: 100%;
}
@media (max-width: 768px) {
  FOOTER ADDRESS {
    flex-direction: column;
    margin-top: 30px;
    min-width: 0;
  }
}
FOOTER .address-left {
  flex: 1;
  padding-right: 40px;
}
FOOTER .address-right {
  flex: 1;
  border-left: 1px solid #ddd;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 40px;
  padding-bottom: 10px;
}
FOOTER ADDRESS h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
FOOTER ADDRESS dl {
  margin-bottom: 15px;
  width: 100%;
}
FOOTER ADDRESS dt {
  float: left;
  clear: left;
  color: #494949;
  font-weight: 400;
  margin-bottom: 10px;
}
FOOTER ADDRESS dd {
  float: right;
  text-align: right;
}
FOOTER ADDRESS dd a {
  color: #333;
  text-decoration: none;
}
FOOTER ADDRESS dd a:hover {
  text-decoration: underline;
}
FOOTER .address-right p {
  margin-bottom: 15px;
  color: #333;
}
FOOTER .address-right p a {
  font-weight: 500;
}

/* Add social media icons styling */
FOOTER .wsite-social {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

FOOTER .wsite-social-item {
  color: #000;
  font-size: 20px;
  text-decoration: none;
}

FOOTER .wsite-social-item:hover {
  opacity: 0.7;
}

/* Mobile footer styles */
@media (max-width: 768px) {
  FOOTER .content {
    padding: 0;
  }
  FOOTER ADDRESS {
    flex-direction: column;
    margin-top: 30px;
    min-width: 0;
  }
  FOOTER .address-left {
    padding-right: 0;
    margin-bottom: 30px;
  }
  FOOTER .address-right {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid #ddd;
    padding-top: 30px;
  }

  FOOTER .footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
  }

  FOOTER .footer-links a {
    color: #000;
    text-decoration: none;
    font-size: 16px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-weight: 400;
  }

  FOOTER .footer-social {
    text-align: center;
    margin-bottom: 15px;
    font-size: 18px;
    font-family: lato;
    font-weight: 400;
  }

  FOOTER .footer-social-icons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
    margin-top: 10px;
  }

  FOOTER .footer-social-icons a {
    color: #000;
    font-size: 20px;
  }

  FOOTER .footer-policy {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
  }

  FOOTER .footer-policy p {
    color: #000;
    font-size: 14px;
    font-family: lato;
    font-weight: 400;
  }

  FOOTER .footer-title {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
    font-family: lato;
    line-height: 19.2px;
    color: var(--color-text-primary);
  }

  FOOTER .footer-description {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 30px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }

  FOOTER .footer-copyright {
    font-size: 12px;
    text-align: left;
    padding: 20px 0;
    margin: 0 -40px;
    padding-left: 40px;
    padding-right: 40px;
    border-top: 1px solid #494949;
  }

  FOOTER .footer-logo {
    width: 18px;
    height: 17.9px;
  }
}

.show-mobile {
  display: none !important;
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
  .show-mobile {
    display: block !important;
  }
}
  .mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: white;
  }

  .mobile-header-item {
    flex: 1;
    display: flex;
    align-items: center;
  }

  .language-selector {
    justify-content: flex-start;
  }

  .language-wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
    border: 1px solid #666;
    border-radius: 5px;
    padding: 5px;
  }

  .language-wrapper .fa-globe {
    color: #666;
  }

  .logo-container {
    justify-content: center;
    gap: 15px;
  }

  .mobile-logo {
    height: 40px;
    width: auto;
  }

  .logo-container::after {
    content: "Family and\A Business\A Learning";
    white-space: pre;
    font-family: Avenir, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    color: #333;
    font-weight: 500;
  }

  .menu-button {
    justify-content: flex-end;
  }

  .mobile-menu-toggle {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 5px;
  }

  #mobile_set_lang_select {
    border: none;
    background: none;
    font-weight: bold;
    cursor: pointer;
    padding: 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

@media (max-width: 768px) {
  .show-mobile {
    display: block !important;
  }
}

@media (max-width: 768px) {
  MAIN.frontpage {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    width: 100%;
    box-sizing: border-box;
  }

  MAIN.frontpage figure {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
  }

  MAIN.frontpage figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  MAIN.frontpage form {
    position: relative;
    z-index: 2;
    background: "#1E1E1E"; /* More transparent white background */
    backdrop-filter: blur(20px); /* Add blur effect */
    -webkit-backdrop-filter: blur(20px); /* For Safari support */
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
    padding-top: 20px !important;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  MAIN.frontpage .login-form-header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  MAIN.frontpage .login-form-header div {
    text-align: center;
  }
  MAIN.frontpage .description {
    margin-left: 0px !important;
    margin-right: 0px !important;
    font-weight: 300 !important;
    text-align: left !important;
    padding-bottom: 10px !important;
  }

  MAIN.frontpage form.login-form input {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    border-radius: 5px !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  MAIN.frontpage .forgot-password-link {
    text-align: right;
    width: 100%;
    display: flex;
    font-size: 14px;
    font-weight: 300;
    text-decoration: none;
    justify-content: flex-end;
  }

  MAIN.frontpage .login-button {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #2d394f;
    color: #fff !important;
    border: none;
    border-radius: 5px;
    font-size: 14px !important;
    font-weight: 300;
    padding: 10px;
    margin-top: 10px;
    box-sizing: border-box;
  }

  MAIN.frontpage .login-signup-link {
    text-align: center;
    background-color: white;
    width: calc(100% - 16px);
    z-index: 100;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 300;
    padding: 8px;
    border-radius: 5px;
    text-decoration: none;
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    max-width: 400px;
    box-sizing: border-box;
  }

  FOOTER .footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  FOOTER .footer-links a {
    text-decoration: none;
    color: #000;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 10px;
  }

  FOOTER .footer-social {
    font-size: 14px;
    width: 100%;
    text-align: center;
    font-weight: 300;
    margin-bottom: 10px;
  }

  FOOTER .footer-social-icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  FOOTER .footer-social-icons a {
    text-decoration: none;
    margin: 0 10px;
  }

  .footer-copyright {
    font-size: 14px;
    border-top: 1px solid #000;
    font-weight: 300;
    margin-top: 30px;
    text-align: left;
  }
}

/* Footer For Medium To Large Screen Devices */
@media (min-width: 769px) and (max-width: 1024px) {
  
  FOOTER H2 {
    font-size: 18px;
  }
  FOOTER P {
    margin-bottom: 0.3em;
    word-spacing: 0.25em;
  }
  FOOTER P.copy {
    font-weight: 500;
  }
  FOOTER DIV.info {
    padding-right: 0px;
    margin-bottom: 2em;
    text-align: left;
  }
  FOOTER .address-right {
    padding-left: 20px;
    padding-right: 0px;
  }
  FOOTER ADDRESS h3 {
    font-size: 18px;
    margin-bottom: 20px;
  }
  FOOTER ADDRESS dt {
    font-size: 18px;
  }
  FOOTER ADDRESS dd a {
    font-size: 18px;
  }
  FOOTER .address-right p {
    font-size: 18px;
  }
  FOOTER .address-right p a {
    font-size: 18px;
  }
}

@media (min-width: 500px) and (max-width: 768px) {
  MAIN.frontpage .login-signup-link {
    display: block !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  MAIN.frontpage form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px 20px;
  }
  MAIN.frontpage figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.mobile-nav {
  display: none;
  position: fixed;
  top: 10px;
  right: 0;
  background-color: #fff;
  width: 200px;
  z-index: 1000;
  list-style: none;
  padding: 0;
  margin: 0;  
  border-radius: 10px 0 0 10px;
  border: 1px solid #eee;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  
}

.mobile-nav.show {
  display: block;
  animation: slideIn 0.2s ease-out;
  position: absolute;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0); 
  }
}

.mobile-nav li {
  margin: 8px 0;
}

.mobile-nav li a {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  transition: background-color 0.2s;
  border-radius: 4px;
}


.mobile-nav li a:hover {
  background-color: #f8f9fa;
}

.mobile-nav li a i {
  margin-right: 15px;
  width: 20px;
  text-align: center;
  color: #666;
}

.mobile-nav li a.active {
  background-color: #f8f9fa;
  font-weight: 500;
}

.mobile-menu-toggle {
  background: none;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 24px;
  color: #333;
  z-index: 1000;
}

.mobile-menu-toggle .fa-bars {
  display: block;
}

.mobile-menu-toggle.active .fa-bars {
  color: var(--color-text-primary);
}

.nav-logo-container {
  padding: 8px 15px;
  display: flex;
  align-items: center;
  background-color: #f8f9fa;
  border-radius: 4px 4px 0 0;
  margin-bottom: 0;
  position: relative;
}

.nav-logo-container img {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.nav-logo-container span {
  font-weight: 500;
  color: #333;
  margin-right: 35px;
  font-size: 10 px;
  line-height: 1.2;
  white-space: pre-line;
  text-align: left;
}

.mobile-nav .close-btn {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 5px;
  cursor: pointer;
  font-size: 24px;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: background-color 0.2s;
}

.mobile-nav .close-btn:hover {
  background-color: #f0f0f0;
}

.mobile-nav .close-btn::before,
.mobile-nav .close-btn::after {
  content: '';
  position: absolute;
  width: 24px;
  height: 3px;
  background-color: #333;
  transition: background-color 0.2s;
}

.mobile-nav .close-btn::before {
  transform: rotate(45deg);
}

.mobile-nav .close-btn::after {
  transform: rotate(-45deg);
}

.mobile-nav .close-btn:hover::before,
.mobile-nav .close-btn:hover::after {
  background-color: #333;
}

.landing-page {
  padding: 40px 20px;
  min-height: 100vh;
  background-color: var(--color-surface);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}

.landing-container {
  max-width: 2000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.landing-title {
  text-align: center;
  height: 38px;
  margin-bottom: 60px;
  color: var(--color-text-primary);
  font-weight: 500;
  font-family: var(--font-heading);
  line-height: 1.3;
  font-size: clamp(20px, 3vw, 38px);
  max-width: 90%;
  word-wrap: break-word;
}

.features-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 100px;
  margin-bottom: 100px;
  margin-top: 60px;
  width: 100%;
  max-width: 1200px;
}

.feature-card {
  flex: 1;
  min-width: 280px;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px;
}

.dot {
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.dot:hover {
  background-color: var(--color-text-muted);
}

.feature-image {
  width: 180px;
  height: 180px;
  margin-bottom: 16px;
  border-radius: 8px; 
}

.feature-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease; 
}

.feature-image:hover img {
  transform: scale(1.1); 
}

.feature-card h3 {
  color: var(--color-text-primary);
  font-size: 29px;
  margin-bottom: 15px;
  font-weight: 600;
  font-family: var(--font-heading);
  width: 214px;
  height: 38px;
}

.feature-card p {
  color: var(--color-text-primary);
  line-height: 16.41px;
  font-size: 14px;
  font-family: var(--font-body);
  width: 271px;
  height: 46px;
  font-weight: 400;
}

.navigation-dots {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

.dot {
  height: 11px;
  width: 11px;
  background-color: var(--color-primary-200);
  border-radius: 50%;
  display: inline-block;
  margin: 0 8px;
}

.dot.active {
  background-color: var(--color-primary-600);
}

.navigation-buttons {
  display: flex;
  justify-content: right;
  align-items: right;
  width: 100%;
  max-width: 1200px;
  margin-top: 20px;
}

.navigation-buttons button,
.navigation-buttons button:hover,
.navigation-buttons button:focus,
.navigation-buttons a,
.navigation-buttons a:hover,
.navigation-buttons a:focus {
  text-decoration: none !important;
}

.skip-button, .next-button {
  padding: 10px 30px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 400;
  font-family: var(--font-body);
  text-decoration: none;
  font-size: 20px;
}

.skip-button {
  background-color: transparent;
  border: none;
  color: var(--color-text-primary);
}

.next-button {
  background-color: var(--color-primary-600);
  border: none;
  color: var(--color-text-inverse);
}
.next-button:hover {
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .features-grid {
    flex-direction: column;
    align-items: center;
  }
  
  .feature-card {
    max-width: 100%;
  }
}