Struggling with a video carousel

Greetings All,

I have a basic carousel with six carousel items. Each item has a div utilizing the embed-responsive and embed-responsive-16by9, with an iframe within it, which has the embed-responsive-item class.
When I use the embed-responsive div all alone in a single html doc, the classes operate as expected, filling my screen and respond properly as I shrink the size of the screen. This also works within bootstrap studio.
The problem arises when trying to put that div in the carousel. The YouTube video player (embed link in the iframe) always displays as the smallest or mini-player. I want the video to be sized related to my current screen size. I can see that the carousel inner and carousel-item divs are set to a height of around 150px which seems to be the problem.
I can share my code once I figure out how to do that in this forum.

As always, looking forward to any assistance!

Thanks!

Without seeing your site or code, I can’t tell you exactly what is causing that issue. But it sounds like it could be too much nesting - maybe… Or that you have that fixed height applied.

Here is a simple carousel with YouTube embeds, hopefully this is what you are looking for.

<div class="container">
    <div id="video-carousel" class="carousel slide" data-bs-ride="false">
        <div class="carousel-inner">
            <div class="carousel-item active">
                <div class="ratio ratio-16x9"><iframe sandbox src="https://www.youtube.com/embed/LXb3EKWsInQ?si=f0Lpc92A6gF7UMMk"></iframe></div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9"><iframe sandbox src="https://www.youtube.com/embed/njX2bu-_Vw4?si=mwt4pVme5diMudcu"></iframe></div>
            </div>
        </div>
        <div><a class="carousel-control-prev" href="#video-carousel" role="button" data-bs-slide="prev"><span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="visually-hidden">Previous</span></a><a class="carousel-control-next" href="#video-carousel" role="button" data-bs-slide="next"><span class="carousel-control-next-icon" aria-hidden="true"></span><span class="visually-hidden">Next</span></a></div>
        <div class="carousel-indicators"><button class="active" type="button" data-bs-target="#video-carousel" data-bs-slide-to="0"></button><button type="button" data-bs-target="#video-carousel" data-bs-slide-to="1"></button></div>
    </div>
</div>

If this isn’t quite what you want your end result to look like, let me know and I can try create it for you.

