@import url("neue_haas_font.css");

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

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

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

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

::selection {
  background-color: var(--color-green);
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 100%;
  box-sizing: border-box; 
}

:root {
  --easing-cubic: cubic-bezier(0.365, 0.220, 0.000, 0.995);
  --easing-time: 0.7s;
  --blur: 4px;
  --color-grey: #7d7d7d;
  --color-light-grey: #b0b0b0;
  --color-green: #00ff00;
}

body {
  font-weight: normal;
  text-rendering: optimizeLegibility;
  word-wrap: break-word;
  -webkit-text-size-adjust: none;
  margin: 0;
  padding: 0;
  height: 100vh;
}

body,
.transition-opacity,
.carousel-cell img,
.carousel-cell video,
.carousel-container,
.about-imprint-container,
.project-container {
  background-color: #f4f4f4;
}

.about-imprint-section p,
.about-imprint-section .p,
.text mark,
img,
video {
  color: #101010 !important;
}

img,
video {
  font-size: 0px;
}

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

body, input, button {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; 
}

body, html {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;
}

h1, h2, h3, h4, h5, h6, p,
.h1, .h2, .h3, .h4, .h5, .h6, .p, .tooltip, html, body {
  font-family: "Neue Haas Roman";
  font-style: normal;
  font-weight: 500;
  -webkit-font-variant-ligatures: common-ligatures;
  -moz-font-variant-ligatures: common-ligatures;
  font-variant-ligatures: common-ligatures;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga", "kern";
  text-align: left;
  line-height: 1.15 !important; 
  letter-spacing: 0.01em;
}

div, span, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote {
  margin: 0;
  padding: 0; 
}

span {
  display: block;
}

h1, .h1,
p, .p,
.tooltip, html, body { 
  font-size: 14px; 
  line-height: 1.15 !important;
  color: white !important;
}

.index-body .tooltip,
.index-body h1, .index-body .h1,
.index-body p, .index-body .p {
  font-size: calc(14px * 1.5);
}

html, body {
  color: #101010;
}























/* Flickity */

.aspect-2-3 {
  aspect-ratio: 2/3;
}

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.carousel-container .flickity-viewport,
.index-carousel-container .flickity-viewport {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
}

.carousel-container .flickity-viewport {
  height: 100% !important;
  aspect-ratio: 2/3;
}

.zoomed.carousel-container .flickity-viewport {
  aspect-ratio: unset !important;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  /* No slide  */
  transform: none !important; 
}

.main-carousel .flickity-slider {
  height: calc(100% + 1px);
  width: calc(100% + 1px);
}

.zoomed .main-carousel .flickity-slider {
  height: 100%;
  width: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-lazyloaded {
  opacity: 1 !important;
}

.main-carousel,
.index-carousel {
  z-index: 1;
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  padding-left: 0px;
}

.main-carousel {
  pointer-events: none;
  position: relative;
}

.zoomed .main-carousel,
.index-carousel {
  pointer-events: all;
  opacity: 1;
  transition: transform var(--easing-time) var(--easing-cubic);
  aspect-ratio: unset;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
}

.index-carousel {
  width: 100%;
}

.carousel-cell {
  height: auto;
  line-height: 0;
  opacity: 1;
  z-index: -1;
  text-align: center;
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  /* No slide     */
  left: 0 !important;
  opacity: 0;
  transition: opacity 0s var(--easing-cubic);
  z-index: -1;
  padding: 0px;
  overflow: hidden;
  transform: none !important;
}


.zoomed .carousel-cell {
  height: 100%;
}

.carousel-container,
.index-carousel-container {
  z-index: 10;
  position: relative !important;
  top: 0px !important;
  left: unset !important;
  height: auto;
  cursor: pointer;
}

.carousel-container {
  height: auto;
  display: flex;
  flex-direction: column;
}

.zoomed.carousel-container .carousel-cell img,
.zoomed.carousel-container .carousel-cell video {
  transform: none;
  transform-origin: center !important;
}

.body-zoomed.overview-full .carousel-container {
  visibility: hidden;
}

.zoomed.carousel-container {
  height: 100vh !important;
  cursor: default;
  position: fixed !important;
  z-index: 100;
  top: 0px;
  width: calc(75vw + 1px);
  visibility: visible !important;
  right: 0px !important;
  transition: transform var(--easing-time) var(--easing-cubic);
}

.overview-full .zoomed.carousel-container,
.overview-full.about-on .zoomed.carousel-container {
  width: 100vw;
  height: 100vh !important;
  top: 0px !important;
  transition: transform var(--easing-time) var(--easing-cubic);
}

.project-section {
  height: 100vh;
  align-content: end;
  display: flex;
  flex-direction: column;
  justify-content: end;
  scrollbar-width: none;
  -ms-overflow-style: none;
  z-index: 1;
  position: fixed;
  width: 100vw;
  top: 0px;
  left: 0px;
  transition: transform var(--easing-time) var(--easing-cubic);
}

.overview-on .project-section {
  overflow: hidden;
}

.project-section::-webkit-scrollbar,
.project-section::-webkit-scrollbar {
  display: none;
}

.project-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 0px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  transition: transform var(--easing-time) var(--easing-cubic);
  transform: unset;
  grid-auto-rows: max-content;
  padding-right: 75vw !important;
  position: fixed;
  width: 100vw;
  height: 100vh;
}

