@font-face {
  font-family: 'Kadwa';
  src: url('../fonts/kadwa/Kadwa-Bold.eot');
  src: url('../fonts/kadwa/Kadwa-Bold.eot?#iefix') format('embedded-opentype'), url('../fonts/kadwa/Kadwa-Bold.woff2') format('woff2'), url('../fonts/kadwa/Kadwa-Bold.woff') format('woff'), url('../fonts/kadwa/Kadwa-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kadwa';
  src: url('../fonts/kadwa/Kadwa-Regular.eot');
  src: url('../fonts/kadwa/Kadwa-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/kadwa/Kadwa-Regular.woff2') format('woff2'), url('../fonts/kadwa/Kadwa-Regular.woff') format('woff'), url('../fonts/kadwa/Kadwa-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  font-size: 16px;
  /* Базовый размер шрифта для десктопных версий */
}
body {
  font-family: Poppins, serif;
  font-size: 1rem;
  /* Размер текста относительно базового размера шрифта */
}
/* Меньшие устройства (мобильные) */
@media (max-width: 600px) {
  :root {
    font-size: 14px;
    /* Меньший базовый размер шрифта для мобильных устройств */
  }
}
/* Планшеты */
@media (min-width: 601px) and (max-width: 1024px) {
  :root {
    font-size: 15px;
    /* Промежуточный размер шрифта для планшетов */
    line-height: 1.6;
    /* Рекомендуемый межстрочный интервал для улучшения читаемости */
  }
}
/* Большие экраны */
@media (min-width: 1025px) {
  :root {
    font-size: 16px;
    /* Возвращаемся к базовому размеру шрифта для больших экранов */
  }
}
/* Очень большие экраны, например, мониторы с высоким разрешением */
@media (min-width: 1440px) {
  :root {
    font-size: 18px;
    /* Увеличиваем размер шрифта для улучшения читаемости на больших экранах */
  }
}
html,
body {
  width: 100%;
  height: 100% !important;
  padding: 0;
  margin: 0;
  font-family: Kadwa, sans-serif;
}
body {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
}
body {
  background: #434343;
}
body header {
  border-right: 1px solid #FFF;
  border-left: 1px solid #FFF;
  box-sizing: border-box;
  max-width: 1920px;
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  background: #232323;
}
body header img {
  margin-left: 15px;
  width: 120px;
  object-fit: contain;
  padding: 10px 0;
}
body header > ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 15px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  body header > ul {
    position: absolute;
    top: 0;
    left: 140px;
    flex-flow: column nowrap;
    align-items: flex-start;
    background: #232323;
  }
}
body header > ul li {
  list-style: none;
  padding: 0 10px;
  border-bottom: 1px solid #d7b55b;
}
body header > ul li a {
  background-image: url('../images/gold.jpg');
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.011em;
  text-align: center;
}
body header > ul li a:hover {
  font-weight: bold;
}
body header > ul li.selected a {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  body header > ul li {
    display: none;
  }
}
body header > ul li.burger {
  display: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  body header > ul li.burger {
    display: block;
    border: none;
  }
}
body header .language {
  margin-right: 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.011em;
  text-align: center;
  position: relative;
}
body header .language .selected {
  background: url("../images/gold.jpg") no-repeat center center;
  border: 2px solid #000;
  padding: 3px;
  cursor: pointer;
}
body header .language ul {
  display: none;
  position: absolute;
  top: 28px;
  right: -6px;
  margin: 5px;
  padding: 0;
  background: url("../images/gold.jpg") no-repeat center center;
}
body header .language ul li {
  padding: 3px;
  margin: 0;
  list-style: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: -0.011em;
  text-align: center;
  position: relative;
  background-color: #00000088;
  border: 2px solid #000;
  box-sizing: border-box;
  cursor: pointer;
}
body header .language ul li a {
  color: #000;
  text-decoration: none;
}
body header .language ul li:hover {
  background-color: #00000000;
}
body main {
  width: 100%;
  max-width: 1920px;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
  background: url("../images/bg-main.png"), #fff;
  background-size: cover;
  border-right: 1px solid #FFF;
  border-left: 1px solid #FFF;
  box-sizing: border-box;
}
body main article {
  width: 100%;
  max-width: 1920px;
}
body main article#banner {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: flex-start;
  background: url("../images/b-main.png") no-repeat center center;
  background-size: cover;
  height: 567px;
  line-height: 250%;
}
body main article#banner .text {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  background: #23232380;
  padding: 60px;
}
@media screen and (max-width: 768px) {
  body main article#banner .text {
    padding: 30px;
  }
}
@media screen and (max-width: 425px) {
  body main article#banner .text {
    padding: 10px;
  }
}
body main article#banner .text h1 {
  background-image: url('../images/gold.jpg');
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: 64px;
  font-weight: 700;
  padding: 0;
  margin: 0 0 10px 0;
  line-height: 100%;
}
@media screen and (max-width: 425px) {
  body main article#banner .text h1 {
    font-size: 48px;
  }
}
body main article#banner .text .def p {
  color: #fff;
  max-width: 750px;
  font-size: 24px;
  font-weight: 400;
}
@media screen and (max-width: 425px) {
  body main article#banner .text .def p {
    font-size: 20px;
  }
}
body main article#banner .text .news p {
  color: #fff;
  max-width: 450px;
  font-size: 24px;
  font-weight: 400;
}
@media screen and (max-width: 425px) {
  body main article#banner .text .news p {
    font-size: 20px;
  }
}
@media screen and (max-width: 1024px) {
  body main article#banner .text .def {
    display: none;
  }
}
body main article#banner .text .news img {
  background: #fff;
  border: 5px solid #d7b55b;
  max-height: 250px;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  body main article#banner .text .news img {
    width: 300px;
  }
}
body main article#success ul {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-evenly;
  align-items: center;
  margin-top: 40px;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  body main article#success ul {
    flex-flow: row wrap;
    margin: 10px 0 50px 0;
  }
}
body main article#success ul li {
  list-style: none;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  background: url("../images/round.png") no-repeat bottom center;
}
@media screen and (max-width: 1024px) {
  body main article#success ul li {
    margin-top: 80px;
  }
}
body main article#success ul li img {
  margin: -20px 0 0 0;
  padding: 10px;
  width: 80px;
  height: 80px;
  object-fit: contain;
}
body main article#success ul li h2 {
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  padding: 0;
  margin: 0 0 50px 0;
}
body main article#success ul li h3 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
body main article#clients {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
}
body main article#clients h1 {
  font-size: 40px;
  font-weight: 700;
  color: #000;
  text-align: center;
  padding: 0;
  margin: 30px 0 0 0;
}
body main article#clients .line {
  margin-bottom: 25px;
  width: 20%;
}
body main article#clients .gallery {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
}
body main article#clients .gallery img {
  padding: 40px 40px 0 40px;
  filter: grayscale(1);
}
body main article#clients div.button {
  height: 80px;
  margin: 30px 0 20px 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