You can share your code by putting "```HTML " on one line, starting a new line and pasting in your code, then ending it with three more “`” characters.

My carousel is nearly identical to this. Where you have the ratio and ratio-16x9 classes, I have embed-responsive and embed-responsive-16by9. I will try this instead.

I have not figured out how to share my code with you such as you did. When I do, I’ll provide it.

Here is how to use code embeds @rustydraper :slight_smile:

1 Like

Making another attempt to provide the code. Replacing the embed-responsive and embed-responsive-16by9 classes with ratio and ratio-16x9 fixed the responsiveness. However the video’s then took up the entire viewport. I adjusted this by setting max-width/max-height on the iframe. Unfortunately, now the carousel-items are stuck to the left side instead of centered on the page. And the carousel-indicators are in the middle of the footer (not included here)

<!DOCTYPE html>
<html data-bs-theme="light" lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <title>HomePage</title>
    <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="assets/css/redra-forms.css">
    <link rel="stylesheet" href="assets/css/redra-styles.css">
    <link rel="stylesheet" href="assets/css/Footer-Dark-icons.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&amp;display=swap">
    <link rel="stylesheet" href="assets/css/redra-carousel.css">
    <link rel="stylesheet" href="assets/css/styles.css">
</head>

<body>
    <nav id="mainNav" class="navbar navbar-expand-lg fixed-top">
        <div id="nav-container" class="container"><a class="navbar-brand logo text-white" href="#"><img class="rounded-circle img-fluid" id="logo-image" src="assets/img/redDragonLogo-small.jpg"></a><button class="btn navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navcol-1"></button>
            <div id="navcol-1" class="collapse navbar-collapse">
                <ul class="ms-auto navbar-nav">
                    <li class="nav-item"><a class="nav-link text-white" href="/registration/"><img src="assets/img/register-button.png"></a></li>
                    <li><a class="nav-link text-white" href="/login/"><img src="assets/img/login-button.png"></a></li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="d-flex flex-column flex-grow-1 mb-2">
        <div class="text-center carousel slide carousel-fade" id="redra-fade" data-bs-ride="carousel">
            <div class="carousel-indicators"><button class="btn active" type="button" data-bs-target="#redra-fade" data-bs-slide-to="0" aria-current="true" aria-label="Video 1"></button><button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="1" aria-current="true" aria-label="Video 2"></button><button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="2" aria-current="true" aria-label="Video 3"></button><button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="3" aria-current="true" aria-label="Video 4"></button><button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="4" aria-current="true" aria-label="Video 5"></button><button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="5" aria-current="true" aria-label="Video 6"></button></div>
            <div id="redra-inner" class="carousel-inner">
                <div class="carousel-item active">
                    <div class="embed-responsive-embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/xrNJZmA9aL8" class="embed-responsive-item" title="5-Plane Formation through British Columbia, Canada 🇨🇦" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
                <div class="carousel-item">
                    <div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/liA3fvFjGUE" class="embed-responsive-item" title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
                <div class="carousel-item">
                    <div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/M8-cLvniyuM" class="embed-responsive-item" title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
                <div class="carousel-item">
                    <div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/G1OOdPoDM3M" class="embed-responsive-item" title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
                <div class="carousel-item">
                    <div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/GghxxO05k7k" class="embed-responsive-item" title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
                <div class="carousel-item">
                    <div class="embed-responsive embed-responsive-16by9"><iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/ZeZICcr4fiI" class="embed-responsive-item" title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin"></iframe></div>
                </div>
            </div>
        </div>
        <div class="mt-auto" id="footer">
            <footer class="text-center bg-dark">
                <div class="text-white py-4 py-lg-5">
                    <ul class="list-inline">
                        <li class="list-inline-item me-4"><a href="#">Battle Briefing</a></li>
                        <li class="list-inline-item me-4"><a href="#">Battle Schedule</a></li>
                        <li class="list-inline-item"><a href="#">Battle Videos</a></li>
                    </ul>
                    <ul class="list-inline">
                        <li class="list-inline-item me-4">    <svg class="bi bi-facebook text-light" xmlns="http://www.w3.org/2000/svg" 
		width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
		<path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 
		    2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 
		    0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 
		    1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951">
		</path>
	</svg></li>
                        <li class="list-inline-item me-4"><svg class="bi bi-twitter text-light" xmlns="http://www.w3.org/2000/svg" 
    width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
    <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 
        0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 
        0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 
        1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 
        1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 
        13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15">
    </path>
</svg>
</li>
                        <li class="list-inline-item"><svg class="bi bi-instagram text-light" xmlns="http://www.w3.org/2000/svg" 
    width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
    <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 
        0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 
        0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 
        1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 
        16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 
        1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 
        8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 
        13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 
        2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 
        1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 
        1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 
        0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 
        0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 
        1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 
        4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334">
    </path>
</svg></li>
                    </ul>
                    <p class="mb-0"><span style="color: rgb(216, 216, 216); background-color: rgb(25, 29, 31);">Copyright © 2025 =REDRA</span><span style="color: rgb(141, 203, 226); background-color: rgb(25, 29, 31);">=</span></p>
                </div>
            </footer>
        </div>
    </div>
    <script src="assets/bootstrap/js/bootstrap.min.js"></script>
    <script src="assets/js/carousel.js"></script>
</body>

</html>
'''

Now I see, you’re using an older version of Bootstrap. I used V5, where this is V4.

Hello. Using V4 is not intentional. What in my code indicates I’m on V4??

I’m adding the styles I used for the carousel. If some of it doesn’t make sense, that’s because I was experimenting in an attempt to get the iframe back in the center of the page.

.carousel-inner {
  padding: 2rem;
  margin: auto;
}

.carousel-item {
  text-align: center;
  align-content: center;
  justify-content: center;
}

.videowindow {
}

.carousel-indicators {
}

.carousel-control-prev, .carousel-control-next {
  width: 2rem;
}

video {
  max-width: 688px;
  max-height: 387px;
  width: 100%;
  height: 100%;
}

iframe {
  max-width: 688px;
  max-height: 387px;
  width: 100%;
  height: 100%;
}

#redra-fade {
  margin-bottom: 10rem;
}

'''

This is now fixed. Thanks @catkin for mentioning too much nesting. I think that had a lot to do with it. I removed the container that wrapped both the carousel and the footer. Then I set min/max-width and min/max-height on the carousel-inner div and used ratio and ratio-16x9. Now the page is responsive. I’ll include the code and style.

Here’s the page:

<!DOCTYPE html>
<html data-bs-theme="light" lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <title>HomePage</title>
    <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="assets/css/redra-forms.css">
    <link rel="stylesheet" href="assets/css/redra-styles.css">
    <link rel="stylesheet" href="assets/css/video-player.css">
    <link rel="stylesheet" href="assets/css/Footer-Dark-icons.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&amp;display=swap">
    <link rel="stylesheet" href="assets/css/redra-carousel.css">
    <link rel="stylesheet" href="assets/css/styles.css">
</head>

<body>
    <nav id="mainNav" class="navbar navbar-expand-sm fixed-top">
        <div id="nav-container" class="container">
            <a class="navbar-brand logo text-white" href="#">
                <img class="rounded-circle img-fluid" id="logo-image" src="assets/img/redDragonLogo-small.jpg">
            </a>
            <button class="btn navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navcol-1"></button>
            <div id="navcol-1" class="collapse navbar-collapse">
                <ul class="ms-auto navbar-nav">
                    <li class="nav-item"><a class="nav-link text-white" href="/registration/"><img src="assets/img/register-button.png"></a></li>
                    <li><a class="nav-link text-white" href="/login/"><img src="assets/img/login-button.png"></a></li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="flex-grow-1 carousel slide" id="redra-fade" data-bs-ride="carousel">
        <div class="flex-grow-1 carousel-indicators">
            <button class="btn active" type="button" data-bs-target="#redra-fade" data-bs-slide-to="0" aria-current="true" aria-label="Video 1"></button>
            <button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="1" aria-current="true" aria-label="Video 2"></button>
            <button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="2" aria-current="true" aria-label="Video 3"></button>
            <button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="3" aria-current="true" aria-label="Video 4"></button>
            <button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="4" aria-current="true" aria-label="Video 5"></button>
            <button class="btn" type="button" data-bs-target="#redra-fade" data-bs-slide-to="5" aria-current="true" aria-label="Video 6"></button>
        </div>
        <div id="redra-inner" class="carousel-inner">
            <div class="carousel-item active">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/xrNJZmA9aL8" title="YouTube video player" 
                        allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/liA3fvFjGUE" 
                        title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/M8-cLvniyuM" 
                        title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/G1OOdPoDM3M" 
                        title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/GghxxO05k7k" 
                        title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
            <div class="carousel-item">
                <div class="ratio ratio-16x9">
                    <iframe allowfullscreen="" frameborder="0" src="https://www.youtube.com/embed/ZeZICcr4fiI" 
                        title="YouTube video player" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
                        referrerpolicy="strict-origin-when-cross-origin">
                    </iframe>
                </div>
            </div>
        </div>
    </div>
    <div class="mt-auto" id="footer">
        <footer class="text-center bg-dark">
            <div class="text-white py-4 py-lg-5" style="padding: 0px 0px;">
                <ul class="list-inline">
                    <li class="list-inline-item me-4"><a href="#">Battle Briefing</a></li>
                    <li class="list-inline-item me-4"><a href="#">Battle Schedule</a></li>
                    <li class="list-inline-item"><a href="#">Battle Videos</a></li>
                </ul>
                <ul class="list-inline">
                    <li class="list-inline-item me-4">    <svg class="bi bi-facebook text-light" xmlns="http://www.w3.org/2000/svg" 
		width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
		<path d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 
		    2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 
		    0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 
		    1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951">
		</path>
	</svg></li>
                    <li class="list-inline-item me-4"><svg class="bi bi-twitter text-light" xmlns="http://www.w3.org/2000/svg" 
    width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
    <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 
        0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 
        0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 
        1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 
        1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 
        13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15">
    </path>
</svg>
</li>
                    <li class="list-inline-item"><svg class="bi bi-instagram text-light" xmlns="http://www.w3.org/2000/svg" 
    width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16">
    <path d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 
        0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 
        0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 
        1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 
        16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 
        1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 
        8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 
        13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 
        2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 
        1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 
        1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 
        0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 
        0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 
        1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 
        4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334">
    </path>
</svg></li>
                </ul>
                <p class="mb-0"><span style="color: rgb(216, 216, 216); background-color: rgb(25, 29, 31);">Copyright © 2025 =REDRA</span><span style="color: rgb(141, 203, 226); background-color: rgb(25, 29, 31);">=</span></p>
            </div>
        </footer>
    </div>
    <script src="assets/bootstrap/js/bootstrap.min.js"></script>
    <script src="assets/js/video-player.js"></script>
    <script src="assets/js/carousel.js"></script>
</body>

</html>
'''

Styling:

.carousel-inner {
  padding: 2rem;
  margin: auto;
  min-width: 320px;
  min-height: 180px;
  max-width: 768px;
  max-height: 432px;
}

.carousel-indicators {
  margin: -2rem;
}

#redra-fade {
  margin-bottom: 10rem;
}
'''