Compare commits

...

43 Commits

Author SHA1 Message Date
Kirill Pet 078f77b44b fix log 8 months ago
Kirill Pet 5bb2a18ae3 создал addClosePhoneMenu для создания кнопки в меню для телефона 8 months ago
Kirill Pet 9ec0db852e fix 8 months ago
Kirill Pet 86eb54bb5c написал fetch для search 8 months ago
Kirill Pet 5b0a62233e переделал меню phone на ul 8 months ago
Kirill Pet a68e12af2f переделал меню pc на ul 8 months ago
Kirill Pet d272e126ad fix allowTouchMove 8 months ago
Kirill Pet d04ff5db02 fisx "/assets" > "assets" 8 months ago
Kirill Pet 9422a0c347 сделал открытие меню при наведении 8 months ago
Kirill Pet ae087de19f сделал уникальные swiper-reviews-img 8 months ago
Kirill Pet 29021ee1e5 fix маски телефона 8 months ago
Kirill Pet 74fb21358e сделал swiper-reviews-img 8 months ago
Kirill Pet 81faffc0a1 сделал pc меню 8 months ago
Kirill Pet 3df5fbf291 fix маска html 8 months ago
Kirill Pet 7983a28c7a fix (скрол блок, маска, тел. поиск, прин согл.) 8 months ago
Kirill Pet d7f32deadf fix 3 8 months ago
Kirill Pet 0f3b5cd7e8 fix 2 8 months ago
Kirill Pet ff26f2213c fix 1 8 months ago
Kirill Pet ac728ce829 поченил slider phone => pc 8 months ago
Kirill Pet 6bf3962541 сделал js для modal 8 months ago
Kirill Pet 9fc5e1cb5f сделал эффекты button 8 months ago
Kirill Pet dec1a3b62a сделал js search 8 months ago
Kirill Pet f32e1eb3fb сделал js для открытия меню 8 months ago
Kirill Pet ce39d4028e доделал основу адаптивности 8 months ago
Kirill Pet abc8f59a8e сделал services с адаптивностью 8 months ago
Kirill Pet c007fff12e сделал адаптивность text-form 8 months ago
Kirill Pet 6ae52a7795 сделал адаптивность reviews 8 months ago
Kirill Pet f801ab4569 сделал адаптивность free 8 months ago
Kirill Pet 352e1ead99 сделал адаптивность для how 8 months ago
Kirill Pet b155852f9c сделал адаптивность для projects 8 months ago
Kirill Pet 6bc4c7213c переделал js для открытия элементов в how 8 months ago
Kirill Pet 96948651b2 сделал how js для пк 8 months ago
Kirill Pet 8ec1dd88d6 сделал reviews для пк 8 months ago
Kirill Pet c082f320f6 сделал free и text-form для пк 8 months ago
Kirill Pet d07d972c10 сделал projects и how, а также input для ПК 8 months ago
Kirill Pet dd58ea60e5 сделал services и call сделал пк версии 8 months ago
Kirill Pet 077f5baf53 сделал gym с адаптивностью 8 months ago
Kirill Pet cd23fb02ae сделал space с адаптивностью 8 months ago
Kirill Pet bf2dd875e0 сделал header и footer для планшетов 8 months ago
Kirill Pet 72ea7506a3 сделал header и footer для лептопов 8 months ago
Kirill Pet 73acc61c2b сделал footer для пк и телефон 8 months ago
Kirill Pet 3396d6e974 сделал header для пк 8 months ago
Kirill Pet 13da123645 сделал header для телефона 8 months ago
  1. 483
      assets/css/gp-style-core.css
  2. 1087
      assets/css/gp-style-desktop.css
  3. 76
      assets/css/gp-style-mobile.css
  4. 791
      assets/css/gp-style-tablet.css
  5. BIN
      assets/fonts/ProximaNova-Bold.ttf
  6. BIN
      assets/fonts/ProximaNova-Bold.woff
  7. BIN
      assets/fonts/ProximaNova-Bold.woff2
  8. BIN
      assets/fonts/ProximaNova-Light.ttf
  9. BIN
      assets/fonts/ProximaNova-Light.woff
  10. BIN
      assets/fonts/ProximaNova-Light.woff2
  11. BIN
      assets/fonts/ProximaNova-Regular.ttf
  12. BIN
      assets/fonts/ProximaNova-Regular.woff
  13. BIN
      assets/fonts/ProximaNova-Regular.woff2
  14. BIN
      assets/fonts/ProximaNova-Semibold.ttf
  15. BIN
      assets/fonts/ProximaNova-Semibold.woff
  16. BIN
      assets/fonts/ProximaNova-Semibold.woff2
  17. 3
      assets/img/icon/arrow-bottom.svg
  18. 3
      assets/img/icon/arrow-right.svg
  19. 3
      assets/img/icon/close.svg
  20. 3
      assets/img/icon/device-phone.svg
  21. 3
      assets/img/icon/menu-hamburger.svg
  22. 3
      assets/img/icon/paper-clip.svg
  23. 4
      assets/img/icon/pin.svg
  24. 3
      assets/img/icon/red-arrow.svg
  25. 3
      assets/img/icon/search.svg
  26. 7
      assets/img/icon/services-1.svg
  27. 4
      assets/img/icon/services-2.svg
  28. 5
      assets/img/icon/services-3.svg
  29. 8
      assets/img/icon/services-4.svg
  30. 3
      assets/img/icon/services-5.svg
  31. 3
      assets/img/icon/slider-left.svg
  32. 3
      assets/img/icon/slider-righ.svg
  33. 4
      assets/img/icon/square.svg
  34. 23
      assets/img/main/logo.svg
  35. BIN
      assets/img/photo/gym-1.png
  36. BIN
      assets/img/photo/gym-2.png
  37. BIN
      assets/img/photo/gym-3.png
  38. BIN
      assets/img/photo/header-menu-search.png
  39. BIN
      assets/img/photo/how-1.png
  40. BIN
      assets/img/photo/how-2.png
  41. BIN
      assets/img/photo/how-3.png
  42. BIN
      assets/img/photo/projects-1.png
  43. BIN
      assets/img/photo/projects-2.png
  44. BIN
      assets/img/photo/projects-3.png
  45. BIN
      assets/img/photo/projects-4.png
  46. BIN
      assets/img/photo/review.png
  47. BIN
      assets/img/photo/reviews-person.png
  48. BIN
      assets/img/photo/reviews.png
  49. BIN
      assets/img/photo/space.png
  50. 3
      assets/img/social/YouTube.svg
  51. 3
      assets/img/social/telegram.svg
  52. 3
      assets/img/social/whatsapp.svg
  53. 3
      assets/img/social/yandex-zen.svg
  54. 3
      assets/img/social/Вконтакте.svg
  55. 449
      assets/js/main.js
  56. 1338
      index.html
  57. 13
      заготовки

