
.nav {
  position: fixed;
  position: sticky;
inset: 0;
  z-index: 2;
  border-bottom: 1px solid #726193;
  padding: clamp(0.5rem,0.75rem + 5vw, 1rem) var(--padding-inline);
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color:  #0b0b0b;
  
}

.logo img {
  width: 5rem;
  height: auto;
  vertical-align: middle;
}
.nav__content {
  flex: 2;
  display: flex;
  align-items: center;
}

.nav__content.open {
  transform: translateX(0);
}

.menu {
  display: flex;
  flex: 1 0 auto;
  /* width: min(100%,400px); */
  gap: 1.5rem;
  list-style: none;
  justify-content: space-around;
  font-size: 1.375rem;
  align-items: center;
  margin: 0;
}
.menu__link {
  cursor: pointer;
  transition: .2s all;
}


.menu__link.active {
  
  font-weight: bold;
}

.nav-btn-open {
  display: none;
  align-self: center;
}

.nav-btn-close {
  display: none;
  padding: 1rem;
  align-self: flex-end;
}

.nav-btn-close:before {
  transform: rotateZ(45deg) translate(0.5rem, -1rem);
}

.nav-btn-close:after {
  transform: rotateZ(-45deg) translate(1rem, 0.5rem);
}

@media screen and (max-width: 768px) {
  /*Header */
  .nav-btn-open,
  .nav-btn-close {
    display: block;
  }
  .nav__content {
    flex: initial;
    align-items: initial;
    position: fixed;
    top: 0;
    right: 0;
    width: 20rem;
    padding: 0.5em var(--padding-inline);
    background-color:  #0b0b0b;

    height: 100vh;
    
    z-index: 2;
    flex-direction: column;
    transform: translateX(40rem);
    transition: transform 0.3s ease-in-out;
    grid-gap: 2.5rem;
  }
  .menu {
    flex-direction: column;
    flex: initial;
    align-items: center;
  }

  .signup {
    flex: initial;
    justify-content: center;
  }

}



/* Icon */

