diff --git a/package.json b/package.json index 815dff28a..d53214150 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "w3c-html-validator": "1.7.0" }, "dependencies": { - "swiper": "11.1.1" + "swiper": "^11.1.1" }, "engines": { "node": "^18.18 || ^20.9" diff --git a/source/favicon.ico b/source/favicon.ico new file mode 100644 index 000000000..d4e87e460 Binary files /dev/null and b/source/favicon.ico differ diff --git a/source/fonts/Montserrat-Bold.woff b/source/fonts/Montserrat-Bold.woff new file mode 100644 index 000000000..7b1f2b638 Binary files /dev/null and b/source/fonts/Montserrat-Bold.woff differ diff --git a/source/fonts/Montserrat-Bold.woff2 b/source/fonts/Montserrat-Bold.woff2 new file mode 100644 index 000000000..a75e620ac Binary files /dev/null and b/source/fonts/Montserrat-Bold.woff2 differ diff --git a/source/fonts/Montserrat-ExtraBold.woff b/source/fonts/Montserrat-ExtraBold.woff new file mode 100644 index 000000000..ee539291b Binary files /dev/null and b/source/fonts/Montserrat-ExtraBold.woff differ diff --git a/source/fonts/Montserrat-ExtraBold.woff2 b/source/fonts/Montserrat-ExtraBold.woff2 new file mode 100644 index 000000000..168ff3749 Binary files /dev/null and b/source/fonts/Montserrat-ExtraBold.woff2 differ diff --git a/source/fonts/Montserrat-Light.woff b/source/fonts/Montserrat-Light.woff new file mode 100644 index 000000000..907a4f74e Binary files /dev/null and b/source/fonts/Montserrat-Light.woff differ diff --git a/source/fonts/Montserrat-Light.woff2 b/source/fonts/Montserrat-Light.woff2 new file mode 100644 index 000000000..70cfdee11 Binary files /dev/null and b/source/fonts/Montserrat-Light.woff2 differ diff --git a/source/fonts/Montserrat-Medium.woff b/source/fonts/Montserrat-Medium.woff new file mode 100644 index 000000000..83c35f0bf Binary files /dev/null and b/source/fonts/Montserrat-Medium.woff differ diff --git a/source/fonts/Montserrat-Medium.woff2 b/source/fonts/Montserrat-Medium.woff2 new file mode 100644 index 000000000..11098b7df Binary files /dev/null and b/source/fonts/Montserrat-Medium.woff2 differ diff --git a/source/fonts/Montserrat-Regular.woff b/source/fonts/Montserrat-Regular.woff new file mode 100644 index 000000000..53cc64115 Binary files /dev/null and b/source/fonts/Montserrat-Regular.woff differ diff --git a/source/fonts/Montserrat-Regular.woff2 b/source/fonts/Montserrat-Regular.woff2 new file mode 100644 index 000000000..694d308b8 Binary files /dev/null and b/source/fonts/Montserrat-Regular.woff2 differ diff --git a/source/fonts/Montserrat-SemiBold.woff b/source/fonts/Montserrat-SemiBold.woff new file mode 100644 index 000000000..69a0520df Binary files /dev/null and b/source/fonts/Montserrat-SemiBold.woff differ diff --git a/source/fonts/Montserrat-SemiBold.woff2 b/source/fonts/Montserrat-SemiBold.woff2 new file mode 100644 index 000000000..853bd7f87 Binary files /dev/null and b/source/fonts/Montserrat-SemiBold.woff2 differ diff --git a/source/img/README.md b/source/img/README.md deleted file mode 100644 index 1352dacc2..000000000 --- a/source/img/README.md +++ /dev/null @@ -1 +0,0 @@ -папка для изображений diff --git a/source/img/about-desktop.jpg b/source/img/about-desktop.jpg new file mode 100644 index 000000000..0cc6c2b1e Binary files /dev/null and b/source/img/about-desktop.jpg differ diff --git a/source/img/about-desktop.webp b/source/img/about-desktop.webp new file mode 100644 index 000000000..af1705a7d Binary files /dev/null and b/source/img/about-desktop.webp differ diff --git a/source/img/about-desktop@2x.jpg b/source/img/about-desktop@2x.jpg new file mode 100644 index 000000000..9c54114af Binary files /dev/null and b/source/img/about-desktop@2x.jpg differ diff --git a/source/img/about-desktop@2x.webp b/source/img/about-desktop@2x.webp new file mode 100644 index 000000000..3da7b80f4 Binary files /dev/null and b/source/img/about-desktop@2x.webp differ diff --git a/source/img/about-mobile.jpg b/source/img/about-mobile.jpg new file mode 100644 index 000000000..037fe4872 Binary files /dev/null and b/source/img/about-mobile.jpg differ diff --git a/source/img/about-mobile.webp b/source/img/about-mobile.webp new file mode 100644 index 000000000..70b6f9f90 Binary files /dev/null and b/source/img/about-mobile.webp differ diff --git a/source/img/about-mobile@2x.jpg b/source/img/about-mobile@2x.jpg new file mode 100644 index 000000000..697d40087 Binary files /dev/null and b/source/img/about-mobile@2x.jpg differ diff --git a/source/img/about-mobile@2x.webp b/source/img/about-mobile@2x.webp new file mode 100644 index 000000000..759d1babc Binary files /dev/null and b/source/img/about-mobile@2x.webp differ diff --git a/source/img/about-tablet.jpg b/source/img/about-tablet.jpg new file mode 100644 index 000000000..8ffbaae18 Binary files /dev/null and b/source/img/about-tablet.jpg differ diff --git a/source/img/about-tablet.webp b/source/img/about-tablet.webp new file mode 100644 index 000000000..0b0a3c70c Binary files /dev/null and b/source/img/about-tablet.webp differ diff --git a/source/img/about-tablet@2x.jpg b/source/img/about-tablet@2x.jpg new file mode 100644 index 000000000..130e28628 Binary files /dev/null and b/source/img/about-tablet@2x.jpg differ diff --git a/source/img/about-tablet@2x.webp b/source/img/about-tablet@2x.webp new file mode 100644 index 000000000..d532bd8f2 Binary files /dev/null and b/source/img/about-tablet@2x.webp differ diff --git a/source/img/altai-desktop.jpg b/source/img/altai-desktop.jpg new file mode 100644 index 000000000..1172b0a96 Binary files /dev/null and b/source/img/altai-desktop.jpg differ diff --git a/source/img/altai-desktop.webp b/source/img/altai-desktop.webp new file mode 100644 index 000000000..374d2523b Binary files /dev/null and b/source/img/altai-desktop.webp differ diff --git a/source/img/altai-desktop@2x.jpg b/source/img/altai-desktop@2x.jpg new file mode 100644 index 000000000..06f24b603 Binary files /dev/null and b/source/img/altai-desktop@2x.jpg differ diff --git a/source/img/altai-desktop@2x.webp b/source/img/altai-desktop@2x.webp new file mode 100644 index 000000000..798e11989 Binary files /dev/null and b/source/img/altai-desktop@2x.webp differ diff --git a/source/img/altai-mobile.jpg b/source/img/altai-mobile.jpg new file mode 100644 index 000000000..6d7165f04 Binary files /dev/null and b/source/img/altai-mobile.jpg differ diff --git a/source/img/altai-mobile.webp b/source/img/altai-mobile.webp new file mode 100644 index 000000000..7b9cf765b Binary files /dev/null and b/source/img/altai-mobile.webp differ diff --git a/source/img/altai-mobile@2x.jpg b/source/img/altai-mobile@2x.jpg new file mode 100644 index 000000000..d66d02a3e Binary files /dev/null and b/source/img/altai-mobile@2x.jpg differ diff --git a/source/img/altai-mobile@2x.webp b/source/img/altai-mobile@2x.webp new file mode 100644 index 000000000..7a2948a38 Binary files /dev/null and b/source/img/altai-mobile@2x.webp differ diff --git a/source/img/altai-tablet.jpg b/source/img/altai-tablet.jpg new file mode 100644 index 000000000..13e38835a Binary files /dev/null and b/source/img/altai-tablet.jpg differ diff --git a/source/img/altai-tablet.webp b/source/img/altai-tablet.webp new file mode 100644 index 000000000..4c48163f9 Binary files /dev/null and b/source/img/altai-tablet.webp differ diff --git a/source/img/altai-tablet@2x.jpg b/source/img/altai-tablet@2x.jpg new file mode 100644 index 000000000..85445d86a Binary files /dev/null and b/source/img/altai-tablet@2x.jpg differ diff --git a/source/img/altai-tablet@2x.webp b/source/img/altai-tablet@2x.webp new file mode 100644 index 000000000..66ac6c199 Binary files /dev/null and b/source/img/altai-tablet@2x.webp differ diff --git a/source/img/background-mobile.png b/source/img/background-mobile.png new file mode 100644 index 000000000..5776e89d8 Binary files /dev/null and b/source/img/background-mobile.png differ diff --git a/source/img/background-mobile.webp b/source/img/background-mobile.webp new file mode 100644 index 000000000..0b03a9658 Binary files /dev/null and b/source/img/background-mobile.webp differ diff --git a/source/img/background-mobile@2x.png b/source/img/background-mobile@2x.png new file mode 100644 index 000000000..7b5c903d7 Binary files /dev/null and b/source/img/background-mobile@2x.png differ diff --git a/source/img/background-mobile@2x.webp b/source/img/background-mobile@2x.webp new file mode 100644 index 000000000..ebd6bd092 Binary files /dev/null and b/source/img/background-mobile@2x.webp differ diff --git a/source/img/background-tablet.png b/source/img/background-tablet.png new file mode 100644 index 000000000..b5e634db8 Binary files /dev/null and b/source/img/background-tablet.png differ diff --git a/source/img/background-tablet.webp b/source/img/background-tablet.webp new file mode 100644 index 000000000..d90a7335f Binary files /dev/null and b/source/img/background-tablet.webp differ diff --git a/source/img/background-tablet@2x.png b/source/img/background-tablet@2x.png new file mode 100644 index 000000000..cd3f3a34f Binary files /dev/null and b/source/img/background-tablet@2x.png differ diff --git a/source/img/background-tablet@2x.webp b/source/img/background-tablet@2x.webp new file mode 100644 index 000000000..0246cf2f1 Binary files /dev/null and b/source/img/background-tablet@2x.webp differ diff --git a/source/img/background1-desktop.png b/source/img/background1-desktop.png new file mode 100644 index 000000000..bcc1ed5a2 Binary files /dev/null and b/source/img/background1-desktop.png differ diff --git a/source/img/background1-desktop.webp b/source/img/background1-desktop.webp new file mode 100644 index 000000000..c54e7f048 Binary files /dev/null and b/source/img/background1-desktop.webp differ diff --git a/source/img/background1-desktop@2x.png b/source/img/background1-desktop@2x.png new file mode 100644 index 000000000..6fe0665da Binary files /dev/null and b/source/img/background1-desktop@2x.png differ diff --git a/source/img/background1-desktop@2x.webp b/source/img/background1-desktop@2x.webp new file mode 100644 index 000000000..25c1d7d88 Binary files /dev/null and b/source/img/background1-desktop@2x.webp differ diff --git a/source/img/background1-tablet.png b/source/img/background1-tablet.png new file mode 100644 index 000000000..e9a5b318c Binary files /dev/null and b/source/img/background1-tablet.png differ diff --git a/source/img/background1-tablet.webp b/source/img/background1-tablet.webp new file mode 100644 index 000000000..341784423 Binary files /dev/null and b/source/img/background1-tablet.webp differ diff --git a/source/img/background1-tablet@2x.png b/source/img/background1-tablet@2x.png new file mode 100644 index 000000000..4181233e7 Binary files /dev/null and b/source/img/background1-tablet@2x.png differ diff --git a/source/img/background1-tablet@2x.webp b/source/img/background1-tablet@2x.webp new file mode 100644 index 000000000..a76249751 Binary files /dev/null and b/source/img/background1-tablet@2x.webp differ diff --git a/source/img/background2-desktop.png b/source/img/background2-desktop.png new file mode 100644 index 000000000..a9a0f87aa Binary files /dev/null and b/source/img/background2-desktop.png differ diff --git a/source/img/background2-desktop.webp b/source/img/background2-desktop.webp new file mode 100644 index 000000000..dedf1514a Binary files /dev/null and b/source/img/background2-desktop.webp differ diff --git a/source/img/background2-desktop@2x.png b/source/img/background2-desktop@2x.png new file mode 100644 index 000000000..ac6ae8238 Binary files /dev/null and b/source/img/background2-desktop@2x.png differ diff --git a/source/img/background2-desktop@2x.webp b/source/img/background2-desktop@2x.webp new file mode 100644 index 000000000..49f9918b5 Binary files /dev/null and b/source/img/background2-desktop@2x.webp differ diff --git a/source/img/background2-tablet.png b/source/img/background2-tablet.png new file mode 100644 index 000000000..198edce92 Binary files /dev/null and b/source/img/background2-tablet.png differ diff --git a/source/img/background2-tablet.webp b/source/img/background2-tablet.webp new file mode 100644 index 000000000..bd3e19947 Binary files /dev/null and b/source/img/background2-tablet.webp differ diff --git a/source/img/background2-tablet@2x.png b/source/img/background2-tablet@2x.png new file mode 100644 index 000000000..b88d0d5eb Binary files /dev/null and b/source/img/background2-tablet@2x.png differ diff --git a/source/img/background2-tablet@2x.webp b/source/img/background2-tablet@2x.webp new file mode 100644 index 000000000..934e68078 Binary files /dev/null and b/source/img/background2-tablet@2x.webp differ diff --git a/source/img/background3-tablet.png b/source/img/background3-tablet.png new file mode 100644 index 000000000..2f9ecca1b Binary files /dev/null and b/source/img/background3-tablet.png differ diff --git a/source/img/background3-tablet.webp b/source/img/background3-tablet.webp new file mode 100644 index 000000000..67c52eaf6 Binary files /dev/null and b/source/img/background3-tablet.webp differ diff --git a/source/img/background3-tablet@2x.png b/source/img/background3-tablet@2x.png new file mode 100644 index 000000000..283a93723 Binary files /dev/null and b/source/img/background3-tablet@2x.png differ diff --git a/source/img/background3-tablet@2x.webp b/source/img/background3-tablet@2x.webp new file mode 100644 index 000000000..b0fbc2374 Binary files /dev/null and b/source/img/background3-tablet@2x.webp differ diff --git a/source/img/background4-tablet.png b/source/img/background4-tablet.png new file mode 100644 index 000000000..d9ac84e0d Binary files /dev/null and b/source/img/background4-tablet.png differ diff --git a/source/img/background4-tablet.webp b/source/img/background4-tablet.webp new file mode 100644 index 000000000..55143d29a Binary files /dev/null and b/source/img/background4-tablet.webp differ diff --git a/source/img/background4-tablet@2x.png b/source/img/background4-tablet@2x.png new file mode 100644 index 000000000..90b29288c Binary files /dev/null and b/source/img/background4-tablet@2x.png differ diff --git a/source/img/background4-tablet@2x.webp b/source/img/background4-tablet@2x.webp new file mode 100644 index 000000000..ad60dfdd9 Binary files /dev/null and b/source/img/background4-tablet@2x.webp differ diff --git a/source/img/card1-desktop.jpg b/source/img/card1-desktop.jpg new file mode 100644 index 000000000..9fd9ac79b Binary files /dev/null and b/source/img/card1-desktop.jpg differ diff --git a/source/img/card1-desktop.webp b/source/img/card1-desktop.webp new file mode 100644 index 000000000..8d0ad216e Binary files /dev/null and b/source/img/card1-desktop.webp differ diff --git a/source/img/card1-desktop@2x.jpg b/source/img/card1-desktop@2x.jpg new file mode 100644 index 000000000..1d8a3faf1 Binary files /dev/null and b/source/img/card1-desktop@2x.jpg differ diff --git a/source/img/card1-desktop@2x.webp b/source/img/card1-desktop@2x.webp new file mode 100644 index 000000000..df9b0f001 Binary files /dev/null and b/source/img/card1-desktop@2x.webp differ diff --git a/source/img/card1-mobile.jpg b/source/img/card1-mobile.jpg new file mode 100644 index 000000000..a44472701 Binary files /dev/null and b/source/img/card1-mobile.jpg differ diff --git a/source/img/card1-mobile.webp b/source/img/card1-mobile.webp new file mode 100644 index 000000000..8acc08b52 Binary files /dev/null and b/source/img/card1-mobile.webp differ diff --git a/source/img/card1-mobile@2x.jpg b/source/img/card1-mobile@2x.jpg new file mode 100644 index 000000000..4829aa5e9 Binary files /dev/null and b/source/img/card1-mobile@2x.jpg differ diff --git a/source/img/card1-mobile@2x.webp b/source/img/card1-mobile@2x.webp new file mode 100644 index 000000000..ebabc7d3a Binary files /dev/null and b/source/img/card1-mobile@2x.webp differ diff --git a/source/img/card1-tablet.jpg b/source/img/card1-tablet.jpg new file mode 100644 index 000000000..ffe8c5c0b Binary files /dev/null and b/source/img/card1-tablet.jpg differ diff --git a/source/img/card1-tablet.webp b/source/img/card1-tablet.webp new file mode 100644 index 000000000..4b8bb1c49 Binary files /dev/null and b/source/img/card1-tablet.webp differ diff --git a/source/img/card1-tablet@2x.jpg b/source/img/card1-tablet@2x.jpg new file mode 100644 index 000000000..8b1ea1975 Binary files /dev/null and b/source/img/card1-tablet@2x.jpg differ diff --git a/source/img/card1-tablet@2x.webp b/source/img/card1-tablet@2x.webp new file mode 100644 index 000000000..7cd137e95 Binary files /dev/null and b/source/img/card1-tablet@2x.webp differ diff --git a/source/img/card2-desktop.jpg b/source/img/card2-desktop.jpg new file mode 100644 index 000000000..14496ab3c Binary files /dev/null and b/source/img/card2-desktop.jpg differ diff --git a/source/img/card2-desktop.webp b/source/img/card2-desktop.webp new file mode 100644 index 000000000..745cb8628 Binary files /dev/null and b/source/img/card2-desktop.webp differ diff --git a/source/img/card2-desktop@2x.jpg b/source/img/card2-desktop@2x.jpg new file mode 100644 index 000000000..25a76ee12 Binary files /dev/null and b/source/img/card2-desktop@2x.jpg differ diff --git a/source/img/card2-desktop@2x.webp b/source/img/card2-desktop@2x.webp new file mode 100644 index 000000000..baccc99f7 Binary files /dev/null and b/source/img/card2-desktop@2x.webp differ diff --git a/source/img/card2-tablet.jpg b/source/img/card2-tablet.jpg new file mode 100644 index 000000000..916cc4c2d Binary files /dev/null and b/source/img/card2-tablet.jpg differ diff --git a/source/img/card2-tablet.webp b/source/img/card2-tablet.webp new file mode 100644 index 000000000..7e620a480 Binary files /dev/null and b/source/img/card2-tablet.webp differ diff --git a/source/img/card2-tablet@2x.jpg b/source/img/card2-tablet@2x.jpg new file mode 100644 index 000000000..4bab21cef Binary files /dev/null and b/source/img/card2-tablet@2x.jpg differ diff --git a/source/img/card2-tablet@2x.webp b/source/img/card2-tablet@2x.webp new file mode 100644 index 000000000..9d25970e6 Binary files /dev/null and b/source/img/card2-tablet@2x.webp differ diff --git a/source/img/card3-desktop.jpg b/source/img/card3-desktop.jpg new file mode 100644 index 000000000..e76f46bc6 Binary files /dev/null and b/source/img/card3-desktop.jpg differ diff --git a/source/img/card3-desktop.webp b/source/img/card3-desktop.webp new file mode 100644 index 000000000..b53d74c55 Binary files /dev/null and b/source/img/card3-desktop.webp differ diff --git a/source/img/card3-desktop@2x.jpg b/source/img/card3-desktop@2x.jpg new file mode 100644 index 000000000..2d5e95326 Binary files /dev/null and b/source/img/card3-desktop@2x.jpg differ diff --git a/source/img/card3-desktop@2x.webp b/source/img/card3-desktop@2x.webp new file mode 100644 index 000000000..4ad7bd20b Binary files /dev/null and b/source/img/card3-desktop@2x.webp differ diff --git a/source/img/card3-tablet.jpg b/source/img/card3-tablet.jpg new file mode 100644 index 000000000..5ccf4c3fb Binary files /dev/null and b/source/img/card3-tablet.jpg differ diff --git a/source/img/card3-tablet.webp b/source/img/card3-tablet.webp new file mode 100644 index 000000000..bcbbcded8 Binary files /dev/null and b/source/img/card3-tablet.webp differ diff --git a/source/img/card3-tablet@2x.jpg b/source/img/card3-tablet@2x.jpg new file mode 100644 index 000000000..a53cd18aa Binary files /dev/null and b/source/img/card3-tablet@2x.jpg differ diff --git a/source/img/card3-tablet@2x.webp b/source/img/card3-tablet@2x.webp new file mode 100644 index 000000000..6571caf08 Binary files /dev/null and b/source/img/card3-tablet@2x.webp differ diff --git a/source/img/card4-desktop.jpg b/source/img/card4-desktop.jpg new file mode 100644 index 000000000..170df4534 Binary files /dev/null and b/source/img/card4-desktop.jpg differ diff --git a/source/img/card4-desktop.webp b/source/img/card4-desktop.webp new file mode 100644 index 000000000..75f812604 Binary files /dev/null and b/source/img/card4-desktop.webp differ diff --git a/source/img/card4-desktop@2x.jpg b/source/img/card4-desktop@2x.jpg new file mode 100644 index 000000000..fca5099cf Binary files /dev/null and b/source/img/card4-desktop@2x.jpg differ diff --git a/source/img/card4-desktop@2x.webp b/source/img/card4-desktop@2x.webp new file mode 100644 index 000000000..5d0c785ed Binary files /dev/null and b/source/img/card4-desktop@2x.webp differ diff --git a/source/img/card5-desktop.jpg b/source/img/card5-desktop.jpg new file mode 100644 index 000000000..5650176c8 Binary files /dev/null and b/source/img/card5-desktop.jpg differ diff --git a/source/img/card5-desktop.webp b/source/img/card5-desktop.webp new file mode 100644 index 000000000..3db425e59 Binary files /dev/null and b/source/img/card5-desktop.webp differ diff --git a/source/img/card5-desktop@2x.jpg b/source/img/card5-desktop@2x.jpg new file mode 100644 index 000000000..d7801655a Binary files /dev/null and b/source/img/card5-desktop@2x.jpg differ diff --git a/source/img/card5-desktop@2x.webp b/source/img/card5-desktop@2x.webp new file mode 100644 index 000000000..d9de6efac Binary files /dev/null and b/source/img/card5-desktop@2x.webp differ diff --git a/source/img/caucasus-desktop.jpg b/source/img/caucasus-desktop.jpg new file mode 100644 index 000000000..598eb5352 Binary files /dev/null and b/source/img/caucasus-desktop.jpg differ diff --git a/source/img/caucasus-desktop.webp b/source/img/caucasus-desktop.webp new file mode 100644 index 000000000..9ccb534ec Binary files /dev/null and b/source/img/caucasus-desktop.webp differ diff --git a/source/img/caucasus-desktop@2x.jpg b/source/img/caucasus-desktop@2x.jpg new file mode 100644 index 000000000..6826bf97e Binary files /dev/null and b/source/img/caucasus-desktop@2x.jpg differ diff --git a/source/img/caucasus-desktop@2x.webp b/source/img/caucasus-desktop@2x.webp new file mode 100644 index 000000000..09f70eb83 Binary files /dev/null and b/source/img/caucasus-desktop@2x.webp differ diff --git a/source/img/caucasus-tablet.jpg b/source/img/caucasus-tablet.jpg new file mode 100644 index 000000000..b301bf9db Binary files /dev/null and b/source/img/caucasus-tablet.jpg differ diff --git a/source/img/caucasus-tablet.webp b/source/img/caucasus-tablet.webp new file mode 100644 index 000000000..e21ae24f9 Binary files /dev/null and b/source/img/caucasus-tablet.webp differ diff --git a/source/img/caucasus-tablet@2x.jpg b/source/img/caucasus-tablet@2x.jpg new file mode 100644 index 000000000..de3b08b12 Binary files /dev/null and b/source/img/caucasus-tablet@2x.jpg differ diff --git a/source/img/caucasus-tablet@2x.webp b/source/img/caucasus-tablet@2x.webp new file mode 100644 index 000000000..e58c2da92 Binary files /dev/null and b/source/img/caucasus-tablet@2x.webp differ diff --git a/source/img/favicon-32x32.png b/source/img/favicon-32x32.png new file mode 100644 index 000000000..5298e3350 Binary files /dev/null and b/source/img/favicon-32x32.png differ diff --git a/source/img/favicon-32x32.webp b/source/img/favicon-32x32.webp new file mode 100644 index 000000000..9d51471a3 Binary files /dev/null and b/source/img/favicon-32x32.webp differ diff --git a/source/img/form-desktop.jpg b/source/img/form-desktop.jpg new file mode 100644 index 000000000..1d74f3174 Binary files /dev/null and b/source/img/form-desktop.jpg differ diff --git a/source/img/form-desktop.webp b/source/img/form-desktop.webp new file mode 100644 index 000000000..6dfb7ff6a Binary files /dev/null and b/source/img/form-desktop.webp differ diff --git a/source/img/form-desktop@2x.jpg b/source/img/form-desktop@2x.jpg new file mode 100644 index 000000000..42145f69f Binary files /dev/null and b/source/img/form-desktop@2x.jpg differ diff --git a/source/img/form-desktop@2x.webp b/source/img/form-desktop@2x.webp new file mode 100644 index 000000000..2069c720f Binary files /dev/null and b/source/img/form-desktop@2x.webp differ diff --git a/source/img/form-mobile.jpg b/source/img/form-mobile.jpg new file mode 100644 index 000000000..6d9140634 Binary files /dev/null and b/source/img/form-mobile.jpg differ diff --git a/source/img/form-mobile.webp b/source/img/form-mobile.webp new file mode 100644 index 000000000..e76d0d596 Binary files /dev/null and b/source/img/form-mobile.webp differ diff --git a/source/img/form-mobile@2x.jpg b/source/img/form-mobile@2x.jpg new file mode 100644 index 000000000..25b06e3ef Binary files /dev/null and b/source/img/form-mobile@2x.jpg differ diff --git a/source/img/form-mobile@2x.webp b/source/img/form-mobile@2x.webp new file mode 100644 index 000000000..c292bee65 Binary files /dev/null and b/source/img/form-mobile@2x.webp differ diff --git a/source/img/form-tablet.jpg b/source/img/form-tablet.jpg new file mode 100644 index 000000000..6ab36b3d6 Binary files /dev/null and b/source/img/form-tablet.jpg differ diff --git a/source/img/form-tablet.webp b/source/img/form-tablet.webp new file mode 100644 index 000000000..51cb58f53 Binary files /dev/null and b/source/img/form-tablet.webp differ diff --git a/source/img/form-tablet@2x.jpg b/source/img/form-tablet@2x.jpg new file mode 100644 index 000000000..3ab28224f Binary files /dev/null and b/source/img/form-tablet@2x.jpg differ diff --git a/source/img/form-tablet@2x.webp b/source/img/form-tablet@2x.webp new file mode 100644 index 000000000..0fab95eef Binary files /dev/null and b/source/img/form-tablet@2x.webp differ diff --git a/source/img/gallery1-desktop.jpg b/source/img/gallery1-desktop.jpg new file mode 100644 index 000000000..0d9c14728 Binary files /dev/null and b/source/img/gallery1-desktop.jpg differ diff --git a/source/img/gallery1-desktop.webp b/source/img/gallery1-desktop.webp new file mode 100644 index 000000000..b560b3d55 Binary files /dev/null and b/source/img/gallery1-desktop.webp differ diff --git a/source/img/gallery1-desktop@2x.jpg b/source/img/gallery1-desktop@2x.jpg new file mode 100644 index 000000000..cb357bc73 Binary files /dev/null and b/source/img/gallery1-desktop@2x.jpg differ diff --git a/source/img/gallery1-desktop@2x.webp b/source/img/gallery1-desktop@2x.webp new file mode 100644 index 000000000..aa30d122a Binary files /dev/null and b/source/img/gallery1-desktop@2x.webp differ diff --git a/source/img/gallery1-tablet.jpg b/source/img/gallery1-tablet.jpg new file mode 100644 index 000000000..b5444db3f Binary files /dev/null and b/source/img/gallery1-tablet.jpg differ diff --git a/source/img/gallery1-tablet.webp b/source/img/gallery1-tablet.webp new file mode 100644 index 000000000..eb8b31ea3 Binary files /dev/null and b/source/img/gallery1-tablet.webp differ diff --git a/source/img/gallery1-tablet@2x.jpg b/source/img/gallery1-tablet@2x.jpg new file mode 100644 index 000000000..cedf3cbcf Binary files /dev/null and b/source/img/gallery1-tablet@2x.jpg differ diff --git a/source/img/gallery1-tablet@2x.webp b/source/img/gallery1-tablet@2x.webp new file mode 100644 index 000000000..c9ee4f3c4 Binary files /dev/null and b/source/img/gallery1-tablet@2x.webp differ diff --git a/source/img/gallery1.jpg b/source/img/gallery1.jpg new file mode 100644 index 000000000..4e4a414bd Binary files /dev/null and b/source/img/gallery1.jpg differ diff --git a/source/img/gallery1.webp b/source/img/gallery1.webp new file mode 100644 index 000000000..788512b50 Binary files /dev/null and b/source/img/gallery1.webp differ diff --git a/source/img/gallery1@2x.jpg b/source/img/gallery1@2x.jpg new file mode 100644 index 000000000..853c7f56b Binary files /dev/null and b/source/img/gallery1@2x.jpg differ diff --git a/source/img/gallery1@2x.webp b/source/img/gallery1@2x.webp new file mode 100644 index 000000000..55e720c23 Binary files /dev/null and b/source/img/gallery1@2x.webp differ diff --git a/source/img/gallery2-desktop.jpg b/source/img/gallery2-desktop.jpg new file mode 100644 index 000000000..d1fad5123 Binary files /dev/null and b/source/img/gallery2-desktop.jpg differ diff --git a/source/img/gallery2-desktop.webp b/source/img/gallery2-desktop.webp new file mode 100644 index 000000000..08a689e9a Binary files /dev/null and b/source/img/gallery2-desktop.webp differ diff --git a/source/img/gallery2-desktop@2x.jpg b/source/img/gallery2-desktop@2x.jpg new file mode 100644 index 000000000..fa381cb46 Binary files /dev/null and b/source/img/gallery2-desktop@2x.jpg differ diff --git a/source/img/gallery2-desktop@2x.webp b/source/img/gallery2-desktop@2x.webp new file mode 100644 index 000000000..80d33a77b Binary files /dev/null and b/source/img/gallery2-desktop@2x.webp differ diff --git a/source/img/gallery2-mobile.jpg b/source/img/gallery2-mobile.jpg new file mode 100644 index 000000000..98d151e87 Binary files /dev/null and b/source/img/gallery2-mobile.jpg differ diff --git a/source/img/gallery2-mobile.webp b/source/img/gallery2-mobile.webp new file mode 100644 index 000000000..610f7b2fa Binary files /dev/null and b/source/img/gallery2-mobile.webp differ diff --git a/source/img/gallery2-mobile@2x.jpg b/source/img/gallery2-mobile@2x.jpg new file mode 100644 index 000000000..f0bac4d8b Binary files /dev/null and b/source/img/gallery2-mobile@2x.jpg differ diff --git a/source/img/gallery2-mobile@2x.webp b/source/img/gallery2-mobile@2x.webp new file mode 100644 index 000000000..b4726700a Binary files /dev/null and b/source/img/gallery2-mobile@2x.webp differ diff --git a/source/img/gallery2-tablet.jpg b/source/img/gallery2-tablet.jpg new file mode 100644 index 000000000..a00bfb24c Binary files /dev/null and b/source/img/gallery2-tablet.jpg differ diff --git a/source/img/gallery2-tablet.webp b/source/img/gallery2-tablet.webp new file mode 100644 index 000000000..37d53c8a9 Binary files /dev/null and b/source/img/gallery2-tablet.webp differ diff --git a/source/img/gallery2-tablet@2x.jpg b/source/img/gallery2-tablet@2x.jpg new file mode 100644 index 000000000..52d730bbf Binary files /dev/null and b/source/img/gallery2-tablet@2x.jpg differ diff --git a/source/img/gallery2-tablet@2x.webp b/source/img/gallery2-tablet@2x.webp new file mode 100644 index 000000000..c19603fa9 Binary files /dev/null and b/source/img/gallery2-tablet@2x.webp differ diff --git a/source/img/gallery3-desktop.jpg b/source/img/gallery3-desktop.jpg new file mode 100644 index 000000000..4e346ff2b Binary files /dev/null and b/source/img/gallery3-desktop.jpg differ diff --git a/source/img/gallery3-desktop.webp b/source/img/gallery3-desktop.webp new file mode 100644 index 000000000..4dae45d66 Binary files /dev/null and b/source/img/gallery3-desktop.webp differ diff --git a/source/img/gallery3-desktop@2x.jpg b/source/img/gallery3-desktop@2x.jpg new file mode 100644 index 000000000..b55c8a031 Binary files /dev/null and b/source/img/gallery3-desktop@2x.jpg differ diff --git a/source/img/gallery3-desktop@2x.webp b/source/img/gallery3-desktop@2x.webp new file mode 100644 index 000000000..d190b93c8 Binary files /dev/null and b/source/img/gallery3-desktop@2x.webp differ diff --git a/source/img/gallery3-tablet.jpg b/source/img/gallery3-tablet.jpg new file mode 100644 index 000000000..7cbf35ade Binary files /dev/null and b/source/img/gallery3-tablet.jpg differ diff --git a/source/img/gallery3-tablet.webp b/source/img/gallery3-tablet.webp new file mode 100644 index 000000000..829560b51 Binary files /dev/null and b/source/img/gallery3-tablet.webp differ diff --git a/source/img/gallery3-tablet@2x.jpg b/source/img/gallery3-tablet@2x.jpg new file mode 100644 index 000000000..0e2b63c76 Binary files /dev/null and b/source/img/gallery3-tablet@2x.jpg differ diff --git a/source/img/gallery3-tablet@2x.webp b/source/img/gallery3-tablet@2x.webp new file mode 100644 index 000000000..08757bf74 Binary files /dev/null and b/source/img/gallery3-tablet@2x.webp differ diff --git a/source/img/gallery3.jpg b/source/img/gallery3.jpg new file mode 100644 index 000000000..ac7ac5ec2 Binary files /dev/null and b/source/img/gallery3.jpg differ diff --git a/source/img/gallery3.webp b/source/img/gallery3.webp new file mode 100644 index 000000000..293d7f520 Binary files /dev/null and b/source/img/gallery3.webp differ diff --git a/source/img/gallery3@2x.jpg b/source/img/gallery3@2x.jpg new file mode 100644 index 000000000..3e7fdbb1f Binary files /dev/null and b/source/img/gallery3@2x.jpg differ diff --git a/source/img/gallery3@2x.webp b/source/img/gallery3@2x.webp new file mode 100644 index 000000000..b57677bfe Binary files /dev/null and b/source/img/gallery3@2x.webp differ diff --git a/source/img/gallery4-desktop.jpg b/source/img/gallery4-desktop.jpg new file mode 100644 index 000000000..a6662137f Binary files /dev/null and b/source/img/gallery4-desktop.jpg differ diff --git a/source/img/gallery4-desktop.webp b/source/img/gallery4-desktop.webp new file mode 100644 index 000000000..c448bb0d3 Binary files /dev/null and b/source/img/gallery4-desktop.webp differ diff --git a/source/img/gallery4-desktop@2x.jpg b/source/img/gallery4-desktop@2x.jpg new file mode 100644 index 000000000..2db8f6221 Binary files /dev/null and b/source/img/gallery4-desktop@2x.jpg differ diff --git a/source/img/gallery4-desktop@2x.webp b/source/img/gallery4-desktop@2x.webp new file mode 100644 index 000000000..b8a978afb Binary files /dev/null and b/source/img/gallery4-desktop@2x.webp differ diff --git a/source/img/gallery4.jpg b/source/img/gallery4.jpg new file mode 100644 index 000000000..7e12deb1f Binary files /dev/null and b/source/img/gallery4.jpg differ diff --git a/source/img/gallery4.webp b/source/img/gallery4.webp new file mode 100644 index 000000000..6114b0d77 Binary files /dev/null and b/source/img/gallery4.webp differ diff --git a/source/img/gallery4@2x.jpg b/source/img/gallery4@2x.jpg new file mode 100644 index 000000000..05873e4f9 Binary files /dev/null and b/source/img/gallery4@2x.jpg differ diff --git a/source/img/gallery4@2x.webp b/source/img/gallery4@2x.webp new file mode 100644 index 000000000..d8adfc253 Binary files /dev/null and b/source/img/gallery4@2x.webp differ diff --git a/source/img/gallery5-desktop.jpg b/source/img/gallery5-desktop.jpg new file mode 100644 index 000000000..6079acf31 Binary files /dev/null and b/source/img/gallery5-desktop.jpg differ diff --git a/source/img/gallery5-desktop.webp b/source/img/gallery5-desktop.webp new file mode 100644 index 000000000..fae7bb1ab Binary files /dev/null and b/source/img/gallery5-desktop.webp differ diff --git a/source/img/gallery5-desktop@2x.jpg b/source/img/gallery5-desktop@2x.jpg new file mode 100644 index 000000000..31a83bd30 Binary files /dev/null and b/source/img/gallery5-desktop@2x.jpg differ diff --git a/source/img/gallery5-desktop@2x.webp b/source/img/gallery5-desktop@2x.webp new file mode 100644 index 000000000..fefb89d5c Binary files /dev/null and b/source/img/gallery5-desktop@2x.webp differ diff --git a/source/img/gallery6-desktop.jpg b/source/img/gallery6-desktop.jpg new file mode 100644 index 000000000..f56a52b48 Binary files /dev/null and b/source/img/gallery6-desktop.jpg differ diff --git a/source/img/gallery6-desktop.webp b/source/img/gallery6-desktop.webp new file mode 100644 index 000000000..1929d4a5a Binary files /dev/null and b/source/img/gallery6-desktop.webp differ diff --git a/source/img/gallery6-desktop@2x.jpg b/source/img/gallery6-desktop@2x.jpg new file mode 100644 index 000000000..0aa1da076 Binary files /dev/null and b/source/img/gallery6-desktop@2x.jpg differ diff --git a/source/img/gallery6-desktop@2x.webp b/source/img/gallery6-desktop@2x.webp new file mode 100644 index 000000000..bd5bfdcb9 Binary files /dev/null and b/source/img/gallery6-desktop@2x.webp differ diff --git a/source/img/gallery7-desktop.jpg b/source/img/gallery7-desktop.jpg new file mode 100644 index 000000000..a4334e190 Binary files /dev/null and b/source/img/gallery7-desktop.jpg differ diff --git a/source/img/gallery7-desktop.webp b/source/img/gallery7-desktop.webp new file mode 100644 index 000000000..f214f81b4 Binary files /dev/null and b/source/img/gallery7-desktop.webp differ diff --git a/source/img/gallery7-desktop@2x.jpg b/source/img/gallery7-desktop@2x.jpg new file mode 100644 index 000000000..4d23cc25a Binary files /dev/null and b/source/img/gallery7-desktop@2x.jpg differ diff --git a/source/img/gallery7-desktop@2x.webp b/source/img/gallery7-desktop@2x.webp new file mode 100644 index 000000000..9016e3a6e Binary files /dev/null and b/source/img/gallery7-desktop@2x.webp differ diff --git a/source/img/kamchatka-desktop.jpg b/source/img/kamchatka-desktop.jpg new file mode 100644 index 000000000..d71de1ec0 Binary files /dev/null and b/source/img/kamchatka-desktop.jpg differ diff --git a/source/img/kamchatka-desktop.webp b/source/img/kamchatka-desktop.webp new file mode 100644 index 000000000..b37a90c75 Binary files /dev/null and b/source/img/kamchatka-desktop.webp differ diff --git a/source/img/kamchatka-desktop@2x.jpg b/source/img/kamchatka-desktop@2x.jpg new file mode 100644 index 000000000..d2c71beac Binary files /dev/null and b/source/img/kamchatka-desktop@2x.jpg differ diff --git a/source/img/kamchatka-desktop@2x.webp b/source/img/kamchatka-desktop@2x.webp new file mode 100644 index 000000000..ebaf4de0a Binary files /dev/null and b/source/img/kamchatka-desktop@2x.webp differ diff --git a/source/img/kamchatka-mobile.jpg b/source/img/kamchatka-mobile.jpg new file mode 100644 index 000000000..b109a0d15 Binary files /dev/null and b/source/img/kamchatka-mobile.jpg differ diff --git a/source/img/kamchatka-mobile.webp b/source/img/kamchatka-mobile.webp new file mode 100644 index 000000000..4c3072009 Binary files /dev/null and b/source/img/kamchatka-mobile.webp differ diff --git a/source/img/kamchatka-mobile@2x.jpg b/source/img/kamchatka-mobile@2x.jpg new file mode 100644 index 000000000..21b244889 Binary files /dev/null and b/source/img/kamchatka-mobile@2x.jpg differ diff --git a/source/img/kamchatka-mobile@2x.webp b/source/img/kamchatka-mobile@2x.webp new file mode 100644 index 000000000..04c2ea302 Binary files /dev/null and b/source/img/kamchatka-mobile@2x.webp differ diff --git a/source/img/kamchatka-tablet.jpg b/source/img/kamchatka-tablet.jpg new file mode 100644 index 000000000..610faa1e3 Binary files /dev/null and b/source/img/kamchatka-tablet.jpg differ diff --git a/source/img/kamchatka-tablet.webp b/source/img/kamchatka-tablet.webp new file mode 100644 index 000000000..a8c7604da Binary files /dev/null and b/source/img/kamchatka-tablet.webp differ diff --git a/source/img/kamchatka-tablet@2x.jpg b/source/img/kamchatka-tablet@2x.jpg new file mode 100644 index 000000000..8e0406cfe Binary files /dev/null and b/source/img/kamchatka-tablet@2x.jpg differ diff --git a/source/img/kamchatka-tablet@2x.webp b/source/img/kamchatka-tablet@2x.webp new file mode 100644 index 000000000..36f534f8c Binary files /dev/null and b/source/img/kamchatka-tablet@2x.webp differ diff --git a/source/img/map-desktop.png b/source/img/map-desktop.png new file mode 100644 index 000000000..16dcfac55 Binary files /dev/null and b/source/img/map-desktop.png differ diff --git a/source/img/map-desktop.webp b/source/img/map-desktop.webp new file mode 100644 index 000000000..7ffcef0ca Binary files /dev/null and b/source/img/map-desktop.webp differ diff --git a/source/img/map-desktop@2x.png b/source/img/map-desktop@2x.png new file mode 100644 index 000000000..736bdfc98 Binary files /dev/null and b/source/img/map-desktop@2x.png differ diff --git a/source/img/map-desktop@2x.webp b/source/img/map-desktop@2x.webp new file mode 100644 index 000000000..e27837a7a Binary files /dev/null and b/source/img/map-desktop@2x.webp differ diff --git a/source/img/map-mobile.png b/source/img/map-mobile.png new file mode 100644 index 000000000..f90cb562e Binary files /dev/null and b/source/img/map-mobile.png differ diff --git a/source/img/map-mobile.webp b/source/img/map-mobile.webp new file mode 100644 index 000000000..76c106c4d Binary files /dev/null and b/source/img/map-mobile.webp differ diff --git a/source/img/map-mobile@2x.png b/source/img/map-mobile@2x.png new file mode 100644 index 000000000..3415cee85 Binary files /dev/null and b/source/img/map-mobile@2x.png differ diff --git a/source/img/map-mobile@2x.webp b/source/img/map-mobile@2x.webp new file mode 100644 index 000000000..faf09e503 Binary files /dev/null and b/source/img/map-mobile@2x.webp differ diff --git a/source/img/map-tablet.png b/source/img/map-tablet.png new file mode 100644 index 000000000..dc0b2a3bb Binary files /dev/null and b/source/img/map-tablet.png differ diff --git a/source/img/map-tablet.webp b/source/img/map-tablet.webp new file mode 100644 index 000000000..96541b750 Binary files /dev/null and b/source/img/map-tablet.webp differ diff --git a/source/img/map-tablet@2x.png b/source/img/map-tablet@2x.png new file mode 100644 index 000000000..f2754b8fb Binary files /dev/null and b/source/img/map-tablet@2x.png differ diff --git a/source/img/map-tablet@2x.webp b/source/img/map-tablet@2x.webp new file mode 100644 index 000000000..4f9820815 Binary files /dev/null and b/source/img/map-tablet@2x.webp differ diff --git a/source/img/photo-cards-desktop.png b/source/img/photo-cards-desktop.png new file mode 100644 index 000000000..e4d78f199 Binary files /dev/null and b/source/img/photo-cards-desktop.png differ diff --git a/source/img/photo-cards-desktop.webp b/source/img/photo-cards-desktop.webp new file mode 100644 index 000000000..21399f9cd Binary files /dev/null and b/source/img/photo-cards-desktop.webp differ diff --git a/source/img/photo-cards-desktop@2x.png b/source/img/photo-cards-desktop@2x.png new file mode 100644 index 000000000..4ef363089 Binary files /dev/null and b/source/img/photo-cards-desktop@2x.png differ diff --git a/source/img/photo-cards-desktop@2x.webp b/source/img/photo-cards-desktop@2x.webp new file mode 100644 index 000000000..fe14ed417 Binary files /dev/null and b/source/img/photo-cards-desktop@2x.webp differ diff --git a/source/img/photo-cards-tablet.png b/source/img/photo-cards-tablet.png new file mode 100644 index 000000000..d08f0e7c2 Binary files /dev/null and b/source/img/photo-cards-tablet.png differ diff --git a/source/img/photo-cards-tablet.webp b/source/img/photo-cards-tablet.webp new file mode 100644 index 000000000..2210b616d Binary files /dev/null and b/source/img/photo-cards-tablet.webp differ diff --git a/source/img/photo-cards-tablet@2x.png b/source/img/photo-cards-tablet@2x.png new file mode 100644 index 000000000..7e614f4fa Binary files /dev/null and b/source/img/photo-cards-tablet@2x.png differ diff --git a/source/img/photo-cards-tablet@2x.webp b/source/img/photo-cards-tablet@2x.webp new file mode 100644 index 000000000..18030ca57 Binary files /dev/null and b/source/img/photo-cards-tablet@2x.webp differ diff --git a/source/img/photo1-desktop.jpg b/source/img/photo1-desktop.jpg new file mode 100644 index 000000000..ccccf2aa7 Binary files /dev/null and b/source/img/photo1-desktop.jpg differ diff --git a/source/img/photo1-desktop.webp b/source/img/photo1-desktop.webp new file mode 100644 index 000000000..0c872ea5d Binary files /dev/null and b/source/img/photo1-desktop.webp differ diff --git a/source/img/photo1-desktop@2x.jpg b/source/img/photo1-desktop@2x.jpg new file mode 100644 index 000000000..1fc074d80 Binary files /dev/null and b/source/img/photo1-desktop@2x.jpg differ diff --git a/source/img/photo1-desktop@2x.webp b/source/img/photo1-desktop@2x.webp new file mode 100644 index 000000000..6fd7c970f Binary files /dev/null and b/source/img/photo1-desktop@2x.webp differ diff --git a/source/img/photo1-mobile.jpg b/source/img/photo1-mobile.jpg new file mode 100644 index 000000000..979ff0e32 Binary files /dev/null and b/source/img/photo1-mobile.jpg differ diff --git a/source/img/photo1-mobile.webp b/source/img/photo1-mobile.webp new file mode 100644 index 000000000..3ddf28e09 Binary files /dev/null and b/source/img/photo1-mobile.webp differ diff --git a/source/img/photo1-mobile@2x.jpg b/source/img/photo1-mobile@2x.jpg new file mode 100644 index 000000000..8b82d2c6c Binary files /dev/null and b/source/img/photo1-mobile@2x.jpg differ diff --git a/source/img/photo1-mobile@2x.webp b/source/img/photo1-mobile@2x.webp new file mode 100644 index 000000000..03342eaa5 Binary files /dev/null and b/source/img/photo1-mobile@2x.webp differ diff --git a/source/img/photo1-tablet.jpg b/source/img/photo1-tablet.jpg new file mode 100644 index 000000000..62958e257 Binary files /dev/null and b/source/img/photo1-tablet.jpg differ diff --git a/source/img/photo1-tablet.webp b/source/img/photo1-tablet.webp new file mode 100644 index 000000000..e94700c0d Binary files /dev/null and b/source/img/photo1-tablet.webp differ diff --git a/source/img/photo1-tablet@2x.jpg b/source/img/photo1-tablet@2x.jpg new file mode 100644 index 000000000..34605aacf Binary files /dev/null and b/source/img/photo1-tablet@2x.jpg differ diff --git a/source/img/photo1-tablet@2x.webp b/source/img/photo1-tablet@2x.webp new file mode 100644 index 000000000..09e6a598a Binary files /dev/null and b/source/img/photo1-tablet@2x.webp differ diff --git a/source/img/photo2-desktop.jpg b/source/img/photo2-desktop.jpg new file mode 100644 index 000000000..fd8347919 Binary files /dev/null and b/source/img/photo2-desktop.jpg differ diff --git a/source/img/photo2-desktop.webp b/source/img/photo2-desktop.webp new file mode 100644 index 000000000..cb03c76dc Binary files /dev/null and b/source/img/photo2-desktop.webp differ diff --git a/source/img/photo2-desktop@2x.jpg b/source/img/photo2-desktop@2x.jpg new file mode 100644 index 000000000..8e14f01ee Binary files /dev/null and b/source/img/photo2-desktop@2x.jpg differ diff --git a/source/img/photo2-desktop@2x.webp b/source/img/photo2-desktop@2x.webp new file mode 100644 index 000000000..5086ab809 Binary files /dev/null and b/source/img/photo2-desktop@2x.webp differ diff --git a/source/img/photo2-mobile.jpg b/source/img/photo2-mobile.jpg new file mode 100644 index 000000000..d13687d9c Binary files /dev/null and b/source/img/photo2-mobile.jpg differ diff --git a/source/img/photo2-mobile.webp b/source/img/photo2-mobile.webp new file mode 100644 index 000000000..3ee4aecac Binary files /dev/null and b/source/img/photo2-mobile.webp differ diff --git a/source/img/photo2-mobile@2x.jpg b/source/img/photo2-mobile@2x.jpg new file mode 100644 index 000000000..50c909e47 Binary files /dev/null and b/source/img/photo2-mobile@2x.jpg differ diff --git a/source/img/photo2-mobile@2x.webp b/source/img/photo2-mobile@2x.webp new file mode 100644 index 000000000..971b38d53 Binary files /dev/null and b/source/img/photo2-mobile@2x.webp differ diff --git a/source/img/photo2-tablet.jpg b/source/img/photo2-tablet.jpg new file mode 100644 index 000000000..b25c30d1a Binary files /dev/null and b/source/img/photo2-tablet.jpg differ diff --git a/source/img/photo2-tablet.webp b/source/img/photo2-tablet.webp new file mode 100644 index 000000000..a1f0fe1c6 Binary files /dev/null and b/source/img/photo2-tablet.webp differ diff --git a/source/img/photo2-tablet@2x.jpg b/source/img/photo2-tablet@2x.jpg new file mode 100644 index 000000000..9c35b5fc2 Binary files /dev/null and b/source/img/photo2-tablet@2x.jpg differ diff --git a/source/img/photo2-tablet@2x.webp b/source/img/photo2-tablet@2x.webp new file mode 100644 index 000000000..481c53efb Binary files /dev/null and b/source/img/photo2-tablet@2x.webp differ diff --git a/source/img/photo3-desktop.jpg b/source/img/photo3-desktop.jpg new file mode 100644 index 000000000..04356c513 Binary files /dev/null and b/source/img/photo3-desktop.jpg differ diff --git a/source/img/photo3-desktop.webp b/source/img/photo3-desktop.webp new file mode 100644 index 000000000..36272dad8 Binary files /dev/null and b/source/img/photo3-desktop.webp differ diff --git a/source/img/photo3-desktop@2x.jpg b/source/img/photo3-desktop@2x.jpg new file mode 100644 index 000000000..cb9f4ae6f Binary files /dev/null and b/source/img/photo3-desktop@2x.jpg differ diff --git a/source/img/photo3-desktop@2x.webp b/source/img/photo3-desktop@2x.webp new file mode 100644 index 000000000..1fa42a4f7 Binary files /dev/null and b/source/img/photo3-desktop@2x.webp differ diff --git a/source/img/photo3-mobile.jpg b/source/img/photo3-mobile.jpg new file mode 100644 index 000000000..985582c59 Binary files /dev/null and b/source/img/photo3-mobile.jpg differ diff --git a/source/img/photo3-mobile.webp b/source/img/photo3-mobile.webp new file mode 100644 index 000000000..2f05dc3df Binary files /dev/null and b/source/img/photo3-mobile.webp differ diff --git a/source/img/photo3-mobile@2x.jpg b/source/img/photo3-mobile@2x.jpg new file mode 100644 index 000000000..3004339fd Binary files /dev/null and b/source/img/photo3-mobile@2x.jpg differ diff --git a/source/img/photo3-mobile@2x.webp b/source/img/photo3-mobile@2x.webp new file mode 100644 index 000000000..43d67e113 Binary files /dev/null and b/source/img/photo3-mobile@2x.webp differ diff --git a/source/img/photo3-tablet.jpg b/source/img/photo3-tablet.jpg new file mode 100644 index 000000000..6b410f645 Binary files /dev/null and b/source/img/photo3-tablet.jpg differ diff --git a/source/img/photo3-tablet.webp b/source/img/photo3-tablet.webp new file mode 100644 index 000000000..2634c34b9 Binary files /dev/null and b/source/img/photo3-tablet.webp differ diff --git a/source/img/photo3-tablet@2x.jpg b/source/img/photo3-tablet@2x.jpg new file mode 100644 index 000000000..8242aa019 Binary files /dev/null and b/source/img/photo3-tablet@2x.jpg differ diff --git a/source/img/photo3-tablet@2x.webp b/source/img/photo3-tablet@2x.webp new file mode 100644 index 000000000..f4c847eb0 Binary files /dev/null and b/source/img/photo3-tablet@2x.webp differ diff --git a/source/img/photo4-desktop.jpg b/source/img/photo4-desktop.jpg new file mode 100644 index 000000000..b08ef9fbe Binary files /dev/null and b/source/img/photo4-desktop.jpg differ diff --git a/source/img/photo4-desktop.webp b/source/img/photo4-desktop.webp new file mode 100644 index 000000000..336de388e Binary files /dev/null and b/source/img/photo4-desktop.webp differ diff --git a/source/img/photo4-desktop@2x.jpg b/source/img/photo4-desktop@2x.jpg new file mode 100644 index 000000000..fea8b8e87 Binary files /dev/null and b/source/img/photo4-desktop@2x.jpg differ diff --git a/source/img/photo4-desktop@2x.webp b/source/img/photo4-desktop@2x.webp new file mode 100644 index 000000000..5e96369a4 Binary files /dev/null and b/source/img/photo4-desktop@2x.webp differ diff --git a/source/img/photo4-mobile.jpg b/source/img/photo4-mobile.jpg new file mode 100644 index 000000000..4a5a7cd59 Binary files /dev/null and b/source/img/photo4-mobile.jpg differ diff --git a/source/img/photo4-mobile.webp b/source/img/photo4-mobile.webp new file mode 100644 index 000000000..e1134354d Binary files /dev/null and b/source/img/photo4-mobile.webp differ diff --git a/source/img/photo4-mobile@2x.jpg b/source/img/photo4-mobile@2x.jpg new file mode 100644 index 000000000..a2b307bb8 Binary files /dev/null and b/source/img/photo4-mobile@2x.jpg differ diff --git a/source/img/photo4-mobile@2x.webp b/source/img/photo4-mobile@2x.webp new file mode 100644 index 000000000..f1439dbe0 Binary files /dev/null and b/source/img/photo4-mobile@2x.webp differ diff --git a/source/img/photo4-tablet.jpg b/source/img/photo4-tablet.jpg new file mode 100644 index 000000000..1a8ce614d Binary files /dev/null and b/source/img/photo4-tablet.jpg differ diff --git a/source/img/photo4-tablet.webp b/source/img/photo4-tablet.webp new file mode 100644 index 000000000..46dcd2701 Binary files /dev/null and b/source/img/photo4-tablet.webp differ diff --git a/source/img/photo4-tablet@2x.jpg b/source/img/photo4-tablet@2x.jpg new file mode 100644 index 000000000..e1ef9a1e7 Binary files /dev/null and b/source/img/photo4-tablet@2x.jpg differ diff --git a/source/img/photo4-tablet@2x.webp b/source/img/photo4-tablet@2x.webp new file mode 100644 index 000000000..3be7b1641 Binary files /dev/null and b/source/img/photo4-tablet@2x.webp differ diff --git a/source/img/sprite/README.md b/source/img/sprite/README.md deleted file mode 100644 index ad78a89c3..000000000 --- a/source/img/sprite/README.md +++ /dev/null @@ -1 +0,0 @@ -папка для иконок которые нужно собрать в спрайт diff --git a/source/img/sprite/arrow.svg b/source/img/sprite/arrow.svg new file mode 100644 index 000000000..aea665686 --- /dev/null +++ b/source/img/sprite/arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/arrowhead.svg b/source/img/sprite/arrowhead.svg new file mode 100644 index 000000000..63893ede3 --- /dev/null +++ b/source/img/sprite/arrowhead.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/boots.svg b/source/img/sprite/boots.svg new file mode 100644 index 000000000..6590f3d31 --- /dev/null +++ b/source/img/sprite/boots.svg @@ -0,0 +1,4 @@ + + + + diff --git a/source/img/sprite/burger-menu.svg b/source/img/sprite/burger-menu.svg new file mode 100644 index 000000000..38b3a117d --- /dev/null +++ b/source/img/sprite/burger-menu.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/source/img/sprite/close.svg b/source/img/sprite/close.svg new file mode 100644 index 000000000..d45cfb3a0 --- /dev/null +++ b/source/img/sprite/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/crown.svg b/source/img/sprite/crown.svg new file mode 100644 index 000000000..9f7b7d902 --- /dev/null +++ b/source/img/sprite/crown.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/leaf.svg b/source/img/sprite/leaf.svg new file mode 100644 index 000000000..4049494f8 --- /dev/null +++ b/source/img/sprite/leaf.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/level.svg b/source/img/sprite/level.svg new file mode 100644 index 000000000..5dd822a38 --- /dev/null +++ b/source/img/sprite/level.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/source/img/sprite/logo.svg b/source/img/sprite/logo.svg index aee2e13c0..1e6d1c329 100644 --- a/source/img/sprite/logo.svg +++ b/source/img/sprite/logo.svg @@ -1,15 +1,42 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/img/sprite/mail.svg b/source/img/sprite/mail.svg new file mode 100644 index 000000000..3a6e273a3 --- /dev/null +++ b/source/img/sprite/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/map-vector.svg b/source/img/sprite/map-vector.svg new file mode 100644 index 000000000..386c09df1 --- /dev/null +++ b/source/img/sprite/map-vector.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/source/img/sprite/moon.svg b/source/img/sprite/moon.svg new file mode 100644 index 000000000..142819b80 --- /dev/null +++ b/source/img/sprite/moon.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/mountain.svg b/source/img/sprite/mountain.svg new file mode 100644 index 000000000..d7858c618 --- /dev/null +++ b/source/img/sprite/mountain.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/source/img/sprite/ok.svg b/source/img/sprite/ok.svg new file mode 100644 index 000000000..9fe8e5fac --- /dev/null +++ b/source/img/sprite/ok.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/pagination-active.svg b/source/img/sprite/pagination-active.svg new file mode 100644 index 000000000..c0185ff75 --- /dev/null +++ b/source/img/sprite/pagination-active.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/pagination.svg b/source/img/sprite/pagination.svg new file mode 100644 index 000000000..220041a18 --- /dev/null +++ b/source/img/sprite/pagination.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/path.svg b/source/img/sprite/path.svg new file mode 100644 index 000000000..6c59c4810 --- /dev/null +++ b/source/img/sprite/path.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/source/img/sprite/phone.svg b/source/img/sprite/phone.svg new file mode 100644 index 000000000..52ed97e3a --- /dev/null +++ b/source/img/sprite/phone.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/source/img/sprite/pin-filled.svg b/source/img/sprite/pin-filled.svg new file mode 100644 index 000000000..65ccaf56e --- /dev/null +++ b/source/img/sprite/pin-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/pin-stroke.svg b/source/img/sprite/pin-stroke.svg new file mode 100644 index 000000000..746aa6ef5 --- /dev/null +++ b/source/img/sprite/pin-stroke.svg @@ -0,0 +1,4 @@ + + + + diff --git a/source/img/sprite/reddit.svg b/source/img/sprite/reddit.svg new file mode 100644 index 000000000..7ac57fd99 --- /dev/null +++ b/source/img/sprite/reddit.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/security.svg b/source/img/sprite/security.svg new file mode 100644 index 000000000..571b1ac19 --- /dev/null +++ b/source/img/sprite/security.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/star-stroke.svg b/source/img/sprite/star-stroke.svg new file mode 100644 index 000000000..c9a099cee --- /dev/null +++ b/source/img/sprite/star-stroke.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/star.svg b/source/img/sprite/star.svg new file mode 100644 index 000000000..bc5791934 --- /dev/null +++ b/source/img/sprite/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/sprite/stars3.svg b/source/img/sprite/stars3.svg new file mode 100644 index 000000000..2d5d46075 --- /dev/null +++ b/source/img/sprite/stars3.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/source/img/sprite/stars4.svg b/source/img/sprite/stars4.svg new file mode 100644 index 000000000..5bfc193b6 --- /dev/null +++ b/source/img/sprite/stars4.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/source/img/sprite/stars5.svg b/source/img/sprite/stars5.svg new file mode 100644 index 000000000..91c1e3e82 --- /dev/null +++ b/source/img/sprite/stars5.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/source/img/sprite/sun.svg b/source/img/sprite/sun.svg new file mode 100644 index 000000000..c19103750 --- /dev/null +++ b/source/img/sprite/sun.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/source/img/sprite/trees.svg b/source/img/sprite/trees.svg new file mode 100644 index 000000000..58ad76684 --- /dev/null +++ b/source/img/sprite/trees.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/source/img/sprite/user.svg b/source/img/sprite/user.svg deleted file mode 100644 index 6873ae6e1..000000000 --- a/source/img/sprite/user.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/source/img/sprite/vk.svg b/source/img/sprite/vk.svg new file mode 100644 index 000000000..749f3668b --- /dev/null +++ b/source/img/sprite/vk.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/tours1-desktop.jpg b/source/img/tours1-desktop.jpg new file mode 100644 index 000000000..7801e1042 Binary files /dev/null and b/source/img/tours1-desktop.jpg differ diff --git a/source/img/tours1-desktop.webp b/source/img/tours1-desktop.webp new file mode 100644 index 000000000..cbf5d403a Binary files /dev/null and b/source/img/tours1-desktop.webp differ diff --git a/source/img/tours1-desktop@2x.jpg b/source/img/tours1-desktop@2x.jpg new file mode 100644 index 000000000..e34a2cb5d Binary files /dev/null and b/source/img/tours1-desktop@2x.jpg differ diff --git a/source/img/tours1-desktop@2x.webp b/source/img/tours1-desktop@2x.webp new file mode 100644 index 000000000..2332f9bf8 Binary files /dev/null and b/source/img/tours1-desktop@2x.webp differ diff --git a/source/img/tours1-mobile.jpg b/source/img/tours1-mobile.jpg new file mode 100644 index 000000000..34e815a77 Binary files /dev/null and b/source/img/tours1-mobile.jpg differ diff --git a/source/img/tours1-mobile.webp b/source/img/tours1-mobile.webp new file mode 100644 index 000000000..58adbf185 Binary files /dev/null and b/source/img/tours1-mobile.webp differ diff --git a/source/img/tours1-mobile@2x.jpg b/source/img/tours1-mobile@2x.jpg new file mode 100644 index 000000000..aa7405114 Binary files /dev/null and b/source/img/tours1-mobile@2x.jpg differ diff --git a/source/img/tours1-mobile@2x.webp b/source/img/tours1-mobile@2x.webp new file mode 100644 index 000000000..6061d87ac Binary files /dev/null and b/source/img/tours1-mobile@2x.webp differ diff --git a/source/img/tours1-tablet.jpg b/source/img/tours1-tablet.jpg new file mode 100644 index 000000000..5ae7fbe22 Binary files /dev/null and b/source/img/tours1-tablet.jpg differ diff --git a/source/img/tours1-tablet.webp b/source/img/tours1-tablet.webp new file mode 100644 index 000000000..bbaabba24 Binary files /dev/null and b/source/img/tours1-tablet.webp differ diff --git a/source/img/tours1-tablet@2x.jpg b/source/img/tours1-tablet@2x.jpg new file mode 100644 index 000000000..5d02d77c2 Binary files /dev/null and b/source/img/tours1-tablet@2x.jpg differ diff --git a/source/img/tours1-tablet@2x.webp b/source/img/tours1-tablet@2x.webp new file mode 100644 index 000000000..db827980e Binary files /dev/null and b/source/img/tours1-tablet@2x.webp differ diff --git a/source/img/tours2-desktop.jpg b/source/img/tours2-desktop.jpg new file mode 100644 index 000000000..be0b69964 Binary files /dev/null and b/source/img/tours2-desktop.jpg differ diff --git a/source/img/tours2-desktop.webp b/source/img/tours2-desktop.webp new file mode 100644 index 000000000..7a5173111 Binary files /dev/null and b/source/img/tours2-desktop.webp differ diff --git a/source/img/tours2-desktop@2x.jpg b/source/img/tours2-desktop@2x.jpg new file mode 100644 index 000000000..7028c8f7c Binary files /dev/null and b/source/img/tours2-desktop@2x.jpg differ diff --git a/source/img/tours2-desktop@2x.webp b/source/img/tours2-desktop@2x.webp new file mode 100644 index 000000000..d9ab71d11 Binary files /dev/null and b/source/img/tours2-desktop@2x.webp differ diff --git a/source/img/tours2-mobile.jpg b/source/img/tours2-mobile.jpg new file mode 100644 index 000000000..1be91db85 Binary files /dev/null and b/source/img/tours2-mobile.jpg differ diff --git a/source/img/tours2-mobile.webp b/source/img/tours2-mobile.webp new file mode 100644 index 000000000..a2acf68df Binary files /dev/null and b/source/img/tours2-mobile.webp differ diff --git a/source/img/tours2-mobile@2x.jpg b/source/img/tours2-mobile@2x.jpg new file mode 100644 index 000000000..550c8ad03 Binary files /dev/null and b/source/img/tours2-mobile@2x.jpg differ diff --git a/source/img/tours2-mobile@2x.webp b/source/img/tours2-mobile@2x.webp new file mode 100644 index 000000000..6ba0f66aa Binary files /dev/null and b/source/img/tours2-mobile@2x.webp differ diff --git a/source/img/tours2-tablet.jpg b/source/img/tours2-tablet.jpg new file mode 100644 index 000000000..298792b83 Binary files /dev/null and b/source/img/tours2-tablet.jpg differ diff --git a/source/img/tours2-tablet.webp b/source/img/tours2-tablet.webp new file mode 100644 index 000000000..6e71aa65d Binary files /dev/null and b/source/img/tours2-tablet.webp differ diff --git a/source/img/tours2-tablet@2x.jpg b/source/img/tours2-tablet@2x.jpg new file mode 100644 index 000000000..48189e0d8 Binary files /dev/null and b/source/img/tours2-tablet@2x.jpg differ diff --git a/source/img/tours2-tablet@2x.webp b/source/img/tours2-tablet@2x.webp new file mode 100644 index 000000000..607eece09 Binary files /dev/null and b/source/img/tours2-tablet@2x.webp differ diff --git a/source/img/tours3-desktop.jpg b/source/img/tours3-desktop.jpg new file mode 100644 index 000000000..06fb48de8 Binary files /dev/null and b/source/img/tours3-desktop.jpg differ diff --git a/source/img/tours3-desktop.webp b/source/img/tours3-desktop.webp new file mode 100644 index 000000000..03f2c4372 Binary files /dev/null and b/source/img/tours3-desktop.webp differ diff --git a/source/img/tours3-desktop@2x.jpg b/source/img/tours3-desktop@2x.jpg new file mode 100644 index 000000000..f4a633b45 Binary files /dev/null and b/source/img/tours3-desktop@2x.jpg differ diff --git a/source/img/tours3-desktop@2x.webp b/source/img/tours3-desktop@2x.webp new file mode 100644 index 000000000..a975ac017 Binary files /dev/null and b/source/img/tours3-desktop@2x.webp differ diff --git a/source/img/tours3-mobile.jpg b/source/img/tours3-mobile.jpg new file mode 100644 index 000000000..268d99031 Binary files /dev/null and b/source/img/tours3-mobile.jpg differ diff --git a/source/img/tours3-mobile.webp b/source/img/tours3-mobile.webp new file mode 100644 index 000000000..5202647ba Binary files /dev/null and b/source/img/tours3-mobile.webp differ diff --git a/source/img/tours3-mobile@2x.jpg b/source/img/tours3-mobile@2x.jpg new file mode 100644 index 000000000..07eb7b46e Binary files /dev/null and b/source/img/tours3-mobile@2x.jpg differ diff --git a/source/img/tours3-mobile@2x.webp b/source/img/tours3-mobile@2x.webp new file mode 100644 index 000000000..9beb47969 Binary files /dev/null and b/source/img/tours3-mobile@2x.webp differ diff --git a/source/img/tours3-tablet.jpg b/source/img/tours3-tablet.jpg new file mode 100644 index 000000000..632765fde Binary files /dev/null and b/source/img/tours3-tablet.jpg differ diff --git a/source/img/tours3-tablet.webp b/source/img/tours3-tablet.webp new file mode 100644 index 000000000..ee0c10ac7 Binary files /dev/null and b/source/img/tours3-tablet.webp differ diff --git a/source/img/tours3-tablet@2x.jpg b/source/img/tours3-tablet@2x.jpg new file mode 100644 index 000000000..7db1c4473 Binary files /dev/null and b/source/img/tours3-tablet@2x.jpg differ diff --git a/source/img/tours3-tablet@2x.webp b/source/img/tours3-tablet@2x.webp new file mode 100644 index 000000000..548ebfc15 Binary files /dev/null and b/source/img/tours3-tablet@2x.webp differ diff --git a/source/img/tours4-desktop.jpg b/source/img/tours4-desktop.jpg new file mode 100644 index 000000000..0d2f670db Binary files /dev/null and b/source/img/tours4-desktop.jpg differ diff --git a/source/img/tours4-desktop.webp b/source/img/tours4-desktop.webp new file mode 100644 index 000000000..9cdc2095b Binary files /dev/null and b/source/img/tours4-desktop.webp differ diff --git a/source/img/tours4-desktop@2x.jpg b/source/img/tours4-desktop@2x.jpg new file mode 100644 index 000000000..2420c616c Binary files /dev/null and b/source/img/tours4-desktop@2x.jpg differ diff --git a/source/img/tours4-desktop@2x.webp b/source/img/tours4-desktop@2x.webp new file mode 100644 index 000000000..5e72f31d4 Binary files /dev/null and b/source/img/tours4-desktop@2x.webp differ diff --git a/source/img/tours4-mobile.jpg b/source/img/tours4-mobile.jpg new file mode 100644 index 000000000..0fa43b9d8 Binary files /dev/null and b/source/img/tours4-mobile.jpg differ diff --git a/source/img/tours4-mobile.webp b/source/img/tours4-mobile.webp new file mode 100644 index 000000000..a23014f7d Binary files /dev/null and b/source/img/tours4-mobile.webp differ diff --git a/source/img/tours4-mobile@2x.jpg b/source/img/tours4-mobile@2x.jpg new file mode 100644 index 000000000..b08ad9f83 Binary files /dev/null and b/source/img/tours4-mobile@2x.jpg differ diff --git a/source/img/tours4-mobile@2x.webp b/source/img/tours4-mobile@2x.webp new file mode 100644 index 000000000..191a2d2a5 Binary files /dev/null and b/source/img/tours4-mobile@2x.webp differ diff --git a/source/img/tours4-tablet.jpg b/source/img/tours4-tablet.jpg new file mode 100644 index 000000000..8ad1d36bd Binary files /dev/null and b/source/img/tours4-tablet.jpg differ diff --git a/source/img/tours4-tablet.webp b/source/img/tours4-tablet.webp new file mode 100644 index 000000000..e1b116eb9 Binary files /dev/null and b/source/img/tours4-tablet.webp differ diff --git a/source/img/tours4-tablet@2x.jpg b/source/img/tours4-tablet@2x.jpg new file mode 100644 index 000000000..a04a3f9a6 Binary files /dev/null and b/source/img/tours4-tablet@2x.jpg differ diff --git a/source/img/tours4-tablet@2x.webp b/source/img/tours4-tablet@2x.webp new file mode 100644 index 000000000..6e88b99e4 Binary files /dev/null and b/source/img/tours4-tablet@2x.webp differ diff --git "a/source/img/\321\201aucasus-mobile.jpg" "b/source/img/\321\201aucasus-mobile.jpg" new file mode 100644 index 000000000..730b84718 Binary files /dev/null and "b/source/img/\321\201aucasus-mobile.jpg" differ diff --git "a/source/img/\321\201aucasus-mobile.webp" "b/source/img/\321\201aucasus-mobile.webp" new file mode 100644 index 000000000..4204b2a2e Binary files /dev/null and "b/source/img/\321\201aucasus-mobile.webp" differ diff --git "a/source/img/\321\201aucasus-mobile@2x.jpg" "b/source/img/\321\201aucasus-mobile@2x.jpg" new file mode 100644 index 000000000..2a3aca8bb Binary files /dev/null and "b/source/img/\321\201aucasus-mobile@2x.jpg" differ diff --git "a/source/img/\321\201aucasus-mobile@2x.webp" "b/source/img/\321\201aucasus-mobile@2x.webp" new file mode 100644 index 000000000..68a3ca0f6 Binary files /dev/null and "b/source/img/\321\201aucasus-mobile@2x.webp" differ diff --git a/source/index.html b/source/index.html index 0ce0e1c9c..90c6238ec 100644 --- a/source/index.html +++ b/source/index.html @@ -5,27 +5,991 @@ Lifetour + + + + + + + + - - - Это спрайт - - - - -
header
-
hero
-
tours
-
training
-
about
-
reviews
-
adv
-
gallery
-
form
-
footer
+ +
+
+
+ + +
+
+
+

Туры в горах.

+
+
    +
  • + + + + + + + Фото вершин Кавказа. + +
    +

    Захватывающие вершины Кавказа

    +

    В сопровождении опытных гидов вы пройдёте через потрясающие ландшафты и совершите
    восход на вершину горы Чегет.

    + Смотреть тур +
    + 6 дней/5 ночей + Высокая сложность +
    +
    +
  • +
  • + + + + + + + Фото природы Камчатки. + +
    +

    Невероятная природа Камчатки

    +

    Незабываемое приключение, во время которого вы отправитесь в путешествие по одному из самых нетронутых уголков дикой природы в мире.

    + Смотреть тур +
    + 9 дней/10 ночей + Средняя сложность +
    +
    +
  • +
  • + + + + + + + Фото природы Алтайского края. + +
    +

    Магические пейзажи Алтайского Края

    +

    Алтайский трекинг-тур — это захватывающее приключение с посещением магических и захватывающих дух ландшафтов Алтайских гор.

    + Смотреть тур +
    + 8 дней/7 ночей + Лёгкая сложность +
    +
    +
  • +
+
+ + + +
+
+
+
+
+

Ближайшие туры

+ +
+ + +
+
+
    +
  • + + + + + + + Фото гор Кавказа. + +
    +
    + Кавказ +
    + 4 дня + 3 ночи +
    +
    +
    Путешествие вокруг Эльбруса
    + + + + + + + + + + + + + + + +
    Сложность:Даты набора:Группа:
    12.06–19.06до 15 чел.
    +
    +
  • +
  • + + + + + + + Фото гор Алтая. + +
    +
    + Алтай +
    + 14 дней + 13 ночей +
    +
    +
    Путь к подножию Белухи
    + + + + + + + + + + + + + + + +
    Сложность:Даты набора:Группа:
    14.06–23.06до 25 чел.
    +
    +
  • +
  • + + + + + + + Фото гор Адыгеи. + +
    +
    + Адыгея +
    + 7 дней + 6 ночей +
    +
    +
    Через Фишт к Чёрному морю и обратно
    + + + + + + + + + + + + + + + +
    Сложность:Даты набора:Группа:
    15.07–19.07до 22 чел.
    +
    +
  • +
  • + + + + + + + Фото гор Урала. + +
    +
    + Урал +
    + 9 дней + 10 ночей +
    +
    +
    Восхождение Манарага
    + + + + + + + + + + + + + + + +
    Сложность:Даты набора:Группа:
    14.06–23.06до 7 чел.
    +
    +
  • +
+
+ Показать все туры +
+
+
+
+

Обучение

+ +

Обучение проводится квалифицированными специалистами, за плечами которых десятки пройденных маршрутов Кавказа, Крыма, Гималаев, Эльбруса, Алтая, Карелии, Адыгеи и других.

+ +
+ + +
+
+
    +
  • + + + + + + + Фото инструктора Александра. + +
    Александр
    Прокофьев
    +

    Строгий и внимательный инструктор, весёлый и общительный человек. Любит природу.

    + +
  • +
  • +
    + + + + + + + Фото инструктора Светланы. + +
    +
    Светлана
    Афиногенова
    +

    Видеть мир вокруг, познавать его опасности, находить друг друга, становиться ближе, чувствовать — в этом назначение жизни.

    + +
  • +
  • + + + + + + + Фото инструктора Надежды. + +
    Надежда
    Колесниченко
    +

    Участники говорят, что Надежда ответственная, приятная в общении, и в поездках с ней чувствуешь себя спокойно и уверенно.

    + +
  • +
  • + + + + + + + Фото инструктора Федора. + +
    Федор
    Кайгородов
    +

    Опыт походов: Ходит в походы с 2001 года. В России побывал в горных районах Хибины, Архыз, много путешествует по Европе.

    + +
  • +
  • + + + + + + + Фото инструктора Даниэля. + +
    Даниэль
    Васнецов
    +

    Покорял самые сложные вершины. Выбирался из под лавин, дружит с медведями и не только.

    + +
  • +
+
+
Процесс обучения
+
    +
  • Изучение спортивногo
    туристского движения
  • +
  • Подготовка и техническое
    снаряжение в походах
  • +
  • Лекции по окружающей среде, экологии и гигиене
  • +
  • Разъяснение сложности горных препятствий
  • +
+
+
+
+ + + + + + + Фото похода людей в горах. + +
+

О нас

+ +

История компании

+

В далёком 2000 году мы начали заниматься туризмом — походы, поездки, восхождения, нам это настолько понравилось, что мы этим стали жить. Спустя 5 лет, в 2005 году мы основали компанию, чтобы показывать людям удивительные места нашей страны.

+

Наша цель

+

Подарить вам незабываемые впечатления от похода в горы. Мы берём на себя все организационные вопросы. При организации мы обязательно учтём все ваши пожелания. Вам останется только наслаждаться незабываемым приключением в приятной компании.

+
+
+
+
+
+

Отзывы

+ +
+ + +
+
+
+
    +
  • +
    + + + + + + + Фото Александра. + +
    +
    +

    Осенью ходили в поход на Алтай с друзьями. Впечатления потрясающие! Инструкторы, настоящие эксперты, всему научили, все показали. Делились историями о местах, людях, культуре места.

    +

    С уверенностью могу сказать, что жизнь разделилась на до этого и после. Ещё никогда не отдыхал так душой и телом. Всем очень рекомендую!

    +
    +
    + Фролов Александр +

    38 лет, Москва

    +
    +
    +
    +
  • +
  • +
    + + + + + + + Фото Ивана. + +
    +
    +

    Хороший полноценный поход с разнообразными локациями. В начале дорога идёт по лыжне, далее прошли мимо полигона, по болотам, у озёр и лесных ручьёв, остатков дач конца 19 века. Было очень интересно!

    +

    Инструктор Федор дружелюбный, внимательный к технике безопасности и своим туристам. Всем советую этот тур.

    +
    +
    + Иван Соловьёв +

    25 лет, Владивосток

    +
    +
    +
    +
  • +
  • +
    + + + + + + + Фото Евгении. + +
    +
    +

    Ранее не ходила на такие длинные дистанции. В первый день прошли около 30 км, физически я устала на 18 км, поэтому не была уверена, пройду ли до конца. Но я справилась. Второй день прошёл легче, чем ожидала, видимо организм уже привык.

    +

    Спасибо ребятам, инструкторам за помощь и поддержку! Я была рада быть в такой компании.

    +
    +
    + Евгения Баженова +

    23 года, Кострома

    +
    +
    +
    +
  • +
  • +
    + + + + + + + Фото Елены. + +
    +
    +

    Это был опыт, изменивший мою жизнь! Думала, не справлюсь, но все получилось! Дух захватывает, когда наконец‑то, преодолев все трудности и препятствия, взбираешься на вершину.

    +

    У нас собралась потрясающая команда. Все друг друга поддерживали, по вечерам мы сидели вместе у костра и пели песни. Обязательно повторю такое приключение!

    +
    +
    + Елена Пирогова +

    37 лет, Тюмень

    +
    +
    +
    +
  • +
+
+
+
+
+
+
+
+
+

Преимущества

+ +
+
+
    +
  • +
    Безопасность
    +

    Уделяем внимание безопасности клиентов, внедряя строгие процедуры и протоколы безопасности. Имеем планы действий на случай непредвиденных обстоятельств и даём гарантию полной безопасности во время всего тура.

    +
  • +
  • +
    Экспертиза и знания
    +

    Наша команда опытных гидов имеет обширные знания о местности, погодных условиях и технике безопасности. Это
    гарантирует, что наши клиенты находятся в надёжных руках и могут в полной мере насладиться опытом без опасений.

    +
  • +
  • +
    Оборудование и снаряжение
    +

    Мы предоставляем клиентам все необходимое оборудование, необходимое для путешествия. Это избавляет клиентов от необходимости покупать, брать с собой снаряжение, что делает путешествие более удобным и экономически выгодным.

    +
  • +
  • +
    Индивидуальные маршруты
    +

    Предлагаем широкий выбор туров, отвечающих различным уровням мастерства и интересам. Мы также можем адаптировать маршруты к вашим конкретным потребностям и предпочтениям, чтобы вы получили индивидуальный опыт.

    +
  • +
  • +
    Бережное отношение к природе
    +

    Уделяем первостепенное внимание охране окружающей среды и гарантируем, что туры оказывают минимальное воздействие на природную среду. Наша компания следует принципу «Не оставлять следов».

    +
  • +
+
+
+ + +
+
+
+ +
+
+ +

Заполните форму и наш оператор
свяжется
с вами для консультации.

+
+
+ + +
+
+ + +
+ +
+
+
+
+ + + + + diff --git a/source/js/advantages.js b/source/js/advantages.js new file mode 100644 index 000000000..38d6a73a5 --- /dev/null +++ b/source/js/advantages.js @@ -0,0 +1,30 @@ +import Swiper from 'swiper/bundle'; +import 'swiper/scss'; + +new Swiper('#swiper-advantages', { + loop: true, + navigation: { + nextEl: '.advantages__button-next', + prevEl: '.advantages__button-prev', + }, + breakpoints: { + 320: { + slidesPerView: 1, + noSwiping: false, + allowSlidePrev: false, + allowSlideNext: false + }, + 768: { + slidesPerView: 2, + noSwiping: false, + allowSlidePrev: false, + allowSlideNext: false + }, + 1440: { + slidesPerView: 1.76, + noSwiping: true, + allowSlidePrev: true, + allowSlideNext: true, + } + } +}); diff --git a/source/js/form.js b/source/js/form.js new file mode 100644 index 000000000..46c76ee80 --- /dev/null +++ b/source/js/form.js @@ -0,0 +1,35 @@ +const phoneInput = document.querySelector('#phone'); +const emailInput = document.querySelector('#email'); +const sectionForm = document.querySelector('.form__position'); +const formButton = document.querySelector('.form__position .form__button'); + +function validatePhone() { + const phonePattern = /^\+\d+$/; + if (!phonePattern.test(phoneInput.value)) { + phoneInput.classList.add('error'); + return false; + } + phoneInput.classList.remove('error'); + return true; +} + +function validateEmail() { + const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + if (!emailPattern.test(emailInput.value)) { + emailInput.classList.add('error'); + return false; + } + emailInput.classList.remove('error'); + return true; +} + +export function validateForm() { + + formButton.addEventListener('click', (e) => { + e.preventDefault(); + const isValid = validatePhone() && validateEmail(); + if (isValid) { + sectionForm.submit(); + } + }); +} diff --git a/source/js/gallery.js b/source/js/gallery.js new file mode 100644 index 000000000..19d6e76ef --- /dev/null +++ b/source/js/gallery.js @@ -0,0 +1,25 @@ +import Swiper from 'swiper/bundle'; +import 'swiper/scss'; + +new Swiper('#swiper-gallery', { + navigation: { + nextEl: '.gallery__button-next', + prevEl: '.gallery__button-prev', + }, + breakpoints: { + 320: { + spaceBetween: 6, + slidesPerView: 2, + }, + 768: { + loop: true, + spaceBetween: 4, + slidesPerView: 3, + }, + 1440: { + loop:false, + spaceBetween: 6, + slidesPerView: 5, + } + } +}); diff --git a/source/js/hero.js b/source/js/hero.js new file mode 100644 index 000000000..c90dda94c --- /dev/null +++ b/source/js/hero.js @@ -0,0 +1,16 @@ +import Swiper from 'swiper'; +import 'swiper/css'; +import { Pagination } from 'swiper/modules'; + + +new Swiper('#swiper-hero', { + loop: true, + pagination: { + el: '.swiper-pagination', + clickable: true, + modifierClass: 'hero__wrapper-pagination', + bulletClass: 'hero__button-pagination', + bulletActiveClass: 'hero__button-pagination--active', + }, + modules: [Pagination], +}); diff --git a/source/js/main.js b/source/js/main.js index 70fde252c..c79f80dda 100644 --- a/source/js/main.js +++ b/source/js/main.js @@ -1,4 +1,8 @@ -// https://swiperjs.com/get-started#installation -// import Swiper from "swiper"; -// import {Navigation, Pagination} from "swiper/modules"; -// import 'swiper/css'; +import './menu'; +import './hero'; +import './tours'; +import './training'; +import './reviews'; +import './advantages'; +import './gallery'; +import './form'; diff --git a/source/js/menu.js b/source/js/menu.js new file mode 100644 index 000000000..ba97b9f44 --- /dev/null +++ b/source/js/menu.js @@ -0,0 +1,17 @@ +const burger = document.querySelector('.header__button'); +const menu = document.querySelector('.header__nav-wrapper'); +const menuLinks = document.querySelectorAll('.header__nav-link'); + +burger.addEventListener('click', () => { + menu.classList.toggle('active'); + burger.classList.toggle('active'); + document.body.style.overflow = 'hidden'; +}); + +menuLinks.forEach((link) => + link.addEventListener('click', () => { + menu.classList.remove('active'); + burger.classList.remove('active'); + document.body.style.overflow = 'auto'; + }) +); diff --git a/source/js/reviews.js b/source/js/reviews.js new file mode 100644 index 000000000..22b30c7fe --- /dev/null +++ b/source/js/reviews.js @@ -0,0 +1,21 @@ +import Swiper from 'swiper/bundle'; +import 'swiper/scss'; + +new Swiper('#swiper-reviews', { + navigation: { + nextEl: '.reviews__button-next', + prevEl: '.reviews__button-prev', + }, + breakpoints: { + 320: { + slidesPerView: 1, + }, + 768: { + slidesPerView: 1.65, + }, + 1440: { + spaceBetween: 120, + slidesPerView: 1.82, + } + } +}); diff --git a/source/js/tours.js b/source/js/tours.js new file mode 100644 index 000000000..4d905cfc3 --- /dev/null +++ b/source/js/tours.js @@ -0,0 +1,23 @@ +import Swiper from 'swiper/bundle'; +import 'swiper/scss'; + +new Swiper('#swiper-tours', { + spaceBetween: 18, + navigation: { + nextEl: '.tours__button-next', + prevEl: '.tours__button-prev', + }, + breakpoints: { + 320: { + slidesPerView: 1, + }, + 768: { + spaceBetween: 18, + slidesPerView: 2, + }, + 1440: { + spaceBetween: 30, + slidesPerView: 3, + } + } +}); diff --git a/source/js/training.js b/source/js/training.js new file mode 100644 index 000000000..878b20502 --- /dev/null +++ b/source/js/training.js @@ -0,0 +1,25 @@ +import Swiper from 'swiper/bundle'; +import 'swiper/scss'; + +new Swiper('#swiper-training', { + navigation: { + nextEl: '.training__button-next', + prevEl: '.training__button-prev', + }, + breakpoints: { + 320: { + spaceBetween: 15, + slidesPerView: 1, + initialSlide: 2, + }, + 768: { + spaceBetween: 20, + slidesPerView: 3, + initialSlide: 0, + }, + 1440: { + spaceBetween: 20, + slidesPerView: 4, + } + } +}); diff --git a/source/public/favicon.ico b/source/public/favicon.ico deleted file mode 100644 index c91ede970..000000000 Binary files a/source/public/favicon.ico and /dev/null differ diff --git a/source/sass/blocks/about.scss b/source/sass/blocks/about.scss new file mode 100644 index 000000000..bf940c26d --- /dev/null +++ b/source/sass/blocks/about.scss @@ -0,0 +1,142 @@ +.about { + min-width: 320px; + padding: 20px 0 21px; + overflow: hidden; + + @media (min-width: $min-width-mobile) { + width: 100%; + } + + @media (min-width: $min-width-tablet) { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 40px 48px 40px 0; + } + + @media (min-width: $min-width-desktop) { + justify-content: flex-start; + padding: 100px 195px 100px 0; + } +} + +.about__picture { + display: block; + width: $min-width-mobile; + height: 400px; + + @media (min-width: $min-width-tablet) { + position: relative; + top: 134px; + width: 450px; + height: 498px; + } + + @media (min-width: $min-width-desktop) { + position: relative; + top: 0; + width: 660px; + } +} + +.about__wrapper-text { + position: relative; + width: $min-width-mobile; + margin: 0; + padding: 0 15px; + + h2 { + position: absolute; + top: -13px; + left: 15px; + margin: 0; + opacity: 3%; + font-weight: 800; + font-size: 26px; + line-height: 26px; + } + + h3 { + margin: 16px 0 43px; + font-weight: 800; + font-size: 22px; + line-height: 22px; + } + + h4 { + margin: 27px 0 13px; + font-weight: 700; + font-size: 16px; + line-height: 16px; + } + + p { + margin: 0; + font-weight: 400; + font-size: 14px; + line-height: 20px; + } + + @media (min-width: $min-width-tablet) { + width: 270px; + padding: 0; + margin-bottom: 2px; + + h2 { + top: 7px; + left: 0; + font-size: 40px; + line-height: 40px; + } + + h3 { + margin: 20px 0 48px; + font-size: 25px; + line-height: 25px; + } + + h4 { + margin: 29px 0 11px; + font-size: 18px; + line-height: 18px; + } + + p { + font-size: 16px; + line-height: 24px; + } + } + + @media (min-width: $min-width-desktop) { + width: 585px; + min-height: 420px; + display: flex; + align-items: flex-start; + flex-direction: column; + justify-content: flex-start; + + h2 { + top: 6px; + left: 0; + font-size: 55px; + line-height: 55px; + } + + h3 { + margin: 45px 0 30px; + font-size: 35px; + line-height: 35px; + } + + h4 { + margin: 29px 0 16px; + font-size: 21px; + line-height: 21px; + } + + p { + font-size: 14px; + line-height: 22px; + } + } +} diff --git a/source/sass/blocks/advantages.scss b/source/sass/blocks/advantages.scss new file mode 100644 index 000000000..cbee062dc --- /dev/null +++ b/source/sass/blocks/advantages.scss @@ -0,0 +1,444 @@ +.advantages { + position: relative; + overflow: hidden; + + @media (min-width: $min-width-tablet) { + width: 100vw; + margin-left: calc(50% - 50vw); + } + + @media (min-width: $min-width-desktop) { + height: 734px; + padding: 100px 0; + } +} + +.advantages__container { + @media (min-width: $min-width-desktop) { + width: 1440px; + margin: 0 auto; + } +} + +.advantages__width { + @media (min-width: $min-width-tablet) { + position: relative; + width: 768px; + margin: 0 auto; + + &::after { + position: absolute; + content: ""; + top: 765px; + right: -52px; + width: 620px; + height: 401px; + background-image: image-set("../../img/background3-tablet.png" 1x, "../../img/background3-tablet@2x.png" 2x, "../../img/background3-tablet.webp" 1x, "../../img/background3-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + + &::before { + position: absolute; + content: ""; + top: 266px; + left: -284px; + width: 750px; + height: 301px; + background-image: image-set("../../img/background-tablet.png" 1x, "../../img/background-tablet@2x.png" 2x, "../../img/background-tablet.webp" 1x, "../../img/background-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + } + + @media (min-width: $min-width-desktop) { + position: relative; + + &::after { + top: -198px; + right: -494px; + } + + &::before { + top: -382px; + left: -486px; + } + } +} + +.advantages__title { + margin: 0 0 17px; + padding-top: 36px; + text-align: center; + + @media (min-width: $min-width-tablet) { + position: relative; + margin: 0 auto 11px; + padding-top: 60px; + width: 768px; + } + + @media (min-width: $min-width-desktop) { + margin: 0 0 1px; + padding-top: 35px; + } +} + +.advantages__title-background { + position: absolute; + top: 23px; + left: 51px; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 45px; + left: 217px; + font-weight: 800; + font-size: 40px; + line-height: 40px; + } + + @media (min-width: $min-width-desktop) { + top: 6px; + left: 154px; + font-size: 55px; + line-height: 55px; + } +} + +.advantages__list { + display: flex; + flex-direction: column; + gap: 15px; + margin: 0; + padding: 20px 15px; + list-style: none; + + @media (min-width: $min-width-tablet) { + position: relative; + max-width: 678px; + flex-wrap: wrap; + justify-content: center; + flex-direction: row; + column-gap: 30px; + row-gap: 32px; + margin: 0 auto; + padding: 50px 45px 39px; + } + + @media (min-width: $min-width-desktop) { + flex-wrap: nowrap; + min-width: 100%; + max-width: 100%; + padding: 50px 0; + gap: 30px; + } +} + +.advantages__item { + position: relative; + display: flex; + flex-direction: column; + justify-content: flex-end; + align-items: center; + max-width: 290px; + padding: 20px 10px; + outline: 1px solid rgba(2, 102, 193, 0.1); + text-align: center; + background-color: $base-white; + + &::before { + position: absolute; + content: ""; + top: 21px; + left: 125px; + width: 40px; + height: 40px; + outline: 1px solid $bg; + } + + h5 { + margin: 62px 0 15px; + padding: 0; + font-weight: 600; + font-size: 14px; + line-height: 14px; + } + + p { + margin: 0; + } + + br { + display: none; + } + + @media (min-width: $min-width-tablet) { + min-width: 324px; + padding: 29px 20px; + + + &::before { + top: 30px; + left: 139px; + width: 46px; + height: 46px; + } + + h5 { + max-width: 284px; + margin: 73px 0 15px; + font-size: 16px; + line-height: 16px; + } + + p { + font-weight: 400; + font-size: 14px; + line-height: 22px; + } + } + + @media (min-width: $min-width-desktop) { + min-width: 380px; + padding: 40px 20px; + + &::before { + top: 40px; + left: 164px; + width: 52px; + height: 52px; + } + + h5 { + max-width: 340px; + margin: 84px 0 15px; + font-size: 18px; + line-height: 18px; + } + + br { + display: block; + } + } +} + +.advantages__item--safety { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 29px; + left: 133px; + width: 24px; + height: 24px; + padding: 9px; + mask-image: url("../__spritemap#sprite-security-view"); + mask-repeat: no-repeat; + mask-size: 24px 24px; + background-color: $bg; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 41px; + left: 150px; + padding: 12px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 54px; + left: 177px; + padding: 15px; + } + } +} + +.advantages__item--expertise { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 29px; + left: 133px; + width: 24px; + height: 24px; + padding: 9px; + mask-image: url("../__spritemap#sprite-crown-view"); + mask-repeat: no-repeat; + mask-size: 24px 24px; + background-color: $bg; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 41px; + left: 150px; + padding: 12px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 54px; + left: 177px; + padding: 15px; + } + } +} + +.advantages__item--equipment { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 29px; + left: 133px; + width: 24px; + height: 24px; + padding: 9px; + mask-image: url("../__spritemap#sprite-boots-view"); + mask-repeat: no-repeat; + mask-size: 24px 24px; + background-color: $bg; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 41px; + left: 150px; + padding: 12px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 54px; + left: 177px; + padding: 15px; + } + } +} + +.advantages__item--route { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 29px; + left: 133px; + width: 24px; + height: 24px; + padding: 9px; + mask-image: url("../__spritemap#sprite-path-view"); + mask-repeat: no-repeat; + mask-size: 24px 24px; + background-color: $bg; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 41px; + left: 150px; + padding: 12px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 54px; + left: 177px; + padding: 15px; + } + } +} + +.advantages__item--carefully { + position: relative; + max-width: 290px; + + h5 { + width: 249px; + margin-left: 9px; + } + + &::after { + position: absolute; + content: ""; + top: 29px; + left: 133px; + width: 24px; + height: 24px; + padding: 9px; + mask-image: url("../__spritemap#sprite-leaf-view"); + mask-repeat: no-repeat; + mask-size: 24px 24px; + background-color: $bg; + } + + @media (min-width: $min-width-tablet) { + padding: 30px 20px 36px; + + h5 { + margin-left: 15px; + } + + &::after { + top: 41px; + left: 150px; + padding: 12px; + } + } + + @media (min-width: $min-width-desktop) { + padding: 40px 20px 62px; + + h5 { + width: 340px; + margin-left: 0; + } + + + &::after { + top: 54px; + left: 177px; + padding: 12px; + } + } +} + +// +.advantages__swiper-buttons { + display: none; + + @media (min-width: $min-width-desktop) { + position: relative; + bottom: 1px; + left: 0; + width: 1200px; + margin: 0 auto; + display: flex; + text-align: center; + gap: 4px; + justify-content: center; + } +} + +.advantages__button-next { + transform: rotate(180deg); +} + +.advantages__svg-color { + position: relative; + top: 1.5px; + right: 0.7px; + width: 13px; + color: $base-white; +} diff --git a/source/sass/blocks/background.scss b/source/sass/blocks/background.scss new file mode 100644 index 000000000..636abb405 --- /dev/null +++ b/source/sass/blocks/background.scss @@ -0,0 +1,3 @@ +.backgroud { + background-color: $bg; +} diff --git a/source/sass/blocks/button.scss b/source/sass/blocks/button.scss new file mode 100644 index 000000000..d8eea09a2 --- /dev/null +++ b/source/sass/blocks/button.scss @@ -0,0 +1,41 @@ +.button { + width: 37px; + height: 35px; + border: inherit; + cursor: pointer; + background-color: $bg; + + &:hover { + background-color: inherit; + border: 1px solid $base-dark; + } + + &:focus-visible { + background-color: $base-white; + } + + &:active { + background-color: $bg-alt; + } + + &:disabled { + background-color: $base-light; + border: inherit; + } + + &:hover svg { + color: $base-dark; + } + + &:focus-visible svg { + color: $base-dark; + } + + &:active svg { + color: $base-white; + } + + &:disabled svg { + color: $base-white; + } +} diff --git a/source/sass/blocks/footer.scss b/source/sass/blocks/footer.scss new file mode 100644 index 000000000..627ef5911 --- /dev/null +++ b/source/sass/blocks/footer.scss @@ -0,0 +1,611 @@ +.footer { + width: $min-width-mobile; + margin: 0 auto; + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + } +} + +.footer__contacts { + position: relative; + padding: 20px 0; + + &::before { + position: absolute; + content: ""; + bottom: 0; + left: 0; + min-width: $min-width-mobile; + margin: 0; + height: 1px; + background: rgba(45, 56, 63, 0.2); + } + + p { + width: 295px; + margin: 0; + padding: 12px 15px 0; + font-weight: 400; + font-size: 14px; + line-height: 20px; + } + + @media (min-width: $min-width-mobile) { + &::before { + width: 100vw; + margin-left: calc(50% - 50vw); + } + } + + @media (min-width: $min-width-tablet) { + padding: 40px 0 39px; + + p { + width: 570px; + padding: 0 45px; + font-size: 16px; + line-height: 24px; + } + } + + @media (min-width: $min-width-desktop) { + padding: 100px 0; + + p { + width: 722px; + padding: 0 119px; + } + } +} + +.footer__title-background { + position: absolute; + top: 23px; + left: 15px; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 45px; + left: 45px; + } + + @media (min-width: $min-width-desktop) { + top: 106px; + left: 120px; + } +} + +.footer__title { + margin: 16px 0 17px; + padding: 0 15px; + + @media (min-width: $min-width-tablet) { + margin: 20px 0 21px; + padding: 0 45px; + } + + @media (min-width: $min-width-desktop) { + margin: 23px 0 22px; + padding: 0 119px; + } +} + +.footer__contacts-list { + display: flex; + flex-direction: column; + gap: 30px; + margin: 0; + padding: 30px 15px; + list-style: none; + + @media (min-width: $min-width-tablet) { + display: grid; + grid-template-columns: 153px 159px 288px; + gap: 40px; + padding: 40px 45px 39px; + } + + @media (min-width: $min-width-desktop) { + gap: 41px; + display: flex; + padding: 49px 142px 0; + } +} + +.footer__contacts-item { + display: flex; + flex-direction: column; + justify-content: space-between; + gap: 8px; + width: 290px; + min-height: 42px; + margin-left: 32px; + + h5 { + margin: 0; + font-weight: 600; + font-size: 14px; + line-height: 14px; + } + + @media (min-width: $min-width-tablet) { + width: 119px; + margin-left: 34px; + max-height: 44px; + gap: 6px; + + h5 { + font-size: 16px; + line-height: 16px; + } + + br { + display: none; + } + } + + @media (min-width: $min-width-desktop) { + width: 290px; + gap: 10px; + + h5 { + font-size: 18px; + line-height: 18px; + } + } +} + +.footer__contacts-item--phone { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-phone-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: -1px; + left: -34px; + width: 24px; + height: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-item--email { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-mail-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: -1px; + left: -34px; + width: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-item--address { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-pin-stroke-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + width: 254px; + + &::after { + top: -1px; + left: -34px; + width: 24px; + height: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + width: 291px; + + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-text { + font-weight: 400; + font-size: 14px; + line-height: 20px; + text-decoration: none; + color: $base-dark; + font-style: normal; + + @media (min-width: $min-width-tablet) { + line-height: 22px; + } + + @media (min-width: $min-width-desktop) { + font-size: 16px; + line-height: 24px; + } +} + +.footer__contacts-map { + position: relative; + width: $min-width-mobile; + height: 343px; + background: $bg; + z-index: 0; + + &::after { + position: absolute; + content: ""; + top: 171px; + left: 198px; + width: 25px; + height: 28px; + mask-image: url("../__spritemap#sprite-pin-filled-view"); + mask-repeat: no-repeat; + mask-size: 28px 28px; + background-color: $bg; + z-index: 1; + } + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + height: 340px; + + &::after { + top: 182px; + left: 385px; + width: 40px; + height: 41px; + mask-size: 42px 42px; + } + } + + @media (min-width: $min-width-desktop) { + position: absolute; + top: 149px; + right: 120px; + width: 600px; + height: 324px; + + &::after { + top: 162px; + left: 360px; + width: 48px; + height: 48px; + mask-size: 48px 48px; + } + } +} + +.footer__nav { + padding: 23px 0 20px; + + @media (min-width: $min-width-tablet) { + padding: 35px 45px 20px; + } + + @media (min-width: $min-width-desktop) { + padding: 42px 120px 32px; + } +} + +.footer__nav-logo { + color: $base-dark; +} + +.footer__nav-position { + display: flex; + flex-direction: column; + align-items: center; + gap: 23px; + + @media (min-width: $min-width-tablet) { + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + gap: 0; + } + + @media (min-width: $min-width-desktop) { + margin-left: 29px; + } +} + +.footer__nav-wrapper { + display: flex; + justify-content: space-between; + width: $min-width-mobile; + padding: 0 0 20px; + + @media (min-width: $min-width-tablet) { + width: 530px; + flex-direction: row; + justify-content: flex-end; + gap: 20px; + margin: 0 0 31px; + padding: 0; + } + + @media (min-width: $min-width-desktop) { + width: 800px; + margin: 0 0 28px; + padding: 0 122px 0 96px; + } +} + +.footer__nav-list { + display: grid; + grid-template-columns: 150px 150px; + column-gap: 20px; + row-gap: 10px; + margin: 0; + padding: 0; + height: 75px; + + @media (min-width: $min-width-tablet) { + width: 500px; + display: flex; + justify-content: space-between; + flex-direction: row; + align-items: center; + gap: 0; + height: 45px; + } + + @media (min-width: $min-width-desktop) { + width: 800px; + } +} + +.footer__nav-item { + min-width: 120px; + text-align: center; + list-style: none; + + @media (min-width: $min-width-tablet) { + min-width: 0; + padding: 3px 5px; + } +} + +.footer__nav-item:nth-last-of-type(5) { + grid-row: 2 / 3; + grid-column: 1 / 2; +} + +.footer__nav-item:nth-last-of-type(4) { + grid-row: 3 / 3; + grid-column: 1 / 2; +} + +.footer__nav-link { + font-weight: 400; + font-size: 14px; + line-height: 14px; + text-decoration: none; + color: $base-dark; + + &:hover { + margin-bottom: -1px; + border-bottom: 1px solid $base-dark; + } + + &:active { + margin-bottom: 0; + border-bottom: none; + color: $bg; + } + + &:focus-visible { + outline: 1px solid $base-dark; + } + + &:disabled { + background: $base-light; + } + + @media (min-width: $min-width-desktop) { + font-weight: 400; + font-size: 16px; + line-height: 16px; + } +} + +.footer__nav-list-social { + display: flex; + gap: 16px; + justify-content: center; + margin: 0 0 23px; + padding: 0; + height: 30px; + + @media (min-width: $min-width-tablet) { + margin: 0 0 34px; + } + + @media (min-width: $min-width-desktop) { + gap: 15px; + margin: 0 0 22px; + } +} + +.footer__nav-phone { + display: none; + + @media (min-width: $min-width-desktop) { + display: flex; + align-items: center; + font-weight: 600; + font-size: 18px; + line-height: 18px; + text-decoration: none; + color: $base-dark; + font-style: normal; + height: 45px; + + &:hover { + color: rgba(2, 102, 193, 0.1); + } + + &:focus { + color: $bg; + } + + &:active { + color: $bg-alt; + } + + &:disabled { + color: $base-light; + } + } +} + +.footer__nav-item-social { + position: relative; + width: 32px; + height: 30px; + list-style: none; + + a { + display: block; + width: 32px; + height: 30px; + outline: 1px solid $outline; + + &:hover { + outline: 1px solid $base-dark; + } + + &:focus { + outline: $base-white; + } + + &:active { + border: 1px solid $bg; + background: $bg; + } + + &:disabled { + outline: 1px solid $outline; + color: $outline; + } + + &:active svg { + color: $base-white; + } + } + + @media (min-width: $min-width-desktop) { + width: 30px; + height: 30px; + + a { + width: 30px; + height: 30px; + } + } +} + +.footer__nav-social-vk { + position: absolute; + top: 9px; + left: 7px; + width: 17px; + height: 11px; + color: $base-dark; + + @media (min-width: $min-width-desktop) { + left: 6px; + } +} + +.footer__nav-social-ok { + position: absolute; + top: 7px; + left: 10px; + width: 10px; + height: 16px; + color: $base-dark; +} + +.footer__nav-social-reddit { + position: absolute; + top: 7px; + left: 8px; + width: 15px; + height: 15px; + color: $base-dark; +} + +.footer__nav-additionally { + display: block; + text-align: center; + font-weight: 300; + font-size: 12px; + line-height: 12px; +} diff --git a/source/sass/blocks/form.scss b/source/sass/blocks/form.scss new file mode 100644 index 000000000..71672fbfc --- /dev/null +++ b/source/sass/blocks/form.scss @@ -0,0 +1,226 @@ +.form { + position: relative; + padding: 174px 31px; + background-image: image-set("../../img/form-mobile.jpg" 1x, "../../img/form-mobile@2x.jpg" 2x, "../../img/form-mobile.webp" 1x, "../../img/form-mobile@2x.webp" 2x); + background-repeat: no-repeat; + z-index: 0; + + &::after { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.2); + z-index: 1; + } + + h3 { + margin: 2px 0 18px; + padding: 0; + font-weight: 800; + font-size: 22px; + line-height: 22px; + text-align: center; + color: $base-white; + } + + p { + width: 258px; + margin: 0 0 20px; + padding: 0; + font-weight: 400; + font-size: 12px; + line-height: 18px; + text-align: center; + color: $base-white; + } + + @media (min-width: $min-width-tablet) { + padding: 183px 204px; + background-image: image-set("../../img/form-tablet.jpg" 1x, "../../img/form-tablet@2x.jpg" 2x, "../../img/form-tablet.webp" 1x, "../../img/form-tablet@2x.webp" 2x); + + h3 { + margin: 4px 0 22px; + font-size: 25px; + line-height: 25px; + } + + p { + width: 295px; + margin: 0 auto 25px; + text-align: start; + font-size: 16px; + line-height: 24px; + } + + br { + display: none; + } + } + + @media (min-width: $min-width-desktop) { + padding: 292px 240px 293px; + background-image: image-set("../../img/form-desktop.jpg" 1x, "../../img/form-desktop@2x.jpg" 2x, "../../img/form-desktop.webp" 1x, "../../img/form-desktop@2x.webp" 2x); + + h3 { + margin: 4px 0 17px; + font-size: 35px; + line-height: 35px; + } + + p { + width: 960px; + margin: 0 auto 39px; + text-align: center; + } + } +} + +.form__title { + color: $base-white; +} + +.form__background { + position: relative; + z-index: 2; +} + +.form__position { + display: flex; + flex-direction: column; + gap: 8px; + width: 258px; + + @media (min-width: $min-width-tablet) { + width: 360px; + gap: 11px; + } + + @media (min-width: $min-width-desktop) { + flex-direction: row; + gap: 30px; + } +} + +.form__button { + padding: 21px; + font-weight: 500; + font-size: 16px; + line-height: 16px; + text-align: center; + background-color: $bg; + color: $base-white; + border: none; + text-transform: capitalize; + cursor: pointer; + + &:hover { + color: $bg-alt; + } + + &:focus { + color: $bg-alt; + } + + @media (min-width: $min-width-tablet) { + padding: 20px; + } + + @media (min-width: $min-width-desktop) { + min-width: 180px; + } +} + +.form__text-tel { + position: relative; +} + +.form__text-email { + position: relative; +} + +.form__text-position { + position: absolute; + content: ""; + top: 18px; + left: 15px; + font-weight: 400; + font-size: 16px; + line-height: 16px; + color: $base-dark; + opacity: 0.3; + + @media (min-width: $min-width-tablet) { + top: 20px; + left: 30px; + } +} + +.form__input { + width: 100%; + height: 50px; + margin: 0; + padding: 17px 15px; + border: none; + border-radius: 2px; + background: $base-white; + appearance: textfield; + + &::-webkit-outer-spin-button { + appearance: none; + } + + &::-webkit-inner-spin-button { + appearance: none; + } + + &:hover { + outline: 1px solid $bg; + } + + &:focus { + outline: 1px solid $base-dark; + } + + &:active { + color: 1px solid $bg-alt; + } + + &:disabled { + outline: 1px solid $base-light; + } + + @media (min-width: $min-width-tablet) { + height: 56px; + padding: 20px; + } + + @media (min-width: $min-width-desktop) { + width: 360px; + } +} + +.form__input.error { + border: 1px solid #ff121f; +} + +.form__input:user-invalid { + border: 1px solid #ff121f; +} + +.form__input::placeholder { + opacity: 0; +} + +.form__input:focus::placeholder { + color: $bg; + opacity: 1; +} + +.form__input:focus + .form__text-position, +.form__input:required:valid + .form__text-position { + display: none; + opacity: 0; +} diff --git a/source/sass/blocks/gallery.scss b/source/sass/blocks/gallery.scss new file mode 100644 index 000000000..52046e577 --- /dev/null +++ b/source/sass/blocks/gallery.scss @@ -0,0 +1,128 @@ +.gallery { + position: relative; + padding: 20px 0 3px; + + p { + width: 290px; + margin: 0; + padding: 9px 15px 31px; + } + + @media (min-width: $min-width-tablet) { + padding: 40px 0 3px; + + p { + width: 430px; + padding: 20px 0 21px 45px; + font-size: 14px; + line-height: 22px; + } + } + + @media (min-width: $min-width-desktop) { + padding: 100px 0 3px; + + p { + width: 832px; + padding: 24px 120px 45px; + font-size: 16px; + line-height: 24px; + } + } +} + +// +.gallery__swiper-buttons { + display: none; + + @media (min-width: $min-width-tablet) { + position: absolute; + top: 146px; + right: 45px; + display: flex; + gap: 4px; + } + + @media (min-width: $min-width-desktop) { + display: none; + } +} + +.gallery__button-next { + transform: rotate(180deg); +} + +.gallery__svg-color { + position: relative; + top: 1.5px; + right: 0.7px; + width: 13px; + color: $base-white; +} + +// +.gallery__title { + width: 290px; + margin: 16px 0 18px; + padding: 0 15px; + + @media (min-width: $min-width-tablet) { + margin: 20px 0 10px; + padding: 0 45px; + } + + @media (min-width: $min-width-desktop) { + margin: 23px 0 0; + padding: 0 120px; + } +} + +.gallery__title-background { + position: absolute; + top: 23px; + left: 15px; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 45px; + left: 45px; + } + + @media (min-width: $min-width-desktop) { + top: 106px; + left: 120px; + } +} + +.gallery__list { + max-height: 266px; + + @media (min-width: $min-width-tablet) { + min-height: 418px; + } + + @media (min-width: $min-width-desktop) { + min-height: 463px; + } +} + +.gallery__item { + @media (min-width: $min-width-tablet) { + min-width: 253px; + } +} + +.gallery__picture { + display: block; + height: 141px; + background: $bg-gradient-card; + + @media (min-width: $min-width-tablet) { + height: 215px; + } + + @media (min-width: $min-width-desktop) { + height: 240px; + } +} diff --git a/source/sass/blocks/header.scss b/source/sass/blocks/header.scss new file mode 100644 index 000000000..4427b51e4 --- /dev/null +++ b/source/sass/blocks/header.scss @@ -0,0 +1,233 @@ +.header { + position: relative; + min-width: $min-width-mobile; + margin: 0; + background-color: $bg; + + @media (min-width: $min-width-mobile) { + width: 100vw; + margin-left: calc(50% - 50vw); + } +} + +.header__position { + display: flex; + justify-content: space-between; + width: $min-width-mobile; + margin: 0 auto; + padding: 15px 15px 13px; + + @media (min-width: $min-width-tablet) { + align-items: center; + width: $min-width-tablet; + padding: 20px 45px; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + height: 126px; + padding: 32px 120px; + } +} + +.header__button { + width: 26px; + height: 26px; + margin: 0; + background: none; + border: none; + mask-image: url("../__spritemap#sprite-burger-menu-view"); + mask-repeat: no-repeat; + background-color: $base-white; + + @media (min-width: $min-width-desktop) { + display: none; + } +} + +.header__button.active.header__button { + width: 26px; + height: 20px; + margin: 3px 0; + background: none; + border: none; + mask-image: url("../__spritemap#sprite-close-view"); + mask-repeat: no-repeat; + background-color: $base-white; + + @media (min-width: $min-width-desktop) { + display: none; + } +} + +.header__wrapper { + display: flex; + justify-content: space-around; + flex-direction: column; + align-items: flex-end; + gap: 16px; + + @media (min-width: $min-width-tablet) { + flex-direction: row; + align-items: center; + gap: 0; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + justify-content: space-between; + } +} + +.header__logo { + color: $base-white; + + @media (min-width: $min-width-tablet) { + width: 226px; + } + + @media (min-width: $min-width-desktop) { + width: 205px; + } +} + +.header__telephone { + color: $base-white; + font-weight: 600; + line-height: 14px; + font-size: 14px; + text-decoration: none; + + &:hover { + opacity: 0.5; + } + + &:active { + color: $bg-alt; + } + + &:disabled { + color: $base-light; + } + + @media (min-width: $min-width-tablet) { + text-align: right; + width: 226px; + margin-top: 3px; + line-height: 16px; + font-size: 16px; + } + + @media (min-width: $min-width-desktop) { + width: 157px; + line-height: 18px; + font-size: 18px; + } +} + +/* burger */ +.header__nav-wrapper.active { + top: 99px; + + @media (min-width: $min-width-tablet) { + top: 82px; + } +} + +.header__nav-wrapper { + position: absolute; + top: -272px; + left: 0; + width: 100%; + background-color: $bg; + z-index: 3; + + @media (min-width: $min-width-tablet) { + top: -338px; + } + + @media (min-width: $min-width-desktop) { + display: flex; + position: static; + width: 601px; + align-items: center; + height: 62px; + padding: 0; + background: none; + } +} + +.header__nav-list { + display: flex; + flex-direction: column; + gap: 22px; + width: $min-width-mobile; + margin: 0 auto; + padding: 15px 0 50px 15px; + + @media (min-width: $min-width-tablet) { + width: 768px; + padding: 50px 40px 70px; + background-color: inherit; + } + + @media (min-width: $min-width-desktop) { + display: flex; + flex-direction: row; + justify-content: space-between; + gap: 21px; + width: 603px; + padding: 19px 9px 20px; + background-color: inherit; + } +} + +.header__nav-item { + list-style: none; + + &:hover { + margin-bottom: -1px; + border-bottom: 1px solid $base-white; + } + + &:active { + margin-bottom: 0; + border-bottom: none; + } + + &:focus { + outline: 1px solid $base-white; + } + + &:disabled { + background: $base-light; + } + + @media (min-width: $min-width-desktop) { + margin: 0; + border: inherit; + } +} + +.header__nav-link { + font-weight: 700; + line-height: 14px; + font-size: 14px; + color: $base-white; + text-transform: uppercase; + text-decoration: none; + + &:active { + color: $bg-alt; + } + + @media (min-width: $min-width-desktop) { + display: block; + height: 23px; + padding: 5px; + font-weight: 400; + line-height: 16px; + font-size: 16px; + text-transform: none; + } +} diff --git a/source/sass/blocks/hero.scss b/source/sass/blocks/hero.scss new file mode 100644 index 000000000..fedfa0564 --- /dev/null +++ b/source/sass/blocks/hero.scss @@ -0,0 +1,282 @@ +.hero { + position: relative; + min-height: 568px; + margin: 0 auto; + background: $bg; + + @media (min-width: $min-width-tablet) { + min-height: 1034px; + } + + @media (min-width: $min-width-desktop) { + min-height: 800px; + } +} + +.hero__picture { + display: block; + height: 568px; + background: $base-light; + + @media (min-width: $min-width-tablet) { + height: 1034px; + } + + @media (min-width: $min-width-desktop) { + height: 800px; + } +} + +.hero__item { + position: relative; + display: flex; + flex-direction: column; + text-align: center; + align-items: center; + width: $min-width-mobile; + margin: 0 auto; + color: $base-white; + list-style: none; + + h2 { + margin: 0; + margin-bottom: 15px; + font-weight: 800; + line-height: 26px; + font-size: 26px; + } + + p { + max-height: 80px; + margin: 0; + margin-bottom: 80px; + font-weight: 400; + font-size: 15px; + line-height: 20px; + overflow: auto; + } + + p::-webkit-scrollbar { + width: 0; + } + + @media (min-width: $min-width-tablet) { + position: relative; + + &:nth-last-of-type(2)::after { + position: absolute; + content: ""; + bottom: 36px; + left: 21%; + width: 442px; + height: 365px; + background-image: image-set("../../img/photo-cards-tablet.png" 1x, "../../img/photo-cards-tablet@2x.png" 2x, "../../img/photo-cards-tablet.webp" 1x, "../../img/photo-cards-tablet@2x.webp" 2x); + background-repeat: no-repeat; + } + + h2 { + margin-bottom: 13px; + line-height: 56px; + font-size: 56px; + } + + p { + width: 500px; + margin: 0 auto 57px; + font-size: 17px; + line-height: 24px; + } + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + + &:nth-last-of-type(2)::after { + position: absolute; + content: ""; + bottom: 160px; + left: 910px; + width: 410px; + height: 459px; + background-image: image-set("../../img/photo-cards-desktop.png" 1x, "../../img/photo-cards-desktop@2x.png" 2x, "../../img/photo-cards-desktop.webp" 1x, "../../img/photo-cards-desktop@2x.webp" 2x); + } + + h2 { + text-align: start; + width: 921px; + margin-bottom: 23px; + line-height: 77px; + font-size: 77px; + } + + p { + text-align: left; + min-width: 420px; + margin: 0 0 37px; + } + } +} + +.hero__list { + display: flex; + flex-direction: row; + margin: 0 auto; + padding: 0; + width: $min-width-mobile; + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + } +} + +.hero__wrapper { + position: absolute; + content: ""; + top: 0; + padding: 145px 15px 160px; + + br { + display: none; + } + + @media (min-width: $min-width-tablet) { + padding: 342px 45px 401px; + } + + @media (min-width: $min-width-desktop) { + left: 120px; + padding: 200px 0 257px; + z-index: 1; + + br { + display: block; + } + } +} + +.hero__button { + width: 180px; + padding: 18px 34px; + font-weight: 500; + font-size: 16px; + line-height: 16px; + background-color: $bg; + color: $base-white; + + &:hover { + color: $bg-alt; + } + + &:focus { + color: $bg-alt; + } + + @media (min-width: $min-width-desktop) { + display: block; + padding: 20px 34px; + margin-bottom: 134px; + } +} + +.hero__text-wrapper { + display: none; + + @media (min-width: $min-width-desktop) { + display: flex; + text-align: left; + gap: 10px; + } +} + +.hero__text { + @media (min-width: $min-width-desktop) { + padding: 14px 20px 14px 40px; + font-weight: 400; + font-size: 12px; + line-height: 16px; + outline: 1px solid rgba(255, 255, 255, 0.5); + } +} + +.hero__text--picture { + @media (min-width: $min-width-desktop) { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 16px; + left: 20px; + width: 12px; + height: 12px; + mask-image: url("../__spritemap#sprite-moon-view"); + mask-repeat: no-repeat; + mask-size: 12px 12px; + background-color: $base-white; + } + } +} + +.hero__text--picture-visually { + @media (min-width: $min-width-desktop) { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 16px; + left: 20px; + width: 12px; + height: 12px; + mask-image: url("../__spritemap#sprite-level-view"); + mask-repeat: no-repeat; + mask-size: 12px 12px; + background-color: $base-white; + } + } +} + +.hero__wrapper-pagination { + position: absolute; + content: ""; + bottom: 40px; + left: 116px; + display: flex; + justify-content: space-between; + width: 88px; + z-index: 1; + + @media (min-width: $min-width-tablet) { + bottom: 40px; + left: 334px; + width: 100px; + } + + @media (min-width: $min-width-desktop) { + bottom: 92px; + left: 1220px; + } +} + +.hero__button-pagination { + width: 16px; + height: 16px; + border-radius: 50%; + border: 1px solid $base-white; + opacity: 1; + background: inherit; + cursor: pointer; + + @media (min-width: $min-width-tablet) { + width: 20px; + height: 20px; + } +} + +.hero__button-pagination--active { + background: $base-white; +} diff --git a/source/sass/blocks/link.scss b/source/sass/blocks/link.scss new file mode 100644 index 000000000..29a3b82bf --- /dev/null +++ b/source/sass/blocks/link.scss @@ -0,0 +1,21 @@ +.link { + text-align: center; + text-decoration: none; + + &:hover { + background: $base-white; + outline: 1px solid $bg-alt; + } + + &:focus { + background: $base-white; + } + + &:active { + background: $bg-alt; + } + + &:disabled { + background: $base-light; + } +} diff --git a/source/sass/blocks/main-container.scss b/source/sass/blocks/main-container.scss new file mode 100644 index 000000000..f0f65d06f --- /dev/null +++ b/source/sass/blocks/main-container.scss @@ -0,0 +1,14 @@ +.main-container { + flex-grow: 1; + width: $min-width-mobile; + height: 100%; + margin: 0 auto; + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + } +} diff --git a/source/sass/blocks/reviews.scss b/source/sass/blocks/reviews.scss new file mode 100644 index 000000000..957843a67 --- /dev/null +++ b/source/sass/blocks/reviews.scss @@ -0,0 +1,268 @@ +.reviews { + position: relative; + padding: 20px 0 0; + overflow: hidden; + + @media (min-width: $min-width-tablet) { + padding: 40px 0 0 25px; + } + + @media (min-width: $min-width-desktop) { + position: inherit; + padding: 0; + width: 100vw; + margin-left: calc(50% - 50vw); + } +} + +.reviews__width { + @media (min-width: $min-width-desktop) { + position: relative; + padding: 100px 0 37px 120px; + margin: 0 auto; + width: 1440px; + + &::after { + position: absolute; + content: ""; + top: 500px; + left: 978px; + width: 620px; + height: 401px; + background-image: image-set("../../img/background3-tablet.png" 1x, "../../img/background3-tablet@2x.png" 2x, "../../img/background3-tablet.webp" 1x, "../../img/background3-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + + &::before { + position: absolute; + content: ""; + top: 316px; + right: 840px; + width: 750px; + height: 301px; + background-image: image-set("../../img/background-tablet.png" 1x, "../../img/background-tablet@2x.png" 2x, "../../img/background-tablet.webp" 1x, "../../img/background-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + } +} + +.reviews__container { + width: 320px; + + @media (min-width: $min-width-tablet) { + width: 1160px; + } + + @media (min-width: $min-width-desktop) { + position: relative; + min-width: 1322px; + overflow: hidden; + margin: 0 auto; + } +} + +.reviews__position { + @media (min-width: $min-width-tablet) { + display: flex; + gap: 30px; + } +} + +.reviews__wrapper-box { + @media (min-width: $min-width-tablet) { + padding: 0; + left: 5px; + } + + @media (min-width: $min-width-desktop) { + left: 0; + width: 100vw; + } +} + +.reviews__wrapper { + @media (min-width: $min-width-tablet) { + display: flex; + flex-direction: column; + justify-content: center; + width: 299px; + } + + @media (min-width: $min-width-desktop) { + width: 352px; + justify-content: flex-start; + } +} + +.reviews__list { + display: flex; + margin: 0; + padding: 0; + list-style: none; + + @media (min-width: $min-width-tablet) { + margin: 5px 30px 28px 5px; + } + + @media (min-width: $min-width-desktop) { + margin: 5px 30px 40px 0; + padding: 10px; + } +} + +.reviews__item { + max-width: 290px; + margin: 20px 15px 12px; + padding: 20px; + background-color: $base-white; + box-shadow: 1px 1px 20px rgba(28, 51, 116, 0.1); + + @media (min-width: $min-width-tablet) { + min-width: 565px; + max-width: 565px; + height: 277px; + padding: 20px 30px 20px 20px; + } + + @media (min-width: $min-width-desktop) { + height: 293px; + min-width: 700px; + display: flex; + gap: 30px; + margin: 0; + padding-right: 40px; + } +} + +.reviews__title { + margin: 16px 15px 12px; + + @media (min-width: $min-width-tablet) { + margin: 20px 0 10px 20px; + } + + @media (min-width: $min-width-desktop) { + margin: 45px 0 23px; + } +} + +.reviews__title-background { + position: absolute; + top: 24px; + left: 15px; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 45px; + left: 45px; + } + + @media (min-width: $min-width-desktop) { + top: 6px; + left: 0; + } +} + +.reviews__picture { + display: block; + width: 250px; + height: 169px; + background: $base-light; + + @media (min-width: $min-width-tablet) { + width: 186px; + height: 237px; + } + + @media (min-width: $min-width-desktop) { + width: 258px; + height: 253px; + } +} + +.reviews__text { + min-height: 208px; + display: flex; + flex-direction: column; + justify-content: space-between; + margin: 19px 0 16px; + + p { + margin: 0; + } + + @media (min-width: $min-width-tablet) { + min-height: 172px; + margin: 0 0 25px; + } + + @media (min-width: $min-width-desktop) { + min-height: 208px; + font-weight: 400; + font-size: 14px; + line-height: 22px; + margin: -2px 0 4px; + } +} + +.reviews__name { + min-height: 32px; + display: flex; + flex-direction: column; + justify-content: space-between; + + span { + margin: 0; + font-weight: 700; + font-size: 12px; + line-height: 12px; + } + + p { + margin: 0; + font-weight: 300; + font-size: 12px; + line-height: 12px; + } + + @media (min-width: $min-width-tablet) { + span { + font-size: 13px; + line-height: 13px; + } + } +} + +// + +.reviews__swiper-buttons { + display: none; + + @media (min-width: $min-width-tablet) { + position: absolute; + top: 60px; + right: 45px; + display: flex; + gap: 4px; + } + + @media (min-width: $min-width-desktop) { + top: 45px; + right: 122px; + } +} + +.reviews__button-next { + transform: rotate(180deg); +} + +.reviews__svg-color { + position: relative; + top: 1.5px; + right: 0.7px; + width: 13px; + color: $base-white; +} diff --git a/source/sass/blocks/social.scss b/source/sass/blocks/social.scss new file mode 100644 index 000000000..41f4a3aaa --- /dev/null +++ b/source/sass/blocks/social.scss @@ -0,0 +1,17 @@ +.social { + &:hover { + color: $base-dark; + } + + &:focus { + color: $base-dark; + } + + &:active { + color: $bg-alt; + } + + &:disabled { + outline: 1px solid $outline; + } +} diff --git a/source/sass/blocks/title-h3.scss b/source/sass/blocks/title-h3.scss new file mode 100644 index 000000000..496b180e7 --- /dev/null +++ b/source/sass/blocks/title-h3.scss @@ -0,0 +1,16 @@ +.title-h3 { + padding: 0; + font-weight: 800; + font-size: 26px; + line-height: 26px; + + @media (min-width: $min-width-tablet) { + font-size: 40px; + line-height: 40px; + } + + @media (min-width: $min-width-desktop) { + font-size: 55px; + line-height: 55px; + } +} diff --git a/source/sass/blocks/title-h4.scss b/source/sass/blocks/title-h4.scss new file mode 100644 index 000000000..dd286f6bd --- /dev/null +++ b/source/sass/blocks/title-h4.scss @@ -0,0 +1,15 @@ +.title-h4 { + font-weight: 800; + font-size: 22px; + line-height: 22px; + + @media (min-width: $min-width-tablet) { + font-size: 25px; + line-height: 25px; + } + + @media (min-width: $min-width-desktop) { + font-size: 35px; + line-height: 35px; + } +} diff --git a/source/sass/blocks/title-h5.scss b/source/sass/blocks/title-h5.scss new file mode 100644 index 000000000..48e800558 --- /dev/null +++ b/source/sass/blocks/title-h5.scss @@ -0,0 +1,6 @@ +.title-h5 { + padding: 0; + font-weight: 700; + font-size: 24px; + line-height: 28px; +} diff --git a/source/sass/blocks/tours.scss b/source/sass/blocks/tours.scss new file mode 100644 index 000000000..fad826840 --- /dev/null +++ b/source/sass/blocks/tours.scss @@ -0,0 +1,470 @@ +.tours { + position: relative; + width: $min-width-mobile; + padding: 20px 15px; + + &::after { + position: absolute; + content: ""; + top: 10px; + right: 0; + width: 141px; + height: 592px; + background-image: image-set("../../img/background-mobile.png" 1x, "../../img/background-mobile@2x.png" 2x, "../../img/background-mobile.webp" 1x, "../../img/background-mobile@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + + @media (min-width: $min-width-tablet) { + padding: 40px 45px; + width: $min-width-tablet; + + &::after { + position: absolute; + content: ""; + top: -92px; + right: 0; + width: 425px; + height: 1630px; + background-image: image-set("../../img/background1-tablet.png" 1x, "../../img/background1-tablet@2x.png" 2x, "../../img/background1-tablet.webp" 1x, "../../img/background1-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + } + + @media (min-width: $min-width-desktop) { + padding: 100px 120px; + width: $min-width-desktop; + + &::after { + top: -126px; + width: 602px; + background-image: image-set("../../img/background1-desktop.png" 1x, "../../img/background1-desktop@2x.png" 2x, "../../img/background1-desktop.webp" 1x, "../../img/background1-desktop@2x.webp" 2x); + } + } +} + +.tours__container { + position: relative; + width: 290px; + margin: 0 auto; + + @media (min-width: $min-width-tablet) { + width: 678px; + } + + @media (min-width: $min-width-desktop) { + width: 1200px; + } +} + +.tours__title { + margin: 18px 0 15px; + + @media (min-width: $min-width-tablet) { + height: 35px; + margin: 20px 0 0; + } + + @media (min-width: $min-width-desktop) { + margin: 23px 0 0; + } +} + +.tours__title-background { + position: absolute; + top: -15px; + left: 0; + margin: 0; + opacity: 3%; +} + +.tours__wrapper-card { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 290px; + min-height: 416px; + margin: 0; + padding: 25px 0; + color: $base-white; + list-style: none; + + @media (min-width: $min-width-tablet) { + width: 678px; + } + + @media (min-width: $min-width-desktop) { + justify-content: flex-start; + width: 1200px; + padding: 50px 0 53px; + } +} + +.tours__picture { + display: block; + height: 416px; +} + +.tours__position { + position: absolute; + content: ""; + bottom: 0; + padding: 0 20px 30px; +} + +.tours__position-text { + display: flex; + justify-content: space-between; + margin-bottom: 16px; +} + +.tours__info-item { + position: relative; + display: block; + height: 416px; + z-index: 1; + background-color: $bg; + + &::after { + position: absolute; + content: ""; + bottom: 77px; + left: 22px; + width: 80px; + height: 1px; + background: $base-white; + opacity: 20%; + z-index: 2; + } + + @media (min-width: $min-width-tablet) { + &::after { + left: 20px; + } + } +} + +.tours__info-wrapper { + display: flex; + align-items: center; + justify-content: space-between; + gap: 14px; + font-weight: 500; + font-size: 12px; + line-height: 12px; + + @media (min-width: $min-width-tablet) { + gap: 15px; + } +} + +.tours__item-title { + margin: 0 0 30px; + + @media (min-width: $min-width-desktop) { + margin: -0.5px 0 30.5px; + } + + @media (min-width: $min-width-desktop) { + width: 250px; + } +} + +.tours__info-name { + position: relative; + display: block; + width: 90px; + height: 28px; + padding: 5px 13px 5px 34px; + text-align: end; + background-color: $bg; + + &::after { + position: absolute; + content: ""; + top: 8px; + left: 14px; + width: 15px; + height: 12px; + mask-image: url("../__spritemap#sprite-pin-filled-view"); + mask-repeat: no-repeat; + mask-size: 13px 12px; + background-color: $base-white; + } +} + +.tours__info-name--width { + width: 85px; +} + +.tours__info-name--width-title { + width: 94px; +} + +.tours__list { + display: grid; + grid-template-rows: 12px 13px; + gap: 7px; + margin: 0; + padding: 0; +} + +.tours__item-name { + padding: 0; + font-weight: 300; + font-size: 12px; + line-height: 12px; +} + +.tours__item { + height: 32px; + list-style: none; +} + +.tours__item-text { + padding: 0; + font-weight: 700; + font-size: 13px; + line-height: 13px; +} + +.tours__item-text--four { + position: relative; + top: -3px; + height: 16px; + mask-image: url("../__spritemap#sprite-stars4-view"); + mask-repeat: no-repeat; + width: 84px; + background-color: $base-white; +} + +.tours__item-text--three { + position: relative; + top: -3px; + left: -4px; + height: 16px; + mask-image: url("../__spritemap#sprite-stars3-view"); + mask-repeat: no-repeat; + background-color: $base-white; + + @media (min-width: $min-width-tablet) { + left: -14px; + mask-image: url("../__spritemap#sprite-stars3-view"); + } + + @media (min-width: $min-width-desktop) { + left: -26px; + } +} + +.tours__item-text--five { + position: relative; + top: -3px; + left: -4px; + height: 16px; + mask-image: url("../__spritemap#sprite-stars5-view"); + mask-repeat: no-repeat; + background-color: $base-white; + + @media (min-width: $min-width-tablet) { + left: -14px; + mask-image: url("../__spritemap#sprite-stars5-view"); + } + + @media (min-width: $min-width-desktop) { + left: -26px; + } +} + +.tours__info-day { + position: relative; + text-align: end; + min-width: 67px; + padding-left: 32px; + + &::after { + position: absolute; + content: ""; + top: -4px; + left: 0; + width: 20px; + height: 20px; + mask-image: url("../__spritemap#sprite-sun-view"); + mask-repeat: no-repeat; + mask-size: 20px 20px; + background-color: $base-white; + } + + @media (min-width: $min-width-tablet) { + &::after { + mask-size: 21px 20px; + } + } +} + +.tours__info-night { + position: relative; + text-align: end; + min-width: 74px; + padding: 0 1px 0 32px; + + &::after { + position: absolute; + content: ""; + top: -4px; + left: 0; + width: 20px; + height: 19px; + mask-image: url("../__spritemap#sprite-moon-view"); + mask-repeat: no-repeat; + background-color: $base-white; + } + + @media (min-width: $min-width-tablet) { + padding: 0 2px 0 32px; + + &::after { + top: -3px; + height: 18px; + } + } +} + +.tours__wrapper-one-card { + display: grid; + grid-template-columns: 92px 91px 67px; + height: 19px; + + @media (min-width: $min-width-tablet) { + grid-template-columns: 112px 111px 69px; + } + + @media (min-width: $min-width-desktop) { + grid-template-columns: 136px 136px 69px; + } +} + +.tours__wrapper-two-card { + display: grid; + grid-template-columns: 92px 91px 67px; + height: 19px; + + @media (min-width: $min-width-tablet) { + grid-template-columns: 111px 110px 71px; + } + + @media (min-width: $min-width-desktop) { + grid-template-columns: 136px 136px 69px; + } +} + +.tours__button { + position: relative; + display: block; + width: 212px; + margin: 0 auto; + padding: 10px 28px 10px 10px; + font-weight: 700; + font-size: 14.79px; + line-height: 14px; + color: $base-dark; + text-transform: uppercase; + text-align: center; + text-decoration: none; + + &::after { + position: absolute; + content: ""; + top: 9px; + right: 7px; + width: 12px; + height: 16px; + mask-image: url("../__spritemap#sprite-arrowhead-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + &:hover { + color: $bg; + opacity: 0.1; + } + + &:focus { + color: $bg; + } + + &:active { + color: $bg-alt; + } + + &:disabled { + color: $base-light; + } + + &:hover::after { + background-color: $bg; + opacity: 0.1; + } + + &:focus::after { + background-color: $bg; + } + + &:active::after { + background-color: $bg-alt; + } + + &:disabled::after { + background-color: $base-light; + } + + @media (min-width: $min-width-tablet) { + left: -1px; + width: 100%; + font-size: 17px; + line-height: 16px; + + &::after { + top: 11px; + right: 227px; + mask-size: 12px 14px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 10px; + right: 488px; + } + } +} + +.tours__button-next { + transform: rotate(180deg); +} + +.tours__svg-color { + position: relative; + top: 1.5px; + right: 0.7px; + width: 13px; + color: $base-white; +} + +.tours__swiper-buttons { + display: none; + + @media (min-width: $min-width-tablet) { + position: absolute; + top: 0; + right: 0; + display: flex; + gap: 4px; + } + + @media (min-width: $min-width-desktop) { + top: -3px; + right: 0; + } +} diff --git a/source/sass/blocks/training.scss b/source/sass/blocks/training.scss new file mode 100644 index 000000000..6849da224 --- /dev/null +++ b/source/sass/blocks/training.scss @@ -0,0 +1,487 @@ +.training { + padding: 20px 15px; + overflow: hidden; + + @media (min-width: $min-width-tablet) { + position: relative; + width: 100vw; + margin-left: calc(50% - 50vw); + padding: 40px 45px; + + &::after { + position: absolute; + content: ""; + top: 612px; + right: -375px; + width: 840px; + height: 280px; + background-image: image-set("../../img/background4-tablet.png" 1x, "../../img/background4-tablet@2x.png" 2x, "../../img/background4-tablet.webp" 1x, "../../img/background4-tablet@2x.webp" 2x); + background-repeat: no-repeat; + z-index: -1; + } + } + + @media (min-width: $min-width-desktop) { + padding: 40px 120px 64px; + + &::after { + right: -206px; + } + } +} + +.training__container { + position: relative; + + @media (min-width: $min-width-tablet) { + width: 678px; + margin: 0 auto; + } + + @media (min-width: $min-width-desktop) { + width: 1200px; + } +} + +.training__title { + padding: 16px 0; + margin: 0 0 18px; + + @media (min-width: $min-width-tablet) { + padding: 20px 0; + margin: 0 0 14px; + } + + @media (min-width: $min-width-desktop) { + padding: 23px 0; + margin: 0 0 9px; + } +} + +// + +.training__swiper-buttons { + display: none; + + @media (min-width: $min-width-tablet) { + position: absolute; + top: 178px; + right: 0; + display: flex; + gap: 4px; + } + + @media (min-width: $min-width-desktop) { + top: 196px; + right: 0; + } +} + +.training__button-next { + transform: rotate(180deg); +} + +.training__svg-color { + position: relative; + top: 1.5px; + right: 0.7px; + width: 13px; + color: $base-white; +} + +// + +.training__title-background { + position: absolute; + top: 0; + left: 0; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 5px; + } +} + +.training p { + margin: 0 0 28px; + font-weight: 400; + font-size: 14px; + line-height: 20px; + + @media (min-width: $min-width-tablet) { + margin: 0 0 30px; + font-size: 16px; + line-height: 24px; + } + + @media (min-width: $min-width-desktop) { + width: 820px; + margin: 0 0 62px; + } +} + +.training__title-medium { + margin: 0 0 24px; + + @media (min-width: $min-width-tablet) { + margin: 0 0 37px; + } + + @media (min-width: $min-width-desktop) { + margin: 0 0 16px; + } +} + +.training__card-wrapper { + position: relative; + display: flex; + gap: 20px; + + @media (min-width: $min-width-tablet) { + flex-direction: row; + width: 676px; + } + + @media (min-width: $min-width-desktop) { + overflow: hidden; + width: 1200px; + } +} + +.training__card-list { + position: relative; + left: 0; + display: flex; + min-height: 356px; + margin: 0; + padding: 0; + list-style: none; + + @media (min-width: $min-width-tablet) { + margin-right: 45px; + } + + @media (min-width: $min-width-desktop) { + margin: 0; + } +} + +.training__card-item { + position: relative; + min-height: 356px; + padding: 13px 14px 15px; + border: 1px solid rgba(2, 102, 193, 0.1); + + h5 { + max-width: 237px; + margin: 16px 0 14px; + font-weight: 700; + font-size: 14px; + line-height: 16px; + } + + p { + margin: 0; + font-weight: 400; + font-size: 12px; + line-height: 16px; + } + + div { + overflow: hidden; + } + + @media (min-width: $min-width-tablet) { + width: 212px; + min-height: 388px; + background-color: $base-white; + + h5 { + margin: 16px 0 14px; + } + + p { + margin: 0 0 -1px; + } + } + + @media (min-width: $min-width-desktop) { + min-width: 285px; + max-width: 285px; + min-height: 356px; + + p { + width: 255px; + } + } +} + +.training__social-link { + position: absolute; + content: ""; + top: 229px; + right: 15px; + width: 22px; + height: 22px; + padding: 4px; + outline: 1px solid $outline; + color: $base-dark; + + &:hover { + outline: 1px solid $base-dark; + } + + &:focus { + outline: inherit; + } + + &:active { + outline: 1px solid $bg; + background: $bg; + color: $base-white; + } + + &:disabled { + outline: 1px solid $outline; + color: $outline; + } + + @media (min-width: $min-width-tablet) { + top: 230px; + } +} + +.training__title-small { + margin: 25px 0 23px; + font-weight: 700; + font-size: 16px; + line-height: 16px; + + @media (min-width: $min-width-tablet) { + margin: 27px 0 100px; + font-size: 18px; + line-height: 18px; + } + + @media (min-width: $min-width-desktop) { + margin: 58px 0 27px; + font-size: 21px; + line-height: 21px; + } +} + +.training__list { + position: relative; + display: grid; + gap: 25px; + margin: 0 0 1px; + padding: 0; + list-style: none; + + &::after { + position: absolute; + content: ""; + top: 22px; + left: 6px; + width: 2px; + height: 183px; + background: $bg; + } + + @media (min-width: $min-width-tablet) { + column-gap: 170px; + row-gap: 104px; + margin: 0 0 2px 35px; + + &::after { + display: none; + } + } + + @media (min-width: $min-width-desktop) { + display: flex; + gap: 55px; + margin: 0 0 0 45px; + + &::after { + display: block; + top: 80px; + left: -20px; + width: 1175px; + height: 2px; + } + } +} + +.training__item { + position: relative; + width: 201px; + margin-left: 63px; + font-weight: 400; + font-size: 12px; + line-height: 18px; + + &::before { + position: absolute; + content: ""; + top: 12px; + left: -63px; + width: 14px; + height: 14px; + background: $bg; + border-radius: 50%; + } + + @media (min-width: $min-width-tablet) { + width: 229px; + margin: 0; + font-size: 14px; + line-height: 22px; + + &::before { + display: none; + } + } + + @media (min-width: $min-width-desktop) { + width: 198px; + font-size: 16px; + line-height: 24px; + + &::before { + top: 74px; + left: -25px; + display: block; + } + } +} + +.training__item:nth-child(3) { + @media (min-width: $min-width-desktop) { + &::before { + left: -44px; + } + } +} + +.training__item--map { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 1px; + left: -35px; + width: 25px; + height: 25px; + mask-image: url("../__spritemap#sprite-map-vector-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + + @media (min-width: $min-width-tablet) { + top: 2px; + left: -56px; + width: 68px; + height: 25px; + } + } +} + +.training__item--footwear { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 1px; + left: -35px; + width: 25px; + height: 25px; + mask-image: url("../__spritemap#sprite-boots-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 2px; + left: -56px; + width: 68px; + height: 25px; + } + } +} + +.training__item--eco { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 1px; + left: -35px; + width: 25px; + height: 25px; + mask-image: url("../__spritemap#sprite-trees-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: 2px; + left: -57px; + width: 68px; + height: 25px; + } + } +} + +.training__item--mountain { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 1px; + left: -35px; + width: 25px; + height: 25px; + mask-image: url("../__spritemap#sprite-mountain-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + grid-row: 1 / 2; + grid-column: 2 / 3; + + &::after { + top: 2px; + left: -57px; + width: 68px; + height: 25px; + } + } +} + +.training__image { + display: block; + height: 200px; + background: $base-light; + + @media (min-width: $min-width-tablet) { + position: relative; + top: 0; + right: 0; + display: block; + width: 182.5px; + height: 201px; + } + + @media (min-width: $min-width-desktop) { + top: 1px; + width: 255px; + } +} diff --git a/source/sass/common/fonts.scss b/source/sass/common/fonts.scss new file mode 100644 index 000000000..d096e1ba8 --- /dev/null +++ b/source/sass/common/fonts.scss @@ -0,0 +1,47 @@ +@font-face { + font-family: "Montserrat"; + font-weight: 300; + font-style: normal; + src: url("../../fonts/Montserrat-Light.woff2") format("woff2"), url("../../fonts/Montserrat-Light.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-family: "Montserrat"; + font-weight: 400; + font-style: normal; + src: url("../../fonts/Montserrat-Regular.woff2") format("woff2"), url("../../fonts/Montserrat-Regular.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-family: "Montserrat"; + font-weight: 500; + font-style: normal; + src: url("../../fonts/Montserrat-Medium.woff2") format("woff2"), url("../../fonts/Montserrat-Medium.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-family: "Montserrat"; + font-weight: 600; + font-style: normal; + src: url("../../fonts/Montserrat-SemiBold.woff2") format("woff2"), url("../../fonts/Montserrat-SemiBold.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-family: "Montserrat"; + font-weight: 700; + font-style: normal; + src: url("../../fonts/Montserrat-Bold.woff2") format("woff2"), url("../../fonts/Montserrat-Bold.woff") format("woff"); + font-display: swap; +} + +@font-face { + font-family: "Montserrat"; + font-weight: 800; + font-style: normal; + src: url("../../fonts/Montserrat-ExtraBold.woff2") format("woff2"), url("../../fonts/Montserrat-ExtraBold.woff") format("woff"); + font-display: swap; +} diff --git a/source/sass/common/global.scss b/source/sass/common/global.scss new file mode 100644 index 000000000..b84309a46 --- /dev/null +++ b/source/sass/common/global.scss @@ -0,0 +1,26 @@ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + height: 100%; +} + +body { + min-height: 100%; + min-width: $min-width-mobile; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + font-family: $font; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 18px; + overflow-x: hidden; + color: $base-dark; + box-sizing: border-box; +} diff --git a/source/sass/common/variables.scss b/source/sass/common/variables.scss new file mode 100644 index 000000000..33ab881a4 --- /dev/null +++ b/source/sass/common/variables.scss @@ -0,0 +1,12 @@ +$font: "Montserrat", "Arial", sans-serif; +$base-dark: #2d383f; +$base-light: #999999; +$outline: rgba(45, 56, 63, 0.3); +$base-white: #ffffff; +$bg: #0266c1; +$bg-alt: #1c3374; +$bg-gradient: linear-gradient(rgba(15, 20, 41, 0.33), rgba(15, 20, 41, 0)); +$bg-gradient-card: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0)); +$min-width-mobile: 320px; +$min-width-tablet: 768px; +$min-width-desktop: 1440px; diff --git a/source/sass/common/visually-hidden.scss b/source/sass/common/visually-hidden.scss new file mode 100644 index 000000000..f21a29a2f --- /dev/null +++ b/source/sass/common/visually-hidden.scss @@ -0,0 +1,8 @@ +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + clip: rect(0 0 0 0); + overflow: hidden; +} diff --git a/source/sass/style.scss b/source/sass/style.scss index 96467369f..24fc6fe98 100644 --- a/source/sass/style.scss +++ b/source/sass/style.scss @@ -2,3 +2,29 @@ // --------------------------------- @import "vendor/normalize"; + +// @import "vendor/swiper"; + +@import "common/variables"; +@import "common/global"; +@import "common/fonts"; +@import "common/visually-hidden"; + +/* BLOCKS */ +@import "blocks/main-container"; +@import "blocks/hero"; +@import "blocks/background"; +@import "blocks/header"; +@import "blocks/tours"; +@import "blocks/button"; +@import "blocks/title-h3"; +@import "blocks/title-h4"; +@import "blocks/title-h5"; +@import "blocks/link"; +@import "blocks/training"; +@import "blocks/about"; +@import "blocks/reviews"; +@import "blocks/advantages"; +@import "blocks/gallery"; +@import "blocks/form"; +@import "blocks/footer"; diff --git a/source/sass/vendor/swiper.scss b/source/sass/vendor/swiper.scss new file mode 100644 index 000000000..ae38b6a05 --- /dev/null +++ b/source/sass/vendor/swiper.scss @@ -0,0 +1,294 @@ +/* + * Swiper 11.1.8 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2024 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: July 26, 2024 +*/ + +$themeColor: #007aff !default; + +@at-root { + @font-face { + font-family: "swiper-icons"; + src: + url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") + format("woff"); + font-weight: 400; + font-style: normal; + } +} + +@at-root { + :root { + --swiper-theme-color: #{$themeColor}; + + /* + --swiper-preloader-color: var(--swiper-theme-color); + --swiper-wrapper-transition-timing-function: initial; + */ + } +} + +:host { + position: relative; + display: block; + margin-left: auto; + margin-right: auto; + z-index: 1; +} + +.swiper { + margin-left: auto; + margin-right: auto; + position: relative; + overflow: hidden; + list-style: none; + padding: 0; + + /* Fix of Webkit flickering */ + z-index: 1; + display: block; +} + +.swiper-vertical > .swiper-wrapper { + flex-direction: column; +} + +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: flex; + transition-property: transform; + transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial); + box-sizing: content-box; +} + +.swiper-android .swiper-slide, +.swiper-ios .swiper-slide, +.swiper-wrapper { + transform: translate3d(0, 0, 0); +} + +.swiper-horizontal { + touch-action: pan-y; +} + +.swiper-vertical { + touch-action: pan-x; +} + +.swiper-slide { + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + transition-property: transform; + display: block; +} + +.swiper-slide-invisible-blank { + visibility: hidden; +} + +/* Auto Height */ +.swiper-autoheight, +.swiper-autoheight .swiper-slide { + height: auto; +} + +.swiper-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform, height; +} + +.swiper-backface-hidden .swiper-slide { + transform: translateZ(0); + backface-visibility: hidden; +} + +/* 3D Effects */ +.swiper-3d.swiper-css-mode .swiper-wrapper { + perspective: 1200px; +} + +.swiper-3d .swiper-wrapper { + transform-style: preserve-3d; +} + +.swiper-3d { + perspective: 1200px; + + .swiper-slide, + .swiper-cube-shadow { + transform-style: preserve-3d; + } +} + +/* CSS Mode */ +.swiper-css-mode { + > .swiper-wrapper { + overflow: auto; + scrollbar-width: none; /* For Firefox */ + -ms-overflow-style: none; /* For Internet Explorer and Edge */ + &::-webkit-scrollbar { + display: none; + } + } + + > .swiper-wrapper > .swiper-slide { + scroll-snap-align: start start; + } + + &.swiper-horizontal { + > .swiper-wrapper { + scroll-snap-type: x mandatory; + } + } + + &.swiper-vertical { + > .swiper-wrapper { + scroll-snap-type: y mandatory; + } + } + + &.swiper-free-mode { + > .swiper-wrapper { + scroll-snap-type: none; + } + + > .swiper-wrapper > .swiper-slide { + scroll-snap-align: none; + } + } + + &.swiper-centered { + > .swiper-wrapper::before { + content: ""; + flex-shrink: 0; + order: 9999; + } + + > .swiper-wrapper > .swiper-slide { + scroll-snap-align: center center; + scroll-snap-stop: always; + } + } + + &.swiper-centered.swiper-horizontal { + > .swiper-wrapper > .swiper-slide:first-child { + margin-inline-start: var(--swiper-centered-offset-before); + } + + > .swiper-wrapper::before { + height: 100%; + min-height: 1px; + width: var(--swiper-centered-offset-after); + } + } + + &.swiper-centered.swiper-vertical { + > .swiper-wrapper > .swiper-slide:first-child { + margin-block-start: var(--swiper-centered-offset-before); + } + + > .swiper-wrapper::before { + width: 100%; + min-width: 1px; + height: var(--swiper-centered-offset-after); + } + } +} + +/* Slide styles start */ + +/* 3D Shadows */ +.swiper-3d { + .swiper-slide-shadow, + .swiper-slide-shadow-left, + .swiper-slide-shadow-right, + .swiper-slide-shadow-top, + .swiper-slide-shadow-bottom, + .swiper-slide-shadow, + .swiper-slide-shadow-left, + .swiper-slide-shadow-right, + .swiper-slide-shadow-top, + .swiper-slide-shadow-bottom { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; + } + + .swiper-slide-shadow { + background: rgba(0, 0, 0, 0.15); + } + + .swiper-slide-shadow-left { + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + } + + .swiper-slide-shadow-right { + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + } + + .swiper-slide-shadow-top { + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + } + + .swiper-slide-shadow-bottom { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); + } +} + +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + transform-origin: 50%; + box-sizing: border-box; + border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color)); + border-radius: 50%; + border-top-color: transparent; +} + +.swiper:not(.swiper-watch-progress), +.swiper-watch-progress .swiper-slide-visible { + .swiper-lazy-preloader { + animation: swiper-preloader-spin 1s infinite linear; + } +} + +.swiper-lazy-preloader-white { + --swiper-preloader-color: #ffffff; +} + +.swiper-lazy-preloader-black { + --swiper-preloader-color: #000000; +} + +@keyframes swiper-preloader-spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +/* Slide styles end */ diff --git "a/source\320\263/sass/blocks/footer.scss" "b/source\320\263/sass/blocks/footer.scss" new file mode 100644 index 000000000..6d47fe39f --- /dev/null +++ "b/source\320\263/sass/blocks/footer.scss" @@ -0,0 +1,602 @@ +.footer { + width: $min-width-mobile; + margin: 0 auto; + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + } + + @media (min-width: $min-width-desktop) { + width: $min-width-desktop; + } +} + +.footer__contacts { + position: relative; + padding: 20px 0; + + &::before { + position: absolute; + content: ""; + bottom: 0; + left: 0; + min-width: $min-width-mobile; + margin: 0; + height: 1px; + background: rgba(45, 56, 63, 0.2); + } + + p { + width: 295px; + margin: 0; + padding: 12px 15px 0; + font-weight: 400; + font-size: 14px; + line-height: 20px; + } + + @media (min-width: $min-width-mobile) { + &::before { + width: 100vw; + margin-left: calc(50% - 50vw); + } + } + + @media (min-width: $min-width-tablet) { + padding: 40px 0 39px; + + p { + width: 570px; + padding: 0 45px; + font-size: 16px; + line-height: 24px; + } + } + + @media (min-width: $min-width-desktop) { + padding: 100px 0; + + p { + width: 722px; + padding: 0 119px; + } + } +} + +.footer__title-background { + position: absolute; + top: 23px; + left: 15px; + margin: 0; + opacity: 3%; + + @media (min-width: $min-width-tablet) { + top: 45px; + left: 45px; + } + + @media (min-width: $min-width-desktop) { + top: 106px; + left: 120px; + } +} + +.footer__title { + margin: 16px 0 17px; + padding: 0 15px; + + @media (min-width: $min-width-tablet) { + margin: 20px 0 21px; + padding: 0 45px; + } + + @media (min-width: $min-width-desktop) { + margin: 23px 0 22px; + padding: 0 119px; + } +} + +.footer__contacts-list { + display: flex; + flex-direction: column; + gap: 30px; + margin: 0; + padding: 30px 15px; + list-style: none; + + @media (min-width: $min-width-tablet) { + display: grid; + grid-template-columns: 153px 159px 288px; + gap: 40px; + padding: 40px 45px 39px; + } + + @media (min-width: $min-width-desktop) { + gap: 41px; + display: flex; + padding: 49px 142px 0; + } +} + +.footer__contacts-item { + display: flex; + flex-direction: column; + justify-content: space-between; + gap: 8px; + width: 290px; + min-height: 42px; + margin-left: 32px; + + h5 { + margin: 0; + font-weight: 600; + font-size: 14px; + line-height: 14px; + } + + @media (min-width: $min-width-tablet) { + width: 119px; + margin-left: 34px; + max-height: 44px; + gap: 6px; + + h5 { + font-size: 16px; + line-height: 16px; + } + + br { + display: none; + } + } + + @media (min-width: $min-width-desktop) { + width: 290px; + gap: 10px; + + h5 { + font-size: 18px; + line-height: 18px; + } + } +} + +.footer__contacts-item--phone { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-phone-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: -1px; + left: -34px; + width: 24px; + height: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-item--email { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-mail-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + &::after { + top: -1px; + left: -34px; + width: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-item--address { + position: relative; + + &::after { + position: absolute; + content: ""; + top: 0; + left: -32px; + width: 22px; + height: 22px; + mask-image: url("../__spritemap#sprite-pin-stroke-view"); + mask-repeat: no-repeat; + background-color: $base-dark; + } + + @media (min-width: $min-width-tablet) { + width: 254px; + + &::after { + top: -1px; + left: -34px; + width: 24px; + height: 24px; + mask-size: 24px 24px; + } + } + + @media (min-width: $min-width-desktop) { + width: 291px; + + &::after { + top: 13px; + left: -56px; + width: 26px; + height: 26px; + mask-size: 26px 26px; + } + } +} + +.footer__contacts-text { + font-weight: 400; + font-size: 14px; + line-height: 20px; + text-decoration: none; + color: $base-dark; + font-style: normal; + + @media (min-width: $min-width-tablet) { + line-height: 22px; + } + + @media (min-width: $min-width-desktop) { + font-size: 16px; + line-height: 24px; + } +} + +.footer__contacts-map { + position: relative; + width: $min-width-mobile; + height: 343px; + background: $bg; + z-index: 0; + + &::after { + position: absolute; + content: ""; + top: 171px; + left: 198px; + width: 25px; + height: 28px; + mask-image: url("../__spritemap#sprite-pin-filled-view"); + mask-repeat: no-repeat; + mask-size: 28px 28px; + background-color: $bg; + z-index: 1; + } + + @media (min-width: $min-width-tablet) { + width: $min-width-tablet; + height: 340px; + + &::after { + top: 182px; + left: 385px; + width: 40px; + height: 41px; + mask-size: 42px 42px; + } + } + + @media (min-width: $min-width-desktop) { + position: absolute; + top: 149px; + right: 120px; + width: 600px; + height: 324px; + + &::after { + top: 162px; + left: 360px; + width: 48px; + height: 48px; + mask-size: 48px 48px; + } + } +} + +.footer__nav { + padding: 23px 0 20px; + + @media (min-width: $min-width-tablet) { + padding: 35px 45px 20px; + } + + @media (min-width: $min-width-desktop) { + padding: 42px 120px 32px; + } +} + +.footer__nav-logo { + color: $base-dark; +} + +.footer__nav-position { + display: flex; + flex-direction: column; + align-items: center; + gap: 23px; + + @media (min-width: $min-width-tablet) { + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + gap: 0; + } + + @media (min-width: $min-width-desktop) { + margin-left: 29px; + } +} + +.footer__nav-wrapper { + display: flex; + justify-content: space-between; + width: $min-width-mobile; + padding: 0 0 20px; + + @media (min-width: $min-width-tablet) { + width: 530px; + flex-direction: row; + justify-content: flex-end; + gap: 20px; + margin: 0 0 31px; + padding: 0; + } + + @media (min-width: $min-width-desktop) { + width: 800px; + margin: 0 0 28px; + padding: 0 122px 0 96px; + } +} + +.footer__nav-list { + display: grid; + grid-template-columns: 150px 150px; + column-gap: 20px; + row-gap: 10px; + margin: 0; + padding: 0; + height: 75px; + + @media (min-width: $min-width-tablet) { + width: 500px; + display: flex; + justify-content: space-between; + flex-direction: row; + align-items: center; + gap: 0; + height: 45px; + } + + @media (min-width: $min-width-desktop) { + width: 800px; + } +} + +.footer__nav-item { + min-width: 120px; + text-align: center; + list-style: none; + + @media (min-width: $min-width-tablet) { + min-width: 0; + padding: 3px 5px; + } +} + + +.footer__nav-link { + font-weight: 400; + font-size: 14px; + line-height: 14px; + text-decoration: none; + color: $base-dark; + + &:hover { + margin-bottom: -1px; + border-bottom: 1px solid $base-dark; + } + + &:active { + margin-bottom: 0; + border-bottom: none; + color: $bg; + } + + &:focus-visible { + outline: 1px solid $base-dark; + } + + &:disabled { + background: $base-light; + } + + @media (min-width: $min-width-desktop) { + font-weight: 400; + font-size: 16px; + line-height: 16px; + } +} + +.footer__nav-list-social { + display: flex; + gap: 16px; + justify-content: center; + margin: 0 0 23px; + padding: 0; + height: 30px; + + @media (min-width: $min-width-tablet) { + margin: 0 0 34px; + } + + @media (min-width: $min-width-desktop) { + gap: 15px; + margin: 0 0 22px; + } +} + +.footer__nav-phone { + display: none; + + @media (min-width: $min-width-desktop) { + display: flex; + align-items: center; + font-weight: 600; + font-size: 18px; + line-height: 18px; + text-decoration: none; + color: $base-dark; + font-style: normal; + height: 45px; + + &:hover { + color: rgba(2, 102, 193, 0.1); + } + + &:focus { + color: $bg; + } + + &:active { + color: $bg-alt; + } + + &:disabled { + color: $base-light; + } + } +} + +.footer__nav-item-social { + position: relative; + width: 32px; + height: 30px; + list-style: none; + + a { + display: block; + width: 32px; + height: 30px; + outline: 1px solid $outline; + + &:hover { + outline: 1px solid $base-dark; + } + + &:focus { + outline: $base-white; + } + + &:active { + border: 1px solid $bg; + background: $bg; + } + + &:disabled { + outline: 1px solid $outline; + color: $outline; + } + + &:active svg { + color: $base-white; + } + } + + @media (min-width: $min-width-desktop) { + width: 30px; + height: 30px; + + a { + width: 30px; + height: 30px; + } + } +} + +.footer__nav-social-vk { + position: absolute; + top: 9px; + left: 7px; + width: 17px; + height: 11px; + color: $base-dark; + + @media (min-width: $min-width-desktop) { + left: 6px; + } +} + +.footer__nav-social-ok { + position: absolute; + top: 7px; + left: 10px; + width: 10px; + height: 16px; + color: $base-dark; +} + +.footer__nav-social-reddit { + position: absolute; + top: 7px; + left: 8px; + width: 15px; + height: 15px; + color: $base-dark; +} + +.footer__nav-additionally { + display: block; + text-align: center; + font-weight: 300; + font-size: 12px; + line-height: 12px; +}