.banner-container { position: relative; overflow: hidden; width: 100%; height: 100%; min-height: 420px; background: #111; isolation: isolate; } .banner-container::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.32)), linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.34)); pointer-events: none; } .banner-container::after { content: ''; position: absolute; inset: auto 0 0; z-index: 2; height: 28%; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.38)); pointer-events: none; } .banner-background { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); filter: blur(8px) brightness(90%) saturate(112%); -webkit-filter: blur(8px) brightness(90%) saturate(112%); } .banner-image { position: absolute; z-index: 1; height: 90%; width: auto; max-width: 92%; top: 5%; left: 50%; transform: translateX(-50%); object-fit: contain; border-radius: 14px; box-shadow: 0 18px 44px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 255, 255, 0.14); filter: contrast(102%) saturate(104%); } .banner-next, .banner-previous, .banner-pause { z-index: 4; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; color: #fff; cursor: pointer; border-radius: 999px; background: rgba(0, 0, 0, 0.34); border: 1px solid rgba(255, 255, 255, 0.24); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24); transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease; } .banner-next:hover, .banner-previous:hover, .banner-pause:hover { background: rgba(75, 15, 15, 0.55); border-color: rgba(240, 195, 106, 0.52); color: #f0c36a; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34); } .banner-next mat-icon, .banner-previous mat-icon, .banner-pause mat-icon { font-size: 30px; width: 30px; height: 30px; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.42)); } .banner-next { position: absolute; top: 50%; right: 26px; transform: translateY(-50%); } .banner-previous { position: absolute; top: 50%; left: 26px; transform: translateY(-50%); } .banner-seal { position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; pointer-events: none; } .banner-seal img { max-width: min(250px, 42vw); height: auto; opacity: 0.95; filter: brightness(108%) drop-shadow(0 10px 16px rgba(0, 0, 0, 0.65)) !important; } .banner-seal a, .banner-scroll { pointer-events: auto; display: inline-flex; margin-top: 18px; color: #fff; opacity: 0.9; transition: opacity 160ms ease, color 160ms ease; } .banner-scroll { padding: 0; border: 0; background: transparent; cursor: pointer; filter: drop-shadow(2px 4px 6px black); } .banner-seal a:hover, .banner-scroll:hover { color: #f0c36a !important; opacity: 1; } .banner-pause { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); width: 46px; height: 46px; } @media (max-width: 768px) { .banner-container { min-height: 340px; } .banner-image { height: 78%; max-width: 96%; border-radius: 12px; } .banner-next, .banner-previous { width: 44px; height: 44px; } .banner-next { right: 12px; } .banner-previous { left: 12px; } .banner-pause { bottom: 16px; } }