.icon {
  text-decoration: none;
  position: relative;
  border-bottom: none;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

.icon > .label {
  display: none;
}

.icon:before {
  line-height: inherit;
}

.icon.solid:before {
  font-weight: 900;
}

.icon.brands:before {
  font-family: "Font Awesome 5 Brands";
}

/* Image */

.image {
  display: flex;
  flex: 1;
  position: relative;
  border: 0;
}

.image.filtered:after {
  background-image: url("../../images/overlay.png"),
    linear-gradient(
      45deg,
      rgba(114, 97, 147, 0.25) 25%,
      rgba(227, 123, 124, 0.25) 50%,
      rgba(255, 228, 180, 0.25)
    );
  background-size: 128px 128px, auto;
  pointer-events: none;
  content: "";
  position: absolute;
  inset: 0;
  /* right: 2em; */
  /* top: 8em; */
  opacity: 1;
  z-index: 1;
  /* border: 6px solid hotpink; */
  /* bottom: 0; */
  /* left: 0; */
}

.image.filtered.tinted:after {
  background-image: url("../../images/overlay.png"),
    linear-gradient(
      45deg,
      rgba(114, 97, 147, 0.25) 25%,
      rgba(227, 123, 124, 0.25) 50%,
      rgba(255, 228, 180, 0.25)
    ),
    linear-gradient(0deg, rgba(0, 0, 0, 0.125), rgba(0, 0, 0, 0.125));
  background-size: 128px 128px, auto, auto;
}
/* ! 23 hier */
.image[data-position] img {
  object-fit: cover;
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.image[data-position="top left"] img {
  object-position: top left;
}

.image[data-position="top"] img {
  object-position: top;
}

.image[data-position="top right"] img {
  object-position: top right;
}

.image[data-position="right"] img {
  object-position: right;
}

.image[data-position="bottom right"] img {
  object-position: bottom right;
}

.image[data-position="bottom"] img {
  object-position: bottom;
}

.image[data-position="bottom left"] img {
  object-position: bottom left;
}

.image[data-position="left"] img {
  object-position: left;
}

.image[data-position="center"] img {
  object-position: center;
}

.image[data-position="25% 25%"] img {
  object-position: 25% 25%;
}

.image[data-position="75% 25%"] img {
  object-position: 75% 25%;
}

.image[data-position="75% 75%"] img {
  object-position: 75% 75%;
}

.image[data-position="25% 75%"] img {
  object-position: 25% 75%;
}

.image img {
  display: block;
}

.image.left,
.image.right {
  max-width: 40%;
}

.image.left img,
.image.right img {
  width: 100%;
}

.image.left {
  float: left;
  padding: 0 1.5rem 1rem 0;
  top: 0.25rem;
}

.image.right {
  float: right;
  padding: 0 0 1rem 1.5rem;
  top: 0.25rem;
}

.image.fit {
  display: block;
  margin: 0 0 1.5rem 0;
  width: 100%;
}

.image.fit img {
  width: 100%;
}

.image.main {
  display: block;
  margin: 0 0 2.25rem 0;
  width: 100%;
}

.image.main img {
  width: 100%;
}

/* List */

ol {
  list-style: decimal;
  /* margin: 0 0 1.5rem 0;

  padding-left: 1.25rem; */
  margin-block: 0 2em;
  margin-inline: 0.33em auto;
}

ol li {
  padding-left: 0.25rem;
}

ul {
  list-style: circle;

  margin-block: 0 2em;
  margin-inline: 0.33em auto;
}

ul li {
  padding-left: 0.5rem;
}

ul.alt {
  list-style: none;
  padding-left: 0;
}

ul.alt li {
  border-top: solid 1px rgba(255, 255, 255, 0.25);
  padding: 0.5rem 0;
  width: min(100%, 44ch);
}

ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 1.5rem 0;
}

dl dt {
  display: block;
  font-weight: 400;
  margin: 0 0 0.75rem 0;
}

dl dd {
  margin-left: 1.5rem;
}

/* Actions */

ul.actions {
  display: flex;
  flex-wrap: wrap;
  cursor: default;
  list-style: none;
  margin-left: -0.75rem;
  padding-left: 0;
}

ul.actions li {
  padding: 0 0 0 0.75rem;
  vertical-align: middle;
}

ul.actions.special {
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

ul.actions.special li:first-child {
  padding-left: 0;
}

ul.actions.stacked {
  flex-direction: column;
  margin-left: 0;
}

ul.actions.stacked li {
  padding: 0.975rem 0 0 0;
}

ul.actions.stacked li:first-child {
  padding-top: 0;
}

ul.actions.fit {
  width: calc(100% + 0.75rem);
}

ul.actions.fit li {
  flex-grow: 1;

  flex-shrink: 1;
  width: 100%;
}

ul.actions.fit li > * {
  width: 100%;
}

ul.actions.fit.stacked {
  width: 100%;
}

/* Icons */

ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
}

ul.icons li {
  display: inline-block;
  padding: 0 1rem 0 0;
}

ul.icons li:last-child {
  padding-right: 0;
}

ul.icons li .icon:before {
  font-size: 1.25em;
}

/* Grid Icons */

ul.grid-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0 0 1.5rem 0;
  padding-left: 0;
}

ul.grid-icons .icon {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
}

ul.grid-icons .icon:before {
  display: block;
  width: 6rem;
  height: 6rem;
  line-height: 6rem;
  border-radius: 6rem;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.25);
  font-size: 2.5rem;
  margin: 0 auto;
  text-align: center;
}

body.is-ie ul.grid-icons .icon:before {
  line-height: 2.375;
}

ul.grid-icons > li {
  flex-grow: 0;
  flex-shrink: 0;
  position: relative;
  margin: 1.5rem 0 0 1.5rem;
  padding-left: 0;
}

ul.grid-icons.connected > li:before {
  content: "";
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 2px;
  top: 50%;
  left: -1.5rem;
  background-color: rgba(255, 255, 255, 0.25);
}

ul.grid-icons.connected > li:after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 1.5rem;
  top: -1.5rem;
  left: 50%;
  background-color: rgba(255, 255, 255, 0.25);
}

ul.grid-icons.two {
  width: 14rem;
}

ul.grid-icons.two > li:nth-child(-n + 2) {
  margin-top: 0;
}

ul.grid-icons.two > li:nth-child(-n + 2):after {
  display: none;
}

ul.grid-icons.two > li:nth-child(2n - 1) {
  margin-left: 0;
}

ul.grid-icons.two > li:nth-child(2n - 1):before {
  display: none;
}

ul.grid-icons.three {
  width: 21.5rem;
}

ul.grid-icons.three > li:nth-child(-n + 3) {
  margin-top: 0;
}