@ -1,16 +1,487 @@
/* Переменные, шрифты, UI kit */
@font-face {
font-family: "Proxima Nova";
src: local("Proxima Nova Bold"),
local("ProximaNova-Bold"),
url("/assets/fonts/ProximaNova-Bold.woff2") format("woff2"),
url("/assets/fonts/ProximaNova-Bold.woff") format("woff"),
url("/assets/fonts/ProximaNova-Bold.ttf") format("ttf");
font-weight: 700;
}
@font-face {
font-family: "Proxima Nova";
src: local("Proxima Nova Semibold"),
local("ProximaNova-Semibold"),
url("/assets/fonts/ProximaNova-Semibold.woff2") format("woff2"),
url("/assets/fonts/ProximaNova-Semibold.woff") format("woff"),
url("/assets/fonts/ProximaNova-Semibold.ttf") format("ttf");
font-weight: 600;
}
@font-face {
font-family: "Proxima Nova";
src: local("Proxima Nova Regular"),
local("ProximaNova-Regular"),
url("/assets/fonts/ProximaNova-Regular.woff2") format("woff2"),
url("/assets/fonts/ProximaNova-Regular.woff") format("woff"),
url("/assets/fonts/ProximaNova-Regular.ttf") format("ttf");
font-weight: 400;
}
@font-face {
font-family: "Proxima Nova";
src: local("Proxima Nova Light"),
local("ProximaNova-Light"),
url("/assets/fonts/ProximaNova-Light.woff2") format("woff2"),
url("/assets/fonts/ProximaNova-Light.woff") format("woff"),
url("/assets/fonts/ProximaNova-Light.ttf") format("ttf");
font-weight: 300;
}
/*
ШАБЛОН использования глобальных переменных:
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--main-text: #e1667c;
--main-color: #8da6cb;
--font-family: "Craftwork Grotesk", sans-serif;
--font-family: "Proxima Nova", sans-serif;
--red: #d3241d;
--blood: #ae0b05;
--background-main: #111114;
--background-grey: #2a2a2d;
--background-grey-hover: #46464a;
--link: #86868b;
--text-white: #fff;
}
body{
background-color: var(--background-main);
font-family: var(--font-family);
}
.modal{
position: fixed;
top: 0;
height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(17, 17, 20, .8);
z-index: 100;
pointer-events: none;
transition: opacity .3s;
opacity: 0;
}
.modal.active{
pointer-events: auto;
opacity: 1;
}
.modal__item{
padding: 88px 64px;
background-color: var(--background-main);
position: relative;
display: none;
}
.modal__item.active{
display: block;
}
/* text */
.title-1{
font-weight: 700;
text-transform: uppercase;
color: var(--text-white);
}
.title-2{
font-weight: 700;
color: var(--text-white);
text-decoration: none;
}
.title-3{
font-weight: 700;
color: var(--text-white);
text-decoration: none;
}
.title-4{
font-weight: 700;
color: var(--text-white);
text-decoration: none;
}
.title--center{
text-align: center;
}
.text-1{
font-weight: 400;
color: var(--text-white);
}
.text-2{
font-weight: 400;
color: var(--text-white);
}
.text-3{
font-weight: 400;
color: var(--text-white);
text-transform: uppercase;
}
.text--bo-line{
text-decoration: none;
}
/* text */
/* components */
.btn-social{
margin-left: 16px;
width: 40px;
aspect-ratio: 1;
padding: 8px;
display: flex;
align-items: center;
border-radius: 4px;
background-color: var(--background-grey);
transition: background-color .3s;
cursor: pointer;
}
.btn-social:first-child{
margin-left: 0;
}
.btn-social:hover{
background-color: var(--background-grey-hover);
}
.btn-social:active{
background-color: var(--background-grey-hover);
}
.btn-social> img{
width: 24px;
aspect-ratio: 1;
}
.btn-big{
display: block;
padding: 22.5px 32px;
*/
font-weight: 400;
font-size: 16px;
text-transform: uppercase;
color: var(--text-white);
text-decoration: none;
text-align: center;
border-radius: 4px;
transition: background-color .3s;
background-color: rgba(17, 17, 20, 0);
cursor: pointer;
border: none;
}
.btn-big--border{
padding: 21px 32px;
border: 1px solid;
}
.btn-big--border--blood{
border-color: var(--blood);
}
.btn-big--border--blood:hover{
background-color: var(--red);
}
.btn-big--border--blood:active{
background-color: var(--blood);
}
.btn-big--border--white{
border-color: var(--text-white);
}
.btn-big--border--white:hover{
background-color: var(--background-grey-hover);
}
.btn-big--border--white:active{
background-color: rgba(17, 17, 20, 0);
}
.btn-big--blood{
background-color: var(--blood);
}
.btn-big--blood:hover{
background-color: var(--red);
}
.btn-big--blood:active{
background-color: var(--blood);
}
.btn-big--social{
padding-right: 66px;
background-position: top 20px right 34px;
background-size: 24px;
background-repeat: no-repeat;
}
.btn-big--tg{
background-image: url(/assets/img/social/telegram.svg);
}
.btn-big--ws{
background-image: url(/assets/img/social/whatsapp.svg);
}
.btn--100-per{
width: 100%;
}
.link{
font-weight: 400;
text-transform: uppercase;
text-decoration: underline;
text-decoration-skip-ink: none;
color: var(--link);
}
.input__block{
display: flex;
flex-direction: column;
border-radius: 4px;
position: relative;
}
.input__label{
position: absolute;
top: 14px;
left: 24px;
font-size: 12px;
color: var(--link);
text-transform: uppercase;
transition: all 0.3s;
pointer-events: none;
}
.input__field{
height: 64px;
padding: 31px 24px 14px 24px;
height: 64px;
background-color: var(--background-grey-hover);
border: none;
border-radius: 4px;
font-weight: 400;
font-size: 16px;
color: var(--text-white);
outline: none;
transition: all 0.3s;
}
.input__field:hover{
border: 1px solid var(--text-white);
}
.input__field:focus{
border: 1px solid var(--text-white);
}
.input__field:placeholder-shown + .input__label{
top: 22.5px;
left: 24px;
font-weight: 400;
font-size: 16px;
color: var(--text-white);
}
.input__field:focus + .input__label{
top: 14px;
left: 24px;
font-size: 12px;
color: var(--link);
}
.input__field:not(:placeholder-shown):invalid{
border: 1px solid #ef120a;
}
.input__error{
margin-top: 16px;
font-weight: 400;
font-size: 12px;
text-transform: uppercase;
color: var(--text-white);
display: none;
}
.form.checked .input__error{
display: block;
}
.form__item{
margin-top: 16px;
}
.form__item:first-child{
margin-top: 0;
}
.form__item--two{
display: flex;
justify-content: space-between;
}
.form__item--two .input__block{
width: calc(50% - 8px);
}
.form__additional{
margin-top: 32px;
display: flex;
align-items: center;
}
.form__additional input[type="file"]{
display: none;
}
.form-additional__text{
margin-left: 16px;
}
.form input[type=submit]{
margin-top: 32px;
width: 100%;
border: none;
}
.form__link{
margin-left: 6px;
font-size: 16px;
text-transform: uppercase;
text-decoration: underline;
text-decoration-skip-ink: none;
color: var(--link);
}
.form__file{
display: flex;
align-items: center;
}
.form__mini-btn{
background-color: var(--background-grey-hover);
border: none;
transition: all .3s;
}
.form__mini-btn:hover{
opacity: .8;
}
.form__checkbox{
display: none;
}
.form__checkbox:checked + .form-checkbox__square{
border-color: var(--blood);
background-image: url(/assets/img/icon/red-arrow.svg);
background-repeat: no-repeat;
background-position: center;
}
.form.checked .form__checkbox:invalid + .form-checkbox__square{
border-color: var(--blood);
}
.form__checkbox-block{
display: flex;
align-items: center;
}
.form-checkbox__square{
width: 18px;
aspect-ratio: 1;
border-radius: 4px;
border: 1.50px solid var(--text-white);
cursor: pointer;
}
/* components */
/* header */
.header__logo{
width: 74px;
height: 64px;
background-image: url(/assets/img/main/logo.svg);
background-repeat: no-repeat;
background-size: contain;
}
/* header */
/* footer */
.footer__logo{
width: 74px;
height: 64px;
}
.footer__menu{
display: flex;
}
.footer-menu__list{
list-style-type: none;
font-weight: 400;
text-transform: uppercase;
color: var(--text-white);
}
.footer-menu__list a{
color: var(--text-white);
text-decoration: none;
}
.footer__text{
margin-top: 24px;
font-weight: 400;
color: var(--text-white);
}
.footer__text:first-child{
margin-top: 0;
}
.footer__text--no-line{
text-decoration: none;
}
.footer__media{
margin-top: 24px;
display: flex;
align-items: center;
}
.footer__review{
width: 309px;
height: 146px;
}
.footer__about{
font-weight: 400;
font-size: 16px;
text-transform: uppercase;
color: var(--link);
}
/* footer */

File diff suppressed because it is too large Load Diff

