@import url("/css/font.css");

*,
*::before,
*::after {
   box-sizing: border-box;
}

body{
   padding: 0;
   margin: 0;
   padding-top: 100px;
}
.header_desktop{
   position: fixed;
      /* фиксируем сверху */
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 18px 88px;
   margin-bottom: 32px;
   border-bottom: 1px solid #E2E2E2;
   /* position: relative; */
   top: 0;
   left: 0;
   width: 100%;
   z-index: 1000; /* выше остального контента */
   background-color:#fff;
}


/* a{
   text-decoration: none;
   color: #1E1E1E;
} */

.link_style{
   display: inline-block;
   width: 40px;
   margin-right: 20px;
}

.link-button_style{
   text-decoration: none;
   color: #1E1E1E;
}

.social-link_style{
   color: #1E1E1E;
      /* обычный цвет */
   width: 50px;
   height: 50px;
   transition: color 0.3s ease;
}


.social-link_style:hover, .social-link_style:active{
   color: #F4D800;
   filter: brightness(0) saturate(100%) invert(69%) sepia(96%) saturate(665%) hue-rotate(12deg) brightness(104%) contrast(102%);
}



.logo_style{
   width: 200px;
}

.menu_mobile{
   display: none;
}

/*  */

/* ---- Бургер ---- */
.burger {
   width: 50px;
   cursor: pointer;
   padding: 10px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: 5px;
}

.burger span {
   height: 3px;
   background: #000;
   border-radius: 3px;
   transition: 0.3s;
}

.burger.active span:nth-child(1) {
   transform: translateY(8px) rotate(45deg);
}

.burger.active span:nth-child(2) {
   opacity: 0;
}

.burger.active span:nth-child(3) {
   transform: translateY(-8px) rotate(-45deg);
}

/* ---- Выпадающее меню ---- */
.dropdown-menu {
   display: none;
   flex-direction: column;
   position: fixed;
      /* фиксируем с шапкой */
   top: 67px;
      /* сразу под шапкой */
   right: 0;
   gap: 15px;
   padding: 15px;
   width: 100%;
   overflow: hidden;
   background: #fff;
   max-height: 0;
   transition: max-height 0.35s ease;
   z-index: 1000;
   
}

.dropdown-menu a {
   padding: 10px 0;
   text-decoration: none;
   color: #111;
   border-bottom: 1px solid #eee;
}

.dropdown-menu.open {
   max-height: 400px;
   /* достаточно, чтобы все пункты уместились */
   /* padding-bottom: 15px; */
   width: 100%;
}
/*  */


.menu__item_style {
   font-family: 'IBMPlexMono-Regular';
   font-size: 20px;
   margin: 10px;
   color: #1E1E1E;
   text-decoration: none;
}

.menu__item_style:hover{
   background-color: #F4D800;
}

/* text */
.title-h1_style {
   font-family: 'StalinistOne-Regular';
   font-size: 64px;
   color: #1E1E1E;
   margin-top: 0;
   margin-bottom: 28px;
   text-shadow: 2px 4px 1px rgba(0, 0, 0, 0.15);
}

.title-h2_style {
   font-family: 'StalinistOne-Regular';
   font-size: 64px;
   margin-top: 0px;
   color: #1E1E1E;
   text-shadow: 2px 4px 1px rgba(0, 0, 0, 0.15);
}

  .title-h3_style{
      font-family: 'IBMPlexMono-Regular';
      font-size: 24px;
      text-transform: uppercase;
      color: #fff;
      margin: 10px 0;
   }

.text_style {
   font-family: 'IBMPlexMono-Regular';
   font-size: 16px;
   color: #1E1E1E;
}

.text_mobile{
   display: none;
}

.hl {
   background: #F4E000;
   padding: 2px;
   margin: 2px 0;
}


.text-inter_style{
   font-family: 'InterRegular';
   font-size: 16px;
   color: #1E1E1E;
}

.text-inter_bold{
   font-family: 'InterBold';
   font-size: 20px;
}

.text_grey{
   color: #BEBEBE;
}

.text-bold_style {
   font-family: 'StalinistOne-Regular';
   font-size: 16px;
   color: #1E1E1E;
}

.button_style {
   font-family: 'IBMPlexMono-Regular';
   font-size: 14px;
   padding: 10px;
   border-radius: 0;
   border: none;
   text-align: left;
   color: #1E1E1E;
}

.button_style-yellow {
   background-color: #F4D800;
   color: #1E1E1E;
   width: 194px;
}

.button_style-yellow:hover{
   transform: translateX(-10px); /*сдвиг влево */
   transition: opacity 0.3s ease, transform 0.5s ease;
   box-shadow:5px 5px  #df9f14;

}

