/* Comic Relief - a metric-compatible, open source (SIL OFL 1.1) stand-in for
   Comic Sans MS. Self-hosted so no third party (e.g. Google) sees your visitors.
   Source: Comic Relief by Jeff Davis, https://www.fontsquirrel.com/fonts/comic-relief */

@font-face {
    font-family: 'Comic Relief';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/comic-relief-latin-400.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Comic Relief';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/comic-relief-latinext-400.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Comic Relief';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/comic-relief-latin-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Comic Relief';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/comic-relief-latinext-700.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

html, body {
    min-height: 100%;
}

html {
    cursor: url('images/cursor.png'), auto;
}

body {
    color: white;
    background-image: url('images/sky.jpg');
    background-repeat: repeat-x;
    background-position: 0 0;
    font-family: 'Comic Sans MS', 'Comic Relief', 'Comic Neue', cursive;

    animation: moveSky 20s linear infinite;
}

@keyframes moveSky {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1000px 0;
    }
}

.wavy-text {
  display: inline-block;
  font-weight: 700;
  background: linear-gradient(90deg, #6a11cb, #2575fc);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.wavy-text span {
  display: inline-block;
  animation: wave 1.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s);
}

@keyframes wave {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-0.35em); }
}

.top-banner {
    /*position: fixed;*/
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    z-index: 2000;
    pointer-events: none;

    background-image: url("images/construction.gif");
    background-repeat: repeat-x;
    background-size: auto 100%;

    animation: bannerMove 10s linear infinite;
}

@keyframes bannerMove {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 500px 0;
    }
}

.side-flag {
    position: fixed;
    left: 40px;
    top: 10%;
    z-index: 500;

    border: 9px solid white;
    border-style: double;
}

.text-image {
    float: right;
    width: 200px;
    margin: 0 0 10px 20px;
}

.centered-image {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    height: auto;
}

.content {
    box-sizing: border-box;
    width: 50%;
    position: absolute;
    left: max(20%, 240px);
    min-height: 100vh;
    padding: 20px;
    background-image: url("images/background.gif");
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: 0 -2px;
    background-color: rgb(107, 107, 107);
    background-blend-mode: multiply;

    border-left: 3px solid white;
    border-right: 3px solid white;
}


.navbar {
    position: fixed;
    left: 75%;
    top: 10%;
    box-sizing: border-box;

    width: 220px;
    height: auto;
    max-height: 80vh;
    overflow-y: auto;
    scrollbar-color: white transparent;
    scrollbar-width: auto;

    /* Background image */
    background-image: url("images/nav-bg.png");
    background-repeat: repeat-y;
    background-size: 100% auto;

    /* Border */
    border: 9px solid white;
    border-style: double;
    border-radius: 0px;

    /* Make it vertical */
    display: flex;
    flex-direction: column;

    /* Keep links from touching the border */
    padding: 10px;

    z-index: 1000;
}

.navbar::-webkit-scrollbar {
    width: 12px;
}

.navbar::-webkit-scrollbar-track {
    background: transparent;
}

.navbar::-webkit-scrollbar-thumb {
    background: white;
    border-radius: 0px;
}

.navbar img {
    width: 100%;
    height: auto;
    display: block;
}

.bold-text {
    font-weight: bold;
}

.navbar a {
    padding: 12px;
    color: white;
    text-decoration: none;

    border-bottom: 2px solid white;
}

.navbar a:last-child {
    border-bottom: none;
}

.navbar a:hover {
    background: rgba(255, 255, 255, 0.3);
}

.rainbow-text {
  /* Apply a linear gradient containing the rainbow colors */
  background-image: linear-gradient(to right, violet, indigo, blue, green, yellow, orange, red, violet);
  background-size: 200% auto;

  /* Clip the background to the text boundary */
  -webkit-background-clip: text;
  background-clip: text;

  /* Make the original text color transparent so the background shows through */
  color: transparent;

  animation: rainbow 4s linear infinite;
}

@keyframes rainbow {
  to {
    background-position: 200% center;
  }
}

.site-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    width: 100%;
}

.site-buttons img {
    width: 100%;
    height: auto;
    image-rendering: pixelated;
}

@media (max-width: 960px) {
    .content {
        width: calc(75% - max(20%, 240px) - 20px);
    }
}

#ip {
    font-style: italic;
}