
:root {

    --hue: 210;
    --hue-adjust: 135;
    /* and me */

    --hue-2: calc(var(--hue) + var(--hue-adjust));

    --page-background: oklch(10% 0.0666 var(--hue));
}

#sound-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;

    &:hover {
        cursor: pointer;

        g {
            fill: red;
        }
    }

    g {
        fill: white;
    }

    #no-sound {
        display: none;
        width: 2rem;
        height: 2rem;
    }

    #sound {
        display: block;
        width: 2rem;
        height: 2rem;
    }
}

/*main divs*/
.infoPane {
    width: 1200px;
    height: 3000px;
    margin: 0 auto;
    position: relative;
    background: white;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .3);
    overflow: hidden;
    z-index: -5;
}

/*cloud position*/
#cloud1 {
    opacity: 0;
    top: 50px;
    left: 120%;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    transform: scale(1);
    -moz-animation: drift 25s;
    -moz-animation-timing-function: linear;
    -moz-animation-iteration-count: infinite;
    -moz-animation-delay: 8s;
    -webkit-animation: drift 25s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 8s;
    animation: drift 25s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 8s;
    z-index: 2;
}

#circ1 p {
    color: #B3DAE6;
    font-size: 40px;
    font-family: helvetica;
    position: absolute;
    top: 5px;
    left: -10px;
}

#cloud2 {
    opacity: .5;
    top: 40px;
    left: 120%;
    -webkit-transform: scale(.7);
    -moz-transform: scale(.7);
    transform: scale(.7);
    -moz-animation: drift 50s;
    -moz-animation-timing-function: linear;
    -moz-animation-iteration-count: infinite;
    -webkit-animation: drift 50s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation: drift 50s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    z-index: 1;
}

#cloud3 {
    opacity: 0.8;
    top: 20px;
    left: 50%;
    -webkit-transform: scale(.35);
    -moz-transform: scale(.35);
    transform: scale(.35);
    -moz-animation: driftBg 70s infinite;
    -moz-animation-timing-function: linear;
    -webkit-animation: driftBg 70s infinite;
    -webkit-animation-timing-function: linear;
    animation: driftBg 70s infinite;
    animation-timing-function: linear;
    z-index: 0;
}

#cloud4 {
    opacity: 0.7;
    top: 50px;
    left: 20%;
    -webkit-transform: scale(.40, .45);
    -moz-transform: scale(.40, .45);
    transform: scale(.40, .45);
    -moz-animation: driftBg2 60s infinite;
    -moz-animation-timing-function: linear;
    -webkit-animation: driftBg2 60s infinite;
    -webkit-animation-timing-function: linear;
    animation: driftBg2 60s infinite;
    animation-timing-function: linear;
    z-index: 0;
}

#cloud5 {
    opacity: 0.6;
    top: 220px;
    left: 90%;
    -webkit-transform: scale(.40);
    -moz-transform: scale(.40);
    transform: scale(.40);
    -moz-animation: driftBg3 90s infinite;
    -moz-animation-timing-function: linear;
    -webkit-animation: driftBg3 90s infinite;
    -webkit-animation-timing-function: linear;
    animation: driftBg3 90s infinite;
    animation-timing-function: linear;
    z-index: 0;
}

#cloud6 {
    opacity: 0.5;
    top: 60px;
    left: 120%;
    -webkit-transform: scale(.40);
    -moz-transform: scale(.40);
    transform: scale(.40);
    -moz-animation: drift 110s;
    -moz-animation-timing-function: linear;
    -mox-animation-iteration-count: infinite;
    -moz-animation-delay: 11s;
    -webkit-animation: drift 110s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 11;
    animation: drift 110s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 11;
    z-index: 0;
}

#cloud7 {
    opacity: 0.4;
    top: 95px;
    left: 120%;
    -webkit-transform: scale(.7);
    -moz-transform: scale(.7);
    transform: scale(.7);
    -moz-animation: drift 45s;
    -moz-animation-timing-function: linear;
    -mox-animation-iteration-count: infinite;
    -moz-animation-delay: 35s;
    -webkit-animation: drift 45s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-delay: 35s;
    animation: drift 45s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: 35s;
    z-index: 1;
}

