.submarine {
    display: block;
    background: url('../img/submarine.svg') no-repeat center center;
    background-size: contain;
    width: 20rem;
    height: 20rem;
}

@media (--screen-large) {
    .submarine {
        width: 34rem;
        height: 34rem;
    }
}

.shell {
    display: block;
    background: url('../img/shell.png') no-repeat center center;
    background-size: contain;
    width: 11rem;
    height: 11rem;

    .page-footer & {
        position: absolute;
        top: 50rem;
        left: 2rem;
    }
}

@media (--screen-large) {
    .shell {
        width: 16rem;
        height: 16rem;

        .page-footer & {
            top: 32rem;
            left: 6rem;
        }
    }
}

.fish {
    display: block;
    background: url('../img/fish.svg') no-repeat center center;
    background-size: contain;
    width: 13rem;
    height: 4.8rem;

    .page-footer &, .jumbotron &, main & {
        position: absolute;
        top: 0;
        left: 6rem;
        z-index: -1;

        &.-small {
            width: 7rem;
            height: 2rem;
            left: -50%;
            top: 3rem;
            animation-delay: 2s;
        }

        &.-big {
            width: 16rem;
            height: 7rem;
            left: -20rem;
            top: 6rem;
            animation-delay: 1.3s;
        }
    }

    .jumbotron & {
        background-image: url('../img/fish-dark.svg');
        z-index: 1;
    }

    .jumbotron &, main & {
        top: 20vh;

        &.-big {
            top: 30vh;
        }

        &.-small {
            top: 60vh;
        }

        &.-bottom {
            top: 70vh;
            animation-delay: 8s;
        }
    }
}

.bubble {
    background: #2288CB;
    border-radius: 50%;
    display: block;
    position: absolute;

    height: 3rem;
    width: 3rem;

    animation: animateBubble 20s linear infinite, sideWays 4s ease-in-out infinite alternate;
}

.turtle {
    display: block;
    background: url('../img/turtle.png') no-repeat center center;
    background-size: contain;
    width: 16rem;
    height: 16rem;
    animation-delay: 1.3s;

    .page-footer & {
        position: absolute;
        top: 0;
        right: -6rem;
    }
}

@media (--screen-large) {
    .turtle {
        width: 21rem;
        height: 21rem;

        .page-footer & {
            top: 5rem;
        }
    }
}

.octopus {
    display: block;
    background: url('../img/octopus.png') no-repeat center center;
    background-size: contain;
    width: 30rem;
    height: 30rem;

    .jumbotron & {
        animation: float 6s ease-in-out infinite;
    }
}

@media (--screen-large) {
    .octopus {
        height: 43rem;
        width: 43rem;

        .jumbotron & {
            animation: reflectfloat 6s ease-in-out infinite;
        }
    }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .octopus {
        .jumbotron & {
            animation: none;
        }
    }
}

.blowfish {
    display: block;
    background: url('../img/blowfish.png') no-repeat center center;
    background-size: contain;
    width: 9rem;
    height: 9rem;
    animation-delay: 1s;

    .jumbotron & {
        position: absolute;
        right: 4rem;
        bottom: -14rem;
        z-index: 2;
    }

    .article & {
        position: absolute;
        left: 4rem;
        top: 80rem;
        z-index: 2;
        display: none;

        @media (--screen-large) {
            display: block;
        }
    }
}

@media (--screen-large) {
    .blowfish {
        height: 12rem;
        width: 12rem;
    }
}

.starfish {
    display: block;
    background: url('../img/starfish.png') no-repeat center center;
    background-size: contain;
    width: 9rem;
    height: 9rem;
    animation-delay: 1s;

    .-highlights & {
        position: absolute;
        right: 3rem;
        margin-top: 2rem;
        display: none;
    }

    .-highlights .highlight:nth-child(2) & {
        display: block;
    }

}

@media (--screen-large) {
    .starfish {
        width: 13rem;
        height: 13rem;

        .-highlights & {
            margin-top: -16rem;
            left: calc(100% - 16rem);
        }
    }
}

.baby-octopus {
    display: block;
    background: url('../img/baby-octopus.png') no-repeat center center;
    background-size: contain;
    width: 15rem;
    height: 12rem;
    animation-delay: 0s;

    @media (--screen-medium-large) {
        display: inline-block;
    }

    @media (--screen-large) {
        position: absolute;
        top: -25%;
        left: -20rem;
        z-index: 1;
        width: 18rem;
        height: 13.3rem;
    }
}
