diff --git a/src/images/arrow-top.svg b/src/images/arrow-top.svg
new file mode 100644
index 000000000..0bfb2174c
--- /dev/null
+++ b/src/images/arrow-top.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/benefit-1.svg b/src/images/benefit-1.svg
new file mode 100644
index 000000000..ffa680dba
--- /dev/null
+++ b/src/images/benefit-1.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/benefit-2.svg b/src/images/benefit-2.svg
new file mode 100644
index 000000000..fd4b7550f
--- /dev/null
+++ b/src/images/benefit-2.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/benefit-3.svg b/src/images/benefit-3.svg
new file mode 100644
index 000000000..203f2f68d
--- /dev/null
+++ b/src/images/benefit-3.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/benefit-4.svg b/src/images/benefit-4.svg
new file mode 100644
index 000000000..df0cb9b4c
--- /dev/null
+++ b/src/images/benefit-4.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/facebook-logo.svg b/src/images/facebook-logo.svg
new file mode 100644
index 000000000..fbeee204a
--- /dev/null
+++ b/src/images/facebook-logo.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/features-bg-mobile.png b/src/images/features-bg-mobile.png
new file mode 100644
index 000000000..2f709b7a8
Binary files /dev/null and b/src/images/features-bg-mobile.png differ
diff --git a/src/images/features-bg-tablet.png b/src/images/features-bg-tablet.png
new file mode 100644
index 000000000..4b6b56b56
Binary files /dev/null and b/src/images/features-bg-tablet.png differ
diff --git a/src/images/features-bg.png b/src/images/features-bg.png
new file mode 100644
index 000000000..676359d5c
Binary files /dev/null and b/src/images/features-bg.png differ
diff --git a/src/images/header-img.png b/src/images/header-img.png
new file mode 100644
index 000000000..4b05dd50f
Binary files /dev/null and b/src/images/header-img.png differ
diff --git a/src/images/header-mobile-img.png b/src/images/header-mobile-img.png
new file mode 100644
index 000000000..7fdd075a1
Binary files /dev/null and b/src/images/header-mobile-img.png differ
diff --git a/src/images/icon-close.svg b/src/images/icon-close.svg
new file mode 100644
index 000000000..df1397add
--- /dev/null
+++ b/src/images/icon-close.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/instagram-logo.svg b/src/images/instagram-logo.svg
new file mode 100644
index 000000000..9c7b45248
--- /dev/null
+++ b/src/images/instagram-logo.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/kickstarter-favicon.svg b/src/images/kickstarter-favicon.svg
new file mode 100644
index 000000000..da5158e73
--- /dev/null
+++ b/src/images/kickstarter-favicon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/images/kickstarter-logo.svg b/src/images/kickstarter-logo.svg
new file mode 100644
index 000000000..9801c53e5
--- /dev/null
+++ b/src/images/kickstarter-logo.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/images/menu-button.svg b/src/images/menu-button.svg
new file mode 100644
index 000000000..c3f42c4a0
--- /dev/null
+++ b/src/images/menu-button.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/images/presentation-img.png b/src/images/presentation-img.png
new file mode 100644
index 000000000..153f96b88
Binary files /dev/null and b/src/images/presentation-img.png differ
diff --git a/src/images/review-bg.svg b/src/images/review-bg.svg
new file mode 100644
index 000000000..2cd173184
--- /dev/null
+++ b/src/images/review-bg.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/images/review-img.png b/src/images/review-img.png
new file mode 100644
index 000000000..01cd48c29
Binary files /dev/null and b/src/images/review-img.png differ
diff --git a/src/images/technology-img-first.png b/src/images/technology-img-first.png
new file mode 100644
index 000000000..4be18fdfb
Binary files /dev/null and b/src/images/technology-img-first.png differ
diff --git a/src/images/technology-img-second.png b/src/images/technology-img-second.png
new file mode 100644
index 000000000..c0561d66e
Binary files /dev/null and b/src/images/technology-img-second.png differ
diff --git a/src/images/twitter-logo.svg b/src/images/twitter-logo.svg
new file mode 100644
index 000000000..b969568ed
--- /dev/null
+++ b/src/images/twitter-logo.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/index.html b/src/index.html
index 8019b83ec..12912f131 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,19 +1,431 @@
+
-
- Title
+
+ Crazybaby | audio system
+ rel="icon"
+ href="./images/kickstarter-favicon.svg"
+ type="image/svg+xml"
+ >
+
+
+
+
+
- Hello Mate Academy
+
+
+
+
+
+
+
+
+
+
+
+ Futuristic Design
+
+ To give Luna a truly flawless look, we specifically picked aircraft grade aluminum as its material and
+ adopted both three-dimensional stretch-bending technology and a high precision cold forging technique.
+
+
+
+
+
+
+
+
+ Tweeter Speaker System
+
+ To deliver a more layered sound performance better than a sole full-range speaker, our team equipped
+ Luna with one more tweeter speaker responsible for high-frequency sound independently.
+
+
+
+
+
+
+
+
+ Multiroom System
+
+ Luna is natively compatible with your home Wi-Fi. Set up multiple speakers in different rooms to
+ expand
+ your music experience into the entire house.
+
+
+
+
+
+
+
+
+ Intuitive Lighting System
+
+ An intuitive user interface allows you to adjust the hue and saturation of color for lighting that
+ fits
+ any mood and situation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DESIGNED FOR THE FUTURE
+
+ In 2014, a group of geeky industrial designers, engineering veterans and acoustic experts formed
+ crazybaby.
+ This is a bunch of passionate people who are crazy enough to think they can challenge the industry
+ with
+ disruptive audio products.
+
+
See more about us
+
+
+
+
+
+
+
+
+
+
+
+
Luna Eye
+
+ Luna Eye is to the essence of this innovative light and audio system. It comprises an independent
+ tweeter speaker, a light guiding component, a dome and a ring ornament.
+
+
See more about us
+
+
+
+
+
+
+
+
+
+ It really took me by surprise honestly to have such full beautiful sound that coming out of this small
+ compact device. And with the brush aluminum surface, it feels so familiar. Like my iPhone.
+
+
+
+
+
Garrett Martin
+
Creative Director
+
+
+
+
+
+
FEATURES
+
+
+ Connectivity
+
+ Hands Free Wireless Audio
+ Bluetooth 4.0 LE
+ Wi-Fi 2.4 GHz (802.11 b/g/n)
+ Smart Multiroom System Set Up
+ Party Mode with 6.0 Units and above
+ MESHNET Multi Speaker Network
+
+
+
+ App Features
+
+ Customize Music Schedule
+ Wake Up with Favorite Songs
+ Home Detection Auto Wake Up
+ Color Wheel
+
+
+
+ Sound & Music
+
+ Feel-in-chest Base Power
+ Lossless Digital Audio Transmission
+ Easy & Stable Stereo Pairing
+ Crisp and Clear High Frequency Sound
+ Streams from Cloud Music and Local Library
+ Auto Music from Last Song Stopped
+
+
+
+
+
+
+
+
+
diff --git a/src/scripts/main.js b/src/scripts/main.js
index ad9a93a7c..669dcabc5 100644
--- a/src/scripts/main.js
+++ b/src/scripts/main.js
@@ -1 +1,60 @@
'use strict';
+
+const menuIcon = document.querySelector('.top-bar__icon');
+const closeIcon = document.querySelector('.sidebar__close');
+const sidebar = document.querySelector('.sidebar');
+const menuLink = document.querySelectorAll('.menu__item a');
+
+menuIcon.addEventListener('click', () => {
+ sidebar.classList.add('sidebar--active');
+ document.body.classList.add('no-scroll');
+});
+
+closeIcon.addEventListener('click', () => {
+ sidebar.classList.remove('sidebar--active');
+ document.body.classList.remove('no-scroll');
+});
+
+menuLink.forEach((link) => {
+ link.addEventListener('click', () => {
+ sidebar.classList.remove('sidebar--active');
+ document.body.classList.remove('no-scroll');
+ });
+});
+
+const arrow = document.querySelector('.footer__totop');
+
+/* eslint-disable no-undef */
+
+function smoothScrollToTop(duration = 500) {
+ const start = window.pageYOffset;
+ const startTime = performance.now();
+
+ function scrollStep(currentTime) {
+ const elapsed = currentTime - startTime;
+ const progress = Math.min(elapsed / duration, 1);
+ const ease = 1 - Math.pow(1 - progress, 3);
+
+ window.scrollTo(0, start * (1 - ease));
+
+ if (progress < 1) {
+ requestAnimationFrame(scrollStep);
+ }
+ }
+
+ requestAnimationFrame(scrollStep);
+}
+
+/* eslint-enable no-undef */
+
+arrow.addEventListener('click', () => {
+ smoothScrollToTop(500);
+});
+
+const form = document.querySelector('.form');
+
+form.addEventListener('submit', function (event) {
+ event.preventDefault();
+
+ this.reset();
+});
diff --git a/src/styles/_fonts.scss b/src/styles/_fonts.scss
deleted file mode 100644
index 45cdd5400..000000000
--- a/src/styles/_fonts.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-@font-face {
- font-family: Roboto, Arial, Helvetica, sans-serif;
- src: url('../fonts/Roboto-Regular-webfont.woff') format('woff');
- font-weight: normal;
- font-style: normal;
-}
diff --git a/src/styles/_typography.scss b/src/styles/_typography.scss
deleted file mode 100644
index 1837eb46e..000000000
--- a/src/styles/_typography.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-h1 {
- @extend %h1;
-}
diff --git a/src/styles/_utils.scss b/src/styles/_utils.scss
index 3280c3fe1..f1078dced 100644
--- a/src/styles/_utils.scss
+++ b/src/styles/_utils.scss
@@ -1,3 +1,2 @@
@import 'utils/vars';
@import 'utils/mixins';
-@import 'utils/extends';
diff --git a/src/styles/container.scss b/src/styles/container.scss
new file mode 100644
index 000000000..9426dacd2
--- /dev/null
+++ b/src/styles/container.scss
@@ -0,0 +1,13 @@
+.container {
+ padding: 0 30px;
+
+ @include on-tablet {
+ padding: 0 34px;
+ }
+
+ @include on-dekstop {
+ max-width: 1200px;
+ margin-left: auto;
+ margin-right: auto;
+ }
+}
diff --git a/src/styles/main.scss b/src/styles/main.scss
index fb9195d12..cfee08bd2 100644
--- a/src/styles/main.scss
+++ b/src/styles/main.scss
@@ -1,7 +1,67 @@
@import 'utils';
-@import 'fonts';
-@import 'typography';
+@import 'container';
+@import 'sections/header';
+@import 'sections/sidebar';
+@import 'sections/benefits';
+@import 'sections/presentation';
+@import 'sections/technologies';
+@import 'sections/reviews';
+@import 'sections/features';
+@import 'sections/contacts';
+@import 'sections/form';
+@import 'sections/footer';
+
+html {
+ scroll-behavior: smooth;
+}
body {
- background: $c-gray;
+ margin: 30px 0;
+ background-color: #f7f7f7;
+ color: #333;
+ font-family: Inter, sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.5;
+}
+
+input {
+ all: unset;
+}
+
+textarea {
+ all: unset;
+}
+
+h2 {
+ margin: 0;
+ padding: 0;
+}
+
+section {
+ margin-top: 110px;
+
+ @include on-tablet {
+ margin-top: 140px;
+ }
+
+ @include on-dekstop {
+ margin-top: 170px;
+ }
+}
+
+footer {
+ margin-top: 110px;
+
+ @include on-tablet {
+ margin-top: 140px;
+ }
+
+ @include on-dekstop {
+ margin-top: 170px;
+ }
+}
+
+.no-scroll {
+ overflow: hidden;
}
diff --git a/src/styles/sections/benefits.scss b/src/styles/sections/benefits.scss
new file mode 100644
index 000000000..8edb75385
--- /dev/null
+++ b/src/styles/sections/benefits.scss
@@ -0,0 +1,70 @@
+@import '../utils/mixins';
+
+.benefits {
+ @include on-dekstop {
+ margin-top: 75px;
+ }
+
+ &__row {
+ display: flex;
+ gap: 30px;
+ flex-wrap: wrap;
+
+ @include on-dekstop {
+ flex-wrap: nowrap;
+ }
+ }
+
+ &__col {
+ width: 100%;
+
+ @include on-tablet {
+ width: 47%;
+ }
+
+ @include on-dekstop {
+ width: 24%;
+ }
+ }
+}
+
+.benefit {
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ &__img {
+ margin-bottom: 30px;
+ transition: 0.3s;
+ }
+
+ &:hover {
+
+ .benefit__img {
+ transform: scale(1.2);
+ }
+ }
+
+ &__title {
+ margin-bottom: 20px;
+ font-size: 22px;
+ font-weight: 700;
+ line-height: 1.27;
+ text-transform: uppercase;
+ }
+
+ &__text {
+ color: #7C7C7C;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 1.5;
+ max-width: 75%;
+ margin: 0 auto;
+ margin-top: auto;
+
+ @include on-tablet {
+ max-width: 100%;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/styles/sections/contacts.scss b/src/styles/sections/contacts.scss
new file mode 100644
index 000000000..e77aaeccf
--- /dev/null
+++ b/src/styles/sections/contacts.scss
@@ -0,0 +1,18 @@
+.contacts {
+
+ &__title {
+ width: 100%;
+ font-size: 30px;
+ font-weight: 700;
+ line-height: 1.25;
+ text-transform: uppercase;
+
+ @include on-tablet {
+ font-size: 36px;
+ }
+
+ @include on-dekstop {
+ font-size: 56px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/styles/sections/features.scss b/src/styles/sections/features.scss
new file mode 100644
index 000000000..e83459a86
--- /dev/null
+++ b/src/styles/sections/features.scss
@@ -0,0 +1,95 @@
+@import './../utils/mixins';
+
+.features {
+
+ .container {
+ padding: 0;
+
+ @include on-tablet {
+ padding: 0 34px;
+ }
+ }
+
+ &__title {
+ font-size: 30px;
+ font-weight: 700;
+ line-height: 1.25;
+ text-transform: uppercase;
+ padding-left: 30px;
+ margin-bottom: 30px;
+
+ @include on-tablet {
+ padding-left: 0;
+ }
+
+ @include on-dekstop {
+ font-size: 56px;
+ }
+ }
+
+ &__wrapper {
+ background-color: #D6ECEC;
+ background-image: url(./../images/features-bg-mobile.png);
+ background-repeat: no-repeat;
+ background-position: bottom right;
+ padding: 30px;
+ display: flex;
+ flex-wrap: wrap;
+ height: 555px;
+ box-sizing: border-box;
+
+ @include on-tablet {
+ padding: 60px 90px;
+ background-image: url(./../images/features-bg-tablet.png);
+ }
+
+ @include on-dekstop {
+ padding: 60px 100px;
+ gap: 55px;
+ height: initial;
+ background-image: url(./../images/features-bg.png);
+ }
+ }
+}
+
+.feature {
+ display: none;
+
+ @include on-dekstop {
+ width: 45%;
+ display: block;
+ }
+
+ &--active {
+ display: block;
+ }
+
+ &__title {
+ color: #0C797A;
+ font-size: 18px;
+ font-weight: 700;
+ line-height: 1.23;
+ text-transform: uppercase;
+
+ @include on-dekstop {
+ font-size: 34px;
+ }
+ }
+
+ &__list {
+ padding: 0;
+ margin: 30px 0 0;
+ list-style-position: inside;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ }
+
+ &__item {
+ font-size: 14px;
+
+ @include on-dekstop {
+ font-size: 16px;
+ }
+ }
+}
diff --git a/src/styles/sections/footer.scss b/src/styles/sections/footer.scss
new file mode 100644
index 000000000..9db3859a5
--- /dev/null
+++ b/src/styles/sections/footer.scss
@@ -0,0 +1,53 @@
+@import './../utils/mixins';
+
+.footer {
+
+ &__wrapper {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ gap: 30px;
+
+ @include on-tablet {
+ gap: 60px;
+ }
+ }
+
+ &__row {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ }
+
+ &__col {
+ width: 100%;
+ }
+
+ &__logo {
+ text-align: center;
+ display: none;
+
+ @include on-tablet {
+ display: block;
+ }
+ }
+
+ &__totop {
+ text-align: right;
+ cursor: pointer;
+ display: none;
+
+ @include on-tablet {
+ display: block;
+ }
+ }
+
+ &__socials {
+ display: flex;
+ gap: 40px;
+ }
+
+ &__copyright {
+ text-align: center;
+ }
+}
diff --git a/src/styles/sections/form.scss b/src/styles/sections/form.scss
new file mode 100644
index 000000000..04f4164e9
--- /dev/null
+++ b/src/styles/sections/form.scss
@@ -0,0 +1,82 @@
+@import './../utils/mixins';
+
+.form {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+
+ &__wrapper {
+ display: flex;
+ flex-direction: column;
+ gap: 20px;
+
+ @include on-tablet {
+ flex-direction: row;
+ }
+ }
+
+ &__email {
+ height: 48px;
+ background: #fff;
+ color: #BDBDBD;
+ line-height: 1.5;
+ border: 1px solid #828282;
+ outline: none;
+ padding: 12px 35px;
+ margin-bottom: 20px;
+ box-sizing: border-box;
+
+ &::placeholder {
+ color: #BDBDBD;
+ opacity: 1;
+ }
+ }
+
+ &__textarea {
+ height: 128px;
+ background: #fff;
+ color: #BDBDBD;
+ line-height: 1.5;
+ border: 1px solid #828282;
+ outline: none;
+ padding: 12px 35px;
+ margin-bottom: 30px;
+ box-sizing: border-box;
+
+ @include on-tablet {
+ height: 201px;
+ }
+
+ @include on-dekstop {
+ height: 128px;
+ }
+
+ &::placeholder {
+ color: #BDBDBD;
+ opacity: 1;
+ }
+ }
+
+ &__btn {
+ width: 102px;
+ height: 40px;
+ background: #0DB2B3;
+ color: #FFF;
+ font-size: 12px;
+ font-weight: 700;
+ line-height: 1.16;
+ text-transform: uppercase;
+ text-align: center;
+ cursor: pointer;
+ transition: 0.3s;
+
+ @include on-dekstop {
+ width: 120px;
+ height: 48px;
+ }
+
+ &:hover {
+ background-color: #11D6D7;
+ }
+ }
+}
diff --git a/src/styles/sections/header.scss b/src/styles/sections/header.scss
new file mode 100644
index 000000000..0262d3d2e
--- /dev/null
+++ b/src/styles/sections/header.scss
@@ -0,0 +1,235 @@
+@import '../utils/mixins';
+
+.panel__item a {
+ font-size: 14px;
+ line-height: 1.42;
+ text-transform: uppercase;
+ text-decoration: none;
+}
+
+.menu {
+
+ &__list {
+ margin: 30px 0 0;
+ list-style: none;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+ gap: 25px;
+
+ @include on-tablet {
+ gap: 40px;
+ margin: 40px 0 0;
+ }
+ }
+
+ &__item {
+
+ a {
+ color: #333;
+ font-size: 14px;
+ line-height: 1.27;
+ text-transform: uppercase;
+ text-decoration: none;
+
+ &:hover {
+ color: #6B6B6B;
+ }
+
+ @include on-tablet {
+ font-size: 22px;
+ }
+ }
+ }
+}
+
+.header {
+
+ &__wrapper {
+ display: flex;
+ flex-direction: column-reverse;
+ margin-top: 90px;
+
+ @include on-tablet {
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ }
+ }
+
+ &__title {
+ color: #333;
+ font-size: 40px;
+ font-weight: 700;
+ line-height: 1.25;
+ text-transform: uppercase;
+ margin: 0;
+
+ @include on-tablet {
+ font-size: 48px;
+ }
+
+ @include on-dekstop {
+ font-size: 62px;
+ }
+ }
+
+ &__subtitle {
+ color: #333;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 1.5;
+
+ @include on-tablet {
+ max-width: 275px;
+ }
+ }
+
+ &__img {
+ width: 100%;
+ margin-bottom: 40px;
+
+ @include on-tablet {
+ margin-bottom: 0;
+ }
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: contain;
+
+ @include on-dekstop {
+ width: initial;
+ height: initial;
+ }
+ }
+
+ &--dekstop {
+ display: none;
+
+ @include on-tablet {
+ display: block;
+ }
+ }
+
+ &--mobile {
+ display: block;
+
+ @include on-tablet {
+ display: none;
+ }
+ }
+ }
+
+ &__menu {
+ display: none;
+ margin-top: 170px;
+
+ .menu {
+
+ &__list {
+ flex-direction: row;
+ justify-content: center;
+ margin: 0;
+ gap: 84px;
+ }
+
+ &__item {
+ a {
+ font-size: 14px;
+ display: inline-block;
+ min-width: 85px;
+
+ &:hover {
+ color: #131313;
+ font-weight: 700;
+ }
+ }
+ }
+ }
+
+ @include on-dekstop {
+ display: block;
+ }
+ }
+}
+
+.top-bar {
+ height: 74px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ &__logo {
+ transition: 0.3s;
+
+ &:hover {
+ transform: scale(1.2);
+ }
+ }
+
+ &__tools {
+ display: flex;
+ align-items: center;
+ gap: 30px;
+ }
+
+ &__icon {
+ display: flex;
+ align-items: center;
+
+ @include on-dekstop {
+ display: none;
+ }
+ }
+}
+
+.panel {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: none;
+ align-items: center;
+ gap: 30px;
+
+ @include on-tablet {
+ display: flex;
+ }
+
+ &__link {
+ color: #4F4F4F;
+ transition: 0.3s;
+
+ &:hover {
+ color: #6B6B6B;
+ }
+ }
+
+ &__lang {
+ color: #BDBDBD;
+ transition: 0.3s;
+
+ &:hover {
+ color: #4D4D4D;
+ }
+
+ &--active {
+ color: #333;
+ }
+ }
+
+ &__btn {
+ background-color: #333;
+ height: 48px;
+ padding: 0 37px;
+ color: #fff;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ transition: 0.3s;
+
+ &:hover {
+ background-color: #4D4D4D;
+ }
+ }
+}
diff --git a/src/styles/sections/presentation.scss b/src/styles/sections/presentation.scss
new file mode 100644
index 000000000..58fcf8343
--- /dev/null
+++ b/src/styles/sections/presentation.scss
@@ -0,0 +1,16 @@
+.presentation {
+
+ &__img {
+ text-align: center;
+
+ img {
+ width: 100%;
+ height: 100%;
+
+ @include on-dekstop {
+ width: initial;
+ height: initial;
+ }
+ }
+ }
+}
diff --git a/src/styles/sections/reviews.scss b/src/styles/sections/reviews.scss
new file mode 100644
index 000000000..8b914b74d
--- /dev/null
+++ b/src/styles/sections/reviews.scss
@@ -0,0 +1,50 @@
+.reviews {
+
+ &__wrapper {
+ text-align: center;
+ max-width: 780px;
+ margin: 0 auto;
+ background: url(./../images/review-bg.svg);
+ background-repeat: no-repeat;
+ background-position: top center;
+ }
+
+ &__text {
+ font-size: 14px;
+ font-weight: 700;
+ line-height: 1.5;
+
+ @include on-tablet {
+ font-size: 24px;
+ }
+ }
+
+ &__img {
+ margin-top: 30px;
+
+ @include on-tablet {
+ margin-top: 40px;
+ }
+
+ @include on-dekstop {
+ margin-top: 30px;
+ }
+ }
+
+ &__author {
+ font-weight: 700;
+ line-height: 1.37;
+ margin-top: 10px;
+
+ @include on-tablet {
+ margin-top: 20px;
+ }
+ }
+
+ &__position {
+ color: #7C7C7C;
+ font-size: 14px;
+ line-height: 1.5;
+ margin-top: 5px;
+ }
+}
diff --git a/src/styles/sections/sidebar.scss b/src/styles/sections/sidebar.scss
new file mode 100644
index 000000000..ea2038ac2
--- /dev/null
+++ b/src/styles/sections/sidebar.scss
@@ -0,0 +1,53 @@
+@import '../utils/mixins';
+
+.sidebar {
+ background: #eee;
+ position: absolute;
+ height: 100vh;
+ width: 100%;
+ top: 0;
+ z-index: 1;
+ transform: translateX(-100%);
+ transition: transform 0.3s ease;
+ display: flex;
+ flex-direction: column;
+
+ &--active {
+ transform: translateX(0);
+ }
+
+ &__panel {
+ margin-top: 50px;
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+
+ .panel {
+ display: flex;
+ gap: 20px;
+ }
+
+ @include on-tablet {
+ display: none;
+ }
+ }
+
+ &__btn {
+ margin-top: auto;
+ margin-bottom: 30px;
+
+ a {
+ font-size: 14px;
+ line-height: 1.42;
+ text-transform: uppercase;
+ text-decoration: none;
+ display: flex;
+ }
+ }
+
+ .container {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ }
+}
diff --git a/src/styles/sections/technologies.scss b/src/styles/sections/technologies.scss
new file mode 100644
index 000000000..18adad73a
--- /dev/null
+++ b/src/styles/sections/technologies.scss
@@ -0,0 +1,126 @@
+@import './../utils/mixins';
+
+.technologies {
+
+ .container {
+
+ @include on-tablet {
+ padding: 0;
+ }
+
+ @include on-dekstop {
+ padding: 0 34px;
+ }
+ }
+}
+
+.technology {
+
+ &__col {
+ width: 100%;
+ }
+
+ &:last-child {
+ margin-top: 170px;
+
+ .technology {
+
+ &__col {
+
+ &:last-child {
+
+ @include on-tablet {
+ padding-left: 34px;
+ }
+
+ @include on-dekstop {
+ padding-left: 0;
+ }
+ }
+ }
+ }
+ }
+
+ &__row {
+ display: flex;
+ gap: 30px;
+ flex-direction: column;
+
+ @include on-tablet {
+ flex-direction: row;
+ }
+
+ &--reverse {
+
+ @include on-tablet {
+ flex-direction: row-reverse;
+ }
+ }
+ }
+
+ &__img {
+ height: 100%;
+
+ img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
+ }
+
+ &__title {
+ font-size: 30px;
+ font-weight: 700;
+ line-height: 1.25;
+ text-transform: uppercase;
+
+ @include on-tablet {
+ font-size: 36px;
+ }
+
+ @include on-dekstop {
+ font-size: 56px;
+ }
+ }
+
+ &__text {
+ color: #7C7C7C;
+ line-height: 1.25;
+ margin-top: 20px;
+ margin-bottom: 30px;
+
+ @include on-tablet {
+ max-width: 85%;
+ margin-top: 30px;
+ margin-bottom: 60px;
+ }
+ }
+
+ &__link {
+ display: inline-block;
+ color: #0DB2B3;
+ font-size: 12px;
+ line-height: 1.16;
+ font-weight: 700;
+ text-decoration: none;
+ text-transform: uppercase;
+ transition: 0.3s;
+
+ &::after {
+ content: '';
+ border-bottom: 1px solid #0DB2B3;
+ width: 50%;
+ display: block;
+ padding-top: 5px;
+ transition: width 0.3s;
+ }
+
+ &:hover {
+ color: #11D6D7;
+
+ &::after {
+ width: 100%;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/styles/utils/_extends.scss b/src/styles/utils/_extends.scss
deleted file mode 100644
index d7201e7b3..000000000
--- a/src/styles/utils/_extends.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-%h1 {
- font-family: Roboto, sans-serif;
- font-weight: 400;
-}
diff --git a/src/styles/utils/_mixins.scss b/src/styles/utils/_mixins.scss
index 80c79780d..752d7de6b 100644
--- a/src/styles/utils/_mixins.scss
+++ b/src/styles/utils/_mixins.scss
@@ -1,6 +1,27 @@
+@import 'vars';
+
@mixin hover($_property, $_toValue) {
transition: #{$_property} 0.3s;
&:hover {
#{$_property}: $_toValue;
}
}
+
+@mixin on-phone {
+ @media (min-width: $phone-min-width) {
+ @content;
+ }
+}
+
+@mixin on-tablet {
+ @media (min-width: $tablet-min-width) {
+ @content;
+ }
+}
+
+@mixin on-dekstop {
+ @media (min-width: $dekstop-min-width) {
+ @content;
+ }
+}
+
diff --git a/src/styles/utils/_vars.scss b/src/styles/utils/_vars.scss
index aeb006ffb..045aa1033 100644
--- a/src/styles/utils/_vars.scss
+++ b/src/styles/utils/_vars.scss
@@ -1 +1,3 @@
-$c-gray: #eee;
+$phone-min-width: 320px;
+$tablet-min-width: 768px;
+$dekstop-min-width: 1200px;
\ No newline at end of file