Browse Source

current state

Matthias Schlich 1 year ago
parent
commit
27b6d8f742

+ 2
- 1
package.json View File

@@ -9,9 +9,10 @@
9 9
     "lint": "next lint"
10 10
   },
11 11
   "dependencies": {
12
+    "next": "14.2.3",
12 13
     "react": "^18",
13 14
     "react-dom": "^18",
14
-    "next": "14.2.3"
15
+    "sass": "^1.77.2"
15 16
   },
16 17
   "devDependencies": {
17 18
     "eslint": "^8",

BIN
public/artmadillo_logo.png View File


BIN
public/businessplanartmadillo1.png View File


BIN
public/businessplanartmadillo2.png View File


BIN
public/businessplanartmadillo3.png View File


BIN
public/linkedin.png View File


+ 0
- 1
public/next.svg View File

@@ -1 +0,0 @@
1
-<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>

+ 0
- 1
public/vercel.svg View File

@@ -1 +0,0 @@
1
-<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 283 64"><path fill="black" d="M141 16c-11 0-19 7-19 18s9 18 20 18c7 0 13-3 16-7l-7-5c-2 3-6 4-9 4-5 0-9-3-10-7h28v-3c0-11-8-18-19-18zm-9 15c1-4 4-7 9-7s8 3 9 7h-18zm117-15c-11 0-19 7-19 18s9 18 20 18c6 0 12-3 16-7l-8-5c-2 3-5 4-8 4-5 0-9-3-11-7h28l1-3c0-11-8-18-19-18zm-10 15c2-4 5-7 10-7s8 3 9 7h-19zm-39 3c0 6 4 10 10 10 4 0 7-2 9-5l8 5c-3 5-9 8-17 8-11 0-19-7-19-18s8-18 19-18c8 0 14 3 17 8l-8 5c-2-3-5-5-9-5-6 0-10 4-10 10zm83-29v46h-9V5h9zM37 0l37 64H0L37 0zm92 5-27 48L74 5h10l18 30 17-30h10zm59 12v10l-3-1c-6 0-10 4-10 10v15h-9V17h9v9c0-5 6-9 13-9z"/></svg>

BIN
public/verena_menzel.jpg View File


+ 0
- 107
src/app/globals.css View File

@@ -1,107 +0,0 @@
1
-:root {
2
-  --max-width: 1100px;
3
-  --border-radius: 12px;
4
-  --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono",
5
-    "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro",
6
-    "Fira Mono", "Droid Sans Mono", "Courier New", monospace;
7
-
8
-  --foreground-rgb: 0, 0, 0;
9
-  --background-start-rgb: 214, 219, 220;
10
-  --background-end-rgb: 255, 255, 255;
11
-
12
-  --primary-glow: conic-gradient(
13
-    from 180deg at 50% 50%,
14
-    #16abff33 0deg,
15
-    #0885ff33 55deg,
16
-    #54d6ff33 120deg,
17
-    #0071ff33 160deg,
18
-    transparent 360deg
19
-  );
20
-  --secondary-glow: radial-gradient(
21
-    rgba(255, 255, 255, 1),
22
-    rgba(255, 255, 255, 0)
23
-  );
24
-
25
-  --tile-start-rgb: 239, 245, 249;
26
-  --tile-end-rgb: 228, 232, 233;
27
-  --tile-border: conic-gradient(
28
-    #00000080,
29
-    #00000040,
30
-    #00000030,
31
-    #00000020,
32
-    #00000010,
33
-    #00000010,
34
-    #00000080
35
-  );
36
-
37
-  --callout-rgb: 238, 240, 241;
38
-  --callout-border-rgb: 172, 175, 176;
39
-  --card-rgb: 180, 185, 188;
40
-  --card-border-rgb: 131, 134, 135;
41
-}
42
-
43
-@media (prefers-color-scheme: dark) {
44
-  :root {
45
-    --foreground-rgb: 255, 255, 255;
46
-    --background-start-rgb: 0, 0, 0;
47
-    --background-end-rgb: 0, 0, 0;
48
-
49
-    --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));
50
-    --secondary-glow: linear-gradient(
51
-      to bottom right,
52
-      rgba(1, 65, 255, 0),
53
-      rgba(1, 65, 255, 0),
54
-      rgba(1, 65, 255, 0.3)
55
-    );
56
-
57
-    --tile-start-rgb: 2, 13, 46;
58
-    --tile-end-rgb: 2, 5, 19;
59
-    --tile-border: conic-gradient(
60
-      #ffffff80,
61
-      #ffffff40,
62
-      #ffffff30,
63
-      #ffffff20,
64
-      #ffffff10,
65
-      #ffffff10,
66
-      #ffffff80
67
-    );
68
-
69
-    --callout-rgb: 20, 20, 20;
70
-    --callout-border-rgb: 108, 108, 108;
71
-    --card-rgb: 100, 100, 100;
72
-    --card-border-rgb: 200, 200, 200;
73
-  }
74
-}
75
-
76
-* {
77
-  box-sizing: border-box;
78
-  padding: 0;
79
-  margin: 0;
80
-}
81
-
82
-html,
83
-body {
84
-  max-width: 100vw;
85
-  overflow-x: hidden;
86
-}
87
-
88
-body {
89
-  color: rgb(var(--foreground-rgb));
90
-  background: linear-gradient(
91
-      to bottom,
92
-      transparent,
93
-      rgb(var(--background-end-rgb))
94
-    )
95
-    rgb(var(--background-start-rgb));
96
-}
97
-
98
-a {
99
-  color: inherit;
100
-  text-decoration: none;
101
-}
102
-
103
-@media (prefers-color-scheme: dark) {
104
-  html {
105
-    color-scheme: dark;
106
-  }
107
-}