@ -1,5 +1,81 @@
/* Стили для мобильных устройств */
@media only screen and (max-width: 576px) {
/* component */
.link{
font-size: 14px;
}
/* footer */
.footer{
padding: 40px 16px;
}
.footer__wrapper{
padding: 0;
display: block;
}
.footer__item{
margin-top: 40px;
}
.footer__item:nth-child(2){
margin-left: 0;
}
.footer__contact .footer__item:nth-child(2),
.footer__contact .footer__item:nth-child(3){
margin-top: 40px;
}
.footer__contact{
display: block;
}
.footer__contact .footer__item{
margin-left: 0;
}
.footer-menu__item{
margin-left: 53px;
}
.footer-menu__item:first-child{
margin-left: 0;
}
.footer-menu__list{
font-size: 14px;
}
.footer-menu__list li{
margin-top: 16px;
}
.footer-menu__list li:first-child{
margin-top: 0;
}
.footer__text{
display: block;
font-size: 18px;
}
.footer__about{
display: flex;
flex-direction: column;
align-items: start;
}
.footer-about__link{
margin-top: 24px;
}
/* footer */
}
/* services */
@media only screen and (max-width: 576px) {
.services__content .title-4{
margin-bottom: 0;
}
.services__item .text-2{
display: none;
}
}
/* services */
/* call */
.call .title-3{
font-size: 20px;
}
/* call */