.single-project .project-container {
  width: 100vw;
  grid-template-columns: 1fr;
  padding-right: 0px !important;
} 

.single-project .zoomed.carousel-container {
  width: 100vw;
  left: 0px;
}

.overview-full .project-container {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  padding-right: 0px !important;
}

.overview-full .menu {
  width: 100vw;
}

.index-body .project-container {
  grid-template-columns: 1fr;
  padding: 0px !important;
}

.project-container::-webkit-scrollbar,
.project-container::-webkit-scrollbar {
  display: none;
}

.carousel-cell.is-selected {
  opacity: 1;
  z-index: 0;
  /* No slide   */
  transform: none !important; 
}

.carousel-cell img,
.carousel-cell video {
  line-height: 0;
  opacity: 1;
  z-index: 1;
  position: relative;
  transform: none;
  object-fit: contain;
  object-position: top;
  height: auto;
  border: 0;
  width: 100%;
  height: 100%;
  display: block;
  padding: 0px;
  margin: 0px;
  transform: unset;
  transition: transform var(--easing-time) var(--easing-cubic);
  transform-origin: center !important;
  opacity: 0;
}

.carousel-cell video.cover-9-16 {
  object-fit: cover;
  object-position: center;
}

.zoomed .carousel-cell video.cover-9-16 {
  object-fit: contain;
  object-position: center;
}

.zoomed .carousel-cell img,
.zoomed .carousel-cell video {
  height: 100%;
  object-position: top center !important;
}

.overview-full .zoomed .carousel-cell img,
.overview-full .zoomed .carousel-cell video {
  height: 100%;
  object-position: center !important;
}

.overview-full .zoomed .carousel-cell img,
.overview-full .zoomed .carousel-cell video {
  padding: 0px;
}

.single-project .zoomed .carousel-cell video {
  object-position: top center !important;
}

.index-body .carousel-cell img,
.index-body .carousel-cell video {
  object-fit: cover !important;
  object-position: center !important;
}

.gallery-description {
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  mix-blend-mode: difference;
  z-index: 10;
}

/*
.carousel-container:hover .gallery-description {
  animation: blink 0.15s steps(1, end) forwards;
  animation-iteration-count: 1;
}
*/

.zoomed.carousel-container .gallery-description {
  animation: none
}

/*
@keyframes blink {
  0% { opacity: 1; }
  25% { opacity: 0; }
  50% { opacity: 1; }
  75% { opacity: 0; }
  100% { opacity: 1; }
}
*/

.index-body .gallery-description {
  padding-left: 7px;
  padding-right: 7px;
  bottom: unset;
  top: 0px;
  padding-top: 6px;
}

.index-body .gallery-description .index-carousel-status {
  text-align: right;
}

