
.header-desktop .header-section-wrapper.is-main-menu.is-hide-on-scroll {
    transition: transform .3s !important;
}

.page-home .home-button {
    display: none;
}

a:not(.block-button):not(:empty):not(:has(*)), .button-text.button-auto-color {
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 0);
}
.frame-content #id-6c527f71-8eb7-47b5-be64-8a5da382b831 {
  display: none;
}
.frame-content .is-main-menu {
  clip-path: inset(0 0% 0 0%);
}

.element-background {
    transition: none !important;
}

#glasses-mobile {
    z-index: -1;
}

html.scrolling {
    overflow: hidden !important;
}

html.invert header svg {
  fill: white;
}
html.invert .switch {
  filter: invert(1);
}
html.invert .has-primary-text-color {
  color: white;
}
html.invert body, html.done.invert #counter, html.invert .has-primary-background-color {
  background-color: #000;
  color: white;
}
html.invert .has-secondary-background-color {
  background-color: white;
  color: #000;
}
html.invert .has-secondary-border-color {
  border-color: white;
}
html.invert .lines-left {
  background-image: linear-gradient(to right, white 1px, transparent 1px);
}
html.invert .lines-right {
  background-image: linear-gradient(to right, white 3px, transparent 3px);
}

html img {
  transition: none !important;
}

.switch {
  cursor: pointer;
  width: 3rem;
  height: 1.25rem;
  border: 1px solid black;
  border-radius: 2rem;
  padding: 2px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: align-items .5s;
}
.switch .thumb {
  aspect-ratio: 1 / 1;
  border: 1px solid black;
  border-radius: 50%;
  flex: 1;
}
html.invert .switch {
  align-items: flex-end;
  background: white;
  color: black;
}
html.invert .switch .thumb {
  background-color: black;
}

.is-main-menu {
  clip-path: inset(0 50% 0 50%);
  transition: clip-path .7s;
  z-index: 102;
}
html.init.scrollable .is-main-menu {
  clip-path: inset(0 0 0 0);
}

.header-desktop:has(.mega-is-open) .is-main-menu {
    clip-path: none !important;
}

.two-columns p {
  column-count: 2;
}

.lines-left {
  animation-name: MOVE-BG-LEFT;
  background: linear-gradient(to right, black 1px, transparent 1px);
  background-position: 0% 0%;
  background-size: 10px;

  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.lines-left:hover {
  animation-name: none;
  background-position: 0% 0%;
}
.lines-right {
  animation-name: MOVE-BG-RIGHT;
  background: linear-gradient(to right, black 2px, transparent 2px);
  background-size: 10px;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.lines-right:hover {
  animation-name: none;
  background-position: 0% 0%;
}

@keyframes MOVE-BG-LEFT {
  0% { background-position: 0% 0%; }
  100% { background-position: 500px 0%; }
}
@keyframes MOVE-BG-RIGHT {
  0% { background-position: 0% 0%; }
  100% { background-position: -500px 0%; }
}

#glasses {
    z-index: -1;
}
#three_canvas {
    aspect-ratio: 16 / 9;
    margin-bottom: -15rem;
    margin-top: -5rem;
    max-width: 57rem;
    margin-left: auto;
    margin-right: auto;
    mix-blend-mode: multiply;
    width: 100%;
}

/*#three_canvas canvas {
    position: absolute;
}*/

#id-10036746-47f6-4a9b-b898-0a328e445664 .grid-content{
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, 1fr);
}

#id-0b9c1fca-0a22-4e8a-a89c-cd308a76e417 {
    display: none;
}

/** Typer **/
.typed h3 {
  display: block;
}

@keyframes blink {
  0% { opacity: 0; }
  49.99% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 1; }
}
@keyframes writer {
  0% { content: "B"; }
  2% { content: "Be"; }
  4% { content: "Beh"; }
  6% { content: "Beha"; }
  8% { content: "Behav"; }
  10% { content: "Behavi"; }
  12% { content: "Behavio"; }
  14% { content: "Behaviou"; }
  16% { content: "Behaviour"; }
  32% { content: "Behaviour"; }
  38% { content: "C"; }
  40% { content: "Cu"; }
  42% { content: "Cul"; }
  44% { content: "Cult"; }
  46% { content: "Cultu"; }
  48% { content: "Cultur"; }
  50% { content: "Culture"; }
  66% { content: "Culture"; }
  68% { content: "B"; }
  70% { content: "Bu"; }
  72% { content: "Bus"; }
  74% { content: "Busi"; }
  76% { content: "Busin"; }
  78% { content: "Busine"; }
  80% { content: "Busines"; }
  82% { content: "Busines"; }
  84% { content: "Business"; }
  100% { content: "Business"; }
}