ul.grid-icons.three > li:nth-child(-n + 3):after {
  display: none;
}

ul.grid-icons.three > li:nth-child(3n - 2) {
  margin-left: 0;
}

ul.grid-icons.three > li:nth-child(3n - 2):before {
  display: none;
}

ul.grid-icons.four {
  width: 29rem;
}

ul.grid-icons.four > li:nth-child(-n + 4) {
  margin-top: 0;
}

ul.grid-icons.four > li:nth-child(-n + 4):after {
  display: none;
}

ul.grid-icons.four > li:nth-child(4n - 3) {
  margin-left: 0;
}

ul.grid-icons.four > li:nth-child(4n - 3):before {
  display: none;
}

@media screen and (max-width: 736px) {
  ul.grid-icons {
    justify-content: flex-start;
    width: 100% !important;
    margin: -1rem 0 1.5rem -1rem;
  }

  ul.grid-icons .icon:before {
    width: 4.5rem;
    height: 4.5rem;
    line-height: 4.5rem;
    font-size: 1.75rem;
  }

  ul.grid-icons > li {
    margin: 1rem 0 0 1rem !important;
  }

  ul.grid-icons > li:before {
    display: none !important;
  }

  ul.grid-icons > li:after {
    display: none !important;
  }
}

/* Contact Icons */

ul.contact-icons {
  list-style: none;
  padding-left: 0;
}

ul.contact-icons > li {
  margin: 1.25rem 0 0 0;
  padding-left: 0;
}

ul.contact-icons > li:before {
  display: inline-block;
  width: 2.25rem;
  height: 2.25rem;
  line-height: 2.25rem;
  border-radius: 2.25rem;
  background-color: white;
  color: #2e2b37;
  cursor: default;
  font-size: 1.125rem;
  margin-right: 1rem;
  text-align: center;
  vertical-align: middle;
}

body.is-ie ul.contact-icons > li:before {
  line-height: 2.125;
}

ul.contact-icons > li a {
  border-bottom: 0;
}

ul.contact-icons.color1 > li:before {
  color: #726193;
}

ul.contact-icons.color2 > li:before {
  color: #e37b7c;
}

ul.contact-icons.color3 > li:before {
  color: #ffe4b4;
}

ul.contact-icons.color4 > li:before {
  color: #353865;
}

/* Table */

.table-wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

table {
  margin: 0 0 1.5rem 0;
  width: 100%;
}

table tbody tr {
  border: solid 1px rgba(255, 255, 255, 0.25);
  border-left: 0;
  border-right: 0;
}

table tbody tr:nth-child(2n + 1) {
  background-color: rgba(255, 255, 255, 0.075);
}

table td {
  padding: 0.75rem 0.75rem;
}

table th {
  color: rgba(255, 255, 255, 0.875);
  font-size: 0.9rem;
  font-weight: 400;
  padding: 0 0.75rem 0.75rem 0.75rem;
  text-align: left;
}

table thead {
  border-bottom: solid 2px rgba(255, 255, 255, 0.25);
}

table tfoot {
  border-top: solid 2px rgba(255, 255, 255, 0.25);
}

table.alt {
  border-collapse: separate;
}

table.alt tbody tr td {
  border: solid 1px rgba(255, 255, 255, 0.25);
  border-left-width: 0;
  border-top-width: 0;
}

table.alt tbody tr td:first-child {
  border-left-width: 1px;
}

table.alt tbody tr:first-child td {
  border-top-width: 1px;
}

table.alt thead {
  border-bottom: 0;
}

table.alt tfoot {
  border-top: 0;
}

/* Button */

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;

  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out,
    color 0.2s ease-in-out;
  background-color: transparent;
  border: 0;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.875) !important;
  cursor: pointer;
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  height: 2.75rem;
  letter-spacing: 0.15rem;
  line-height: 2.75rem;
  padding: 0 1.5rem 0 1.65rem;
  margin-bottom: 0.75rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
  box-shadow: inset 0 0 0 2px #ffe4b4;
  color: #ffe4b4 !important;
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
  background-color: rgba(255, 228, 180, 0.125);
}

input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
  display: inline-block;
  position: relative;
  top: -0.075rem;
  vertical-align: middle;
  font-size: 0.8rem;
  margin: 0 0.375rem 0 -0.325rem;
}

