Files
CWC/views/blocks/contact-block/contact-block.css
T
Keith Solomon 8c239e15f6 fix: use new mobile vector for contact block
Render mobile-contact-vector.svg alongside the existing contact linework. CSS hides the desktop SVG and shows the mobile <img> at <=767px so the new 342x187 composition fills the card width. Update the geometry test to assert the new linework ratio (342/187) and the snapshot.
2026-06-28 13:04:55 -05:00

188 lines
4.5 KiB
CSS

/* Contact Block styles */
.contact-block {
background-color: var(--color-navy, #0d1f35);
border-bottom: 1rem solid var(--color-orange, #f26b53);
overflow: hidden;
position: relative;
em {
color: var(--color-secondary);
font-style: normal;
}
.contact-block__media {
inset-block: 0;
inset-inline-end: 0;
mask-image: linear-gradient(to right, transparent 0%, black 30%);
-webkit-mask-image: linear-gradient(
to right,
transparent 0%,
black 30%
);
position: absolute;
}
.contact-block__bg-image {
display: block;
height: 100%;
width: 100%;
}
.contact-block__linework {
bottom: 0;
height: calc(100% - 1rem);
position: absolute;
right: 0;
width: auto;
}
.contact-block__linework--mobile {
display: none;
}
.contact-block__content {
padding-inline: 1rem;
}
&.home-contact {
bottom: -25%;
left: 50%;
position: absolute;
transform: translateX(-50%);
z-index: 30;
}
}
@media (max-width: 767px) {
.contact-block {
border-bottom-width: 0.75rem;
border-radius: 0.75rem 0.75rem 0 0;
}
.contact-block .contact-block__media {
inset: 0;
mask-image: linear-gradient(
to bottom,
rgb(0 0 0 / 0.9) 0%,
rgb(0 0 0 / 0.45) 100%
);
-webkit-mask-image: linear-gradient(
to bottom,
rgb(0 0 0 / 0.9) 0%,
rgb(0 0 0 / 0.45) 100%
);
}
.contact-block .contact-block__bg-image {
object-fit: cover;
}
.contact-block .contact-block__linework {
display: none;
}
.contact-block .contact-block__linework--mobile {
bottom: 0.75rem;
display: block;
height: auto;
max-width: 112%;
right: -32%;
width: 22rem;
}
.contact-block .contact-block__content {
min-height: 18.5rem;
padding: 2.25rem 1.5rem 2.75rem !important;
}
.contact-block .contact-block__text {
font-size: clamp(1.9rem, 8.7vw, 2.45rem);
line-height: 1.02;
max-width: 16rem !important;
}
.contact-block.home-contact {
background-color: #032f46;
border-bottom-width: calc(100vw * 16 / 402);
border-radius: calc(100vw * 16 / 402) calc(100vw * 16 / 402) 0 0;
box-sizing: border-box;
bottom: auto;
height: calc(100vw * 502 / 402);
left: 50%;
margin: 2.5rem auto -3.75rem;
max-width: none;
padding-inline: 0 !important;
padding-top: 0 !important;
position: relative;
transform: translateX(-50%);
width: calc(100vw * 343 / 402);
}
.contact-block.home-contact .contact-block__media {
inset: 0;
mask-image: none;
-webkit-mask-image: none;
}
.contact-block.home-contact .contact-block__media::after {
background: linear-gradient(
to right,
rgb(3 47 70 / 0.98) 0%,
rgb(3 47 70 / 0.96) 40%,
rgb(3 47 70 / 0.8) 52%,
rgb(3 47 70 / 0.1) 72%,
transparent 100%
);
content: "";
inset: 0;
pointer-events: none;
position: absolute;
z-index: 1;
}
.contact-block.home-contact .contact-block__bg-image {
filter: brightness(1.5);
object-fit: cover;
object-position: 82% center;
position: relative;
z-index: 0;
}
.contact-block.home-contact .contact-block__linework {
display: none;
}
.contact-block.home-contact .contact-block__linework--mobile {
bottom: 0;
display: block;
height: auto;
left: 0;
max-width: none;
overflow: visible;
right: auto;
width: 100%;
z-index: 2;
}
.contact-block.home-contact .contact-block__content {
margin: 0 !important;
max-width: none !important;
min-height: 0;
padding: calc(100vw * 31 / 402) calc(100vw * 33 / 402) 0 !important;
width: 100% !important;
z-index: 2;
}
.contact-block.home-contact .contact-block__text {
font-size: calc(100vw * 28 / 402);
line-height: 1.08;
margin-bottom: calc(100vw * 37 / 402);
max-width: calc(100vw * 236 / 402) !important;
}
.contact-block.home-contact .contact-block__cta {
padding-block: calc(100vw * 8.5 / 402);
}
}