@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');

body {
    margin: 0;
    padding: 0;
}

.container {
    height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: #0099ff; /* Ocean blue color */
}

.image-container {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: floatingAnimation 2.55s ease-in-out infinite alternate;
}

img {
    max-width: 300px;
    max-height: 300px;
}

@keyframes floatingAnimation {
    100% {
        transform: translate(-50%, -50%) translateY(-10px);
    }
    0% {
        transform: translate(-50%, -50%) translateY(10px);
    }
}

.text-container {
    position: absolute;
    top: 40vh;
    width: 100%;
    z-index: 3;
    font-family: 'Poppins', sans-serif;
    text-align: center;
}

.maintext {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 50%;
    position: relative;
    overflow: hidden;
}

.subtext {
    height: 50%;
    padding-left: 12vh;
    padding-right: 12vh;
}

p{
    color: #ffffff;
    margin:0px;
    padding:0px;
    font-size: 1rem;
}

h1 {
    font-size: 4rem;
    color: #ffffff;
    margin:0px;
    padding:0px;
}

.top-half {
    background-color: #87CEEB; /* Sky blue color */
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 50%;
    position: relative;
    overflow: hidden;
}

.bottom-half {
    background-color: #0099ff; /* Ocean blue color */
    height: 50%;
}

svg {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 3) {
    .image-container {
        position: absolute;
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        animation: floatingAnimation 2.55s ease-in-out infinite alternate;
    }
    
    img {
        max-width: 650px;
        max-height: 650px;
    }
    
    .text-container {
        position: absolute;
        top: 40vh;
        width: 100%;
        z-index: 3;
        font-family: 'Poppins', sans-serif;
        text-align: center;
    }
    
    .maintext {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        height: 50%;
        position: relative;
        overflow: hidden;
    }
    
    .subtext {
        height: 50%;
        padding-left: 5vh;
        padding-right: 5vh;
    }
    
    p{
        color: #ffffff;
        margin:0px;
        padding:0px;
        font-size: 2rem;
    }
    
    h1 {
        font-size: 7rem;
        color: #ffffff;
        margin:0px;
        padding:0px;
    }
    
    .top-half {
        background-color: #87CEEB; /* Sky blue color */
        display: flex;
        align-items: flex-end;
        justify-content: center;
        height: 50%;
        position: relative;
        overflow: hidden;
    }
    
    .bottom-half {
        background-color: #0099ff; /* Ocean blue color */
        height: 50%;
    }
} 


/* --- Below is the styling for the ripple annimation --- */

.ripple-container {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1; /* note to self, this sets the div behind the otter on the Z axis */
}

.tail-ripple-container {
    position: absolute;
    top: 96%;
    left: 8%;
    transform: translateX(-50%);
    z-index: -1; 
}

.ripple {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 50px; 
    background-color: rgba(255, 255, 255, 0.3);
    /* This sets the shape of the blob/ripple so it's not a perfect circle */
    border-radius: 47% 53% 46% 54% / 30% 34% 66% 70%;
    animation: ripple-animation 8s infinite;
    opacity: 0;
}

.tail-ripple {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 10px; 
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 47% 53% 46% 54% / 30% 34% 66% 70%;
    animation: ripple-animation 9s infinite;
    opacity: 0;
}

/* Staggering the animations */
.ripple:nth-child(2) {
    animation-delay: 3s;
}

.ripple:nth-child(3) {
    animation-delay: 5s;
}

.tail-ripple:nth-child(2) {
    animation-delay: 3s;
}

.tail-ripple:nth-child(3) {
    animation-delay: 6s;
}

/* Annimation itself */
@keyframes ripple-animation {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
        background-color: rgba(255, 255, 255, 0.7);
        opacity: 1;
        /* Starting blob shape */
        border-radius: 47% 53% 46% 54% / 30% 34% 66% 70%;
    }
    
    30% {
        background-color: rgba(255, 255, 255, 0.7);
        opacity: 1;
        /* Morph to a different blob shape */
        border-radius: 53% 47% 62% 38% / 43% 44% 56% 57%;
    }

    100% {
        transform: translate(-50%, -50%) scale(2);
        background-color: rgba(255, 255, 255, 0);
        opacity: 0;
        /* End with a final blob shape */
        border-radius: 47% 53% 46% 54% / 30% 34% 66% 70%;
    }
}