body {
    background-color: #140909;
    font-family: "apfel", Helvetica, sans-serif;
    color: #ffecbb;
    margin: 0;
    padding: 0px;
    font-size: 24px;
    line-height: 1.4;
    text-wrap: pretty;
}

@media (max-width: 600px) {
    body {
        font-size: 22px;
    }
}

@font-face {
    font-family: "apfel";
    src:
        url("ApfelGrotezk-Regular.woff2") format("woff2"),
        url("ApfelGrotezk-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "ortica";
    src:
        url("OrticaLinear-Regular.woff2") format("woff2"),
        url("OrticaLinear-Regular.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

h2,
h3 {
    font-family: "ortica", Times, serif;
    font-weight: 400;
    font-size: 46px;
    line-height: 1;
    margin: 0px;
    padding: 0px;
    letter-spacing: -1px;
    text-wrap: balance;
    color: #d45d31;
}

h1 {
    font-family: "apfel", Helvetica, sans-serif;
    font-weight: normal;
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: 60px;
    letter-spacing: -1px;
}

#sitckyholder {
    height: 300vh;
    width: 100%;
}

#sticky {
    width: 100vw;
    height: 100vh;
    position: sticky;
    top: 0px;
    perspective: 800px;
    overflow: hidden;
}

.sticker {
    position: absolute;
    display: none;
    animation: popin 0.15s cubic-bezier(0.89, 2.05, 0, 0.93) 0s 1 paused;
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
    transition: all 0.4s cubic-bezier(0.21, 1.57, 0.01, 1.01);
    /*transition-timing-function: linear(
        0, 0.063 5.9%, 0.25 11.8%, 0.563 17.6%, 1 23.5%,
        0.813 31.2%, 0.75 35.3%, 0.813 39.4%, 1 47.1%,
        0.953 56.5%, 0.938 60.6%, 0.953 64.7%, 1 72.9%,
        0.988 82.4%, 0.984 86.5%, 1 100%
    );*/
}

.sticker img {
    width: 100%;
}

.sticker01 {
    width: calc(20vw + 20vh);
    top: 20vh;
    left: 14vw;
    display: block;
    animation-play-state: running;
}
.sticker02 {
    width: calc(15vw + 15vh);
    top: 3vh;
    left: 42vw;
}
.sticker03 {
    width: calc(17vw + 17vh);
    top: 27vh;
    left: 24vw;
}
.sticker04 {
    width: calc(11vw + 11vh);
    bottom: 10vh;
    right: 12vw;
}
.sticker05 {
    width: calc(15vw + 15vh);
    bottom: 20vh;
    left: 17vw;
}
.sticker06 {
    width: calc(12vw + 12vh);
    top: 30vh;
    right: 15vw;
}
.sticker07 {
    width: calc(14vw + 14vh);
    top: 4vh;
    left: 24vw;
}
.sticker08 {
    width: calc(12vw + 12vh);
    top: 1vh;
    right: 30vw;
}
.sticker09 {
    width: calc(12vw + 12vh);
    bottom: 1vh;
    left: 30vw;
}
.sticker10 {
    width: calc(12vw + 12vh);
    bottom: 0.5vh;
    left: 37vw;
}
.sticker11 {
    width: calc(12vw + 12vh);
    bottom: 6vh;
    left: 49vw;
}
.sticker12 {
    width: calc(12vw + 12vh);
    bottom: 24vh;
    left: 26vw;
}
.sticker13 {
    width: calc(16vw + 16vh);
    bottom: 20vh;
    right: 20vw;
}
.sticker14 {
    width: calc(15vw + 15vh);
    top: 15vh;
    right: 22vw;
}
.sticker15 {
    width: calc(13vw + 13vh);
    top: 10vh;
    left: 32vw;
}
.sticker16 {
    width: calc(16vw + 16vh);
    top: 37vh;
    left: 37vw;
}

@keyframes popin {
    0% {
        transform: rotateX(3deg) rotateY(5deg) translateZ(200px);
    }
    100% {
        transform: rotateX(0deg) rotateY(0deg) translateZ(0px);
    }
}

.wrapper {
    padding: 20px;
    max-width: 540px;
    margin: 0 auto;
    z-index: 100000;
}

.wrapper.video {
    max-width: 1100px;
}

.videoholder {
    width: 100%;
    aspect-ratio: 16/9;
    display: block;
    border-radius: 13px;
    overflow: hidden;
    position: relative;
}

.videoholder iframe {
    width: 100%;
    height: 100%;
}

.videoholder .thumb {
    width: 100%;
    height: 100%;
    background-size: cover;
    position: absolute;
    top: 0px;
    z-index: +1;
    transition: all 1s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.videoholder .thumb::after {
    content: "";
    display: block;
    width: 130px;
    height: 130px;
    background-image: url("/playbtn.svg");
    background-size: cover;
    will-change: width, height;
    transition: all 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    opacity: 0.5;
}

.videoholder:hover .thumb::after {
    width: 160px;
    height: 160px;
}

p {
    margin: 5vh 0;
    text-wrap: pretty;
}

.wrapper.maja > img:first-child {
    width: 80%;
    border-radius: 13px;
    position: relative;
}

.wrapper.maja {
    overflow: hidden;
    position: relative;
    perspective: 800px;
}

.wrapper.footer,
.wrapper.wide,
.wrapper.maja {
    max-width: 760px;
}

.stickerbadge {
    display: block;
    position: absolute;
    right: 20px;
    top: 20%;
    width: 230px;
    transition: all 0.4s cubic-bezier(0.21, 1.57, 0.01, 1.01);
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));

    animation-play-state: running;
}

