@font-face {

    font-family: VAG-Rounded-SemiBold;
    src: url('/521styles/521fonts/VAG_rounded_next/VAGRoundedNextSemiBold.woff2') format('woff2');
    font-display: swap;

}

body,
img,
button,
input,
textarea {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Remove tap highlight color */
* {
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}

/* Prevent callout (long-press save menu) on images and links */
a,
img {
    -webkit-touch-callout: none !important;
}

:root {

    --borderradius: 6px;
    --buttontypecolor: rgba(0, 0, 0, 0.25);
    --buttontypecolorhover: rgba(0, 0, 0, 0.17);
    --buttontypecoloractive: rgba(0, 0, 0, 0.1);
    --buttontypecolorblock: rgba(0, 0, 0, 0.1);
    --shadowblack: rgba(0, 0, 0, 0.2);
    --shadowblackhover: rgba(0, 0, 0, 0.15);
    --shadowblackactive: rgba(0, 0, 0, 0.1);
    --shadowbutton: 0 0 3px 0px var(--shadowblack), inset 0 0 3px 0 var(--shadowblack);
    --shadowbuttonhover: 0 0 2px 0 var(--shadowblackhover), inset 0 0 2px 0 var(--shadowblackhover);
    --shadowbuttonactive: 0 0 0px 0 var(--shadowblackactive), inset 0 0 1px 0 var(--shadowblackactive);
    --whiteback: rgba(255, 255, 255);
    --transitioneffect: all .3s ease;
    --scaleactive: 0.9935;
    --scaleactive2: 0.9935;
    --scaleactive3: 0.9935;
    --scaleactiveextra: 0.000;
    scrollbar-width: none !important;
    --opacityhover: 0.96 !important;
    --opacityactive: 0.9;
    --opacity: 1;

}

body {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    column-gap: 5px;
    margin: 0 10px;
    background-color: var(--whiteback);
    overflow: hidden;
    color: rgb(255, 255, 255);
    scrollbar-width: none !important;
}

nav {

    height: 100vh;
    grid-column: 1 / 2;
    width: 100%;
    overflow-wrap: break-word;
    box-sizing: border-box;
    overflow-x: hidden;
    min-width: 144px;

}

.content {
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

svg {

    display: none;
}

.menubar {

    grid-column: 1 / 2;
    min-width: 121px;
    width: 138px !important;
    display: flex;
    list-style-type: none;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.menu {

    grid-column: 1 / 2;
    position: -webkit-sticky;
    position: sticky;
    top: 15px;
    grid-column: 1 / 2;
    padding: 0 5px;
}

#logo_content {
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 68px;
}

#myCanvas {
    display: block;
    overflow: hidden;
    width: 98%;
    height: 98%;
    margin: auto;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    border-radius: var(--borderradius);
    pointer-events: auto;
}

#myCanvas:hover {
    opacity: var(--opacityhover) !important;
}

#myCanvas:active {
    transition: var(--transitioneffect);
    transform: scale(var(--scaleactive2));
    opacity: var(--opacityactive) !important;
}

canvas {
    display: block;
}

#myCanvas2 {
    display: block;
    width: 100%;
    height: 100vh;
    margin: auto;
    grid-column: 1 / 9;

}

.button {

    opacity: 1;
    text-decoration-line: none;
    background-color: var(--whiteback);
    font-family: VAG-Rounded-SemiBold;
    font-size: 13px;
    width: -webkit-fit-content;
    padding: 8px 12px;
    color: var(--buttontypecolor);
    border-style: solid;
    border-width: 0;
    border-radius: var(--borderradius);

    box-shadow: var(--shadowbutton);
    -ms-box-shadow: var(--shadowbutton);
    -moz-box-shadow: var(--shadowbutton);
    -webkit-box-shadow: var(--shadowbutton);

    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;

    user-select: none;
    transition: var(--transitioneffect);
    width: fit-content;

}

.button:hover {

    color: var(--buttontypecolorhover);

    box-shadow: var(--shadowbuttonhover);
    -ms-box-shadow: var(--shadowbuttonhover);
    -moz-box-shadow: var(--shadowbuttonhover);
    -webkit-box-shadow: var(--shadowbuttonhover);
    transition: var(--transitioneffect);

    cursor: -webkit-pointer;
    cursor: pointer;

}

.button:active {

    background-color: var(--whiteback);
    color: var(--buttontypecoloractive);

    box-shadow: var(--shadowbuttonactive);
    -ms-box-shadow: var(--shadowbuttonactive);
    -moz-box-shadow: var(--shadowbuttonactive);
    -webkit-box-shadow: var(--shadowbuttonactive);

    transition: var(--transitioneffect);

    transform: scale(calc(var(--scaleactive) - var(--scaleactiveextra)));

    cursor: -webkit-grabbing;
    cursor: grabbing;

}