.button_style-black {
   background-color: #1E1E1E;
   color: #fff;
   width: 144px;
}

/* main */

.main_style{
   display: flex;
   justify-content: left;
   align-items: center;
   margin-bottom: 152px;
}

.main__box-left_style{
   margin-right: 182px;
}


.main__img_style{
   width: 932px;
}


.main__buttons_style .button_style-yellow{
   margin-right: 36px;
}

.main__text_style{
   margin-bottom: 64px;
   width: 641px;
}

/* projects */
.projects_style{
   margin-bottom: 126px;
}
.projects__box_style{
   padding: 0 88px;
   display: flex;
   flex-direction: column;
   align-items:center;
}

.projects__list_style{
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin-bottom: 20px
}

.projects__img_style{
   width: 100%;
}

.projects__item-box_style{
   width: 384px;
   margin-right: 103px;
   margin-bottom: 54px;
}

.projects__item-box_rectangle{
   width: 384px;
   height: 216px;
   background-color:#E2E2E2;
   text-align: center;
   display: flex;
   align-items:center;
   justify-content: center;
}

.projects__text-box_style{
   margin-bottom: 36px;
}

.projects__text_span{
   margin: 0 20px;
}

.projects__txt_style{
   margin:36px 0;
}


/* services */
.services_style{
   margin-bottom: 126px;
}
.services__list_style{
   display: flex;
   margin-bottom: 72px;
}
.services__list-box_style{
   display: flex;
   flex-direction: column;
}
.services__box_style{
   padding: 0 88px;
}

.services__subtitle_style{
   margin-bottom: 54px;
}

.card {
   position: relative;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   width: 304px;
   height: auto;
   overflow: hidden;
   text-decoration: none;
   color: #000;
   background: #fff;
   transition: all 0.3s ease;
   border:#E2E2E2 solid 1px;
   margin: 0 8px;
}

.card_small{
   width: 304px;
   height: 198px;
}

.card__icon {
   position: absolute;
   top: 7px;
   right: -70px;
   width: 60%;
  
   display: flex;
   justify-content: flex-end;
   align-items: center;
   opacity: 1;
   
}


.card__content {
   position: relative;
   z-index: 2;
   padding: 20px;
   background: transparent;
}

.card__title {
   font-family: 'InterBold';
   font-size: 16px;
   text-transform: uppercase;
   color: #1E1E1E;
   font-size: 1.2rem;
   font-weight: bold;
}

.card__text {
   font-family: 'InterRegular';
   font-size: 16px;
   color: #1E1E1E;
   font-size: 0.9rem;
}

.card__img_small{
   width: 205px;
   height: 198px;
}

.card__img_style {
   max-width: 277px;
   height: 239px;
   object-fit: contain;
}


.footer_style{
   display: flex;
   padding: 0 88px;
   padding-bottom: 72px;
}

.contact__box_style{
   margin-right: 176px;
}


.contact__block_desktop{
   margin-bottom: 54px;
}

.contact__subtitle_style{
   width: 704px;
}

.contact__box-email_style{
   display: flex;
   flex-direction: column;
   align-items:flex-end;
   margin-right: 96px;
}

.contact__email_style{
   background-color: #D9D9D9;
   padding: 10px;
   border: none;
   width: 100%;
   margin-bottom: 18px;
}


.contact__social_style{
   display: flex;
   flex-direction: column;
   align-items: flex-start;
}

.contact__link_style{
   display: flex;
   align-items: center;

}

.custom-checkbox {
  appearance: none; /* Скрываем стандартный чекбокс */
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  position: relative;
}

.custom-checkbox:checked {
  background-color: #4CAF50; /* Цвет при активации */
  border-color: #4CAF50;
}

.custom-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

label {
  margin-left: 5px;
}

   .contact__box-social_style a {
      text-decoration: none;
   }


   .contact__box-social_style span:hover {
      color: #F4D800;
   }
   .contact__box-social_style span:active {
      color: #F4D800;
   }

      #toTopBtn {
         position: fixed;
         bottom: 20px;
         right: 20px;
         z-index: 9999;
         font-size: 22px;
         background-color: #333;
         color: white;
         border: none;
         outline: none;
         padding: 10px;
         font-size: 14px;
         font-family: 'IBMPlexMono-Regular';
         cursor: pointer;
         display: none;
         /* Скрыта по умолчанию */
         box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
         transition: all 0.3s ease;
      }
   
      #toTopBtn:hover {
         background-color: #555;
      }


/* brief */
.modal {
  display: none; 
  position: fixed; 
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0,0,0,0.5);
}

.modal-content {
  background: #fff;
  margin: 5% auto;
  padding: 30px;
  border-radius: 8px;
  width: 80%;
  max-width: 800px;
}