+ 227
- 0
src/app/globals.scss View File

@@ -0,0 +1,227 @@
1
+$rosa: #F07C7C;
2
+$blau: #417DCD;
3
+
4
+
5
+* {
6
+  box-sizing: border-box;
7
+  padding: 0;
8
+  margin: 0;
9
+}
10
+
11
+html,
12
+body {
13
+  max-width: 100vw;
14
+  overflow-x: hidden;
15
+  scroll-behavior: smooth;
16
+}
17
+
18
+body {
19
+  margin: 0;
20
+}
21
+
22
+a {
23
+  color: inherit;
24
+  text-decoration: none;
25
+}
26
+
27
+// @media (prefers-color-scheme: dark) {
28
+//   html {
29
+//     color-scheme: dark;
30
+//   }
31
+// }
32
+
33
+h2{
34
+  font-size: 2rem;
35
+  font-weight: 900;
36
+  margin-bottom: 2rem;
37
+  text-align: left;
38
+  width: 100%;
39
+  font-family: 'Onest', sans-serif;
40
+  letter-spacing: 0.5rem;
41
+  line-height: 2.5rem;
42
+}
43
+
44
+p{
45
+  font-size: 1rem;
46
+  line-height: 1.8rem;
47
+  margin-bottom: 1rem;
48
+
49
+}
50
+
51
+.bold{
52
+  
53
+  font-weight: 900;
54
+  font-family: 'Onest', sans-serif;
55
+  font-size: 1.2rem;
56
+  line-height: 2rem;
57
+}
58
+
59
+.list{
60
+  margin: 2rem 0 4rem 4rem;
61
+  list-style: none;
62
+  text-align: left;
63
+
64
+  li{
65
+    margin: 1rem 0;
66
+    position: relative;
67
+
68
+    &::before{
69
+      content: "";
70
+      position: absolute;
71
+      width: 3rem;
72
+      height: 5px;
73
+      background-color: black;
74
+      left: -4rem;
75
+      top: 0.6rem;
76
+    }
77
+  }
78
+}
79
+
80
+
81
+.main{
82
+  display: flex;
83
+  flex-direction: column;
84
+  justify-content: center;
85
+  align-items: center;
86
+  padding: 0 8rem;
87
+
88
+  @media screen and (max-width: 768px){
89
+    padding: 0 2rem;
90
+    
91
+  }
92
+
93
+  section{
94
+    display: flex;
95
+    flex-direction: column;
96
+    justify-content: center;
97
+    align-items: center;
98
+    width: 100%;
99
+
100
+    img{
101
+      width: 50%;
102
+      height: auto;
103
+
104
+      @media screen and (max-width: 768px){
105
+        width: 100%;
106
+      height: auto;
107
+        
108
+      }
109
+    }
110
+
111
+    &#what-we-do{
112
+      margin: 15rem 0;
113
+      display: flex;
114
+      font-size: 1rem;
115
+      line-height: 1.8rem;
116
+
117
+      p{
118
+        column-count: 3;
119
+        column-gap: 3rem;
120
+        margin-bottom: 3rem;
121
+
122
+        @media screen and (max-width: 768px){
123
+          column-count: 1;
124
+          column-gap: 0;
125
+          
126
+        }
127
+
128
+        .blau{
129
+          color: $blau;
130
+        }
131
+
132
+        .inline_headline{
133
+          font-weight: 900;
134
+          font-size: 2rem;
135
+          margin-bottom: 1rem;
136
+          display: block;
137
+          font-family: 'Onest', sans-serif;
138
+          color: $rosa;
139
+          margin-top: 2rem;
140
+          letter-spacing: 0.5rem;
141
+          line-height: 2.5rem;
142
+        }
143
+      }
144
+    }
145
+
146
+    &#who-is-artmadillo{
147
+      display: flex;
148
+      flex-direction: row;
149
+      justify-content: space-evenly;
150
+      align-items: flex-start;
151
+
152
+      @media screen and (max-width: 768px){
153
+        flex-direction: column ;
154
+      }
155
+
156
+      .col{
157
+        width:33%;
158
+
159
+        @media screen and (max-width: 768px){
160
+          width:100%;
161
+        }
162
+      }
163
+      
164
+      .main__verena{
165
+        width:100%;
166
+      }
167
+
168
+      .main__spacemandillo{
169
+        width:150%;
170
+      }
171
+
172
+      .LinkedInLink{
173
+        color: $blau;
174
+        font-weight: 900;
175
+        font-family: 'Onest', sans-serif;
176
+        display: flex;
177
+        justify-content: center;
178
+        align-items: center;
179
+        margin-top: 1rem;
180
+
181
+        .linkedin{
182
+          width: 2rem;
183
+          height: auto;
184
+          margin-right: 0.5rem;
185
+        }
186
+      }
187
+
188
+      .col2{
189
+        padding-left: 1rem;
190
+        padding-right: 2rem;
191
+
192
+        @media screen and (max-width: 768px){
193
+          padding-left: 0rem;
194
+          padding-right: 0rem;
195
+        }
196
+
197
+      }
198
+
199
+      .col3{
200
+        padding-left: 2rem;
201
+        text-align: right;
202
+        
203
+        @media screen and (max-width: 768px){
204
+          padding-left: 0rem;
205
+          padding-right: 0rem;
206
+        }
207
+
208
+        .main__artmandillo{
209
+          margin-bottom: 8rem;
210
+        }
211
+
212
+        p{
213
+          text-align: left;
214
+        }
215
+      }
216
+
217
+    }
218
+  }
219
+
220
+  &__logo{
221
+    display: block;
222
+    margin: 0 auto;
223
+    width: 35rem;
224
+    height: auto;
225
+    margin-top: 10rem;
226
+  }
227
+}

