@font-face {
    font-family: Nimbus San Bold;
    src: url(../fonts/NimbusSanL-Bol.otf);
}

@font-face {
    font-family: Nimbus San Bold Italic;
    src: url(../fonts/NimbusSanL-BolIta.otf);
}

:root {
    --color-animation: color .2s ease-in-out;
    --var-gray-1: #868686;
    --var-gray-2: #585858;
    --var-gray-3: #2e2e2e;
}

html,
body {
    font-family: Nimbus San Bold;
    background-color: white;
    line-height: 1.2;
    background-color: #f2f2f2;
    font-size: 13px;
    -webkit-font-smoothing: antialiased;
}

html,
body a {
    color: rgb(54, 54, 54);
    text-decoration: none;
}

#main-entry {
    z-index: 10000;
    position: fixed;
    max-width: calc(100% - 40ch);
    max-height: 100%;
    left: 50%;
    top: 50%;
    fill: white;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    mix-blend-mode: soft-light;
}

.hide-logo svg {
    opacity: 0;
}


/* NAVIGATION */

header {
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
    text-transform: uppercase;
    padding-top: 4ch;
    padding-bottom: 4ch;
    color: lightgray;
    z-index: 10000;
}

header a {
    pointer-events: all !important;
    color: lightgray;
}

header .rows {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex: 1;
}

.middle {
    align-items: center;
}

.footer {
    align-items: flex-end;
}

.main-logo-container {
    height: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20ch;
}

.main-logo-container a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-top: 0.1rem;
}

.main-logo-container svg {
    height: 100%;
}

.main-logo-container svg {
    fill: lightgray;
}

header a:hover {
    color: black;
}

header .main-logo-container:hover svg {
    fill: black;
}

.sides-container {
    width: 20ch;
    text-align: center;
}

.inside {
    background-color: white;
    height: 100%;
    width: 100%;
}


/* MAIN STRUCTURE */

main {
    height: 100vh;
    position: relative;
    /* or absolute or fixed */
}

#myvideo {
    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
}

video {
    height: 100%;
    width: 177.77777778vh;
    /* 100 * 16 / 9 */
    min-width: 100%;
    min-height: 56.25vw;
    position: absolute;
    left: 50%;
    /* % of surrounding element */
    top: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    /* %
    /* 100 * 9 / 16 */
}

.content-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
    height: 100vh;
}

.content-container {
    width: calc(50vw - 20ch - 10ch);
    height: 100vh;
    max-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4ch;
    padding-bottom: 4ch;
    box-sizing: border-box;
}

.content-container:nth-child(odd) {
    margin-right: 20ch;
    margin-left: 20ch;
}

.content-container .content {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.content-container .content-image {
    display: flex;
    overflow: hidden;
}

.keen-slider {
    display: flex;
}

.keen-slider__slide {
    width: calc(50vw - 20ch - 10ch);
    height: calc(100vh - 8ch);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    cursor: pointer;
}

.keen-slider__slide figure {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.keen-slider__slide figure img {
    max-height: 100%;
    max-width: 100%;
}

.content-container .content .intro {
    height: calc(50% - 0.6rem);
}

.sub-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.sub-single {
    display: flex;
    margin-top: 1rem;
}

.sub-single:first-child {
    margin-top: 0;
}

.sub-single>* {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.sub-single>span {
    text-transform: uppercase;
    margin-top: 0;
}

.bottom-pos {
    flex: 1;
    display: flex;
    align-items: flex-end;
    text-transform: uppercase;
}

input {
    padding: 0;
    margin: 0;
    font-family: inherit;
    background-color: none;
    background: none;
    border: none;
    border-bottom: 1px solid lightgray;
    color: lightgray;
}


/* COLLECTIONS */

.collections-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
}

.collections-container {
    width: calc(50vw - 20ch - 10ch);
    height: calc((50vw - 20ch - 10ch)*4 / 3);
    max-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4ch;
    padding-bottom: 4ch;
    box-sizing: border-box;
}

.collections-container:nth-child(odd) {
    margin-right: 20ch;
    margin-left: 20ch;
}

.collections-container .content {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.collections-container .content figure {
    max-width: 100%;
    max-height: 100%;
    display: flex;
    align-content: center;
    justify-content: center;
}

.collections-container .content figure img {
    max-width: 100%;
    max-height: 100%;
}

.collections-container .content .title {
    margin-top: 1rem;
    text-transform: uppercase;
}

.items-wrapper {
    padding-right: 10ch;
    padding-left: 10ch;
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
    padding-top: 4ch;
    padding-bottom: 4ch;
    box-sizing: border-box;
}

.items-wrapper .items {
    width: 25%;
    padding-left: 10ch;
    padding-right: 10ch;
    padding-bottom: 4ch;
    box-sizing: border-box;
}

.items-wrapper .items:nth-child(even) {
    padding-left: 5ch;
}

.items-wrapper .items:nth-child(odd) {
    padding-right: 5ch;
}

.items-wrapper .items img {
    width: 100%;
}

.filters {
    position: sticky;
    top: 4ch;
    display: flex;
    width: 100%;
    padding: 20ch;
    padding-top: 0;
    padding-bottom: 10ch;
    box-sizing: border-box;
    text-transform: uppercase;
}

.filters a {
    margin-right: 4ch;
}

.items:hover .item-article span {
    opacity: 1;
}

.item-article {
    padding-bottom: 4rem;
}

.item-article span {
    opacity: 0;
    text-transform: uppercase;
}

@media all and (max-width: 620px) {
    header {
        height: var(--app-height);
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    header .sides-container:first-child {
        text-align: left;
        padding-left: 1rem;
    }
    header .sides-container:last-child {
        text-align: right;
        padding-right: 1rem;
    }
    .footer {
        order: 3;
    }
    .middle {
        order: 1
    }
    .top {
        order: 2
    }
    header .rows {
        flex: none;
    }
    .collections-wrapper {
        flex-direction: column;
    }
    main {
        height: auto;
        min-height: 100vh;
    }
    .collections-container:nth-child(odd) {
        margin: 0;
    }
    .collections-container:nth-child(even) {
        margin: 0;
    }
    .collections-container {
        width: 100vw;
    }
    .content-wrapper {
        flex-direction: column;
        flex-wrap: nowrap;
        height: auto;
    }
    .content-container {
        margin: 0 !important;
        width: 100vw;
        padding: 1rem;
        box-sizing: border-box;
        padding-top: 5rem;
        height: auto;
        min-height: 50vh;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .content-container:first-child {
        order: 2;
    }
    .content-container:last-child {
        order: 1;
        height: 70vh;
    }
    .content-container:last-child .keen-slider {
        height: 100%;
    }
    .keen-slider__slide {
        height: 100%;
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .content-image {
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .filters {
        width: 100vw;
        padding: 1rem;
        box-sizing: border-box;
    }
    .items-wrapper {
        width: 100vw;
        padding: 1rem;
        box-sizing: border-box;
    }
    .items-wrapper .items {
        width: 50%;
        padding-left: 0;
        padding-right: 0;
    }
    .items-wrapper .items:nth-child(odd) {
        padding-right: 0.5rem;
    }
    .items-wrapper .items:nth-child(even) {
        padding-left: 0.5rem;
    }
    .top .sides-container {
        flex: 5;
    }
    .keen-slider__slide {
        position: inherit;
    }
}