/*individual circle position*/
#circ1 {
    z-index: 1;
}

#circ2 {
    top: 50px;
    left: -40px;
}

#circ3 {
    top: 50px;
    left: -120px;
}

#circ4 {
    top: 30px;
    left: -60px;
}

#circ5 {
    top: 100px;
    left: -150px;
}

#circ6 {
    top: 100px;
    left: 130px;
}

/*circle shadows*/
#circ1shadow,
#circ2shadow,
#circ3shadow,
#circ5shadow,
#circ6shadow {
    background-repeat: no-repeat;
    position: absolute;
    z-index: 2;
    -webkit-transform: scale(.9, -.9);
    -mox-transform: scale(.9, -.9);
    transform: scale(.9, -.9);

}

#circ1shadow {
    background: -webkit-radial-gradient(48% 64%, circle, rgba(204, 0, 0, 0) 110px, #9BBBC4 50px);
    background: -moz-radial-gradient(48% 64%, circle, rgba(204, 0, 0, 0) 110px, #9BBBC4 50px);
    background: radial-gradient(48% 64%, circle, rgba(204, 0, 0, 0) 110px, #9BBBC4 50px);
    top: 2px;
    z-index: 3;
}

#circ2shadow {
    background: -webkit-radial-gradient(58% 61%, circle, rgba(204, 0, 0, 0) 82px, #9BBBC4 50px);
    background: -moz-radial-gradient(58% 61%, circle, rgba(204, 0, 0, 0) 82px, #9BBBC4 50px);
    background: radial-gradient(58% 61%, circle, rgba(204, 0, 0, 0) 82px, #9BBBC4 50px);
    top: 0px;
}

#circ3shadow {
    background: -webkit-radial-gradient(54% 60%, circle, rgba(204, 0, 0, 0) 80px, #9BBBC4 50px);
    background: -moz-radial-gradient(54% 60%, circle, rgba(204, 0, 0, 0) 80px, #9BBBC4 50px);
    background: radial-gradient(54% 60%, circle, rgba(204, 0, 0, 0) 80px, #9BBBC4 50px);
    top: 8px;
    -webkit-transform: scale(.8, -.8);
    -moz-transform: scale(.8, -.8);
    transform: scale(.8, -.8);
}

#circ5shadow {
    background: -webkit-radial-gradient(57% 61%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    background: -moz-radial-gradient(57% 61%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    background: radial-gradient(57% 61%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    top: 0px;
}

#circ6shadow {
    background: -webkit-radial-gradient(44% 65%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    background: -moz-radial-gradient(44% 65%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    background: radial-gradient(44% 65%, circle, rgba(204, 0, 0, 0) 53px, #9BBBC4 40px);
    top: 0px;
}

/*style the clouds*/
.bigCloud {
    opacity: 0.4;
    box-shadow: 10px 10px 5px 20px black inset;
    position: absolute;
}

/*style circles that make up clouds*/
.smallCircle {
    height: 100px;
    width: 100px;
    background: white;
    border-radius: 100%;
    position: absolute;
}

.middleCircle {
    height: 150px;
    width: 150px;
    background: white;
    border-radius: 100%;
    position: absolute;
}

.largeCircle {
    height: 200px;
    width: 200px;
    background: white;
    border-radius: 100%;
    position: absolute;
}

/*Circle shadows*/

/*#circShadow1 {
      background: grey;
      border-radius: 30px 20px 500px 20px;
      
      -webkit-transform: rotate(45deg);
      z-index:2;
  }*/

/*stars*/
.star {
    height: 3px;
    width: 3px;
    background: white;
    position: absolute;
    z-index: 0;
    border-radius: 50%;
}


#star1 {
    top: 20px;
    left: 20%;
}

#star1+.star {
    top: 20px;
    left: 70%;
}

#star2 {
    top: 80px;
    left: 4%;
}

#star2+.star {
    top: 80px;
    left: 75%;
}

#star3 {
    top: 150px;
    left: 3%;
}

#star3+.star {
    top: 150px;
    left: 90%;
}

#star4 {
    top: 100px;
    left: 7%;
}

#star4+.star {
    top: 100px;
    left: 78%;
}

#star5 {
    top: 130px;
    left: 13%;
}

#star5+.star {
    top: 130px;
    left: 60%;
}

