Cevichería El Sabor Marino uses several layered animation systems: CSS keyframe animations power the ocean background (bubbles, swimming fish, and swaying seaweed), vanilla JavaScript detects when sections enter the viewport and triggers scroll-reveal transitions, and two carousel libraries handle the hero slideshow and dish/promotion carousels. This page documents each system, where it lives in the codebase, and how to adjust or disable it.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/diazdavilajesus16-stack/Sevicheria-Mar-sabroso/llms.txt
Use this file to discover all available pages before exploring further.
Scroll-reveal animations
When a section scrolls into view, the JavaScript at the bottom ofcore/templates/home.html adds a .show class, triggering a CSS transition. There are three reveal classes:
| Class | Effect |
|---|---|
.scroll-reveal | Fades in from slightly below |
.scroll-left | Slides in from the left |
.scroll-right | Slides in from the right |
.show transitions them to their final visible state.
How sections use reveal classes
home.html
The scroll detection JavaScript
The script runs onscroll and on initial load. It checks each reveal element’s position using getBoundingClientRect() and adds .show when the element is within 150px of the bottom of the viewport:
home.html
Adding a new section with scroll animation
Choose a reveal class
Pick
.scroll-reveal for a fade-in, .scroll-left for a slide from the left, or .scroll-right for a slide from the right.Page fade-in
The<body> tag carries the fade-in class, which triggers a CSS opacity transition from 0 to 1 when the page first loads:
home.html
fade-in from the body tag.
Wave section borders
.wave-top and .wave-bottom add decorative SVG wave borders to the top and bottom edges of a section using CSS ::before and ::after pseudo-elements. They are purely visual and can be removed from any section’s class list without affecting functionality.
Ocean background animations
The.ocean-pro container holds three categories of animated elements, all driven by CSS @keyframes:
Bubbles
Five<span> elements inside .bubbles float upward from the ocean floor, fading out near the surface. Each span has a different animation-delay and animation-duration to stagger the rising effect:
home.html
Fish
Nine PNG fish images swim across the background. Each uses a compound class —.fish for shared properties plus .fish1 through .fish9 for individual position, speed, and path:
home.html
@keyframes rule for .fish1 (etc.) in estilo.css and adjust the animation-duration value.
Seaweed and plants
The.aquarium div sits at the bottom of .ocean-pro and contains four seaweed clusters and five plant clusters. Each sways using a CSS @keyframes rotate/translate animation:
home.html
<span> represents a segment of the seaweed/plant stalk. Removing spans shortens the plant; adding them lengthens it (no CSS changes required).
Hero carousel
The hero carousel at the top of the page is a custom implementation instatic/assets/js/carrusel.js. It cycles through three slides inside .carousel-track, advancing automatically every 5000ms via setInterval:
carrusel.js
.carousel-btn.next / .carousel-btn.prev (arrow buttons) and .carousel-dots. To change the auto-advance speed, update the 5000 ms value. To disable autoplay entirely, remove or comment out the setInterval call.
Owl Carousel autoplay
The dish menu carousel and promotions carousel both use Owl Carousel 2. TheirautoplayTimeout values are set in the inline script in home.html:
home.html
autoplayTimeout (milliseconds) to slow down cycling, or set autoplay: false to stop it entirely.
Disabling animations for performance or accessibility
Disable all scroll-reveal animations
Disable all scroll-reveal animations
Remove the scroll detection script from
home.html, then add .show directly to every section that currently uses .scroll-reveal, .scroll-left, or .scroll-right — this keeps the visible final state without any transition.Disable ocean background animations
Disable ocean background animations
Remove the entire
.ocean-pro block from the HTML, or add animation: none !important; to .bubbles span, .fish, .seaweed span, and .plant span in estilo.css.Respect prefers-reduced-motion
Respect prefers-reduced-motion
Wrap all keyframe-driven animations in a media query so users who have requested reduced motion in their OS settings are not affected:
estilo.css
The
prefers-reduced-motion approach is the recommended accessibility practice. It preserves animations for users who want them while respecting the system preference for those who do not.