Greetings All,
My home page has a horizontal carousel of YouTube videos. When testing the various display sizes, all works fine for xs, sm and medium. The problem starts when I test the larger sizes. The footer creeps up into the carousel, which stays in place and does not get larger due to the aspect-ratio classes. What I need to happen is the video carousel to reduce in size in response to the display size becoming far too wide. It is really bad when viewing on a phone held as wide-screen or horizontal.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta name="X-UA-Compatible" http-equiv="X-UA-Compatible" content="IE=edge"/>
<title></title>
<link rel="stylesheet" href="/static/assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/assets/css/redra-forms.css">
<link rel="stylesheet" href="/static/assets/css/redra-styles.css">
<link rel="stylesheet" href="/static/assets/css/video-player.css">
<link rel="stylesheet" href="/static/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&display=swap">
<link rel="stylesheet" href="/static/assets/css/redra-carousel.css">
<link rel="stylesheet" href="/static/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="/static/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="/static/assets/img/register-button.png">
</a>
</li>
<li>
<a class="nav-link text-white" href="/login/">
<img src="/static/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">
<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>
</p>
</div>
</footer>
</div>
<script src="/static/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/assets/js/video-player.js"></script>
<script src="/static/assets/js/carousel.js"></script>
</body>
</html>
Styles:
.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;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Poppins", sans-serif;
}
body {
display: flex;
min-height: 100vh;
background-image: url("/static/images/WarThunder_M551_Sheridan.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
overflow: hidden;
}
.redra-sidebar {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 85px;
display: flex;
overflow-x: hidden;
flex-direction: column;
background: #161a2d;
padding: 25px 20px;
transition: all 0.4s ease;
}
.redra-sidebar:hover {
width: 260px;
}
.redra-sidebar .redra-sidebar-header {
display: flex;
align-items: center;
}
.redra-sidebar .redra-sidebar-header img {
width: 42px;
border-radius: 50%;
}
.redra-sidebar .redra-sidebar-header h2 {
color: #fff;
font-size: 1.25rem;
font-weight: 600;
white-space: nowrap;
margin-left: 23px;
}
.redra-sidebar-links h4 {
color: #fff;
font-weight: 500;
white-space: nowrap;
margin: 10px 0;
position: relative;
}
.redra-sidebar-links h4 span {
opacity: 0;
}
.redra-sidebar:hover .redra-sidebar-links h4 span {
opacity: 1;
}
.redra-sidebar-links .menu-separator {
position: absolute;
left: 0;
top: 50%;
width: 100%;
height: 1px;
transform: scaleX(1);
transform: translateY(-50%);
background: #4f52ba;
transform-origin: right;
transition-delay: 0.2s;
}
.redra-sidebar:hover .redra-sidebar-links .menu-separator {
transition-delay: 0s;
transform: scaleX(0);
}
.redra-sidebar-links {
list-style: none;
margin-top: 20px;
height: 80%;
overflow-y: auto;
scrollbar-width: none;
}
.redra-sidebar-links::-webkit-scrollbar {
display: none;
}
.redra-sidebar-links li a {
display: flex;
align-items: center;
gap: 0 20px;
color: #fff;
font-weight: 500;
white-space: nowrap;
padding: 15px 10px;
text-decoration: none;
transition: 0.2s ease;
}
.redra-sidebar-links li a:hover {
color: #161a2d;
background: #fff;
border-radius: 4px;
}
.user-account {
margin-top: auto;
padding: 12px 10px;
margin-left: -10px;
}
.user-profile {
display: flex;
align-items: center;
color: #161a2d;
}
.user-profile img {
width: 42px;
border-radius: 50%;
border: 2px solid #fff;
}
.user-profile h3 {
font-size: 1rem;
font-weight: 600;
}
.user-profile span {
font-size: 0.775rem;
font-weight: 600;
}
.user-detail {
margin-left: 23px;
white-space: nowrap;
}
.profile-card {
position: absolute;
transform: translateX(-50%);
left: 50%;
width: 50%;
}
.profile-card img {
width: 42px;
border-radius: 50%;
}
.my-8 {
margin-top: 8px;
margin-bottom: 8px;
}
.inbox-image {
height: 1.25rem;
margin-right: 3px;
}
.redra-sidebar:hover .user-account {
background: #fff;
border-radius: 4px;
}
#footer {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.member-card {
position: absolute;
transform: translateX(-50%);
left: 50%;
width: 50%;
}
.member-key {
text-align: start;
}
.member-value {
text-align: end;
}
'''