input[type="submit"].icon.circle,
input[type="reset"].icon.circle,
input[type="button"].icon.circle,
button.icon.circle,
.button.icon.circle {
  position: relative;
  width: 3.125rem;
  height: 3.125rem;
  line-height: 3.125rem;
  text-indent: 3.125rem;
  border-radius: 100%;
  overflow: hidden;
  padding: 0;
  letter-spacing: 0;
}

input[type="submit"].icon.circle:before,
input[type="reset"].icon.circle:before,
input[type="button"].icon.circle:before,
button.icon.circle:before,
.button.icon.circle:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
  font-size: 1.25rem;
  line-height: inherit;
  margin: 0;
  text-indent: 0;
}

input[type="submit"].icon.circle.fa-angle-left:before,
input[type="reset"].icon.circle.fa-angle-left:before,
input[type="button"].icon.circle.fa-angle-left:before,
button.icon.circle.fa-angle-left:before,
.button.icon.circle.fa-angle-left:before {
  position: relative;
  left: -0.1rem;
  font-size: 1.75rem;
}

input[type="submit"].icon.circle.fa-angle-right:before,
input[type="reset"].icon.circle.fa-angle-right:before,
input[type="button"].icon.circle.fa-angle-right:before,
button.icon.circle.fa-angle-right:before,
.button.icon.circle.fa-angle-right:before {
  position: relative;
  left: 0.1rem;
  font-size: 1.75rem;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
  width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
  font-size: 0.4rem;
  height: 1.875rem;
  line-height: 1.875rem;
  padding: 0 1.25rem 0 1.4rem;
}

input[type="submit"].large,
input[type="reset"].large,
input[type="button"].large,
button.large,
.button.large {
  font-size: 0.8rem;
  height: 3.3125rem;
  line-height: 3.3125rem;
  padding: 0 2rem 0 2.15rem;
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
  background-color: white;
  box-shadow: none;
  color: #2e2b37 !important;
}

input[type="submit"].primary.color1,
input[type="reset"].primary.color1,
input[type="button"].primary.color1,
button.primary.color1,
.button.primary.color1 {
  color: #726193 !important;
}

input[type="submit"].primary.color2,
input[type="reset"].primary.color2,
input[type="button"].primary.color2,
button.primary.color2,
.button.primary.color2 {
  color: #e37b7c !important;
}

input[type="submit"].primary.color3,
input[type="reset"].primary.color3,
input[type="button"].primary.color3,
button.primary.color3,
.button.primary.color3 {
  color: #ffe4b4 !important;
}

input[type="submit"].primary.color4,
input[type="reset"].primary.color4,
input[type="button"].primary.color4,
button.primary.color4,
.button.primary.color4 {
  color: #353865 !important;
}

input[type="submit"].primary:hover,
input[type="reset"].primary:hover,
input[type="button"].primary:hover,
button.primary:hover,
.button.primary:hover {
  background-color: #ffe4b4;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
  background-color: #fdd997;
}

input[type="submit"].disabled,
input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.5;
}

/* other elements */
data {
  display: block;
  font-size: 0.9rem;

}

address {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: solid 1px rgba(255, 255, 255, 0.25);
  width: min(100% - 1rem, 30ch);
}


/* Gallery */

@-moz-keyframes gallery-modal-spinner {
  0% {
    webkit-transform: rotate(0deg);
    ransform: rotate(0deg);
  }

  100% {
    webkit-transform: rotate(360deg);
    ransform: rotate(360deg);
  }
}

@-webkit-keyframes gallery-modal-spinner {
  0% {
    webkit-transform: rotate(0deg);
    ransform: rotate(0deg);
  }

  100% {
    webkit-transform: rotate(360deg);
    ransform: rotate(360deg);
  }
}

@-ms-keyframes gallery-modal-spinner {
  0% {
    webkit-transform: rotate(0deg);
    ransform: rotate(0deg);
  }

  100% {
    webkit-transform: rotate(360deg);
    ransform: rotate(360deg);
  }
}

@keyframes gallery-modal-spinner {
  0% {
    webkit-transform: rotate(0deg);
    ransform: rotate(0deg);
  }

  100% {
    webkit-transform: rotate(360deg);
    ransform: rotate(360deg);
  }
}

.gallery {
  display: block;
  width: min(100%,1280px);
}

/* .gallery > * {
  width: 20rem;
  height: 100%;
} */

.gallery .image {
  /* display: block; */
  position: relative;
  border-bottom: 0;
  overflow: hidden;
}

