@font-face {
    font-family: "Founders Grotesk";
    src: url("../fonts/founders-grotesk-regular.woff2") format("woff2"), url("../fonts/founders-grotesk-regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Founders Grotesk";
    src: url("../fonts/founders-grotesk-medium.woff2") format("woff2"), url("../fonts/founders-grotesk-medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "GT Alpina Rg";
    src: url("../fonts/GTAlpina-RgIt.woff2") format("woff2"), url("../fonts/GTAlpina-RgIt.woff") format("woff");
    font-weight: normal;
    font-display: swap
}

*,
*::after,
*::before {
    box-sizing: border-box;
    outline: none
}

html,
body {
    height: 100%
}

html {
    font-size: 14px !important
}

@media only screen and (max-width: 575px) {
    html {
        font-size: 14px !important
    }
}

@media only screen and (max-width: 349px) {
    html {
        font-size: 14px !important
    }
}

@media(min-width: 1920px) {
    html {
        font-size: 14px !important
    }
}

body {
    font-family: "Founders Grotesk", sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: -webkit-transform .3s;
    -moz-transition: -moz-transform .3s;
    transition: transform .3s;
    letter-spacing: .03em;
    line-height: 1;
    background: #f2f3ef;
    color: #000
}

body * {
    font-variant-ligatures: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html.dark-mode body {
    background: #000;
    color: #f2f3ef
}

body.nav-is-open {
    overflow: hidden
}
li {
  color: #fff;
}
.lineAnimation,
/* footer a, */
.family-member-name .row a,
.studio-chapter p a,
.swiper-start .project-details-overlay a {
    background-image: linear-gradient(transparent calc(100% - 0.05em), currentColor 0.05em);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    -webkit-transition: background-size .6s, all .3s;
    -moz-transition: background-size .6s, all .3s;
    transition: background-size .6s, all .3s;
    display: inline
}

.touch .lineAnimation,
/* .touch footer a,
footer .touch a, */
.touch .family-member-name .row a,
.family-member-name .row .touch a,
.touch .studio-chapter p a,
.studio-chapter p .touch a,
.touch .swiper-start .project-details-overlay a,
.swiper-start .project-details-overlay .touch a {
    background-size: 100% 100%
}

.lineAnimationDo,
/* footer a:hover, */
.family-member-name .row a:hover,
.studio-chapter p a:hover,
.swiper-start .project-details-overlay a:hover {
    background-size: 100% 100%
}

a {
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

em {
    font-family: "GT Alpina Rg", serif;
    font-size: .88em
}

img[loading=lazy] {
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px);
    -webkit-transition: opacity .2s .2s, filter 1s .2s;
    -moz-transition: opacity .2s .2s, filter 1s .2s;
    transition: opacity .2s .2s, filter 1s .2s
}

img[loading=lazy].lazyloaded {
    -webkit-filter: none;
    filter: none;
    opacity: 1
}

strong {
    font-weight: 500
}

.text-left {
    text-align: left
}

@media only screen and (min-width: 576px) {
    .text-left-S {
        text-align: left !important
    }
}

@media only screen and (min-width: 768px) {
    .text-left-M {
        text-align: left !important
    }
}

@media only screen and (min-width: 992px) {
    .text-left-L {
        text-align: left !important
    }
}

.text-center {
    text-align: center
}

@media only screen and (min-width: 768px) {
    .text-center-M {
        text-align: center !important
    }
}

@media only screen and (min-width: 576px) {
    .text-center-S {
        text-align: center !important
    }
}

@media only screen and (min-width: 992px) {
    .text-center-L {
        text-align: center !important
    }
}

.text-right {
    text-align: right
}

@media only screen and (min-width: 768px) {
    .text-right-M {
        text-align: right !important
    }
}

@media only screen and (min-width: 992px) {
    .text-right-L {
        text-align: right !important
    }
}

.float-right {
    float: right
}

.container {
    padding: 15px 0;
    max-width: calc(100% - 15px*2);
      max-width: calc(100% - 30px);
}

::-moz-selection {
    background-color: #bbb;
    color: #000
}

::selection {
    background-color: #bbb;
    color: #000
}

.splash {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
    z-index: 999;
    -webkit-animation: splashAnimation 3.5s ease-in-out forwards;
    -moz-animation: splashAnimation 3.5s ease-in-out forwards;
    animation: splashAnimation 3.5s ease-in-out forwards
}

.splash>div {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    transform: translateX(-50%) translateY(-50%);
    width: 25%;
    height: auto
}

@media(max-width: 1200px)and (orientation: portrait) {
    .splash>div {
        width: 50vw
    }
}

@media(max-width: 992px)and (orientation: portrait) {
    .splash>div {
        width: 50vw
    }
}

@media(max-width: 576px)and (orientation: portrait) {
    .splash>div {
        width: 67vw
    }
}

.splash>div video,
.splash>div img {
    display: block;
    width: 100%;
    height: auto
}

.splash>div video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none
}

@-webkit-keyframes splashAnimation {

    0%,
    75% {
        -webkit-transform: translateY(0)
    }

    100% {
        -webkit-transform: translateY(-100%)
    }
}

@-moz-keyframes splashAnimation {

    0%,
    75% {
        -moz-transform: translateY(0)
    }

    100% {
        -moz-transform: translateY(-100%)
    }
}

@keyframes splashAnimation {

    0%,
    75% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0)
    }

    100% {
        -webkit-transform: translateY(-100%);
        -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

header {
    padding: 0;
    position: fixed;
    width: 100%;
    z-index: 20;
    pointer-events: none;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

header .logo {
    display: inline-block
}

header .logo img,
header .logo svg {
    height: 1.33rem;
    display: inline-block;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (max-width: 991px) {

    body.nav-is-open header .logo img,
    body:not(.home) header .logo img,
    body.nav-is-open header .logo svg,
    body:not(.home) header .logo svg {
        display: none
    }
}

header .logo img.logo-icon,
header .logo svg.logo-icon {
    display: none;
    -webkit-transform: scale(1.23);
    -moz-transform: scale(1.23);
    -ms-transform: scale(1.23);
    -o-transform: scale(1.23);
    transform: scale(1.23)
}

@media only screen and (max-width: 991px) {

    body.nav-is-open header .logo img.logo-icon,
    body:not(.home) header .logo img.logo-icon,
    body.nav-is-open header .logo svg.logo-icon,
    body:not(.home) header .logo svg.logo-icon {
        display: inline-block
    }
}

header .logo svg {
    fill: #000
}

html.dark-mode header .logo svg {
    fill: #f2f3ef
}

body.home header .logo svg {
    fill: #f2f3ef
}

body.post-type-archive-family header .logo svg,
body.page-template-subpages header .logo svg,
body.error404 header .logo svg {
    fill: #000
}

header a {
    pointer-events: all
}

header .nav-icon {
    position: relative;
    width: 25px;
    height: 25px;
    cursor: pointer;
    -webkit-transition: all .6s;
    -moz-transition: all .6s;
    transition: all .6s
}

header .nav-icon:before,
header .nav-icon:after {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px
}

html.dark-mode header .nav-icon:before,
html.dark-mode header .nav-icon:after {
    background-color: #f2f3ef
}

body.home header .nav-icon:before,
body.home header .nav-icon:after {
    background-color: #f2f3ef
}

body.post-type-archive-family header .nav-icon:before,
body.page-template-subpages header .nav-icon:before,
body.error404 header .nav-icon:before,
body.post-type-archive-family header .nav-icon:after,
body.page-template-subpages header .nav-icon:after,
body.error404 header .nav-icon:after {
    background-color: #000
}

header .nav-icon:before {
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

header .nav-icon:after {
    -webkit-transform: translatey(-50%) rotate(90deg);
    -moz-transform: translatey(-50%) rotate(90deg);
    -ms-transform: translatey(-50%) rotate(90deg);
    -o-transform: translatey(-50%) rotate(90deg);
    transform: translatey(-50%) rotate(90deg)
}

body.nav-is-open header .nav-icon {
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg)
}

body.nav-is-open header .nav-icon:after,
body.nav-is-open header .nav-icon:before {
    background-color: #000 !important
}

html.dark-mode body.nav-is-open header .nav-icon:before,
html.dark-mode body.nav-is-open header .nav-icon:after {
    background-color: #f2f3ef !important
}

body.nav-is-open header .logo svg {
    fill: #000
}

html.dark-mode body.nav-is-open header .logo svg {
    fill: #f2f3ef
}

.breadcrumbs {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10
}

.breadcrumbs,
.project-meta-title {
    line-height: 1;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: -0.032em;
    font-size: 2rem;
    -webkit-transform: translateY(-0.4rem);
    -moz-transform: translateY(-0.4rem);
    -ms-transform: translateY(-0.4rem);
    -o-transform: translateY(-0.4rem);
    transform: translateY(-0.4rem);
    -webkit-transition: all .3s .3s;
    -moz-transition: all .3s .3s;
    transition: all .3s .3s;
    color: #bbb
}

.breadcrumbs .count,
.project-meta-title .count {
    font-family: "GT Alpina Rg", serif;
    font-size: 1rem;
    letter-spacing: 0;
    padding-left: 7.5px;
    display: inline-block;
    text-transform: none;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%)
}

.breadcrumbs .count:before,
.project-meta-title .count:before {
    content: "("
}

.breadcrumbs .count:after,
.project-meta-title .count:after {
    content: ")"
}

@media only screen and (max-width: 991px) {

    body.page-template-subpages .breadcrumbs .count,
    body.page-template-subpages .project-meta-title .count {
        display: none
    }
}

.breadcrumbs .breadcrumb-single,
.project-meta-title .breadcrumb-single {
    color: #bbb
}

@media only screen and (max-width: 991px) {

    .breadcrumbs .breadcrumb-single,
    .project-meta-title .breadcrumb-single {
        display: none
    }
}

@media only screen and (max-width: 1199px) {

    .breadcrumbs .breadcrumb-single span,
    .project-meta-title .breadcrumb-single span {
        display: none
    }
}

@media only screen and (min-width: 992px) {

    .breadcrumbs .offset-lg-3,
    .project-meta-title .offset-lg-3 {
        margin-left: 22%
    }
}

.breadcrumbs p,
.project-meta-title p {
    font-size: 1.1rem;
    letter-spacing: .018em;
    text-transform: none;
    font-weight: normal;
    color: #bbb
}

@media only screen and (max-width: 991px) {

    .breadcrumbs,
    .project-meta-title {
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-0.2em);
        -moz-transform: translateX(-50%) translateY(-0.2em);
        -ms-transform: translateX(-50%) translateY(-0.2em);
        -o-transform: translateX(-50%) translateY(-0.2em);
        transform: translateX(-50%) translateY(-0.2em)
    }
}

body.nav-is-open .breadcrumbs,
body.nav-is-open .project-meta-title {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (max-width: 991px) {

    body.nav-is-open .breadcrumbs,
    body.nav-is-open .project-meta-title {
        -webkit-transform: translateY(calc(-100% + 0.05em)) translateX(-50%);
        -moz-transform: translateY(calc(-100% + 0.05em)) translateX(-50%);
        -ms-transform: translateY(calc(-100% + 0.05em)) translateX(-50%);
        -o-transform: translateY(calc(-100% + 0.05em)) translateX(-50%);
        transform: translateY(calc(-100% + 0.05em)) translateX(-50%)
    }
}

body.post-type-archive-family .breadcrumbs,
body.page-template-subpages .breadcrumbs,
body.error404 .breadcrumbs,
body.post-type-archive-family .project-meta-title,
body.page-template-subpages .project-meta-title,
body.error404 .project-meta-title {
    color: #000
}

.project-meta-title {
    padding: 6rem 0 4rem
}

.project-meta-title a {
    opacity: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@media only screen and (max-width: 991px) {
    .project-meta-title {
        display: none
    }
}

.nav-main {
    position: fixed;
    z-index: 15;
    background: #f2f3ef;
    color: #000;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    pointer-events: none;
    will-change: transform;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: all .6s ease-in-out;
    -moz-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out
}

html.dark-mode .nav-main {
    background: #000;
    color: #fff
}

.nav-main .container {
    height: 100%
}

.nav-main .nav-box {
    padding: 3rem 0 0;
    padding: 54px 0 0;
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box {
        height: calc(100% - 15px)
    }
}

.nav-main .nav-box ul {
    display: flex;
    flex-direction: column;
    height: 100%
}

.nav-main .nav-box ul li {
    flex: 1;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    margin-top: -1px;
    padding: 0;
    line-height: .6;
    position: relative
}

.nav-main .nav-box ul li:first-child {
    margin-top: 0
}

.nav-main .nav-box ul li a {
    display: flex;
    width: calc(100% - 15px);
    align-items: start
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a {
        width: calc(100% - 15px);
        padding: 15px 0 15px 7.5px
    }
}

.nav-main .nav-box ul li a span {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.nav-main .nav-box ul li a span.menu-item {
    font-size: 11vh;
    font-size: 11svh;
    font-weight: 500;
    letter-spacing: -0.05em;
    display: block;
    text-transform: uppercase;
    -webkit-transform: translateY(-0.04em);
    -moz-transform: translateY(-0.04em);
    -ms-transform: translateY(-0.04em);
    -o-transform: translateY(-0.04em);
    transform: translateY(-0.04em);
    pointer-events: none
}

@media only screen and (min-width: 768px) {
    .nav-main .nav-box ul li a span.menu-item {
        font-size: 20vh;
        font-size: 20svh
    }
}

@media only screen and (min-width: 1200px) {
    .nav-main .nav-box ul li a span.menu-item {
        font-size: 25vh;
        font-size: 25svh
    }
}

.nav-main .nav-box ul li a span.count {
    font-family: "GT Alpina Rg", serif;
    padding-left: .5rem;
    margin-left: auto;
    letter-spacing: 0;
    position: relative;
    z-index: 3
}

.nav-main .nav-box ul li a span.count:before {
    content: "("
}

.nav-main .nav-box ul li a span.count:after {
    content: ")"
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a span.count {
        margin-left: auto
    }
}

.nav-main .nav-box ul li a span.type {
    font-family: "GT Alpina Rg", serif;
    width: 7.5em;
    padding-left: 3rem;
    text-align: left;
    letter-spacing: 0
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a span.type {
        display: none
    }
}

.nav-main .nav-box ul li a span.text {
    font-family: "GT Alpina Rg", serif;
    font-size: 13vh;
    font-size: 13svh;
    white-space: nowrap;
    letter-spacing: -0.035em;
    color: #bbb;
    display: inline-block;
    position: relative;
    max-width: 0;
    -webkit-transform: translateY(0.0352em) translateX(100vw);
    -moz-transform: translateY(0.0352em) translateX(100vw);
    -ms-transform: translateY(0.0352em) translateX(100vw);
    -o-transform: translateY(0.0352em) translateX(100vw);
    transform: translateY(0.0352em) translateX(100vw)
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box ul li a span.text {
        font-size: 23vh;
        font-size: 23svh
    }
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a span.text {
        display: none
    }
}

.nav-main .nav-box ul li a span.text:before {
    position: absolute;
    top: -2.5vh;
    top: -2.5svh;
    left: -15px;
    z-index: 2;
    width: 15vh;
    width: 15svh;
    content: "";
    height: 130%;
    /* background: linear-gradient(90deg, #f2f3ef 0%, rgba(242, 243, 239, 0) 100%); */
    -webkit-transition: all .3s .15s;
    -moz-transition: all .3s .15s;
    transition: all .3s .15s
}

html.dark-mode .nav-main .nav-box ul li a span.text:before {
    /* background: linear-gradient(90deg, black 0%, rgba(0, 0, 0, 0) 100%) */
}

.nav-main .nav-box ul li a .nav-item-preview {
    display: flex;
    justify-content: space-evenly;
    max-width: 0;
    margin-left: 0;
    position: relative;
    height: 15.5vh;
    height: 15.5svh;
    overflow: hidden;
    -webkit-transition: max-width .3s;
    -moz-transition: max-width .3s;
    transition: max-width .3s
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a .nav-item-preview {
        display: none
    }
}

@media(min-width: 992px)and (orientation: portrait) {
    .nav-main .nav-box ul li a .nav-item-preview {
        display: none !important
    }
}

.nav-main .nav-box ul li a .nav-item-preview div {
    margin-left: 15px;
    height: 100%;
    position: relative;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center
}

.nav-main .nav-box ul li a .nav-item-preview div:first-of-type:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 0%;
    content: "";
    height: 100%;
    /* background: linear-gradient(90deg, #f2f3ef 0%, rgba(242, 243, 239, 0) 100%); */
    -webkit-transition: all .3s .15s;
    -moz-transition: all .3s .15s;
    transition: all .3s .15s
}

html.dark-mode .nav-main .nav-box ul li a .nav-item-preview div:first-of-type:before {
    /* background: linear-gradient(90deg, black 0%, rgba(0, 0, 0, 0) 100%) */
}

.nav-main .nav-box ul li a .nav-item-preview div img {
    width: auto;
    height: 100%;
    object-fit: contain;
    -webkit-transition: all .6s;
    -moz-transition: all .6s;
    transition: all .6s
}

.nav-main .nav-box ul li a .nav-item-preview div img[data-aspect-ratio="1/1"] {
    aspect-ratio: 1/1
}

.nav-main .nav-box ul li a .nav-item-preview div img[data-aspect-ratio="16/9"] {
    aspect-ratio: 16/9
}

.nav-main .nav-box ul li a .nav-item-preview div span {
    font-family: "GT Alpina Rg", serif;
    font-size: 13vh;
    font-size: 13svh;
    white-space: nowrap;
    position: absolute;
    right: 0;
    opacity: 0;
    color: #bbb;
    -webkit-transform: translateY(0.0352em);
    -moz-transform: translateY(0.0352em);
    -ms-transform: translateY(0.0352em);
    -o-transform: translateY(0.0352em);
    transform: translateY(0.0352em)
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box ul li a .nav-item-preview div span {
        font-size: 23vh;
        font-size: 23svh
    }
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-moving,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-still,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-family,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-shop,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-print {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-moving:hover img,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-still:hover img,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-family:hover img,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-shop:hover img,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-print:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1)
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-moving {
    aspect-ratio: 16/9
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-still {
    aspect-ratio: 16/9
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-family {
    aspect-ratio: 1/1
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-shop,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-print {
    aspect-ratio: 16/11;
    background: #fff
}

.nav-main .nav-box ul li a .nav-item-preview div.nav-img-shop img,
.nav-main .nav-box ul li a .nav-item-preview div.nav-img-print img {
    max-width: calc(100% - 2rem*3);
    max-height: calc(100% - 2rem);
    object-position: center center
}

html.dark-mode .nav-main .nav-box ul li a .nav-item-preview div.nav-img-shop,
html.dark-mode .nav-main .nav-box ul li a .nav-item-preview div.nav-img-print {
    background: #1a1a1a
}

.nav-main .nav-box ul li a:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 10rem;
    content: "";
    display: block;
    height: 100%;
    opacity: 0;
    /* background: linear-gradient(-90deg, #f2f3ef 0%, rgba(242, 243, 239, 0) 100%); */
    pointer-events: none
}

html.dark-mode .nav-main .nav-box ul li a:after {
    background: linear-gradient(-90deg, black 0%, rgba(0, 0, 0, 0) 100%)
}

@media only screen and (max-width: 991px) {
    .nav-main .nav-box ul li a:after {
        display: none
    }
}

.nav-main .nav-box ul li a:hover {
    color: #bbb
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box ul li a:hover {
        width: auto
    }
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box ul li a:hover span.count {
        margin-left: 0
    }
}

.nav-main .nav-box ul li a:hover span.type {
    display: none
}

@media only screen and (min-width: 992px) {
    .nav-main .nav-box ul li a:hover span.text {
        max-width: 100%;
        opacity: 1;
        -webkit-transform: translateY(0.0352em) translateX(0%);
        -moz-transform: translateY(0.0352em) translateX(0%);
        -ms-transform: translateY(0.0352em) translateX(0%);
        -o-transform: translateY(0.0352em) translateX(0%);
        transform: translateY(0.0352em) translateX(0%)
    }
}

.nav-main .nav-box ul li a:hover:after {
    opacity: 1
}

.nav-main .nav-box ul li a:hover .nav-item-preview {
    max-width: 100%;
    -webkit-transition: max-width .9s;
    -moz-transition: max-width .9s;
    transition: max-width .9s;
    margin-left: auto
}

.nav-main .nav-box ul li a:hover .nav-item-preview div:first-of-type:before {
    width: 50%
}

.nav-main .nav-box ul li a:hover .nav-item-preview div span {
    opacity: 1
}

.nav-main .nav-box ul li.has-text a:after {
    position: absolute;
    top: -2.5vh;
    top: -2.5svh;
    right: 0;
    z-index: 2;
    width: 0;
    content: "";
    height: 130%;
    /* background: linear-gradient(-90deg, #f2f3ef 0%, rgba(242, 243, 239, 0) 100%); */
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

html.dark-mode .nav-main .nav-box ul li.has-text a:after {
    background: linear-gradient(-90deg, black 0%, rgba(0, 0, 0, 0) 100%)
}

.nav-main .nav-box ul li.has-text a:hover:after {
    width: 15vh;
    width: 15svh
}

.nav-main .nav-box ul li:before,
.nav-main .nav-box ul li:after {
    position: absolute;
    z-index: 2;
    content: "";
    height: 1px;
    right: 0;
    width: 0%;
    background: #bbb;
    -webkit-transition: width .45s;
    -moz-transition: width .45s;
    transition: width .45s
}

.nav-main .nav-box ul li:before {
    top: -1px
}

.nav-main .nav-box ul li:after {
    bottom: -1px
}

.nav-main .nav-box ul li:hover:before,
.nav-main .nav-box ul li:hover:after {
    width: 100%
}

.nav-main .nav-bottom {
    font-size: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%
}

.nav-main .nav-bottom em {
    display: block
}

@media(orientation: landscape)or (min-width: 992px) {
    .nav-main .nav-bottom {
        display: none
    }
}

body.nav-is-open .nav-main {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0)
}

.video-embed {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden
}

.video-embed::before {
    display: block;
    content: "";
    padding-top: 61.25%
}

.video-embed iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.dark-mode-toggle {
    position: absolute;
    top: 0;
    right: 6rem;
    -webkit-transform: translateY(50%);
    -moz-transform: translateY(50%);
    -ms-transform: translateY(50%);
    -o-transform: translateY(50%);
    transform: translateY(50%);
    opacity: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.dark-mode-toggle a {
    font-size: 1.25rem;
    display: inline-block;
    color: #000;
    opacity: .3;
    margin-left: .5em
}

.dark-mode-toggle a.is-active {
    opacity: 1
}

.dark-mode-toggle a#lightModeToggle {
    font-size: 1.5rem
}

html.dark-mode .dark-mode-toggle a {
    color: #f2f3ef
}

@media only screen and (max-width: 991px) {
    .dark-mode-toggle {
        right: 50%;
        -webkit-transform: translate(50%, 50%);
        -moz-transform: translate(50%, 50%);
        -ms-transform: translate(50%, 50%);
        -o-transform: translate(50%, 50%);
        transform: translate(50%, 50%)
    }
}

body.nav-is-open .dark-mode-toggle {
    opacity: 1
}

.swiper-start {
    height: 100vh;
    height: 100svh
}

.swiper-start .swiper-slide {
    height: 100vh;
    height: 100svh;
    position: relative
}

.swiper-start .swiper-slide>img,
.swiper-start .swiper-slide>video {
    height: 100vh;
    height: 100svh;
    width: 100vw;
    object-fit: cover;
    object-position: center center
}

.swiper-start .hovn-blur {
    position: absolute;
    bottom: 8px;
    left: 0;
    z-index: 2;
    width: 100%
}

.swiper-start .hovn-blur img:not(.nofx),
.swiper-start .hovn-blur video {
    mask-image: url("../images/hovn.svg");
    -webkit-mask-image: url("../images/hovn.svg");
    mask-mode: alpha;
    -webkit-mask-mode: alpha;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: calc(100% - 2rem);
    -webkit-mask-size: calc(100% - 2rem);
    mask-position: bottom center;
    -webkit-mask-position: bottom center;
    object-fit: cover;
    -webkit-filter: blur(25px) brightness(150%) saturate(0.85);
    filter: blur(25px) brightness(150%) saturate(0.85)
}

.swiper-start .hovn-blur img,
.swiper-start .hovn-blur video {
    width: 100%
}

@media only screen and (max-width: 991px) {
    .swiper-start .hovn-blur {
        top: 50%;
        bottom: auto;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        height: 100%
    }

    .swiper-start .hovn-blur img:not(.no-fx),
    .swiper-start .hovn-blur video {
        mask-image: url("../images/hovn-icon-white.svg");
        -webkit-mask-image: url("../images/hovn-icon-white.svg");
        mask-position: center center;
        -webkit-mask-position: center center;
        mask-size: 37vw 37vw;
        -webkit-mask-size: 37vw 37vw;
        top: 50%;
        height: 100%;
        position: absolute;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (max-width: 575px) {

    .swiper-start .hovn-blur img:not(.no-fx),
    .swiper-start .hovn-blur video {
        mask-size: 57vw 57vw;
        -webkit-mask-size: 57vw 57vw
    }
}

.swiper-start .project-details-overlay {
    position: absolute;
    width: 100%;
    top: auto;
    bottom: calc((100vw - 30px)/3.8095238095);
    left: 0;
    z-index: 3;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .03em;
    overflow: hidden
}

@media only screen and (max-width: 991px) {
    .swiper-start .project-details-overlay {
        top: auto;
        bottom: 8px;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none
    }
}

.swiper-start .project-details-overlay .project-name {
    white-space: nowrap;
    overflow: hidden
}

@media only screen and (min-width: 992px) {
    .swiper-start .project-details-overlay .project-name {
        width: 22.7%;
        text-overflow: ellipsis
    }
}

.swiper-start .project-details-overlay .project-name .client {
    text-transform: uppercase
}

@media only screen and (max-width: 991px) {
    .swiper-start .project-details-overlay .project-name .client {
        display: block
    }
}

.swiper-start .project-details-overlay .project-post-type {
    text-transform: capitalize
}

@media(max-width: 1919px) {
    .swiper-start .project-details-overlay .explore-project {
        margin-left: auto
    }
}

@media(min-width: 1920px) {
    .swiper-start .project-details-overlay .explore-project {
        margin-left: auto;
        width: auto
    }
}

@media only screen and (max-width: 767px) {
    .swiper-start .project-details-overlay .explore-project {
        display: none
    }
}

@media(min-width: 1920px) {
    .swiper-start .project-details-overlay .quick-overview {
        margin-left: 3%
    }
}

@media only screen and (max-width: 767px) {
    .swiper-start .project-details-overlay .quick-overview {
        display: none
    }
}

.swiper-start .project-details-overlay .row {
    overflow: hidden
}

.swiper-start .project-details-overlay .row>div {
    -webkit-animation-delay: .3s;
    -moz-animation-delay: .3s;
    animation-delay: .3s
}

.swiper-start .project-details-overlay .row>div.project-post-type {
    -webkit-animation-delay: .6s;
    -moz-animation-delay: .6s;
    animation-delay: .6s
}

.swiper-pagination {
    text-align: inherit;
    bottom: auto;
    top: auto
}

.relative {
    position: relative
}

.swiper-quotes {
    margin: 0 auto;
    text-align: center;
    overflow: visible;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@media only screen and (min-width: 992px) {
    .swiper-quotes {
        margin: 6rem auto
    }
}

.swiper-quotes .swiper-wrapper {
    height: 30vh;
    height: 30svh;
    overflow: visible
}

.swiper-quotes .swiper-slide {
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.swiper-quotes .swiper-slide:not(.swiper-slide-active) {
    opacity: 0;
    pointer-events: none
}

.swiper-quotes p {
    font-size: 1.44rem;
    letter-spacing: -0.005em;
    width: 100%;
    text-align: center
}

@media only screen and (min-width: 992px) {
    .swiper-quotes p {
        font-size: 2.88rem
    }
}

@media(min-width: 1920px) {
    .swiper-quotes p {
        font-size: 3.88rem
    }
}

.swiper-quotes p em {
    letter-spacing: -0.01em
}

.swiper-quotes-navigation {
    position: relative;
    font-family: "GT Alpina Rg", serif
}

.swiper-quotes-navigation div {
    cursor: pointer;
    font-size: 2rem;
    -webkit-transform: skew(15deg);
    -moz-transform: skew(15deg);
    -ms-transform: skew(15deg);
    -o-transform: skew(15deg);
    transform: skew(15deg)
}

section {
    overflow: hidden;
    position: relative
}

section.o-h {
    overflow: clip
}

section.bg-orange {
    background: #ff6317
}

section.bg-orange {
    color: #000
}

section.bg-black {
    background: #000
}

section.bg-black,
section.bg-black * {
    color: #fff
}

section.bg-black:before,
section.bg-black:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 20vh;
    height: 20svh;
    z-index: 2;
    content: ""
}

section.bg-black:before {
    top: 0;
    background: linear-gradient(180deg, black 0%, rgba(0, 0, 0, 0) 100%)
}

section.bg-black:after {
    bottom: 0;
    background: linear-gradient(0, black 0%, rgba(0, 0, 0, 0) 100%)
}

.vh-100 {
    height: 100vh;
    height: 100svh
}

@media only screen and (max-width: 991px) {
    body.page-template-subpages .vh-100 {
        padding-top: 2rem;
        height: auto;
        min-height: 100svh
    }

    body.page-template-subpages .vh-100:has(.mobile-gradient-end) {
        padding-bottom: 7.5rem
    }
}

@media only screen and (min-width: 992px) {
    .vh-100-L {
        height: 100vh;
        height: 100svh
    }
}

.h-100 {
    height: 100%
}

@media only screen and (min-width: 992px) {
    .h-100-L {
        height: 100%
    }
}

.grid-details-overlay {
    position: absolute;
    top: 0;
    left: 0;
    padding: 15px;
    color: #fff;
    z-index: 2;
    justify-content: space-between;
    width: 100%;
    display: flex
}

.grid-details-overlay>div span,
.grid-details-overlay>div a {
    border-radius: 6px;
    background: #959ca4;
    padding: .35rem .65rem .45rem;
    font-family: "GT Alpina Rg", serif;
    margin-left: .3rem;
    opacity: 0;
    line-height: 1;
    pointer-events: all;
    align-self: center;
    letter-spacing: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.grid-details-overlay>div span:hover,
.grid-details-overlay>div a:hover {
    background: #ff6317
}

html.touch .grid-details-overlay>div span,
html.touch .grid-details-overlay>div a {
    background: #ff6317
}

.overlay-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 15px;
    pointer-events: none;
    width: 100%;
    z-index: 2;
    color: #fff;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 992px) {
    .overview-grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        grid-auto-flow: dense;
        grid-column-gap: 15px;
        grid-row-gap: 15px
    }
}

.overview-grid+.overview-grid {
    margin-top: 15px
}

.overview-grid>* {
    background: none;
    position: relative;
    overflow: hidden
}

@media only screen and (max-width: 991px) {
    .overview-grid>* {
        margin-bottom: 15px;
        display: block
    }

    .overview-grid>*:last-of-type {
        margin-bottom: 0
    }
}

.overview-grid>*:before {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(-180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%);
    content: ""
}

@media only screen and (min-width: 992px) {
    .overview-grid>*:before {
        height: 50%
    }
}

.overview-grid>* img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    display: block;
    -webkit-transition: all .6s;
    -moz-transition: all .6s;
    transition: all .6s
}

.overview-grid>*:hover .grid-details-overlay span,
.overview-grid>*:hover .grid-details-overlay a {
    opacity: 1;
    pointer-events: all
}

.overview-grid>*:hover .trigger-explore {
    background: #ff6317
}

.overview-grid .div1 {
    grid-area: 1/1/3/5
}

.overview-grid .div2 {
    grid-area: 1/5/2/7
}

.overview-grid .div3 {
    grid-area: 2/5/3/7
}

.overview-grid .div4 {
    grid-area: 3/1/4/4
}

.overview-grid .div5 {
    grid-area: 3/4/4/7
}

.overview-grid .div6 {
    grid-area: 4/1/5/3
}

.overview-grid .div7 {
    grid-area: 5/1/6/3
}

.overview-grid .div8 {
    grid-area: 4/3/6/7
}

.parallax {
    overflow: hidden
}

.parallax>img {
    height: 120% !important;
    width: 120% !important
}

.swiper-slide .parallax>img {
    height: 110% !important;
    width: 110% !important
}

.pfeil-rechts:after {
    content: "→";
    font-family: "GT Alpina Rg", serif;
    font-size: 1.2em;
    display: inline-block;
    -webkit-transform: skew(15deg);
    -moz-transform: skew(15deg);
    -ms-transform: skew(15deg);
    -o-transform: skew(15deg);
    transform: skew(15deg)
}

.clients-text {
    text-align: center;
    position: relative;
    max-height: 35vh;
    max-height: 35svh;
    overflow: visible
}

@media only screen and (min-width: 992px) {
    .clients-text {
        max-height: 55vh;
        max-height: 55svh
    }
}

.clients-text>div {
    display: flex;
    align-items: start;
    justify-content: center;
    -webkit-transform: translateY(-50vh);
    -moz-transform: translateY(-50vh);
    -ms-transform: translateY(-50vh);
    -o-transform: translateY(-50vh);
    transform: translateY(-50vh);
    -webkit-transform: translateY(-50svh);
    -moz-transform: translateY(-50svh);
    -ms-transform: translateY(-50svh);
    -o-transform: translateY(-50svh);
    transform: translateY(-50svh);
    white-space: nowrap
}

.clients-text>div .client-name {
    font-size: 2.25rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #f2f3ef;
    line-height: .74;
    text-transform: uppercase;
    display: inline-block
}

@media only screen and (min-width: 992px) {
    .clients-text>div .client-name {
        font-size: 6rem
    }
}

@media(min-width: 1920px) {
    .clients-text>div .client-name {
        font-size: 8rem
    }
}

.clients-text>div .client-location {
    display: inline-block;
    font-family: "GT Alpina Rg", serif;
    margin-left: 15px;
    font-size: 1rem;
    -webkit-transform: translateY(62.5%);
    -moz-transform: translateY(62.5%);
    -ms-transform: translateY(62.5%);
    -o-transform: translateY(62.5%);
    transform: translateY(62.5%)
}

@media only screen and (max-width: 991px) {
    .clients-text>div .client-location {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .family-parent {
        max-height: 100svh;
        overflow: auto;
        padding: 6rem 0
    }
}

.family-parent::-webkit-scrollbar {
    display: none
}

.family-member,
.studio-chapter-title {
    font-size: 3rem;
    letter-spacing: -0.02em;
    margin: 1.875px 7.5px
}

@media(min-width: 768px)and (max-width: 992px) {

    .family-member,
    .studio-chapter-title {
        width: 100%
    }
}

@media only screen and (min-width: 1200px) {

    .family-member,
    .studio-chapter-title {
        font-size: 3.67rem;
        margin: 7.5px
    }
}

@media(min-width: 1920px) {

    .family-member,
    .studio-chapter-title {
        font-size: 2.67rem
    }
}

.family-member em,
.studio-chapter-title em {
    display: inline-block;
    padding-left: .25em;
    letter-spacing: -0.035em;
    -webkit-transform: translateY(0.15em);
    -moz-transform: translateY(0.15em);
    -ms-transform: translateY(0.15em);
    -o-transform: translateY(0.15em);
    transform: translateY(0.15em)
}

.family-member>a,
.studio-chapter-title>a {
    display: flex;
    align-items: start;
    padding: 0 7.5px;
    justify-content: center
}

.family-member>a:hover,
.studio-chapter-title>a:hover {
    color: #f2f3ef
}

.family-member .family-location,
.studio-chapter-title .family-location {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0;
    padding-left: 15px;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%)
}

@media only screen and (max-width: 767px) {

    .family-member .family-location,
    .studio-chapter-title .family-location {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .family-member {
        margin-inline: auto
    }
}

.studio-chapter {
    position: relative;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 992px) {
    .studio-chapter {
        display: flex;
        flex-direction: column
    }
}

.studio-chapter:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (max-width: 991px) {
    .studio-chapter:before {
        display: none
    }
}

@media only screen and (min-width: 992px) {
    .studio-chapter:before {
        width: 1px;
        height: calc(100% - 6rem)
    }
}

.studio-chapter p a {
    -webkit-transition: none;
    -moz-transition: none;
    transition: none
}

.studio-chapter:hover a {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 992px) {
    .studio-chapter:hover {
        color: #fff
    }

    .studio-chapter:hover:before {
        background: #fff
    }

    html.no-touch .studio-chapter:hover .chapter-text {
        opacity: 1
    }
}

.studio-chapter-title {
    display: flex;
    text-align: left
}

@media only screen and (min-width: 992px) {
    .studio-chapter-title {
        margin-top: auto;
        order: 1;
        -webkit-transform: translateY(17.5%);
        -moz-transform: translateY(17.5%);
        -ms-transform: translateY(17.5%);
        -o-transform: translateY(17.5%);
        transform: translateY(17.5%)
    }
}

@media only screen and (max-width: 991px) {
    .studio-chapter-title {
        position: relative;
        padding: .5rem 0;
        font-size: 1rem;
        text-transform: uppercase;
        margin: 3rem 0 .5rem 0
    }

    .studio-chapter-title:before {
        content: "";
        background: #000;
        position: absolute;
        width: 100%;
        height: 1px;
        left: 0;
        top: 0
    }
}

.chapter-text {
    font-size: 1rem;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s
}

@media only screen and (min-width: 992px) {
    .chapter-text {
        margin-top: 6rem;
        width: 97%;
        padding-left: 15px;
        padding-bottom: 1rem
    }
}

.chapter-text p+p {
    margin-top: 1em
}

@media only screen and (min-width: 992px) {
    .chapter-text {
        max-height: 80vh;
        max-height: 80svh;
        overflow: scroll;
        overflow-x: hidden
    }

    html.no-touch .chapter-text {
        opacity: 0
    }

    .chapter-text::-webkit-scrollbar {
        display: none
    }
}

.mobile-gradient-end,
.mobile-gradient-start {
    position: fixed;
    left: 0;
    width: 100%;
    height: 7.5rem;
    pointer-events: none;
    z-index: 2
}

@media only screen and (min-width: 576px) {

    .mobile-gradient-end,
    .mobile-gradient-start {
        display: none
    }
}

.mobile-gradient-start {
    top: 0;
    background: linear-gradient(0deg, rgba(255, 99, 23, 0) 0%, #ff6317 100%)
}

.mobile-gradient-end {
    bottom: 0;
    background: linear-gradient(0deg, #ff6317 0%, rgba(255, 99, 23, 0) 100%)
}

@media only screen and (max-width: 575px) {
    body:has(.mobile-gradient-end) {
        padding-bottom: 7.5rem
    }
}

@media only screen and (min-width: 992px) {
    .offset-moving-breadcrumbs {
        margin-left: 33vw
    }
}

@media only screen and (min-width: 1200px) {
    .offset-moving-breadcrumbs {
        margin-left: 22vw
    }
}

.scroll-horizontal {
    margin-top: 3rem
}

@media only screen and (min-width: 768px) {
    .scroll-horizontal {
        margin-top: 0;
        display: flex;
        align-items: flex-end;
        height: calc(100vh - 15px - 15px);
        height: calc(100svh - 15px - 15px);
        overflow-x: auto
    }
}

.scroll-horizontal .project {
    width: calc(100vw - 15px - 15px);
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    margin-bottom: 15px
}

@media only screen and (min-width: 768px) {
    .scroll-horizontal .project {
        flex: 0 0 auto;
        width: 33vw;
        padding-right: 15px;
        margin-bottom: 0
    }
}

@media only screen and (min-width: 1200px) {
    .scroll-horizontal .project {
        flex: 0 0 auto;
        width: 22vw;
        padding-right: 15px;
        margin-bottom: 0
    }
}

.scroll-horizontal .project figure {
    position: relative;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 768px) {
    .scroll-horizontal .project figure {
        height: 60vh;
        height: 60svh
    }
}

.scroll-horizontal .project figure:after,
.scroll-horizontal .project figure .indicator {
    content: "";
    background: rgba(0, 0, 0, .2);
    width: calc(100% + 15px);
    height: 1px;
    position: absolute;
    top: -0.75rem;
    z-index: 2;
    left: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

html.dark-mode .scroll-horizontal .project figure:after,
html.dark-mode .scroll-horizontal .project figure .indicator {
    background: rgba(242, 243, 239, .2)
}

@media only screen and (max-width: 991px) {

    .scroll-horizontal .project figure:after,
    .scroll-horizontal .project figure .indicator {
        display: none !important
    }
}

.scroll-horizontal .project figure .indicator {
    background: #ff6317 !important;
    width: 0;
    height: .2rem;
    z-index: 3
}

.scroll-horizontal .project figure:before {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(-180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%);
    content: "";
    pointer-events: none
}

@media only screen and (min-width: 768px) {
    .scroll-horizontal .project figure:before {
        height: 50%
    }
}

.scroll-horizontal .project figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (max-width: 767px) {
    .scroll-horizontal .project figure img {
        aspect-ratio: 1100/550
    }
}

.scroll-horizontal .project figure .grid-details-overlay>div {
    white-space: nowrap
}

.scroll-horizontal .project figure .overlay-bottom {
    opacity: 0
}

.scroll-horizontal .project .project-description {
    opacity: 0;
    margin-bottom: 1.5rem;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    height: 30vh;
    height: 30svh;
    display: flex;
    align-items: center;
    position: relative;
    color: rgba(0, 0, 0, .25)
}

html.dark-mode .scroll-horizontal .project .project-description {
    color: rgba(255, 255, 255, .25)
}

@media only screen and (max-width: 767px) {
    .scroll-horizontal .project .project-description {
        display: none !important
    }
}

.scroll-horizontal .project .project-description .text p+p {
    margin-top: 1em
}

.scroll-horizontal .project .project-description .images {
    flex: 0 0 auto;
    width: auto;
    height: 100%;
    overflow-x: scroll;
    max-width: 100vw;
    white-space: nowrap;
    display: none
}

.scroll-horizontal .project .project-description .images img {
    margin-right: 15px;
    height: 100%;
    width: auto !important;
    flex: 0 0 auto
}

.scroll-horizontal .project .project-description .images::-webkit-scrollbar {
    display: none
}

@media only screen and (min-width: 768px) {

    .scroll-horizontal .project:hover,
    .scroll-horizontal .project.quickoverview-is-open {
        width: calc(88vw + 15px)
    }
}

@media only screen and (min-width: 992px) {

    .scroll-horizontal .project:hover,
    .scroll-horizontal .project.quickoverview-is-open {
        width: calc(44vw + 15px)
    }
}

.scroll-horizontal .project:hover figure .indicator,
.scroll-horizontal .project.quickoverview-is-open figure .indicator {
    -webkit-transition: all .3s .2s;
    -moz-transition: all .3s .2s;
    transition: all .3s .2s
}

@media only screen and (min-width: 768px) {

    .scroll-horizontal .project:hover figure .indicator,
    .scroll-horizontal .project.quickoverview-is-open figure .indicator {
        width: 3.33rem
    }
}

.scroll-horizontal .project:hover figure .overlay-bottom,
.scroll-horizontal .project.quickoverview-is-open figure .overlay-bottom {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all .3s .2s;
    -moz-transition: all .3s .2s;
    transition: all .3s .2s
}

@media only screen and (max-width: 767px) {

    .scroll-horizontal .project:hover figure img,
    .scroll-horizontal .project.quickoverview-is-open figure img {
        aspect-ratio: 1/1
    }
}

.scroll-horizontal .project:hover .project-description,
.scroll-horizontal .project.quickoverview-is-open .project-description {
    opacity: 1;
    -webkit-transition: all .3s .2s;
    -moz-transition: all .3s .2s;
    transition: all .3s .2s
}

.scroll-horizontal .project:hover .grid-details-overlay span,
.scroll-horizontal .project:hover .grid-details-overlay a,
.scroll-horizontal .project.quickoverview-is-open .grid-details-overlay span,
.scroll-horizontal .project.quickoverview-is-open .grid-details-overlay a {
    opacity: 1;
    pointer-events: all
}

.scroll-horizontal .project.quickoverview-is-open .text {
    display: none
}

.scroll-horizontal .project.quickoverview-is-open .images {
    display: block
}

.scroll-horizontal .project.quickoverview-is-open .trigger-quickoverview {
    background: #ff6317
}

.scroll-horizontal .project.quickoverview-is-open .trigger-quickoverview:after {
    content: " X";
    font-family: "Founders Grotesk", sans-serif;
    font-size: 1rem
}

.scroll-horizontal:has(.quickoverview-is-open) {
    overflow: hidden
}

.scroll-horizontal:has(.quickoverview-is-open) .project:not(.quickoverview-is-open) {
    pointer-events: none;
    opacity: .1
}

.scroll-horizontal::-webkit-scrollbar {
    display: none
}

.hero-section {
    position: relative;
    aspect-ratio: 1890/788
}

.hero-section:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .6s;
    -moz-transition: all .6s;
    transition: all .6s;
    will-change: backdrop-filter
}

@supports(-webkit-backdrop-filter: none) or (backdrop-filter: none) {
    .hero-section:after {
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px)
    }
}

.hero-section img,
.hero-section video {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%
}

.hero-section .video-embed {
    background: #000
}

.hero-section a,
.hero-section span {
    opacity: 1 !important;
    pointer-events: all !important;
    background: none !important;
    padding: 0 !important;
    font-family: "Founders Grotesk", sans-serif !important;
    font-size: 1.11rem !important
}

.hero-section .grid-details-overlay {
    z-index: 3
}

.hero-section .credits-overlay {
    position: absolute;
    top: 5rem;
    width: calc(100% - 15px - 15px);
    left: 15px;
    color: #fff;
    z-index: 3;
    display: none
}

.hero-section .credits-overlay .row .row {
    border-top: 1px solid currentColor;
    padding: .25rem 0 0;
    margin-bottom: 1.5rem;
    letter-spacing: .002em
}

.hero-section .credits-trigger i {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.hero-section.credits-is-open:after {
    opacity: 1
}

.hero-section.credits-is-open .credits-trigger i {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

.credits-trigger-mobile.credits-mobile-is-open i {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

.credits-mobile {
    display: none
}

.credits-mobile .row .row {
    border-top: 1px solid currentColor;
    padding: .35em 0
}

.mobile-project-meta {
    opacity: .3
}

.detail-view .row.ls-0 {
    margin-top: 0
}

.detail-view .row.ls-1x {
    margin-top: 1.5rem
}

.detail-view .row.ls-2x {
    margin-top: 3rem
}

.detail-view .row.ls-3x {
    margin-top: 4.5rem
}

.detail-view .row.ls-4x {
    margin-top: 6rem
}

.detail-view .row.ls-5x {
    margin-top: 7.5rem
}

@media only screen and (max-width: 575px) {
    .detail-view .row {
        margin-top: 0
    }
}

.detail-view .row:nth-child(odd) .text {
    margin-left: auto
}

.detail-view .row:nth-child(odd) .text>div {
    -webkit-animation-delay: .5s;
    -moz-animation-delay: .5s;
    animation-delay: .5s
}

.detail-view .row:nth-child(even) {
    justify-content: flex-end
}

.detail-view .row:nth-child(even) .text {
    order: 0
}

.detail-view .row:nth-child(even)>div:not(.text) {
    order: 1
}

.detail-view .row:nth-child(even)>div:not(.text):nth-child(1) {
    margin-left: auto
}

.detail-view .row figure {
    overflow: hidden
}

.detail-view img,
.detail-view video {
    width: 100%;
    height: auto;
    display: block
}

.detail-view img.img-2,
.detail-view video.img-2 {
    -webkit-animation-delay: .25s;
    -moz-animation-delay: .25s;
    animation-delay: .25s
}

.detail-view strong {
    background: #ff6317;
    border-radius: 5px;
    color: #fff;
    padding: .15em .25em;
    font-size: .88em;
    font-weight: normal;
    font-family: "GT Alpina Rg", serif
}

.next-project-trigger {
    overflow: hidden;
    display: block;
    margin-top: 15rem;
    font-size: 2rem
}

@media only screen and (max-width: 575px) {
    .next-project-trigger {
        margin-top: 12.5rem
    }
}

.next-project-trigger .next-project-label {
    font-family: "GT Alpina Rg", serif;
    font-size: .88em;
    color: #ff6317
}

.next-project-trigger .next-project-artist {
    opacity: .3;
    font-size: 1.1rem
}

.next-project-trigger .next-project-thumb {
    height: 40vh;
    height: 40svh;
    overflow: hidden;
    margin-top: .75rem
}

.next-project-trigger .next-project-thumb img {
    display: block;
    -webkit-transition: all 1.2s;
    -moz-transition: all 1.2s;
    transition: all 1.2s;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.next-project-trigger:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1)
}

.scroll-horizontal-family {
    margin-top: 2rem;
    padding-bottom: 15px
}

@media only screen and (max-width: 991px) {
    .scroll-horizontal-family {
        padding-bottom: 0;
        margin-top: 0
    }
}

@media only screen and (min-width: 992px) {
    .scroll-horizontal-family {
        display: flex;
        align-items: flex-end;
        overflow-x: auto
    }
}

.scroll-horizontal-family .family-item {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    margin-bottom: 15px
}

@media only screen and (min-width: 992px) {
    .scroll-horizontal-family .family-item {
        flex: 0 0 auto;
        margin-right: 15px;
        margin-bottom: 0
    }
}

.scroll-horizontal-family .family-item figure {
    position: relative;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 992px) {
    .scroll-horizontal-family .family-item figure {
        height: 60vh;
        height: 60svh
    }
}

.scroll-horizontal-family .family-item figure:after,
.scroll-horizontal-family .family-item figure .indicator {
    content: "";
    background: rgba(0, 0, 0, .2);
    width: calc(100% + 15px);
    height: 1px;
    position: absolute;
    bottom: -0.75rem;
    z-index: 2;
    left: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

html.dark-mode .scroll-horizontal-family .family-item figure:after,
html.dark-mode .scroll-horizontal-family .family-item figure .indicator {
    background: rgba(242, 243, 239, .2)
}

@media only screen and (max-width: 991px) {

    .scroll-horizontal-family .family-item figure:after,
    .scroll-horizontal-family .family-item figure .indicator {
        display: none
    }
}

.scroll-horizontal-family .family-item figure .indicator {
    background: #ff6317 !important;
    width: 3.33rem;
    width: 0;
    height: .2rem;
    z-index: 3
}

.scroll-horizontal-family .family-item figure .indicator.is-visible {
    width: 3.33rem
}

.scroll-horizontal-family .family-item figure:before {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(0, black 0%, rgba(0, 0, 0, 0) 100%);
    opacity: .2;
    content: "";
    bottom: 0;
    left: 0;
    pointer-events: none
}

@media only screen and (min-width: 992px) {
    .scroll-horizontal-family .family-item figure:before {
        height: 50%
    }
}

.scroll-horizontal-family .family-item figure img,
.scroll-horizontal-family .family-item figure video {
    width: auto;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: center;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

@media only screen and (max-width: 991px) {

    .scroll-horizontal-family .family-item figure img,
    .scroll-horizontal-family .family-item figure video {
        height: auto
    }
}

.scroll-horizontal-family .family-item figure .grid-details-overlay>div {
    white-space: nowrap
}

.scroll-horizontal-family .family-item figure .overlay-bottom {
    display: flex
}

.scroll-horizontal-family::-webkit-scrollbar {
    display: none
}

.family-member-name {
    position: relative
}

@media(orientation: portrait) {
    .family-member-name {
        margin-bottom: 30px
    }
}

.family-member-name a:hover {
    color: currentColor
}

.family-member-name .row {
    position: absolute;
    bottom: 0;
    width: calc(100% - 15px/2);
    margin: 0 15px
}

@media only screen and (min-width: 768px) {
    .family-member-name .row {
        margin: 15px 15px
    }
}

@media only screen and (max-width: 767px) {
    .family-member-name .row {
        -webkit-transform: translateY(2rem);
        -moz-transform: translateY(2rem);
        -ms-transform: translateY(2rem);
        -o-transform: translateY(2rem);
        transform: translateY(2rem)
    }
}

.family-member-name .row a {
    color: #ff6317
}

@media only screen and (max-width: 991px) {
    .family-member-name {
        padding-top: 8rem
    }

    .family-member-name a {
        -webkit-box-pack: center;
        -moz-box-pack: center;
        box-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        -o-justify-content: center;
        justify-content: center;
        -ms-flex-pack: center;
        flex-wrap: wrap
    }

    .family-member-name .family-location {
        display: block !important;
        flex-basis: 100%;
        text-align: center;
        font-size: 1.8rem;
        font-family: "GT Alpina Rg", serif;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
        margin-top: .5em;
        margin-bottom: 1.5rem
    }
}

.family-bio {
    padding: 15px 0;
    color: #000
}

@media only screen and (max-width: 991px) {
    .family-bio {
        padding-top: 0
    }
}

html.dark-mode .family-bio {
    color: #fff
}

@media only screen and (min-width: 992px) {
    .family-bio {
        opacity: .25;
        max-height: 22vh;
        max-height: 22svh;
        overflow: scroll;
        overflow-x: hidden
    }
}

.family-bio p {
    font-size: 1.11rem
}

.family-bio p+p {
    margin-top: 1rem
}

.error-img {
    width: 100%
}

.error-code {
    position: absolute;
    bottom: 15px;
    left: 15px;
    width: 100%;
    color: #000
}

.no-touch .mb-notouch-0 {
    margin-bottom: 0 !important
}

footer {
    background: #ff6317;
    color: #000;
    letter-spacing: .03em;
    line-height: 1.06;
    white-space: nowrap
}

@media only screen and (max-width: 575px) {
    footer {
        font-size: .83rem
    }
}

footer em {
    font-size: .92em;
    letter-spacing: 0
}

footer .space {
    display: block;
    height: 8rem
}

@media only screen and (min-width: 992px) {
    footer .space {
        height: 15rem
    }
}

footer .border-left {
    position: relative;
    padding-left: 7.5px
}

@media only screen and (min-width: 992px) {
    footer .border-left {
        padding-left: 15px
    }
}

footer .border-left:before {
    position: absolute;
    height: 100%;
    width: 1px;
    background: #000;
    content: "";
    -webkit-transform: translateX(-7.5px);
    -moz-transform: translateX(-7.5px);
    -ms-transform: translateX(-7.5px);
    -o-transform: translateX(-7.5px);
    transform: translateX(-7.5px)
}

@media only screen and (min-width: 992px) {
    footer .border-left:before {
        -webkit-transform: translateX(-15px);
        -moz-transform: translateX(-15px);
        -ms-transform: translateX(-15px);
        -o-transform: translateX(-15px);
        transform: translateX(-15px)
    }
}

footer .footer-icon {
    height: 2.78rem;
    width: auto;
    display: block;
    margin-top: -0.78rem
}

body.post-type-archive-family footer,
body.single-family footer,
body.page-template-subpages footer,
.error404 footer,
body.post-type-archive footer {
    display: none
}

body.post-type-archive-print .print-shop {
    padding-top: 6rem
}

@media only screen and (min-width: 992px) {
    body.post-type-archive-print .print-shop {
        padding-top: 20rem
    }
}

.print-item {
    aspect-ratio: 1/1;
    background-color: #fff;
    position: relative;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    color: #000;
    display: flex;
    flex-direction: column;
    will-change: background-color
}

.print-item figure {
    width: 100%;
    text-align: center;
    margin: auto;
    display: flex;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center
}

.print-item figure img {
    object-fit: contain;
    object-position: center;
    padding: 15px;
    background: #fff;
    margin: 0 auto;
    display: block
}

.print-item figure img.landscape {
    height: auto;
    max-width: calc(100% - 15px*4)
}

@media only screen and (max-width: 991px) {
    .print-item figure img.landscape {
        max-width: calc(100% - 15px*2)
    }
}

.print-item figure img.portrait {
    width: auto;
    max-width: 50%;
    max-height: calc(100% - 15px*4)
}

@media only screen and (max-width: 991px) {
    .print-item figure img.portrait {
        max-width: 60%;
        max-height: calc(100% - 15px*2)
    }
}

.print-item .grid-details-overlay {
    color: #000
}

.print-item .grid-details-overlay span {
    background: none !important;
    padding: 0;
    opacity: 1
}

.print-item .grid-details-overlay a {
    position: absolute;
    right: 15px;
    background: #f2f3ef;
    color: #3a3a3a
}

.print-item .grid-details-overlay a:hover {
    background: #ff6317
}

@media only screen and (max-width: 767px) {
    .print-item .grid-details-overlay.mobile-relative {
        position: relative
    }
}

.print-item .overlay-bottom {
    opacity: 0;
    color: #f2f3ef
}

.print-item:hover {
    background-color: #000;
    color: #f2f3ef
}

.print-item:hover .grid-details-overlay {
    color: #f2f3ef
}

.print-item:hover .grid-details-overlay span {
    opacity: 0
}

.print-item:hover .grid-details-overlay a {
    opacity: 1;
    pointer-events: all;
    white-space: nowrap
}

.print-item:hover .overlay-bottom {
    opacity: .4
}

html.dark-mode .print-item {
    background-color: #fff
}

html.dark-mode .print-item:hover {
    background-color: #3a3a3a
}

.button-shop {
    border-radius: 6px;
    background: #959ca4;
    padding: .35rem .65rem .45rem;
    font-family: "GT Alpina Rg", serif;
    margin-top: -0.25rem;
    margin-bottom: .5rem;
    line-height: 1;
    pointer-events: all;
    align-self: center;
    display: inline-block;
    letter-spacing: 0;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.button-shop:hover {
    background: #ff6317
}

html.touch .button-shop {
    background: #ff6317
}

.mobile-print-details {
    margin: .5rem 0 .75rem
}

.mobile-print-details .print-price {
    color: #ff6317 !important
}

@media only screen and (min-width: 992px) {
    .mobile-print-details {
        display: none !important
    }
}

@font-face {
    font-family: "hovn-icons";
    src: url("../fonts/hovn-icons.woff2?71614200") format("woff2"), url("../fonts/hovn-icons.woff?71614200") format("woff");
    font-weight: normal;
    font-style: normal
}

[class^=icon-]:before,
[class*=" icon-"]:before {
    font-family: "hovn-icons";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-triangle:before {
    content: ""
}

.icon-light-mode:before {
    content: ""
}

.icon-dark-mode:before {
    content: ""
}

.icon-nav-icon:before {
    content: ""
}

.icon-hovn-icon:before {
    content: ""
}

.icon-triangle {
    font-size: .6em;
    display: inline-block;
    -webkit-transform: translateY(-0.15em);
    -moz-transform: translateY(-0.15em);
    -ms-transform: translateY(-0.15em);
    -o-transform: translateY(-0.15em);
    transform: translateY(-0.15em)
}

.nowrap {
    white-space: nowrap
}