From bbe44000dec010a5feb930521d2fc687f586e469 Mon Sep 17 00:00:00 2001
From: Aliaksandr BUDZKO <abudzko@takima.fr>
Date: Wed, 21 Jul 2021 17:09:46 +0200
Subject: [PATCH] fix: performance

---
 public/index.html                             |   6 +-
 public/logo192.png                            | Bin 5347 -> 0 bytes
 public/logo512.png                            | Bin 9664 -> 0 bytes
 public/manifest.json                          |  10 --
 src/App.js                                    |   2 +-
 src/index.js                                  |   1 +
 src/index.scss                                |   4 +-
 src/js/components/TopBar/TopBar.js            |   1 +
 .../BottomSection/BottomSection.module.scss   |  37 +++--
 .../CloudSection/CloudSection.module.scss     |  97 +++++-------
 .../FeatureSection/FeatureSection.module.scss |  62 +++++---
 .../LandingSection/LandingSection.module.scss |  41 ++---
 .../StatsSection/StatsSection.module.scss     | 149 ++++++++++++------
 .../TowerSection/TowerSection.module.scss     | 140 +++++++++-------
 .../VscodeSection/VscodeSection.module.scss   |  71 ++++-----
 src/style/fonts.module.scss                   |   2 +-
 16 files changed, 347 insertions(+), 276 deletions(-)
 delete mode 100644 public/logo192.png
 delete mode 100644 public/logo512.png

diff --git a/public/index.html b/public/index.html
index d9ee694..b12c9ef 100644
--- a/public/index.html
+++ b/public/index.html
@@ -9,11 +9,12 @@
       name="description"
       content="Web site created using create-react-app"
     />
-    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
     <!--
       manifest.json provides metadata used when your web app is installed on a
       user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
     -->
+    <link rel="preload" href="src/style/hiragino-kaku-gothic-stdn-w8.otf" as="font">
+
     <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
     <!--
       Notice the use of %PUBLIC_URL% in the tags above.
@@ -28,7 +29,10 @@
   </head>
   <body>
     <noscript>You need to enable JavaScript to run this app.</noscript>
+
     <div id="root"></div>
+    <!-- Needed to load the font before rendering the page -->
+
     <!--
       This HTML file is a template.
       If you open it directly in the browser, you will see an empty page.
diff --git a/public/logo192.png b/public/logo192.png
deleted file mode 100644
index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5347
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

diff --git a/public/logo512.png b/public/logo512.png
deleted file mode 100644
index a4e47a6545bc15971f8f63fba70e4013df88a664..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9664
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
Q-2sVvy85}Sb4q9e0RM_kJ^%m!

diff --git a/public/manifest.json b/public/manifest.json
index 080d6c7..1f2f141 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -6,16 +6,6 @@
       "src": "favicon.ico",
       "sizes": "64x64 32x32 24x24 16x16",
       "type": "image/x-icon"
-    },
-    {
-      "src": "logo192.png",
-      "type": "image/png",
-      "sizes": "192x192"
-    },
-    {
-      "src": "logo512.png",
-      "type": "image/png",
-      "sizes": "512x512"
     }
   ],
   "start_url": ".",
diff --git a/src/App.js b/src/App.js
index f56fd48..2b07ebb 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,4 +1,4 @@
-import 'antd/dist/antd.css';
+import  'antd/dist/antd.css';
 
 import MainPage from "./js/pages/MainPage";
 
diff --git a/src/index.js b/src/index.js
index aa79a95..1c45901 100644
--- a/src/index.js
+++ b/src/index.js
@@ -4,6 +4,7 @@ import './index.scss';
 import App from './App';
 import reportWebVitals from './reportWebVitals';
 
+
 ReactDOM.render(
   <React.StrictMode>
     <App />
diff --git a/src/index.scss b/src/index.scss
index bd592cf..27dcf08 100644
--- a/src/index.scss
+++ b/src/index.scss
@@ -2,11 +2,13 @@
 
 body {
   margin: 0;
-  font-family: $primary_font;
+  font-family: $primary_font, sans-serif;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }
 
+
+
 code {
   font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
     monospace;
diff --git a/src/js/components/TopBar/TopBar.js b/src/js/components/TopBar/TopBar.js
index 52f58c5..68e00b9 100644
--- a/src/js/components/TopBar/TopBar.js
+++ b/src/js/components/TopBar/TopBar.js
@@ -14,6 +14,7 @@ const TopBar = (props) => {
             setCurrentSection(Object.fromEntries(newSectionMap.filter(([key, value]) => value)))
 
         }
+        // eslint-disable-next-line react-hooks/exhaustive-deps
     }, [props.sectionStatus]);
 
 
