Files
saman-andish/app/globals.css
T

3648 lines
58 KiB
CSS

@font-face {
font-family: "Monoton";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/fonts/webfont-01.ttf") format("truetype");
}
@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/fonts/webfont-02.ttf") format("truetype");
}
@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("/fonts/webfont-03.ttf") format("truetype");
}
@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("/fonts/webfont-04.ttf") format("truetype");
}
@font-face {
font-family: "Montserrat";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/fonts/webfont-05.ttf") format("truetype");
}
@font-face {
font-family: "Vazirmatn";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("/fonts/webfont-06.ttf") format("truetype");
}
@font-face {
font-family: "Vazirmatn";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("/fonts/webfont-07.ttf") format("truetype");
}
@font-face {
font-family: "Vazirmatn";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("/fonts/webfont-08.ttf") format("truetype");
}
@font-face {
font-family: "Vazirmatn";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("/fonts/webfont-09.ttf") format("truetype");
}
:root {
--navy: #082a4e;
--navy-deep: #03192f;
--navy-soft: #0f416f;
--red: #e2243d;
--red-dark: #bc172d;
--ink: #17212b;
--muted: #707983;
--line: #e1e5e9;
--gray: #f4f6f8;
--white: #fff;
--shadow: 0 24px 70px rgba(3, 25, 47, 0.13);
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
color: var(--ink);
background: var(--white);
font-family: Vazirmatn, "Tahoma", sans-serif;
line-height: 1.8;
overflow-x: hidden;
}
button,
input {
font: inherit;
}
button,
a {
-webkit-tap-highlight-color: transparent;
}
a {
color: inherit;
text-decoration: none;
}
img {
display: block;
max-width: 100%;
}
button {
color: inherit;
}
.container {
width: min(1320px, calc(100% - 64px));
margin-inline: auto;
}
.topbar {
color: rgba(255, 255, 255, 0.76);
background: var(--navy-deep);
font-family: Montserrat, Vazirmatn, sans-serif;
font-size: 11px;
letter-spacing: 0.25px;
}
.topbar__inner {
height: 37px;
display: flex;
align-items: center;
justify-content: space-between;
}
.topbar p,
.topbar a,
.topbar__inner > div {
display: flex;
align-items: center;
}
.topbar p {
margin: 0;
gap: 7px;
font-family: Vazirmatn, sans-serif;
}
.topbar p svg {
color: #ffb7c1;
}
.topbar__inner > div {
gap: 16px;
direction: ltr;
}
.topbar a {
gap: 7px;
transition: color 0.2s ease;
}
.topbar a:hover {
color: var(--white);
}
.topbar__inner > div > span {
height: 13px;
width: 1px;
background: rgba(255, 255, 255, 0.18);
}
.header {
position: relative;
z-index: 50;
background: var(--white);
border-bottom: 1px solid rgba(7, 42, 78, 0.09);
}
.header__inner {
height: 91px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 34px;
}
.logo {
width: 188px;
flex: 0 0 auto;
}
.logo img {
width: 100%;
max-height: 64px;
object-fit: contain;
object-position: right center;
}
.desktop-nav {
align-self: stretch;
display: flex;
align-items: stretch;
gap: 33px;
margin-right: auto;
margin-left: 25px;
}
.desktop-nav a {
position: relative;
display: flex;
align-items: center;
gap: 5px;
color: #333c45;
font-size: 14px;
font-weight: 600;
white-space: nowrap;
transition: color 0.2s ease;
}
.desktop-nav a::after {
content: "";
position: absolute;
right: 0;
bottom: 0;
width: 0;
height: 3px;
background: var(--red);
transition: width 0.25s ease;
}
.desktop-nav a:hover,
.desktop-nav a.active {
color: var(--navy);
}
.desktop-nav a:hover::after,
.desktop-nav a.active::after {
width: 100%;
}
.product-menu {
position: relative;
display: flex;
align-items: stretch;
}
.product-menu > a {
height: 100%;
}
.product-menu__dropdown {
position: absolute;
top: calc(100% - 1px);
right: -110px;
width: min(680px, 78vw);
padding-top: 12px;
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(8px);
transition:
opacity 0.2s ease,
transform 0.2s ease,
visibility 0.2s ease;
}
.product-menu__dropdown > div {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1px;
padding: 12px;
background: #edf0f3;
border-top: 3px solid var(--red);
box-shadow: 0 22px 45px rgba(3, 25, 47, 0.18);
}
.product-menu__dropdown a {
min-height: 62px;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 2px;
padding: 10px 14px;
background: var(--white);
white-space: normal;
}
.product-menu__dropdown a::after {
display: none;
}
.product-menu__dropdown a:hover {
color: var(--red);
background: #fff8f9;
}
.product-menu__dropdown small,
.mobile-product-menu small {
color: #9299a0;
font-family: montserrat, sans-serif;
font-size: 7px;
font-weight: 600;
letter-spacing: 0.35px;
}
.product-menu:hover .product-menu__dropdown,
.product-menu:focus-within .product-menu__dropdown {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0);
}
.mobile-product-menu {
border-bottom: 1px solid var(--line);
}
.mobile-product-menu summary {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 5px;
font-size: 13px;
cursor: pointer;
list-style: none;
}
.mobile-product-menu summary::-webkit-details-marker {
display: none;
}
.mobile-product-menu[open] summary svg {
transform: rotate(180deg);
}
.mobile-product-menu > div {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1px;
padding: 5px 0 10px;
background: #edf0f3;
}
.mobile-product-menu > div a {
min-height: 52px;
align-items: flex-start;
flex-direction: column;
justify-content: center;
gap: 2px;
padding: 8px 10px;
background: var(--white);
border: 0;
}
.header__actions {
display: flex;
align-items: center;
gap: 8px;
}
.icon-button,
.mobile-toggle {
width: 43px;
height: 43px;
display: grid;
place-items: center;
border: 1px solid var(--line);
border-radius: 2px;
background: var(--white);
cursor: pointer;
transition:
color 0.2s ease,
border-color 0.2s ease,
background 0.2s ease;
}
.icon-button:hover {
color: var(--red);
border-color: rgba(226, 36, 61, 0.35);
background: #fff7f8;
}
.header__cta {
height: 43px;
display: flex;
align-items: center;
gap: 10px;
padding: 0 18px;
margin-right: 4px;
color: var(--white);
background: var(--navy);
border-radius: 2px;
font-size: 13px;
font-weight: 700;
transition: background 0.2s ease;
}
.header__cta:hover {
background: var(--red);
}
.mobile-toggle {
display: none;
color: var(--white);
border-color: var(--navy);
background: var(--navy);
}
.mobile-nav {
display: none;
}
.hero {
position: relative;
height: 690px;
color: var(--white);
overflow: hidden;
background: var(--navy-deep);
}
.hero__slide,
.hero__overlay,
.hero__pattern {
position: absolute;
inset: 0;
}
.hero__slide {
z-index: 0;
opacity: 0;
transform: scale(1.05);
transition:
opacity 1s ease,
transform 7s ease;
}
.hero__slide > img,
.hero__slide-link,
.hero__slide-link > img {
width: 100%;
height: 100%;
}
.hero__slide > img,
.hero__slide-link > img {
object-fit: cover;
}
.hero__slide-link {
display: block;
}
.hero__slide.is-active {
opacity: 1;
transform: scale(1);
}
.hero__overlay,
.hero__pattern {
pointer-events: none;
}
.hero__overlay {
z-index: 1;
background:
linear-gradient(
90deg,
rgba(3, 25, 47, 0.05) 0%,
rgba(3, 25, 47, 0.72) 51%,
rgba(3, 25, 47, 0.96) 100%
),
linear-gradient(0deg, rgba(3, 25, 47, 0.35), transparent 60%);
}
.hero__pattern {
z-index: 2;
width: 49%;
right: auto;
opacity: 0.25;
background-image:
linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
background-size: 44px 44px;
mask-image: linear-gradient(90deg, transparent, #000);
}
.hero__content {
position: relative;
z-index: 3;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 60px;
}
.hero__copy {
width: min(900px, 80%);
margin-bottom: 8px;
}
.eyebrow {
position: relative;
display: flex;
align-items: center;
gap: 13px;
margin: 0 0 18px;
color: #ffb5bf;
font-family: montserrat, sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 4px;
direction: ltr;
justify-content: flex-end;
}
.eyebrow::after {
content: "";
width: 42px;
height: 2px;
background: var(--red);
}
.hero h1 {
max-width: none;
margin: 0;
font-size: clamp(30px, 3vw, 40px);
line-height: 1.28;
letter-spacing: -1.7px;
white-space: nowrap;
}
.hero__description {
max-width: 595px;
margin: 9px 0 27px;
color: rgba(255, 255, 255, 0.78);
font-size: 17px;
line-height: 2;
}
.hero__buttons {
display: flex;
gap: 12px;
}
.button {
min-height: 52px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 14px;
padding: 0 25px;
border: 1px solid transparent;
border-radius: 2px;
font-size: 14px;
font-weight: 700;
transition:
background 0.22s ease,
border-color 0.22s ease,
color 0.22s ease,
transform 0.22s ease;
}
.button:hover {
transform: translateY(-2px);
}
.button--red {
color: var(--white);
background: var(--red);
}
.button--red:hover {
background: var(--red-dark);
}
.button--glass {
color: var(--white);
border-color: rgba(255, 255, 255, 0.35);
background: rgba(255, 255, 255, 0.08);
backdrop-filter: blur(8px);
}
.button--glass:hover {
border-color: rgba(255, 255, 255, 0.7);
background: rgba(255, 255, 255, 0.15);
}
.button--navy {
color: var(--white);
background: var(--navy);
}
.button--navy:hover {
background: var(--red);
}
.hero__stats {
position: absolute;
left: 0;
bottom: 82px;
display: flex;
align-items: center;
gap: 24px;
padding: 20px 24px;
border-right: 3px solid var(--red);
background: rgba(3, 25, 47, 0.72);
backdrop-filter: blur(12px);
}
.hero__stats > div {
display: flex;
flex-direction: column;
}
.hero__stats strong {
font-family: montserrat, sans-serif;
font-size: 27px;
line-height: 1.1;
}
.hero__stats span {
margin-top: 7px;
color: rgba(255, 255, 255, 0.56);
font-family: montserrat, sans-serif;
font-size: 8px;
letter-spacing: 1px;
}
.hero__stats i {
width: 1px;
height: 43px;
background: rgba(255, 255, 255, 0.18);
}
.hero__controls {
position: absolute;
z-index: 4;
right: 50%;
bottom: 95px;
width: min(1320px, calc(100% - 64px));
transform: translateX(50%);
display: flex;
align-items: center;
gap: 14px;
pointer-events: none;
}
.hero__controls > button {
width: 38px;
height: 38px;
display: grid;
place-items: center;
color: var(--white);
border: 1px solid rgba(255, 255, 255, 0.3);
background: rgba(3, 25, 47, 0.25);
cursor: pointer;
pointer-events: auto;
}
.hero__controls > button:hover {
background: var(--red);
border-color: var(--red);
}
.hero__controls > div {
display: flex;
gap: 7px;
}
.hero__controls > div button {
width: 7px;
height: 7px;
padding: 0;
border: 0;
border-radius: 50%;
background: rgba(255, 255, 255, 0.4);
cursor: pointer;
pointer-events: auto;
transition:
width 0.2s ease,
border-radius 0.2s ease,
background 0.2s ease;
}
.hero__controls > div button.active {
width: 24px;
border-radius: 4px;
background: var(--red);
}
.search-panel {
position: relative;
z-index: 20;
height: 0;
}
.search-card {
position: relative;
top: -58px;
min-height: 116px;
display: grid;
grid-template-columns: 260px 1fr;
grid-template-rows: auto auto;
align-items: center;
gap: 4px 30px;
padding: 24px 29px 20px;
background: var(--white);
box-shadow: var(--shadow);
border-radius: 3px;
}
.search-card::before {
content: "";
position: absolute;
inset: 0 auto 0 0;
width: 5px;
background: var(--red);
}
.search-card__title {
grid-row: 1 / 3;
display: flex;
align-items: center;
gap: 13px;
border-left: 1px solid var(--line);
}
.search-card__title > span {
width: 50px;
height: 50px;
display: grid;
place-items: center;
flex: 0 0 auto;
color: var(--white);
background: var(--navy);
}
.search-card__title div {
display: flex;
flex-direction: column;
}
.search-card__title strong {
font-size: 15px;
}
.search-card__title small {
color: var(--muted);
font-size: 11px;
}
.search-card form {
display: grid;
grid-template-columns: 1fr 155px;
height: 50px;
border: 1px solid #d8dde2;
border-radius: 2px;
background: #fafbfc;
overflow: hidden;
}
.search-card input {
min-width: 0;
padding: 0 18px;
color: var(--ink);
border: 0;
outline: 0;
background: transparent;
font-size: 13px;
}
.search-card input::placeholder {
color: #989fa6;
}
.search-card form:focus-within {
border-color: var(--navy);
box-shadow: 0 0 0 3px rgba(8, 42, 78, 0.08);
}
.search-card form button {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
color: var(--white);
border: 0;
background: var(--red);
font-size: 12px;
font-weight: 700;
cursor: pointer;
}
.quick-search {
display: flex;
align-items: center;
gap: 7px;
color: #9aa0a6;
font-size: 10px;
}
.quick-search button {
padding: 1px 9px;
color: #68717b;
border: 0;
border-radius: 10px;
background: #f0f2f4;
font-size: 10px;
cursor: pointer;
}
.quick-search button:hover {
color: var(--red);
}
.search-results {
position: absolute;
top: calc(100% - 7px);
right: 319px;
left: 29px;
z-index: 30;
padding: 8px;
background: var(--white);
border: 1px solid var(--line);
box-shadow: 0 18px 55px rgba(3, 25, 47, 0.16);
}
.search-results__head {
height: 35px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 8px 5px;
color: #8a929a;
border-bottom: 1px solid var(--line);
font-size: 10px;
}
.search-results__head button {
display: grid;
place-items: center;
padding: 4px;
border: 0;
background: transparent;
cursor: pointer;
}
.search-results > a {
min-height: 70px;
display: grid;
grid-template-columns: 58px 1fr auto 25px;
align-items: center;
gap: 13px;
padding: 8px;
border-bottom: 1px solid #edf0f2;
transition: background 0.2s ease;
}
.search-results > a:last-child {
border-bottom: 0;
}
.search-results > a:hover {
background: #f7f9fa;
}
.search-results > a img {
width: 58px;
height: 52px;
object-fit: cover;
}
.search-results > a div {
min-width: 0;
display: flex;
flex-direction: column;
}
.search-results > a strong {
font-size: 12px;
}
.search-results > a small {
color: #8a939c;
font-family: montserrat, sans-serif;
font-size: 8px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.search-results > a > span {
padding: 2px 9px;
color: var(--navy);
border-radius: 10px;
background: #eaf0f5;
font-size: 9px;
}
.empty-result {
padding: 25px;
color: var(--muted);
text-align: center;
font-size: 12px;
}
.section-title > span {
display: block;
margin-bottom: 3px;
color: var(--red);
font-family: montserrat, sans-serif;
font-size: 10px;
font-weight: 700;
letter-spacing: 3.5px;
direction: ltr;
text-align: right;
}
.section-title h2 {
margin: 0;
color: var(--navy);
font-size: clamp(25px, 2.4vw, 35px);
line-height: 1.5;
}
.section-title i {
display: block;
width: 54px;
height: 3px;
margin-top: 12px;
background: linear-gradient(90deg, var(--red) 0 25%, var(--navy) 25%);
}
.section-title--light h2 {
color: var(--white);
}
.categories {
padding: 150px 0 115px;
}
.categories .section-title {
margin-bottom: 42px;
}
.category-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.category-card {
position: relative;
height: 365px;
color: var(--white);
overflow: hidden;
}
.category-card > img,
.category-card__shade {
position: absolute;
width: 100%;
height: 100%;
inset: 0;
}
.category-card > img {
object-fit: cover;
transition: transform 0.6s ease;
}
.category-card__shade {
background: linear-gradient(0deg, rgba(3, 25, 47, 0.95), rgba(3, 25, 47, 0.04) 70%);
}
.category-card:hover > img {
transform: scale(1.06);
}
.category-card__number {
position: absolute;
top: 20px;
right: 22px;
color: rgba(255, 255, 255, 0.65);
font-family: montserrat, sans-serif;
font-size: 11px;
letter-spacing: 1px;
}
.category-card__content {
position: absolute;
right: 27px;
bottom: 25px;
}
.category-card__content small {
color: #ff96a5;
font-family: montserrat, sans-serif;
font-size: 9px;
font-weight: 700;
letter-spacing: 2px;
}
.category-card__content h3 {
margin: 2px 0 0;
font-size: 25px;
}
.category-card__content p {
margin: 0;
color: rgba(255, 255, 255, 0.6);
font-size: 12px;
}
.category-card > i {
position: absolute;
left: 0;
bottom: 0;
width: 58px;
height: 58px;
display: grid;
place-items: center;
color: var(--white);
background: var(--red);
transition:
width 0.25s ease,
background 0.25s ease;
}
.category-card:hover > i {
width: 72px;
background: var(--navy);
}
.section-gray {
background-color: var(--gray);
background-image: radial-gradient(rgba(8, 42, 78, 0.08) 0.6px, transparent 0.6px);
background-size: 12px 12px;
}
.products {
padding: 105px 0 115px;
}
.section-heading-row {
display: flex;
align-items: end;
justify-content: space-between;
gap: 30px;
margin-bottom: 42px;
}
.text-link {
display: flex;
align-items: center;
gap: 10px;
padding-bottom: 9px;
color: var(--navy);
border-bottom: 1px solid var(--navy);
font-size: 12px;
font-weight: 700;
transition: color 0.2s ease;
}
.text-link:hover {
color: var(--red);
border-color: var(--red);
}
.product-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 19px;
}
.product-card {
background: var(--white);
border: 1px solid #e7eaed;
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}
.product-card:hover {
transform: translateY(-7px);
box-shadow: 0 18px 45px rgba(3, 25, 47, 0.12);
}
.product-card__image {
position: relative;
height: 245px;
display: block;
overflow: hidden;
background: #e8ebee;
}
.product-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.product-card:hover .product-card__image img {
transform: scale(1.05);
}
.product-card__image > span {
position: absolute;
top: 14px;
right: 0;
padding: 5px 14px;
color: var(--white);
background: var(--red);
font-size: 9px;
}
.product-card__image > i {
position: absolute;
left: 12px;
bottom: 12px;
width: 39px;
height: 39px;
display: grid;
place-items: center;
color: var(--navy);
background: var(--white);
opacity: 0;
transform: translateY(8px);
transition:
opacity 0.3s ease,
transform 0.3s ease;
}
.product-card:hover .product-card__image > i {
opacity: 1;
transform: translateY(0);
}
.product-card__body {
padding: 20px 20px 17px;
}
.product-card__body > small {
color: var(--red);
font-size: 10px;
}
.product-card__body h3 {
margin: 4px 0 0;
color: var(--navy);
font-size: 16px;
line-height: 1.7;
}
.product-card__body > p {
height: 33px;
margin: 2px 0 15px;
color: #8a929a;
font-family: montserrat, sans-serif;
font-size: 8px;
font-weight: 500;
line-height: 1.6;
text-align: right;
}
.product-card__body > div {
min-height: 43px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding-top: 13px;
border-top: 1px solid var(--line);
}
.product-card code {
color: #777f87;
font-family: montserrat, sans-serif;
font-size: 8px;
white-space: nowrap;
}
.product-card__body > div a {
display: flex;
align-items: center;
gap: 6px;
color: var(--navy);
font-size: 10px;
font-weight: 700;
white-space: nowrap;
}
.product-card__body > div a:hover {
color: var(--red);
}
.about {
padding: 125px 0;
}
.about__grid {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
align-items: center;
gap: 90px;
}
.about__visual {
position: relative;
min-height: 545px;
}
.about__visual > img,
.about__main-image {
width: calc(100% - 85px);
height: 495px;
}
.about__visual > img,
.about__main-image > img {
object-fit: cover;
}
.about__main-image > img {
width: 100%;
height: 100%;
}
.about__main-image {
display: block;
}
.about__visual::before {
content: "";
position: absolute;
top: -18px;
right: -18px;
z-index: -1;
width: 145px;
height: 145px;
background-image: radial-gradient(var(--navy) 1px, transparent 1px);
background-size: 10px 10px;
opacity: 0.3;
}
.about__small-image {
position: absolute;
left: 0;
bottom: 0;
width: 270px;
height: 215px;
padding: 9px;
background: var(--white);
box-shadow: var(--shadow);
}
.about__small-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.about__small-image > a {
display: block;
height: 100%;
}
.experience-badge {
position: absolute;
right: 29px;
bottom: 0;
width: 165px;
height: 155px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--white);
background: var(--red);
}
.experience-badge strong {
font-family: montserrat, sans-serif;
font-size: 52px;
line-height: 1;
}
.experience-badge span {
margin-top: 10px;
font-size: 12px;
}
.about__lead {
margin: 26px 0 12px;
color: var(--navy);
font-size: 18px;
font-weight: 700;
line-height: 2;
}
.about__content > p:not(.about__lead) {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 2.15;
}
.about__features {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 13px;
margin: 26px 0 30px;
}
.about__features > div {
display: flex;
align-items: center;
gap: 12px;
padding: 15px;
border-right: 3px solid var(--red);
background: var(--gray);
}
.about__features svg {
width: 28px;
height: 28px;
color: var(--navy);
flex: 0 0 auto;
}
.about__features span {
display: flex;
flex-direction: column;
color: #818a93;
font-size: 9px;
}
.about__features strong {
color: var(--ink);
font-size: 12px;
}
.values {
position: relative;
padding: 67px 0;
color: var(--white);
background:
linear-gradient(rgba(3, 25, 47, 0.93), rgba(3, 25, 47, 0.93)),
url("/assets/ZLxH2tZ4dR.jpg")
center/cover fixed;
}
.values__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.value-card {
position: relative;
min-height: 165px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-left: 1px solid rgba(255, 255, 255, 0.14);
}
.value-card:last-child {
border-left: 0;
}
.value-card > span {
position: absolute;
top: 0;
right: 24px;
color: rgba(255, 255, 255, 0.15);
font-family: montserrat, sans-serif;
font-size: 12px;
}
.value-card svg {
width: 34px;
height: 34px;
color: #ff7285;
stroke-width: 1.5;
}
.value-card h3 {
margin: 14px 0 0;
font-size: 16px;
}
.value-card p {
margin: 4px 0 0;
color: rgba(255, 255, 255, 0.42);
font-family: montserrat, sans-serif;
font-size: 8px;
letter-spacing: 1.5px;
}
.news {
padding: 115px 0;
}
.news-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 23px;
}
.news-card {
border: 1px solid var(--line);
background: var(--white);
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}
.news-card:hover {
transform: translateY(-6px);
box-shadow: 0 18px 45px rgba(3, 25, 47, 0.1);
}
.news-card__image {
height: 238px;
display: block;
overflow: hidden;
background: var(--gray);
}
.news-card__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.news-card:hover .news-card__image img {
transform: scale(1.04);
}
.news-card__body {
padding: 22px 24px 24px;
}
.news-card__body > div {
display: flex;
align-items: center;
justify-content: space-between;
color: #8a929b;
font-size: 9px;
}
.news-card__body > div span {
padding: 2px 9px;
color: var(--red);
background: #fff0f2;
}
.news-card h3 {
min-height: 56px;
margin: 14px 0 7px;
color: var(--navy);
font-size: 17px;
line-height: 1.75;
}
.news-card p {
margin: 0 0 16px;
color: var(--muted);
font-size: 11px;
line-height: 2;
}
.news-card__body > a {
display: flex;
align-items: center;
gap: 8px;
color: var(--navy);
font-size: 11px;
font-weight: 700;
}
.news-card__body > a:hover {
color: var(--red);
}
.customers {
padding: 95px 0 100px;
background: var(--gray);
overflow: hidden;
}
.customers .section-title {
text-align: center;
}
.customers .section-title > span {
text-align: center;
}
.customers .section-title i {
margin-inline: auto;
}
.logo-marquee {
position: relative;
margin-top: 47px;
overflow: hidden;
}
.logo-marquee::before,
.logo-marquee::after {
content: "";
position: absolute;
z-index: 2;
top: 0;
bottom: 0;
width: 90px;
}
.logo-marquee::before {
right: 0;
background: linear-gradient(90deg, transparent, var(--gray));
}
.logo-marquee::after {
left: 0;
background: linear-gradient(-90deg, transparent, var(--gray));
}
.logo-marquee > div {
width: max-content;
display: flex;
gap: 15px;
animation: marquee 32s linear infinite;
}
.logo-marquee:hover > div {
animation-play-state: paused;
}
.logo-marquee span {
width: 165px;
height: 95px;
display: grid;
place-items: center;
padding: 18px;
background: var(--white);
border: 1px solid #e4e7e9;
}
.logo-marquee img {
max-width: 100%;
max-height: 58px;
filter: grayscale(1);
opacity: 0.66;
transition:
filter 0.2s ease,
opacity 0.2s ease;
}
.logo-marquee span:hover img {
filter: grayscale(0);
opacity: 1;
}
@keyframes marquee {
from {
transform: translateX(0);
}
to {
transform: translateX(50%);
}
}
.cta-strip {
position: relative;
z-index: 4;
color: var(--white);
background: var(--red);
}
.cta-strip__inner {
min-height: 135px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 35px;
}
.cta-strip__inner > div {
display: flex;
align-items: center;
gap: 22px;
}
.cta-strip__inner > div > svg {
width: 45px;
height: 45px;
stroke-width: 1.4;
}
.cta-strip__inner span {
display: flex;
flex-direction: column;
}
.cta-strip__inner small {
color: rgba(255, 255, 255, 0.72);
font-size: 11px;
}
.cta-strip__inner strong {
font-size: 22px;
}
.button--white {
color: var(--navy);
background: var(--white);
}
.button--white:hover {
color: var(--red);
}
.footer {
position: relative;
color: rgba(255, 255, 255, 0.72);
background: var(--navy-deep);
overflow: hidden;
}
.footer__pattern {
position: absolute;
top: -120px;
right: -80px;
width: 440px;
height: 440px;
border: 1px solid rgba(255, 255, 255, 0.04);
border-radius: 50%;
box-shadow:
0 0 0 55px rgba(255, 255, 255, 0.015),
0 0 0 110px rgba(255, 255, 255, 0.012);
}
.footer__grid {
position: relative;
display: grid;
grid-template-columns: 1.25fr 0.65fr 0.75fr 1.2fr;
gap: 55px;
padding-top: 82px;
padding-bottom: 67px;
}
.footer__brand > img {
width: 205px;
max-height: 70px;
object-fit: contain;
object-position: right center;
filter: brightness(0) invert(1);
}
.footer__brand p {
max-width: 340px;
margin: 22px 0 25px;
font-size: 12px;
line-height: 2.2;
}
.footer__brand > div {
display: flex;
gap: 9px;
}
.footer__brand > div a {
width: 38px;
height: 38px;
display: grid;
place-items: center;
border: 1px solid rgba(255, 255, 255, 0.16);
transition:
background 0.2s ease,
border-color 0.2s ease;
}
.footer__brand > div svg {
width: 17px;
}
.footer__brand > div a:hover {
color: var(--white);
border-color: var(--red);
background: var(--red);
}
.footer h3 {
margin: 7px 0 24px;
color: var(--white);
font-size: 15px;
}
.footer__links {
display: flex;
flex-direction: column;
align-items: start;
}
.footer__links a {
position: relative;
margin-bottom: 9px;
padding-right: 13px;
font-size: 11px;
transition:
color 0.2s ease,
padding 0.2s ease;
}
.footer__links a::before {
content: "";
position: absolute;
top: 13px;
right: 0;
width: 4px;
height: 4px;
background: var(--red);
}
.footer__links a:hover {
padding-right: 17px;
color: var(--white);
}
.footer__contact > a,
.footer__contact .address {
display: flex;
align-items: center;
gap: 13px;
margin-bottom: 16px;
}
.footer__contact > a > span,
.footer__contact .address > span {
width: 39px;
height: 39px;
display: grid;
place-items: center;
flex: 0 0 auto;
color: #ff8a9a;
border: 1px solid rgba(255, 255, 255, 0.12);
}
.footer__contact svg {
width: 17px;
}
.footer__contact > a > div {
display: flex;
flex-direction: column;
}
.footer__contact small {
color: rgba(255, 255, 255, 0.45);
font-size: 9px;
}
.footer__contact strong {
color: var(--white);
font-family: Montserrat, Vazirmatn, sans-serif;
font-size: 11px;
font-weight: 500;
}
.footer__contact .address {
align-items: start;
}
.footer__contact .address p {
margin: 5px 0 0;
font-size: 11px;
}
.footer__bottom {
position: relative;
min-height: 65px;
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer__bottom p {
margin: 0;
font-size: 10px;
}
.footer__bottom span {
color: rgba(255, 255, 255, 0.3);
font-family: montserrat, sans-serif;
font-size: 8px;
letter-spacing: 2px;
}
@media (max-width: 1180px) {
.desktop-nav {
gap: 18px;
margin-left: 5px;
}
.header__cta {
display: none;
}
.hero {
height: 640px;
}
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
.product-card__image {
height: 310px;
}
.about__grid {
gap: 55px;
}
.footer__grid {
grid-template-columns: 1fr 0.7fr 0.8fr 1fr;
gap: 30px;
}
}
@media (max-width: 920px) {
.container {
width: min(100% - 40px, 720px);
}
.topbar {
display: none;
}
.header__inner {
height: 76px;
}
.logo {
width: 158px;
}
.desktop-nav,
.user-button {
display: none;
}
.header__actions {
margin-right: auto;
}
.mobile-toggle {
display: grid;
}
.mobile-nav {
position: absolute;
top: 76px;
right: 0;
left: 0;
display: grid;
padding: 10px 20px 18px;
background: var(--white);
box-shadow: 0 18px 35px rgba(3, 25, 47, 0.13);
}
.mobile-nav a {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 5px;
border-bottom: 1px solid var(--line);
font-size: 13px;
}
.hero {
height: 650px;
}
.hero__copy {
width: 85%;
}
.hero h1 {
white-space: normal;
text-wrap: balance;
}
.hero__stats {
display: none;
}
.hero__controls {
width: min(100% - 40px, 720px);
}
.search-card {
grid-template-columns: 1fr;
gap: 15px;
padding: 22px;
}
.search-card__title {
grid-row: auto;
border-left: 0;
}
.quick-search {
display: none;
}
.search-results {
right: 22px;
left: 22px;
}
.categories {
padding-top: 155px;
}
.category-grid {
grid-template-columns: 1fr;
}
.category-card {
height: 320px;
}
.about__grid {
grid-template-columns: 1fr;
}
.about__visual {
max-width: 650px;
}
.values__grid {
grid-template-columns: 1fr 1fr;
}
.value-card:nth-child(2) {
border-left: 0;
}
.value-card:nth-child(-n + 2) {
border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.news-grid {
grid-template-columns: 1fr 1fr;
}
.news-card:last-child {
display: none;
}
.cta-strip__inner strong {
font-size: 17px;
}
.footer__grid {
grid-template-columns: 1.2fr 0.8fr 0.8fr;
}
.footer__contact {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
}
.footer__contact h3 {
grid-column: 1 / -1;
}
}
@media (max-width: 620px) {
.container {
width: calc(100% - 28px);
}
.header__inner {
height: 68px;
}
.logo {
width: 132px;
}
.icon-button,
.mobile-toggle {
width: 40px;
height: 40px;
}
.mobile-nav {
top: 68px;
}
.hero {
height: 645px;
}
.hero__content {
align-items: flex-start;
padding-top: 94px;
padding-bottom: 80px;
}
.hero__copy {
width: 100%;
}
.eyebrow {
margin-bottom: 14px;
font-size: 9px;
letter-spacing: 2.4px;
}
.hero h1 {
font-size: 32px;
line-height: 1.45;
}
.hero__description {
margin: 10px 0 24px;
font-size: 14px;
}
.hero__buttons {
align-items: stretch;
flex-direction: column;
width: 210px;
}
.button {
min-height: 48px;
font-size: 12px;
}
.hero__controls {
right: 14px;
bottom: 82px;
width: auto;
transform: none;
}
.search-card {
top: -52px;
min-height: 104px;
padding: 18px 16px;
}
.search-card__title > span {
width: 43px;
height: 43px;
}
.search-card__title strong {
font-size: 13px;
}
.search-card form {
grid-template-columns: 1fr 48px;
height: 48px;
}
.search-card form button {
font-size: 0;
}
.search-card form button svg {
width: 19px;
}
.search-card input {
padding: 0 11px;
font-size: 11px;
}
.search-results {
right: 16px;
left: 16px;
}
.search-results > a {
grid-template-columns: 52px 1fr 19px;
}
.search-results > a > span {
display: none;
}
.categories {
padding: 175px 0 80px;
}
.section-title h2 {
font-size: 24px;
}
.categories .section-title,
.section-heading-row {
margin-bottom: 30px;
}
.category-card {
height: 260px;
}
.category-card__content h3 {
font-size: 21px;
}
.products,
.news {
padding: 80px 0;
}
.section-heading-row {
align-items: start;
flex-direction: column;
}
.product-grid {
grid-template-columns: 1fr;
}
.product-card__image {
height: 280px;
}
.about {
padding: 85px 0;
}
.about__grid {
gap: 50px;
}
.about__visual {
min-height: 405px;
}
.about__visual > img,
.about__main-image {
width: calc(100% - 38px);
height: 355px;
}
.about__small-image {
width: 190px;
height: 150px;
}
.experience-badge {
right: 18px;
width: 125px;
height: 115px;
}
.experience-badge strong {
font-size: 38px;
}
.experience-badge span {
font-size: 10px;
}
.about__lead {
font-size: 16px;
}
.about__features {
grid-template-columns: 1fr;
}
.values {
padding: 35px 0;
}
.value-card {
min-height: 150px;
text-align: center;
}
.value-card h3 {
font-size: 13px;
}
.value-card p {
font-size: 6px;
letter-spacing: 0.8px;
}
.news-grid {
grid-template-columns: 1fr;
}
.news-card:last-child {
display: block;
}
.customers {
padding: 75px 0;
}
.logo-marquee span {
width: 140px;
height: 85px;
}
.cta-strip__inner {
min-height: 190px;
align-items: start;
flex-direction: column;
justify-content: center;
gap: 18px;
padding-block: 30px;
}
.cta-strip__inner > div > svg {
width: 36px;
}
.cta-strip__inner strong {
font-size: 15px;
}
.footer__grid {
grid-template-columns: 1fr 1fr;
padding-top: 65px;
}
.footer__brand {
grid-column: 1 / -1;
}
.footer__contact {
display: block;
}
.footer__bottom {
align-items: start;
flex-direction: column;
justify-content: center;
gap: 3px;
}
}
@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* Interior pages */
.inner-hero {
position: relative;
min-height: 390px;
display: flex;
align-items: center;
color: var(--white);
background-position: center;
background-size: cover;
overflow: hidden;
}
.inner-hero__shade {
position: absolute;
inset: 0;
background:
linear-gradient(90deg, rgba(3, 25, 47, 0.42), rgba(3, 25, 47, 0.94) 70%),
linear-gradient(0deg, rgba(3, 25, 47, 0.3), transparent);
}
.inner-hero::after {
content: "";
position: absolute;
inset: 0 50% 0 0;
background-image:
linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
background-size: 42px 42px;
mask-image: linear-gradient(90deg, transparent, #000);
}
.inner-hero__content {
position: relative;
z-index: 2;
padding-block: 70px;
}
.inner-hero__content > span,
.inner-eyebrow,
.inner-section-title > span {
display: block;
color: #ff9dac;
font-family: montserrat, sans-serif;
font-size: 10px;
font-weight: 700;
letter-spacing: 4px;
direction: ltr;
text-align: right;
}
.inner-hero__content h1 {
margin: 7px 0 2px;
font-size: clamp(34px, 4vw, 52px);
line-height: 1.5;
}
.inner-hero__content > p {
margin: 0;
color: rgba(255, 255, 255, 0.72);
font-size: 15px;
}
.inner-hero__content > div {
display: flex;
align-items: center;
gap: 10px;
margin-top: 33px;
color: rgba(255, 255, 255, 0.53);
font-size: 10px;
}
.inner-hero__content > div a:hover {
color: var(--white);
}
.inner-hero__content > div i {
color: var(--red);
font-style: normal;
}
.inner-hero__content > div strong {
color: var(--white);
font-weight: 500;
}
.about-intro {
padding: 125px 0;
}
.about-intro__grid {
display: grid;
grid-template-columns: 0.95fr 1.05fr;
align-items: center;
gap: 95px;
}
.about-intro__visual {
position: relative;
min-height: 535px;
}
.about-intro__visual::before {
content: "";
position: absolute;
top: -19px;
right: -19px;
z-index: -1;
width: 155px;
height: 155px;
background-image: radial-gradient(var(--navy) 1px, transparent 1px);
background-size: 10px 10px;
opacity: 0.28;
}
.about-intro__visual > img {
width: calc(100% - 55px);
height: 500px;
object-fit: cover;
}
.about-intro__visual > div {
position: absolute;
left: 0;
bottom: 0;
width: 190px;
height: 165px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--white);
background: var(--red);
box-shadow: 12px 12px 0 var(--white);
}
.about-intro__visual strong {
font-family: montserrat, sans-serif;
font-size: 50px;
line-height: 1;
}
.about-intro__visual span {
margin-top: 10px;
font-size: 11px;
}
.inner-eyebrow {
color: var(--red);
}
.about-intro__copy h2,
.why-us__copy h2,
.contact-main__copy h2 {
margin: 5px 0 19px;
color: var(--navy);
font-size: clamp(27px, 3vw, 38px);
line-height: 1.55;
}
.about-intro__copy p,
.why-us__copy > p,
.contact-main__copy > p {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 2.25;
}
.about-intro__copy p.lead {
margin-bottom: 12px;
color: var(--navy);
font-size: 17px;
font-weight: 700;
}
.about-checks {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px 20px;
margin-top: 26px;
}
.about-checks span {
display: flex;
align-items: center;
gap: 9px;
color: #4c5762;
font-size: 12px;
font-weight: 600;
}
.about-checks svg {
width: 18px;
color: var(--red);
}
.about-stats {
color: var(--white);
background: var(--navy);
}
.about-stats__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.about-stats__grid > div {
min-height: 165px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.about-stats__grid > div:last-child {
border-left: 0;
}
.about-stats strong {
color: #ff8a9a;
font-family: Montserrat, Vazirmatn, sans-serif;
font-size: 38px;
line-height: 1.2;
}
.about-stats span {
margin-top: 7px;
color: rgba(255, 255, 255, 0.68);
font-size: 11px;
}
.mission {
padding: 110px 0 120px;
background: var(--gray);
}
.inner-section-title {
margin-bottom: 43px;
text-align: center;
}
.inner-section-title > span {
color: var(--red);
text-align: center;
}
.inner-section-title h2 {
margin: 7px 0 0;
color: var(--navy);
font-size: clamp(26px, 2.7vw, 35px);
}
.mission__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.mission article {
position: relative;
min-height: 300px;
padding: 38px 34px;
border: 1px solid #e2e6e9;
background: var(--white);
overflow: hidden;
transition:
transform 0.25s ease,
box-shadow 0.25s ease;
}
.mission article::after {
content: "";
position: absolute;
inset: auto 0 0;
height: 4px;
background: var(--red);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.3s ease;
}
.mission article:hover {
transform: translateY(-6px);
box-shadow: 0 18px 45px rgba(3, 25, 47, 0.1);
}
.mission article:hover::after {
transform: scaleX(1);
}
.mission article > span {
width: 60px;
height: 60px;
display: grid;
place-items: center;
color: var(--white);
background: var(--navy);
}
.mission article > span svg {
width: 29px;
}
.mission article > small {
position: absolute;
top: 31px;
left: 29px;
color: #e4e7e9;
font-family: montserrat, sans-serif;
font-size: 33px;
font-weight: 700;
}
.mission article h3 {
margin: 21px 0 7px;
color: var(--navy);
font-size: 20px;
}
.mission article p {
margin: 0;
color: var(--muted);
font-size: 12px;
line-height: 2.1;
}
.why-us {
padding: 125px 0;
}
.why-us__grid {
display: grid;
grid-template-columns: 1fr 0.9fr;
align-items: center;
gap: 90px;
}
.why-us__copy > div {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 30px;
}
.why-us__copy article {
display: flex;
align-items: center;
gap: 12px;
padding: 14px;
border-right: 3px solid var(--red);
background: var(--gray);
}
.why-us__copy article > svg {
width: 27px;
color: var(--navy);
}
.why-us__copy article > span {
display: flex;
flex-direction: column;
}
.why-us__copy article strong {
font-size: 11px;
}
.why-us__copy article small {
color: var(--muted);
font-size: 9px;
}
.why-us__image {
position: relative;
height: 510px;
}
.why-us__image::after {
content: "";
position: absolute;
top: 24px;
right: -24px;
z-index: -1;
width: 100%;
height: 100%;
border: 1px solid #d9dee2;
}
.why-us__image > img {
width: 100%;
height: 100%;
object-fit: cover;
}
.why-us__image > div {
position: absolute;
right: 0;
bottom: 0;
min-width: 250px;
padding: 22px 26px;
display: flex;
flex-direction: column;
color: var(--white);
background: var(--navy);
}
.why-us__image > div strong {
font-size: 17px;
}
.why-us__image > div span {
color: rgba(255, 255, 255, 0.62);
font-size: 11px;
}
.inner-cta {
color: var(--white);
background:
linear-gradient(90deg, rgba(226, 36, 61, 0.96), rgba(188, 23, 45, 0.94)),
url("/assets/i8SsUDDMLv.jpg")
center/cover;
}
.inner-cta > .container {
min-height: 175px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 35px;
}
.inner-cta span {
color: rgba(255, 255, 255, 0.67);
font-size: 11px;
}
.inner-cta h2 {
margin: 4px 0 0;
font-size: 25px;
}
/* Contact page */
.contact-info {
position: relative;
z-index: 3;
margin-top: -42px;
}
.contact-info__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
background: var(--white);
box-shadow: var(--shadow);
}
.contact-info__grid > a,
.contact-info__grid > div {
min-height: 150px;
display: flex;
align-items: center;
gap: 17px;
padding: 27px;
border-left: 1px solid var(--line);
}
.contact-info__grid > :last-child {
border-left: 0;
}
.contact-info__grid > a:hover > span {
background: var(--red);
}
.contact-info__grid > a > span,
.contact-info__grid > div > span {
width: 55px;
height: 55px;
display: grid;
place-items: center;
flex: 0 0 auto;
color: var(--white);
background: var(--navy);
transition: background 0.2s ease;
}
.contact-info__grid svg {
width: 25px;
}
.contact-info__grid > a > div,
.contact-info__grid > div > div {
min-width: 0;
display: flex;
flex-direction: column;
}
.contact-info__grid small {
color: var(--red);
font-size: 9px;
}
.contact-info__grid strong {
color: var(--navy);
font-family: Montserrat, Vazirmatn, sans-serif;
font-size: 14px;
}
.contact-info__grid p {
margin: 2px 0 0;
color: var(--muted);
font-size: 9px;
}
.contact-main {
padding: 125px 0;
}
.contact-main__grid {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
align-items: start;
gap: 78px;
}
.contact-main__copy > p {
max-width: 710px;
margin-bottom: 29px;
}
.contact-form {
padding: 33px;
border: 1px solid var(--line);
background: var(--gray);
}
.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.contact-form label {
display: flex;
flex-direction: column;
gap: 7px;
margin-bottom: 16px;
color: #3d4853;
font-size: 11px;
font-weight: 700;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
width: 100%;
padding: 0 14px;
color: var(--ink);
border: 1px solid #dce1e5;
border-radius: 0;
outline: 0;
background: var(--white);
font: inherit;
font-size: 11px;
transition:
border-color 0.2s ease,
box-shadow 0.2s ease;
}
.contact-form input,
.contact-form select {
height: 49px;
}
.contact-form select {
appearance: none;
background-image:
linear-gradient(45deg, transparent 50%, #7e8790 50%),
linear-gradient(135deg, #7e8790 50%, transparent 50%);
background-position:
15px calc(50% - 2px),
10px calc(50% - 2px);
background-size: 5px 5px;
background-repeat: no-repeat;
}
.contact-form textarea {
padding-block: 13px;
resize: vertical;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
border-color: var(--navy);
box-shadow: 0 0 0 3px rgba(8, 42, 78, 0.07);
}
.contact-form > button {
min-height: 50px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 0 25px;
color: var(--white);
border: 0;
background: var(--red);
font-size: 12px;
font-weight: 700;
cursor: pointer;
transition: background 0.2s ease;
}
.contact-form > button:hover {
background: var(--navy);
}
.contact-form > small {
margin-right: 13px;
color: #929aa2;
font-size: 9px;
}
.contact-success {
min-height: 390px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 35px;
text-align: center;
border: 1px solid var(--line);
background: var(--gray);
}
.contact-success > svg {
width: 58px;
height: 58px;
color: #2f9f68;
}
.contact-success h3 {
margin: 16px 0 5px;
color: var(--navy);
font-size: 22px;
}
.contact-success p {
margin: 0 0 20px;
color: var(--muted);
font-size: 12px;
}
.contact-success button {
padding: 9px 18px;
color: var(--white);
border: 0;
background: var(--navy);
cursor: pointer;
}
.contact-aside {
padding-top: 20px;
}
.contact-aside__image {
position: relative;
height: 320px;
overflow: hidden;
background: #dfe4e7;
}
.contact-aside__image img {
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.75);
}
.contact-aside__image > a {
position: absolute;
right: 17px;
bottom: 17px;
display: flex;
align-items: center;
gap: 8px;
padding: 9px 15px;
color: var(--white);
background: var(--red);
font-size: 10px;
font-weight: 700;
}
.office-hours {
padding: 25px 27px;
color: var(--white);
background: var(--navy);
}
.office-hours h3 {
display: flex;
align-items: center;
gap: 9px;
margin: 0 0 14px;
font-size: 16px;
}
.office-hours h3 svg {
width: 20px;
color: #ff8c9c;
}
.office-hours > div {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
font-size: 10px;
}
.office-hours > div:last-child {
border-bottom: 0;
}
.office-hours span {
color: rgba(255, 255, 255, 0.62);
}
.office-hours strong {
font-weight: 500;
}
.quick-contact {
display: flex;
align-items: center;
gap: 14px;
margin-top: 14px;
padding: 18px 21px;
color: var(--white);
background: var(--red);
}
.quick-contact > svg {
width: 28px;
}
.quick-contact > span {
display: flex;
flex-direction: column;
}
.quick-contact small {
color: rgba(255, 255, 255, 0.68);
font-size: 9px;
}
.quick-contact strong {
font-size: 13px;
}
.contact-departments {
padding: 95px 0 105px;
background: var(--gray);
}
.contact-departments .inner-section-title {
margin-bottom: 35px;
}
.contact-departments .container > div:last-child {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.contact-departments article {
position: relative;
padding: 25px;
border-right: 3px solid var(--red);
background: var(--white);
}
.contact-departments article > small {
position: absolute;
top: 18px;
left: 20px;
color: #a5acb3;
font-size: 8px;
}
.contact-departments h3 {
margin: 0 0 3px;
color: var(--navy);
font-size: 16px;
}
.contact-departments article > a {
color: var(--muted);
font-family: montserrat, sans-serif;
font-size: 9px;
}
.contact-departments article > a:hover {
color: var(--red);
}
.product-card__body h3 a {
color: inherit;
}
.product-list-hero {
min-height: 345px;
}
.product-listing,
.related-products {
padding: 105px 0;
}
.product-listing__heading {
display: flex;
align-items: end;
justify-content: space-between;
gap: 30px;
margin-bottom: 38px;
}
.product-listing__heading span {
color: var(--red);
font-family: montserrat, sans-serif;
font-size: 9px;
font-weight: 700;
letter-spacing: 3px;
}
.product-listing__heading h2 {
margin: 5px 0 0;
color: var(--navy);
font-size: 31px;
}
.product-listing__heading > p {
margin: 0;
color: var(--muted);
font-size: 12px;
}
.products-empty {
padding: 65px 25px;
color: var(--muted);
background: var(--gray);
border: 1px solid var(--line);
text-align: center;
}
.product-detail-breadcrumb {
padding: 16px 0;
color: var(--muted);
background: var(--gray);
border-bottom: 1px solid var(--line);
font-size: 10px;
}
.product-detail-breadcrumb .container {
display: flex;
align-items: center;
gap: 9px;
overflow: hidden;
white-space: nowrap;
}
.product-detail-breadcrumb a:hover {
color: var(--red);
}
.product-detail-breadcrumb i {
color: var(--red);
font-style: normal;
}
.product-detail-breadcrumb strong {
overflow: hidden;
color: var(--navy);
font-weight: 500;
text-overflow: ellipsis;
}
.product-detail {
padding: 90px 0 105px;
}
.product-detail__grid {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
align-items: start;
gap: 75px;
}
.product-gallery__main {
position: relative;
width: 100%;
height: 535px;
display: block;
overflow: hidden;
padding: 0;
background: #eef0f2;
border: 1px solid var(--line);
cursor: zoom-in;
}
.product-gallery__main img {
width: 100%;
height: 100%;
object-fit: contain;
transition: transform 0.6s ease;
}
.product-gallery__main:hover img {
transform: scale(1.12);
}
.product-gallery__main > span {
position: absolute;
left: 15px;
bottom: 15px;
display: flex;
align-items: center;
gap: 7px;
padding: 9px 12px;
color: var(--navy);
background: rgba(255, 255, 255, 0.92);
font-size: 9px;
font-weight: 700;
}
.product-gallery__thumbs {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 9px;
margin-top: 10px;
}
.product-gallery__thumbs button {
height: 92px;
padding: 0;
overflow: hidden;
background: #eef0f2;
border: 2px solid transparent;
cursor: pointer;
}
.product-gallery__thumbs button.active {
border-color: var(--red);
}
.product-gallery__thumbs img {
width: 100%;
height: 100%;
object-fit: cover;
}
.product-lightbox {
position: fixed;
inset: 0;
z-index: 200;
display: grid;
place-items: center;
padding: 45px;
background: rgba(2, 15, 29, 0.92);
}
.product-lightbox > button {
position: absolute;
top: 24px;
left: 24px;
width: 45px;
height: 45px;
display: grid;
place-items: center;
color: var(--white);
background: var(--red);
border: 0;
cursor: pointer;
}
.product-lightbox > img {
max-width: min(1100px, 92vw);
max-height: 86vh;
object-fit: contain;
}
.product-detail__info {
padding-top: 20px;
}
.product-detail__category {
display: inline-flex;
margin-top: 18px;
color: var(--red);
font-size: 11px;
font-weight: 700;
}
.product-detail__info h1 {
margin: 8px 0 4px;
color: var(--navy);
font-size: clamp(29px, 3vw, 42px);
line-height: 1.55;
}
.product-detail__english {
margin: 0 0 25px;
color: #838b93;
font-family: montserrat, sans-serif;
font-size: 11px;
line-height: 1.8;
text-align: right;
}
.product-detail__summary {
margin: 0;
padding-top: 22px;
color: var(--muted);
border-top: 1px solid var(--line);
font-size: 14px;
line-height: 2.1;
}
.product-detail__features {
display: grid;
gap: 10px;
margin: 25px 0 30px;
}
.product-detail__features span {
display: flex;
align-items: center;
gap: 9px;
color: var(--navy);
font-size: 12px;
font-weight: 600;
}
.product-detail__features svg {
width: 18px;
color: var(--red);
}
.product-detail__actions {
display: flex;
gap: 10px;
}
.product-description {
padding: 90px 0;
background: var(--gray);
}
.product-description__grid {
display: grid;
grid-template-columns: 1fr 360px;
gap: 55px;
}
.product-description article,
.product-description aside {
padding: 35px;
background: var(--white);
border: 1px solid var(--line);
}
.product-description article > span {
color: var(--red);
font-family: montserrat, sans-serif;
font-size: 8px;
font-weight: 700;
letter-spacing: 3px;
}
.product-description h2 {
margin: 7px 0 14px;
color: var(--navy);
font-size: 23px;
}
.product-description p {
margin: 0;
color: var(--muted);
font-size: 13px;
line-height: 2.1;
}
.product-description aside {
color: var(--white);
background: var(--navy);
border: 0;
}
.product-description aside h2,
.product-description aside p {
color: inherit;
}
.product-description aside p {
color: rgba(255, 255, 255, 0.68);
}
.product-description aside a {
display: inline-flex;
margin-top: 22px;
color: #ff9dac;
font-family: montserrat, sans-serif;
font-size: 18px;
font-weight: 700;
}
@media (max-width: 920px) {
.inner-hero {
min-height: 340px;
}
.product-detail__grid,
.product-description__grid {
grid-template-columns: 1fr;
gap: 45px;
}
.product-gallery {
max-width: 700px;
}
.product-description aside {
max-width: 520px;
}
.about-intro__grid,
.why-us__grid,
.contact-main__grid {
grid-template-columns: 1fr;
gap: 60px;
}
.about-intro__visual {
max-width: 650px;
}
.why-us__image {
max-width: 650px;
}
.contact-info__grid {
grid-template-columns: 1fr;
}
.contact-info__grid > a,
.contact-info__grid > div {
min-height: 120px;
border-left: 0;
border-bottom: 1px solid var(--line);
}
.contact-aside {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
padding-top: 0;
}
.contact-aside__image {
grid-row: 1 / 3;
height: auto;
}
}
@media (max-width: 620px) {
.inner-hero {
min-height: 310px;
}
.product-listing,
.related-products {
padding: 75px 0;
}
.product-listing__heading {
align-items: flex-start;
flex-direction: column;
gap: 10px;
margin-bottom: 28px;
}
.product-listing__heading h2 {
font-size: 26px;
}
.product-detail {
padding: 60px 0 75px;
}
.product-gallery__main {
height: 350px;
}
.product-gallery__thumbs {
grid-template-columns: repeat(4, 1fr);
}
.product-gallery__thumbs button {
height: 72px;
}
.product-detail__info {
padding-top: 0;
}
.product-detail__info h1 {
font-size: 28px;
}
.product-detail__actions {
align-items: stretch;
flex-direction: column;
}
.product-description {
padding: 65px 0;
}
.product-description article,
.product-description aside {
padding: 25px;
}
.product-lightbox {
padding: 20px;
}
.inner-hero__content {
padding-block: 55px;
}
.inner-hero__content h1 {
font-size: 32px;
}
.inner-hero__content > p {
font-size: 12px;
}
.about-intro,
.why-us,
.contact-main {
padding: 82px 0;
}
.about-intro__visual {
min-height: 400px;
}
.about-intro__visual > img {
width: calc(100% - 30px);
height: 370px;
}
.about-intro__visual > div {
width: 145px;
height: 125px;
}
.about-intro__visual strong {
font-size: 38px;
}
.about-checks,
.why-us__copy > div,
.form-row {
grid-template-columns: 1fr;
}
.about-stats__grid {
grid-template-columns: 1fr 1fr;
}
.about-stats__grid > div {
min-height: 125px;
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.about-stats strong {
font-size: 30px;
}
.mission {
padding: 80px 0;
}
.mission__grid,
.contact-departments .container > div:last-child {
grid-template-columns: 1fr;
}
.mission article {
min-height: 260px;
}
.why-us__image {
height: 390px;
}
.why-us__image::after {
display: none;
}
.inner-cta > .container {
min-height: 225px;
align-items: start;
flex-direction: column;
justify-content: center;
gap: 20px;
}
.inner-cta h2 {
font-size: 19px;
}
.contact-info {
margin-top: 0;
}
.contact-info__grid {
width: 100%;
}
.contact-form {
padding: 20px 16px;
}
.contact-form > small {
display: block;
margin: 11px 0 0;
}
.contact-aside {
display: block;
}
.contact-aside__image {
height: 270px;
}
.office-hours,
.quick-contact {
margin-top: 14px;
}
}