body {
    margin: 0;
    padding: 0;
    background-color: #ffffff; /* Set background color of the body to white */
}
html,body
{
   min-width: 650px;
   font-family: monospace;
   scroll-snap-type: y proximity; /* proximity */
}
a {
    color : #4DBCE9;
    text-decoration: none;
}
a:hover {
    color : #26ADE4;
    text-decoration: underline;
}
.right {
    position: absolute;
    right: 0;
}

:root {
    --goldenR: 1.61803398875;
    --gridSpace: 2.0rem;
    --backgroundHeight : 120%;
}
/* Increase space between stuff if on a tall screen */
@media only screen and (min-height: 400px) {
    :root {
        --gridSpace: 1.5rem;
        --backgroundHeight : 200%;
    }
}
@media only screen and (min-height: 500px) {
    :root {
        --gridSpace: 1.5rem;
        --backgroundHeight : 170%;
    }
}
@media only screen and (min-height: 600px) {
    :root {
        --gridSpace: 1.5rem;
        --backgroundHeight : 160%;
    }
}
@media only screen and (min-height: 700px) {
    :root {
        --gridSpace: 2.0rem;
        --backgroundHeight : 150%;
    }
}
@media only screen and (min-height: 800px) {
    :root {
        --gridSpace: 2.5rem;
        --backgroundHeight : 140%;
    }
}
@media only screen and (min-height: 900px) {
    :root {
        --gridSpace: 3.0rem;
        --backgroundHeight : 130%;
    }
}
@media only screen and (min-height: 1000px) {
    :root {
        --gridSpace: 3.0rem;
        --backgroundHeight : 110%;
    }
}


.container {
    width: 600px;
    margin: 10% auto;
    border-radius: 25px;
    position: relative;
    /* overflow: hidden; /* Hide overflow content to prevent it from protruding outside the container */
    display: flex;

    flex-direction: row;
    flex-wrap: wrap;
    grid-gap: var(--gridSpace);

    align-items: center;
}

#header {
    /* width: calc(100% + 10px); /* Extend width to include the border */
    background-color: #73c973;
    border-top-left-radius: 15px; /* Match the container's rounded edges */
    border-top-right-radius: 15px; /* Match the container's rounded edges */
    position: relative; /* Ensure the header remains in the document flow */
    width: 100%; /* Change width to 100% */
    height: 100%;
    box-shadow: rgba(65, 54, 88, 0.4) 0px 4px 8px, 
    rgba(255, 255, 255, 0.3) 0px 14px 26px -6px, 
    rgba(255, 255, 255, 0.2) 0px -6px 0px inset;
    margin-bottom: calc(-1*var(--gridSpace));
    overflow: hidden; 
}

.content {
    background-color: #f0f0f0;
    background: linear-gradient(145deg, rgb(240, 240, 240, 0.92), rgb(245, 235, 235, 0.82));
    border: 0px solid #73B7C9; /* Add border around content */
    border-style: solid;
    border-bottom: 0;
    border-top: 0;
    padding: 50px;
    padding-top: 25px;
    width: calc(100% - 100px);  /* Subtract padding */
    
    position: relative; /* Ensure the content remains in the document flow */
    z-index: 1; /* Ensure the content is above the canvas */
    line-height: 1.8;
    backdrop-filter: blur(15px) contrast(50%);
    margin-top: calc(-1*var(--gridSpace));
    margin-bottom: calc(-1*var(--gridSpace));
    box-shadow: rgba(255, 255, 255, 0.4) 0px 4px 8px, 
    rgba(255, 255, 255, 0.3) 0px 14px 26px -6px, 
    rgba(255, 255, 255, 0.2) 0px -6px 0px inset;
}
 .contentBottom {
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    margin-top: calc(-1*var(--gridSpace));
}
h1 {
    padding: 5px;
    padding-left: 0;
    padding-top: 10px;
    margin-top: 0;
}
h1 .inverted {
    background-color: black;
    /* background-image: linear-gradient(45deg, 
                    #d1e751, 
                    #51e7b2,
                    #6751e7,
                    #e75186);*/
    color: white;
    padding: 0;
    margin: 0;
    display: inline-block;
    /* animation: .8s shake infinite alternate; */
    animation: .8s shake infinite alternate;
}
.definition {
    font-style: italic;
    margin-top: -20px;
    padding-left: 5px;
    padding-bottom: 25px;
    animation: 1s fade-in-right ease-in;
}
.content #loadContent1 {
    background-color: #73B7C9;
    opacity: 0.05;
    background-image: linear-gradient(146deg, #d1e751 12%, #51e7b2 36%, #6751e7 74%, #e75186 96%);
    width: 598px; /* Account for 1px border each side */
    height: 280px;
    position:inherit;
    margin-left: -50px;
    margin-top: -25px;
    margin-bottom: -50px;
}
.content .videoHolder {
    width: 548px; /* Account for 1px border each side */
    position:inherit;
    margin-left: -25px;
    border: 1px solid #000000;
    border-radius: 10px;
}
.content.hoverFX {
    transition: box-shadow 0.1s ease;
}
.content.hoverFX:hover {
    box-shadow: rgba(255, 255, 255, 0.5) 0px 6px 12px, 
                rgba(255, 255, 255, 0.4) 0px 20px 32px -8px, 
                rgba(255, 255, 255, 0.3) 0px -8px 0px inset;
}