+ 13
- 5
src/app/layout.js View File

@@ -1,17 +1,25 @@
1
-import { Inter } from "next/font/google";
2
-import "./globals.css";
1
+import { Onest, Sanchez } from "next/font/google";
2
+import "./globals.scss";
3
+import Header from "@/components/Header/Header";
4
+import Footer from "@/components/Footer/Footer";
3 5
 
4
-const inter = Inter({ subsets: ["latin"] });
6
+
7
+const onest = Onest({ subsets: ["latin"] });
8
+const sanchez = Sanchez({ subsets: ["latin"], weight: "400"});
5 9
 
6 10
 export const metadata = {
7
-  title: "Create Next App",
11
+  title: "ARTMADILLO - Savage Strategy Design",
8 12
   description: "Generated by create next app",
9 13
 };
10 14
 
11 15
 export default function RootLayout({ children }) {
12 16
   return (
13 17
     <html lang="en">
14
-      <body className={inter.className}>{children}</body>
18
+      <body className={`${onest.className} ${sanchez.className}`}>
19
+      <Header />
20
+        {children}
21
+      <Footer />
22
+      </body>
15 23
     </html>
16 24
   );
17 25
 }

+ 57
- 83
src/app/page.js View File

@@ -1,95 +1,69 @@
1
+import Button from "@/components/Button/Button";
1 2
 import Image from "next/image";
2
-import styles from "./page.module.css";
3
+import Link from "next/link";
3 4
 
4 5
 export default function Home() {
5 6
   return (
6
-    <main className={styles.main}>
7
-      <div className={styles.description}>
7
+    <main className="main">
8
+      <section id="top">
9
+        <Image src="/artmadillo_logo.png" alt="Next.js logo" width={1134} height={846} className="main__logo" />
10
+        <Button link="/#what-we-do" desc="WHAT DO WE DO?" />
11
+      </section>  
12
+      <section id="what-we-do">
13
+      <h2>WHAT WE DO</h2>
8 14
         <p>
9
-          Get started by editing&nbsp;
10
-          <code className={styles.code}>src/app/page.js</code>
15
+          Artmadillo is a company that exclusively focuses on providing digital strategies, ideas, and concepts for businesses. Our aim is to accelerate the process of digital transformation by helping companies in Ireland and Germany develop innovative solutions. We recognize the need for companies to have strong strategies in place before implementing digital initiatives, which is why our services primarily revolve around strategy development.<br /><br />
16
+          In Germany and other European markets only very few entrepeneurs found businesses to soley focus on providing strategic ideas. With Irish Trade Marks Act of 1996 and Related Rights Act of 2000 only Ireland is offering a prosperous landscape to embark, protect and realize great innovations and ideas. This is why any idea-driven business must act and grow from the beautiful shores of Ireland.<br /><br />
17
+          If you recently felt like you lost control over your digital projects, got stuck and are spending more and more time on briefings, <span className="blau">this is exactly from where we can take you.</span>
18
+          <span className="inline_headline">THIS IS THE THING</span>
19
+          Our competitive advantage stems from our exclusive focus on digital strategies, ideas, and concepts. By honing in on this specific niche, we are able to offer specialized expertise and insights that set us apart from traditional service providers. Additionally, our familiarity with Irish law, particularly the Irish Trade Marks Act of 1996 and the Copyright and Related Rights Act of 2000, allows us to provide enhanced protection for our clients' ideas.
11 20
         </p>
12
-        <div>
13
-          <a
14
-            href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
15
-            target="_blank"
16
-            rel="noopener noreferrer"
17
-          >
18
-            By{" "}
19
-            <Image
20
-              src="/vercel.svg"
21
-              alt="Vercel Logo"
22
-              className={styles.vercelLogo}
23
-              width={100}
24
-              height={24}
25
-              priority
26
-            />
27
-          </a>
21
+        <Button link="/#who-is-artmadillo" desc="WHO IS ARTMADILLO?" />
22
+      </section>
23
+      <section id="who-is-artmadillo">
24
+        <div className="col1 col">
25
+          <Image src="/verena_menzel.jpg" alt="Verena Menzel" width={1585} height={2169} className="main__verena" />
26
+          <Link href="https://www.linkedin.com/in/verena-menzel-2b787478/" target='_blank' className="LinkedInLink"><Image src="/linkedin.png" alt='LinkedIn' width={52} height={52} className='linkedin' />CHECK ME OUT ON LINKEDIN</Link>
27
+          <Image src="/businessplanartmadillo1.png" alt="Artmadillo" width={996} height={1086} className="main__spacemandillo" />
28 28
         </div>
29
-      </div>
30
-
31
-      <div className={styles.center}>
32
-        <Image
33
-          className={styles.logo}
34
-          src="/next.svg"
35
-          alt="Next.js Logo"
36
-          width={180}
37
-          height={37}
38
-          priority
39
-        />
40
-      </div>
41
-
42
-      <div className={styles.grid}>
43
-        <a
44
-          href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
45
-          className={styles.card}
46
-          target="_blank"
47
-          rel="noopener noreferrer"
48
-        >
49
-          <h2>
50
-            Docs <span>-&gt;</span>
51
-          </h2>
52
-          <p>Find in-depth information about Next.js features and API.</p>
53
-        </a>
54
-
55
-        <a
56
-          href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
57
-          className={styles.card}
58
-          target="_blank"
59
-          rel="noopener noreferrer"
60
-        >
61
-          <h2>
62
-            Learn <span>-&gt;</span>
63
-          </h2>
64
-          <p>Learn about Next.js in an interactive course with&nbsp;quizzes!</p>
65
-        </a>
66
-
67
-        <a
68
-          href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
69
-          className={styles.card}
70
-          target="_blank"
71
-          rel="noopener noreferrer"
72
-        >
73
-          <h2>
74
-            Templates <span>-&gt;</span>
75
-          </h2>
76
-          <p>Explore starter templates for Next.js.</p>
77
-        </a>
78
-
79
-        <a
80
-          href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
81
-          className={styles.card}
82
-          target="_blank"
83
-          rel="noopener noreferrer"
84
-        >
85
-          <h2>
86
-            Deploy <span>-&gt;</span>
87
-          </h2>
29
+        <div className="col2 col">
30
+          <h2>HELLO, IT'S ME.</h2>
88 31
           <p>
89
-            Instantly deploy your Next.js site to a shareable URL with Vercel.
32
+          My name is Verena and here comes the thing: being no older than 29 years of age ;-) I have spent the last twenty or so years to drive digital transformation within different roles and many business fields. Most of what I did before was somehow related to what you might call:
33
+          </p>
34
+          <ul className="list">
35
+            <li>Digital Strategy //</li>
36
+            <li>User Experience Design //</li>
37
+            <li>User Interface Design //</li>
38
+            <li>Customer Journey Design // </li>
39
+            <li>Service Design // </li>
40
+            <li>Workshop Moderation //</li>
41
+          </ul>
42
+          <p className="bold">
43
+          IF YOU'D ASK ME WHAT I DO, I WOULDN'T ANSWER WITH THE TERMS ABOVE. EVEN THOUGH PARTLY HELPFUL TO UNDERSTAND, I CONSIDER THEM TO BE EMPTY BUZZWORDS.
90 44
           </p>
91
-        </a>
92
-      </div>
45
+        </div>
46
+        <div className="col3 col">
47
+        <Image src="/businessplanartmadillo2.png" alt="Artmadillo" width={290} height={508} className="main__artmandillo" />
48
+        <p>
49
+        How can I say that? <br />How many senior-level-people in marketing and software development do you believe can wrap up each of this terms in one sentence? Few. So how should my clients be considered to know what exactly they buy when ordering a Customer Journey Mapping? Yes, they will have a vague imagination of what to get. Still it is hard to fully satisfy (and perhaps amaze) your clients with no more than a vague idea of what you do. <br /><br />This is what I would say I do:
50
+        </p>
51
+        <p className="bold">
52
+        I PRAGMATICALLY HELP MY CLIENTS OF ALL BUSINESSFIELDS TO MAKE SAVAGE DIGITAL STUFF. NO MATTER IF IT IS A WEBSITE, AN APP OR WHATEVER SERVICE.
53
+        </p>
54
+        <p>
55
+        Therefore some of my skills are:
56
+        </p>
57
+        <ul className="list">
58
+            <li>Digital Strategy //</li>
59
+            <li>User Experience Design //</li>
60
+            <li>User Interface Design //</li>
61
+            <li>Customer Journey Design // </li>
62
+            <li>Service Design // </li>
63
+            <li>Workshop Moderation //</li>
64
+          </ul>
65
+        </div>
66
+      </section>
93 67
     </main>
94 68
   );