.gallery .image img {
  aspect-ratio: unset;
  transition: transform 0.2s ease-in-out;
}

.gallery .image:after {
  transition: opacity 0.2s ease-in-out;
}

.gallery .image:hover img {
  transform: scale(1.025);
}

.gallery .image:hover:after {
  opacity: 0;
}

/* .gallery .group {
  --min: 14rem;
  --gap: 0.22em;
  width: 100%;
  height: 100%;
  display: grid;
  padding: 0.22em;
  grid-gap: var(--gap);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--min)), 1fr));
  grid-template-rows: auto-fill;

}
 */

.gallery .group {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%,300px), 1fr));
  grid-template-rows: repeat(auto-fill,min(100%, 300px));
  grid-gap: 1rem;
  grid-auto-flow: dense;
  padding-inline: 1rem;
}


.gallery .group > .grid-span-full {
  grid-column: span 3 / -1;
  grid-row: span 2;
  aspect-ratio: unset;
}




@media (min-width: 768px) {
  .gallery .group > .grid-span-first {
    grid-column: 1 / span 2;
    grid-row: 1 / span 2;
    aspect-ratio: unset;
  }
  /* select the last even child in the group and span it to the end */
  .gallery .group > :nth-last-child(2):nth-child(odd) {
    grid-column: span 2 / -1;
    grid-row: span 2;
    aspect-ratio: unset;
  }
  /* .gallery .group > :last-child {
    grid-column: span 2 / -1;
    grid-row: span 2;
    aspect-ratio: unset;
  } */
}
/* .gallery .group > * {
  flex: 1 1 15rem;
  height: 5;
} */ 
/* .gallery .group > * {
  flex: 1 1 20rem;
  height: auto;
  aspect-ratio: 16 / 9;
} */

.gallery .modal {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;

  user-select: none;
  transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(46, 43, 55, 0.875);
  opacity: 0;
  outline: 0;
  visibility: none;
  z-index: 0;
}

.gallery .modal:before {
  -webkit-animation: gallery-modal-spinner 3s infinite linear;
  animation: gallery-modal-spinner 3s infinite linear;
  transition: opacity 2.25s ease;
  transition-delay: 0.5s;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4rem;
  height: 4rem;
  margin: -2rem 0 0 -2rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='96px' height='96px' viewBox='0 0 96 96' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgba(255, 255, 255, 0.875)%3B stroke-width: 1.5px%3B %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 4rem;
  opacity: 0;
}

.gallery .modal:after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 4rem;
  height: 4rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: rgba(255, 255, 255, 0.875)%3Bstroke-width: 1.5px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 3rem;
  cursor: pointer;
}

.gallery .modal .inner {
  transform: translateY(0.75rem);
  transition: opacity 0.25s ease, transform 2.25s ease;
  opacity: 0;
}

.gallery .modal .inner img {
  display: block;
  max-width: 90vw;
  max-height: 85vh;
  box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35);
}

.gallery .modal.visible {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  z-index: 11000;
}

.gallery .modal.visible:before {
  opacity: 1;
}

.gallery .modal.loaded .inner {
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
  opacity: 1;
}

.gallery .modal.loaded:before {
  transition-delay: 0s;
  opacity: 0;
}

@media screen and (max-width: 980px) {
  .gallery .modal .inner img {
    max-width: 100vw;
  }
}

@media screen and (max-width: 736px) {
  .gallery {
    flex-direction: column;
    height: auto;
  }

  .gallery > * {
    height: auto;
    width: 100%;
  }

  .gallery .group {
    grid-template-rows: unset;
  }

  /* !group sizers removed */
}
/* 
@media screen and (max-width: 480px) {
  .gallery .image {
    height: 30rem;
  }

  .gallery .group .image {
    height: 12.5rem;
  }
} */

/* Panel */

.panel {
  display: flex;
  justify-content: center;
  align-items: baseline;
  min-height: 90vh;
  min-height: 90dvh;
  overflow-x: hidden;
  overflow-y: auto;
}

/* .panel > * {
  position: relative;
  min-width: 10rem;
} */