.zoomed .gallery-description {
  opacity: 1;
  transform: translateY(calc(0px));
  transition: transform var(--easing-time) var(--easing-cubic) !important;
}

.zoomed.gallery-transform .gallery-description {
  opacity: 0;
  transform: translateY(calc(-100% + 2px));
  transition: transform 0s ease-in-out !important;
}

.zoomed .gallery-description {
  height: auto;
  top: 0px;
  bottom: unset;
  left: 0px;
  position: absolute;
  display: grid;
  grid-template-columns: 1fr auto;
  opacity: 1;
  width: 100%;
  transition: transform var(--easing-time) var(--easing-cubic);
  max-height: 100vh;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.single-project.one-slide .zoomed .gallery-description {
  padding-bottom: 7px;
}

.zoomed .gallery-description::-webkit-scrollbar,
.zoomed .gallery-description::-webkit-scrollbar {
  display: none;
}

.zoomed .gallery-description .project-info {
  grid-column: span 2;
  width: 50%;
  max-width: 800px;
}

.zoomed .gallery-description .subtitle,
.zoomed .gallery-description .info-click {
  grid-column: span 2;
}

.gallery-description .maintitle {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block !important;
  padding: 6px 7px 5px 7px;
  padding-top: 6px !important;
}

.zoomed .gallery-description .maintitle,
.overview-full .gallery-description .maintitle {
  overflow: unset;
  white-space: unset;
  text-overflow: unset;
  display: flex !important;
  max-width: 800px;
}

.zoomed .gallery-description .title,
.zoomed .gallery-description .status {
  position: sticky;
  top: 0px;
  mix-blend-mode: difference;
  display: flex;
  flex-direction: column;
}

.zoomed .gallery-description .status {
  flex-direction: row;
}

.overview-full .zoomed .gallery-description .status {
  min-width: 33.3333vw;
  justify-content: space-between;
}

.gallery-description .zoom-click,
.gallery-description .info-click  {
  display: none;
}

.gallery-description .carousel-status,
.gallery-description .subtitle,
.gallery-description .maintitle {
  display: flex;
  flex-direction: column;
  padding: 0px 7px 0px 7px;
}

.gallery-description .subtitle {
  display: none;
}

.gallery-description {
  padding-bottom: 7px;
}

.gallery-description .carousel-status {
  display: none;
}

.zoomed .gallery-description .carousel-status {
  display: flex;
}

.single-project.one-slide .carousel-status {
  display: none !important;
}

.close-single-project {
  padding: 6px 7px 0px 7px;
}

.zoomed .gallery-description .carousel-status,
.zoomed .gallery-description .zoom-click,
.zoomed .gallery-description .info-click,
.zoomed .gallery-description .subtitle,
.zoomed .gallery-description .maintitle,
.zoomed .gallery-description .project-info p,
.overview-full .subtitle {
  display: flex;
  flex-direction: column;
  padding: 0px 7px 0px 7px;
}

.zoomed .gallery-description .info-click {
  cursor: pointer;
}

.zoomed .gallery-description .carousel-status,
.zoomed .gallery-description .zoom-click {
  padding-top: 6px !important;
  padding-left: 0px;
}

.zoomed .gallery-description .zoom-click {
  display: none;
  cursor: pointer;
}

.overview-full .zoomed .gallery-description .zoom-click {
  padding-left: 7px;
  display: flex;
}

.overview-full .zoomed .gallery-description .carousel-status {
  padding-right: 0px;
  display: flex;
}

.project-info {
  display: none;
}

.show-info .project-info {
  display: flex;
  flex-direction: column;
}

.zoomed .info-on,
.zoomed.show-info .info-close {
  display: flex;
  width: max-content;
  padding-bottom: 7px;
}

.show-info.zoomed .info-on  {
  display: none;
}


























/* Flickity Width */

.index-body .carousel-cell,
.zoomed .carousel-cell {
  height: 100% !important;
}

.zoomed .carousel-cell.width-50,
.index-body .carousel-cell.width-50 {
  width: 50%;
}

.zoomed .carousel-cell.width-50.is-selected.second,
.index-body .carousel-cell.width-50.is-selected.second {
  opacity: 10;
  z-index: 1;
  transform: none !important;
  left: 50% !important;
}

.index-body .carousel-cell img,
.index-body .carousel-cell video {
  object-position: center !important;
}

.zoomed .carousel-cell.width-50.second img,
.zoomed .carousel-cell.width-50.second video {
  padding-right: 100px;
  padding-left: 0px;
}

.index-body .project-section,
.index-body .project-container {
  height: 100vh;
  width: 100vw;
}

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

.index-carousel-container {
  height: 100vh;
}

.index-body .carousel-cell img, 
.index-body .carousel-cell video {
  height: 100%;
}










/* Flickity Video Controls */

.video-controls,
.full-video-controls {
  position: fixed;
  bottom: 0px;
  left: 25vw;
  width: 75vw;
  z-index: 200;
  mix-blend-mode: difference;
  transform: translateY(calc(100% + 2px));
  transition: transform var(--easing-time) var(--easing-cubic);
}

.single-project .video-controls {
  left: 0px;
  width: 100vw;
}

.video-controls-inner {
  flex-direction: row;
  justify-content: space-between;
  display: flex;
  width: 50%;
}

.overview-full .video-controls,
.overview-full .full-video-controls {
  left: 0px;
  width: 100vw;
  padding-right: var(--video-controls-padding-right);
}

.overview-full .video-controls-inner {
  flex-direction: row;
  justify-content: space-between;
  display: flex;
  width: 50%;
}

.show-controls.video-controls,
.show-controls.full-video-controls {
  transform: translateY(0px);
  transition: transform var(--easing-time) var(--easing-cubic);
}

.video-btn {
  display: flex;
}

.video-btn button,
.video-btn span {
  padding: 7px 5px 7px 5px;
}

.video-btn button:first-child {
  padding-right: 5px;
  padding-left: 7px;
}

.mute-unmute {
  padding-right: 7px !important;
}

.video-btn button:last-child,
.video-btn span {
  padding-left: 5px;
}

.progress-container {
  position: relative;
  width: 100%;
  height: auto;
  cursor: pointer;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 7px 7px 7px 5px;
}

.progress-container-inner {
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.3);
  height: 1px;
  position: relative;
}