95 69
 }

+ 0
- 230
src/app/page.module.css View File

@@ -1,230 +0,0 @@
1
-.main {
2
-  display: flex;
3
-  flex-direction: column;
4
-  justify-content: space-between;
5
-  align-items: center;
6
-  padding: 6rem;
7
-  min-height: 100vh;
8
-}
9
-
10
-.description {
11
-  display: inherit;
12
-  justify-content: inherit;
13
-  align-items: inherit;
14
-  font-size: 0.85rem;
15
-  max-width: var(--max-width);
16
-  width: 100%;
17
-  z-index: 2;
18
-  font-family: var(--font-mono);
19
-}
20
-
21
-.description a {
22
-  display: flex;
23
-  justify-content: center;
24
-  align-items: center;
25
-  gap: 0.5rem;
26
-}
27
-
28
-.description p {
29
-  position: relative;
30
-  margin: 0;
31
-  padding: 1rem;
32
-  background-color: rgba(var(--callout-rgb), 0.5);
33
-  border: 1px solid rgba(var(--callout-border-rgb), 0.3);
34
-  border-radius: var(--border-radius);
35
-}
36
-
37
-.code {
38
-  font-weight: 700;
39
-  font-family: var(--font-mono);
40
-}
41
-
42
-.grid {
43
-  display: grid;
44
-  grid-template-columns: repeat(4, minmax(25%, auto));
45
-  max-width: 100%;
46
-  width: var(--max-width);
47
-}
48
-
49
-.card {
50
-  padding: 1rem 1.2rem;
51
-  border-radius: var(--border-radius);
52
-  background: rgba(var(--card-rgb), 0);
53
-  border: 1px solid rgba(var(--card-border-rgb), 0);
54
-  transition: background 200ms, border 200ms;
55
-}
56
-
57
-.card span {
58
-  display: inline-block;
59
-  transition: transform 200ms;
60
-}
61
-
62
-.card h2 {
63
-  font-weight: 600;
64
-  margin-bottom: 0.7rem;
65
-}
66
-
67
-.card p {
68
-  margin: 0;
69
-  opacity: 0.6;
70
-  font-size: 0.9rem;
71
-  line-height: 1.5;
72
-  max-width: 30ch;
73
-  text-wrap: balance;
74
-}
75
-
76
-.center {
77
-  display: flex;
78
-  justify-content: center;
79
-  align-items: center;
80
-  position: relative;
81
-  padding: 4rem 0;
82
-}
83
-
84
-.center::before {
85
-  background: var(--secondary-glow);
86
-  border-radius: 50%;
87
-  width: 480px;
88
-  height: 360px;
89
-  margin-left: -400px;
90
-}
91
-
92
-.center::after {
93
-  background: var(--primary-glow);
94
-  width: 240px;
95
-  height: 180px;
96
-  z-index: -1;
97
-}
98
-
99
-.center::before,
100
-.center::after {
101
-  content: "";
102
-  left: 50%;
103
-  position: absolute;
104
-  filter: blur(45px);
105
-  transform: translateZ(0);
106
-}
107
-
108
-.logo {
109
-  position: relative;
110
-}
111
-/* Enable hover only on non-touch devices */
112
-@media (hover: hover) and (pointer: fine) {
113
-  .card:hover {
114
-    background: rgba(var(--card-rgb), 0.1);
115
-    border: 1px solid rgba(var(--card-border-rgb), 0.15);
116
-  }
117
-
118
-  .card:hover span {
119
-    transform: translateX(4px);
120
-  }
121
-}
122
-
123
-@media (prefers-reduced-motion) {
124
-  .card:hover span {
125
-    transform: none;
126
-  }
127
-}
128
-
129
-/* Mobile */
130
-@media (max-width: 700px) {
131
-  .content {
132
-    padding: 4rem;
133
-  }
134
-
135
-  .grid {
136
-    grid-template-columns: 1fr;
137
-    margin-bottom: 120px;
138
-    max-width: 320px;
139
-    text-align: center;
140
-  }
141
-
142
-  .card {
143
-    padding: 1rem 2.5rem;
144
-  }
145
-
146
-  .card h2 {
147
-    margin-bottom: 0.5rem;
148
-  }
149
-
150
-  .center {
151
-    padding: 8rem 0 6rem;
152
-  }
153
-
154
-  .center::before {
155
-    transform: none;
156
-    height: 300px;
157
-  }
158
-
159
-  .description {
160
-    font-size: 0.8rem;
161
-  }
162
-
163
-  .description a {
164
-    padding: 1rem;
165
-  }
166
-
167
-  .description p,
168
-  .description div {
169
-    display: flex;
170
-    justify-content: center;
171
-    position: fixed;
172
-    width: 100%;
173
-  }
174
-
175
-  .description p {
176
-    align-items: center;
177
-    inset: 0 0 auto;
178
-    padding: 2rem 1rem 1.4rem;
179
-    border-radius: 0;
180
-    border: none;
181
-    border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
182
-    background: linear-gradient(
183
-      to bottom,
184
-      rgba(var(--background-start-rgb), 1),
185
-      rgba(var(--callout-rgb), 0.5)
186
-    );
187
-    background-clip: padding-box;
188
-    backdrop-filter: blur(24px);
189
-  }
190
-
191
-  .description div {
192
-    align-items: flex-end;
193
-    pointer-events: none;
194
-    inset: auto 0 0;
195
-    padding: 2rem;
196
-    height: 200px;
197
-    background: linear-gradient(
198
-      to bottom,
199
-      transparent 0%,
200
-      rgb(var(--background-end-rgb)) 40%
201
-    );
202
-    z-index: 1;
203
-  }
204
-}
205
-
206
-/* Tablet and Smaller Desktop */
207
-@media (min-width: 701px) and (max-width: 1120px) {
208
-  .grid {
209
-    grid-template-columns: repeat(2, 50%);
210
-  }
211
-}
212
-
213
-@media (prefers-color-scheme: dark) {
214
-  .vercelLogo {
215
-    filter: invert(1);
216
-  }
217
-
218
-  .logo {
219
-    filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
220
-  }
221
-}
222
-
223
-@keyframes rotate {
224
-  from {
225
-    transform: rotate(360deg);
226
-  }
227
-  to {
228
-    transform: rotate(0deg);
229
-  }
230
-}