@media (max-width: 600px) {
    .stickerbadge {
        width: 30vw;
        top: 10%;
    }
}

a,
a:link,
a:visited {
    color: #d45d31;
    text-decoration: none;
    transition: all 0.1s ease;
}

a:hover {
    color: #ffecbb;
}

.wrapper.form {
    /*max-width: 600px;*/
    overflow: hidden;
}

.form iframe {
    margin: -30px;
}

#formholder {
    width: calc(100% + 60px);
}

.sticker.stickerbottom, .sticker.extra {
    position: relative;
    width: 200px;
    width: calc(8vw + 8vh);
    display: block;
    animation-play-state: running;
}


.extrasticker {
    width: 100%;
    position: absolute;
    left: 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
    min-height: 10px;
}

.extrasticker.left {
    flex-direction: row-reverse;
}

.extrasticker::before {
    content: "";
    display: block;
    max-width: 540px;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    flex-grow: 0;
}

.extrasticker.offset::before {
    max-width: calc(540px + var(--offset-x));
}

.extrasticker.offset {
    margin-top:var(--offset-y);
}

.extrasticker .sticker {
    position: relative;
    width: 200px;
    width: calc(8vw + 8vh);
    display: block;
    animation-play-state: running;
    flex-grow: 0;
    flex-shrink: 0;
    pointer-events: all;
}

.extrasticker.wide .sticker {
    width: calc(16vw + 16vh);
}

.extrasticker.right::before {
    padding-left:calc(8vw + 8vh);
    padding-right: 100px;
}

.extrasticker.left::before {
    padding-right:calc(8vw + 8vh);
    padding-left: 100px;
}



@media (max-width: 600px) {
    .extrasticker::before, .extrasticker.right::before, .extrasticker.left::before {
       width: 0px;
       max-width: 0px;
       padding: 0px;
    }

    .extrasticker {
        position: relative;
        margin: 30px 0;
    }

    .extrasticker.offset::before {
        width:100%;
        max-width: calc(var(--offset-x)/1.5);
    }

    .extrasticker.offset {
        margin-top:0px;
    }

    .extrasticker + .extrasticker {
        margin-top: -80px;
    }
}



