@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --color-dark: #2f2f2f;
    --color-darker: #161616;
    --color-blue: #2f99ff;
    --color-blue-darker: #0d2c4a;

    --link-width: 300px;

    --link-icon-size: 40px;
    --avatar-size: 100px;

    --stripe-size: 110px;
    --stripe-color-1: #0002;
    --stripe-color-2: #0000;

    --win_round: 10px;

    --win_height: 100vh;
}

body, html {
    font-family: "Consolas";
    background-color: #2f2f2f;
    height: var(--win_height);
    margin: 0;
    z-index: -1;
    overflow-x: hidden;
}

body {
    display: flex;
    /* box-shadow: inset 0 0 50px #000000; */
}

h1 {
    color: var(--color-dark);
    font-weight: bold;
    font-size: 50px;
    text-align: center;
    background-color: var(--color-blue);
    padding: 10px;
    border-radius: 50px;
}

a {
    text-decoration: none;
}

details {
    transition: all 0.2s ease-in-out;
    margin: 0;
}
details summary{
    list-style-type: none;
    font-weight: bold;
    cursor: pointer;
    margin: 10px;
    margin: 0;
}

details[open] {
    transition: all 0.2s ease-in-out;
    background-color: var(--color-blue);
    color: var(--color-dark);
    padding: 10px;
    border-radius: 10px;
    margin: 10px;
}

/* Custom */

.stripes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--win_height);
    z-index: 0;

    &::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        height: 100%;
        width: calc(100% + var(--stripe-size));
        background-size: var(--stripe-size) var(--stripe-size);
        background-image: repeating-linear-gradient(
            45deg,
            var(--stripe-color-1) 25%,
            var(--stripe-color-1) 50%,
            var(--stripe-color-2) 50%,
            var(--stripe-color-2) 75%
        );
        background-size: var(--stripe-size) var(--stripe-size);
        animation: animateStripes 2s linear infinite;
    }

    &::after {

    }
}

@keyframes animateStripes {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(var(--stripe-size) * -1));
    }
}

#mainwrapper {
    z-index: 2;
    margin: auto;
    display: grid;
}

.main {
    width: auto;
    height: auto;
    margin: 20px;
    box-shadow: 0 0 20px black;
    padding: 3px;
    background-image: linear-gradient(90deg, #002fff, #00ffff);
}
.main_content {
    color: var(--color-blue);
    box-shadow: 0, 0, 15px, black;

    font-size: 20px;

    display: block;

    background-color: var(--color-dark);

    padding: 20px;
}
.title_bar {
    display: flex;
    width: auto;
    background-color: var(--color-blue);
    box-shadow: inset 0 -5px 0 var(--color-blue-darker);
}
.title {
    margin: auto;
    vertical-align: middle;
    padding: 10px;
    font-weight: bold;
    font-size: 20px;

    border-top-left-radius: var(--win_round);
    border-top-right-radius: var(--win_round);
}

.maintop {
    display: flex;
    width: calc(var(--link-width + 1px));

    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
.mainlogo {
    display: inline-block;

    height: var(--avatar-size);
    width: var(--avatar-size);

    border-radius: 100%;
    border: 5px solid var(--color-blue);

    margin-right: 20px;
}
.mainsig {
    display: inline-block;
    width: calc(var(--link-width) - var(--avatar-size) - 15px);
    height: auto;
    filter: invert(0.5) sepia(1) hue-rotate(180deg) saturate(1000%);
}

.linkholder {
    display: flex;

    margin-top: 5px;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;

    padding: 10px;

    width: var(--link-width);
    background-color: var(--color-dark);
    border: 3px solid white;

    box-shadow:
        0 10px #00000088;

    transition: all 0.5s ease-in-out;
}
.linkholder:hover {
    transition: all 0.1s ease-in-out;
    transform: translateX(10px);
}
.linkholder:active {
    transition: all 0.05s ease-in-out;
    border: 5px solid white;
}

.linkicon {
    vertical-align: middle;
    max-width: var(--link-icon-size);
    max-height: var(--link-icon-size);
}
.linkname {
    vertical-align: middle;
    color: white;
    font-weight: bold;
    font-size: 20px;

    margin-top: auto;
    margin-bottom: auto;
    margin-left: 30px;

    text-shadow: 2px 2px 2px black;
}
.terrain {
    background-image: linear-gradient(var(--color-darker), black);
    padding: 20px;
    border-radius: 30px;
    box-shadow: inset 0 10px black;
}

#linkinstagram {
    background: linear-gradient(90deg, #a600ff, #ff00bb, #ffd900);
    border-color: #54002e;
}
#linkcara {
    background: linear-gradient(90deg, #313131, #141414);
    border-color: #000000;
}
#linkdiscord {
    background: linear-gradient(90deg, #0059ff, #1d92ff);
    border-color: #001a47;
}
#linkgithub {
    background: linear-gradient(90deg, #000000, #340062);
    border-color: black;
}
#linkartfight {
    background: #077591;
    border-color: #053941;
}
#linkbluesky {
    background: linear-gradient(90deg, #004fc5, #6eb9ff);
    border-color: #004f8f;
}
#linktwitter {
        background: #111;
    border-color: #000000;
}