.panel > *.color0 {
  background-image: url("../../images/overlay.png"),
    linear-gradient(45deg, #726193 20%, #e37b7c 60%, #ffe4b4);
  background-size: 128px 128px, auto;
}

.color0 {
  background-image: url("../../images/overlay.png"),
    linear-gradient(45deg, #726193 20%, #e37b7c 60%, #ffe4b4);
  background-size: 128px 128px, auto;
}

.panel.color1,
.panel > *.color1,
.panel.color1-alt,
.panel > *.color1-alt,
.panel.color2,
.panel > *.color2,
.panel.color2-alt,
.panel > *.color2-alt,
.panel.color3,
.panel > *.color3,
.panel.color3-alt,
.panel > *.color3-alt,
.panel.color4,
.panel > *.color4,
.panel.color4-alt,
.panel > *.color4-alt {
  background-image: url("../../images/overlay.png"),
    linear-gradient(
      135deg,
      rgba(114, 97, 147, 0.25) 25%,
      rgba(227, 123, 124, 0.25) 50%,
      rgba(255, 228, 180, 0.25)
    );
  background-size: 128px 128px, auto;
  /* Individual background colors still need to be set for each class */
}

.panel.color1,
.panel.color1-alt,
.panel > *.color1 {
  background-color: #726193; /* Dark purple */
}

.panel.color2,
.panel.color2-alt,
.panel > *.color2 {
  background-color: #e37b7c; /* Soft red */
}

.panel.color3,
.panel.color3-alt,
.panel > *.color3 {
  background-color: #ffe4b4; /* Peach */
}

.panel.color4,
.panel.color4-alt,
.panel > *.color4
{
  background-color: #353865;
}

.panel.color1-alt,
.panel.color2-alt,
.panel.color3-alt,
.panel.color4-alt,
.panel > *.color1-alt,
.panel > *.color2-alt,
.panel > *.color3-alt,
.panel > *.color4-alt
 {
  background-image: url("../../images/overlay.png"),
    linear-gradient(
      135deg,
      rgba(114, 97, 147, 0.175) 25%,
      rgba(227, 123, 124, 0.175) 50%,
      rgba(255, 228, 180, 0.175)
    );
}

.panel > .intro ,
.panel > .inner ,
/* .text-block, */
.content {
  padding-block: var(--padding-block);
  padding-inline: var(--padding-inline);
}

.panel > .intro {
  /* display: flex;

  flex-grow: 0;
  flex-shrink: 1;
  justify-content: flex-start; */

  /* ! bug deze is anders */
  /* align-items: flex-start; */

  /* flex-direction: column;
  max-width: 44ch;

   */
  width: min(100%, 66ch + var(--padding-inline));
}

/* .panel > .intro.joined {
  width: min(96%,23.5rem)
} */

/* .panel > .inner {

  display: flex;

   flex-grow: 1;

  flex-shrink: 1; 
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  width: 100%;
  border: 4px solid hotpink;
} */
/* todo global self variable */
.panel .col {
  position: relative;
  isolation: isolate;
  align-self: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* border: 1px solid purple; */
  justify-content: space-between;
}

.panel.spotlight .col {
  flex: 1 1 min(100%,60ch);
}

.panel .col.auto-align {
  align-self: auto;
}

.panel .col.align-end {
  align-self: flex-end;
  justify-content: end;
}
.cta-float {
  display: flex;
  flex-direction: column;
  position: absolute;
  min-height: fit-content;
  /* inset: 0; */
  /* right: 1rem; */
  bottom: 0;
  z-index: 4;
  /* background-color: rgba(55, 55 ,55 ,0.8); */
  width: min(100% - 2rem, 48ch);
  padding-inline: 1rem;
  padding-block: 1rem;
  margin-block: 1rem;
  /* margin-inline: 1rem; */
}

.cta-float:after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: -1;
  background-image: linear-gradient(
    -90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.125) 30%,
    rgba(0, 0, 0, 0.175) 50%
  );
  backdrop-filter: blur(6px) saturate(128%);
  -webkit-backdrop-filter: blur(6px) saturate(128%);
  background-color: rgba(17, 25, 40, 0.71);
  
  border: 1px solid rgba(255, 255, 255, 0.275);
  padding: 1px;

}
/* .panel > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  width: min(100%, 82rem);
  border: 4px solid hotpink;
} 
*/

.panel > .inner {
  display: flex;
  align-self: center;
  flex: 1 1 min(100%,60ch);
  justify-content: space-around;
  align-items: center;
  /* flex-direction: column; */
  flex-wrap: wrap;
  position: relative;
  /* width: min(50%, 42rem); */
  /* border: 4px solid hotpink; */
}

