Files
website/app/businesses/businesses.module.css
T

410 lines
6.5 KiB
CSS

.page {
background: var(--color-white);
}
.shell {
max-width: 1920px;
margin: 0 auto;
padding: 0 var(--page-pad);
}
.bannerWrap {
padding-top: 28px;
}
.banner {
position: relative;
isolation: isolate;
overflow: hidden;
background: #f6f6f6;
border-radius: 5px;
min-height: 136px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: 24px 20px;
}
.banner::before {
content: "";
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
opacity: 0.7;
background-image: var(--page-title-pattern);
}
.bannerTitle,
.crumbs {
position: relative;
z-index: 1;
}
.bannerTitle {
font-size: clamp(24px, 2.2vw, 35px);
font-weight: 400;
letter-spacing: 14px;
text-transform: uppercase;
}
.crumbs {
margin-top: 14px;
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
justify-content: center;
font-size: 12px;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--color-soft);
}
.crumbs > span {
display: inline-flex;
align-items: center;
gap: 10px;
}
.crumbChevron {
width: 10px;
height: 10px;
opacity: 0.55;
}
.crumbActive {
color: var(--color-black);
}
.container {
width: 100%;
}
.filtersBar {
margin-top: 28px;
background: #f9f9f9;
border-radius: 5px;
padding: 18px 24px;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 24px;
align-items: center;
}
.filtersLabel {
display: flex;
align-items: center;
gap: 12px;
min-width: 150px;
}
.filtersLabel strong {
display: block;
font-size: 18px;
font-weight: 500;
}
.filtersLabel span {
font-size: 12px;
color: var(--color-soft);
}
.filters {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
gap: 12px;
}
.filters input {
width: 100%;
border: 1px solid #e4e4e4;
border-radius: 4px;
padding: 12px 14px;
background: var(--color-white);
font: inherit;
font-size: 13px;
}
.filterBtn {
height: 44px;
padding: 0 22px;
font-size: 14px;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--color-soft);
}
.filterBtn img {
width: 10px;
height: 14px;
transition: filter 0.3s ease, opacity 0.3s ease;
}
:global(.filter-chip).filterBtn:hover,
:global(.filter-chip).filterBtn:focus-visible {
color: var(--color-white);
}
:global(.filter-chip).filterBtn:hover img,
:global(.filter-chip).filterBtn:focus-visible img {
filter: invert(1);
}
.tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 18px 0 28px;
}
.tag {
gap: 8px;
padding: 8px 12px;
font-size: 12px;
letter-spacing: 1px;
}
.tag button {
position: relative;
z-index: 2;
font-size: 14px;
line-height: 1;
color: var(--color-soft);
transition: color 0.3s ease;
}
:global(.filter-chip).tag:hover,
:global(.filter-chip).tag:focus-within {
color: var(--color-white);
}
:global(.filter-chip).tag:hover button,
:global(.filter-chip).tag:focus-within button {
color: var(--color-white);
}
.grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 20px;
}
.pager {
margin: 36px auto 56px;
display: flex;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
}
.pager a,
.pager span {
min-width: 34px;
height: 34px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
font-size: 13px;
color: var(--color-soft);
}
.pagerActive {
background: var(--color-card);
color: var(--color-black) !important;
}
.featureSection {
max-width: var(--container-width);
margin: 0 auto;
width: 100%;
}
.feature {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: 32px;
align-items: center;
padding: 48px 0 64px;
}
.featureTitle {
font-size: 36px;
font-weight: 400;
letter-spacing: 0;
text-transform: uppercase;
line-height: 1.1;
}
.featureLead {
margin-top: 6px;
font-size: 22px;
font-weight: 400;
color: var(--color-soft);
}
.featureBody {
margin-top: 16px;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: var(--color-body);
max-width: none;
}
.featureList {
list-style: none;
margin-top: 18px;
display: flex;
flex-direction: column;
gap: 10px;
}
.featureList li {
display: flex;
gap: 10px;
align-items: flex-start;
font-size: 15px;
color: var(--color-body);
}
.featureList img {
width: 9px;
height: 11px;
margin-top: 6px;
flex-shrink: 0;
}
.featureCta {
margin-top: 22px;
height: 34px;
padding: 0 16px;
font-size: 13px;
letter-spacing: 2.4px;
}
.featureVisual {
position: relative;
background: var(--color-card);
border-radius: 10px;
min-height: 360px;
aspect-ratio: 1 / 1.05;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
padding: 28px;
}
.featureVisual img {
width: auto;
height: auto;
max-width: 72%;
max-height: 86%;
object-fit: contain;
}
.exportSection {
margin: 0 0 72px;
}
.exportCta {
background: var(--color-card);
border-radius: 5px;
height: min(201px, calc((min(100vw, 1920px) - 2 * var(--page-pad)) * 201 / 1800));
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 0 40px 0 22%;
position: relative;
overflow: hidden;
}
.plane {
position: absolute;
left: 1.5%;
top: 50%;
width: min(240px, 16%);
height: auto;
max-height: 88%;
object-fit: contain;
transform: translateY(-52%) rotate(38deg);
transform-origin: center;
pointer-events: none;
}
.exportTitle {
font-size: clamp(28px, 4vw, 48px);
font-weight: 300;
letter-spacing: 8px;
text-transform: uppercase;
line-height: 1.05;
}
.beginBtn {
height: 40px;
padding: 0 18px;
gap: 10px;
font-size: 13px;
letter-spacing: 3px;
}
.beginBtn img {
width: 9px;
height: 16px;
}
@media (max-width: 1200px) {
.grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.filtersBar {
grid-template-columns: 1fr;
}
.filters {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 980px) {
.feature {
grid-template-columns: 1fr;
}
.exportCta {
flex-direction: column;
justify-content: center;
text-align: center;
height: auto;
min-height: 160px;
padding: 28px 20px 24px;
}
.plane {
position: relative;
left: auto;
top: auto;
width: min(180px, 46%);
max-height: 120px;
transform: rotate(38deg);
margin-bottom: 8px;
}
}
@media (max-width: 720px) {
.grid,
.filters {
grid-template-columns: 1fr;
}
.bannerTitle {
letter-spacing: 6px;
}
}