.disable-download img {
  pointer-events: none;
}
@-webkit-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate-forever {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.lightbox-spinner {
  -webkit-animation-duration: 0.7s;
  -moz-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: rotate-forever;
  -moz-animation-name: rotate-forever;
  animation-name: rotate-forever;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  animation-timing-function: linear;
  height: 30px;
  width: 30px;
  border: 4px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  opacity: 0.7;
}
.link-transition a {
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.link-transition a svg {
  transition: fill 0.2s ease;
}

.project-cover .details {
  transition: background 0.2s ease;
}

.project-cover .title,
.project-cover .fields,
.project-cover .custom,
.project-cover .description,
.project-cover .date {
  transition: color 0.2s ease;
}
html.lightbox-enabled,
html.lightbox-enabled body {
  overflow: hidden;
}

html.lightbox-zoomed .lightbox-content {
  cursor: zoom-out;
  overflow: auto;
}
html.lightbox-zoomed .lightbox-content.zoomable-x {
  justify-content: flex-start;
}
html.lightbox-zoomed .lightbox-content.zoomable-y {
  align-items: baseline;
}

html.lightbox-zoomed #lightbox-wrap img {
  max-width: inherit;
  max-height: inherit;
}

html.lightbox-zoomed #lightbox-img-wrap .lightbox-extra {
  display: none;
}

.lightbox-link,
.lightbox-content.zoomable {
  cursor: zoom-in;
}

#lightbox-wrap .lightbox-contents {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lightbox-content {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity 0.4s;
  width: 100vw;
}

#lightbox-blocking {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1002;
}
#lightbox-blocking .lightbox-spinner {
  display: none;
}

#lightbox-wrap {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1001;
}
#lightbox-wrap .offscreen,
#lightbox-wrap.offscreen {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  -webkit-transform: translateX(-99999px);
  -ms-transform: translateX(-99999px);
  transform: translateX(-99999px);
  width: 0;
}
#lightbox-wrap.loading .lightbox-spinner {
  display: block;
}
#lightbox-wrap .hidden {
  opacity: 0;
}
#lightbox-wrap .lightbox-contents {
  display: inline-block;
  max-height: 100%;
  max-width: 100%;
}
#lightbox-wrap.single .next,
#lightbox-wrap.single .next:hover,
#lightbox-wrap.single .prev,
#lightbox-wrap.single .prev:hover {
  display: none;
}
#lightbox-wrap.extras-hidden #lightbox-img-wrap .lightbox-extra {
  opacity: 0;
  transition: opacity 1s;
}
#lightbox-wrap img {
  max-height: 100vh;
  max-width: 100vw;
}

#lightbox-inner-wrap {
  height: 100%;
  margin: auto;
  position: relative;
  z-index: 1003;
}
#lightbox-inner-wrap .control {
  cursor: pointer;
  position: absolute;
  z-index: 1003;
}
#lightbox-inner-wrap svg .lightbox-icon-bg {
  fill: #696969;
  opacity: 0.2;
}
#lightbox-inner-wrap svg:hover .lightbox-icon-bg {
  opacity: 0.4;
}
#lightbox-inner-wrap .next,
#lightbox-inner-wrap .prev {
  height: 100vh;
  opacity: 0;
  top: 0;
  width: 30vw;
}
#lightbox-inner-wrap .next:hover,
#lightbox-inner-wrap .prev:hover {
  opacity: 1;
}
#lightbox-inner-wrap .next.hidden,
#lightbox-inner-wrap .prev.hidden {
  cursor: default;
}
#lightbox-inner-wrap .next.hidden svg,
#lightbox-inner-wrap .prev.hidden svg {
  display: none;
}
#lightbox-inner-wrap .next svg,
#lightbox-inner-wrap .prev svg {
  top: -webkit-calc(50% - 30px);
  top: calc(50% - 30px);
  position: absolute;
}
#lightbox-inner-wrap .next svg .lightbox-icon-arrow,
#lightbox-inner-wrap .prev svg .lightbox-icon-arrow {
  fill: #ffffff;
}
#lightbox-inner-wrap .next {
  right: 0;
}
#lightbox-inner-wrap .next svg {
  right: 20px;
}
#lightbox-inner-wrap .prev {
  left: 0;
}
#lightbox-inner-wrap .prev svg {
  left: 20px;
}
#lightbox-inner-wrap .close {
  position: fixed;
  height: 40px;
  right: 20px;
  top: 20px;
  width: 40px;
}
#lightbox-inner-wrap .close:hover {
  cursor: pointer;
}
#lightbox-inner-wrap .close .lightbox-icon-bg {
  fill: #fff;
}