.wrapper.bottom {
    perspective: 800px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 600px) {
    .sticker::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        inset: 0;
        background-image: url("dust.jpg");
        mix-blend-mode: overlay;
        pointer-events: none;
        -webkit-mask-image: var(--card-mask);
        mask-image: var(--card-mask);
        -webkit-mask-size: cover;
        mask-size: cover;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        background-size: 600px;
        background-position: var(--random) var(--random);
        opacity: 0.3;
    }

    .sticker::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        inset: 0;
        background-image: url("glare.png");
        mix-blend-mode: screen;
        pointer-events: none;
        -webkit-mask-image: var(--card-mask);
        mask-image: var(--card-mask);
        -webkit-mask-size: cover;
        mask-size: cover;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        background-size: 2000px;
        background-position: var(--cposx) var(--cposy);
        opacity: 0;
        transition: opacity 0.5s ease-in-out;
    }

    .sticker:hover::before {
        opacity: 1;
    }
}

@media (max-width: 600px) {
    .sticker03 {
        left: -1vw;
    }
    .sticker05 {
        left: 4vw;
    }
    .sticker06 {
        top: 40vh;
    }
    .sticker11 {
        left: 69vw;
    }
    .sticker12 {
        bottom: 33vh;
    }
    .sticker14 {
        right: -4vw;
    }
}

.wrapper.top {
    margin-top: 12vw;
}

#scrollmsg {
    pointer-events: none;
    width: 100vw;
    height: 400px;
    position: fixed;
    bottom: 0;
    left: 0px;
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    place-content: center;
    z-index: -1;
    transition: opacity 1s ease-in-out;
    line-height: 1;
}

#scrollmsg div {
    animation: fadeinscrollmsg 1s 1.6s 1 forwards;
    animation-fill-mode: both;
}

.wrapper.end {
    color: #d45d31;
    opacity: 0.2;
    text-align: center;
    transition: opacity 1s ease-in-out;
    line-height: 1;
}
.wrapper.end:hover {
    opacity: 1;
}

@keyframes fadeinscrollmsg {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 100%;
    }
}

#scrollmsg div span {
    animation: downanim 1.5s ease-in-out infinite;
    position: relative;
}

@keyframes downanim {
    0% {
        top: 0px;
    }
    50% {
        top: 5px;
    }
    100% {
        top: 0px;
    }
}

.wrapper.fold div {
    height: 90vh;
    display: flex;
    align-items: center;
    position: absolute;
}

.wrapper.fold {
    z-index: -1;
    position: relative;
}

.wrapper.center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

a.btn {
    font-size: 32px;
    background-color: #d45d31;
    color: #ffecbb;
    border-radius: 50px;
    border: 4px #ffecbb solid;
    padding: 20px 34px;
    display: inline-block;
    margin: 0 auto;
}

@media (max-width: 600px) {
    a.btn {
        font-size: 22px;
        width: calc(100% - 60px);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 16px 28px;
    }
}

a.btn span {
    margin-left: 20px;
    transition: all 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99);
}
a.btn:hover span {
    margin-left: 40px;
}

.spacer {
    height: 10vw;
}