@media screen and (max-width: 9998px) {
    html .typed h3::before {
      content : "";
      animation: writer 6s linear infinite;
    }
    .hero .media-wrapper {
        object-position: 100% center !important;
        overflow: visible;
    }
    .hero img {
        height: 110% !important;
        position: absolute !important;
        top: -5%;
    }
    .lines-right {
      background-image: linear-gradient(to right, black 1.5px, transparent 1.5px);
    }
    html.invert .lines-left {
      background-image: linear-gradient(to right, white 1px, transparent 1px);
    }
    html.invert .lines-right {
      background-image: linear-gradient(to right, white 1.5px, transparent 1.5px);
    }
    .lines-left, .lines-right {
        background-size: 5px;
    }
    .lines-left .area-wrapper, .lines-right .area-wrapper {
        padding-top: 0;
    }
    #three_canvas {
      margin-bottom: -3rem;
      margin-top: -2rem;
    }
    .is-animated {
        clip-path: polygon(0 50%, 100% 50%, 100% 50%, 0 50%);
    }
    .is-animated-start {
        animation: open 1.5s 0.25s forwards;
    }
    .horizontal-gallery figure.video .media-wrapper::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0 10px 20px;
        border-color: transparent transparent transparent #949494;
        transform: translate(-50%, -50%);
    }
}

@keyframes open {
  0% { clip-path: polygon(0 50%, 100% 50%, 100% 50%, 0 50%); }
  100% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}

