@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500');
*{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
body {
  font-family: 'Roboto', sans-serif;
}
/* Sidebar styling */
.sidebar {
  position: fixed;
  top: 0;
  left: -250px;
  width: 250px;
  height: 100%;
  background: #042331;
  text-align: center;
  background-color: #042331;
  transition: 0.3s;
  z-index: 999;
}
.sidebar header {
  font-size: 22px;
  color: white;
  line-height: 70px;
  text-align: center;
  background: #063146;
}
.sidebar ul {
    list-style-type: none;
    padding: 0;
}
.sidebar ul li {
    text-align: left;
}
.sidebar ul li a{
  display: block;
  padding: 15px 30px;
  color: white;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: 0.2s;
}

.sidebar ul li a:hover {
    padding-left: 40px;
    background-color: rgba(255, 255, 255, 0.1);
}

/* Toggle Button styling */
.menu-btn {
    position: fixed;
    top: 15px;
    left: 15px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    cursor: pointer;
}

.menu-btn span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: #f7f3f3;
}

/*Toggle sidebar */
#menu-toggle {
    display: none;
}

#menu-toggle:checked + .menu-btn + .sidebar {
    left: 0;
}


section{
  background: url(img/bg.jpeg) no-repeat;
  background-position: center;
  background-size: cover;
  height: 100vh;
  transition: all .5s;
}
header {
    z-index: 1;
    position: relative;
    background-color: #7597ed;
}
/* General Styling */
body, html {
    margin: 0;
    padding: 0;
    font-family: 'Arial', sans-serif;
    height: 100%;
    overflow-x: hidden;
}

section {
    height: 150vh; /* Full viewport height */
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    background-size: cover;
    background-attachment: fixed; /* Parallax effect */
    background-position: center;
}

/* Title Styling */
.section-title {
    font-size: 3rem;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8);
    font-family: 'Pacifico', cursive; /* Add a fancy font */
    position: absolute;
    top: 10%; /* Adjust title placement */
    width: 100%;
    text-align: center;
    color: #f0f8ff; /* Light blue color */
}

/* Info Text Styling */
.info-text {
    font-size: 1.5rem;
    max-width: 600px;
    margin-top: 10px;
    color: #e0f7fa; /* Light text for better contrast */
    position: absolute;
    bottom: 15%; /* Place the info near the bottom */
}

/* Position specific to each section */
.surface-info {
    bottom: 5%; /* Adjust per section for creative placement */
}

.shallow-info {
    bottom: 10%;
}

.mid-depth-info {
    bottom: 12%;
}

.deep-ocean-info {
    bottom: 8%;
}

.abyss-info {
    bottom: 7%;
}

.ocean-floor-info {
    bottom: 5%;
    z-index: 1000;
}

/* Part 1: Surface of the Water with Gradient Overlay */
.intro {
    position: relative;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    overflow: hidden;
}

#ocean-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
    transform: translate(-50%, -50%);
    background-size: cover;
}

.seagull {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 100px;
    animation: moveSeagull 10s infinite linear;
}

/* Shallow Waters Section with Video Background */
.shallow {
    position: relative;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    overflow: hidden;
}

#shallow-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
    transform: translate(-50%, -50%);
    background-size: cover;
}
.fish {
    position: absolute;
    bottom: 20%;
    left: 10%;
    width: 400px;
    animation: swimFish 8s infinite alternate ease-in-out;
    
}

/* Part 3: Mid-Level Depths */
.mid-depth {
    position: relative;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    overflow: hidden;
}

#depth-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1;
    transform: translate(-50%, -50%);
    background-size: cover;
}

.turtle {
    position: absolute;
    bottom: 10%; /* Adjust as needed */
    width: 400px;
    animation: swimTurtle 12s linear infinite; /* Keep it moving smoothly */
}

.octopus {
    position: absolute;
    right: 10%; /* Adjust as needed for the starting position */
    bottom: 10%; /* Adjust starting position from the bottom */
    width: 300px; /* Size of the octopus */
    animation: swimUpward 8s linear infinite; /* Smooth continuous upward animation */
}

/* Part 4: Deep Ocean */
.deep-ocean {
    position: relative; /* To position the text and images relative to the video */
    height: 150vh; /* Adjust height based on your design */
    overflow: hidden; /* Ensures any overflow from video is hidden */
}

#depth-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -1; /* Places the video behind the text */
    transform: translate(-50%, -50%); /* Centers the video */
}

.shark {
        position: absolute;
        left: -10%; /* Start position from the left (slightly off-screen) */
        bottom: 20%; /* Adjust starting position from the bottom */
        width: 1000px; /* Increase the size of the shark (adjust as needed) */
        animation: swimShark 10s linear infinite; /* Smooth continuous left-to-right animation */
}

.ray {
    position: absolute;
    bottom: 10%;
    right: 2%;
    width: 450px;
    animation: swimRay 12s infinite alternate linear;
    z-index: -1;
}

/* Part 5: Abyss */
.abyss {
    background-image: 
        linear-gradient(rgba(0, 20, 40, 0.5), rgba(0, 20, 40, 0.5)), /* Gradient for abyss */
        url('img/abyss.jpg'); /* Replace with your image */
}

.jellyfish {
    position: absolute;
    top: 30%;
    left: 20%;
    width: 200px;
    animation: floatJellyfish 7s infinite alternate ease-in-out;
}

.anglerfish {
    position: absolute;
    right: 1%;
    bottom: 1%;
    width: 380px;
}

/* Part 6: Ocean Floor */
.ocean-floor {
    background-image: 
        linear-gradient(rgba(0, 10, 20, 0.5), rgba(0, 10, 20, 0.5)), /* Gradient for ocean floor */
        url('img/oceanfloor.jpg'); /* Replace with your image */
}

.sunken-ship {
    position: absolute;
    bottom: 1%;
    left: 1%;
    width: 350px;
    z-index: 1;
}

.hydrothermal-vent {
    position: absolute;
    right: 1%;
    bottom: 1%;
    width: 300px;
    z-index: 1;
}

/* Animation Definitions */
@keyframes moveSeagull {
    0% { transform: translateX(0); }
    100% { transform: translateX(200px); }
}

@keyframes swimFish {
    0% { transform: translateX(0); }
    100% { transform: translateX(300px); }
}

@keyframes swimTurtle {
    0% { transform: translateX(100%); } /* Start from the right */
    100% { transform: translateX(-100%); } /* Move to the left */
}

@keyframes swimUpward {
    0% { transform: translateY(0); } /* Start position */
    100% { transform: translateY(-100vh); } /* Move upwards off-screen */
}

@keyframes swimShark {
    0% { transform: translateX(-100%); } /* Start off-screen on the left */
    100% { transform: translateX(100%); } /* Move off-screen to the right */
}

@keyframes swimRay {
    0% { transform: translateY(0); }
    100% { transform: translateY(100px); }
}

@keyframes floatJellyfish {
    0% { transform: translateY(0); }
    100% { transform: translateY(-80px); }
}
