diff --git a/src/components/Header.astro b/src/components/Header.astro index 7403e67..e2d0bfb 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -32,6 +32,14 @@ const currentPath = pathname.slice(1); // remove the first "/" text-decoration: underline;; } + @media only screen and (max-width: 1000px) { + nav { + width: 100%; + border-radius: 0; + text-align: center; + } + } + @media only screen and (max-width: 500px) { a { padding: 0 12px; diff --git a/src/components/HeaderImage.astro b/src/components/HeaderImage.astro index 64d8afd..911c56d 100644 --- a/src/components/HeaderImage.astro +++ b/src/components/HeaderImage.astro @@ -18,14 +18,17 @@ const { images, fox, foxReferences } = Astro.props; + + + -
- -
+
+ +
{ !fox ? '' : (Ein Fuchs)} { !foxReferences ? '' : (Ein Fuchs)} @@ -91,13 +94,35 @@ const { images, fox, foxReferences } = Astro.props; } @media only screen and (max-width: 750px) { - .text { + .text, + .image { width: 100%; + height: calc(min(50vh, 40vw)); + position: relative; } .image { - display: none; + margin-top: calc(min(-2vh, -2vw)); + clip-path: url(#headerImageClipPathTop); + height: calc(min(70vh, 70vw)); + z-index:10; + } + + .outerWrap { + height: auto; } + + .outerWrap::after { + content:''; + display: block; + position: absolute; + bottom: 0; + left: 0; + width:100%; + background: #fff; + height: calc(min(20vh, 20vw)); + } + } @media only screen and (max-width: 1750px) { diff --git a/src/components/ImageShow.tsx b/src/components/ImageShow.tsx index 9eb2d19..3a8fe56 100644 --- a/src/components/ImageShow.tsx +++ b/src/components/ImageShow.tsx @@ -1,7 +1,6 @@ import React, { useEffect, useState } from 'react'; import css from './ImageShow.module.css'; import type { ImageMetadata } from 'astro'; -import useWindowSize from './useWindowSize'; interface ImageShowProps { images: ImageMetadata[]; @@ -9,7 +8,6 @@ interface ImageShowProps { export const ImageShow: React.FC = ({images}) => { const [index, setIndex] = useState(0); - const size = useWindowSize(); useEffect(() => { const interval = setInterval(() => { @@ -23,10 +21,6 @@ export const ImageShow: React.FC = ({images}) => { setIndex((prevCounter) => (prevCounter + 1) % images.length); }, []); - if(size.width && size.width < 750) { - return <>; - } - return (
{images.map((image, i) => ())}
); diff --git a/src/components/Reference.module.css b/src/components/Reference.module.css index c0bc5c5..8cbee04 100644 --- a/src/components/Reference.module.css +++ b/src/components/Reference.module.css @@ -131,6 +131,10 @@ float:none; } + .wrap.odd .textInner { + text-align: left; + } + .wrap .image img { width: 100%; position: relative; diff --git a/src/components/TeamSlider.module.css b/src/components/TeamSlider.module.css index 693cb29..a9da20f 100644 --- a/src/components/TeamSlider.module.css +++ b/src/components/TeamSlider.module.css @@ -21,6 +21,8 @@ .tabs { padding-bottom: 8px; + position: relative; + z-index:10; } .slides { @@ -40,7 +42,7 @@ text-align: center; font-size: 2rem; margin-top: 0; - margin-bottom: 0.25rem; + margin-bottom: 3rem; } @media only screen and (max-width: 1100px) { @@ -50,4 +52,17 @@ position: relative; z-index:2; } +} + +.mobile { + display: none; +} + +@media only screen and (max-width: 1100px) { + .desktop { + display: none; + } + .mobile { + display: block; + } } \ No newline at end of file diff --git a/src/components/TeamSlider.tsx b/src/components/TeamSlider.tsx index 862b32b..2439045 100644 --- a/src/components/TeamSlider.tsx +++ b/src/components/TeamSlider.tsx @@ -19,8 +19,9 @@ const TeamSlider: React.FC = props => { return

{headline}

+
{slideTabs}
{slideNodes}
-
{slideTabs}
+
{slideTabs}
; }; diff --git a/src/components/TeamSliderSlide.module.css b/src/components/TeamSliderSlide.module.css index 17a81c4..d48a7a9 100644 --- a/src/components/TeamSliderSlide.module.css +++ b/src/components/TeamSliderSlide.module.css @@ -58,7 +58,7 @@ .nameWrap { display: block; - width: 24rem; + width: 20rem; max-width: 100%; box-sizing: border-box; margin: 0 auto; @@ -89,6 +89,20 @@ } @media only screen and (max-width: 1100px) { + + .left p { + font-size: 1.2rem; + } + + .left, + .nameWrap { + padding:0 var(--content-padding); + } + + .nameWrap { + padding-top: 1rem; + } + .right, .left { width: 100%; @@ -98,8 +112,13 @@ margin: 0px auto; } + .right, + .slide { + padding: 0; + } + .left { - padding: 0 0 2rem; + padding: 0 2rem 2rem; } .right { @@ -138,3 +157,4 @@ text-align: center; } } + diff --git a/src/components/useWindowSize.ts b/src/components/useWindowSize.ts deleted file mode 100644 index b154a8d..0000000 --- a/src/components/useWindowSize.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { useState, useEffect } from "react"; - -// Hook -const useWindowSize = () => { - // Initialize state with undefined width/height so server and client renders match - // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/ - const [windowSize, setWindowSize] = useState({ - width: 0, - height: 0 - }); - - useEffect(() => { - // only execute all the code below in client side - if (typeof window !== "undefined") { - // Handler to call on window resize - function handleResize() { - // Set window width/height to state - setWindowSize({ - width: window.innerWidth, - height: window.innerHeight - }); - } - - // Add event listener - window.addEventListener("resize", handleResize); - - // Call handler right away so state gets updated with initial window size - handleResize(); - - // Remove event listener on cleanup - return () => window.removeEventListener("resize", handleResize); - } - return () => 0; - }, []); // Empty array ensures that effect is only run on mount - return windowSize; -}; - -export default useWindowSize; \ No newline at end of file