diff --git a/app.vue b/app/app.vue
similarity index 85%
rename from app.vue
rename to app/app.vue
index 8847d80..4d40d81 100644
--- a/app.vue
+++ b/app/app.vue
@@ -25,3 +25,15 @@ useSeoMeta({
twitterUrl: 'https://webfussel.de',
})
+
+
diff --git a/app/assets/css/button.css b/app/assets/css/button.css
new file mode 100644
index 0000000..7fc1733
--- /dev/null
+++ b/app/assets/css/button.css
@@ -0,0 +1,75 @@
+.Button {
+ all: unset;
+ transition: 250ms;
+ cursor: pointer;
+ padding: 1rem 1.5rem;
+ outline: 3px solid transparent;
+ box-shadow: 0 0 0 0 var(--color-orange);
+ border-radius: 99999px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 1rem;
+
+ &.default {
+ background: var(--color-orange);
+ color: var(--color-black);
+ }
+
+ &.white {
+ background: var(--color-white);
+ color: var(--color-black);
+ }
+
+ &:hover {
+ outline-color: var(--color-black);
+ box-shadow: 0 0 0 6px var(--color-orange);
+ }
+
+ &.cta {
+ font-size: clamp(1rem, 2vw, 1.5rem);
+ }
+}
+
+.DualButton {
+ --size: 2.2rem;
+ display: flex;
+ width: 100%;
+
+ & .divider {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: var(--color-black);
+ color: var(--color-white);
+ border-radius: 9999px;
+ width: var(--size);
+ height: var(--size);
+ padding: var(--size);
+ font-size: 1.2rem;
+ z-index: 1;
+ margin-left: calc(var(--size) * -1 - 25px);
+ border: 2px solid var(--color-black);
+ }
+
+ .Button {
+ border: 2px solid currentColor;
+ }
+
+ & .Button:hover {
+ outline: none;
+ box-shadow: none;
+ background-color: var(--color-black);
+ color: var(--color-white);
+ border-color: var(--color-orange);
+ }
+
+ & .Button:first-child {
+ padding-right: calc(var(--size) * 2);
+ }
+
+ & .Button:last-child {
+ padding-left: calc(var(--size) * 2);
+ margin-left: calc(var(--size) * -1 - 25px);
+ }
+}
\ No newline at end of file
diff --git a/assets/css/customers.css b/app/assets/css/customers.css
similarity index 100%
rename from assets/css/customers.css
rename to app/assets/css/customers.css
diff --git a/assets/css/fonts.css b/app/assets/css/fonts.css
similarity index 100%
rename from assets/css/fonts.css
rename to app/assets/css/fonts.css
diff --git a/assets/css/footer.css b/app/assets/css/footer.css
similarity index 100%
rename from assets/css/footer.css
rename to app/assets/css/footer.css
diff --git a/assets/css/global.css b/app/assets/css/global.css
similarity index 83%
rename from assets/css/global.css
rename to app/assets/css/global.css
index 82402e2..243a345 100644
--- a/assets/css/global.css
+++ b/app/assets/css/global.css
@@ -73,6 +73,7 @@ body {
background: var(--color-black);
}
+.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
text-align: left;
font-family: 'Roboto Condensed', sans-serif;
@@ -82,8 +83,11 @@ h1 {
font-size: 4rem;
}
+.h2,
+h2,
h3 {
font-size: 1.5rem;
+ font-weight: bold;
}
a {
@@ -198,6 +202,43 @@ span.chip {
box-shadow: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22);
}
+.tip-container {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.tip-container .tip {
+ scale: 0;
+ position: absolute;
+ top: -3rem;
+ width: max-content;
+ border: 1px solid var(--color-white);
+ border-radius: 999px;
+ background-color: var(--color-black);
+ padding: .5em 1.5rem;
+ transition: 150ms;
+}
+
+.tip-container:hover .tip {
+ scale: 1;
+}
+
+.animate-up-down {
+ animation: up-down 1.5s ease-in-out alternate-reverse infinite;
+}
+
+@keyframes up-down {
+ 0% {
+ translate: 0 -0.1rem;
+ }
+
+ 100% {
+ translate: 0 0.4em;
+ }
+}
+
@media (width <= 780px) {
h1, h2, h3, h4, h5, h6, p {
text-align: center;
diff --git a/assets/css/header.css b/app/assets/css/header.css
similarity index 93%
rename from assets/css/header.css
rename to app/assets/css/header.css
index b69e92e..9c98e86 100644
--- a/assets/css/header.css
+++ b/app/assets/css/header.css
@@ -10,10 +10,6 @@
position: fixed;
z-index: 1000;
- & .socials {
- gap: 1rem;
- }
-
& .logo {
fill-rule: evenodd;
clip-rule: evenodd;
@@ -51,19 +47,23 @@
}
& nav {
- flex: 3;
position: relative;
font-weight: normal;
font-size: 1.2rem;
display: flex;
justify-content: space-between;
align-items: center;
+
+ & .active {
+ color: var(--color-orange);
+ }
}
& > .wrapper {
display: flex;
align-items: center;
- padding: 15px 30px;
+ justify-content: space-between;
+ padding: 15px 22px;
transition: 750ms;
backdrop-filter: blur(10px);
border-radius: 0;
@@ -174,13 +174,6 @@
color: var(--color-white);
flex-direction: column;
- & .socials {
- flex-direction: row;
- height: max-content;
- gap: 3rem;
- padding-bottom: 2rem;
- }
-
& ul {
flex-direction: column;
justify-content: center;
@@ -188,7 +181,7 @@
gap: 8vh;
& li {
- font-size: 10vw;
+ font-size: clamp(1rem, 10vw, 3rem);
}
}
}
diff --git a/assets/css/intro.css b/app/assets/css/intro.css
similarity index 100%
rename from assets/css/intro.css
rename to app/assets/css/intro.css
diff --git a/assets/css/person.css b/app/assets/css/person.css
similarity index 100%
rename from assets/css/person.css
rename to app/assets/css/person.css
diff --git a/assets/css/services.css b/app/assets/css/services.css
similarity index 100%
rename from assets/css/services.css
rename to app/assets/css/services.css
diff --git a/assets/css/skills.css b/app/assets/css/skills.css
similarity index 100%
rename from assets/css/skills.css
rename to app/assets/css/skills.css
diff --git a/app/assets/css/technology.css b/app/assets/css/technology.css
new file mode 100644
index 0000000..2e2d0b1
--- /dev/null
+++ b/app/assets/css/technology.css
@@ -0,0 +1,16 @@
+.Technology {
+ position: relative;
+ align-items: center;
+
+ &.s img {
+ height: 15px;
+ }
+
+ &.m img {
+ height: 30px;
+ }
+
+ &.l img {
+ height: 50px;
+ }
+}
diff --git a/components/Button.vue b/app/components/Button.vue
similarity index 69%
rename from components/Button.vue
rename to app/components/Button.vue
index a5f93d7..8c9095d 100644
--- a/components/Button.vue
+++ b/app/components/Button.vue
@@ -1,6 +1,6 @@
-
- Ich unterstütze Unternehmen dabei, ihre Daten so richtig nice zusammen zu sammeln
- und in wunderschöne Komponenten zu gießen.
+ Ich unterstütze Unternehmen dabei, ihre Daten von verschiedenen Endpunkten sauber aufzubereiten
+ und anschließend in einer Webapplication schön zu verpacken.
Mit über 20 Jahren Erfahrung in der Webentwicklung habe ich
inzwischen so ziemlich jeden Stuff miterlebt.
- Du brauchst großartige Komponenten und saubere Schnittstellen?
+ Egal, ob Komponenten, Schnittstellen oder Anbindung an Headless CMS.
+ Ich biete dir genau das, was du brauchst, um eine individuelle WebApp in Fahrt zu bringen, deren Inhalte einfach zu verändern sind.
{{flavour}}
- + diff --git a/components/Services.vue b/app/components/Services.vue similarity index 92% rename from components/Services.vue rename to app/components/Services.vue index eb433a4..d27fdb6 100644 --- a/components/Services.vue +++ b/app/components/Services.vue @@ -12,10 +12,13 @@ {{service.availability}}{{service.smallClaim}}
- +