@font-face {
    font-family: 'eiko light';
    src: url(font/PPEiko-Light.woff2);
}

@font-face {
    font-family: 'stellar light';
    src: url(font/PPStellar-Light.woff2);
}

@font-face {
    font-family: 'stellar';
    src: url(font/PPStellar-Regular.woff2);
}

@font-face {
    font-family: 'stellar';
    src: url(font/PPStellar-Bold.woff2);
    font-weight: bold;
}


@font-face {
    font-family: 'pyunji-r';
    src: url(font/pyunji-r-reduced.woff2);
    font-weight: bold;
}


body {
    --col-width: 720px;

    --card-height: 720px;
    --content-height: calc(720px - 8em);
    --blank-col: rgb(180, 180, 180);

    --rad: 1.5em;

    margin: 0px;

    overflow-x: hidden;

    font-family: 'stellar';

    user-select: none;
}

.background {
    position: absolute;
    width: 100vw;
    height: 100vh;

    background: rgb(2,0,36);
    background: linear-gradient(0deg, rgba(2,0,36,1) 0%, rgba(137,137,172,1) 15em,rgba(193,228,235,1) 100%);
}

.main-column {
    max-width: var(--col-width);
    min-width: var(--col-width);
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.main-card {
    height: var(--card-height);
    border-radius: var(--rad);
    
    display: grid;

    grid-template-rows: [top] 8em [headertop] auto [bottom];
    grid-template-columns: [left] 230px [linkend] auto [right];

    grid-template-areas: 
        "h h"
        "l c"
    ;

    box-shadow: 0px 5px 5px 1px rgba(0, 0, 0, 0.3);
}

.card-header {
    background: rgb(92,127,187);
    background: 
        linear-gradient(0deg, rgba(69, 94, 138, 0.9) 0%, rgba(23,171,240,0.3) 69%, rgba(126,229,250,0.8) 98%, rgba(151, 212, 240, 0.8) 100%), 
        url('assets/backgrounds/skiesglitterwater/byangieinthefields/012.webp');
    background-size: cover;
    
        grid-area: h;

    border-bottom: 1px solid #223c6a;

    border-top-left-radius: var(--rad);
    border-top-right-radius: var(--rad);

    display: flex;
    justify-content: center;
    align-items: center;

    overflow-x: hidden;
}

.card-links {
    background: rgb(84,84,84);
    background: linear-gradient(30deg, rgba(84,84,84,1) 0%, rgba(163,179,201,1) 100%); 
    grid-area: l;

    border-bottom-left-radius: var(--rad);
}

.card-links ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.sidelink {
    list-style-type: none;
    padding: 1.5em 0em 1.5em 1em;
    border-bottom: 1px solid #535353;
    font-family: 'stellar';
    font-size: 1.25em;
    color: white;
    box-shadow: 1px 1px 0px 0px #bfbfbf;
}


.sidelink:hover,
.sidelink:focus {
    cursor: pointer;
    background: rgb(255, 255, 255);
    background: linear-gradient(343deg, rgba(255, 255, 255, 1) 0%, rgba(147, 147, 147, 0) 25%, rgba(189, 221, 230, 0) 71%, rgba(255, 255, 255, 1) 100%);
    box-shadow: 1px 1px 0px 0px #bfbfbf, inset 1px 1px 6px 1px white;
}


.sidelink.chosen {
    background: rgb(77,160,238);
    background: linear-gradient(63deg, rgba(77,160,238,1) 0%, rgba(141,242,252,1) 100%);
}

.sidelink.chosen:hover {
    background: 
        linear-gradient(343deg, rgba(255, 255, 255, 1) 0%, rgba(147, 147, 147, 0) 25%, rgba(189, 221, 230, 0) 71%, rgba(255, 255, 255, 1) 100%),
        linear-gradient(63deg, rgba(77,160,238,1) 0%, rgba(141,242,252,1) 100%)
    ;

}

.sidelink:active {
    background: rgb(203,203,203);
    background: linear-gradient(343deg, rgba(203,203,203,1) 0%, rgba(227,188,132,1) 25%, rgba(168,125,86,1) 71%, rgba(215,205,187,1) 90%, rgba(230,230,230,1) 100%) !important;
    box-shadow: 1px 1px 0px 0px #bfbfbf, inset 1px 1px 6px 1px rgb(230, 230, 230);

}

.card-dummy-content {
    grid-area: c;

    background-color: #e5e5e5;
    border-bottom-right-radius: var(--rad);
}

.squiggly-arrow {
    user-select: none;
    padding-top: 2em;
    padding-left: 1em;
    filter: invert(1) invert(16%) sepia(85%) saturate(4764%) hue-rotate(319deg) brightness(82%) contrast(107%);
}

.squiggly-arrow img {
    user-select: none;
    height: 150px;
    transform: rotate(180deg);
}

.patronising-text {
    font-family: 'pyunji-r';
    max-width: 20em;
    text-align: center;
    transform: rotate(12deg) translateX(-40px) translateY(10px);
    color: #d74f54;
    user-select: none;
    font-size: 1.2em;
}

.main-card > .sheen {
    grid-column: left / right;
    grid-row: top / bottom;
    border-radius: var(--rad);

    box-shadow: inset 0px -4px 10px -2px rgba(255,255,255,0.4);
    z-index: 1;
    pointer-events: none;

}

.card-header > .sheen {
    width: 100%;
    position: absolute;
    z-index: 2;
    height: 3.75em;
    background: #ffffff33;
    border-radius: 2em;
    top: 0;
    border-bottom-left-radius: 69%;
    border-bottom-right-radius: 69%;
}

h1 {
    text-transform: uppercase;
    font-size: 3em;
    color: #ffffff;
    font-weight: 400;
    font-family: 'stellar';
    font-kerning: none;
    letter-spacing: -3px;

    text-shadow: 
        0px 1px 1px #6e6e6e55,
        1px 0px 1px #6e6e6e55,
        0px -1px 1px #6e6e6e55,
        -1px 0px 1px #6e6e6e55;
}

.su-mundu {
    transform: scaleX(var(--majestad));
    display: inline-block;
}

.su-titulu {
    transform: translateX(var(--push));
    display: inline-block;
}

.content-window {
    width: var(--col-width);
    height: var(--content-height);
    position: absolute;

    top: 50%;
    left: 150%;
    transform: translate(calc(-50% + 200px), -50%);
    z-index: 10;
    transition: left 750ms;

    background: rgb(181,181,181);
    background: linear-gradient(0deg, rgba(181,181,181,0.4) 0%, rgba(102,102,102,0.4) 67%, rgba(163,163,163,0.4) 74%, rgba(241,241,241,0.6) 76%, rgba(255,255,255,0.5) 82%, rgba(176,176,176,0.4) 100%); 
    backdrop-filter: blur(10px);


    box-shadow: 0px 2px 3px 3px #46464633,
        inset -1px -1px 3px 0px rgb(105, 245, 255),
        inset 1px 1px 2px 0px rgb(255,255,255);
    border: 1px solid #464646;
    border-radius: 5px;

    display: grid;
    grid-template-columns: calc(100% - 6em) 6em;
    grid-template-rows: 2em auto;
    grid-template-areas:
        't b'
        'c c';
}

.content-window.active {
    left: 50%;
}

.content-title {
    grid-area: t;
    margin: 0.7em;
    text-shadow: -1px -1px 5px white, 1px 1px 5px white;

    width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    height: 1.5em;
}

.content-buttons {
    grid-area: b;
    display: flex;
    justify-content: end;
    padding-right: 8px;
}

.content-button {
    padding: 10px;
    border: 1px solid #464646;
    border-top: none;
    border-right: none;
    box-shadow: 0px 1px 1px 1px rgba(255, 255, 255, 0.7);
    text-shadow: 1px 1px 4px rgb(49, 49, 49), -1px -1px 4px rgb(49, 49, 49);
    font-weight: 700;
    cursor: pointer;
    color: white;
}

.content-button:first-of-type {
    border-bottom-left-radius: 5px;
}
.content-button:last-of-type {
    border-bottom-right-radius: 5px;
    border-right: 1px solid #464646;
}

.content-button:hover {
    background-color: #6e6e6e;
}
.content-button.close:hover {
    background-color: #d74f54;
}

.content-content {
    grid-area: c;
    border: 1px solid #464646;
    box-shadow: 0px 0px 1px 1px rgb(255,255,255);
    background: var(--content-bck);
    margin: 8px;
}

iframe.content-content-content {
    width: 100%;
    height: 100%;
    border: 0px;
}


.apology-message {
    width: 100%;
    height: 100%;
    display: flex;
    color: red;
    font-family: 'pyunji-r';
    font-size: 3.5em;
    justify-content: center;
    align-items: center;
}

.apology-text {
    width: 500px;
    text-align: center;
    transform: rotate(-30deg);
}


.copyright {
    padding: 1em;
    width: 100%;
    text-align: center;

    color: white;
    text-shadow: 0px 1px 2px black;
}

.sticker-drawer {
    width: 100%;
    max-height: 100%;
    overflow: none;
}

.sticker-drawer img {
    position: absolute;
    max-width: 14em;
}

.sticker7 {
    left: 2em;
    top: 3em;
}

.sticker23 {
    right: 3em;
    bottom: 2em;
}

.sticker48 {
    left: 4em;
    top: 16em;
    transform: rotate(20deg);
}

.sticker50 {
    left: 30em;
    transform: rotate(180deg);
    top: 8em;
}

.sticker57 {
    left: 18em;
    transform: rotate(20deg);
}

/* center window unless there's sufficient horizontal space */
@media only screen and (max-width: 1129px) {
    .content-window {

        right: 0px;
        margin: auto;
    }
    .content-window.active {
        left: calc(50% - 200px);
    }
}

/* awkward intermediary zone */
@media only screen and (max-width: 720px) {
    body {
        overflow-y:hidden;
        max-height: 100vh;
    }

    .main-column {
        margin: 0px;
        max-width: 100vw;

        position: absolute;
        top: 50%;
        left: 50%;
    }
    .main-card {
        width: calc(100vw - 3em);
        margin-left: auto;
        margin-right: auto;
        margin-top: 1.5em;
        height: calc(100vh - 4.5em)
    }

    .sidelink {
        box-shadow: 0px 1px 1px 0px #acacac;
    }

    .patronising-text {
        transform: rotate(12deg) translateX(-10px) translateY(10px);
    }

    .patronising-text .small {
        font-size: 0.5em;
    }

    .content-window {
        width: calc(100% - 4em);
        height: calc(100% - 4em);

        left: 900px;
        top: 2em;
        transform: none;
        margin: 0px;
    }
    .content-window.active {
        left: 2em;
    }

    .apology-text {
        max-width: 70%;
        transform: rotate(-10deg);
        font-size: 4rem;
    }

        
    img.sticker7 {
        max-width: 10em;
        left: 5%;
        top: 8%;
    }

    img.sticker23 {
        right: 3em;
        bottom: 2em;
    }

    img.sticker48 {
        max-width: 10em;
        top: 38.7%;
        transform: rotate(280deg);
    }

    img.sticker50 {
        top: 25%;
        left: 45%;
        max-width: 9.5em;
        transform: rotate(200deg);
    }

    img.sticker57 {
        max-width: 8em;
        left: 50%;
        top: 8%;
    }
}

/* true mobile */
@media only screen and (max-width: 480px) {
    .main-card {
        grid-template-columns: [left] auto [right];
        grid-template-areas: 
            "h"
            "l"
        ;
    }

    .card-links {
        border-bottom-right-radius: var(--rad);
    }

    .card-dummy-content {
        display: none;
        visibility: hidden;
    }
}