/* Grundlegende Stile & Typografie */ body { font-family: 'Open Sans', sans-serif; margin: 0; color: #333; background-color: #fff; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } a { color: #333; text-decoration: none; transition: color 0.3s ease; } a:hover { color: #9ff41f; } img { max-width: 100%; height: auto; } h1, h2, h3 { font-family: 'Raleway', sans-serif; font-weight: 700; } sup { font-size: 0.6em; vertical-align: super; } /* Header & Navigation */ .site-header { background: #fff; padding: 15px 0; border-bottom: 1px solid #eee; position: sticky; top: 0; z-index: 1000; } .site-header .container { display: flex; justify-content: space-between; align-items: center; } .logo img { max-height: 50px; } .main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; } .main-navigation ul li { position: relative; margin-left: 25px; } .main-navigation ul li a { font-family: 'Raleway', sans-serif; text-transform: lowercase; font-weight: 700; padding-bottom: 5px; } .main-navigation .sub-menu { display: none; position: absolute; background: #fff; list-style: none; padding: 10px; margin: 10px 0 0 0; border: 1px solid #eee; min-width: 150px; z-index: 100; } .main-navigation li:hover .sub-menu { display: block; } .main-navigation .sub-menu li { margin: 0; } .main-navigation .sub-menu a { display: block; padding: 5px 10px; } .header-extras { display: flex; align-items: center; } .mail-icon img { height: 24px; margin-right: 15px; } /* Hero-Sektion (Banner) */ .hero img { width: 100%; display: block; } /* Intro-Sektion */ .intro-section { padding: 60px 20px; text-align: center; } .intro-section h2 { font-size: 2em; margin-bottom: 20px; } .intro-section p { font-family: 'Raleway', sans-serif; font-size: 1.1em; max-width: 800px; margin: 0 auto; } /* Grid-Layout für die Kacheln */ .portfolio-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; padding: 20px; } .grid-item { position: relative; overflow: hidden; } .grid-item img { display: block; width: 100%; transition: transform 0.3s ease; } .grid-item:hover img { transform: scale(1.1); } .grid-item .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(159, 244, 31, 0.85); /* Lime-Grün mit leichter Transparenz */ color: #fff; display: flex; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease; } .grid-item:hover .overlay { opacity: 1; } .grid-item .overlay h3 { color: #333; font-size: 1.5em; margin: 0; text-transform: lowercase; } /* Footer */ .site-footer { text-align: center; padding: 40px 20px; border-top: 1px solid #eee; margin-top: 40px; }