@media screen and (min-width: 9999px) {
    html.init {
      overflow: hidden;
    }

    html.init .header-desktop section {
      display: block;
    }

    body:not(.home) .header-desktop section {
      display: none;
    }

    html.scrollable {
      overflow-x: clip;
      overflow-y: auto;
    }

    html.scrollable .typed h3::before {
      content : "";
      animation: writer 6s linear infinite;
    }

    html.init #counter {
      align-items: center;
      background: black;
      display: flex;
      justify-content: center;
      height: 100vh;
      transition: height 3s cubic-bezier(0.23, 0.77, 0.48, 0.98), opacity .7s 1s;
      width: 100%;
      position: absolute;
      z-index: 101;
    }

    html.init.scrollable #counter {
        display: none;
    }

    html.init #counter span {
      border-left: 1px solid white;
      border-right: 1px solid white;
      line-height: 0.8;
      height: 30px;
      text-align: center;
      transition: flex .7s;
      animation:  blink linear infinite alternate .5s;
    }

    html.init.scrollable #counter span {
      flex: 1;
    }

    html.init #intro-animation {
      width: 100%;
      height: 100vh;
      position: absolute;
      top: 0;
      overflow: hidden;
      transition: transform 2s, height 1s 2s;
      transform: scale(0.8);
      transition-timing-function: ease-in-out;
      z-index: 100;
    }

    html.init #intro-animation img {
      width: 100%;
    }

    html.init header canvas {
      height: 40vw;
      width: 100%;
      position: absolute;
    }

    html.init .firstImage {
      width: 100%;
      position: absolute;
      transition: 3s transform;
      transform: translateY(100vh);
      transition-timing-function: ease-in-out;
    }

    html.init #upperLines {
      transform: translateY(0vh);
      transition: 3s transform;
      transition-timing-function: ease-in-out;
    }

    html.init .secondImage {
      width: 100%;
      position: absolute;
      transition: 3.2s transform;
      transform: translateY(200vh);
      transition-timing-function: ease-in-out;
    }

    html.init #lowerLines {
      transform: translateY(200vh);
      transition: 3s transform;
      transition-timing-function: ease-in-out;
    }

    html.done #counter {
      background-color: white;
      height: 90px;
    }

    html.done #intro {
      position: relative;
    }

    html.done #intro-animation {
      transform: scale(1);
      height: 0;
    }

    html.done .firstImage {
      transform: translateY(-100%);
    }

    html.done .secondImage {
      transform: translateY(-100%);
    }
    html.done #upperLines {
      transform: translateY(-100%);
    }
    html.done #lowerLines {
      transform: translateY(10%);
    }

    html.init .home .content {
      padding-top: 100%;
      transition: padding-top 3s 1s;
      transition-timing-function: ease-in-out;
    }

    html.init.done .home .content {
      padding-top: 0;
    }

    .switch::before {
      content: 'W';
      line-height: 1;
      display: block;
      position: absolute;
      left: -1em;
      transform: translateX(-0.25em);
      top: 0;
    }

    .switch::after {
      content: 'B';
      line-height: 1;
      display: block;
      position: absolute;
      right: 0;
      transform: translateX(150%);
      top: 0;
    }

    .has-ratio-2_1.group-content {
        aspect-ratio: 2.5/1;
    }

    .horizontal-gallery {
        display: flex;
        /*gap: 1.5rem;*/
        height: 100%;
        overflow: auto;
        position: absolute;
        width: 100%;
    }
    .panel-wrapper {
        flex: 0 0 100%;
        display: flex;
    }
    .panel-wrapper.full {
        flex: 0 0 200%;
    }
    .panel-wrapper.full figure {
        flex: 0 0 50%;
    }
    .panel-wrapper.full figure.full {
        min-width: 50%;
    }
    .horizontal-gallery {
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }
    .horizontal-gallery .media-dimension {
        display: none;
    }
    .horizontal-gallery::-webkit-scrollbar {
        display: none;
    }
    .horizontal-gallery .sticky {
        left: 0;
        position: sticky;
    }

    .horizontal-gallery .padding1 {
        padding: 12vh 0;
    }
    .horizontal-gallery .padding2 {
        padding: 10vh 0;
    }
    .horizontal-gallery .padding3 {
        padding: 2vh 0;
    }
    .horizontal-gallery .media-wrapper {
        align-items: center;
        display: flex;
        width: 100%;
        justify-content: center;
    }
    /*.horizontal-gallery .sticky .media-wrapper, .horizontal-gallery .sticky + figure .media-wrapper {
        justify-content: flex-start;
    }*/

    .horizontal-gallery figure {
        display: flex;
        flex: 0 0 50%;
        justify-content: center;
        min-width: 50%;
    }
    .horizontal-gallery figure.full {
        min-width: 100%;
    }
    .horizontal-gallery figure.offset {
        margin-left: 15vh;
    }
    .horizontal-gallery img {
        height: 100%;
       /* max-width: 100%;
        max-height: 100%;*/
        position: relative;
        width: 100%;
        object-fit: contain;
        object-position: center;
    }
    .horizontal-gallery img, .horizontal-gallery video {
        height: auto;
        max-width: 100%;
        max-height: 100%;
        position: relative;
        width: auto;
    }
    .horizontal-gallery .left img, .horizontal-gallery .left video {
        object-position: left center;
    }
    .hover .custom-cursor {
        display: block;
    }

    .hover * {cursor:none}

    .start-gallery .cursor-left {
        opacity: .1;
    }
    .end-gallery .cursor-right {
         opacity: .1;
    }

    .cursor-left::before {
        content: "";
        position: absolute;
        left: 25%;
        right: 25%;
        height: 1px;
        background-color: black;
        top: 50%;
        transform: rotate(45deg);
        transform-origin: 0 0;
    }
    .cursor-left::after {
        content: "";
        position: absolute;
        left: 25%;
        right: 25%;
        height: 1px;
        background-color: black;
        top: 50%;
        transform: rotate(-45deg);
        transform-origin: 0 0;
    }

    .cursor-right::before {
        content: "";
        position: absolute;
        left: 25%;
        right: 25%;
        height: 1px;
        background-color: black;
        top: 50%;
        transform: rotate(-45deg);
        transform-origin: 100% 0;
    }
    .cursor-right::after {
        content: "";
        position: absolute;
        left: 25%;
        right: 25%;
        height: 1px;
        background-color: black;
        top: 50%;
        transform: rotate(45deg);
        transform-origin: 100% 0;
    }
}

#id-ece1ad78-bd8c-4736-b358-e43e8c095514, #id-ecfefc9c-50ee-42a4-875d-5875239d9e7b, #id-007dc8b7-c68c-4741-8f81-1bdba884b315 {
    flex: 0;
}

.custom-cursor {
    display: none;
    position: fixed;
    pointer-events: none;
    z-index: 1000;
    width: 5em;
    height: 5em;
    white-space: nowrap;
    /*mix-blend-mode: difference;*/
    transform: translateX(-50%) translateY(-50%);
}