#star6 {
    height: 5px;
    width: 5px;
    top: 50px;
    left: 18%;
}

#star6+.star {
    height: 5px;
    width: 5px;
    top: 50px;
    left: 92%;
}

#star7 {
    top: 35px;
    left: 27%;
}

#star7+.star {
    top: 35px;
    left: 79%;
}

#star8 {
    top: 35px;
    left: 900px;
}

#star8+.star {
    top: 35px;
    left: 88%;
}

#star9 {
    height: 4px;
    width: 4px;
    top: 50px;
    left: 45%;
}

#star9+.star {
    height: 4px;
    width: 4px;
    top: 50px;
    left: 97%;
}

#star10 {
    top: 100px;
    left: 44%;
}

#star10+.star {
    top: 100px;
    left: 83%;
}

#star11 {
    top: 75px;
    left: 37%;
}

#star11+.star {
    top: 75px;
    left: 66%;
}

@-webkit-keyframes drift {
    from {
        left: 120%;
    }

    to {
        left: -25%;
    }
}

@-moz-keyframes drift {
    from {
        left: 120%;
    }

    to {
        left: -25%;
    }
}

@keyframes drift {
    from {
        left: 120%;
    }

    to {
        left: -25%;
    }
}

@-webkit-keyframes driftBg {
    0% {
        left: 50%;
        opacity: 0
    }

    3% {
        left: 48%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@-moz-keyframes driftBg {
    0% {
        left: 50%;
        opacity: 0
    }

    3% {
        left: 48%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@keyframes driftBg {
    0% {
        left: 50%;
        opacity: 0
    }

    3% {
        left: 48%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@-webkit-keyframes driftBg2 {
    0% {
        left: 20%;
        opacity: 0
    }

    3% {
        left: 19%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@-moz-keyframes driftBg2 {
    0% {
        left: 20%;
        opacity: 0
    }

    3% {
        left: 19%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@keyframes driftBg2 {
    0% {
        left: 20%;
        opacity: 0
    }

    3% {
        left: 19%;
        opacity: .7
    }

    100% {
        left: -25%;
        opacity: .7;
    }
}

@-webkit-keyframes driftBg3 {
    0% {
        left: 90%;
        opacity: 0
    }

    2% {
        left: 88%;
        opacity: .65
    }

    100% {
        left: -25%;
        opacity: .65;
    }
}

@-moz-keyframes driftBg3 {
    0% {
        left: 90%;
        opacity: 0
    }

    2% {
        left: 88%;
        opacity: .65
    }

    100% {
        left: -25%;
        opacity: .65;
    }
}

@keyframes driftBg3 {
    0% {
        left: 90%;
        opacity: 0
    }

    2% {
        left: 88%;
        opacity: .65
    }

    100% {
        left: -25%;
        opacity: .65;
    }
}

.textBody {
    height: 100%;
    width: 1200px;
    padding: 15px 15px 15px 15px;
}

.leftText {
    width: 800px;
    top: 600px;
    position: absolute;
    margin-left: 20px;

    /*border-style: solid;
    border-width: 2px;
    border-color: black;*/
}

.leftText h2 {
    font-family: "Century Gothic";
    letter-spacing: -2px;
    font-size: 40px;
    font-weight: normal;
    margin-left: 20px;
}

.leftText p {
    font-family: "arial";
    font-size: 15px;
    font-weight: normal;
    line-height: 30px;
    text-align: center;
    z-index: 5;
}

.rightText {
    width: 300px;
    height: auto;
    position: relative;
    left: 875px;
    top: 200px;
    /*border-style: solid;
    border-width: 2px;
    border-color: black;*/
}

.rightText h4 {
    font-family: "Century Gothic";
    font-size: 20px;
    font-weight: normal;
    margin-left: 20px;
}

.rightText p {
    font-family: "arial";
    font-size: 12px;
    font-weight: normal;
    line-height: 20px;
    text-align: left;
    margin: 30px;
}



.settings-menu {
    display: none;
    position: absolute;
    top: 90px;
    right: 20px;
    padding: 20px;
    background-color: #f9f9f9;
    border: 5px solid oklch(45% 0.175 var(--hue));
    border-radius: 5px;
    animation: fadeIn 0.3s ease-in-out;
    color: oklch(45% 0.175 var(--hue));
    flex-direction: column;
    z-index: 100;
    width: 12rem;
    font: 700 1.125rem/1.2 Raleway, sans-serif; 
    gap: 1rem;
    background-color: oklch(20% 0.0666 var(--hue));

    label {
        color:oklch(45% 0.175 var(--hue));
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#save-btn {
    margin-top: 10px;
}

.fadeOut {
    animation: fadeOut 0.3s ease-in-out forwards;
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-10px);
        display: none;
    }
}


#settings-btn {
    --button-background: oklch(20% 0.0666 var(--hue));
    --text-base: oklch(45% 0.175 var(--hue));
    --text-hover: oklch(95% 0.145 calc(var(--hue) + 30));

    --shadow-start: oklch(95% 0.145 var(--hue-2));
    --shadow-end: oklch(60% 0.29 var(--hue));

    /* No color function, so i use different opacity values */
    --shadow-inner: 60% 0.29 var(--hue);

    all: unset;

    position: absolute;
    top: 1rem;
    right: 1rem;
    color: white;
    background-color: transparent;
    padding: 0.5rem 0.5rem;
    border: 1px solid grey;
    z-index: 10;


    /* Text */
    color: var(--text-base);
    font: 700 1.125rem/1.2 Raleway, sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;

    /* Button sizing */
    padding: 0.85em;
    max-width: 100%;
    width: 9em;

    /* Button styling */
    background-color: var(--button-background);
    background-clip: padding-box;
    border: 5px solid var(--text-base);
    border-radius: 2em;
    cursor: pointer;

    /* Effects */
    transition: 0.25s ease-out;

    /* Set up pseudo elements */
    &::before,
    &::after {
        content: "";
        border-radius: inherit;
        transition: inherit;
        position: absolute;
        inset: 0;
        pointer-events: none;
    }

    /* Gradient shadow */
    &::before {
        /* Position */
        inset: -0.2em;
        z-index: -1;

        /* Effect */
        background: linear-gradient(var(--shadow-start), var(--shadow-end));
        filter: blur(1.2em) saturate(1.2);

        /* Animation */
        transform-origin: bottom;
        transform: scaleY(0.5);
        opacity: 0;
    }

    /* Semi-transparent blended box-shadow brightens up the border */
    &::after {
        /* Effect */
        box-shadow: inset 0 0 0 1px #fff,
            /* inner pixel */
            0 0 0 4px hsla(0deg, 0%, 100%, 0.5),
            /* lightened border */
            1px 1px 0 4px #fff;
        /* outer pixel */
        mix-blend-mode: overlay;

        /* Animation */
        opacity: 0;
    }

    &:hover,
    &:focus {
        color: var(--text-hover);

        /*  Lighten border */
        border-color: transparent;

        /* Inner shadow */
        box-shadow:
            inset 0 1.4em 0 oklch(var(--shadow-inner) / 0.1),
            /* gloss */
            inset 0 0 1.4em oklch(var(--shadow-inner) / 0.32),
            /* inner glow */
            0 1px 1px oklch(var(--shadow-inner) / 0.32);
        /* bottom line */

        /* Show effects */
        &::before,
        &::after {
            transform: none;
            opacity: 1;
        }
    }
}

.background-light {
    width: 100vw;
    height: 400vh;
    background-image: 
    linear-gradient(
        0deg,
        rgba(129,214,243,1) 18%,
        rgba(17,34,51,1) 84%
    );

    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.sun {
    background-image: 
    radial-gradient(
        circle at center in oklch,
        Gold,
        Orange,
        Crimson 5em,
        transparent 40%
    );
    background-position: bottom right;

    width: 100%;
    height: 20%;
    position: sticky;
    top: -10%;
    right: 100%;
    z-index: 0;

    @media (max-width:600px) {
        background-image: 
        radial-gradient(
            circle at center in oklch,
            Gold,
            Orange,
            Crimson 5em,
            transparent 60%
        );

        height: 10%;
    }
}

.suncontainer {
    width: 50vw;
    height: 70%;


}

canvas {
    position: fixed;
    inset: 0;
    pointer-events: none;
}