body main article#clients div.button a {
  margin-top: 20px;
  border: 5px solid #d7b55b;
  padding: 10px 20px;
  border-radius: 30px;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  line-height: 36px;
  text-decoration: none;
}
body main article#projects {
  background: #232323;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
}
body main article#projects h1 {
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 0;
  margin: 30px 0 10px 0;
}
body main article#projects .line {
  width: 20%;
}
body main article#projects ul {
  padding: 0;
  margin: 30px 0 0 0;
  display: flex;
  width: 100%;
  flex-flow: row wrap;
  justify-content: space-evenly;
  align-items: flex-start;
}
body main article#projects ul li {
  max-width: 400px;
  list-style: none;
}
body main article#projects ul li a {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
  background: url("../images/project.png") no-repeat center 90px;
  text-decoration: none;
}
body main article#projects ul li a img {
  width: 320px;
  object-fit: fill;
  border: 6px solid #000;
  filter: grayscale(100%);
}
body main article#projects ul li a h2 {
  margin-top: 50px;
  color: #fff;
  text-decoration: none;
}
body main article#projects ul li a p {
  color: #fff;
  text-decoration: none;
}
body main article#projects ul li a:hover img {
  filter: none;
}
body main article#projects div.button {
  height: 80px;
  margin: 30px 0 10px 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