.close {
  float: right;
  font-size: 28px;
  cursor: pointer;
}

.brief-box_style{
   display: flex;
}

.brief-box__block_style{
   display: flex;
   flex-direction: column;
}

.brief-info_style{
   display: flex;
   flex-direction: column;
}

.brief-info__txt_style{
   text-transform: uppercase;
   font-family: 'IBMPlexMono-Regular';
   font-size: 16px;
   color: #1E1E1E;
}

/* .brief-info__input_style{

}
*/


/* specialoffer */
.specialoffer_style{
   margin-bottom: 90px;
}
.specialoffer__container_style{
   padding: 0 88px;
}

.specialoffer__list_style li{
   font-family: 'InterRegular';
   font-size: 16px;
}

.specialoffer__description_style{
   display: flex;

}

.price{
    pointer-events: none; /* по клику ничего не происходит */
  user-select: none; 
}


.text-inter_price{
   font-family: 'InterBold';
   font-size: 40px;
   margin: 0;
}

.text-inter_bold-title{
   font-size: 30px;
   margin: 20px 0;
}

.specialoffer__block_style{
   padding: 35px;
   width: 345px;
   margin-right: 50px;
}

.specialoffer__price-button_style{
   margin-top: 40px;
}


.specialoffer__block_yellow{
   background-color:#F4D800;
   box-shadow: 6px 6px 0 #F48200;
}

.specialoffer__block_white {
   background-color: #fff;
   border: 1px solid #1E1E1E;
   box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.15);
}

.text_descr{
   line-height: 30px;
   margin-bottom: 40px;
}

.text-inter_bold-list{
   margin: 0;
}

.specialoffer__list_style{
   padding-left: 16px;
   margin: 0;
   line-height: 30px;
}

.specialoffer__left_style{
   width: 500px;
   margin-right: 50px;
}
 
.specialoffer__right_style{
   display: flex;
}

.specialoffer__price-list_mobile {
   display: none;
}

.specialoffer__box-links_style{
   display: flex;
   margin-top: 20px;
}

/* projects-hover */

.project-card {
  position: relative;
  overflow: hidden;
 
  cursor: pointer;
}

.project-image {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

/* Слой для "кляксы" и текста */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0); /* изначально прозрачный */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.1s ease;
  clip-path: circle(0% at 50% 50%); /* начальная "клякса" */
}

.overlay-text {
  color: white;
  text-align: center;
  opacity: 0;
   transform: translateX(20px); /*сдвиг влево */
  transition: opacity 0.3s ease, transform 0.5s ease;
  padding: 0;
}

/* Наведение */
.project-card:hover .overlay {
  background: rgba(0,0,0,0.9); /* затемнение */
  clip-path: circle(150% at 50% 50%); /* "разрастание" кляксы */
}

.project-card:hover .overlay-text {
  opacity: 1;
  transform: translateX(0); /* возвращаем сдвиг */
}

/* .project-card:hover .project-image {
  transform: scale(1.05); 
} */

.overlay__book{
   width: 19px;
   height: 19px;
}