.contentSmall {
    width: 30%;
    flex: auto;
    text-align: center;

    /* 
    margin-top: calc(-1*var(--gridSpace));
    margin-bottom: calc(-1*var(--gridSpace));
    */

    background: linear-gradient(145deg, rgb(240, 240, 240, 0.92), rgb(245, 235, 235, 0.7));
    padding: 50px;

    position: relative; /* Ensure the content remains in the document flow */
    z-index: 1; /* Ensure the content is above the canvas */
    line-height: 1.8;
    backdrop-filter: blur(15px) contrast(50%);
    box-shadow: rgba(255, 255, 255, 0.4) 0px 4px 8px, 
    rgba(255, 255, 255, 0.3) 0px 14px 26px -6px, 
    rgba(255, 255, 255, 0.2) 0px -6px 0px inset;

    perspective: 800px;
    /*  animation: spin 5s linear infinite;  */
    transform-style: preserve-3d;
    resize: both;
}
.contentSmall.XS {
    flex: 1;
    background-color: #084607;

    flex-basis: 20%;
    border-radius: 5px;
}
.contentSmall.macbook {
    height: 150px;
    flex-basis: 7%;
    background: radial-gradient(circle, rgba(156, 144, 167, 0.9), rgba(106, 5, 114, 0.6), rgba(66, 39, 90, 0.5));
    background: radial-gradient(circle, rgba(156, 144, 167, 0.9), rgba(106, 5, 114, 0.6), rgba(66, 39, 90, 0.5));
    

    align-self: center;
    border-radius: 10px;
}
 /* This is the class we add to the content small, and where we adjust margin */
.contentSmall.img {
    background-color: #e75186;
    padding: 0;

    border-radius: 5px;
    transition: box-shadow 0.3s ease; /* Add transition property. Animate the box shadow on hover */
    width: calc(50% - var(--gridSpace));
    transform: rotateZ(0deg); /* Rotate */
    transition: transform 0.3s ease;
}
.contentSmall.img:hover {
    box-shadow: rgba(255, 255, 255, 0.5) 0px 6px 12px, 
                rgba(255, 255, 255, 0.4) 0px 20px 32px -8px, 
                rgba(255, 255, 255, 0.3) 0px -8px 0px inset;
    transform: rotateZ(1deg); /* Rotate slight skew */
}
/* This is the <img> tag */
.contentSmall img {
    filter: grayscale(80%);
    transition: filter 0.1s ease;
    object-fit: cover;
    width: 100%;
    min-height: 100px;
    display: block;
    border-radius: 3px;
}
.contentSmall img:hover {
    filter: grayscale(0%);
}
.contentSmall.green {
    background-color: #a7b941;
    transform: rotateZ(1.5deg); /* Rotate */
    transition: transform 0.2s ease;
}
.contentSmall.green:hover {
    transform: rotateZ(0deg); /* Rotate back */
}
.contentSmall.dark {
    background-color: #060e10;
}