+ 13
- 0
src/components/Button/Button.jsx View File

@@ -0,0 +1,13 @@
1
+import React from 'react';
2
+import Link from 'next/link';
3
+import './Button.scss';
4
+
5
+const Button = ({link, desc}) => {
6
+    return (
7
+        <Link href={link} className='Button'>
8
+            {desc}
9
+        </Link>
10
+    );
11
+};
12
+
13
+export default Button;

+ 26
- 0
src/components/Button/Button.scss View File

@@ -0,0 +1,26 @@
1
+.Button{
2
+    display: inline-flex;
3
+    justify-content: center;
4
+    align-items: center;
5
+    background-color: black;
6
+    font-family: 'Onest', sans-serif;
7
+    font-weight: 900;
8
+    font-size: 1rem;
9
+    line-height: 1rem;
10
+    letter-spacing: 0.4rem;
11
+    color: white;
12
+    padding: 2rem 6rem;
13
+    transition: all 0.3s;
14
+
15
+    max-width: 100%;
16
+
17
+    @media screen and (max-width: 768px){
18
+        padding: 2rem 2rem;
19
+        font-size: 0.8rem;
20
+        letter-spacing: 0.2rem;
21
+    }
22
+
23
+    &:hover{
24
+        border-radius: 50px;
25
+    }
26
+}

+ 30
- 0
src/components/Footer/Footer.jsx View File