@media (max-width: 1024px) {
  #lightbox-inner-wrap .close {
    right: 0;
    top: 0;
  }
  #lightbox-inner-wrap .close circle {
    display: none;
  }
  #lightbox-inner-wrap .next:hover,
  #lightbox-inner-wrap .prev:hover {
    opacity: 0;
  }
}

@media (min-width: 1024px) {
  .lightbox-link.hover-icon-enabled {
    position: relative;
  }
  .lightbox-link.hover-icon-enabled:hover::after {
    background: rgba(105, 105, 105, 0.2)
      url(data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZmlsbDogd2hpdGUiIHZpZXdCb3g9IjAgMCAyMSAyMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8cGF0aCBkPSJNLTEuMjUyMjIyNTEsMTUuNjAzNDE5NyBDLTEuMzUyNTE5MjcsMTUuNjkzNjg2OCAtMS40MjUyMzMzMywxNS43OTg5OTY4IC0xLjQ3MDM2Njg3LDE1LjkxOTM1MjkgQy0xLjUxNTUwMDQxLDE2LjAzOTcwOSAtMS41MzgwNjY4NCwxNi4xNjAwNjMzIC0xLjUzODA2Njg0LDE2LjI4MDQxOTQgQy0xLjUzODA2Njg0LDE2LjQwMDc3NTUgLTEuNTE1NTAwNDEsMTYuNTIxMTI5OCAtMS40NzAzNjY4NywxNi42NDE0ODU5IEMtMS40MjUyMzMzMywxNi43NjE4NDIgLTEuMzUyNTE5MjcsMTYuODY3MTUyIC0xLjI1MjIyMjUxLDE2Ljk1NzQxOTEgTDMuNTYxOTk3NzEsMjEuNzcxNjM5MyBDMy43NTI1NjE1NSwyMS45NjIyMDMyIDMuOTgwNzMzMjQsMjIuMDU3NDgzNyA0LjI0NjUxOTY1LDIyLjA1NzQ4MzcgQzQuNTEyMzA2MDUsMjIuMDU3NDgzNyA0LjczNTQ2Mjk5LDIxLjk2MjIwMzIgNC45MTU5OTcxNSwyMS43NzE2MzkzIEM1LjEwNjU2MDk4LDIxLjU4MTA3NTUgNS4yMDE4NDE0NywyMS4zNTU0MTEyIDUuMjAxODQxNDcsMjEuMDk0NjM5NiBDNS4yMDE4NDE0NywyMC44MzM4NjggNS4xMDY1NjA5OCwyMC42MDgyMDM3IDQuOTE1OTk3MTUsMjAuNDE3NjM5OSBMMS43NTY2NjUxMywxNy4yNDMyNjM0IEwxMC4wMTYwNjE3LDE3LjI0MzI2MzQgQzEwLjI4Njg2MjksMTcuMjQzMjYzNCAxMC41MTUwMzQ2LDE3LjE1MDQ5MDMgMTAuNzAwNTgzNiwxNi45NjQ5NDEzIEMxMC44ODYxMzI2LDE2Ljc3OTM5MjMgMTAuOTc4OTA1NywxNi41NTEyMjA2IDEwLjk3ODkwNTcsMTYuMjgwNDE5NCBDMTAuOTc4OTA1NywxNi4wMDk2MTgyIDEwLjg4NjEzMjYsMTUuNzgxNDQ2NSAxMC43MDA1ODM2LDE1LjU5NTg5NzUgQzEwLjUxNTAzNDYsMTUuNDEwMzQ4NSAxMC4yODY4NjI5LDE1LjMxNzU3NTMgMTAuMDE2MDYxNywxNS4zMTc1NzUzIEwxLjc1NjY2NTEzLDE1LjMxNzU3NTMgTDQuOTE1OTk3MTUsMTIuMTQzMTk4OSBDNS4xMDY1NjA5OCwxMS45NTI2MzUxIDUuMjAxODQxNDcsMTEuNzI2OTcwNyA1LjIwMTg0MTQ3LDExLjQ2NjE5OTIgQzUuMjAxODQxNDcsMTEuMjA1NDI3NiA1LjEwNjU2MDk4LDEwLjk3OTc2MzMgNC45MTU5OTcxNSwxMC43ODkxOTk1IEM0LjczNTQ2Mjk5LDEwLjU5ODYzNTYgNC41MTIzMDYwNSwxMC41MDMzNTUxIDQuMjQ2NTE5NjUsMTAuNTAzMzU1MSBDMy45ODA3MzMyNCwxMC41MDMzNTUxIDMuNzUyNTYxNTUsMTAuNTk4NjM1NiAzLjU2MTk5NzcxLDEwLjc4OTE5OTUgTC0xLjI1MjIyMjUxLDE1LjYwMzQxOTcgWiIgaWQ9IngiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuNzIwNDE5LCAxNi4yODA0MTkpIHJvdGF0ZSgtNDUuMDAwMDAwKSB0cmFuc2xhdGUoLTQuNzIwNDE5LCAtMTYuMjgwNDE5KSAiPjwvcGF0aD4KICA8cGF0aCBkPSJNMTAuMzA3Nzc3NCw0LjA0MzQxOTczIEMxMC4yMDc0ODA3LDQuMTMzNjg2ODEgMTAuMTM0NzY2Niw0LjIzODk5NjgzIDEwLjA4OTYzMzEsNC4zNTkzNTI5MyBDMTAuMDQ0NDk5NSw0LjQ3OTcwOTA0IDEwLjAyMTkzMzEsNC42MDAwNjMzNCAxMC4wMjE5MzMxLDQuNzIwNDE5NDUgQzEwLjAyMTkzMzEsNC44NDA3NzU1NiAxMC4wNDQ0OTk1LDQuOTYxMTI5ODYgMTAuMDg5NjMzMSw1LjA4MTQ4NTk3IEMxMC4xMzQ3NjY2LDUuMjAxODQyMDcgMTAuMjA3NDgwNyw1LjMwNzE1MjA5IDEwLjMwNzc3NzQsNS4zOTc0MTkxNyBMMTUuMTIxOTk3NywxMC4yMTE2Mzk0IEMxNS4zMTI1NjE1LDEwLjQwMjIwMzIgMTUuNTQwNzMzMiwxMC40OTc0ODM3IDE1LjgwNjUxOTYsMTAuNDk3NDgzNyBDMTYuMDcyMzA2LDEwLjQ5NzQ4MzcgMTYuMjk1NDYyOSwxMC40MDIyMDMyIDE2LjQ3NTk5NzEsMTAuMjExNjM5NCBDMTYuNjY2NTYwOSwxMC4wMjEwNzU2IDE2Ljc2MTg0MTQsOS43OTU0MTEyNCAxNi43NjE4NDE0LDkuNTM0NjM5NjcgQzE2Ljc2MTg0MTQsOS4yNzM4NjgxMSAxNi42NjY1NjA5LDkuMDQ4MjAzNzkgMTYuNDc1OTk3MSw4Ljg1NzYzOTk1IEwxMy4zMTY2NjUxLDUuNjgzMjYzNDkgTDIxLjU3NjA2MTYsNS42ODMyNjM0OSBDMjEuODQ2ODYyOSw1LjY4MzI2MzQ5IDIyLjA3NTAzNDYsNS41OTA0OTAzOSAyMi4yNjA1ODM2LDUuNDA0OTQxMzkgQzIyLjQ0NjEzMjYsNS4yMTkzOTIzOSAyMi41Mzg5MDU3LDQuOTkxMjIwNjkgMjIuNTM4OTA1Nyw0LjcyMDQxOTQ1IEMyMi41Mzg5MDU3LDQuNDQ5NjE4MjEgMjIuNDQ2MTMyNiw0LjIyMTQ0NjUxIDIyLjI2MDU4MzYsNC4wMzU4OTc1MSBDMjIuMDc1MDM0NiwzLjg1MDM0ODUxIDIxLjg0Njg2MjksMy43NTc1NzU0MSAyMS41NzYwNjE2LDMuNzU3NTc1NDEgTDEzLjMxNjY2NTEsMy43NTc1NzU0MSBMMTYuNDc1OTk3MSwwLjU4MzE5ODk0NyBDMTYuNjY2NTYwOSwwLjM5MjYzNTExMSAxNi43NjE4NDE0LDAuMTY2OTcwNzk0IDE2Ljc2MTg0MTQsLTAuMDkzODAwNzcxNSBDMTYuNzYxODQxNCwtMC4zNTQ1NzIzMzcgMTYuNjY2NTYwOSwtMC41ODAyMzY2NTQgMTYuNDc1OTk3MSwtMC43NzA4MDA0OSBDMTYuMjk1NDYyOSwtMC45NjEzNjQzMjcgMTYuMDcyMzA2LC0xLjA1NjY0NDgyIDE1LjgwNjUxOTYsLTEuMDU2NjQ0ODIgQzE1LjU0MDczMzIsLTEuMDU2NjQ0ODIgMTUuMzEyNTYxNSwtMC45NjEzNjQzMjcgMTUuMTIxOTk3NywtMC43NzA4MDA0OSBMMTAuMzA3Nzc3NCw0LjA0MzQxOTczIFoiIGlkPSJ4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4yODA0MTksIDQuNzIwNDE5KSByb3RhdGUoLTIyNS4wMDAwMDApIHRyYW5zbGF0ZSgtMTYuMjgwNDE5LCAtNC43MjA0MTkpICI+PC9wYXRoPgo8L3N2Zz4K)
      no-repeat center;
    background-size: 16px;
    border-radius: 50%;
    content: '';
    display: block;
    height: 36px;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 36px;
    z-index: 1000;
  }
}

