Files
legio-30/src/app/components/banner/banner.component.scss
ztimson 38e018d034
Some checks failed
Build Website / Build Container (push) Failing after 1m39s
Build Website / Tag Version (push) Has been cancelled
Build Website / Build NPM Project (push) Has been cancelled
- Better banner
- Removed old communication methods
- Connected email form
2026-06-04 18:59:10 -04:00

195 lines
3.4 KiB
SCSS

.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;
}
}