.button:hover img {

    transition: var(--transitioneffect);
    opacity: var(--opacityhover) !important;
    cursor: -webkit-pointer;
    cursor: pointer;

}

.button:active img {

    transition: var(--transitioneffect);
    opacity: var(--opacityactiveextra) !important;
    cursor: -webkit-grabbing;
    cursor: grabbing;

}

.buttonblock {

    color: var(--buttontypecolorblock) !important;

    box-shadow: var(--shadowbuttonactive) !important;
    -ms-box-shadow: var(--shadowbuttonactive) !important;
    -moz-box-shadow: var(--shadowbuttonactive) !important;
    -webkit-box-shadow: var(--shadowbuttonactive) !important;

    transition: var(--transitioneffect) !important;

}

.logo img {

    width: 125px;
    padding: 3px;

}

.logo {

    border-style: solid;
    border-width: 0;
    border-radius: var(--borderradius);

    box-shadow: var(--shadowbutton);
    -ms-box-shadow: var(--shadowbutton);
    -moz-box-shadow: var(--shadowbutton);
    -webkit-box-shadow: var(--shadowbutton);

    box-sizing: border-box;
    width: 100%;
    min-width: 138px;

    padding-top: 1px;
    transition: var(--transitioneffect);

    pointer-events: auto;
}

.logo.hover {

    color: var(--buttontypecolorhover);

    box-shadow: var(--shadowbuttonhover);
    -ms-box-shadow: var(--shadowbuttonhover);
    -moz-box-shadow: var(--shadowbuttonhover);
    -webkit-box-shadow: var(--shadowbuttonhover);
    transition: var(--transitioneffect);

}

