/******************************************************************************************
    NAVIGATION
 ******************************************************************************************/
nav.mainmenu {
    position: fixed;
    z-index: 1;
    top: 0px;
    width: 100%;
    padding: 0px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 400ms;
}

    nav.mainmenu.pinned {
        background: #212121;
    }

    nav.mainmenu .logo img {
        padding-top: 5px;
        width: 500px;
        max-width: calc(100vw - 120px);
        cursor: pointer;
        transition: all 400ms;
    }

    nav.mainmenu.pinned .logo img {
        width: 250px;
    }

#toggle {
    display: none;
}

nav.mainmenu .hamburger {
    display: none;
    position: relative;
    top: -3px;
    cursor: pointer;
}

    nav.mainmenu .hamburger div {
        position: relative;
        width: 30px;
        height: 4px;
        border-radius: 3px;
        margin: 4px 0px;
        transition: all 0.3s ease-in-out;
        background-color: #fff;
    }

#toggle:checked + .hamburger .top-bun {
    transform: rotate(-45deg);
    margin-top: 10px;
}

#toggle:checked + .hamburger .bottom-bun {
    opacity: 0;
    transform: rotate(45deg);
}

#toggle:checked + .hamburger .meat {
    transform: rotate(45deg);
    margin-top: -7px;
}

nav.mainmenu ul.menu {
    display: flex;
    list-style-type: none;
}

    nav.mainmenu ul.menu li {
        border-right: 1px solid white;
    }

        nav.mainmenu ul.menu li > a {
            text-decoration: none;
            text-transform: uppercase;
            white-space: nowrap;
            color: white;
        }

            nav.mainmenu ul.menu li > a:hover {
                text-decoration: underline;
            }

        nav.mainmenu ul.menu li:not(:last-child) {
            padding: 0px 20px;
        }

        nav.mainmenu ul.menu li:last-child {
            padding-left: 20px;
            border-right: 0px;
        }

@media (max-width: 1100px) {

    nav.mainmenu {
        padding: 0px 30px 0px 5px;
    }

        nav.mainmenu .logo {
            z-index: 1;
        }

        nav.mainmenu .hamburger {
            display: block;
            z-index: 1;
            left: 20px;
        }

        nav.mainmenu ul.menu {
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: fixed;
            top: 0;
            left: 100vw;
            background: #212121;
            width: 100vw;
            height: 100vh;
            height: calc(var(--vh, 1vh) * 100);
            transition: left 350ms;
        }

            nav.mainmenu ul.menu > li {
                margin: 20px 0px;
                padding: 0px !important;
                font-size: 18px;
                border: 0px;
                text-align: center;
            }

    #toggle:checked ~ ul.menu {
        left: 0;
    }
}


/******************************************************************************************
    HEADER
 ******************************************************************************************/
header {
    position: relative;
    padding-top: 200px;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    background: #212121;
    color: #fff;
}

    header video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.7;
    }

    header .arrow-down {
        position: relative;
        width: 60px;
        height: 60px;
        color: white;
        opacity: 0.6;
        cursor: pointer;
        animation: arrowDownAnimation 2s infinite;
        animation-delay: 1s;
    }

        header .arrow-down:hover {
            opacity: 1;
        }

@keyframes arrowDownAnimation {
    0% {
        bottom: 0px;
    }

    50% {
        bottom: -15px;
    }

    100% {
        bottom: 0px;
    }
}

header .text {
    position: absolute;
    bottom: 200px;
    padding: 0px 60px;
    opacity: 0;
    animation: showHeaderTextAnimation 1.5s forwards;
}

@keyframes showHeaderTextAnimation {
    0% {
        bottom: 200px;
        opacity: 0;
    }

    100% {
        bottom: 40px;
        opacity: 1;
    }
}

header .text h2 {
    font-size: 5em;
    font-weight: 800;
    line-height: 1em;
    text-transform: uppercase;
    color: white;
}

header .text h3 {
    font-size: 3em;
    font-weight: 700;
    line-height: 1em;
    text-transform: uppercase;
    color: white;
}

header .text p {
    font-size: 1.1em;
    font-weight: 400;
    margin: 20px 0px;
    max-width: 700px;
    color: white;
}

header .social-media-icons {
    position: absolute;
    right: 40px;
    bottom: 30px;
}

    header .social-media-icons p {
        color: #ccc;
        text-align: center;
        margin-bottom: 8px;
    }

    header .social-media-icons img {
        width: 40px;
        opacity: 0.8;
        cursor: pointer;
    }

        header .social-media-icons img:hover {
            opacity: 1;
        }

@media (max-width: 1100px) {

    header .text {
        padding: 0px 15px;
    }

        header .text h2 {
            font-size: 2.7em;
        }

        header .text h3 {
            font-size: 1.8em;
        }

    header .social-media-icons {
        right: 10px;
    }
}


/******************************************************************************************
    FOOTER
 ******************************************************************************************/
