@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&display=swap";*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}img,picture,svg,canvas,video,iframe{display:block}button,input,select,textarea{font:inherit}:root{--color-primary: #0f4c5c;--color-primary-darker-40: #0c3a47;--color-primary-darker-60: #082930;--color-secondary: #ff6f61;--color-text: #e2e1e3;--color-black: #101010;--color-red: #d32f2f;--color-green: #388e3c;--color-accent: #00bfa6;--color-transparent-white: rgba(255, 255, 255, .1);--color-transparent-black: rgba(16, 16, 16, .5);--color-card: var(--color-primary-darker-60);--color-card-hover: var(--color-primary-darker-40);--gradient-background: linear-gradient( 135deg, var(--color-primary-darker-60), var(--color-primary-darker-40), var(--color-primary) );--gradient-dark-overlay: linear-gradient( to bottom, rgba(0, 0, 0, .65) 0%, rgba(0, 0, 0, .25) 40%, rgba(0, 0, 0, .7) 100% );--gradient-background-darker: var(--gradient-background), var(--gradient-dark-overlay);--gradient-background-darker-blend: multiply;--padding: 1rem;--padding-small: .5rem;--border-radius: 1rem;--border-radius-small: .5rem;--box-shadow: none;--box-shadow-hover: none;--gap-small: .5rem;--gap-normal: 1rem;--gap-large: 2rem;--gap-xlarge: 3rem;--text-h1: clamp(2.5rem, 4vw + 1rem, 3rem);--text-h2: clamp(2rem, 3vw + 1rem, 2.5rem);--text-h3: clamp(1.5rem, 2vw + 1rem, 2rem);--text-h4: clamp(1.25rem, 1.5vw + 1rem, 1.5rem);--text-normal: clamp(1rem, 1vw + .5rem, 1.25rem);--text-small: clamp(.875rem, .75vw + .25rem, 1rem);--text-xsmall: clamp(.75rem, .5vw + .25rem, .875rem);--header-height: 5rem;--footer-height: 4rem;--content-max-width: 1200px;--content-max-width-wide: 1440px;--shell-padding: 1rem;--project-container-aspect-ratio: 4 / 3;--focus-ring: 0 0 0 2px var(--color-secondary)}html{height:100%;scroll-behavior:smooth;background:var(--gradient-background-darker);background-blend-mode:var(--gradient-background-darker-blend);background-attachment:fixed;overflow:hidden}body{min-height:100%;color:var(--color-text);font-family:Noto Sans,sans-serif;line-height:1.5;overflow:hidden;scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent}#root{display:grid;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "main" "footer";height:100vh;width:100%}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--color-secondary);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-secondary) 80%,white)}main{grid-area:main;display:flex;min-width:0;min-height:0;width:100%}aside,section{min-width:0}img,video,iframe,svg,canvas{max-width:100%}iframe{width:100%;border:0;border-radius:var(--border-radius);box-shadow:var(--box-shadow)}h1,h2,h3,h4{color:var(--color-text);line-height:1.15}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2);font-weight:700}h3{font-size:var(--text-h3);font-weight:700}h4{font-size:var(--text-normal);font-weight:700}p,li,label,input,select,textarea,button,a{font-size:var(--text-normal)}p,li{overflow-wrap:break-word}ul,ol{padding-left:1.25rem}a{color:var(--color-text);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover,.highlight,.active{color:var(--color-secondary)}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.6rem 1rem;border-radius:999px;border:1px solid var(--color-secondary);background:var(--color-primary);color:var(--color-text);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}button:hover{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-black)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--color-secondary)}input,select,textarea{width:100%;padding:.75rem;background:#0f4c5cd9;color:var(--color-text);border:1px solid var(--color-transparent-white);border-radius:var(--border-radius-small);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}textarea{min-height:8rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--color-secondary)}form{display:flex;flex-direction:column;gap:1rem;width:min(100%,32rem)}form .react-select{font-family:inherit}form .react-select__control{background-color:#0f4c5cd9;border:1px solid var(--color-transparent-white);border-radius:var(--border-radius-small);min-height:2.75rem;box-shadow:none}form .react-select__control--is-focused{border-color:var(--color-secondary);box-shadow:var(--focus-ring)}form .react-select__input-container,form .react-select__placeholder,form .react-select__single-value{color:var(--color-text)}form .react-select__placeholder{opacity:.65}form .react-select__menu{background-color:#0f4c5cfa;border:1px solid var(--color-transparent-white);border-radius:var(--border-radius-small);overflow:hidden;z-index:20}form .react-select__option{padding:.65rem .85rem;color:var(--color-text);background-color:transparent}form .react-select__option--is-focused{background-color:#ffffff14}form .react-select__option--is-selected{background-color:var(--color-primary-darker-60)}.formGroup{display:flex;flex-direction:column;gap:.5rem}.buttonGroup{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.redButton{background-color:var(--color-red);border-color:var(--color-red)}.content{flex:1;min-width:0;min-height:0;width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--gap-normal);padding:var(--shell-padding);overflow:auto}.contentContainer{width:min(100%,var(--content-max-width));min-width:0;min-height:0;margin:0 auto;padding:var(--shell-padding);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:var(--gap-large)}.contentContainer>.projectContainer:only-child{grid-column:1 / -1;justify-self:stretch}.hero{background:var(--gradient-background);color:var(--color-text);padding:4em 2em}.not-found{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--padding);width:100%;min-height:100%;padding:var(--padding)}@media (max-width: 1070px){:root{--text-h1: 2.5rem;--text-h2: 2rem;--text-h3: 1.5rem;--text-h4: 1rem;--padding: .75rem;--shell-padding: .75rem;--header-height: 4rem}main{flex-direction:column}.contentContainer{grid-template-columns:1fr;width:min(100%,var(--content-max-width));gap:var(--gap-normal)}.catMenu{display:none}}@media (max-width: 480px){:root{--text-h1: 2rem;--text-h2: 1.75rem;--text-h3: 1.35rem;--text-h4: 1rem;--padding: .5rem;--shell-padding: .5rem}.content,.contentContainer{padding:var(--shell-padding)}}.topNav-header{grid-area:header;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1rem;width:100%;min-height:var(--header-height);padding-inline:var(--shell-padding);border-bottom:1px solid var(--color-transparent-white);background:var(--gradient-background)}.topNav-header h1{margin:0;padding:0;flex-shrink:0}.main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem;width:100%;margin-left:auto}.main-nav a{padding:.65rem .9rem;border-radius:999px}.main-nav a.active,.main-nav a:hover{background:#ffffff14}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:2.75rem;height:2.75rem;padding:.4rem;margin-left:auto;border-radius:999px;background:transparent;border:1px solid var(--color-transparent-white);box-shadow:none;z-index:101}.burger-line{width:100%;height:.15rem;background:var(--color-text);border-radius:999px;transition:transform .2s ease,opacity .2s ease,background-color .2s ease}.burger-line.open{background:var(--color-secondary)}.burger-line.open:nth-child(1){transform:translateY(.45rem) rotate(45deg)}.burger-line.open:nth-child(2){opacity:0}.burger-line.open:nth-child(3){transform:translateY(-.45rem) rotate(-45deg)}.burger-nav{position:fixed;top:calc(var(--header-height) - .25rem);left:var(--shell-padding);right:var(--shell-padding);display:flex;flex-direction:column;gap:.35rem;padding:.85rem;border:1px solid var(--color-secondary);border-radius:var(--border-radius);background:var(--color-primary-darker-60);z-index:100;max-height:calc(100dvh - var(--header-height) - 2rem);overflow:auto}.burger-nav:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:-1}.burger-nav a{width:100%;padding:.8rem .9rem;border-radius:var(--border-radius-small);border:1px solid transparent}.burger-nav a.active,.burger-nav a:hover{background:#ffffff0f;border-color:var(--color-transparent-white)}@media (max-width: 1070px){.main-nav{display:none}.hamburger{display:inline-flex}}@media (max-width: 480px){.topNav-header{gap:.75rem}.topNav-header h1{font-size:1.65rem}}@media (max-width: 260px){.topNav-header h1{font-size:1.25rem}}.bottomBar{grid-area:footer;display:flex;align-items:center;width:100%;min-height:var(--footer-height);border-top:1px solid var(--color-transparent-white);background:var(--gradient-background)}.bottomBar__container{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.75rem var(--shell-padding)}.bottomBar__link{min-height:auto;padding:.4rem .65rem;border-radius:999px;background:transparent;border:1px solid transparent}.bottomBar__link:hover,.bottomBar__link.active{background:#ffffff0f;border-color:var(--color-secondary)}.bottomBar__socials{display:flex;align-items:center;gap:.75rem}.bottomBar__socials a{display:inline-flex}.bottomBar__socialIcon{width:2rem;height:2rem;padding:.25rem;border-radius:999px;border:1px solid var(--color-transparent-white);background:#ffffff14;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.bottomBar__socialIcon:hover{transform:translateY(-1px);background:#ff6f6126;border-color:var(--color-secondary)}.bottomBar__copyright{font-size:var(--text-small);opacity:.8;white-space:nowrap}.bottomBar__adminLink{opacity:.5;font-size:var(--text-small);background:transparent;border:none;cursor:pointer}.bottomBar__adminLink:hover{opacity:1}.bottomBar__adminStatus{display:flex;align-items:center;gap:.5rem}.bottomBar__adminBadge{font-size:var(--text-small);color:var(--color-secondary);white-space:nowrap}.bottomBar__contactForm{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000bf;z-index:1000}.bottomBar__contactForm_container{width:min(100%,34rem);padding:1.25rem;border-radius:var(--border-radius);border:1px solid var(--color-secondary);background:var(--color-primary-darker-60);animation:bottomBarPopIn .25s ease-out forwards}.bottomBar__closeButton{margin-top:.75rem;background:transparent}@keyframes bottomBarPopIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1070px){.bottomBar__container{gap:.75rem}#bottomBar-button__impressum,#bottomBar-button__datenschutz{display:none}}@media (max-width: 640px){.bottomBar__container{flex-wrap:wrap;justify-content:center}.bottomBar__copyright{width:100%;text-align:center}.bottomBar__link{min-height:2.75rem;padding-inline:1rem}.bottomBar__socials{gap:1rem}.bottomBar__socialIcon{width:2.5rem;height:2.5rem;padding:.4rem}}.contactForm{width:100%;max-width:none}.contactForm__status{font-size:var(--text-small)}.contactForm__status--success{color:var(--color-green)}.contactForm__status--error{color:var(--color-red)}.loginPage{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--shell-padding)}.loginCard{width:min(100%,24rem);display:flex;flex-direction:column;gap:1.25rem;padding:2rem;border-radius:var(--border-radius);background:var(--color-card);border:1px solid var(--color-secondary)}.loginCard h1{font-size:var(--text-h3);text-align:center}.loginCard form{width:100%;max-width:none;gap:1.25rem}.loginCard .buttonGroup{justify-content:center}.loginCard button[type=submit]{width:100%}.loginCard .error-message .error{text-align:center}.loginModal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000bf;z-index:1000}.loginModal__overlay .redButton{width:100%}#catMenu__container{display:flex;flex-direction:column;justify-content:flex-start;width:min(20rem,100%);min-width:16rem;padding:var(--shell-padding)}.catMenu{display:flex;flex-direction:column;gap:1rem;width:100%;min-height:0;max-height:100%;padding:var(--padding);overflow:auto;border:1px solid var(--color-transparent-white);border-radius:var(--border-radius);background:#10101059;box-shadow:var(--box-shadow)}.catMenu__category{display:flex;flex-direction:column;gap:.5rem;width:100%}.catMenu__category>a{display:block;width:100%;padding-bottom:.35rem;font-size:var(--text-h4);font-weight:700;text-transform:capitalize;border-bottom:1px solid var(--color-transparent-white)}.catMenu__category>a.active,.catMenu__category>a:hover{color:var(--color-secondary)}.catMenu__category>ul{display:flex;flex-direction:column;gap:.25rem;list-style:none;padding:0 0 0 .85rem}.catMenu__project{list-style:none}.catMenu__project>a{display:inline-flex;padding:.2rem 0;font-size:var(--text-normal)}.catMenu__project>a.active,.catMenu__project>a:hover{color:var(--color-secondary)}@media (max-width: 1070px){#catMenu__container,.catMenu{display:none}}.dynamicImage{width:100%;height:100%;object-fit:cover;object-position:bottom}.dynamicImageContainer{display:flex;justify-content:flex-end;align-items:stretch;width:min(34%,28rem);min-width:14rem;min-height:0;padding:var(--shell-padding) var(--shell-padding) var(--shell-padding) 0}@media (max-width: 1070px){.dynamicImageContainer{position:absolute;inset:auto 0 0 auto;width:min(45vw,18rem);height:min(70vh,28rem);opacity:.35;z-index:-1;pointer-events:none;padding:0}}.healthcheck-container{width:min(100%,56rem);margin:0 auto;padding:var(--padding);display:flex;flex-direction:column;gap:1rem;border:1px solid var(--color-transparent-white);border-radius:var(--border-radius);background:#10101047;box-shadow:var(--box-shadow)}.healthcheck-container button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 82%,black)}.healthcheck-container button:disabled{opacity:.6;cursor:not-allowed}.test-results{display:flex;flex-direction:column;gap:.75rem}.test{padding:.9rem 1rem;border-left:4px solid transparent;border-radius:var(--border-radius-small);background:#ffffff0a;color:var(--color-text)}.test.success{border-left-color:#4caf50}.test.error{border-left-color:#f44336}.test.loading{border-left-color:#2196f3}.log{background:#000;color:#0f0;padding:1rem;border-radius:var(--border-radius-small);font-family:Courier New,monospace;font-size:.75rem;max-height:18rem;overflow-y:auto;line-height:1.4}.log div{margin:.125rem 0}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:2147483000;display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:8px;background:#1f2430;color:#f5f6f8;box-shadow:0 6px 24px #00000047;font-size:.9rem;line-height:1.35;border-left:4px solid #6b7280;animation:toast-in .16s ease-out}.toast--error{border-left-color:#e5484d}.toast--success{border-left-color:#46a758}.toast--info{border-left-color:#3b82f6}.toast__message{flex:1}.toast__close{background:none;border:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;opacity:.7;padding:0}.toast__close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.errorboundary{max-width:32rem;margin:4rem auto;padding:2rem;text-align:center;font-family:inherit}.errorboundary h1{font-size:1.4rem;margin-bottom:.75rem}.errorboundary p{margin:.35rem 0;color:#4b5563}.errorboundary__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:#6b7280}.errorboundary__button{margin-top:1.25rem;padding:.6rem 1.4rem;border:none;border-radius:6px;background:#1f2430;color:#fff;font-size:.95rem;cursor:pointer}.errorboundary__button:hover{background:#2c3444}.offline-banner{position:fixed;left:50%;bottom:4.5rem;transform:translate(-50%);z-index:2147482000;padding:.55rem 1.1rem;border-radius:999px;background:#3a3320;color:#f4e9c9;font-size:.85rem;line-height:1;box-shadow:0 4px 16px #00000040;max-width:calc(100vw - 2rem);text-align:center}