@@ -0,0 +1,30 @@
1
+import React from 'react';
2
+import Image from 'next/image';
3
+import Button from '../Button/Button';
4
+import Link from 'next/link';
5
+import './Footer.scss';
6
+
7
+const Footer = () => {
8
+    return (
9
+        <footer className='Footer'>
10
+            <div className='slogan'>THANKS FOR <br />READING. <br />GET IN TOUCH.</div>
11
+            <div className='LogoButton'>
12
+                <Image src="/artmadillo_logo.png" alt="Logo" width={1134} height={846} className='Footer__logo'  />
13
+                <Button link="mailto:info@artmadillo.tech" desc="GET IN TOUCH" />
14
+            </div>  
15
+            <Image src="/businessplanartmadillo3.png" alt="Logo" width={585} height={638} className="spacemadillo" />
16
+            <div className='Footer__nav'>
17
+                <nav>
18
+                    <ul>
19
+                        <li><Link href="https://www.linkedin.com/in/verena-menzel-2b787478/" target='_blank'><Image src="/linkedin.png" alt='LinkedIn' width={52} height={52} className='linkedin' /></Link></li>
20
+                        {/* <li>Imprint</li>
21
+                        <li>Privacy Policy</li> */}
22
+                        <li><Link href="mailto:info@artmadillo.tech">Contact</Link></li>
23
+                    </ul>
24
+                </nav>
25
+            </div>
26
+        </footer>
27
+    );
28
+};
29
+
30
+export default Footer;

+ 93
- 0
src/components/Footer/Footer.scss View File

@@ -0,0 +1,93 @@
1
+.Footer{
2
+    height: 100dvh;
3
+    padding: 0 8rem;
4
+    overflow-y: hidden;
5
+
6
+    display: grid;
7
+    grid-template-columns: 33% 33% 33%;
8
+    grid-template-rows: 1fr 1fr 1fr;
9
+
10
+    @media screen and (max-width: 768px){
11
+      padding: 0 2rem;
12
+      display: block;
13
+    }
14
+
15
+    .LogoButton{
16
+        grid-column: 2 / 2;
17
+        grid-row: 3 / 2;
18
+        display: flex;
19
+        justify-content: center;
20
+        align-items: center;
21
+        flex-direction: column;
22
+
23
+        img{
24
+            @media screen and (max-width: 768px){
25
+                width: 100%;
26
+                height: auto;
27
+              }
28
+        }
29
+    }
30
+
31
+    .spacemadillo{
32
+        grid-column: 3 / 3;
33
+        grid-row: 3 / 3;
34
+        margin-top: -10rem;
35
+
36
+        @media screen and (max-width: 768px){
37
+            width: 100%;
38
+            height: auto;
39
+            margin-top: 0rem;
40
+            margin-left: 2rem;
41
+          }
42
+    }
43
+
44
+    .slogan{
45
+        text-transform: uppercase;
46
+        font-family: 'Onest', sans-serif;
47
+        letter-spacing: 0.5rem;
48
+        font-size: 2rem;
49
+        width: 100%;
50
+    }
51
+
52
+    &__nav{
53
+        grid-row: 4/4;
54
+        grid-column: 1/4;
55
+        margin-top: -15rem;
56
+
57
+        .linkedin{
58
+            width: 2rem;
59
+            height: auto;
60
+            margin-top: 5px;
61
+        }
62
+
63
+        ul{
64
+            display: flex;
65
+            justify-content: flex-start;
66
+            align-items: center;
67
+            list-style: none;
68
+            li{
69
+                margin-right: 2rem;
70
+                position: relative;
71
+                &::before{
72
+                    content: "|";
73
+                    margin-left: -1rem;
74
+                    margin-right: 1rem;
75
+                }
76
+                &:first-child{
77
+                    margin-right: 2rem;
78
+                    &::before{
79
+                        content: "";
80
+                        margin-left: 0;
81
+                        margin-right: 1rem;
82
+                    }
83
+                }
84
+            }
85
+        }
86
+
87
+    }
88
+
89
+    &__logo{
90
+        width: 30rem;
91
+        height: auto
92
+    }
93
+}

+ 39
- 0
src/components/Header/Header.jsx View File

@@ -0,0 +1,39 @@
1
+'use client';
2
+import React, {useState, useEffect} from 'react';
3
+import './Header.scss';
4
+import Navi from './Navi';
5
+import Image from 'next/image';
6
+
7
+const Header = () => {
8
+
9
+    const [scrolled, setScrolled] = useState(false);
10
+
11
+    useEffect(() => {
12
+        const handleScroll = () => {
13
+            if (window.scrollY > 100) {
14
+                setScrolled(true);
15
+            } else {
16
+                setScrolled(false);
17
+            }
18
+        };
19
+
20
+        window.addEventListener('scroll', handleScroll);
21
+
22
+        return () => {
23
+            window.removeEventListener('scroll', handleScroll);
24
+        };
25
+    }, []);
26
+
27
+
28
+
29
+
30
+    return (
31
+        <header className={`Header ${scrolled ? 'sticky' : ''}`}>
32
+            <span className='slogan'>You are here!<br />Great.</span>
33
+            {scrolled &&  <Image src="/artmadillo_logo.png" alt="Logo" width={113} height={84} className='Header__logo' />}
34
+            <Navi />
35
+        </header>
36
+    );
37
+};
38
+
39
+export default Header;

+ 59
- 0
src/components/Header/Header.scss View File