footer {
    background: #212121;
    margin-top: 30px;
    padding-bottom: 30px;
}

    footer > img {
        display: block;
        width: 100%;
    }

    footer > p {
        color: #bbb;
        text-align: center;
        padding-top: 10px;
    }

    footer nav.footermenu ul {
        display: flex;
        justify-content: center;
        margin: 0px auto;
        list-style-type: none;
    }

        footer nav.footermenu ul > li {
            padding: 0px 10px;
            border-right: 1px solid #bbb;
        }

            footer nav.footermenu ul > li:last-child {
                border-right: 0px;
            }

            footer nav.footermenu ul > li > a {
                color: #bbb;
                font-size: 14px;
                text-decoration: none;
            }

                footer nav.footermenu ul > li > a:hover {
                    text-decoration: underline;
                }

@media (max-width: 1100px) {

    footer p {
        font-size: 12px;
    }
}


/******************************************************************************************
    CONTENT
 ******************************************************************************************/
section.text {
    background: rgba(255, 255, 255, 0.75);
    padding: 40px 60px 50px 60px;
}

    section.text h2 {
        font-weight: 300;
        font-size: 44px;
        font-family: EpicRide, serif;
    }

p + h2 {
    margin-top: 50px;
}

section.text h3 {
    font-family: 'Amatic SC', cursive;
    font-weight: 700;
    font-size: 40px;
    line-height: 40px;
    margin-bottom: 10px;
}

p + h3 {
    margin-top: 30px;
}

p + p {
    margin-top: 10px;
}

section.text p {
    font-weight: 300;
}

section.image {
    position: relative;
}

    section.image img {
        width: 100%;
        max-height: 400px;
        object-fit: cover;
        object-position: left bottom;
    }

@media (max-width: 1100px) {

    section.text {
        padding: 40px 15px 80px 15px;
    }
}

section.content p.eyecatcher {
    font-weight: 300;
    font-size: 44px;
    font-family: EpicRide, serif;
}

section.content h2 {
    font-family: 'Amatic SC', cursive;
    font-weight: 700;
    font-size: 40px;
    line-height: 40px;
    margin: 0px 0px 10px 0px;
}

section.content h3 {
    font-family: 'Amatic SC', cursive;
    font-weight: 700;
    font-size: 30px;
    line-height: 30px;
    margin: 0px 0px 10px 0px;
}

main {
    display: flex;
    margin: 0px 0px 60px 0px;
    padding: 0px 60px 0px 60px;
}

    main article {
        margin-top: 40px;
    }

        main article h1 {
            display: none;
        }

        main article p:not(.eyecatcher) + h2, main article p:not(.eyecatcher) + p.eyecatcher {
            margin-top: 50px;
        }

    main aside {
        max-width: 460px;
        margin-top: 60px;
        padding-left: 100px;
    }

/* SHARE */
section.share {
    margin: 50px 0px;
    text-align: center;
}

    section.share p {
        margin-bottom: 15px;
    }

    section.share img {
        height: 40px;
        opacity: 0.9;
        transition: all 200ms ease-in-out;
    }

        section.share img:hover {
            opacity: 1;
        }

/* AUTHOR */
section.author {
    position: relative;
    margin-top: 20px;
    border-top: 2px solid #444;
}

    section.author div.written-by {
        position: relative;
        top: -15px;
        text-align: center;
        margin: 0px auto;
    }

        section.author div.written-by p {
            display: inline-block;
            background: white;
            padding: 0px 6px;
            font-size: 14px;
        }

    section.author img {
        display: block;
        border-radius: 50%;
        width: 200px;
        margin: 0px auto 10px auto;
    }

    section.author h2 {
        text-align: center;
    }

    section.author p {
        text-align: justify;
    }

/* POSTS */
section.posts {
    padding: 40px 60px 60px 60px;
    background: rgb(242, 227, 201);
    clip-path: polygon(0 0, 100% 20px, 100% 100%, 0 calc(100% - 20px));
}

    section.posts h2 {
        margin-bottom: 30px;
    }

section.teasers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 40px;
}

    section.teasers a.teaser {
        position: relative;
        display: block;
        background: white;
        box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
        border-radius: 20px;
        overflow: hidden;
        min-width: 250px;
        max-width: 500px;
        text-decoration: none;
        transition: all 100ms ease-in-out;
    }

        section.teasers a.teaser img {
            display: block;
            /*background: radial-gradient(circle, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%);*/
            height: 275px;
            width: 100%;
            object-fit: cover;
        }

        section.teasers a.teaser span {
            display: block;
            padding: 15px;
            padding-bottom: 50px;
        }

        section.teasers a.teaser:hover {
            /*box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;*/
            transform: scale(1.01);
        }

        section.teasers a.teaser i.material-icons {
            position: absolute;
            right: 30px;
            bottom: 15px;
            font-size: 36px;
        }

@media (max-width: 1100px) {
    main {
        display: block;
        padding: 0px 15px;
    }

        main aside {
            margin: 20px auto;
            padding: 0px;
        }

    section.posts {
        padding: 40px 15px 60px 15px;
    }

    section.teasers {
        grid-gap: 20px;
    }
}
