@charset "utf-8";

/* PAGE CONTENT */
.pagecontent {
  min-height: var(--currentview-height);
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: hidden;
  outline: calc(max(100vw, 100vh)) solid var(--bg-color-strong);
}

/* MAIN CENTER */
.maincenter {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  flex-wrap: wrap;
}

/* BG */
.bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}

.bg>* {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bg .mediafootage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* HEADER */
.header .menulinks {
  display: flex;
  flex-wrap: wrap;
}

.header .menulink:first-child {
  /* margin-left: auto; */
}

.header .menulink:last-child {
  /* margin-right: auto; */
}

.header .menulink {
  margin-right: calc(1.5em / 1);
}

body[scrolly-direction="down"] .header {
  /* padding: 1em; */
  /* transform: translateY(-100%); */
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  padding: var(--padding);
  transform: translateY(0%);
  transition: transform 0.3s;
  /* text-align: center; */
  width: 100%;
  background: #f3f3f3;
  z-index: 999;
  /* --width-height-to-closest-slug: body|header; */
}

.header .topsection {
  display: flex;
}

.header .topsection .left {
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
}

.header .topsection .left h1 {
  margin: 0;
  line-height: 1em;
}

.header .topsection .right {
  margin-left: auto;
  margin-top: auto;
  margin-bottom: auto;
}

.header .topsection .menutogglebt {
  display: flex;
  margin-left: auto;
  width: fit-content;
  width: -moz-fit-content;
  padding: 1em;
  margin: -1em;
}

.header .topsection .menutogglebt .text {
  margin: auto;
  font-size: 2em;
  font-weight: 600;
}

.header .topsection .menutogglebt .svgicon {
  width: 1.5em;
  height: 1.5em;
  margin-top: auto;
  margin-bottom: auto;
  --svgicon-url:
    var(--menu-icon-burger);
  display: none;
  /* display: block; */
}

body[device-mode="mobile"] .topsection .menutogglebt .text {
  display: none;
}

body[device-mode="mobile"] .topsection .menutogglebt .svgicon {
  display: block;
}

/* MENU BOX */
.menubox .menulink {
  width: 100%;
  font-size: 2em;
}

/* MENUBOX */
.menubox {
  position: fixed;
  display: flex;
  flex-direction: column;
  top: 0;
  right: 0;
  max-width: 100%;
  height: 100%;
  background: var(--ci-color);
  --svgicon-color: white;
  color: white;
  padding: var(--padding);
  z-index: 99999;
  box-shadow: 0px 0px 32px rgb(0 0 0 / 50%);
  transition: transform 0.3s;
  transform: translateX(calc(100% + 32px));
}

body[device-mode="mobile"] .menubox {
  width: 100%;
}

body[menubox-is-open] .menubox {
  transform: translateX(0);
}

.menubox .menuboxtopbar {
  display: flex;
  margin-bottom: 1em;
  height: 2em;
  font-weight: 600;
}

.menubox .menuboxtopbar .closebt {
  --svgicon-url:
    var(
  --utils-icon-close);
  margin-left: auto;
  font-size: 2em;
  padding: 1em;
  margin: -1em;
  margin-left: auto;
}

.menubox .menulinks {
  padding-right: 0.75em;
  padding-top: 1em;
}

.menubox .menulinks .menulink {
  display: block;
  font-weight: 600;
  margin-bottom: calc(var(--padding)/2);
  line-height: 1em;
  transform: translateX(0em);
  transition: transform 0.3s;
}

.menubox .menulinks .menulink::before {
  content: ">";
  position: absolute;
  left: 0;
  transform: translateX(calc(-100% - 0.25em));
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
}

.menubox .menulinks .menulink:hover {
  transform: translateX(0.5em);
}

.menubox .menulinks .menulink:hover::before {
  transform: translateX(calc(-100% - 0.1em));
  opacity: 1;
}

.menubox .socialmediabts {
  display: flex;
  margin-top: -3em;
  margin-bottom: 1em;
  width: fit-content;
  width: -moz-fit-content;
}

.menubox .socialmediabts>* {
  --whbt: 2em;
  display: block;
  width: var(--whbt);
  height: var(--whbt);
  margin-right: 1em;
}

.menubox .socialmediabts>*:last-child {
  margin-right: 0;
}

.menubox .logofooter {
  margin-top: auto;
}

.menubox .logomedia {
  margin-left: auto;
  width: 66.666%;
}