:root {
    --color-blue: #0067FF;
    --color-pink: #FF00C4;
    --color-yellow: #E2EC07;
}

* {
    box-sizing: border-box;
}

@keyframes hvr-buzz-out {
    10% {
      -webkit-transform: translateX(3px) rotate(2deg);
      transform: translateX(3px) rotate(2deg);
    }
    20% {
      -webkit-transform: translateX(-3px) rotate(-2deg);
      transform: translateX(-3px) rotate(-2deg);
    }
    30% {
      -webkit-transform: translateX(3px) rotate(2deg);
      transform: translateX(3px) rotate(2deg);
    }
    40% {
      -webkit-transform: translateX(-3px) rotate(-2deg);
      transform: translateX(-3px) rotate(-2deg);
    }
    50% {
      -webkit-transform: translateX(2px) rotate(1deg);
      transform: translateX(2px) rotate(1deg);
    }
    60% {
      -webkit-transform: translateX(-2px) rotate(-1deg);
      transform: translateX(-2px) rotate(-1deg);
    }
    70% {
      -webkit-transform: translateX(2px) rotate(1deg);
      transform: translateX(2px) rotate(1deg);
    }
    80% {
      -webkit-transform: translateX(-2px) rotate(-1deg);
      transform: translateX(-2px) rotate(-1deg);
    }
    90% {
      -webkit-transform: translateX(1px) rotate(0);
      transform: translateX(1px) rotate(0);
    }
    100% {
      -webkit-transform: translateX(-1px) rotate(0);
      transform: translateX(-1px) rotate(0);
    }
}

body {
    background-image: url('img/animate_me.svg');
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    display: grid;
    grid-template-rows: 8rem auto auto auto;
    grid-template-columns: 1fr;
    grid-template-areas: "header" "nav" "content" "footer";
    height: 100vh;
    margin: 0;
    padding: 0;
    transform: scale(1);
    font-family: 'Montserrat Alternates', sans-serif;
}

    @media only screen and (min-width: 768px) {
        body {
            grid-template-areas: "nav" "header" "content" "footer";
            grid-template-rows: 1fr 1fr 1fr auto;
        }
    }

.bold {
    font-weight: bold;
}
.strike-through {
    text-decoration: line-through;
}

@media screen and (max-width: 650px) {
    .hide-small { display: none; }
}


nav {
    font-family: 'Montserrat Subrayada', sans-serif;
}

    nav ul {
        display: flex;
        justify-content: center;
        padding: 0;
        margin: 1rem 0;
        list-style: none;
    }

        nav ul li {
            margin-right: 1rem;
        }

        nav ul li:last-child {
            margin-right: 0;
        }

a {
    color: black;
    text-decoration: underline;
    transition: all 0.25s;
    transform: scale(1);
}

    a:hover {
        background-color: var(--color-blue);
        text-decoration: none;
        color: white;
    }


h2 {
    font-size: 2rem;
}

.page-header {
    grid-area: header;
}

    .page-header h1 {
        position: absolute;
        visibility: hidden;
    }

    .logo {
        pointer-events: none;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('img/logo_background.svg');
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
    }

.grid {
    height: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
}


.main-nav {
    grid-area: nav;
    align-self: flex-start;
    height: auto;
}

    .main-nav ul li {
        margin-right: 0.5rem;
    }
        .main-nav ul li:last-child {
            margin-right: 0;
        }

        .main-nav ul li a {
            border-radius: 0.125rem;
            font-weight: bold;
            display: block;
            font-size: 1.5rem;
            color: var(--color-blue);
            padding: 0.25rem 0.5rem;
            background-color: white;
            text-decoration: none;
            transition: all 0.25s;

        }
        .main-nav ul li a:hover {
            background-color: var(--color-blue);
            color: white;
            animation-name: hvr-buzz-out;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-iteration-count: 1;
        }

        .main-nav ul li a:active {
            background-color: var(--color-pink);
        }

        .main-nav ul li .nav-icon ~ span {
            margin-left: 0.5rem;
        }

    @media only screen and (min-width: 768px) {
        .main-nav {
            align-self: center;
        }
        .main-nav ul li {
            margin-right: 1rem;
        }
        .main-nav ul li a {
            font-size: 1.5rem;
            padding: 0.75rem 1.5rem;
        }
    }

    @media only screen and (min-width: 1000px) {
        .main-nav ul li {
            margin-right: 2rem;
        }
        .main-nav ul li a {
            font-size: 2rem;
            padding: 1rem 2rem;
        }
    }


.main-content {
    grid-area: content;
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    grid-template-areas: "main";
    padding: 1rem;
    overflow: hidden;
}
@media only screen and (min-width: 768px) {
    .main-content {
        grid-row-start: 2;
        grid-template-rows: 2fr;
    }
}
    .main-content .section {
        grid-area: main;
        transition: opacity 0.25s, transform 0.25s;
        opacity: 0;
        max-width: 1000px;
        margin: auto;
        transform: translateY(-100%);
        background-color: rgba(255,255,255,0.85);
        padding: 2rem;
    }

    @media only screen and (min-width: 768px) {
        .main-content .section {
            max-height: 100%;
            overflow-y: auto;
        }
    }

    .main-content .section:target {
        opacity: 1;
        transform: translateY(0);
    }

    .main-content .section:target ~ .home {
        transform: translateY(-100%);
        opacity: 0;
    }

    .main-content .section.home {
        opacity: 1;
        transform: translateY(0);
    }

    .main-content ul {
        padding:0;
        margin: 0 0 1rem 0;
        list-style: none;
    }
        .main-content ul li {
            padding: 0;
            margin: 0 0 1rem 0;
        }

.page-footer {
    align-self: end;
}
    .page-footer li a {
        background-color: white;
        color: var(--color-blue);
        padding: 0.25rem 0.5rem;
        font-size: 0.5rem;
    }

        .page-footer li a:hover {
            background-color: var(--color-blue);
            color: white;
        }

        @media only screen and (min-width: 500px) {
            .page-footer li a {
                font-size: 1rem;
            }
        }