.progress-bar {
  position: absolute;
  height: 100%;
  background-color: white;
  width: 0;
  border-radius: 7px;
}

.fullscreen {
  display: none;
}

.full-video-controls .p {
  padding: 7px;
}

.full-video-controls a {
  display: none;
}
















/* Additional Slider */

.carousel-container-normal {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.main-carousel-normal {
  width: 100%;
  height: auto;
}

.main-carousel-normal .carousel-cell {
  width: 100%; 
  height: auto;
  position: relative;
}

.main-carousel-normal .carousel-cell img,
.main-carousel-normal .carousel-cell video {
  display: block;
  width: 100%;
  height: auto; 
  object-fit: cover;
}

.main-carousel-normal .flickity-viewport {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}

.carousel-status-normal {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 100%;
  padding: 6px;
  mix-blend-mode: difference;
  z-index: 1;
}

.about-imprint-section p.carousel-status-normal {
  color: white !important;
  text-align: left;
}

.main-carousel-normal .flickity-button {
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0px;
  z-index: 10;
}

.main-carousel-normal .flickity-button.prev {
  left: 0px;
}

.main-carousel-normal .flickity-button.next {
  right: 0px;
}

.main-carousel-normal .flickity-page-dots {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  padding: 7px;
  z-index: 10;
  display: flex;
  flex-direction: row;
  mix-blend-mode: difference;
}

.carousel-status-normal {
  display: none;
}

.main-carousel-normal .dot {
  height: 7px;
  width: 7px;
  background: white;
  border-radius: 20px;
  margin: 2px;
  opacity: 0.5;
  cursor: pointer;
}

.main-carousel-normal .dot.is-selected {
  opacity: 1;
}

.main-carousel-normal .flickity-button-icon {
  display: none;
}













/*  Links, Buttons */

a, a:active, a:hover, a:focus, a:focus-within, a:visited, a:visited:hover {
  background: transparent;
  text-decoration: none;
  line-height: inherit; 
  border: none;
  border: 0;
  outline: none;
  border: 0;
}

button, .button, a.button {
  overflow: visible;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-transform: none;
  display: inline-block;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
  border: none;
  outline: none;
  background: none;
}
 
button:visited, button:visited:hover, button:focus-within, button:focus, button:hover, button:active, .button:visited, .button:visited:hover, .button:focus-within, .button:focus, .button:hover, .button:active {
  outline: none; 
  border: none;
}

button::-moz-focus-inner,
.button::-moz-focus-inner {
  border: 0;
  padding: 0; 
}

/* Diverse */

.page-not-found .explore {
  display: inline;
}

.link-cursor {
  cursor: pointer;
}

.no-padding-top {
  padding-top: 0px !important;
}

.no-padding-bottom {
  padding-bottom: 0px !important;
}

.no-js {
  z-index: 1000000000000;
  width: 100vw;
  height: 100vh;
  overflow-y: hidden;
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6px 7px 7px 7px;
  background-color: #f4f4f4;
}

.no-js p,
.no-js .p,
.no-js a {
  color: black !important;
  height: max-content;
}

.tooltip {
  position: fixed;
  display: none;
  z-index: 100;
  padding: 0px;
  color: #fff;
  pointer-events: none;
  mix-blend-mode: difference;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

#carousel-tooltip-about {
  z-index: 100;
}

.snap-outer {
  position: relative;
  overflow-y: scroll;
  height: 100vh !important;
  scroll-snap-type: mandatory;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.snap-outer::-webkit-scrollbar,
.snap-outer::-webkit-scrollbar {
  display: none;
}

.snap {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  position: relative;
}

mark {
  background-color: transparent;
  background: transparent;
  color: white !important;
  font-style: italic;
}

.about-imprint-section .link-hover,
.page-not-found .link-hover {
  color: var(--color-grey) !important;
  cursor: pointer;
}

.about-imprint-section .link-hover:hover {
  color: black !important;
}

.page-not-found .link-hover:hover {
  color: white !important;
}

.border-top {
  border-top: 1px solid var(--color-light-grey);
  padding-top: 0.75px;
  transition: border-top var(--easing-time) var(--easing-cubic);
}

.custom-cursor {
  position: fixed;
  width: 10px;
  height: 10px;
  background-color: white;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: difference;
  transition: transform 0.2s ease-out, width 0.2s ease-out, height 0.2s ease-out;
  transform: translate(-50%, -50%);
  z-index: 10000000000000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  white-space: nowrap;
  opacity: 0;
}

.custom-cursor.hover {
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
}













/* Navigation */

.navigation {
  position: sticky;
  z-index: 200;
  transition: transform var(--easing-time) var(--easing-cubic);
  mix-blend-mode: difference;
}

.index-text {
  position: sticky;
  z-index: 1000;
  mix-blend-mode: difference;
}

.index-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.index-text-absolute {
  padding: 7px 10px 7px 10px;
  width: 100vw;
  position: fixed;
  top: 0px;
  left: 0px;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.index-body .menu {
  width: 100vw;
}

.index-text-absolute.explore {
  left: 25vw;
  z-index: 1;
  width: 50vw;
}

.navigation-inner {
  position: fixed;
  top: 0px;
  left: 0px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: auto;
  height: 0px;
  padding: 0px;
}

.nav-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.nav-link.selected {
  display: flex
}

.nav-link.selected:before {
  content: '';
  border-radius: 20px;
  color: white;
  background: white;
  height: 8px;
  width: 8px;
  position: absolute;
  left: 7px;
  bottom: 4px;
}

.nav-link.archive.selected:before {
  bottom: 11px;
}

.nav-link.selected {
  padding-left: 22px;
}

.site-links {
  grid-area: 1 / 2 / 1 / 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.overview-full .site-links {
  grid-area: 1 / 5 / 1 / 7;
}

.menu-button {
  position: relative;
  display: flex;
  cursor: pointer;
  padding: 7px;
  padding-top: 6px;
  height: max-content;
}

.featured {
  padding-bottom: 0px;
}

.archive {
  padding-top: 0px;
}

.menu {
  padding: 0px;
  position: absolute;
  top: 0px;
  z-index: 100000;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 25vw;
  transition: transform var(--easing-time) var(--easing-cubic), width var(--easing-time) var(--easing-cubic);
}

.overview-full .menu {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.projects-info {
  display: flex;
}

.navigation p,
.navigation .p {
  color: white !important;
}

.body-zoomed.overview-full .menu {
  transform: translateY(calc(-100% + 2px));
  transition: var(--easing-time) var(--easing-cubic);
}













/* About */

.about-toggle {
  cursor: pointer;
}

.about-imprint-section .about-close p,
.about-imprint-section .about-title p {
  color: white !important;
}

.about-on,
.imprint-on {
  overflow: hidden;
}

.about-imprint-section {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 25vw;
  height: 100vh;
  z-index: 50;
  transform: translateX(-25vw);
  transition: transform var(--easing-time) var(--easing-cubic), opacity var(--easing-time) var(--easing-cubic) var(--easing-time);
  opacity: 0;
}

.about-on .about-imprint-section  {
  transform: translateY(0px);
  transition: transform var(--easing-time) var(--easing-cubic), backdrop-filter var(--easing-time) var(--easing-cubic);
  opacity: 1;
}

.about-on .project-section {
  transform: translateX(25vw);
  transition: transform var(--easing-time) var(--easing-cubic), opacity var(--easing-time) var(--easing-cubic) var(--easing-time);
  z-index: 100;
}

.about-imprint-section .text {
  padding: 6px 7px 5px 7px;
}

.about-imprint-section.imprint-section .text:nth-child(1) {
  padding-bottom: 0px;
}

.about-imprint-section.imprint-section .text:nth-child(2) {
  padding-top: 0px;
}

.imprint-copyright {
  align-self: end;
}

.about-close,
.about-title {
  z-index: 10000;
  position: fixed;
  top: 0px;
  right: 0px;
  mix-blend-mode: difference;
}

.about-title {
  left: 0px;
  right: unset;
  cursor: default !important;
}

.about-imprint-container {
  overflow-y: scroll;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
  width: calc(100% + 1px);
  height: auto;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100vh;
}

.about-imprint-container::-webkit-scrollbar {
  display: none;
}

.about-title {
  position: absolute;
  top: 0px;
  left: 0px;
  padding-left: 7px;
  padding-top: 6px;
}

.about-close-mobile,
.imprint-close-mobile {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 10;
}

.indent {
  text-indent: 30px;
}

.about-imprint-section p.about-title  {
  color: white !important;
}

.text mark.special-about {
  color: transparent !important;
  font-style: normal !important;
}

.about-image {
  width: 100%;
  line-height: 0px;
}

.about-image img,
.about-image video {
  width: 100%;
}

.about-imprint-section .about-links {
  display: flex;
  flex-direction: column;
  padding-bottom: 60px;
} 

.imprint-on .about-section,
.imprint-section {
  visibility: hidden;
}

.imprint-on .imprint-section {
  visibility: visible;
}

.column-two {
  display: grid;
  grid-template-columns: 1fr auto;
}

.column-two p:last-child {
  padding-left: 10px;
}

.numbering p {
  padding-left: 30px;
}

.numbering p.no-padding-l {
  padding-left: 0px;
}

.numbering p::before {
  content: attr(data-number);
  position: absolute;
  padding-right: 0px;
  white-space: nowrap;
  left: 7px;
}

.bullet {
  padding-left: 60px !important;
  position: relative;
}

.bullet::before {
  content: "";
  background-color: black;
  width: 4px;
  height: 4px;
  border-radius: 10px;
  position: absolute;
  top: 6px;
  left: 30px !important;
}



















/* Page Transition */

.transition-opacity {
  opacity: 0;
  transition: all 0.7s ease-in-out;
  width: 100%;
  height: 100vh;
  z-index: 1000000000;
  position: fixed;
  top: 0px;
  left: 0px;
  pointer-events: none;
}

.page-transition .transition-opacity {
  opacity: 1;
  transition: all 0.7s ease-in-out;
  z-index: 100000;
}

.page-transition .transition-opacity-0 {
  opacity: 0;
  transition: opacity var(--easing-time) ease-in-out;
}

.nav-transition {
  transform: translateY(0px);
  transition: transform var(--easing-time) var(--easing-cubic);
}

.page-transition .nav-transition,
.page-transition .zoomed .gallery-description {
  transform: translateY(calc(-100% - 2px));
  transition: transform var(--easing-time) var(--easing-cubic);
}








/* Blur Project */

.blur-project {
  position: absolute;
  display: flex;
  top: 0px;
  left: 0px;
  width: 100% !important;
  height: 100%;
  z-index: 5;
  pointer-events: none;
  cursor: pointer;
  visibility: hidden;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: backdrop-filter var(--easing-time) var(--easing-cubic), -webkit-backdrop-filter var(--easing-time) var(--easing-cubic), visibility 0s ease-in-out var(--easing-time);
}

.show-info .blur-project {
  visibility: visible;
  pointer-events: all;
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  transition: backdrop-filter var(--easing-time) var(--easing-cubic), -webkit-backdrop-filter var(--easing-time) var(--easing-cubic);
}















@media screen and (max-width: 1500px) {

  .index-body .tooltip,
  .index-body h1, .index-body .h1,
  .index-body p, .index-body .p {
    font-size: calc(14px * 1.3);
  }

  .overview-full .project-container {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    padding-right: 0px !important;
  }

  .project-container {
    padding-right: 66.6666vw !important;
  }

  .zoomed.carousel-container {
    width: calc(66.6666vw + 1px);
  }

  .menu {
    width: 33.3333vw;
  }

  .about-imprint-section {
    transform: translateX(-33.3333vw);
    width: 33.3333vw;
  }

  .about-on .project-section {
    transform: translateX(33.3333vw);
  }
  
  .overview-full .menu {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
    
  .overview-full .site-links {
    grid-area: 1 / 4 / 1 / 6;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .overview-full .archive {
    padding-bottom: 7px;
  }

  .overview-full .about-click {
    padding-top: 6px;
  }

  .video-controls,
  .full-video-controls {
    left: 33.3333vw;
    width: 66.6666vw;
  }
  
}

@media screen and (max-width: 1300px) {


  .index-text-absolute.explore {
    left: 50vw;
  }

}

@media screen and (max-width: 1024px) {

  .single-project .zoomed .carousel-cell video {
    object-position: center !important;
  }

  .zoomed.carousel-container {
    width: 100vw;
  }

  :root {
    --blur: 4px
  }

  .overview-full .menu,
  .menu {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  
  .overview-full .site-links,
  .site-links {
    grid-area: 1 / 3 / 1 / 5;
    flex-direction: row;
  }

  .about-imprint-section {
    width: 37.5vw;
    transform: translateX(-37.5vw);
  }

  .about-on .project-section {
    transform: translateX(37.5vw);
  }

  .video-controls,
  .full-video-controls {
    width: 100vw !important;
    left: 0px;
  }

  .video-controls-inner {
    width: 100% !important;
  }

  .overview-full .project-container {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .contact-desktop {
    display: none;
  }

  .zoomed .project-title .carousel-status {
    padding-left: 5px;
  }

  .show-info .project-title {
    overflow-y: scroll;
    max-height: calc(var(--vh, 1vh) * 100);
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .show-info .project-title::-webkit-scrollbar,
  .show-info .project-title::-webkit-scrollbar {
    display: none;
  }

  .about-imprint-section,
  .snap-outer,
  .carousel-container.zoomed,
  .index-body.index-carousel-container,
  .transition-opacity,
  .overview-full .zoomed.carousel-container,
  body,
  .project-section,
  .project-container,
  .index-carousel-container {
    height: calc(var(--vh, 1vh) * 100) !important; 
  }

  .about-imprint-container {
    min-height: calc(var(--vh, 1vh) * 100) !important; 
  }

  .zoomed .gallery-description .project-info {
    width: 100%;
    max-width: unset;
  }

}

@media screen and (max-width: 800px) {

  .carousel-container:hover .gallery-description {
    animation: none;
  }
  
  .index-text-absolute.explore {
    left: 0px;
    top: unset;
    bottom: 0px;
    padding-top: 40px;
    padding-bottom: 7px;
    width: 100vw;
  }

  .index-text-absolute {
    padding-bottom: 40px;
  }

  .page-transition .nav-transition.from-bottom {
    transform: translateY(calc(100% + 2px));
  }

  .overview-full .menu,
  .menu {
    grid-template-columns: 1fr 1fr 1fr;
  }
  
  .overview-full .site-links,
  .site-links {
    grid-area: 1 / 3 / 1 / 4;
    display: flex;
    justify-content: space-between;
  }

  .overview-full .zoomed .gallery-description .carousel-status {
    padding-left: 7px;
  }

  .zoomed .carousel-cell.width-50.second img, .zoomed .carousel-cell.width-50.second video, .index-body .carousel-cell.width-50.second img, .index-body .carousel-cell.width-50.second video {
    object-position: center !important;
  }

  .overview-full .project-container {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .about-imprint-section {
    width: 50vw;
    transform: translateX(-50vw);
  }

  .about-on .project-section {
    transform: translateX(50vw);
  }

  .zoomed .carousel-cell img,
  .zoomed .carousel-cell video {
    object-position: center !important;
  }

  .fullscreen {
    display: block;
    padding: 6px 7px 7px 5px;
  }

  .progress-container {
    padding-left: 5px;
    padding-right: 5px;
  }

  .mute-unmute {
    padding-right: 5px !important;
  }

  .mobile-menu {
    display: flex;
    position: fixed;
    right: 0px;
    top: 0px;
    cursor: pointer;
    width: 50vw;
    justify-content: end;
  }

  .index-body .index-nav {
    justify-content: start;
  }

  .mobile-hide {
    display: none;
  }

  .index-body .carousel-cell.width-50 {
    width: 100%;
  }
  
  .index-body .carousel-cell.width-50.second.is-selected {
    left: 0 !important;
  }
  
  .img-show-mobile {
    display: block !important;
  }

  .img-hide-mobile {
    display: none;
  }

  .about-on .navigation-inner,
  .imprint-on .navigation-inner  {
    display: flex;
  }

  .about-close-mobile,
  .imprint-close-mobile {
    display: flex;
  }

  .index-body .carousel-cell.height-50 {
    display: flex;
    flex-direction: column;
  }

}


@media screen and (max-width: 600px) {

  .overview-full .zoomed .gallery-description .carousel-status {
    padding-left: 0px;
  }

  .overview-full .menu,
  .menu {
    grid-template-columns: 1fr 1fr;
  }
  
  .overview-full .site-links,
  .site-links {
    grid-area: 1 / 2 / 1 / 3;
  }

  /*
  .carousel-container .carousel-cell img,
  .carousel-container .carousel-cell video,
  .carousel-container:hover .carousel-cell img,
  .carousel-container:hover .carousel-cell video {
    transform: scale(1.009) !important;
    transition: none !important;
  }

  .zoomed.carousel-container:hover .carousel-cell img,
  .zoomed.carousel-container:hover .carousel-cell video,
  .zoomed.carousel-container .carousel-cell img,
  .zoomed.carousel-container .carousel-cell video {
    transform: none !important;
    transition: none !important;
  }
  
  */

  .overview-full .project-container {
    grid-template-columns: 1fr 1fr;
  }

  .about-imprint-section {
    width: calc(100vw);
    transform: translateX(calc(-100vw))
  }

  .about-on .project-section {
    transform: translateX(calc(100vw));
  }

  .about-close {
    display: flex;
  }

  .menu {
    grid-template-columns: 1fr 1fr;
  }

  .site-links {
    grid-area: 1 / 2 / 1 / 3;
  }

}

@media screen and (max-width: 360px) {

  .overview-full .project-container {
    grid-template-columns: 1fr 1fr;
  }

}