diff --git a/src/js/sections/BottomSection/BottomSection.module.scss b/src/js/sections/BottomSection/BottomSection.module.scss
index ca5298d..bc45c4d 100644
--- a/src/js/sections/BottomSection/BottomSection.module.scss
+++ b/src/js/sections/BottomSection/BottomSection.module.scss
@@ -13,15 +13,15 @@
   flex-direction: column;
   align-items: center;
   font-family: $primary_font;
-  padding-top: 10%;
+  padding-top: 200px;
   justify-content: space-between;
 
   .MiddleBlock {
-    padding: 2% 2%;
+    padding: 20px 20px;
     background: $primary_beige;
     color: $primary_black;
     border-radius: 10px;
-    max-width: 50vw;
+    max-width: 900px;
 
     display: flex;
     flex-direction: column;
@@ -39,7 +39,7 @@
 
       .Comments {
         flex-basis: 80%;
-        padding-right: 5%;
+        padding-right: 50px;
 
         font-size: 1rem;
         line-height: 1.6rem;
@@ -49,15 +49,12 @@
       .ButtonContainer {
         flex-basis: 20%;
         position: center;
-        padding-right: 10%;
-        margin-top: 5%;
+        padding-right: 20px;
+        margin-top: 50px;
 
         Button {
           font-family: $primary_font;
           font-size: 1.1rem;
-          width: 100%;
-          height: 30%;
-
         }
 
       }
@@ -138,9 +135,13 @@
 @media (max-width: 1024px) {
 
   .BottomSection {
+    background-position: bottom, 110% 42%, -5% 57%;
+    padding-top: 100px;
+
+
 
     .MiddleBlock {
-      max-width: 60vw;
+      max-width: 600px;
 
       .Title {
         font-size: $mobile_section_subtitle_size;
@@ -175,10 +176,11 @@
 
     .BottomBlock {
       bottom: 2%;
+      margin-top: 30vh;
 
       .Logos {
         margin-right: 5%;
-        max-width: 30%;
+        max-width: 20%;
         flex-direction: column;
 
 
@@ -189,23 +191,25 @@
 
         p {
           max-width: 100%;
+          font-size: 0.7rem;
 
         }
       }
 
       .ContactLinks {
-        max-width: 40%;
+        flex-basis: 30%;
 
         .BigCaption {
           margin-bottom: 10%;
+          font-size: 0.8rem;
         }
 
-        Button {
-          width: 100%;
-
+        a {
+          font-size: 0.7rem;
         }
 
         .SmallCaption {
+          font-size: 0.7rem;
         }
       }
     }
@@ -309,6 +313,7 @@
 @media (max-width: 425px) {
   .BottomSection {
     background-position: bottom, 106% 49%, -5% 63%;
+    padding-top: 50px;
 
     .MiddleBlock {
 
@@ -325,6 +330,8 @@
 
           font-size: 0.6rem;
           line-height: 1rem;
+          padding-right: 0;
+
 
           .FirstComment {
 
diff --git a/src/js/sections/CloudSection/CloudSection.module.scss b/src/js/sections/CloudSection/CloudSection.module.scss
index 45498ff..9a971bd 100644
--- a/src/js/sections/CloudSection/CloudSection.module.scss
+++ b/src/js/sections/CloudSection/CloudSection.module.scss
@@ -7,31 +7,31 @@
   background-repeat: no-repeat;
   background-position: center;
   background-size: 100% 100%;
-  min-height: 100vh;
-  vertical-align: center;
+  min-height: auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   font-family: $primary_font;
+  padding: 100px 0 100px 0;
 
   .UpperBlock {
-    margin-top: 2%;
+    margin-top: 30px;
     font-size: $section_title_size;
     line-height: $section_title_line_height;
-    max-width: 40%;
+    max-width: 650px;
     text-align: center;
 
   }
 
   .Cloud {
-    margin-top: 2%;
-    max-width: 50vw;
-    max-height: 50vh;
+    margin-top: 20px;
+    width: 600px;
+    height: 450px;
   }
 
   .BottomBlock {
-    margin-top: 2%;
-    max-width: 35%;
+    margin-top: 20px;
+    max-width: 600px;
     font-size: $section_subtitle_size;
     line-height: $section_subtitle_line_height;
 
@@ -39,7 +39,7 @@
       margin-top: 20px;
       font-size: $section_caption_size;
       line-height: $section_caption_line_height;
-      max-width: 70%;
+      max-width: 500%;
       color: white;
 
 
@@ -50,86 +50,75 @@
 @media (max-width: 1024px) {
 
   .CloudSection {
-    min-height: 70vh;
+    padding: 0 0 0 0;
+
     .UpperBlock {
       font-size: $mobile_section_title_size;
       line-height: $mobile_section_title_line_height;
-      max-width: 40%;
-      text-align: center;
+      max-width: 400px;
 
     }
 
     .Cloud {
-      max-width: 30%;
-      max-height: 30%;
+      width: 300px;
+      height: 250px;
     }
 
     .BottomBlock {
       font-size: $mobile_section_subtitle_size;
       line-height: $mobile_section_subtitle_line_height;
-      max-width: 40%;
-      text-align: center;
+      max-width: 300px;
 
       .Caption {
         font-size: $mobile_section_caption_size;
         line-height: $mobile_section_caption_line_height;
-        max-width: 100%;
 
       }
     }
   }
 }
 
-@media (max-width: 768px) {
-  .CloudSection {
 
-    min-height: 70vh;
-    padding-top: 4%;
-    padding-bottom: 2%;
+@media (max-width: 425px) {
+  .CloudSection {
     .UpperBlock {
-      text-align: center;
-
+      max-width: 225px;
+      font-size: 1.3rem;
     }
-
     .Cloud {
-      margin-top: 2%;
-      max-width: 45%;
-      max-height: 25%;
+      width: 300px;
+      height: 220px;
     }
 
     .BottomBlock {
-      margin-top: 0;
-      max-width: 40%;
+      max-width: 190px;
 
       .Caption {
-        max-width: 80%;
-        margin: 15px auto;
       }
     }
   }
 }
 
-
-@media (max-width: 425px) {
+@media (max-width: 375px) {
   .CloudSection {
+
     .UpperBlock {
-      margin-top: 3%;
-      max-width: 55%;
-      font-size: 1.3rem;
+      margin-top: 40px;
+
+      font-size: 1.2rem;
+      line-height: 1.5rem;
     }
     .Cloud {
-      margin-top: 2%;
-      max-width: 60%;
-      max-height: 60%;
+      width: 270px;
+      height: 220px;
     }
 
     .BottomBlock {
-      margin-top: 0;
-      max-width: 40%;
-
+      font-size: 0.8rem;
+      line-height: 1.1rem;
       .Caption {
-        max-width: 100%;
-        margin: 15px auto;
+        font-size: 0.6rem;
+        line-height: 1rem;
       }
     }
   }
@@ -139,26 +128,24 @@
   .CloudSection {
 
     .UpperBlock {
-      margin-top: 15%;
-      max-width: 67%;
-      font-size: 1.2rem;
-      line-height: 1.5rem;
+      margin-top: 45px;
     }
     .Cloud {
-      max-width: 80%;
-      max-height: 100%;
+      width: 200px;
+      height: 220px;
     }
 
     .BottomBlock {
-      max-width: 40%;
+      max-width: 160px;
       font-size: 0.8rem;
+      line-height: 1.1rem;
       .Caption {
-        max-width: 100%;
-        margin: 15px auto;
         font-size: 0.6rem;
+        line-height: 1rem;
       }
     }
   }
 }
 
 
+
diff --git a/src/js/sections/FeatureSection/FeatureSection.module.scss b/src/js/sections/FeatureSection/FeatureSection.module.scss
index 0cd5555..fd3137c 100644
--- a/src/js/sections/FeatureSection/FeatureSection.module.scss
+++ b/src/js/sections/FeatureSection/FeatureSection.module.scss
@@ -5,13 +5,11 @@
 .FeatureSection {
   background: white;
   background-size: 100% 100%;
-  min-height: 60vh;
-
+  min-height: auto;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
-  flex-wrap: wrap;
 
   font-family: $primary_font;
   color: $primary_black;
@@ -25,14 +23,14 @@
     .Feature {
       display: flex;
       flex-direction: row;
-      padding: 5% 5% 5% 5%;
+      padding: 30px 30px;
       font-size: 2rem;
       line-height: 2.4rem;
 
       .Checkmark {
-        padding-right: 5%;
-        padding-top: 5%;
-        font-size: 3vw;
+        padding-right: 30px;
+        padding-top: 30px;
+        font-size: 3rem;
 
       }
     }
@@ -43,9 +41,9 @@
     // bubble css inspired by https://codingislove.com/css-speech-bubbles/
     .Bubble {
 
-      width: 70%;
+      width: 700px;
       margin: 50px auto;
-      padding: 4% 3%;
+      padding: 30px 30px;
       position: relative;
       border: solid $primary_black;
       font-size: 1.3rem;
@@ -70,7 +68,7 @@
       position: relative;
       font-size: 1.5rem;
       line-height: 2rem;
-      padding: 0 0 2% 25%;
+      padding: 0 0 30px 25%;
     }
   }
 }
@@ -87,7 +85,7 @@
     .RightSide {
 
       .Bubble {
-        width: 90%;
+        width: 450px;
         font-size: 0.8rem;
         line-height: 1.2rem;
       }
@@ -95,6 +93,7 @@
       .Author {
         font-size: 1rem;
         line-height: 1.2rem;
+        margin-top: -20px;
       }
     }
   }
@@ -103,15 +102,21 @@
 
 @media (max-width: 768px) {
   .FeatureSection {
-    min-height: 50vh;
+
+    .LeftSide {
+      .Feature {
+        padding: 30px 20px 30px 10px;
+
+      }
+    }
 
     .RightSide {
       .Bubble {
-        width: 90%;
+        width: 400px;
       }
 
       .Author {
-        padding: 0 0 1% 15%;
+        padding: 0 0 20px 50px;
         margin-top: -15px;
 
       }
@@ -121,17 +126,19 @@
 
 @media (max-width: 425px) {
   .FeatureSection {
-    min-height: 40vh;
     flex-direction: column;
-    padding: 5% 0 5% 0;
+    padding-bottom: 20px;
+    .LeftSide {
+      padding: 20px 0 20px 10px;
 
+    }
     .RightSide {
       .Bubble {
         margin: 20px auto;
       }
 
       .Author {
-        padding: 2% 0 0 15%;
+        padding: 10px 0 0 70px;
         margin-top: 0;
       }
     }
@@ -157,7 +164,7 @@
     .RightSide {
 
       .Bubble {
-        width: 90%;
+        width: 350px;
         font-size: 0.7rem;
         line-height: 1rem;
       }
@@ -169,3 +176,22 @@
     }
   }
 }
+
+@media (max-width: 320px) {
+  .FeatureSection {
+    .RightSide {
+
+      .Bubble {
+        width: 280px;
+        font-size: 0.7rem;
+        line-height: 1rem;
+        padding: 20px 20px;
+
+      }
+
+      .Author {
+        padding: 10px 0 0 30px;
+      }
+    }
+  }
+}
diff --git a/src/js/sections/LandingSection/LandingSection.module.scss b/src/js/sections/LandingSection/LandingSection.module.scss
index 8294b0d..d559295 100644
--- a/src/js/sections/LandingSection/LandingSection.module.scss
+++ b/src/js/sections/LandingSection/LandingSection.module.scss
@@ -5,21 +5,20 @@
 .LandingSection {
   background-image: url('#{$assetPath}/curves/courbe_1.png');
   background-repeat: no-repeat;
-  background-position: center;
   background-size: 100% 100%;
   height: auto;
-  padding: 20vh 0 25vh 0;
+  padding: 170px 0 270px 0;
   display: flex;
   flex-direction: row;
   align-items: center;
-  justify-content: left;
+  justify-content: center;
 
   .LeftSide {
-    flex-basis: 50%;
+    flex-basis: 20%;
 
     .Octopus {
-      width: 55vw;
-      height: 55vh;
+      width: 500px;
+      height: 450px;
     }
   }
 
@@ -28,7 +27,7 @@
     font-family: $primary_font;
     vertical-align: middle;
     flex-basis: 40%;
-    margin-left: -15vw;
+    margin-left: -40px;
 
     .Title {
       font-size: 6.5rem;
@@ -46,7 +45,7 @@
 @media (max-width: 1440px) {
   .LandingSection {
     .RightSide {
-      margin-left: -10vw;
+      margin-left: -20px;
     }
   }
 }
@@ -55,12 +54,15 @@
 
   .LandingSection {
 
+    padding: 150px 0 200px 0;
+
+
     .LeftSide {
-      flex-basis: 50%;
+      flex-basis: 35%;
 
       .Octopus {
-        width: 40vw;
-        height: 45vh;
+        width: 300px;
+        height: 350px;
       }
     }
 
@@ -69,7 +71,7 @@
       font-family: $primary_font;
       vertical-align: middle;
       flex-basis: 40%;
-      margin-left: -15vw;
+      margin-left: 0;
 
       .Title {
         font-size: 5rem;
@@ -90,7 +92,7 @@
 
 
     .RightSide {
-      margin-left: -20vw;
+      margin-left: 0;
 
     }
   }
@@ -102,7 +104,6 @@
 
     flex-direction: column;
 
-
     .RightSide {
       margin-left: 0;
     }
@@ -112,17 +113,19 @@
 @media (max-width: 425px) {
 
   .LandingSection {
-    padding: 8vh 0 20vh 0;
 
+    padding: 50px 0 170px 0;
 
     .LeftSide {
 
       .Octopus {
-        width: 55vw;
-        height: 45vh;
+        width: 200px;
+        height: 400px;
       }
     }
     .RightSide {
+      margin-top: -40px;
+
       .Title {
         font-size: 3rem;
         .Caption {
@@ -141,12 +144,10 @@
     .LeftSide {
 
       .Octopus {
-        width: 55vw;
-        height: 43vh;
+
       }
     }
     .RightSide {
-      margin-top: -20px;
       .Title {
         font-size: 2.3rem;
         .Caption {
diff --git a/src/js/sections/StatsSection/StatsSection.module.scss b/src/js/sections/StatsSection/StatsSection.module.scss
index 47ede09..e9beef6 100644
--- a/src/js/sections/StatsSection/StatsSection.module.scss
+++ b/src/js/sections/StatsSection/StatsSection.module.scss
@@ -11,20 +11,18 @@
 
   font-family: $primary_font;
 
-  min-height: 90vh;
+  min-height: auto;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
-  flex-wrap: wrap;
-  padding-bottom: 20%;
-  padding-top: 10%;
+  padding: 100px 0 13% 0;
 
 
   .LeftSide {
     vertical-align: middle;
     text-align: left;
-    max-width: 40%;
+    max-width: 600px;
     flex-basis: 30%;
 
     .Title {
@@ -36,8 +34,7 @@
       font-size: $section_caption_size;
       line-height: $section_caption_line_height;
       color: white;
-      margin-top: 5%;
-      max-width: 80%;
+      margin-top: 20px;
     }
 
   }
@@ -46,30 +43,21 @@
     flex-basis: 30%;
 
     .NotesImage {
-      max-width: 60vw;
-      max-height: 60vh;
+      width: 800px;
+      height: 400px;
     }
   }
 
 }
 
-@media (max-width: 1200px) {
-  .StatsSection {
-    .RightSide {
-      .NotesImage {
-        width: 45vw;
-        height: 35vh;
-      }
-    }
-  }
-}
 
 @media (max-width: 1024px) {
 
   .StatsSection {
-    min-height: 70vh;
 
     .LeftSide {
+      max-width: 450px;
+
       .Title {
         font-size: $mobile_section_title_size;
         line-height: $mobile_section_title_line_height;
@@ -78,9 +66,6 @@
       .Caption {
         font-size: $mobile_section_caption_size;
         line-height: $mobile_section_caption_line_height;
-        color: white;
-        margin-top: 5%;
-        max-width: 80%;
       }
 
     }
@@ -89,38 +74,27 @@
       flex-basis: 30%;
 
       .NotesImage {
-        max-width: 60vw;
-        max-height: 60vh;
+        width: 550px;
+        height: 300px;
       }
     }
   }
 
 }
 
-//@media (max-width: 992px) {
-//  .StatsSection {
-//    min-height: 90vh;
-//
-//  }
-//}
-
 @media (max-width: 768px) {
   .StatsSection {
 
-    min-height: 70vh;
     flex-direction: column-reverse;
-    padding-bottom: 20%;
-    padding-top: 0;
+    padding-bottom: 23%;
     position: relative;
 
 
     .LeftSide {
       vertical-align: middle;
       text-align: left;
-      max-width: 80%;
-      margin-top: 5%;
-
-
+      margin-top: 30px;
+      max-width: 600px;
 
       .Caption {
         position: absolute;
@@ -137,8 +111,8 @@
 
     .RightSide {
       .NotesImage {
-        width: 100%;
-        max-height: 30vh;
+        width: 600px;
+        height: 300px;
       }
     }
 
@@ -149,15 +123,22 @@
 
 @media (max-width: 425px) {
   .StatsSection {
-    min-height: 50vh;
+    padding-top: 50px;
+    padding-bottom: 35%;
+    justify-content: center;
 
     .RightSide {
       .NotesImage {
-        width: 80vw;
-        height: 20vh;
+        width: 390px;
+        height: 200px;
       }
     }
     .LeftSide {
+
+      .Title {
+        max-width: 390px;
+      }
+
       .Caption {
         left: 37%;
         right: 5%;
@@ -172,28 +153,94 @@
 
 @media (max-width: 375px) {
   .StatsSection {
-    min-height: 50vh;
 
     .RightSide {
       .NotesImage {
-        width: 90vw;
-        height: 20vh;
+        width: 300px;
+        height: 150px;
       }
     }
     .LeftSide {
       .Title {
+        max-width: 300px;
         font-size: 1.5rem;
         line-height: 1.7rem;
       }
 
       .Caption {
-        left: 37%;
-        right: 5%;
-        bottom: 10%;
-        max-width: 55%;
         font-size: 0.6rem;
         line-height: 1rem;
       }
     }
   }
+}
+
+@media (max-width: 375px) {
+  .StatsSection {
+
+    .RightSide {
+      .NotesImage {
+        width: 300px;
+        height: 150px;
+      }
+    }
+    .LeftSide {
+      .Title {
+        max-width: 300px;
+        font-size: 1.5rem;
+        line-height: 1.7rem;
+      }
+
+      .Caption {
+        font-size: 0.6rem;
+        line-height: 1rem;
+      }
+    }
+  }
+}
+
+@media (max-width: 375px) {
+  .StatsSection {
+
+    .RightSide {
+      .NotesImage {
+        width: 280px;
+        height: 150px;
+      }
+    }
+    .LeftSide {
+      .Title {
+        max-width: 280px;
+      }
+
+      .Caption {
+        left: 39%;
+        right: 5%;
+        bottom: 8%;
+      }
+    }
+  }
+}
+
+@media (max-width: 320px) {
+  .StatsSection {
+
+    .RightSide {
+      .NotesImage {
+        width: 280px;
+        height: 150px;
+      }
+    }
+    .LeftSide {
+      .Title {
+        max-width: 250px;
+      }
+
+      .Caption {
+        left: 39%;
+        right: 5%;
+        bottom: 8%;
+      }
+    }
+  }
 }
\ No newline at end of file
diff --git a/src/js/sections/TowerSection/TowerSection.module.scss b/src/js/sections/TowerSection/TowerSection.module.scss
index 5ea45b6..27945b8 100644
--- a/src/js/sections/TowerSection/TowerSection.module.scss
+++ b/src/js/sections/TowerSection/TowerSection.module.scss
@@ -10,21 +10,20 @@
   flex-direction: row;
   align-items: center;
   justify-content: center;
-  height: auto;
+  min-height: auto;
   color: $primary_black;
   font-family: $primary_font;
-  padding: 5vh 0 5vh 0;
+  padding: 100px 0 100px 0;
 
   .LeftSide {
     flex-basis: 30%;
     .TowerImage {
-      max-width: 60vw;
-      max-height: 70vh;
+      width: 700px;
+      height: 700px;
     }
   }
 
   .RightSide {
-
     vertical-align: middle;
     flex-basis: 30%;
     text-align: left;
@@ -39,7 +38,7 @@
     .Caption {
       font-size: $section_caption_size;
       line-height: $section_caption_line_height;
-      margin-top: 5%;
+      margin-top: 30px;
       color: white;
     }
   }
@@ -47,40 +46,39 @@
 }
 
 
-@media (max-width: 1440px) {
-  .TowerSection {
-    .LeftSide {
-      flex-basis: 30%;
-      .TowerImage {
-        max-width: 90%;
-        max-height: 90%;
-      }
-    }
-
-    .RightSide {
-      flex-basis: 30%;
-      .Title {
-        font-size: $section_title_size;
-        line-height: $section_title_line_height;
-      }
-
-      .Caption {
-        max-width: 80%;
-        font-size: $section_caption_size;
-        line-height: $section_caption_line_height;
-
-      }
-    }
-  }
-}
+//@media (max-width: 1440px) {
+//  .TowerSection {
+//    .LeftSide {
+//      flex-basis: 30%;
+//      .TowerImage {
+//      }
+//    }
+//
+//    .RightSide {
+//      flex-basis: 30%;
+//      .Title {
+//        font-size: $section_title_size;
+//        line-height: $section_title_line_height;
+//      }
+//
+//      .Caption {
+//        font-size: $section_caption_size;
+//        line-height: $section_caption_line_height;
+//
+//      }
+//    }
+//  }
+//}
 
 @media (max-width: 1024px) {
   .TowerSection {
+    padding: 50px 0 50px 0;
+
     .LeftSide {
-      flex-basis: 30%;
+      flex-basis: 20%;
       .TowerImage {
-        max-width: 90%;
-        max-height: 90%;
+        width: 500px;
+        height: 450px;
       }
     }
 
@@ -92,7 +90,6 @@
       }
 
       .Caption {
-        max-width: 80%;
         font-size: $mobile_section_caption_size;
         line-height: $mobile_section_caption_line_height;
 
@@ -105,28 +102,20 @@
 @media (max-width: 768px) {
   .TowerSection {
     flex-direction: column;
-    text-align: center;
-    min-height: 70vh;
-    background-position: 95% 0;
-    padding-top: 3%;
-    padding-bottom: 3%;
-
 
     .LeftSide {
       .TowerImage {
-        width: 70vw;
-        height: 40vh;
+        width: 450px;
+        height: 420px;
       }
     }
 
     .RightSide {
-      padding-top: 5%;
-      max-width: 70%;
-      text-align: center;
+      padding-top: 20px;
+      max-width: 470px;
+      text-align: left;
       .Caption {
-        padding-top: 4%;
-        max-width: 60%;
-        margin: 0 auto;
+        max-width: 370px;
       }
     }
   }
@@ -135,16 +124,24 @@
 
 @media (max-width: 425px) {
   .TowerSection {
-    padding: 5% 0 5% 0;
+    padding: 30px 0 30px 0;
+
+    .LeftSide {
+      .TowerImage {
+        width: 400px;
+        height: 380px;
+      }
+    }
+
     .RightSide {
-      max-width: 80%;
-      text-align: center;
+      text-align: left;
+      max-width: 360px;
+
 
       .Title {
-        font-size: 1.1rem;
+        font-size: 1.4rem;
       }
       .Caption {
-        max-width: 100%;
       }
     }
   }
@@ -153,20 +150,43 @@
 
 @media (max-width: 375px) {
   .TowerSection {
-    padding: 2% 0 5% 0;
+
+    .LeftSide {
+      .TowerImage {
+        width: 320px;
+        height: 320px;
+      }
+    }
+
     .RightSide {
-      padding-top: 0;
-      max-width: 80%;
+      max-width: 300px;
 
       .Title {
-        font-size: 1rem;
+        font-size: 1.2rem;
         line-height: 1.5rem;
       }
       .Caption {
-        max-width: 90%;
         font-size: 0.7rem;
       }
     }
   }
 
+}
+
+@media (max-width: 375px) {
+  .TowerSection {
+
+    .LeftSide {
+      .TowerImage {
+        width: 320px;
+        height: 320px;
+      }
+    }
+
+    .RightSide {
+      max-width: 250px;
+
+    }
+  }
+
 }
\ No newline at end of file
diff --git a/src/js/sections/VscodeSection/VscodeSection.module.scss b/src/js/sections/VscodeSection/VscodeSection.module.scss
index 6c266db..6bf694c 100644
--- a/src/js/sections/VscodeSection/VscodeSection.module.scss
+++ b/src/js/sections/VscodeSection/VscodeSection.module.scss
@@ -12,16 +12,15 @@
   flex-direction: row;
   align-items: center;
   justify-content: center;
-  flex-wrap: wrap;
-  min-height: 100vh;
-  padding: 2% 0 2% 0;
+  height: auto;
+  padding: 90px 0 90px 0;
 
   .LeftSide {
     padding: 1% 1%;
 
     .VscodeImage {
-      width: 50vw;
-      height: 55vh;
+      width: 900px;
+      height: 500px;
     }
   }
 
@@ -29,21 +28,20 @@
     color: $primary_black;
     font-family: $primary_font;
     text-align: left;
-    padding: 1% 3%;
+    padding: 90px 60px;
     flex-basis: 30%;
-    max-width: 60%;
+    max-width: 600px;
 
 
     .Title {
       font-size: $section_title_size;
       line-height: $section_title_line_height;
-
-
     }
+
     .Caption {
       font-size: $section_caption_size;
       line-height: $section_caption_line_height;
-      margin-top: 5%;
+      margin-top: 20px;
       color: white;
     }
   }
@@ -52,17 +50,18 @@
 
 @media (max-width: 1024px) {
   .VscodeSection {
-    min-height: 70vh;
+    padding: 50px 0 50px 0;
 
     .LeftSide {
       .VscodeImage {
-        margin-top: 2%;
-        width: 50vw;
-        height: 35vh;
+        width: 600px;
+        height: 350px;
       }
     }
 
     .RightSide {
+      padding: 90px 30px;
+
 
       .Title {
         font-size: $mobile_section_title_size;
@@ -73,7 +72,7 @@
       .Caption {
         font-size: $mobile_section_caption_size;
         line-height: $mobile_section_caption_line_height;
-        margin-top: 5%;
+        margin-top: 20px;
         color: white;
       }
     }
@@ -85,66 +84,53 @@
 @media (max-width: 768px) {
   .VscodeSection {
     flex-direction: column;
-    text-align: center;
-    min-height: 70vh;
-    background-position: 95% 0;
-    padding-top: 2%;
-    padding-bottom: 2%;
+    background-position: 97% 0;
 
 
     .LeftSide {
       .VscodeImage {
-        width: 70vw;
-        height: 40vh;
+        width: 600px;
+        height: 350px;
       }
     }
 
     .RightSide {
       padding: 5% 0 0 0;
-
-      .Caption {
-        max-width: 70%;
-        margin: 4% auto 0 auto;
-      }
+      max-width: 400px;
     }
   }
 }
 
 @media (max-width: 425px) {
   .VscodeSection {
+    padding: 50px 0 50px 0;
+
 
     .LeftSide {
       .VscodeImage {
-        margin-top: 2%;
-        width: 70vw;
-        height: 30vh;
+        width: 350px;
+        height: 250px;
       }
     }
 
     .RightSide {
-      .Caption {
-        max-width: 100%;
-      }
+      padding: 20px 40px 0 40px;
     }
   }
 }
 
 @media (max-width: 375px) {
   .VscodeSection {
-    min-height: 50vh;
-    background-position: 96% 0;
-    padding: 7% 0 10% 0;
 
     .LeftSide {
       .VscodeImage {
-        margin-top: 2%;
-        width: 70vw;
-        height: 30vh;
+        width: 320px;
+        height: 220px;
       }
     }
 
     .RightSide {
-
+      padding: 20px 40px 0 40px;
       .Title {
         font-size: 1.5rem;
         line-height: 1.7rem;
@@ -162,9 +148,8 @@
 
     .LeftSide {
       .VscodeImage {
-        margin-top: 0;
-        width: 70vw;
-        height: 20vh;
+        width: 290px;
+        height: 220px;
       }
     }
   }
diff --git a/src/style/fonts.module.scss b/src/style/fonts.module.scss
index e9123a4..f6ee2cc 100644
--- a/src/style/fonts.module.scss
+++ b/src/style/fonts.module.scss
@@ -6,7 +6,7 @@ $primary_font_weight: 800;
     src: url('./hiragino-kaku-gothic-stdn-w8.otf');
     font-weight: $primary_font_weight;
     font-style: normal;
-  }
+}
 
 
 $primary_font: primaryFont;
-- 
GitLab