@ -1,5 +1,796 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
.wrapper{
width: 100%;
}
.phone--hone{
display: none;
}
/* text */
.title-1{
font-size: 32px;
}
.title-2{
font-size: 32px;
}
.title-3{
font-size: 32px;
}
.title-4{
font-size: 20px;
}
.text-1{
font-size: 18px;
}
.text-2{
font-size: 16px;
}
/* text */
/* component */
.btn-big{
padding: 23.5px 19.5px;
font-size: 14px;
}
/* component */
/* header */
.header{
padding: 24px 16px;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
.header__wrapper{
padding: 0;
}
.header__phone{
display: flex;
align-items: center;
}
.header-phone__item{
margin-left: 24px;
width: 32px;
height: 32px;
transition: opacity .3s;
}
.header-phone__item > img{
width: 100%;
height: 100%;
}
.header-phone__item:first-child{
margin-left: 0;
}
.header-phone__item:active{
opacity: .8;
}
.button-menu{
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
.button-menu__open{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: opacity .3s;
}
.phone-menu{
position: absolute;
top: 0px;
right: 0;
left: 0;
height: 0;
width: 100%;
background-color: var(--background-main);
z-index: 10;
overflow: hidden;
transition: all .3s;
}
.phone-menu.active{
height: 100vh;
overflow-y: auto;
}
/* .phone-menu__block-content{
height: 0;
overflow: hidden;
z-index: 10;
transition: all .5s;
} */
.phone-menu__content{
padding: 104px 16px 40px 16px;
position: relative;
}
.phone-menu__sub{
position: absolute;
top: 0;
left: 100%;
width: 100%;
height: 100%;
padding: 104px 16px 40px 16px;
background-color: var(--background-main);
transition: all .5s;
overflow-y: auto;
}
.phone-menu__sub.open{
left: 0;
}
.phone-menu__sub > li:nth-child(2) a{
font-weight: 700;
font-size: 32px;
}
.phone-menu-content__close{
position: absolute;
top: 40px;
right: 16px;
width: 32px;
aspect-ratio: 1;
background-image: url(/assets/img/icon/close.svg);
background-repeat: no-repeat;
background-position: center;
background-color: var(--background-main);
border: none;
}
.phone-menu__block{
margin-top: 32px;
}
.phone-menu__title{
font-weight: 700;
font-size: 32px;
color: var(--text-white);
}
.phone-menu__list{
list-style-type: none;
font-weight: 400;
font-size: 14px;
text-transform: uppercase;
color: var(--text-white);
}
.phone-menu__list a{
font-weight: 400;
font-size: 14px;
text-transform: uppercase;
color: var(--text-white);
text-decoration: none;
}
.phone-menu__list li{
margin-top: 24px;
}
.phone-menu__list li:first-child{
margin-top: 0;
}
.phone-menu--next{
display: block;
background-image: url(/assets/img/icon/arrow-right.svg);
background-repeat: no-repeat;
background-position: center right;
}
.phone-menu__text{
margin-top: 24px;
display: block;
font-weight: 400;
font-size: 16px;
color: var(--text-white);
}
.phone-menu__text:first-child{
margin-top: 0;
}
.phone-menu__text > a {
color: var(--text-white);
}
.phone-menu__text--no-line{
text-decoration: none;
}
.phone-social{
margin-top: 24px;
display: flex;
align-items: center;
}
.phone-menu{
display: block;
}
.phone-search{
position: absolute;
top: 112px;
left: 0;
width: 100%;
height: 0;
display: block;
transition: all .3s;
overflow: hidden;
}
.phone-search.active{
height: 79px;
}
.phone-search.hidden{
overflow: visible;
}
.phone-search__content{
padding: 16px;
background-color: var(--background-grey-hover);
}
.phone-search__input{
width: 100%;
padding: 14.5px 23px;
font-weight: 400;
font-size: 14px;
text-transform: uppercase;
color: var(--text-white);
border: 1px solid var(--text-white);
border-radius: 4px;
background-color: rgba(0, 0, 0, 0);
outline: none;
}
.phone-search__input::placeholder{
color: var(--link);
}
.phone-search__found{
position: absolute;
top: 95px;
left: 16px;
right: 16px;
max-height: 256px;
width: calc(100% - 32px);
padding: 16px;
background-color: var(--background-grey-hover);
border-radius: 4px;
overflow-y: auto;
display: none;
}
.phone-search__found.active{
display: block;
}
.phone-search__item{
}
.phone-search__item{
margin-top: 24px;
display: flex;
}
.phone-search__item:first-child{
margin-top: 0;
}
.phone-search-item__img{
width: 64px;
aspect-ratio: 1;
border-radius: 8px;
}
.phone-search-item__content{
margin-left: 16px;
}
.phone-search-item__art{
margin-top: 8px;
color: var(--link);
}
.phone__open-search{
width: 32px;
aspect-ratio: 1;
overflow: hidden;
border: none;
background-color: rgba(0, 0, 0, 0);
}
.phone__open-search.active img:first-child{
display: none;
}
/* header */
/* footer */
.footer{
margin-top: 96px;
}
.footer__wrapper{
padding: 0 16px;
justify-content: start;
}
.footer__item:nth-child(2){
margin-left: 38px;
}
.footer__contact{
margin-top: 20px;
flex-wrap: wrap;
}
.footer__contact .footer__item:nth-child(3){
margin-top: 20px;
margin-left: 0;
width: 100%;
}
/* footer */
}
/* footer */
@media only screen and (max-width: 829px) {
.footer__about{
flex-direction: column;
}
}
@media only screen and (max-width: 630px) {
.footer__wrapper{
justify-content: center;
}
.footer__contact{
flex-direction: column;
justify-content: center;
}
.footer__contact .footer__item:nth-child(2){
margin-top: 20px;
margin-left: 0;
}
}
/* footer */
main{
padding: 0 16px;
}
/* space */
@media only screen and (max-width: 992px) {
.space{
margin-top: 32px;
}
.space__content{
margin-top: 24px;
flex-direction: column;
align-items: center;
}
.space__consultation{
order: 1;
margin-left: 0;
max-width: 100%;
width: 100%;
}
.space__consultation .btn-big{
margin-top: 40px;
}
.space__statistics{
order: 2;
margin-top: 40px;
width: auto;
height: auto;
padding: 0;
flex-wrap: wrap;
justify-content: space-between;
}
.space-statistics__img{
position: static;
width: 100%;
min-height: 300px;
}
.space-statistics__item{
margin-top: 16px;
margin-left: 0;
width: calc(50% - 8px);
height: 160px;
background: #2a2a2d;
}
}
/* space */
@media only screen and (max-width: 992px) {
.main__item{
margin-top: 96px;
}
}
/* gym */
@media only screen and (max-width: 992px) {
.gym{
margin: 40px -16px 0 0;
overflow: hidden;
}
.gym .swiper-wrapper{
flex-wrap: nowrap;
}
.gym .swiper-slide:nth-child(3){
display: flex;
flex-direction: column-reverse;
}
.gym__item{
margin: 0;
flex-direction: column-reverse;
height: auto;
}
.gym-item__img, .gym-item__text{
max-width: 100%;
width: 100%;
height: 179px;
}
.gym-item__img{
margin-top: 24px;
}
.gym-item-text__header .text-1{
margin-bottom: 5px;
}
.gym-item-text__header .title-2{
margin-left: 8px;
}
}
/* gym */
/* projects */
@media only screen and (max-width: 992px) {
.projects{
overflow: hidden;
margin: 0;
}
.projects .swiper-wrapper{
margin: 40px 0 0 0;
flex-wrap: nowrap;
}
.projects__item{
margin: 0;
width: 100% !important;
}
.projects-item__img{
height: 200px;
}
.projects-item__content{
padding: 16px;
min-height: auto;
}
.projects-item__tag{
margin-left: 24px;
}
.projects-item__text{
margin-top: 16px;
}
.projects-item__text .text-1{
font-size: 20px;
}
.projects__next{
display: none;
}
.projects__counter{
margin-top: 40px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 400;
font-size: 18px;
color: var(--text-white);
}
.projects .swiper-button-next::after, .projects .swiper-button-prev::after{
position: static;
font-size: 0;
}
.projects .swiper-button-next, .projects .swiper-button-prev{
position: static;
margin-top: 0;
width: 32px;
height: 32px;
}
.projects .swiper-button-next{
margin-left: 40px;
background-image: url(/assets/img/icon/slider-righ.svg);
background-repeat: no-repeat;
}
.projects .swiper-button-prev{
margin-right: 40px;
background-image: url(/assets/img/icon/slider-left.svg);
background-repeat: no-repeat;
}
}
/* projects */
/* how */
@media only screen and (max-width: 992px) {
.how{
margin-top: 40px;
}
.how__content{
display: none;
}
.how__control{
width: 100%;
}
.how-control__item{
flex-direction: column;
align-items: start;
}
.how-control-item__number{
width: 40px;
font-size: 20px;
}
.how-control__item__name{
margin-top: 16px;
margin-left: 0;
max-width: 100%;
font-size: 20px;
}
.how-content__item-block{
position: static;
}
.how-content__item-block.active{
margin-top: 16px;
}
.how-content__item{
padding: 16px;
}
.how-content-item__text{
width: 100%;
}
.how-content-item__img{
display: none;
}
}
/* how */
/* free */
@media only screen and (max-width: 992px) {
.free{
padding: 40px 16px 39px 16px;
}
.free__content{
margin-top: 40px;
width: 100%;
}
.form__item--two{
flex-direction: column;
}
.form__item--two .input__block{
width: 100%;
}
.form__item--two .input__block:nth-child(2){
margin-top: 16px;
}
.form__additional,
.form input[type=submit]{
margin-top: 24px;
}
.form__checkbox-block{
align-items: start;
}
.free .title-1{
text-align: center;
}
}
/* reviews */
@media only screen and (max-width: 992px) {
.reviews__item{
padding-bottom: 71px;
flex-direction: column;
}
.reviews-item-content-header__img{
width: 80px;
height: 80px;
}
.reviews-item-content-header__block{
margin-left: 16px;
flex-direction: column;
}
.reviews-item-content-header__item .text-2{
margin-top: 12px;
}
.reviews-item-content-header__item:nth-child(2){
margin-top: 12px;
justify-content: start;
}
.reviews-item-content__text{
margin-top: 24px;
}
.reviews-item__img{
margin-top: 24px;
margin-left: 0;
height: 300px;
width: 100%;
}
.reviews-item__img-block{
margin-top: 24px;
margin-left: 0;
height: 300px;
width: 100%;
}
.swiper-reviews-img{
height: 100%;
}
.reviews-item__img-block .swiper-slide{
width: 100%;
height: 100%;
}
.reviews-item__img-block .swiper-slide img{
width: 100%;
height: 100%;
object-fit: cover;
}
.reviews .swiper-pagination{
bottom: 87px;
padding-right: 0px;
text-align: center;
}
.reviews .swiper-pagination-bullet{
width: 53px;
}
}
/* reviews */
/* text-form */
@media only screen and (max-width: 992px) {
.text-form__form{
display: none;
}
.text-form__content .text-2{
margin-top: 24px;
}
}
/* text-form */
/* services */
@media only screen and (max-width: 992px) {
.services{
margin: 40px 0 0 0;
}
.services__item{
margin: 24px 0 0 0;
padding: 16px;
height: auto;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.services__item:nth-child(n){
width: 100%;
}
.services__item:first-child{
margin-top: 0;
}
.services__img{
width: 40px;
}
.services__content{
min-height: auto;
}
.services__content .title-4{
margin-top: 24px;
/* margin-bottom: 0; */
}
.services__item .text-2{
/* display: none; */
}
}
/* services */
/* call */
@media only screen and (max-width: 992px) {
.call{
padding: 40px 16px 39px 16px;
}
.call__content{
margin-top: 40px;
width: 100%;
height: auto;
flex-direction: column;
}
.call__item{
margin-top: 24px;
}
.call__item:first-child{
margin-top: 0;
}
.call__item a{
margin-top: 24px;
}
.call__item a:first-child{
margin-top: 0;
}
}
/* call */
/* modal */
.modal__item{
padding: 64px 16px;
}
.modal__item > .form{
padding: 40px 0 0 0;
}
.modal-item__close{
top: 20px;
right: 20px;
}
.modal__item .text--bo-line.form__link{
margin-top: 6px;
margin-left: 0;
}
/* modal */
@media only screen and (max-width: 992px) {}

Binary file not shown.

@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 6L8 10L4 6" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 187 B

@ -0,0 +1,3 @@
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 4.5L10 8.5L6 12.5" stroke="white" stroke-width="1.55" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 194 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7 25L16 16M16 16L25 7M16 16L25 25M16 16L7 7" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 217 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.7303 20.2701C20.574 29.1138 23.1655 26.9975 24.3228 26.1706C24.51 26.0644 28.7936 23.3042 26.1295 20.6407C19.9506 14.4612 21.2043 22.4932 15.3545 16.6446C9.50604 10.7947 17.5388 12.0494 11.3598 5.87056C8.69544 3.20623 5.9349 7.49023 5.8299 7.67609C5.00198 8.83351 2.88653 11.4265 11.7303 20.2701Z" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 473 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25.3334 9.3335L6.66675 9.33352M25.3334 16.0002H6.66675M25.3334 22.6668H6.66675" stroke="white" stroke-width="1.55" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 253 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.9998 8.11765L8.05874 14.0587C7.26274 14.8547 7.26274 16.1453 8.05874 16.9413C8.85476 17.7373 10.1454 17.7373 10.9414 16.9413L18.3078 9.57484C19.7947 8.08801 19.7945 5.67732 18.3073 4.19077C16.8206 2.70461 14.4107 2.70483 12.9242 4.19127L5.55775 11.5577C3.38049 13.735 3.38049 17.265 5.55775 19.4423C7.73502 21.6196 11.2651 21.6196 13.4424 19.4423L18.8846 14" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19 10.2647C19 13.1109 15.4774 17.8245 13.43 20.3238C12.6809 21.2382 11.3191 21.2382 10.57 20.3238C8.52261 17.8245 5 13.1109 5 10.2647C5 6.25252 8.13401 3 12 3C15.866 3 19 6.25252 19 10.2647Z" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
<path d="M14.6004 10.0001C14.6004 11.436 13.4363 12.6001 12.0004 12.6001C10.5645 12.6001 9.40039 11.436 9.40039 10.0001C9.40039 8.56408 10.5645 7.40002 12.0004 7.40002C13.4363 7.40002 14.6004 8.56408 14.6004 10.0001Z" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 641 B

@ -0,0 +1,3 @@
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 3.5L3.75 6.25L9.25 0.749999" stroke="#AE0B05" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 227 B

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.2551 20.6112L26.6671 25.9998M23.9999 13.9998C23.9999 8.84518 19.8213 4.6665 14.6666 4.6665C9.51193 4.6665 5.33325 8.84518 5.33325 13.9998C5.33325 19.1545 9.51193 23.3332 14.6666 23.3332C19.8213 23.3332 23.9999 19.1545 23.9999 13.9998Z" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 411 B

@ -0,0 +1,7 @@
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M55 7.33325V43.9999C55 48.0333 51.7 51.3333 47.6667 51.3333H7.33337V21.9999C7.33337 13.8966 13.8967 7.33325 22 7.33325H55Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.6667 51.3333V62.3333C80.6667 68.4199 75.7534 73.3333 69.6667 73.3333H66C66 69.2999 62.7 65.9999 58.6667 65.9999C54.6334 65.9999 51.3334 69.2999 51.3334 73.3333H36.6667C36.6667 69.2999 33.3667 65.9999 29.3334 65.9999C25.3 65.9999 22 69.2999 22 73.3333H18.3334C12.2467 73.3333 7.33337 68.4199 7.33337 62.3333V51.3333H47.6667C51.7 51.3333 55 48.0333 55 43.9999V18.3333H61.7467C64.3867 18.3333 66.8067 19.7633 68.1267 22.0366L74.3967 32.9999H69.6667C67.65 32.9999 66 34.6499 66 36.6666V47.6666C66 49.6833 67.65 51.3333 69.6667 51.3333H80.6667Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M29.3333 80.6667C33.3834 80.6667 36.6667 77.3834 36.6667 73.3333C36.6667 69.2832 33.3834 66 29.3333 66C25.2832 66 22 69.2832 22 73.3333C22 77.3834 25.2832 80.6667 29.3333 80.6667Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M58.6667 80.6667C62.7168 80.6667 66 77.3834 66 73.3333C66 69.2832 62.7168 66 58.6667 66C54.6166 66 51.3334 69.2832 51.3334 73.3333C51.3334 77.3834 54.6166 80.6667 58.6667 80.6667Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.6667 44V51.3333H69.6667C67.65 51.3333 66 49.6833 66 47.6667V36.6667C66 34.65 67.65 33 69.6667 33H74.3967L80.6667 44Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,4 @@
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M44 55C50.0751 55 55 50.0751 55 44C55 37.9249 50.0751 33 44 33C37.9249 33 33 37.9249 33 44C33 50.0751 37.9249 55 44 55Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.33337 47.2266V40.7733C7.33337 36.9599 10.45 33.8066 14.3 33.8066C20.9367 33.8066 23.65 29.1133 20.3134 23.3566C18.4067 20.0566 19.5434 15.7666 22.88 13.8599L29.2234 10.2299C32.12 8.5066 35.86 9.53326 37.5834 12.4299L37.9867 13.1266C41.2867 18.8833 46.7134 18.8833 50.05 13.1266L50.4534 12.4299C52.1767 9.53326 55.9167 8.5066 58.8134 10.2299L65.1567 13.8599C68.4934 15.7666 69.63 20.0566 67.7234 23.3566C64.3867 29.1133 67.1 33.8066 73.7367 33.8066C77.55 33.8066 80.7034 36.9233 80.7034 40.7733V47.2266C80.7034 51.0399 77.5867 54.1933 73.7367 54.1933C67.1 54.1933 64.3867 58.8866 67.7234 64.6433C69.63 67.9799 68.4934 72.2333 65.1567 74.1399L58.8134 77.7699C55.9167 79.4933 52.1767 78.4666 50.4534 75.5699L50.05 74.8733C46.75 69.1166 41.3234 69.1166 37.9867 74.8733L37.5834 75.5699C35.86 78.4666 32.12 79.4933 29.2234 77.7699L22.88 74.1399C19.5434 72.2333 18.4067 67.9433 20.3134 64.6433C23.65 58.8866 20.9367 54.1933 14.3 54.1933C10.45 54.1933 7.33337 51.0399 7.33337 47.2266Z" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,5 @@
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39.4146 60.6667H35.2439L31.0732 57.1944M21.3415 30.1111H27.5746C28.5726 30.1111 29.2456 31.1306 28.8524 32.0471L25.5122 39.8333M58.878 27.3333L50.5366 49.5556M70 19L63.4656 26.8336C63.2015 27.1502 62.8102 27.3333 62.3976 27.3333H50.5366M27.6542 69H58.8942C62.7243 69 65.8293 65.8981 65.8293 62.0717C65.8293 59.4994 64.4027 57.1388 62.1242 55.9407L34.4793 41.405C24.7209 36.274 13 43.3434 13 54.3601C13 62.4455 19.5609 69 27.6542 69ZM31.0732 53.7222C31.0732 56.0234 29.2059 57.8889 26.9024 57.8889C24.599 57.8889 22.7317 56.0234 22.7317 53.7222C22.7317 51.421 24.599 49.5556 26.9024 49.5556C29.2059 49.5556 31.0732 51.421 31.0732 53.7222Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M84.3332 58.5566C84.3332 72.7466 72.8565 84.2233 58.6665 84.2233L62.5165 77.8066" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.66663 29.2233C3.66663 15.0333 15.1433 3.55664 29.3333 3.55664L25.4833 9.97331" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,8 @@
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M66 26.2533C65.78 26.2166 65.5233 26.2166 65.3033 26.2533C60.2433 26.0699 56.21 21.9266 56.21 16.7933C56.21 11.5499 60.4266 7.33325 65.67 7.33325C70.9133 7.33325 75.1299 11.5866 75.1299 16.7933C75.0933 21.9266 71.06 26.0699 66 26.2533Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M62.2233 52.9467C67.2466 53.79 72.7833 52.91 76.67 50.3067C81.84 46.86 81.84 41.2134 76.67 37.7667C72.7466 35.1634 67.1366 34.2833 62.1133 35.1633" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M21.89 26.2533C22.11 26.2166 22.3667 26.2166 22.5867 26.2533C27.6467 26.0699 31.68 21.9266 31.68 16.7933C31.68 11.5499 27.4633 7.33325 22.22 7.33325C16.9767 7.33325 12.76 11.5866 12.76 16.7933C12.7967 21.9266 16.83 26.0699 21.89 26.2533Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M25.6667 52.9467C20.6434 53.79 15.1067 52.91 11.22 50.3067C6.05003 46.86 6.05003 41.2134 11.22 37.7667C15.1434 35.1634 20.7534 34.2833 25.7767 35.1633" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44 53.6434C43.78 53.6067 43.5233 53.6067 43.3033 53.6434C38.2433 53.4601 34.21 49.3167 34.21 44.1834C34.21 38.9401 38.4266 34.7234 43.67 34.7234C48.9133 34.7234 53.13 38.9767 53.13 44.1834C53.0933 49.3167 49.06 53.4967 44 53.6434Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M33.33 65.1933C28.16 68.64 28.16 74.2866 33.33 77.7333C39.1967 81.6566 48.8033 81.6566 54.67 77.7333C59.84 74.2866 59.84 68.64 54.67 65.1933C48.84 61.3067 39.1967 61.3067 33.33 65.1933Z" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,3 @@
<svg width="88" height="88" viewBox="0 0 88 88" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M69.3333 77C75.4085 77 80.3333 72.0751 80.3333 66C80.3333 59.9249 75.4085 55 69.3333 55M69.3333 77C63.2582 77 58.3333 72.0751 58.3333 66C58.3333 59.9249 63.2582 55 69.3333 55M69.3333 77H14.7632C10.4757 77 7 73.5243 7 69.2368C7 65.3002 9.9465 61.9867 13.8562 61.5267L69.3333 55M69.3333 55L58.3333 22M69.3333 11L49.6911 28.8566C49.3537 29.1633 48.914 29.3333 48.4579 29.3333H34.5M71.1667 66C71.1667 64.9875 70.3459 64.1667 69.3333 64.1667C68.3208 64.1667 67.5 64.9875 67.5 66M71.1667 66C71.1667 67.0125 70.3459 67.8333 69.3333 67.8333C68.3208 67.8333 67.5 67.0125 67.5 66M71.1667 66H67.5" stroke="#F2F2F2" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 784 B

@ -0,0 +1,3 @@
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22.5 4L10.5 16L22.5 28" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 196 B

@ -0,0 +1,3 @@
<svg width="33" height="32" viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5 4L22.5 16L10.5 28" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 196 B

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.3273 10.3274L7.00001 7M7.00001 7H9.21823M7.00001 7L7 9.21825M13.6726 13.6726L17 17M17 17H14.7817M17 17V14.7818M10.3273 13.6726L7.00001 17M7.00001 17H9.21823M7.00001 17L7 14.7818M13.6726 10.3274L17 7M17 7H14.7817M17 7V9.21825" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
<path d="M15.1 2.5H8.9C6.65979 2.5 5.53969 2.5 4.68404 2.93597C3.93139 3.31947 3.31947 3.93139 2.93597 4.68404C2.5 5.53969 2.5 6.65979 2.5 8.9V15.1C2.5 17.3402 2.5 18.4603 2.93597 19.316C3.31947 20.0686 3.93139 20.6805 4.68404 21.064C5.53969 21.5 6.65979 21.5 8.9 21.5H15.1C17.3402 21.5 18.4603 21.5 19.316 21.064C20.0686 20.6805 20.6805 20.0686 21.064 19.316C21.5 18.4603 21.5 17.3402 21.5 15.1V8.9C21.5 6.65979 21.5 5.53969 21.064 4.68404C20.6805 3.93139 20.0686 3.31947 19.316 2.93597C18.4603 2.5 17.3402 2.5 15.1 2.5Z" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 983 B

@ -0,0 +1,23 @@
<svg width="222" height="192" viewBox="0 0 222 192" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2_549)">
<mask id="mask0_2_549" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="222" height="192">
<path d="M222 0H0V192H222V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_2_549)">
<path d="M11.4147 156.631V164.699H26.4437V176.018H11.4147V191.049H0V145.312H11.4147H26.7449V156.631H11.4147Z" fill="white"/>
<path d="M43.2515 145.312H31.8369V191.019H43.2515V145.312Z" fill="white"/>
<path d="M78.0935 156.631H68.3352V191.049H57.0108V156.631H47.2525V145.312H68.3352H78.0935V156.631Z" fill="white"/>
<path d="M116.742 145.312V191.049H107.977L93.5208 167.398V191.049H82.106V145.312H90.9607L105.417 168.963V145.312H116.742Z" fill="white"/>
<path d="M151.221 180.067V191.049H127.308H123.814V145.312H135.229H150.89V156.293H135.229V162.766H149.294V173.134H135.229V180.067H151.221Z" fill="white"/>
<path d="M153.87 176.417H165.285C165.285 179.607 167.122 180.926 170.887 180.926C174.26 180.926 175.585 179.546 175.585 177.797C175.585 175.497 172.393 174.454 168.568 173.227C162.334 171.202 154.443 168.012 154.443 158.41C154.443 149.085 161.581 144.361 169.863 144.361C178.266 144.361 185.735 148.931 185.735 159.637H174.381C174.381 157.03 172.965 155.465 169.863 155.465C167.122 155.465 165.857 156.784 165.857 158.41C165.857 160.956 168.929 161.999 172.875 163.38C179.049 165.405 186.94 168.533 186.94 178.012C186.94 187.338 179.802 192.062 170.827 192.062C161.52 192 153.87 187.43 153.87 176.417Z" fill="white"/>
<path d="M188.899 176.417H200.314C200.314 179.607 202.151 180.926 205.916 180.926C209.289 180.926 210.615 179.546 210.615 177.797C210.615 175.497 207.422 174.454 203.597 173.227C197.363 171.202 189.472 168.012 189.472 158.41C189.472 149.085 196.61 144.361 204.892 144.361C213.295 144.361 220.764 148.931 220.764 159.637H209.44C209.44 157.03 208.024 155.465 204.922 155.465C202.181 155.465 200.916 156.784 200.916 158.41C200.916 160.956 203.989 161.999 207.934 163.38C214.108 165.405 221.999 168.533 221.999 178.012C221.999 187.338 214.861 192.062 205.886 192.062C196.549 192 188.899 187.43 188.899 176.417Z" fill="white"/>
<path d="M222 94.1133H151.674H79.2405H68.5184H60.2362H54.3328H44.5445H43.4603H36.6536H34.696V110.525L23.9739 94.1133H15.6915V128.624H25.4799V111.752L36.6838 128.624H43.4905H151.674H222V94.1133ZM0 94.1133H9.78836V128.624H0V94.1133Z" fill="#AE0B05"/>
<path d="M221.97 1.19636H200.646H173.57V6.62597H194.894V77.2111H200.646V6.62597H221.97V1.19636ZM145.109 78.3768C157.788 78.3768 168.661 70.6771 168.661 58.4069C168.661 44.6333 156.403 40.6147 145.199 36.1668C135.591 32.4857 126.978 29.2034 126.978 19.3258C126.978 11.1967 133.815 5.55233 143.603 5.55233C153.512 5.55233 160.77 11.5341 160.77 20.7369H166.432C166.432 7.82234 155.891 0 143.633 0C131.586 0 121.346 7.4849 121.346 19.3258C121.346 33.774 133.604 37.4551 144.808 41.8111C154.295 45.4003 162.939 48.8666 162.939 58.4069C162.939 66.996 155.469 72.8551 145.139 72.8551C133.001 72.8551 124.99 66.6586 124.99 56.1367H119.237C119.207 70.3397 130.622 78.3768 145.109 78.3768ZM74.1204 71.7506V41.5658H106.859V36.1361H74.1204V6.62597H109.509V1.19636H74.1204H68.4582V77.1804H70.8978H110.021V71.7506H74.1204ZM29.3049 71.7506H5.66218V41.5351H32.8888C43.9723 41.5351 48.7309 49.02 48.7309 56.6275C48.7309 67.3949 40.3582 71.7506 29.3049 71.7506ZM29.8772 6.62597C43.6409 6.62597 46.3517 15.798 46.2613 20.7675C46.1108 28.866 38.7619 36.1054 33.1599 36.1054H5.66218V6.62597H29.8772ZM42.0447 37.7314C44.0325 35.7679 51.7128 32.363 51.8934 20.7675C51.9837 14.0802 48.1586 1.19636 29.8772 1.19636H5.66218H0V77.1804H1.05413H30.0276C43.5507 77.1804 54.4533 70.7998 54.4533 56.6275C54.4835 47.4247 51.1103 41.2284 42.0447 37.7314Z" fill="white"/>
</g>
</g>
<defs>
<clipPath id="clip0_2_549">
<rect width="222" height="192" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.58364 19.1684H19.4163C21.401 19.1684 23.008 17.4219 23 15.2543V8.25102C23 6.09212 21.401 4.33691 19.4163 4.33691H4.58364C2.60702 4.33691 1 6.08334 1 8.25102V15.2543C1 17.4132 2.59898 19.1684 4.58364 19.1684ZM9.65166 8.04453L15.8914 11.6427L9.65166 15.2409V8.04453Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 436 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22.009 3C22.687 3 23.1984 3.61218 22.9248 4.75084L19.6065 20.8512C19.3745 21.996 18.7025 22.2715 17.7748 21.7389L9.85949 15.7211C9.82879 15.6985 9.80379 15.6686 9.78654 15.634C9.76928 15.5994 9.76029 15.5611 9.76029 15.5222C9.76029 15.4833 9.76928 15.445 9.78654 15.4104C9.80379 15.3758 9.82879 15.3459 9.85949 15.3232L18.9999 6.82613C19.4162 6.44658 18.9107 6.26293 18.3636 6.60575L6.89198 14.056C6.85719 14.0794 6.81769 14.0943 6.77648 14.0996C6.73526 14.1049 6.69341 14.1004 6.65411 14.0866L1.78359 12.5011C0.701256 12.1766 0.701256 11.4114 2.02742 10.8665L21.5154 3.12856C21.67 3.05223 21.8378 3.00852 22.009 3Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 745 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.7163 3.71939C20.7469 4.6862 21.5587 5.80806 22.1242 7.05762C22.7079 8.3619 23.0089 9.73915 22.9998 11.1711C22.9998 12.594 22.6988 13.9803 22.1151 15.2755C21.5496 16.5251 20.7378 17.6469 19.7072 18.6137C18.6765 19.5805 17.4817 20.3285 16.15 20.8575C14.7728 21.4047 13.3134 21.6783 11.8085 21.6783C10.1941 21.6783 8.65269 21.3682 7.20247 20.748L2.35017 22.9097L3.26225 17.9388C1.55665 16.0417 0.626335 13.652 0.626335 11.162C0.626335 9.73915 0.927341 8.35278 1.51108 7.05762C2.07657 5.80806 2.88831 4.6862 3.91897 3.71939C4.94963 2.75258 6.14446 2.00467 7.4761 1.47566C8.85335 0.928411 10.3127 0.654785 11.8176 0.654785C13.3226 0.654785 14.7819 0.928411 16.1592 1.47566C17.4908 2.00467 18.6856 2.7617 19.7163 3.71939ZM15.2927 12.7855C15.539 12.8767 15.8856 13.0226 16.3598 13.2598C16.4878 13.3255 16.6223 13.3807 16.7579 13.4363C16.9799 13.5275 17.2049 13.6198 17.4087 13.7614C17.5729 13.9803 17.6185 14.1627 17.5091 14.6461C15.3566 20.2098 4.77639 12.1379 6.53672 7.8967C6.82858 7.23087 7.53997 5.95395 8.78041 6.59241C8.97433 6.68938 9.05553 6.89505 9.13634 7.09976C9.17716 7.20315 9.21788 7.30629 9.27297 7.39505C9.39301 7.64655 9.52378 7.93387 9.63612 8.18069C9.70304 8.32772 9.76342 8.46037 9.81109 8.56252C9.82607 8.61683 9.85605 8.6769 9.88934 8.74361C10.0182 9.00181 10.1966 9.35943 9.74723 9.8668C9.7084 9.94122 9.62135 10.0352 9.52641 10.1376C9.35375 10.324 9.15498 10.5385 9.17263 10.715C9.31857 10.9795 9.99351 11.9646 10.3583 12.3112C11.1792 13.1047 12.2281 13.88 13.3591 14.0989C13.626 13.9974 13.8835 13.6367 14.1317 13.2891C14.3075 13.0428 14.4787 12.8031 14.6451 12.6669C14.7543 12.5811 15.0367 12.6886 15.2133 12.7559C15.2433 12.7673 15.2702 12.7775 15.2927 12.7855Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7357 13.7357C12.3214 15.195 12.225 17.0143 12.0964 21C15.8121 21 18.3771 20.9871 19.7014 19.7014C20.9871 18.3771 21 15.69 21 12.0964C17.0143 12.225 15.195 12.3214 13.7357 13.7357ZM11.9036 21C8.18786 21 5.62286 20.9871 4.29857 19.7014C3.01286 18.3771 3 15.69 3 12.0964C6.98571 12.225 8.805 12.3214 10.2643 13.7357C11.6786 15.195 11.775 17.0143 11.9036 21ZM10.2643 10.2643C8.805 11.6786 6.98571 11.775 3 11.9036C3 8.31 3.01286 5.62286 4.29857 4.29857C5.62286 3.01286 8.19429 3 11.9036 3C11.775 6.98571 11.6786 8.805 10.2643 10.2643ZM12.0964 3C12.2186 6.98571 12.3214 8.805 13.7357 10.2643C15.195 11.6786 17.0143 11.775 21 11.9036C21 8.31 20.9871 5.62286 19.7014 4.29857C18.3771 3.01286 15.8121 3 12.0964 3Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 877 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.0789 17.9498C13.0789 17.9498 13.476 17.9077 13.6793 17.6988C13.8655 17.5075 13.859 17.1464 13.859 17.1464C13.859 17.1464 13.8343 15.4602 14.6531 15.2112C15.4601 14.9664 16.4964 16.8418 17.596 17.563C18.4267 18.1083 19.0573 17.9889 19.0573 17.9889L21.9959 17.9498C21.9959 17.9498 23.5325 17.8593 22.804 16.704C22.7437 16.6093 22.379 15.8491 20.6197 14.2874C18.7764 12.6526 19.0239 12.917 21.2427 10.0889C22.5942 8.36672 23.1343 7.3153 22.9654 6.86572C22.8051 6.43569 21.8108 6.54989 21.8108 6.54989L18.5031 6.56943C18.5031 6.56943 18.2578 6.53754 18.076 6.64145C17.8984 6.7433 17.7833 6.98095 17.7833 6.98095C17.7833 6.98095 17.2603 8.31322 16.562 9.44694C15.0889 11.8378 14.5003 11.9644 14.2593 11.8162C13.6987 11.4695 13.8386 10.4253 13.8386 9.68356C13.8386 7.36571 14.2066 6.39968 13.123 6.14969C12.7636 6.06636 12.4989 6.01183 11.5789 6.00257C10.3985 5.99126 9.4 6.00669 8.83401 6.27109C8.4574 6.44701 8.16688 6.84 8.34442 6.86264C8.56285 6.89041 9.05782 6.99021 9.32037 7.33176C9.65932 7.77311 9.64748 8.7628 9.64748 8.7628C9.64748 8.7628 9.84224 11.4911 9.19233 11.8296C8.74685 12.0621 8.13567 11.5878 6.82185 9.41814C6.14934 8.30705 5.64146 7.07868 5.64146 7.07868C5.64146 7.07868 5.54354 6.84926 5.36815 6.72581C5.15617 6.57664 4.86027 6.53034 4.86027 6.53034L1.71721 6.54989C1.71721 6.54989 1.24484 6.56223 1.0716 6.75873C0.917726 6.93259 1.05976 7.2937 1.05976 7.2937C1.05976 7.2937 3.52062 12.7987 6.30751 15.5734C8.86306 18.1165 11.764 17.9498 11.764 17.9498H13.0789Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,449 @@
'use strict';
const gymSwiper = new Swiper('.gym-swiper', {
direction: 'horizontal',
breakpoints: {
320:{
slidesPerView: 1.20,
spaceBetween: 24,
},
996: {
slidesPerView: 3
},
}
});
const reviewsSwiper = new Swiper('.reviews-swiper', {
spaceBetween: 24,
allowTouchMove: false,
// If we need pagination
pagination: {
el: '.swiper-pagination',
},
// Navigation arrows
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// And if we need scrollbar
scrollbar: {
el: '.swiper-scrollbar',
},
runCallbacksOnInit: true,
// === new change
on: {
slideChange: function(){
let offer = document.querySelector('#numberReviews');
offer.innerHTML = (this.activeIndex + 1);
}
}
})
let swiperReviews = document.querySelectorAll('.swiper-reviews-img');
let reviewsSwiperImgs = {};
swiperReviews.forEach((review, index) => {
let newClass = `swiper-reviews-img-${index}`;
review.classList.add(newClass);
reviewsSwiperImgs[index] = new Swiper(`.${newClass}`, {
pagination: {
el: ".swiper-pagination",
clickable: true,
renderBullet: function (index, className) {
return '<span class="' + className + '">' + "</span>";
},
},
});
})
const projectsSwiper = new Swiper('.projects-swiper', {
direction: 'horizontal',
breakpoints: {
320:{
slidesPerView: 1,
spaceBetween: 24,
},
996: {
slidesPerView: 10
},
},
// Navigation arrows
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
runCallbacksOnInit: true,
// === new change
on: {
slideChange: function(){
let offer = document.querySelector('#numberProjects');
offer.innerHTML = (this.activeIndex + 1);
}
}
});
// how
let itemButtons = document.querySelectorAll('.how-control__item');
itemButtons.forEach((button) => {
let num = button.dataset.num;
button.onclick = function name(params, index) {
let activeContent = document.querySelector('.how-content__item-block.active'),
activeButton = document.querySelector('.how-control__item.active');
if (activeContent.dataset.num == button.dataset.num) return;
activeContent.style.height = `${activeContent.offsetHeight}px`;
setTimeout(() => {
activeContent.style.height = '0px';
activeContent.classList.remove('active');
activeButton.classList.remove('active');
let newActive = document.querySelector(`.how-content__item-block[data-num='${num}']`),
newButton = document.querySelector(`.how-control__item[data-num='${num}']`);
setTimeout(() => {
let newHeight = newActive.querySelector('.how-content__item').offsetHeight + 'px';
newActive.style.height = newHeight;
newActive.classList.add('active');
newButton.classList.add('active');
setTimeout(() => {
newActive.style.height = 'auto';
}, 300);
}, 300);
}, 0);
}
})
let screenWidth = window.screen.width;
if (screenWidth <= 992) {
howPhone();
}else{
howPc();
}
function howPc() {
if (document.querySelector('.how__content').querySelector('.how-content__item-block')) {
return;
}
let blocks = document.querySelectorAll('.how-content__item-block'),
content = document.querySelector('.how__content');
blocks.forEach(block => {
content.appendChild(block)
});
}
function howPhone() {
if (!document.querySelector('.how__content').querySelector('.how-content__item-block')) {
return;
}
let buttons = document.querySelectorAll('.how-control__item');
buttons.forEach(button => {
let num = button.dataset.num,
block = document.querySelector(`.how-content__item-block[data-num='${num}']`);
button.after(block);
});
}
// how end
// phone menu
addClosePhoneMenu('.phone-menu__content');
addClosePhoneMenu('.phone-menu__sub');
let btnOpenMenu = document.querySelector('.button-menu__open');
btnOpenMenu.onclick = function () {
let block = document.querySelector('.phone-menu'),
content = document.querySelector('.phone-menu__content'),
contentHeight = content.offsetHeight + 'px';
block.style.height = contentHeight;
}
let closeMenu = document.querySelector('.phone-menu-content__close');
closeMenu.onclick = function () {
let block = document.querySelector('.phone-menu');
block.style.height = '0px';
}
let phoneList = document.querySelectorAll('.phone-menu__list');
phoneList.forEach(list => {
let elementList = list.querySelectorAll('li');
elementList.forEach(element => {
let nextList = element.querySelector('.phone-menu__sub');
if (nextList) {
let button = element.querySelector('a');
button.onclick = function () {
nextList.classList.add('open')
}
nextList.querySelector('.phone-menu-content__close').onclick = function () {
nextList.classList.remove('open')
}
}
})
})
function addClosePhoneMenu(classAdd) {
document.querySelectorAll(classAdd).forEach(element => {
let button = document.createElement('button');
button.className = "phone-menu-content__close";
let referenceElement = element.firstElementChild;
element.insertBefore(button, referenceElement);
})
}
// phone menu end
// search
let openBtnSearch = document.querySelector('.header-menu-search__open'),
blockSearchPc = document.querySelector('.header-menu__search');
openBtnSearch.onclick = function () {
blockSearchPc.classList.toggle('active');
}
let btnOpenSearchPhone = document.querySelector('.phone__open-search'),
searchPhone = document.querySelector('.phone-search');
btnOpenSearchPhone.onclick = function () {
if (!searchPhone.classList.contains('hidden')) {
setTimeout(() => {
searchPhone.classList.add('hidden');
}, 300);
}else{
searchPhone.classList.remove('hidden');
}
btnOpenSearchPhone.classList.toggle('active');
searchPhone.classList.toggle('active');
}
// pc
let inputSearchPc = document.querySelector('.header-menu-search__input'),
btnSearchPc = document.querySelector('.header-menu-search__btn');
btnSearchPc.onclick = function () {
let value = inputSearchPc.value,
newPost = {
value: value,
};
postSearch(newPost, 'pc');
}
// phone
let inputSearchPhone = document.querySelector('.phone-search__input');
inputSearchPhone.addEventListener('input', function(event) {
let value = event.target.value,
newPost = {
value: value,
};
postSearch(newPost, 'phone');
});
function postSearch(newPost, device) {
let contentPc = document.querySelector('.header-menu-search__found'),
contentPhone = document.querySelector('.phone-search__found');
fetch('http://jsonplaceholder.typicode.com/posts', {
method: 'POST',
// body: JSON.stringify(newPost),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then((data) => {
if (device == 'pc') {
contentPc.innerHTML = '';
contentPc.innerHTML = `<div class="header-menu-search__item">
<img src="assets/img/photo/header-menu-search.png" alt="" class="header-menu-search-item__img">
<div class="header-menu-search-item__content">
<p class="text-2">Беговая дорожка механическая DRAXFIT+</p>
<p class="header-menu-search-item__art text-2">Артикул:&nbsp;STP1000C</p>
</div>
</div>`;
contentPc.classList.add('active');
}else{
contentPhone.innerHTML = '';
contentPhone.innerHTML = `<div class="phone-search__item">
<img src="assets/img/photo/header-menu-search.png" alt="" class="phone-search-item__img">
<div class="phone-search-item__content">
<p class="text-2">Беговая дорожка механическая DRAXFIT+</p>
<p class="phone-search-item__art text-2">Артикул:&nbsp;STP1000C</p>
</div>
</div>`;
contentPhone.classList.add('active');
}
}).catch(
() => {
if (device == 'pc') {
postError(contentPc);
}else{
postError(contentPhone);
}
}
)
}
function postError(divContent) {
divContent.innerHTML = ''
let p = document.createElement("p");
p.textContent = "Произошла ошибка"
p.className = "header-menu-search__error text-2";
divContent.appendChild(p);
}
// search end
// open-modal
let openModals = document.querySelectorAll('.open-modal'),
modal = document.querySelector('.modal');
openModals.forEach(openModal => {
let modalName = openModal.dataset.modal;
openModal.onclick = function () {
let modalItem = document.querySelector(`.modal__item.${modalName}`);
modalItem.classList.add('active');
modal.classList.add('active');
}
})
modal.onclick = function (event) {
if (event.srcElement.classList.contains('modal')) {
document.querySelector(`.modal__item.active`).classList.remove('active');
modal.classList.remove('active');
}
}
let itemModels = document.querySelectorAll('.modal__item');
itemModels.forEach(item => {
let btnClose = item.querySelector('.modal-item__close');
btnClose.onclick = function () {
item.classList.remove('active');
modal.classList.remove('active');
}
})
// open-modal end
// masks
let phoneInputs = document.querySelectorAll('.input__field[type=phone]');
phoneInputs.forEach(phoneInput => {
phoneInput.onfocus = function (event) {
let value = phoneInput.value;
if (value.length == 0) {
phoneInput.value = '+7 '
}
}
phoneInput.addEventListener('input', function(event) {
let value = phoneInput.value,
data = event.data,
length = value.length;
if (value.charAt(0) == '+' && length == 1) return;
if (isNaN(data)) {
phoneInput.value = value.slice(0, -1);
}
if (typeof data != 'object') {
if (length == 2 || length == 6 || length == 10) {
phoneInput.value = value + ' ';
}
if (length == 3 || length == 7 || length == 11) {
if (data != ' ') {
phoneInput.value = value.slice(0, -1) + ' ' + data;
}
}
}
if (length <= 3) {
phoneInput.value = '+7 '
}
});
})
// masks end
// pc menu
let listMenu = document.querySelectorAll('.header-menu__list > li');
listMenu.forEach(li => {
if (li.querySelector('.header-menu-list__next')) {
let nextButton = li.querySelector('.header-menu-list__next'),
sub = li.querySelector('.header-menu-list__sub');
nextButton.addEventListener('mouseover', function (event) {
let openSubMenu = document.querySelector('.header-menu-list__sub.open');
if (openSubMenu) {
openSubMenu.classList.remove('open');
}
sub.classList.add('open');
})
sub.addEventListener('mouseout', function (event) {
if (event.relatedTarget.offsetParent.tagName != 'UL') {
sub.classList.remove('open');
}
})
};
})
// pc menu end
// resize
window.addEventListener('resize', () => {
let screenWidth = window.screen.width;
if (screenWidth <= 992) {
howPhone();
}else{
howPc();
}
});

File diff suppressed because it is too large Load Diff

@ -0,0 +1,13 @@
<!-- Пример формы для отправки в Телеграмм (обработчик send-telegram.php) -->
<!-- <form class="form" method="post" action="/send-telegram.php">
<div class="form__item">
<input class="form__input" type="text" name="name" required>
<label class="form__label">Ваше имя</label>
</div>
<div class="form__item">
<input class="form__input" type="text" name="phone" required>
<label class="form__label">Номер телефона</label>
</div>
<input class="form__input btn" type="submit" value="Отправить">
</form> -->
Loading…
Cancel
Save