:root {
--color-black: #000000;
--color-white: #ffffff;
--color-gray-100: #f8f9fa;
--color-gray-200: #e9ecef;
--color-gray-300: #dee2e6;
--color-gray-400: #ced4da;
--color-gray-500: #adb5bd;
--color-gray-600: #6c757d;
--color-gray-700: #495057;
--color-gray-800: #343a40;
--color-gray-900: #212529;
--text-dark: #000000;
--text-light: #ccc;
--text-accent: #ffffff;
--text-danger: #f00;
--text-small: #aaa;
} * {
box-sizing: border-box;
}
body {
background-color: black;
margin: 0;
font-family: sans-serif;
color: white;
}
input,
textarea {
font-family: sans-serif;
} .container {
margin: 0 auto;
max-width: 1200px;
width: 100%;
}
.row {
padding: 0 15px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-evenly; }
.col-3 {
width: 25%;
}
.col-4 {
width: 33.33%;
}
.col-6 {
width: 50%;
}
.col-9 {
width: 75%;
}
.col-12 {
width: 100%;
} .menu {
background-color: #000000;
padding: 15px 0;
}
.menu .row > ul {
display: flex;
list-style: none;
text-transform: uppercase;
}
.menu .row > ul > li {
position: relative;
}
.menu .row > ul a.active:hover + ul,
.menu .row > ul ul:hover {
opacity: 1;
visibility: visible;
}
.menu .row > ul ul {
transition: 0.2s;
opacity: 0;
visibility: hidden;
border: 1px solid #eee;
position: absolute;
top: 30px;
width: 280px;
padding-left: 0;
list-style: none;
background-color: #fff;
}
.menu .row > ul ul li {
padding: 15px;
}
.menu .row > ul > li a {
color: white;
text-decoration: none;
margin-right: 15px;
}
.menu .row > ul > li a:hover {
color: var(--text-accent);
}
.menu .row > ul > li:last-child a {
margin-right: 0;
}
.menu .logo img {
height: 70px;
width: 100%;
}
.menu .phone a {
color: white;
text-decoration: none;
}
.menu .phone a:hover {
color: var(--text-main);
text-decoration: underline;
} .header {
min-height: 800px;
background-repeat: no-repeat;
background-position: top center;
background-size: contain;
}
.header-inner {
background-color: rgba(45, 43, 43, 0.5);
padding: 25px;
margin-top: 75px;
}
.header-inner h2,
.popular-title h2 {
color: white;
text-transform: uppercase;
justify-content: center;
display: flex;
align-items: center;
}
.header-inner h2:before,
.header-inner h2:after,
.popular-title h2:before,
.popular-title h2:after {
display: block;
content: "";
width: 100px;
height: 5px;
background-color: white;
margin: 20px;
}
.doors {
display: flex;
justify-content: space-evenly;
gap: 10px;
}
.door {
text-align: center;
}
.door a,
.btn {
cursor: pointer;
display: block;
margin: 10px 0;
text-transform: uppercase;
text-decoration: none;
color: white;
border: 2px solid white;
padding: 10px;
transition: 0.2s;
}
.btn {
background-color: transparent;
display: inline-block;
text-align: center;
font-weight: bold;
}
.header .btn {
display: block;
max-width: 250px;
margin: 15px auto 5px;
}
.door a:hover,
.btn:hover,
.btn:focus {
background-color: rgba(45, 43, 43, 0.6);
}
.door .name {
text-transform: uppercase;
color: var(--text-light);
background-color: var(--text-small);
width: 150px;
height: 150px;
display: flex;
align-items: center;
justify-content: center;
} .advantages {
height: 350px;
font-size: 20px;
display: flex;
align-items: center;
text-align: center;
color: black;
}
.advantages-cards {
}
.advantages-cards-inner {
align-items: stretch;
padding: 50px 0;
}
.advantages-cards-inner img {
width: 100px;
height: auto;
}
.advantages-card {
text-align: center;
padding: 25px;
margin-bottom: 30px;
}
.advantages h2 {
text-transform: uppercase;
}
.advantages-cards h3 {
text-transform: uppercase;
color: var(--text-accent);
font-size: 20px;
}
.advantages-cards p {
line-height: 22px;
} .about {
display: flex;
align-items: center;
min-height: 350px;
color: var(--text-light);
}
.about-inner h2 {
line-height: 30px;
text-transform: uppercase;
}
.about-inner h2 span {
color: var(--text-accent);
}
.about-inner p {
line-height: 24px;
}
.text-center {
text-align: center;
} .popular {
background-size: cover;
padding-bottom: 50px;
}
.popular-title {
justify-content: center;
padding: 30px 0;
}
.product img {
width: auto;
height: 250px;
border: 5px solid #2d2b2b;
}
.product h3 {
font-size: 18px;
text-transform: uppercase;
}
.product {
padding: 20px;
text-align: center;
} .contacts {
background-size: cover;
padding: 50px 0;
color: white;
}
.contacts input:not([type="submit"]) {
border: none;
width: 100%;
height: 40px;
padding: 10px;
margin-bottom: 15px;
}
.contacts button.btn,
.contacts input[type="submit"].btn {
border-color: white;
color: white;
display: block;
margin: 0 auto;
}
.contacts button.btn:hover,
.contacts input[type="submit"].btn:hover {
border-color: var(--text-accent);
}
.contacts-item {
padding: 30px;
}
.contacts-item:first-child h3 {
font-weight: bold;
}
.contacts-item:first-child p {
font-size: 12px;
line-height: 18px;
}
.contacts-item h3 {
text-transform: uppercase;
font-size: 18px;
font-weight: normal;
}
.contacts-item p {
line-height: 24px;
} .footer {
text-transform: uppercase;
padding: 30px 0;
}
.accent-color {
color: var(--text-accent);
}
.footer a {
color: white;
text-decoration: none;
transition: 0.2s;
}
.footer a:hover {
color: white;
border-bottom: 1px solid var(--text-accent);
} .about-company {
background-size: cover;
padding: 80px 0;
}
.about-company img {
float: left;
width: 100%;
max-width: 450px;
margin-right: 15px;
margin-bottom: 15px;
}
.about-company h2 {
text-transform: uppercase;
font-size: 26px;
}
.about-company p {
line-height: 26px;
}
.pasport {
text-align: center;
color: var(--text-light);
background-size: cover;
padding: 80px 0;
}
.pasport .btn {
border-color: var(--text-light);
color: var(--text-light);
}
.pasport .btn:hover {
border-color: var(--text-accent);
}
.pasport h2 {
text-transform: uppercase;
} .catalog {
justify-content: flex-start;
align-items: flex-start;
} .door-template {
padding: 80px 0;
background-color: black;
}
.door-template .row {
align-items: flex-start;
justify-content: space-between;
flex-wrap: nowrap;
}
.door-gallery {
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
.door-gallery a {
padding: 10px;
display: block;
width: 40%;
}
.door-gallery a:first-child {
width: 80%;
}
.door-gallery img {
width: 100%;
border: 5px solid #2d2b2b;
}
.door-description h2 {
font-size: 30px;
color: var(--text-accent);
text-transform: uppercase;
}
.door-description h2 span {
color: #a3a2a2;
text-transform: lowercase;
font-size: 14px;
vertical-align: top;
}
.door-description P {
font-size: 18px;
line-height: 26px;
}
.door-description h3 {
font-size: 26px;
color: #a3a2a2;
text-transform: uppercase;
}
.door-description .btn {
margin: 0 0 15px;
}
.door-description table {
padding-left: 15px;
width: 100%;
border-collapse: collapse;
}
.door-description table td {
padding: 10px;
}
.door-description table tr {
border-bottom: 2px solid var(--text-dark);
}
.door-description table td:first-child {
width: 30%;
color: var(--text-accent);
font-weight: bold;
}
.door-description table caption {
text-align: left;
margin-top: 30px;
margin-bottom: 15px;
font-size: 26px;
color: #a3a2a2;
text-transform: uppercase;
font-weight: bold;
}
.door-description form input:not([type="submit"]),
.door-description form textarea {
display: block;
border: 1px solid var(--text-small);
width: 320px;
height: 40px;
padding: 10px;
}
.door-description form textarea {
resize: vertical;
height: 100px;
min-height: 100px;
max-height: 300px;
}
.modal-title {
color: var(--text-accent);
text-transform: uppercase;
font-size: 26px;
margin: 30px 0;
} .to-order {
background-color: black;
padding: 80px 0;
}
.to-order-card h2 {
text-align: center;
text-transform: uppercase;
color: #a3a2a2;
}
.to-order-card-inner {
display: flex;
align-items: center;
}
.to-order-card-inner img {
width: 100%;
max-width: 350px;
height: auto;
margin-right: 30px;
border: 5px solid var(--text-light);
}
.to-order-text p {
line-height: 26px;
}
.to-order-text p:last-child {
color: var(--text-accent);
}
.to-order-form {
text-align: center;
}
.to-order-form h3 {
margin: 50px 0 20px;
color: var(--text-accent);
text-transform: uppercase;
}
.to-order-form input:not([type="submit"]) {
display: block;
border: none;
width: 320px;
height: 40px;
padding: 10px;
margin: 0 auto 15px;
}
.to-order-form input.btn[type="submit"] {
display: block;
margin: 0 auto;
} .navigation.pagination {
text-align: center;
}
.page-numbers {
cursor: pointer;
padding: 15px;
font-size: 16px;
border: none;
background-color: var(--text-accent);
color: var(--text-light);
text-decoration: none;
}
.page-numbers.current,
.page-numbers:hover {
opacity: 0.8;
}
.page-numbers.prev,
.page-numbers.next,
.page-numbers.dots {
} .our-contacts {
background-color: black;
padding: 80px 0;
}
.our-contacts .row {
align-items: flex-start;
}
.contacts-block {
padding-right: 30px;
}
.contacts-inner {
display: flex;
}
.contacts-block h2 {
text-transform: uppercase;
}
.contacts-card {
border: 4px solid white;
width: 33%;
text-align: center;
padding: 20px;
margin-right: 20px;
margin-bottom: 30px;
}
.contacts-card:last-child {
margin-right: 0;
}
.contacts-card h3 {
text-transform: uppercase;
color: white;
} #cities h2 {
text-transform: uppercase;
}
.search {
border: none;
width: 100%;
height: 40px;
padding: 10px;
margin-bottom: 15px;
}
.list {
list-style: none;
padding-left: 0;
}
.list li {
border-bottom: 2px solid var(--text-accent);
line-height: 26px;
} .policy {
background-size: cover;
padding: 80px 0;
line-height: 26px;
}
.policy h2 {
text-transform: uppercase;
} .video-container {
text-align: center;
margin-bottom: 20px;
} .video-title {
font-size: 18px;
font-weight: bold;
margin-bottom: 10px;
} .small-video {
width: 400px;
transition: width 0.3s ease-in-out;
cursor: pointer;
border: 1px solid #ffffff;
} .large-video {
width: 100%;
}
.product-page {
padding: 40px 0;
background: var(--color-black);
color: var(--color-white);
}
.product-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
margin-top: 30px;
} .product-gallery {
position: relative;
}
.gallery-main {
margin-bottom: 20px;
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--color-gray-700);
cursor: pointer;
position: relative;
}
.gallery-main::after {
content: "🔍";
position: absolute;
top: 10px;
right: 10px;
background: var(--color-gray-900);
color: var(--color-white);
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.3s ease;
}
.gallery-main:hover::after {
opacity: 1;
}
.gallery-main img {
width: 100%;
height: auto;
display: block;
}
.gallery-thumbnails {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
gap: 10px;
}
.thumbnail {
border-radius: 4px;
overflow: hidden;
transition: all 0.3s ease;
border: 1px solid var(--color-gray-700);
}
.thumbnail:hover {
transform: translateY(-2px);
border-color: var(--color-white);
}
.thumbnail img {
width: 100%;
height: 80px;
object-fit: cover;
} .product-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 20px;
}
.product-title {
font-size: 2rem;
margin: 0;
color: var(--color-white);
}
.product-status {
padding: 6px 12px;
border-radius: 20px;
font-size: 0.9rem;
}
.in-stock {
background: var(--color-gray-800);
color: var(--color-gray-300);
border: 1px solid var(--color-gray-600);
}
.out-of-stock {
background: var(--color-gray-900);
color: var(--color-gray-400);
border: 1px solid var(--color-gray-700);
}
.product-price {
font-size: 2.5rem;
font-weight: bold;
color: var(--color-white);
margin: 20px 0;
}
.product-description {
color: var(--color-gray-400);
line-height: 1.6;
margin: 30px 0;
}
.product-specs {
margin: 40px 0;
}
.specs-table {
border: 1px solid var(--color-gray-700);
border-radius: 8px;
overflow: hidden;
}
.spec-row {
display: grid;
grid-template-columns: 1fr 1fr;
padding: 12px 20px;
}
.spec-row:nth-child(odd) {
background: var(--color-gray-900);
}
.spec-key {
color: var(--color-gray-500);
}
.spec-value {
font-weight: 500;
color: var(--color-white);
}
.product-downloads {
margin-top: 40px;
}
.download-buttons {
display: flex;
gap: 15px;
margin-top: 15px;
}
.download-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 24px;
background: var(--color-gray-900);
border: 1px solid var(--color-gray-700);
border-radius: 6px;
color: var(--color-white);
text-decoration: none;
transition: all 0.3s ease;
}
.download-btn:hover {
background: var(--color-gray-800);
border-color: var(--color-white);
transform: translateY(-2px);
} .product-form input:not([type="submit"]),
.product-form textarea {
background: var(--color-gray-900);
border: 1px solid var(--color-gray-700);
color: var(--color-white);
padding: 12px;
border-radius: 6px;
width: 100%;
margin-bottom: 15px;
}
.product-form input:focus,
.product-form textarea:focus {
border-color: var(--color-white);
outline: none;
}
.product-form button,
.product-form input[type="submit"] {
background: var(--color-gray-800);
color: var(--color-white);
border: 1px solid var(--color-gray-700);
padding: 12px 24px;
border-radius: 6px;
cursor: pointer;
transition: all 0.3s ease;
}
.product-form button:hover,
.product-form input[type="submit"]:hover {
background: var(--color-gray-700);
border-color: var(--color-white);
} .product-specs h3,
.product-downloads h3 {
color: var(--color-white);
font-size: 1.5rem;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid var(--color-gray-700);
} @media (max-width: 992px) {
.product-grid {
grid-template-columns: 1fr;
}
.product-header {
flex-direction: column;
gap: 15px;
}
.product-title {
font-size: 1.75rem;
}
.product-price {
font-size: 2rem;
}
.download-buttons {
flex-direction: column;
}
}
@media (max-width: 576px) {
.gallery-thumbnails {
grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
}
.thumbnail img {
height: 60px;
}
}  @media screen and (max-width: 1025px) {
.container {
max-width: 568px;
}
.col-lg-4 {
width: 33.33%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-12 {
width: 100%;
}
.header,
.advantages-cards,
.contacts {
background-size: cover;
background-position: center;
}
.about-company img {
float: none;
}
.to-order-card-inner {
flex-direction: column;
}
.portfolio .gallery a {
border: 5px solid transparent;
width: 45%;
}
.portfolio .gallery a img {
width: 100%;
}
.contacts-card {
margin-right: 10px;
padding: 10px;
}
.contacts-card img {
width: 80px;
}
.contacts-block {
padding-right: 0;
}
.menu .row > ul {
flex-direction: column;
padding-left: 10px;
}
.door-description {
order: -1;
}
} @media screen and (max-width: 825px) {
.container {
max-width: 540px;
}
.header-inner h2:before,
.header-inner h2:after,
.popular-title h2:before,
.popular-title h2:after {
width: 40px;
}
.door .name {
width: 120px;
height: 120px;
font-weight: bold;
font-size: 12px;
}
} @media screen and (max-width: 416px) {
.container {
max-width: 280px;
}
.col-sm-12 {
width: 100%;
}
.menu .row {
justify-content: center;
}
.portfolio .gallery a {
width: 100%;
text-align: center;
}
.portfolio .gallery a img {
width: auto;
height: 250px;
}
.pagination button {
padding: 8px;
}
.contacts-inner {
flex-wrap: wrap;
}
.contacts-card {
width: 100%;
}
.policy h2 {
font-size: 16px;
}
.to-order-form input:not([type="submit"]),
.door-description form input:not([type="submit"]),
.door-description form textarea {
width: 100%;
}
.to-order-card-inner img {
margin-right: 0;
}
.btn {
margin: 5px 0;
}
.door-gallery {
justify-content: center;
}
.about {
padding-bottom: 20px;
}
.advantages {
height: 150px;
}
.about-inner h2,
.advantages h2 {
font-size: 16px;
}
.header-inner h2,
.popular-title h2 {
text-align: center;
font-size: 16px;
}
.doors {
flex-wrap: wrap;
}
.header {
padding-bottom: 25px;
}
} .menu-item {
display: inline !important;
list-style: none !important;
padding: 0 !important;
margin: 0 !important;
} .page404 {
background-color: black;
padding: 150px 0;
text-align: center;
}
.page404 .error_code {
font-size: 150px;
margin: 15px 0;
}
.page404 .warning_text {
font-size: 36px;
color: var(--text-small);
}
.page404 .description_text {
font-size: 22px;
line-height: 36px;
} .information_page {
padding: 80px 0;
background-color: black;
}
.information_title h2 {
text-align: center;
text-transform: uppercase;
}
.information_grid {
justify-content: flex-start;
align-items: flex-start;
}
.information_grid .col-3 {
text-align: center;
padding: 10px;
}
.information_grid img {
max-height: 250px;
width: auto;
max-width: 100%;
}
.information_grid h3 {
font-size: 18px;
text-transform: uppercase;
}
@media screen and (max-width: 768px) {
.door-description h2 {
font-size: 20px;
}
.door-description p {
font-size: 14px;
}
.door-description table caption {
font-size: 20px;
}
.door-template .row {
flex-wrap: wrap;
flex-direction: column-reverse;
}
}
@media screen and (max-width: 1024px) {
.row {
flex-direction: column;
}
.menu .row > ul > li {
font-size: 30px;
}
.menu .phone a {
font-size: 25px;
}
.menu .logo img {
height: 90px;
width: 100%;
}
.door-gallery {
justify-content: center;
}
.door-description h2 {
font-size: 30px;
}
.door-description p {
font-size: 22px;
}
.door-description table caption {
font-size: 30px;
}
.door-template .row {
flex-wrap: wrap;
flex-direction: column-reverse;
}
} .fancybox__container {
--fancybox-bg: var(--color-gray-900);
--fancybox-color: var(--color-white);
}
.fancybox__toolbar {
--fancybox-accent: var(--color-white);
}
.fancybox__nav {
--fancybox-accent: var(--color-white);
}
.fancybox__thumbs {
background: var(--color-gray-800);