Derzeit habe ich keine freien Plätze.
+Das ändert sich ab 01. Juli 2025.
+diff --git a/app/assets/css/button.css b/app/assets/css/button.css
index 7fc1733..69b21ba 100755
--- a/app/assets/css/button.css
+++ b/app/assets/css/button.css
@@ -4,26 +4,44 @@
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;
+ font-weight: bold;
&.default {
background: var(--color-orange);
color: var(--color-black);
+ box-shadow: 0 0 0 0 var(--color-orange);
+
+ &:hover {
+ outline-color: var(--color-black);
+ box-shadow: 0 0 0 6px var(--color-orange);
+ }
+ }
+
+ &.dark {
+ background: var(--color-orange-black);
+ color: var(--color-white);
+ box-shadow: 0 0 0 0 var(--color-orange-black);
+
+ &:hover {
+ outline-color: var(--color-orange);
+ box-shadow: 0 0 0 6px var(--color-black);
+ }
}
&.white {
background: var(--color-white);
color: var(--color-black);
- }
+ box-shadow: 0 0 0 0 var(--color-white);
- &:hover {
- outline-color: var(--color-black);
- box-shadow: 0 0 0 6px var(--color-orange);
+ &:hover {
+ outline-color: var(--color-black);
+ box-shadow: 0 0 0 6px var(--color-white);
+ }
}
&.cta {
@@ -72,4 +90,8 @@
padding-left: calc(var(--size) * 2);
margin-left: calc(var(--size) * -1 - 25px);
}
+}
+
+.button-wrapper {
+ border-radius: 99999px;
}
\ No newline at end of file
diff --git a/app/assets/css/global.css b/app/assets/css/global.css
index 91cabad..fc616aa 100755
--- a/app/assets/css/global.css
+++ b/app/assets/css/global.css
@@ -46,6 +46,7 @@
--color-black-transparent: #2a2723aa;
--color-orange: #ff9100;
+ --color-orange-dark: #945400;
--color-orange-light: #ffc36f;
--color-orange-black: #332b22;
}
@@ -235,10 +236,18 @@ span.chip {
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}
+.z-2-all {
+ box-shadow: 0 0 6px rgba(0, 0, 0, 0.16), 0 0 6px rgba(0, 0, 0, 0.23);
+}
+
.z-3 {
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}
+.z-3-all {
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23), 0 -10px 20px rgba(0, 0, 0, 0.19), 0 -6px 6px rgba(0, 0, 0, 0.23);
+}
+
.z-4 {
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}
diff --git a/app/assets/css/header.css b/app/assets/css/header.css
index f0f57ec..b3f83fd 100755
--- a/app/assets/css/header.css
+++ b/app/assets/css/header.css
@@ -34,7 +34,6 @@
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.5rem;
flex: 1.5;
- cursor: default;
display: flex;
align-items: center;
gap: 1rem;
diff --git a/app/assets/css/pricing.css b/app/assets/css/pricing.css
new file mode 100644
index 0000000..fa2d7d1
--- /dev/null
+++ b/app/assets/css/pricing.css
@@ -0,0 +1,172 @@
+.Pricing {
+ display: grid;
+ grid-template-columns: max-content 1fr max-content;
+ border-radius: 20px;
+
+ & article:first-child {
+ border-radius: 20px 20px 0 0;
+
+ & header,
+ & main,
+ & footer {
+ padding-bottom: 1.5rem;
+ }
+
+ & header {
+ background-color: var(--color-orange-dark);
+ color: var(--color-white);
+
+ & .bg-icon {
+ top: 60%;
+ }
+ }
+
+ & .cols {
+ & li .value {
+ font-size: 1.5rem;
+ font-weight: bold;
+ }
+ }
+ }
+
+ & article:last-child {
+ border-radius: 0 0 20px 20px;
+
+ & header,
+ & main,
+ & footer {
+ padding-top: 1.5rem;
+ }
+
+ & header {
+ background-color: var(--color-orange-dark);
+ color: var(--color-white);
+ }
+
+ & .cols {
+ & li .value {
+ font-size: 1.5rem;
+ font-weight: bold;
+ }
+ }
+ }
+
+ & article:nth-child(2) {
+ width: 105%;
+ margin-left: -2.5%;
+ margin-right: -2.5%;
+ border-radius: 20px;
+ z-index: 2;
+
+ & header {
+ --size-difference: 7rem;
+ width: calc(100% - 2rem);
+ padding-top: var(--size-difference);
+ padding-bottom: var(--size-difference);
+ background-color: var(--color-orange);
+ color: var(--color-black);
+
+ & .bg-icon {
+ right: 20%;
+ }
+ }
+
+ & ul {
+ & li .value {
+ font-size: 3rem;
+ font-weight: bold;
+ }
+ }
+ }
+
+ & article {
+ display: grid;
+ grid-column: 1 / -1;
+ grid-template-columns: subgrid;
+ background-color: var(--color-orange-black);
+ overflow: hidden;
+
+ & header,
+ & main,
+ & footer {
+ padding: var(--spacing-standard);
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
+
+ & footer {
+ align-items: center;
+ color: var(--color-orange);
+ gap: .5rem;
+
+ & .price {
+ font-size: 2rem;
+ font-weight: bold;
+ }
+ }
+
+ & main {
+ background-color: var(--color-orange-black);
+ z-index: 1;
+ }
+
+ & header {
+ position: relative;
+ padding-right: 8rem;
+ width: calc(100% + 8rem);
+
+ & strong {
+ font-size: 2rem;
+ z-index: 1;
+ }
+
+ & .bg-icon {
+ position: absolute;
+ top: 50%;
+ right: 40%;
+ translate: 50% -50%;
+ font-size: 6rem;
+ opacity: 0.15;
+ }
+ }
+
+ & li {
+ display: flex;
+ align-items: center;
+ gap: .5rem;
+ }
+
+ & .list {
+ display: flex;
+ flex-direction: column;
+ gap: .5rem;
+
+ & .point-icon {
+ color: var(--color-orange);
+ }
+ }
+
+ & .list-container {
+ display: flex;
+ justify-content: center;
+ gap: 4rem;
+ }
+
+ & .cols {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-evenly;
+ gap: 1rem;
+
+ & li {
+ flex-direction: column;
+ }
+
+ & .color-icon {
+ color: var(--color-orange);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/assets/css/services.css b/app/assets/css/services.css
index dd13f45..7db80fc 100755
--- a/app/assets/css/services.css
+++ b/app/assets/css/services.css
@@ -3,46 +3,7 @@
background-color: var(--color-orange-black);
background-repeat: no-repeat;
- .service-list {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- grid-template-rows: repeat(4, auto);
- & article {
- grid-row: span 4;
- display: grid;
- grid-template-rows: subgrid;
- position: relative;
-
- & .chip {
- position: absolute;
- right: -1rem;
- top: calc(-1rem - 3px);
- }
-
- & header {
- display: flex;
- }
-
- & ul {
- gap: 1rem;
-
- & li {
- display: flex;
- align-items: center;
- gap: 1rem;
- }
- }
-
- & .color-icon {
- color: var(--color-orange);
- }
-
- & .extra {
- margin-top: auto;
- }
- }
- }
.network-list {
width: 100%;
diff --git a/app/components/Booking.vue b/app/components/Booking.vue
new file mode 100755
index 0000000..b309a5b
--- /dev/null
+++ b/app/components/Booking.vue
@@ -0,0 +1,150 @@
+
+ Hinter meinen Angeboten gibt es keinerlei Abos oder versteckte Kosten.
+ Aus Transparenzgründen sei aber gesagt, dass sich *alle Preise zzgl. 19 % Umsatzsteuer. verstehen. Derzeit habe ich keine freien Plätze. Das ändert sich ab 01. Juli 2025. Manchmal brauchen wir alle einfach nur eine Kleinigkeit und will sich nicht lange binden. Das ist natürlich
+ völlig in Ordnung und genau deshalb biete ich dir die Möglichkeit mich gezielt für kleinere Projekte zu buchen. {{service.smallClaim}} Dann schreib mir einfach gerne direkt eine E-Mail an
+ Meld dich trotzdem. Eventuell ist dein Projekt ja cool genug, dass ich dir da auch entsprechend entgegenkommen kann. :) Doch auch wenn ich mal voll ausgelastet bin - keine Sorge!
+ Mein Netzwerk an Profis kann dir sicher auch weiterhelfen.
+ Bei dir fällt ständig was an oder du hast ein langlaufendes Projekt, bei dem du immer wieder mal Unterstützung brauchst? Kein Ding.
+ Hier gibt's die Entwickler-Flat für planbare Kosten und On-Demand-Entwicklung. {{service.smallClaim}}Services.
+ Du hast also beschlossen, dass du meine Hilfe brauchst. Cool!
+ One off Projekte
+
+
+ Keinen Bock auf Telen? Understandable.
+ Keine Kohle? Kommt vor.
+ Mein Netzwerk
+ Prepaid Flatrates.
+ Genieße fusselige Qualität ohne groß herumzurechnen.
+
+
+
+