.panel > .inner.columns {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: column;
}

.panel > .inner.columns > * {
  padding-block: 1.33em;
  margin-block: auto 0.66em;
}

.panel > .inner.columns > :first-child {
  margin-left: 0;
}

.panel > .inner.columns.divided > * {
  margin-left: 7rem;
  position: relative;
}

.panel > .inner.columns.divided > *:before {
  content: "";
  position: absolute;
  bottom: 3.5rem;
  width: 2px;
  height: calc(100% - 7rem);
  margin-left: -3.5rem;
  background-color: rgba(255, 255, 255, 0.25);
}

.panel > .inner.columns.divided > :first-child {
  margin-left: 0;
}

.panel > .inner.columns.divided > :first-child:before {
  display: none;
}

.panel > .inner.columns.aligned {
  align-items: flex-start;
}


/* Apply height and aspect-ratio for all span classes */
.panel [class*="span-"] {
  height: auto;
  /* aspect-ratio: 4 / 3; */
}

.panel.small {
  width: min(100%,35rem)
}

.panel.medium {
  width: min(100%, 50rem);
}

.panel.large {
  width: min(100%, 66rem);
  margin: auto;
}



/* Panel (Banner) */

/* .panel.banner {
  align-items: stretch;
} */

main section.banner {
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  /* border: 8px solid orangered; */
  min-height: 100vh;
  min-height: 100dvh;
  width: min(100%, 1280px);
  /* aspect-ratio: 16 / 9; */
  /* margin-block: 0 2rem; */
  padding-block: 0 2rem;
}

.panel.banner .content > .actions:last-child {
  margin-bottom: 0;
}

/* 
.image {
   flex-grow: 0; 
  flex-shrink: 1;
  position: relative;
}

 .image img {
  object-fit: cover;
  display: block;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
} 
*/

.panel.banner.left {
  flex-direction: row;
}

.panel.banner.right {
  flex-direction: row-reverse;
}

/* ! bug shrink grow :: check width */
.content {
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  

  width: min(100%, 80ch);
}

/* Panel (Spotlight) */

.panel.spotlight {
  align-items: stretch;
  position: relative;
  overflow-y:hidden;
  min-height: 100vh;
  min-height: 100dvh;
}

.panel.spotlight > * {
  z-index: 1;
}

/*! image pos bug + height thingy */

.panel.spotlight .image {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* border: 6px inset #ccff22; */
}

.panel.spotlight .image img {
  object-fit: cover;
  /* todo min height ? */
  min-height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.panel.spotlight.left {
  justify-content: flex-start;
}

/* todo spotlight glass */

.panel.spotlight .content {
  background-image: linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.25) 70%,
    rgba(0, 0, 0, 0.175)
  ) !important;
  min-height: 25rem;
}

.panel.spotlight.left .content {
  background-image: linear-gradient(
    -90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.125) 30%,
    rgba(0, 0, 0, 0.175) 50%
  );
  backdrop-filter: blur(6px) saturate(128%);
  -webkit-backdrop-filter: blur(6px) saturate(128%);
  background-color: rgba(17, 25, 40, 0.71);
  
  border: 1px solid rgba(255, 255, 255, 0.125);

  min-height: 100%;
}

.panel.spotlight.right {
  justify-content: flex-end;
}

.panel.spotlight.right .content {
  background-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.125) 30%,
    rgba(0, 0, 0, 0.175) 50%
  )

}


/* !took it out of media query */
/* @media screen and (max-width: 736px) {
  .panel.spotlight .content {

    background-image: linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.25) 70%,
      rgba(0, 0, 0, 0.175)
    ) !important;
    min-height: 25rem;
  }
} */

/* Page Wrapper */

#page-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-grow: 1;
  flex-shrink: 1;
  height: 100%;
  padding: 5rem;
}

@media screen and (orientation: portrait) {
  #page-wrapper {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media screen and (min-aspect-ratio: 16 / 7) {
  #page-wrapper {
    padding: 6vh;
  }
}

@media screen and (min-aspect-ratio: 16 / 6) {
  #page-wrapper {
    padding: 0;
  }
}

@media screen and (max-width: 736px) {
  #page-wrapper {
    height: auto;
    padding: 1rem;
  }
}

@media screen and (max-width: 480px) {
  #page-wrapper {
    padding: 0;
  }
}

/* Wrapper */