.footerlinks {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
@media (max-width: 600px) {
    .footerlinks {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .footerlinks .colors {
        margin-top: 50px;
        width: 100%;
    }

    .sticker.stickerbottom {
        position: absolute;
        right: 50px;
        top: 300px;
    }

    h1 {
        font-size: 30px;
    }
}

.footerlinks ul li,
.footerlinks ul {
    margin: 0px;
    padding: 0px;
    position: relative;
    line-height: 1.3;
}
.footerlinks ul:first-child li,
.footerlinks ul:first-child {
    list-style: none;
}

.footerlinks ul:first-child li::before {
    content: " ";
    width: 24px;
    height: 24px;
    border-radius: 50px;
    position: absolute;
    left: -30px;
    top: 3px;
    transition: all 0.3s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    will-change: transform;
}

.footerlinks ul:first-child li:hover::before {
    transform: scale(116%);
}

.footerlinks ul:first-child li:nth-child(2):before {
    background-color: #ab496f;
}
.footerlinks ul:first-child li:nth-child(3):before {
    background-color: #b50027;
}
.footerlinks ul:first-child li:nth-child(4):before {
    background-color: #e5531d;
}
.footerlinks a,
.footerlinks a:link {
    color: #ffecbb;
}

.footerlinks ul:first-child li:first-child {
    margin-left: -30px;
}
.footerlinks ul:first-child {
    margin-left: 30px;
}

.footerlinks ul:nth-child(2) li::marker {
    content: " \2192";
    padding-right: 20px;
}

.footerlinks ul:nth-child(2) li:first-child::marker {
    content: "";
}

.footerlinks ul:nth-child(2) li {
    padding-left: 12px;
}

.footerlinks ul:nth-child(2) li:first-child {
    padding-left: 0px;
    margin-left: -14px;
}

.footerlinks ul:nth-child(2) li a {
    position: relative;
    transition: all 0.3s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    will-change: left;
    left: 0px;
}

.footerlinks ul:nth-child(2) li a:hover {
    left: 4px;
}

.footerlinks .colors {
    display: flex;
    flex-direction: column;
    gap: 10px;
    cursor: default;
}

.footerlinks .colors > div {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.footerlinks .colors p {
    line-height: 1;
    padding: 0px;
    margin: 0px;
    opacity: 0.5;
    font-size: 14px;
}

.footerlinks .colors div div {
    width: 42px;
    height: 42px;
    border-radius: 6px;
    border-width: 1px;
    border-style: solid;
}

header {
    position: fixed;
    top: 0px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 40px);
    padding: 20px;
    z-index: 9999999;
    background-color: transparent;
    transition: all 0.5s ease-in-out;
}

header:hover {
    background-color: #140909;
}

header a div {
    font-size: 28px;
    letter-spacing: -0.6px;
    padding: 3px 0;
    padding-left: 48px;
    background-image: url("/logo_cup.svg");
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    line-height: 1;
    text-wrap: nowrap;
}

header ul li,
header ul {
    list-style: none;
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

header ul {
    display: flex;
    flex-direction: row;
    gap: 30px;
}

header a,
header a:link,
header a:visited {
    color: #ffecbb;
}

header ul a,
header ul a:link,
header ul a:visited {
    opacity: 0.5;
    position: relative;
}

header ul a:hover {
    opacity: 1;
}

header a.active::before {
    content: "";
    display: block;
    background-color: #d45d31;
    width: 30px;
    height: 30px;
    position: absolute;
    top: -48px;
    border-radius: 50px;
    left: calc(50% - 15px);
}

header .burger {
    display: none;
}

@media (max-width: 800px) {
    
    header a div {
        text-wrap: nowrap;
        font-size: 18px;
        letter-spacing: -0.5px;
        padding: 2px 0px;
        padding-left: 32px;
    }

    header ul {
        position: absolute;
        width: 100vw;
        height: 100dvh;
        top: 0px;
        background-color: #d45d31;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        overflow: hidden;

        height: 0px;
        right: 100vw;
        transition:
            right 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99),
            height 0.1s cubic-bezier(0.75, 0.14, 0.03, 0.99) 0.5s;
    }

    header.mobileopen ul {
        transition: right 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    }

    header .burger {
        display: block;
        width: 60px;
        height: 60px;
        flex-shrink: 0;
        flex-grow: 0;
        position: absolute;
        right: 8px;
        padding: 0px;
        top: 0px;
        cursor: pointer;
        z-index: +1;
    }

    header .burger::before,
    header .burger::after {
        content: "";
        display: block;
        width: 70%;
        height: 2px;
        background-color: #ffecbb;
        flex-grow: 0px;
        position: absolute;
        top: 50%;
        left: 10%;
        transform: rotate(0deg);
        transition: all 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99);
        will-change: margin, transform;
    }

    header .burger::before {
        top: 40%;
    }
    header .burger::after {
        top: 60%;
    }

    header.mobileopen .burger::before, header.mobileopen .burger::after {
        top:50%;
    }

    header.mobileopen .burger::before {
        transform: rotate(45deg);
    }
    header.mobileopen .burger::after {
        transform: rotate(-45deg);
    }

    header ul a:link,
    header ul a,
    header ul a:visited {
        opacity: 1;
    }

    header.mobileopen ul {
        height: 100dvh;
        right: 0vw;
    }

    header a div {
        position: relative;
        z-index: +10;
    }

    header,
    header:hover {
        background-color: transparent;
        background: linear-gradient(#14090982, #14090900);
    }
    header a.active::before {
        display: none;
    }
}


#photoslider {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
    position: relative;
}

#photoslider .arrow {
    height: 40px;
    line-height: 40px;
    width: 40px;
    text-align: center;
    border-radius: 60px;
    cursor: pointer;
    background-color: transparent;
    transition: all 0.2s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    outline: 0px transparent solid;
    outline-offset: -1px;
    will-change: outline, background;
    z-index: +10;
    position: relative;
    -webkit-user-select: none; 
    -moz-user-select: none;    
    -ms-user-select: none; 
    user-select: none; 
    flex-grow: 0;
    flex-shrink: 0;

}