.logo.active {

    color: var(--buttontypecoloractive);

    box-shadow: var(--shadowbuttonactive);
    -ms-box-shadow: var(--shadowbuttonactive);
    -moz-box-shadow: var(--shadowbuttonactive);
    -webkit-box-shadow: var(--shadowbuttonactive);

    transition: var(--transitioneffect);

    transform: scale(calc(var(--scaleactive) - var(--scaleactiveextra)));

    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.info {

    grid-column: 2 / 4;
    overflow-y: scroll;
    height: calc(100vh - 30px);
    margin: 13px 0;
    padding: 2px 5px;
    min-width: 280px;
    scrollbar-width: none !important;
}

.aboutmobile {

    grid-column: 2 / 9;

}

.info::-webkit-scrollbar {

    display: none;

}

.projectinfo {

    font-size: 13px;
    display: flex;
    list-style-type: none;
    flex-direction: column;
    padding: 0;

}

.projectinforow {

    display: flex;
    list-style-type: none;
    flex-direction: row;
    padding: 0;
    flex-wrap: wrap;

}

.gallery {

    grid-column: -1 / -6;
    overflow-y: scroll;
    height: calc(100vh - 30px);
    margin: 0;
    padding: 15px 5px;
    min-width: 300px;
    scrollbar-width: none !important;

}

.gallery::-webkit-scrollbar {

    display: none;
}

.gallery_enter {

    grid-column: 2 / 9;
}

.gallery_enter::-webkit-scrollbar {

    display: none;
}

.projectgallery {
    font-size: 13px;
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.projectimg {

    width: calc(100%/1);
    overflow: visible;
    display: block;

    position: static;
    border-style: solid;
    border-width: 0;
    border-radius: var(--borderradius);
    box-shadow: var(--shadowbutton);
    -ms-box-shadow: var(--shadowbutton);
    -moz-box-shadow: var(--shadowbutton);
    -webkit-box-shadow: var(--shadowbutton);
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;

    transition: var(--transitioneffect) !important;

    display: flex;

    background-color: transparent;

}

.projectimg:hover {

    overflow: visible;
    box-shadow: var(--shadowbuttonhover);
    -ms-box-shadow: var(--shadowbuttonhover);
    -moz-box-shadow: var(--shadowbuttonhover);
    -webkit-box-shadow: var(--shadowbuttonhover);

    transition: var(--transitioneffect) !important;

    z-index: 1 !important;

    opacity: var(--opacityhover) !important;
    z-index: 1 !important;

    cursor: -webkit-pointer;
    cursor: pointer;

}

.projectimg:active {

    overflow: visible;
    box-shadow: var(--shadowbuttonactive);
    -ms-box-shadow: var(--shadowbuttonactive);
    -moz-box-shadow: var(--shadowbuttonactive);
    -webkit-box-shadow: var(--shadowbuttonactive);

    transition: var(--transitioneffect) !important;

    cursor: -webkit-grabbing;
    cursor: grabbing;

    transform: scale(var(--scaleactive3)) !important;

    opacity: var(--opacityhover) !important;
    z-index: 1 !important;

}

.projectimg img,
.projectimg video {

    max-width: 100%;
    width: 100%;
    z-index: -4;
    border-style: solid;
    border-width: 0;
    border-radius: var(--borderradius);
    transition: var(--transitioneffect) !important;
    display: block;

}

.projectimg:hover img,
.projectimg:hover video {

    z-index: -4;
    transition: var(--transitioneffect) !important;
    display: block;

}

#margins {

    position: absolute;
    z-index: 10;
}

.margin {
    grid-column: 1 / 9;
    width: 100%;
    height: 14px;
    background-color: var(--whiteback);
}

.marginup {

    position: fixed;
    top: 0;
    height: 14px;
}

.marginbottom {

    position: fixed;
    bottom: 0;
}

.infomobile {

    display: none;

}

.stickyB {

    position: -webkit-sticky;
    position: sticky;
    top: -1px;
    z-index: 4;
}

.arrowbutton {

    position: absolute;
    display: flex;
    align-content: center;
    justify-content: center;

}

.arrowbutton img {

    width: 14px;
    height: 18px;
    opacity: 0.25 !important;
}

.arrowbutton:hover img {
    opacity: 0.17 !important;
}

.arrowbutton:active img {
    opacity: 0.1 !important;
}

.arrowmobile {

    display: none;

}

.videoplayer {

    z-index: 0 !important;
}

.archivegallery {

    display: block;
    grid-column: 1/-1;
    padding: 15px 5px;
    columns: 8;

    column-gap: 0;

}

.archivegallery img {
    width: 1000px;
    height: auto;
}

.randomtext {

    position: absolute;
    grid-column: 1/2;
    bottom: 16px;
    max-width: calc((100vw/8) - 15px);
    min-width: 138px;
    margin: 0 5px;
}

.randomtext2 {

    opacity: 1;
    text-decoration-line: none;
    background-color: var(--whiteback);
    font-family: VAG-Rounded-SemiBold;
    font-size: 13px;
    width: -webkit-fit-content;
    color: var(--buttontypecolorhover);
    user-select: none;
    transition: var(--transitioneffect);
    width: fit-content;
    cursor: default;
    opacity: var(--opacityhover) !important;
}


@media (hover: none) {

    .button:hover {

        color: var(--buttontypecolor);

        box-shadow: var(--shadowbutton);
        -ms-box-shadow: var(--shadowbutton);
        -moz-box-shadow: var(--shadowbutton);
        -webkit-box-shadow: var(--shadowbutton);
        transition: var(--transitioneffect);

    }

    .logo.hover {

        color: var(--buttontypecolor);

        box-shadow: var(--shadowbutton);
        -ms-box-shadow: var(--shadowbutton);
        -moz-box-shadow: var(--shadowbutton);
        -webkit-box-shadow: var(--shadowbutton);
        transition: var(--transitioneffect);

    }

    #myCanvas:hover {

        opacity: var(--opacity) !important;
    }

    .button:hover img {

        transition: var(--transitioneffect);
        opacity: var(--opacity) !important;

    }

    .projectimg:hover {

        overflow: visible;
        box-shadow: var(--shadowbutton);
        -ms-box-shadow: var(--shadowbutton);
        -moz-box-shadow: var(--shadowbutton);
        -webkit-box-shadow: var(--shadowbutton);

        transition: var(--transitioneffect) !important;

        z-index: 1 !important;

        opacity: var(--opacity) !important;
        z-index: 1 !important;

    }

    .arrowbutton:hover img {
        opacity: 0.25 !important;
    }

    #myCanvas:hover {
        opacity: var(--opacity) !important;
    }






    .button:active {

        background-color: var(--whiteback);
        color: var(--buttontypecoloractive);

        box-shadow: var(--shadowbuttonactive);
        -ms-box-shadow: var(--shadowbuttonactive);
        -moz-box-shadow: var(--shadowbuttonactive);
        -webkit-box-shadow: var(--shadowbuttonactive);

        transition: var(--transitioneffect);

        transform: scale(calc(var(--scaleactive) - var(--scaleactiveextra)));

        cursor: -webkit-grabbing;
        cursor: grabbing;

    }

    .button:active img {

        transition: var(--transitioneffect);
        opacity: var(--opacityactiveextra) !important;

    }

    .logo.active {

        color: var(--buttontypecoloractive);

        box-shadow: var(--shadowbuttonactive);
        -ms-box-shadow: var(--shadowbuttonactive);
        -moz-box-shadow: var(--shadowbuttonactive);
        -webkit-box-shadow: var(--shadowbuttonactive);

        transition: var(--transitioneffect);

        transform: scale(calc(var(--scaleactive) - var(--scaleactiveextra)));

        cursor: -webkit-grabbing;
        cursor: grabbing;
    }

    #myCanvas:active {

        transition: var(--transitioneffect);
        transform: scale(var(--scaleactive2));
        opacity: var(--opacityactive) !important;
    }

    .projectimg:active {

        overflow: visible;
        box-shadow: var(--shadowbuttonactive);
        -ms-box-shadow: var(--shadowbuttonactive);
        -moz-box-shadow: var(--shadowbuttonactive);
        -webkit-box-shadow: var(--shadowbuttonactive);

        transition: var(--transitioneffect) !important;

        cursor: -webkit-grabbing;
        cursor: grabbing;

        transform: scale(var(--scaleactive3)) !important;

        opacity: var(--opacityhover) !important;
        z-index: 1 !important;

    }

    .arrowbutton:active img {

        opacity: 0.17 !important;
    }

    #myCanvas:active {
        transition: var(--transitioneffect);
        transform: scale(var(--scaleactive2));
        opacity: var(--opacityactive) !important;
    }

}