@@ -0,0 +1,59 @@
1
+.Header{
2
+    display: flex;
3
+    justify-content: space-between;
4
+    align-items: center;
5
+    padding: 4rem 8rem 0 8rem;
6
+
7
+    @media screen and (max-width: 768px){
8
+      padding: 0 2rem;
9
+      
10
+    }
11
+
12
+    &.sticky{
13
+        position: fixed;
14
+        top: 0;
15
+        left: 0;
16
+        width: 100%;
17
+        background-color: white;
18
+        z-index: 1000;
19
+        box-shadow: 0 0.5rem 1rem rgba(#000, 0.1);
20
+        padding: 1.5rem 8rem;
21
+        
22
+        @media screen and (max-width: 768px){
23
+          display: flex;
24
+          justify-content: space-between;
25
+          padding: 1.5rem 2rem;
26
+        }
27
+        
28
+
29
+        .slogan{
30
+          display: none;
31
+        }
32
+
33
+        .Header__logo{
34
+          margin: 0 auto;
35
+          position: relative;
36
+          left: 35px;
37
+
38
+          @media screen and (max-width: 768px){
39
+            margin: initial;
40
+            position: initial;
41
+            left: 0;
42
+          }
43
+        }
44
+    }
45
+
46
+    .slogan{
47
+        text-transform: uppercase;
48
+        font-family: 'Onest', sans-serif;
49
+        letter-spacing: 0.5rem;
50
+        font-size: 2rem;
51
+
52
+        @media screen and (max-width: 768px){
53
+          font-size: 1rem;
54
+          max-width: 50%;
55
+          margin-top: 2rem;
56
+          
57
+        }
58
+    }
59
+}

+ 35
- 0
src/components/Header/Navi.jsx View File

@@ -0,0 +1,35 @@
1
+"use client";
2
+import React, { useState } from "react";
3
+import Link from "next/link";
4
+import "./Navi.scss";
5
+
6
+const Navi = () => {
7
+  const [isOpen, setIsOpen] = useState(false);
8
+  return (
9
+    <nav className="Navi">
10
+      <button onClick={() => setIsOpen(!isOpen)}>
11
+        <span></span>
12
+        <span></span>
13
+        <span></span>
14
+      </button>
15
+      <div className={`Navi__overlay ${isOpen ? "active" : ""}`}>
16
+      <button onClick={() => setIsOpen(!isOpen)} className="close">✕</button>
17
+        <ul>
18
+          <li>
19
+            <Link href="/#what-we-do" onClick={() => setIsOpen(!isOpen)}>
20
+              WHAT WE DO
21
+            </Link>
22
+          </li>
23
+          <li>
24
+            <Link href="/#who-is-artmadillo" onClick={() => setIsOpen(!isOpen)}>WHO IS ARTMADILLO</Link>
25
+          </li>
26
+          <li>
27
+            <Link href="mailto:info@artmadillo.tech" onClick={() => setIsOpen(!isOpen)}>GET IN TOUCH</Link>
28
+          </li>
29
+        </ul>
30
+      </div>
31
+    </nav>
32
+  );
33
+};
34
+
35
+export default Navi;

+ 78
- 0
src/components/Header/Navi.scss View File

@@ -0,0 +1,78 @@
1
+.Navi{
2
+    button{
3
+        border: none;
4
+        background-color: transparent;
5
+
6
+        span{
7
+            display: block;
8
+            height: 5px;
9
+            width: 4.375rem;
10
+            background-color: black;
11
+            margin: 0.5rem 0;
12
+
13
+            &:first-of-type{
14
+                margin-top: 0;
15
+            }
16
+            &:last-of-type{
17
+                background-color: #F07C7C;
18
+            }
19
+        }
20
+    }
21
+
22
+    &__overlay{
23
+        position: fixed;
24
+        top: 0;
25
+        left: 0;
26
+        width: 100%;
27
+        height: 100vh;
28
+        background-color: rgba(#fff, 0.5);
29
+        z-index: 1000;
30
+        display: flex;
31
+        justify-content: center;
32
+        align-items: center;
33
+        flex-direction: column;
34
+        opacity: 0;
35
+        visibility: hidden;
36
+        transition: all 0.3s;
37
+        backdrop-filter: blur(10px);
38
+
39
+        &.active{
40
+            opacity: 1;
41
+            visibility: visible;
42
+        }
43
+
44
+        .close{
45
+            position: absolute;
46
+            top: 4rem;
47
+            right: 8rem;
48
+            font-size: 5rem;
49
+            cursor: pointer;
50
+
51
+            @media screen and (max-width: 768px){
52
+                font-size: 3rem;
53
+                top: 2rem;
54
+                right: 2rem;
55
+              }
56
+        }
57
+
58
+        ul{
59
+            display: flex;
60
+            justify-content: center;
61
+            align-items: center;
62
+            flex-direction: column;
63
+            list-style: none;
64
+            li{
65
+                margin: 2rem 0;
66
+                position: relative;
67
+                font-size: 3rem;
68
+                font-family: 'Onest', sans-serif;
69
+                letter-spacing: 0.5rem;
70
+                font-weight: 900;
71
+
72
+                @media screen and (max-width: 768px){
73
+                    font-size: 1rem;
74
+                  }
75
+            }
76
+        }
77
+    }
78
+}

+ 71
- 5
yarn.lock View File

@@ -271,6 +271,14 @@ ansi-styles@^6.1.0:
271 271
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
272 272
   integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
273 273
 
274
+anymatch@~3.1.2:
275
+  version "3.1.3"
276
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
277
+  integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
278
+  dependencies:
279
+    normalize-path "^3.0.0"
280
+    picomatch "^2.0.4"
281
+
274 282
 argparse@^2.0.1:
275 283
   version "2.0.1"
276 284
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@@ -416,6 +424,11 @@ balanced-match@^1.0.0:
416 424
   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
417 425
   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
418 426
 
427
+binary-extensions@^2.0.0:
428
+  version "2.3.0"
429
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
430
+  integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
431
+
419 432
 brace-expansion@^1.1.7:
420 433
   version "1.1.11"
421 434
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -431,7 +444,7 @@ brace-expansion@^2.0.1:
431 444
   dependencies:
432 445
     balanced-match "^1.0.0"
433 446
 
434
-braces@^3.0.3:
447
+braces@^3.0.3, braces@~3.0.2:
435 448
   version "3.0.3"
436 449
   resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
437 450
   integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
@@ -474,6 +487,21 @@ chalk@^4.0.0:
474 487
     ansi-styles "^4.1.0"
475 488
     supports-color "^7.1.0"
476 489
 
490
+"chokidar@>=3.0.0 <4.0.0":
491
+  version "3.6.0"
492
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
493
+  integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
494
+  dependencies:
495
+    anymatch "~3.1.2"
496
+    braces "~3.0.2"
497
+    glob-parent "~5.1.2"
498
+    is-binary-path "~2.1.0"
499
+    is-glob "~4.0.1"
500
+    normalize-path "~3.0.0"
501
+    readdirp "~3.6.0"
502
+  optionalDependencies:
503
+    fsevents "~2.3.2"
504
+
477 505
 client-only@0.0.1:
478 506
   version "0.0.1"
479 507
   resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
@@ -1041,6 +1069,11 @@ fs.realpath@^1.0.0:
1041 1069
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1042 1070
   integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1043 1071
 
1072
+fsevents@~2.3.2:
1073
+  version "2.3.3"
1074
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
1075
+  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
1076
+
1044 1077
 function-bind@^1.1.2:
1045 1078
   version "1.1.2"
1046 1079
   resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
@@ -1088,7 +1121,7 @@ get-tsconfig@^4.5.0:
1088 1121
   dependencies:
1089 1122
     resolve-pkg-maps "^1.0.0"
1090 1123
 
1091
-glob-parent@^5.1.2:
1124
+glob-parent@^5.1.2, glob-parent@~5.1.2:
1092 1125
   version "5.1.2"
1093 1126
   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1094 1127
   integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -1215,6 +1248,11 @@ ignore@^5.2.0:
1215 1248
   resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
1216 1249
   integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
1217 1250
 
1251
+immutable@^4.0.0:
1252
+  version "4.3.6"
1253
+  resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.6.tgz#6a05f7858213238e587fb83586ffa3b4b27f0447"
1254
+  integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==
1255
+
1218 1256
 import-fresh@^3.2.1:
1219 1257
   version "3.3.0"
1220 1258
   resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -1272,6 +1310,13 @@ is-bigint@^1.0.1:
1272 1310
   dependencies:
1273 1311
     has-bigints "^1.0.1"
1274 1312
 
1313
+is-binary-path@~2.1.0:
1314
+  version "2.1.0"
1315
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1316
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1317
+  dependencies:
1318
+    binary-extensions "^2.0.0"
1319
+
1275 1320
 is-boolean-object@^1.1.0:
1276 1321
   version "1.1.2"
1277 1322
   resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
@@ -1330,7 +1375,7 @@ is-generator-function@^1.0.10:
1330 1375
   dependencies:
1331 1376
     has-tostringtag "^1.0.0"
1332 1377
 
1333
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
1378
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
1334 1379
   version "4.0.3"
1335 1380
   resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1336 1381
   integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -1637,6 +1682,11 @@ next@14.2.3:
1637 1682
     "@next/swc-win32-ia32-msvc" "14.2.3"
1638 1683
     "@next/swc-win32-x64-msvc" "14.2.3"
1639 1684
 
1685
+normalize-path@^3.0.0, normalize-path@~3.0.0:
1686
+  version "3.0.0"
1687
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1688
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1689
+
1640 1690
 object-assign@^4.1.1:
1641 1691
   version "4.1.1"
1642 1692
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -1786,7 +1836,7 @@ picocolors@^1.0.0:
1786 1836
   resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
1787 1837
   integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
1788 1838
 
1789
-picomatch@^2.3.1:
1839
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
1790 1840
   version "2.3.1"
1791 1841
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1792 1842
   integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -1849,6 +1899,13 @@ react@^18:
1849 1899
   dependencies:
1850 1900
     loose-envify "^1.1.0"
1851 1901
 
1902
+readdirp@~3.6.0:
1903
+  version "3.6.0"
1904
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1905
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1906
+  dependencies:
1907
+    picomatch "^2.2.1"
1908
+
1852 1909
 reflect.getprototypeof@^1.0.4:
1853 1910
   version "1.0.6"
1854 1911
   resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859"
@@ -1943,6 +2000,15 @@ safe-regex-test@^1.0.3:
1943 2000
     es-errors "^1.3.0"
1944 2001
     is-regex "^1.1.4"
1945 2002
 
2003
+sass@^1.77.2:
2004
+  version "1.77.2"
2005
+  resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.2.tgz#18d4ed2eefc260cdc8099c5439ec1303fd5863aa"
2006
+  integrity sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==
2007
+  dependencies:
2008
+    chokidar ">=3.0.0 <4.0.0"
2009
+    immutable "^4.0.0"
2010
+    source-map-js ">=0.6.2 <2.0.0"
2011
+
1946 2012
 scheduler@^0.23.2:
1947 2013
   version "0.23.2"
1948 2014
   resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
@@ -2014,7 +2080,7 @@ slash@^3.0.0:
2014 2080
   resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
2015 2081
   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
2016 2082
 
2017
-source-map-js@^1.0.2:
2083
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
2018 2084
   version "1.2.0"
2019 2085
   resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
2020 2086
   integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==