.overlay__arrow{
   width: 12px;
   height: 12px;
}
.overlay__box-main{
   width: 100%;
   padding: 0 20px;
   height: 90%;
}
.overlay__box{
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.overlay__txt{
   font-size: 14px;
   margin: 0;
   padding: 0;
}

.overlay__txt_yellow{
   color: #F4D800;
   margin-right: 10px;
}

.overlay__block{
   display: flex;
   align-items: center;
}


@media screen and (max-width: 1650px) {
   .header_desktop {
      padding: 18px 45px;     
   }
   .menu__item_style {
      font-size: 16px;
      margin: 10px;
   }
   
   .main__box-left_style{
      margin-right: 100px;
   }
   .main__img_style {
      width: 670px;
   }
   
   .main__text_style {
      margin-bottom: 40px;
      width: 600px;
   }  

   .main_style{
      margin-bottom: 90px;
   }
   

   .title-h1_style{
      font-size: 48px;
   }
   
   .title-h2_style {
      font-size: 42px;
   }

 

   .projects_style{
      margin-bottom: 80px;
   }

   .projects__box_style{
      padding: 0 80px;
      
   }

   
   .projects__item-box_style{
      width: 300px;
      margin-right: 38px;
      margin-bottom: 54px;
   }

   .projects__item-box_rectangle {
      width: 300px;
      height: 169px;

   }

   .projects__list_style {
      margin-bottom: 12px;
   }

   .services_style{
      margin-bottom: 80px;
   }

   .contact__box_style {
      margin-right: 0;
   }

   .contact__box-email_style {
      margin-right: 25px;
   }

   .contact__subtitle_style {
      width: 627px;
   }

   .footer_style {
      justify-content: space-between;
   }

}

@media screen and (max-width: 1400px){

   .specialoffer__block_mobile{
      display: flex;
   }
   .specialoffer__description_style{
      display: flex;
   }
   
   .specialoffer__left_style{
      width: 100%;
   }
   .specialoffer__price-list_mobile{
      display: flex;

   }

   .main_style{
      margin-top: 50px;
   }
   .main__img_style {
      width: 500px;
   }

   .specialoffer__price-item_style{
      width: 300px;
      margin-bottom: 30px;
   }

   .specialoffer__block_style{
      width: 280px;
      margin-right: 30px;
   }
}

@media screen and (max-width: 1250px) {
   .title-h1_style {
      font-size: 44px;
   }
   
   .title-h2_style {
      font-size: 38px;
   }
   
   .main__box-left_style {
      margin-right: 66px;
   }

   .main__img_style {
       width: 449px;
   }

   .main__text_style {
      margin-bottom: 40px;
      width: 495px;
   }

   .specialoffer__price-item_style {
      width: auto;
      margin-bottom: 30px;
  }
  .specialoffer__container_style {
     padding: 0 40px;
  }
}

@media screen and (max-width: 1160px) {
   .main__img_style {
      width: 410px;
   }
   
   .title-h1_style {
      font-size: 38px;
   }
   
   .main__box-left_style {
      margin-right: 44px;
   }
   
   .text_style {
      font-size: 14px;
   }
}



@media screen and (max-width: 800px){
   .menu_mobile{
      display: flex;
   }
   .text_desktop{
      display: none;
   }
   .text_mobile{
      display: inline;
   }
   .menu_style{
      display: none;
   }
   .header_desktop {
      padding: 14px;
   }

   .dropdown-menu{
      display: flex;
   }
   .logo_style{
      width: 140px;
   }
   .button_style-yellow{
      text-decoration: none;
      text-align: center;
      width: 150px;
   }

   .button_style-yellow:hover{
      transform: none; /*сдвиг влево */
      background-color:#f0ab18;
      transition: opacity 0.3s ease, transform 0.5s ease;
      box-shadow:none;

   }

   .button_style-yellow a{
      text-decoration: none;
      color:#1E1E1E;
      width: auto;
   }
   .title-h1_style {
      font-size: 32px;
   }
   .title-h2_style {
      font-size: 32px;
   }
   .main_style{
      flex-direction: column;
      margin-bottom: 60px;
   }
   .main__img_style {
      width: 100%;
   }
   .main__box-left_style{
      margin-right: 0;
   }
   .main__box-right_style{
      padding: 0 18px;
   }
   .main__text_style{
      width: auto;
   }
   .projects__box_style{
      padding: 0 18px;
   }
   .projects__item-box_style{
      margin-right: 0;
      width: 100%;
   }
   .contact__subtitle_style {
      width: auto;
   }
   .contact__box-social_style{
      display: flex;
      align-items:flex-start;
      justify-content: flex-start;
   }

   .contact__social-box{
      margin-right: 20px;
   }

  
   .form-mail_style{
      display: flex;
      flex-direction: column;

   }
   .contact__email_style{
      width: 100%;
   }
   .footer_style {
      flex-direction: column;
      padding: 18px;
   }

   .text-inter_bold-title {
      font-size: 25px;
      margin: 20px 0;
   }

   .specialoffer__container_style {
      padding: 0 20px;
   }

   .specialoffer__right_style {
      flex-direction: column;
      
   }
   .specialoffer__block_style{
      margin-bottom: 30px;
      margin-right: 0;
      width: 345px;
   }
}

@media (max-width:470px){
   .title-h1_style {
      font-size: 30px;
   }
   .title-h2_style {
      font-size: 26px;
   }
   .text_style{
      font-size: 14px;
   }

   .text-inter_bold-title{
      font-size: 18px;
   }

   .text-inter_price{
      font-size: 30px;
   }

   .text-inter_bold{
      font-size: 16px;
   }
   .main__img_style {
      width: 85%;
   }
   .specialoffer__description_style{
      width: 100%;
   }
   .specialoffer__block_style {
      margin-bottom: 30px;
      width: auto;
      padding: 25px;
   }
   .specialoffer__box_style{
      width: 100%;
   }
   .specialoffer__list_style li{
      font-size: 14px;
   }
}


@media  (max-width: 380px) {
   .title-h1_style {
      font-size: 30px;
   }
   .title-h2_style {
      font-size: 26px;
   }
   .text_style{
      font-size: 14px;
   }

}

@media screen and (max-width: 340px) {
   .title-h1_style {
      font-size: 28px;
   }

   .title-h2_style {
      font-size: 24px;
   }

}