@media all and (-ms-high-contrast: none) {
  .lightbox-link,
  .lightbox-content.zoomable {
    cursor: pointer;
  }
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-moz-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@-moz-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.transition-enabled {
  opacity: 0;
}

.transition-in {
  -webkit-animation: fade-in ease-in;
  animation: fade-in ease-in;
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.transition-out {
  opacity: 1;
  -webkit-animation: fade-out ease-out;
  animation: fade-out ease-out;
  -webkit-animation-duration: 0.25s;
  animation-duration: 0.25s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

/* Copyright text */
.copyright-text {
  font-family: stqs;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 8px;
}

.copyright-text a {
  color: #111111;
}

.copyright-text a:hover {
  color: #777777;
}

.pb-18 {
  padding-bottom: 18px;
}

/* Contact form */
.astro-form-error {
  color: #ef4444;
  font-family: stqs;
  font-size: 12px;
  line-height: 12px;
  padding-top: 5px;
}

.astro-form-confirmation {
  color: #111111;
  font-family: stqs;
  font-size: 30px;
  font-style: normal;
  font-weight: 800;
  text-align: center;
  text-transform: none;
}

.astro-form-loading {
  color: #333333;
  font-family: stqs;
}

.store-modal__container__container {
  font-family: stqs !important;
  color: #111111 !important;
}

.store-modal__product-summary__add-to-cart-button {
  color: #ffffff !important;
  border-radius: 2px !important;
  font-family: stqs !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 40px !important;
  text-transform: none !important;
  text-decoration: none !important;
  background-color: #1a82ff !important;
  border: none !important;
  padding: 4px 15px 4px 15px !important;
  line-height: 40px !important;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.store-modal__product-summary__add-to-cart-button:hover {
  background-color: #444444 !important;
}

.center-img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}

.store-modal__container__container nav {
  width: 100% !important;
  max-width: 100% !important;
}