#photoslider .arrow:hover {
    background-color: #d45d31;
    outline: 3px #d45d31 solid;
}

#photoslider .bg {
    max-width: 540px;
    width: 100%;
    aspect-ratio: 1;
    background-color: #d45d31;
    border-radius: 30px;
}

#photoslider .images {
    position: absolute;
    inset: 0;

    display: flex;
    gap: 100px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-inline: max(0px, calc(50% - 270px));
    scrollbar-width: none;
}
#photoslider .images::-webkit-scrollbar {
    display: none;          
}

#photoslider .images img {
    height: 100%;
    scroll-snap-align: start;
    flex-shrink: 0;
    scroll-snap-align: center;
    border-radius: 30px;
}



@media (max-width: 600px) {
    #photoslider .images::before, #photoslider .images::after {
        content: "";
        display: block;
        width: 1px;
        height: 1px;
        flex-grow: 0;
        flex-shrink: 0;
    }
}

ul.colorful, ul.colorful ul {
    margin: 0px;
    padding: 0px;
    padding-left: 34px;
    list-style: none;
    list-style-type: none;
    line-height: 1.23;
    margin-top: 12px;
}

ul.colorful > li > ul {
    margin-bottom: 40px;
}

ul.colorful li ul li::before {
    background-color: #E5531D;
}
ul.colorful li ul li ul li::before {
    background-color: #A1C435;
}
ul.colorful li ul li ul li ul li::before {
    background-color: #41E1D3;
}



ul.colorful li {
    position: relative;
    margin-bottom: 12px;
    line-height: 1.23;
}

ul.colorful li::before {
    content: " ";
    width: 20px;
    height: 20px;
    border-radius: 50px;
    position: absolute;
    left: -30px;
    top: 5px;
    background-color: #6A3C7F;
}

ul.colorful.orange li::before {
    background-color: #DF511D;
}

.substackimg {
    width: 100%;
    aspect-ratio: 16/9;
    background-size: contain;
    border-radius: 32px;
}

a:link span, a:visited span {
    position: relative;
    transition: margin 0.5s cubic-bezier(0.75, 0.14, 0.03, 0.99);
    margin-left: 10px;
}

a:link:hover span, a:visited:hover span {
    margin-left: 20px;
}