@media only screen and (min-width: 880px) {

    .aboutmobile {

        grid-column: 2 / 9;

    }

}


@media only screen and (min-width: 1100px) {

    .aboutmobile {

        grid-column: 2 / 5;

    }

    .projectgallery_enter {

        display: block !important;
        columns: 2 !important;
        column-gap: 0 !important;

    }

    .projectimg {

        width: calc(100%/1);
        float: left;

    }

    .projectgallery_enter .projectimg {

        width: calc(100%/2);
        float: left;

    }

    .projectgalleryvideo {

        width: calc(100%/1) !important;

    }

    .grid-sizer {

        width: calc(100%/2);

    }


}

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

    :root {
        --scaleactive: 0.99;
        --scaleactive2: 0.99;
        --scaleactive3: 0.99;
    }

    body {

        grid-template-columns: repeat(1, 1fr);
        column-gap: 0px;
        margin: 0 9px;
    }

    nav {

        height: -webkit-fit-content;
        background-color: transparent;
        position: absolute;
        z-index: 10;
        margin: 10px 10px 0 0;
        max-width: calc(100vw - 23px);
        grid-column: 1 / -1;
        padding: 0 0 2px 0;
        min-width: 0px;

    }

    .randomtext {

        display: none;
    }

    .menu {

        grid-column: 1 / 1;
        margin: 0px 0px;
        padding: 15px 5px 0px;
        display: flex;
        padding: 5px 4.3px 0px;
        top: 0;
        width: 100%;

    }

    .logo {

        min-width: 0px !important;
        background-color: var(--whiteback);
        max-width: calc(100vw - 165px) !important;

    }

    .infodesk {

        display: none;

    }

    .infomobile {

        display: block;
        grid-column: 1 / 1;
        margin: 0px;
        padding: 2px 5px;
        min-width: 0px;
        height: calc(100dvh - 100px);
        padding-top: 85px;

    }

    .margin {

        grid-column: 1 / 1;
        background-color: var(--whiteback);

    }

    .marginup {

        height: 81px;

    }

    .aboutmobile {

        display: block;
        grid-column: 1 / 1;
        min-width: 0px;
        height: calc(100dvh - 100px);
        margin: 0px;
        padding: 85px 5px 2px;

    }

    .gallery_enter {

        grid-column: 1 / 1;
        margin: 0px;
        margin: 0px;
        padding: 85px 5px 2px;
        min-width: 0px;
        height: calc(100dvh - 100px);

    }

    .projectimg {
        position: initial;
    }

    .arrowbutton {

        display: none;

    }

    .arrowmobile {

        display: block;
        z-index: 4;
    }

    .arrowbutton img {

        height: 10px;

    }

    .projectinforow {

        margin: 0px 0 0 37px;

    }

    .colortitle {

        z-index: 4;
        display: block;
    }

    .menubar {

        width: 166px !important;
        min-width: 138px;

    }

}

@media only screen and (min-width: 1700px) {

    .projectgallery {

        columns: 1 !important;
        column-gap: 0 !important;
        display: block;
    }

    .projectgallery_enter {

        columns: 2 !important;
        column-gap: 0 !important;
        display: block;
    }

    .projectimg {

        width: calc(100%/2);
        float: left;

    }

}


@media only screen and (min-width: 2005px) {

    .projectgallery {

        columns: 2 !important;
        column-gap: 0 !important;
        display: block;
    }

    .projectgallery_enter {

        columns: 3 !important;
        column-gap: 0 !important;
        display: block;
    }

}