body main article#projects div.button a {
  border: 5px solid #d7b55b;
  padding: 10px 20px;
  border-radius: 30px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 36px;
  text-decoration: none;
}
body main article#services {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-around;
  align-items: center;
}
body main article#services h1 {
  font-size: 40px;
  font-weight: 700;
  color: #232323;
  text-align: center;
  padding: 0;
  margin: 30px 0 10px 0;
}
body main article#services .line {
  margin-bottom: 25px;
  width: 20%;
}
body main article#services .list {
  width: 100%;
  max-width: 1280px;
  margin-top: 20px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  align-items: flex-start;
  gap: 30px;
}
body main article#services .list a.service {
  text-decoration: none;
  color: #232323;
}
body main article#services .list a.service img {
  border: 10px solid #00000088;
  width: 360px;
  max-height: 240px;
  object-fit: cover;
  box-sizing: border-box;
  filter: grayscale(100%);
}
@media screen and (max-width: 525px) {
  body main article#services .list a.service img {
    width: 300px;
    object-fit: contain;
  }
}
body main article#services .list a.service p {
  width: 360px;
  font-size: 24px;
  line-height: 24px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 525px) {
  body main article#services .list a.service p {
    font-size: 18px;
  }
}
body main article#services .list a.service:hover img {
  border: 10px solid #d7b55b;
  filter: none;
}
body main article#about {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-evenly;
  align-items: flex-start;
  background: #232323;
  margin-top: 100px;
}
@media all and (max-width: 1024px) {
  body main article#about {
    flex-flow: column-reverse nowrap;
    align-items: center;
  }
}
body main article#about .text {
  padding: 20px;
  width: 50%;
  max-width: 500px;
}
body main article#about .text h1 {
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  width: 100%;
  text-align: center;
  padding: 0;
  margin: 25px 0 10px 0;
}
body main article#about .text p {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
}
body main article#about img {
  width: 50%;
  margin-top: -100px;
}
body main article#about div.button {
  height: 80px;
  margin: 10px 0 20px 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
body main article#about div.button a {
  margin-top: 20px;
  border: 5px solid #d7b55b;
  padding: 10px 100px;
  border-radius: 30px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 36px;
  text-decoration: none;
}
body main article#certificates {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
body main article#certificates .line {
  margin: 0 0 20px 0;
}
body main article#certificates .list {
  margin-top: 20px;
  width: 100%;
  max-width: 1920px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  align-items: center;
}
body main article#certificates .list a {
  background-image: url('../images/gold.jpg');
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
body main article#certificates .list a h1 {
  color: #232323;
  font-size: 40px;
  font-weight: 700;
  padding: 0;
  margin: 30px 0 10px 0;
}
@media screen and (max-width: 525px) {
  body main article#certificates .list a h1 {
    font-size: 30px;
    object-fit: contain;
  }
}
@media screen and (max-width: 525px) {
  body main article#certificates .list a img {
    width: 300px;
    object-fit: contain;
  }
}
body main article#contacts {
  margin-top: 80px;
  background: #232323;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  padding: 0 10%;
  box-sizing: border-box;
}
body main article#contacts .text {
  z-index: 10;
  margin-top: 20px;
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
}
body main article#contacts .text h1 {
  background-image: url('../images/gold.jpg');
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: 64px;
  font-weight: 700;
  padding: 0;
  margin: 0;
}
body main article#contacts .text .line {
  width: 80%;
  margin: -20px 0 20px 0;
  background: #fff;
}
body main article#contacts img {
  margin-top: -120px;
  position: absolute;
  right: 50px;
}
@media all and (max-width: 768px) {
  body main article#contacts img {
    right: 10px;
    width: 80%;
  }
}
body main article#contacts form label input {
  background: #444444;
  border: 5px solid #d7b55b;
  padding: 10px 10px;
  border-radius: 30px;
  font-family: Poppins, serif;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  color: #fff;
  margin: 20px;
}
body main article#contacts form label input::placeholder {
  color: #fff;
  opacity: 0.7;
  /* Firefox */
}
body main article#contacts form label input::-ms-input-placeholder {
  /* Edge 12 -18 */
  color: #fff;
  opacity: 0.7;
  /* Firefox */
}
body main article#contacts form label textarea {
  background: #444444;
  border: 5px solid #d7b55b;
  padding: 10px 10px;
  border-radius: 20px;
  font-family: Poppins, serif;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  color: #fff;
  margin: 20px;
  width: 93%;
  height: 150px;
  resize: none;
}
body main article#contacts form button {
  margin: 50px 0 10px 20px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border: 5px solid #d7b55b;
  padding: 10px 50px;
  border-radius: 30px;
  color: #fff;
  background: #444444;
  font-size: 24px;
  font-weight: 700;
  line-height: 36px;
  text-decoration: none;
}
body main article#vendors {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-evenly;
  align-items: center;
}
body main article#vendors h1 {
  color: #232323;
  font-size: 64px;
  font-weight: 700;
  padding: 0;
  margin: 0 0 10px 0;
}
body main article#vendors .line {
  width: 20%;
  margin: 0 0 20px 0;
}
body main article#vendors .carousel {
  padding: 20px 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