.content.small{
    width: 30%;
    flex: 0;
    text-align: center;
}

@keyframes spin {
    from {
        transform: rotateY(0deg);
    }
    to {
        transform: rotateY(360deg);
    }
}

@keyframes shake {
    0% { transform: skewX(-15deg); }
    5% { transform: skewX(15deg); }
    10% { transform: skewX(-15deg); }
    15% { transform: skewX(15deg); }
    20% { transform: skewX(0deg); }
    100% { transform: skewX(0deg); }  
  }
@keyframes shakeLP {
    0% { transform: skewX(-15deg); }
    5% { transform: skewX(15deg); }
    10% { transform: skewX(-15deg); }
    15% { transform: skewX(15deg); }
    20% { transform: skewX(0deg); }
    25% { transform: skewX(-10deg); }
    30% { transform: skewX(10deg); }
    35% { transform: skewX(-10deg); }
    40% { transform: skewX(10deg); }
    45% { transform: skewX(0deg); }
    50% { transform: skewX(-5deg); }
    55% { transform: skewX(5deg); }
    60% { transform: skewX(-5deg); }
    65% { transform: skewX(5deg); }
    70% { transform: skewX(0deg); }
    75% { transform: skewX(-2deg); }
    80% { transform: skewX(2deg); }
    85% { transform: skewX(-2deg); }
    90% { transform: skewX(2deg); }
    95% { transform: skewX(0deg); }
    100% { transform: skewX(0deg); }  
}

.scrollSnap {
    scroll-snap-align: inherit;
}
#canvas-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: var(--backgroundHeight);
    z-index: -1; /* Ensure the canvas is behind the container */
    background-color: #060e10;
    background: linear-gradient(to bottom, #0d1012 60%, #2c1e48 ); 

}

#header-canvas-container {
    width: 100%; /* Match the width of the .container */
    height: 280px; /* Adjust height to match the header */
    pointer-events: none; /* Allow pointer events to pass through the canvas */
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, #100526, #2c1e48);
}
/* Text displayed over three js render canvas */
#header-title {
    position: absolute;
    top: 100px;
    z-index: 1;
    padding: 50px;
    padding-bottom: 0;
    letter-spacing: .1rem;
}
#header-title .background {
    position: absolute;
    top: 60px;
    height: 30px;
    width: 350px;
    margin-left: -50px;
    display: block;
    z-index: 0;
    background: linear-gradient(145deg, rgba(240, 240, 240, 0.92), rgb(245, 235, 235, 0.52));
    backdrop-filter: blur(15px) contrast(50%);
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
    padding-top:2px;
    
}
#header-title .background h1 {
    padding: 0;
    padding-left: 52px;
    transition: padding 1s ease;
}
#header-title .background h1:hover {
    padding-left: 45px;
}

