body {
    font-family: "Helvetica Neue", Arial, Verdana, sans-serif;
    font-size: 16px;
    padding: 2rem;
    margin: 0;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

#page {
    width: 100%;
    max-width: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0;
}

header {
    width: 100%;
    margin: 8rem 0;

    & h1 {
        & span {
            border: 0;
            padding: 0;
            margin: 0;
            position: absolute !important;
            height: 1px; 
            width: 1px;
            overflow: hidden;
            clip: rect(1px 1px 1px 1px);
            clip: rect(1px, 1px, 1px, 1px);
            clip-path: inset(50%);
            white-space: nowrap;
        }

        & svg {
            width: 100%;
            height: auto;

            & .cls-1 { fill: none; }
            & .cls-2 { fill: #672b84; }
            & .cls-3 { fill: #4b2260; }
            & .cls-4 { fill: url(#linear-gradient-4); }
            & .cls-5 { fill: url(#linear-gradient-3); }
            & .cls-6 { fill: url(#linear-gradient-2); }
            & .cls-7 { fill: url(#linear-gradient); }
            & .cls-8 { clip-path: url(#clippath-1); }
            & .cls-9 { fill: #020000; }
            & .cls-10 { clip-path: url(#clippath); }
        }
    }
}

main { flex: 1; }

footer {
    width: 100%;
    margin-top: 2rem;
    padding: 1rem 0 0 0;
    font-size: .8em;
    color: #4b2260;
    border-top: 1px solid #002000;
    position: relative;
    text-align: center;

    & h2 {
        font-size: 1.5rem;
        margin: 0 0 .33em 0;
    }

    & ul {
        margin: 0;
    }
}

main, footer {
    animation: animateContent;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-delay: 1.3s;
    opacity: 0;
}

section { 
    text-align: center;
    margin: 2rem 0 4rem 0;

    & > h2 {
        margin-bottom: 2rem;
    }

    &:last-of-type {
        margin-bottom: 2rem;
    }
}

section#produkter ul {
    text-align: left;
    margin: 0;

    & > li {
        max-width: 500px;
        padding-left: 100px;
        
        &:not(:first-of-type) {
            margin-top: 2rem;
        }

        & h3 {
            font-size: 2em; 
            margin: 0;

            &::after {
                position: absolute;
                content: "BETA";
                font-family: "Helvetica Neue", Arial, Verdana, sans-serif;
                display: inline-block;
                border-radius: 4px;
                background-color: lightgreen;
                padding: .15rem .4rem;
                vertical-align: middle;
                font-size: .8rem;
                font-weight: 500;
                letter-spacing: .08em;
                top: 6.5px;
                margin-left: 5px;
            }
        }

        & > img {
            display: block;
            float:left;
            width: 100px;
            height: auto;
            margin-left: -116px;
        }
    }
}

/* For mobile devices */
@media screen and (max-width: 768px) {
    body {
        padding: 4rem 2rem 2rem 2rem;
    }

    #page {
        justify-content: flex-start;
        margin: 0;
    }

    header {
        margin: 0 0 4rem 0;
    }
}

/* Headings */
h1, h2, h3, h4 {
    font-family: "fatfrank", Arial, Verdana, sans-serif;
    font-weight: 400;
    font-style: normal;
}

h1 { margin: 0; }

h2 {
    position: relative;
    text-transform: uppercase;
    color: #4b2260;
    background-image: linear-gradient(80deg, #86469b 10%, #4b2260 90%);
    background-size: calc(100%);
    background-position: right;
    width: auto;
    display: inline-block;
    -moz-background-clip: text;
    -webkit-background-clip: text;
    -moz-text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
    margin: 0;
    margin-bottom: -.1em;
}

h3 {
    margin-bottom: 0;
    position: relative;
}

/* Lists */
ul {
    list-style: none;
    padding: 0;
}

/* Components */
a { 
    text-decoration: none; 
    color: inherit;
}

p { 
    margin: .6em 0; 

    & a {
        color: #4b2260;
        text-decoration: none;
        font-style: italic;
        background-size: 500%;
        background-position: right;
        transition: background-size .15s ease;
        background-image: linear-gradient(45deg, #f3ec78, #4b2260);
        -moz-background-clip: text;
        -webkit-background-clip: text;
        -moz-text-fill-color: transparent;
        -webkit-text-fill-color: transparent;

        &:hover{
            background-image: linear-gradient(45deg, #f3ec78, #4b2260);
            background-size: 100%;
            -moz-background-clip: text;
            -webkit-background-clip: text;
            -moz-text-fill-color: transparent;
            -webkit-text-fill-color: transparent;
        }
    }
}

/* SVG-logo */
#logoContainer {
    position: relative;
}

g#logoPil {
    animation: animatePil;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

g#logoKub {
    animation: animateKub;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

g#logoText {
    position: relative;
    animation: animateText;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    animation-delay: 50ms;
    opacity: 0;
}

/* Animations */
@keyframes animatePil {
    20%      {
        transform: translateX(-27%);
        opacity: 0;
    }    
    52%      {
        transform: translateX(-27%);
    }
    60%     {
        opacity: 1;
    }
    97%     {
        transform: translateX(0%);
    }
    100% {
        opacity: 1;
    }
}

@keyframes animateKub {
    0%      {
        transform: translateX(-27%);
        opacity: 0;
    }    
    40%     {
        opacity: 1;
    }
    55% {
        transform: translateX(-27%);
    }
    100%     {
        transform: translateX(0%);
        opacity: 1;
    }
}

@keyframes animateText {
    70%      {
        opacity: 0;
    }
    100%    {
        opacity: 1;
    }
}

@keyframes animateContent {
    0%      {
        opacity: 0;
    }
    100%    {
        opacity: 1;
    }
}