body main article#vendors .carousel img {
  filter: grayscale(100%);
  background: #fff;
  object-fit: contain;
  width: 70px;
  height: 70px;
  box-sizing: border-box;
  padding: 3px;
}
body main article#vendors .carousel img:hover {
  filter: none;
}
body main article#vendors img {
  width: 70px;
  height: 70px;
}
body main#about_page article#banner {
  background: url("../images/b-about.png") no-repeat center center;
  background-size: cover;
}
body main#about_page article#about {
  margin: 0;
  background: #313131;
  display: flex;
  flex-flow: column nowrap;
}
body main#about_page article#about .text {
  padding: 20px;
  width: 90%;
  max-width: none;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 30px;
}
body main#about_page article#about .text h1 {
  max-width: 500px;
}
body main#about_page article#about .text line {
  max-width: 500px;
}
body main#about_page article#about .text p,
body main#about_page article#about .text li {
  font-size: 1em;
  font-weight: normal;
}
body main#about_page article#certificates {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
}
body main#about_page article#certificates .line {
  margin: 0 0 20px 0;
}
body main#about_page article#certificates ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}
body main#about_page article#certificates ul li {
  list-style: none;
}
body main#about_page article#certificates ul li img {
  width: 440px;
  height: 315px;
  padding: 4px;
  background: url("../images/gold.jpg") no-repeat;
  background-size: cover;
  box-sizing: border-box;
  object-fit: contain;
  box-shadow: 0 0 3px #000;
}
body main#projects_page article#banner {
  background: url("../images/b-projects.png") no-repeat center center;
  background-size: cover;
}
body main#projects_page article#projects {
  background: #313131;
}
body main#projects_page article#projects ul.in_page {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}
body main#projects_page article#projects ul.in_page li.item {
  list-style: none;
  color: #d7b55b;
  padding: 10px;
  margin: 10px;
  background: #1B1B1B;
  border-radius: 10px;
}
body main#projects_page article#projects ul.in_page li.item h2 {
  font-size: 18px;
}
body main#projects_page article#projects ul.in_page li.item img {
  width: 230px;
  height: 280px;
  padding: 3px;
  box-sizing: border-box;
  object-fit: cover;
}
body main#projects_page article#projects ul.in_page li.item a.button {
  border: 2px solid #d7b55b;
  border-radius: 5px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  background: #444444;
}
body main#news_page article#banner {
  background: url("../images/b-news.jpg") no-repeat center center;
  background-size: cover;
}
body main#news_page article#new {
  box-sizing: border-box;
  padding: 10px;
}
body main#news_page article#new .news-item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: flex-start;
}
@media screen and (max-width: 525px) {
  body main#news_page article#new .news-item img {
    width: 300px;
  }
}
@media screen and (max-width: 768px) {
  body main#news_page article#new .news-item {
    flex-flow: column nowrap;
  }
}
body main#news_page article#new .news-item .text {
  padding: 20px;
}
body main .line {
  background: url("../images/gold.jpg") no-repeat;
  background-size: cover;
  height: 5px;
  width: 100%;
  max-width: 1920px;
}
body main .c_info {
  background: #232323;
  box-sizing: border-box;
  padding: 10px;
  margin: 20px;
  width: calc(100% - 40px);
  max-width: 1880px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-items: flex-start;
  gap: 20px;
  color: #fff;
}
body main .c_info ul {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
}
body main .c_info ul li {
  list-style: none;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 18px;
}
body main .c_info ul li a {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  body main .c_info {
    flex-flow: column nowrap;
  }
}
body main .projects-main {
  padding: 20px;
  box-sizing: border-box;
}
body main .projects-main .project-item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 525px) {
  body main .projects-main .project-item {
    flex-flow: column-reverse nowrap;
  }
}
body main .projects-main .project-item .images {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: flex-start;
  gap: 20px;
}
body main .projects-main .project-item .images img {
  width: 220px;
  height: 220px;
  padding: 10px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 0 3px #000;
  object-fit: contain;
}
body main .projects-main .project-item .text {
  margin-left: 10px;
}
body footer {
  max-width: 1920px;
  background: #232323;
  width: 100%;
  border-right: 1px solid #FFF;
  border-left: 1px solid #FFF;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: center;
}
body footer .map img {
  width: 100%;
  box-sizing: border-box;
  max-width: 350px;
  object-fit: contain;
  padding: 5px;
  background-image: url('../images/gold.jpg');
  background-clip: padding-box;
  -webkit-background-clip: padding-box;
  color: transparent;
  font-size: 64px;
  font-weight: 700;
  margin: 0;
}
body footer h2 {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  padding: 0;
  margin: 30px 0 10px 0;
  background-image: url('../images/gold.jpg');
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
body footer ul li {
  margin: 10px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  list-style: none;
  font-family: Poppins, sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 56px;
  text-align: left;
  color: #FFF;
}
body footer ul li img {
  height: 40px;
}
body footer ul li a {
  color: #FFF;
  font-family: Poppins, sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 56px;
  text-align: left;
  text-decoration: none;
}
/*# sourceMappingURL=page.css.map */