/* Second fullscreen canvas for 3D in background. Render this underneath the first one which takes up 100%. */
/* Not visible on start, can be loaded later */
#canvas-container2 {
    position: absolute;
    top: 100%;
    top: var(--backgroundHeight);
    left: 0;
    width: 100%;
    height: 100%;
    height: calc(var(--backgroundHeight));
    z-index: -1; /* Ensure the canvas is behind the container */
    background: linear-gradient(to bottom, #2c1e48 20%, #73B7C9 ); /* Vertical gradient from black to blue */
    display: block;
}
#canvas-container-threeRender {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    position: fixed;
    top: 0;
    /* display: hidden; */
}
#canvas-container3 {
    position: absolute;
    top: 200%;
    top: calc(2 * var(--backgroundHeight));
    left: 0;
    width: 100%;
    height: 100%;
    height: var(--backgroundHeight);
    z-index: -1; /* Ensure the canvas is behind the container */
    background: linear-gradient(to bottom, #73B7C9 , #E0F7FA); /* Vertical gradient from black to blue */
    display: block;
    overflow: hidden; /* Need for css animated birds */
}
#canvas-container4 {
    position: absolute;
    top: 300%;
    top: calc(3 * var(--backgroundHeight));
    left: 0;
    width: 100%;
    height: 100%;
    height: var(--backgroundHeight);
    z-index: -1; /* Ensure the canvas is behind the container */
    background: linear-gradient(to bottom, #E0F7FA , #E8F5E9); /* Vertical gradient from black to blue */
    display: block;
}
#bottomRight-canvas-container {
    margin-top: -50px;
    margin-left: -35px;
}
#canvas-container-footer {
    position: absolute;
    top: 400%;
    top: calc(4 * var(--backgroundHeight));
    left: 0;
    width: 100%;
    min-height: 300px;
    z-index: 1; /* Ensure the canvas is behind the container */
    background: linear-gradient(to bottom, #acc0c0 5%, rgba(240, 240, 240, 0.75)); /* Vertical gradient from black to blue */
    backdrop-filter: blur(15px) contrast(50%);

    display: block;
}
#canvas-container-footer #contentWrapper {
    position: relative;
    top: 50px;
    margin: auto;
    width: 600px;
    line-height: 1.8;
}
#canvas-container-footer #contentWrapper .floatLeft {
    width: 280px;
    min-height: 110px;
    left: 25px;
    top: 0;
    position: absolute;
    
}
#canvas-container-footer #contentWrapper .floatLeft a {
    font-weight: 600;
    color: #244379;
    letter-spacing: .15rem;
}
#canvas-container-footer #contentWrapper .floatRight {
    width: 240px;
    min-height: 110px;
    right: 25px;
    top: -10px;
    position: absolute;
    line-height: 1.8;
}
#canvas-container-footer #contentWrapper .floatBottom {
    bottom: 0;
    position: relative;
}
.hidden {
    display: none; /* Initially hide the second canvas */
}
/* Start Animated cloud CSS */
.cloud1 {
  width: 100%;
  height: 512px;
  background-image: url(./assets/gfx//FX_CloudAlpha01.png);
  background-repeat: repeat-x;
  position: absolute;
  top: -100px;
  left: 0;
  z-index: 2;

  background-size: 200% 512px; /* Stretch for variation */
  animation: animateWaves 12s linear infinite;
}
.cloud1-extra {
  width: 100%;
  height: 512px;
  background-image: url(./assets/gfx//FX_CloudAlpha02.png);
  background-repeat: repeat-x;
  position: absolute;
  top: -15%;
  margin-top: 128px;
  z-index: 2;
  background-size: 200% 512px; /* Stretch for variation */
  animation: animateWaves 4s linear infinite;

}
.cloud2 {
  width: 100%;
  height: 512px;
  background-image: url(./assets/gfx//FX_CloudAlpha02.png);
  background-repeat: repeat-x;
  position: absolute;
  top: 25%;
  left: 0;
  z-index: 2;
  /*  background-attachment:fixed;  */
  background-size: 200% 512px; /* Stretch for variation */
  animation: animateWaves 16s linear infinite;
}
/* End Animated cloud CSS */

/* Add styles for the element */
#headerBottomRight {
    position: absolute;
    bottom: -10px;
    right: 18px;
    z-index: 1;
}

/* Add styles for the menu */
#slidedownMenu {
    display: none;
    top: 100%;
    right: 0;
    background-color: #4DBCE9;
    border-left: 5px solid #73B7C9; 
    border-right: 5px solid #73B7C9;
    z-index: 0;
    position: relative;
    top: calc(var(--gridSpace));
    margin-top: calc(-1*var(--gridSpace));
    width: 100%;
    z-index: 1;
}
#slidedownMenu.active {
    display: block;
    opacity: 1; /* Make the menu fully visible */
    height: auto; /* Auto height to show the menu */
    z-index: 10;  
  }

#slidedownMenu p {
    display: block;
    padding: 10px;
    color: #333;
    margin: 0;
}

#slidedownMenu a {
    padding: 10px;
    color: #333;
}

#slidedownMenu a:hover {
    text-decoration: underline;
    color : #26ADE4;
}

#slidedownMenu #right {
    text-align: right;
    font-size: 10px;
}

.slim {
    position: absolute;
    width: 300px;
    display: inline-block;

}
.extraSlim {
    position: absolute;
    width: 300px;
    display: inline-block;
}
.clear {
    clear: both;
 }