#scroll-x-wrapper {
  display: flex;
  flex-direction: column;
  transition: opacity 1s ease-out, transform 0.75s ease-out;

  transition-delay: 0.25s;
  cursor: default;
  position: relative;
  /* height: 32rem; */
  min-height: 100vh;
  min-height: 100dvh;
  box-shadow: 0 2rem 4rem 0.25rem rgba(46, 43, 55, 0.575);
}

#scroll-x-wrapper > section {
}

#scroll-x-wrapper > .scrollZone {
  position: fixed;
  width: 6rem;
  height: inherit;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  cursor: -ms-grab;
  cursor: grab;
  z-index: 10100;
}

#scroll-x-wrapper > .scrollZone.left {
  left: 0;
}

#scroll-x-wrapper > .scrollZone.right {
  right: 0;
}

#scroll-x-wrapper > .copyright {
  position: absolute;
  bottom: -3rem;
  right: 0;
  font-size: 0.8rem;
  color: rgba(46, 43, 55, 0.375);
  margin-bottom: 0;
}

#scroll-x-wrapper > .copyright a:hover {
  color: inherit;
}

#scroll-x-wrapper.is-dragging {
  user-select: none;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  cursor: -ms-grab;
  cursor: grab;
}

#scroll-x-wrapper.is-dragging * {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#scroll-x-wrapper.is-dragging * {
  cursor: -moz-grab;
  cursor: -webkit-grab;
  cursor: -ms-grab;
  cursor: grab;
}

#scroll-x-wrapper.is-dragged * {
  pointer-events: none;
}

body.is-preload #scroll-x-wrapper {
  -webkit-transform: translateX(2rem);
  transform: translateX(2rem);
  opacity: 0;
}

@media screen and (max-width: 736px) {
  #scroll-x-wrapper {
    flex-direction: column;
    height: auto;
    margin: 0 0 5rem 0;
    box-shadow: 0 0.25rem 1.5rem 0.25rem rgba(46, 43, 55, 0.5);
  }

  #scroll-x-wrapper > .scrollZone {
    display: none;
  }

  #scroll-x-wrapper > .copyright {
    display: block;
    width: 100%;
    text-align: center;
  }

  body.is-preload #scroll-x-wrapper {
    transform: translateY(1rem);
  }
}

@media screen and (max-width: 480px) {
  #scroll-x-wrapper {
    box-shadow: none;
  }

  body.is-preload #scroll-x-wrapper {
    transform: none;
  }
}


/* todo intro joined panel inner */

@media screen and (max-width: 736px) {
  .panel {
    flex-direction: column;
    /* height: auto;
    */
    min-height: 100%;
  }

  .banner.col-rev {
    flex-direction: column-reverse;
  }

  /* .banner.col-rev .image {
    padding-top: 1rem;
    padding-inline: 1rem;
  } */
  .banner.col-rev .image img {
    
    aspect-ratio: unset;
  }

  .panel > .intro {
    padding: 2.8875rem 1.75rem 1.3875rem 1.75rem;
    width: 100% !important;
  }

  .panel > .intro.joined {
    padding-bottom: 0;
    padding-right: 1.75rem;
  }

  .panel > .intro.joined + .inner {
    padding-top: 0;
    padding-left: 1.75rem;
  }

  /* .panel > .inner {
    padding: 2.8875rem 1.75rem 1.3875rem 1.75rem;
  } */

  .panel > .inner.columns {
    flex-direction: column;
  }

  .panel > .inner.columns > * {
    margin-left: 0;
    margin-top: 0;
  }

  .panel > .inner.columns > :first-child {
    margin-left: 0;
  }

  .panel > .inner.columns.divided > * {
    position: relative;
    margin-top: 0;
    /* margin-left: 3.5rem; */
    margin-inline: auto 2.5rem;
  }

  .panel > .inner.columns.divided > :first-child {
    margin-inline: 0 auto;
  }

  .panel [class^="span-"] {
    width: 100%;
  }

  .panel.small,
  .panel.medium,
  .panel.large {
    width: 100%;
  }

  .panel.small [class^="span-"],
  .panel.medium [class^="span-"],
  .panel.large [class^="span-"] {
    width: 100%;
  }

  .cta-float {
    width: min(100%,30ch);
    right: 0;
    
  }

  .cta-float > * {
    font-size: 0.8rem;
  }
.panel.spotlight .image img {

  min-height: unset;
}
}
