:root{--color-primary:#0069b4;--color-primary-dark:#044a7d;--color-bg:#ffffff;--color-bg-soft:#f4f8fb;--color-line:#e3eaf0;--color-text:#1f2a37;--color-text-soft:#5b6573;--color-white:#ffffff;--radius-sm:10px;--radius-md:14px;--shadow-soft:0 10px 30px rgba(15, 23, 42, 0.06);--container:1200px;}
*,
*::before,
*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{margin:0;overflow-x:hidden;font-family:"Open Sans", sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.6;position:relative;}
img {
max-width: 100%;
height: auto;
display: block;
-webkit-user-drag: none;
user-drag: none;
-webkit-user-select: none;
user-select: none;
} a{color:var(--color-primary);text-decoration:none;}
a:hover{text-decoration:none;}
.container{width:min(100% - 32px, var(--container));margin-inline:auto;}
.site-header, .site-main, .sponsor-band, .site-footer{position:relative;z-index:1;}
.skip-link{position:absolute;left:-9999px;top:auto;}
.skip-link:focus{left:16px;top:16px;background:var(--color-primary);color:#fff;padding:10px 14px;border-radius:8px;z-index:9999;}
.site-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.site-bg::before{content:"";position:absolute;right:-80px;top:120px;width:920px;height:920px;background-image:no;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0,1;}
.site-bg::after{content:"";position:absolute;left:-80px;bottom:120px;width:260px;height:260px;background:linear-gradient(135deg, rgba(0, 105, 180, 0.04), rgba(4, 74, 125, 0.02));border-radius:50%;filter:blur(8px);}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255, 255, 255, 0.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);box-shadow:0 1px 8px rgba(15, 23, 42, 0.03);}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.site-branding{display:flex;align-items:center;gap:14px;min-width:0;}
.brand-mark{flex:0 0 auto;}
.brand-mark .custom-logo-link, .brand-mark__fallback{display:flex !important;align-items:center;justify-content:center;width:118px;height:42px;padding:5px 8px;border-radius:9px;background:linear-gradient(180deg, #0a6fb7 0%, #044a7d 100%);box-shadow:0 8px 22px rgba(15, 23, 42, 0.08);overflow:hidden;text-decoration:none !important;}
.brand-mark .custom-logo{width:100%;height:100%;object-fit:contain;display:block;max-width:none;max-height:none;}
.brand-mark__fallback{color:#ffffff;font-weight:700;font-size:1rem;}
.brand-text{display:flex;flex-direction:column;min-width:0;}
.brand-text__title{color:var(--color-text);font-size:0.82rem;line-height:1.05;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
.brand-text__sub{color:var(--color-primary);font-size:1rem;line-height:1.05;font-weight:800;text-transform:uppercase;letter-spacing:0.02em;margin-top:2px;}
.menu-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--color-line);background:var(--color-white);color:var(--color-text);border-radius:10px;cursor:pointer;padding:0;flex:0 0 auto;}
.menu-toggle__lines{position:relative;width:20px;height:2px;background:var(--color-text);border-radius:2px;display:inline-block;transition:background 0.2s ease;}
.menu-toggle__lines::before, .menu-toggle__lines::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--color-text);border-radius:2px;transition:transform 0.2s ease, top 0.2s ease, opacity 0.2s ease;}
.menu-toggle__lines::before{top:-6px;}
.menu-toggle__lines::after{top:6px;}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines{background:transparent;}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before{top:0;transform:rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::after{top:0;transform:rotate(-45deg);}
.primary-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:#ffffff;border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-soft);padding:8px 16px 16px;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.primary-nav.is-open{display:block;}
body.menu-open{overflow:hidden;}
.site-header .menu-list, .site-header .menu-list ul, .site-header .menu-list li, .footer-menu{list-style:none !important;margin:0 !important;padding:0 !important;}
.site-header .menu-list a, .footer-menu a{text-decoration:none !important;}
.site-header .menu-list > li{position:relative;}
.site-header .menu-list > li > a{display:block;padding:14px 10px;color:var(--color-text);font-weight:600;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.03em;border-bottom:1px solid var(--color-line);transition:color 0.2s ease;}
.site-header .menu-list > li > a:hover, .site-header .menu-list > li > a:focus, .site-header .menu-list > li.current-menu-item > a, .site-header .menu-list > li.current-menu-ancestor > a, .site-header .menu-list > li.current_page_parent > a, .site-header .menu-list > li.submenu-open > a{color:var(--color-primary);}
.site-header .menu-list > li.menu-item-has-children > a{display:block;padding-right:52px;}
.site-header .submenu-toggle{position:absolute;top:8px;right:6px;width:38px;height:38px;border:0;background:transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);}
.site-header .submenu-toggle__icon{display:inline-block;width:auto;height:auto;background:none;transition:transform 0.2s ease;opacity:1;line-height:1;}
.site-header .submenu-toggle__icon::before{content:"⌄";display:block;font-size:20px;font-weight:700;line-height:1;color:currentColor;}
.site-header .menu-list > li.submenu-open > .submenu-toggle{color:var(--color-primary);}
.site-header .menu-list > li.submenu-open > .submenu-toggle .submenu-toggle__icon{transform:rotate(180deg);}
.site-header .menu-list .sub-menu{display:none;padding:4px 0 8px 14px !important;}
.site-header .menu-list > li.submenu-open > .sub-menu{display:block;}
.site-header .menu-list .sub-menu li a{display:block;padding:9px 10px;color:var(--color-text-soft);font-weight:600;transition:color 0.2s ease;}
.site-header .menu-list .sub-menu li a:hover, .site-header .menu-list .sub-menu li a:focus, .site-header .menu-list .sub-menu li.current-menu-item > a{color:var(--color-primary);}
@media(max-width:480px){
.header-inner{min-height:78px;}
.brand-mark .custom-logo-link, .brand-mark__fallback{width:104px;height:38px;border-radius:8px;}
.brand-text__title{font-size:0.74rem;}
.brand-text__sub{font-size:0.90rem;}
.primary-nav{max-height:calc(100dvh - 78px);}
} @media(min-width:768px){
.brand-mark .custom-logo-link, .brand-mark__fallback{width:126px;height:44px;border-radius:10px;}
.brand-text__title{font-size:0.84rem;}
.brand-text__sub{font-size:1.08rem;}
} @media(min-width:1024px){
.header-inner{min-height:92px;}
.brand-mark .custom-logo-link, .brand-mark__fallback{width:138px;height:48px;padding:5px 10px;border-radius:10px;}
.brand-text__title{font-size:0.88rem;}
.brand-text__sub{font-size:1.22rem;}
.menu-toggle{display:none;}
.primary-nav{display:block;position:static;background:transparent;border:0;box-shadow:none;padding:0;max-height:none;overflow:visible;}
body.menu-open{overflow:auto;}
.site-header .menu-list{display:flex;align-items:center;gap:30px;}
.site-header .menu-list > li{position:relative;}
.site-header .menu-list > li::after{content:"";position:absolute;left:0;right:0;top:100%;height:24px;}
.site-header .menu-list > li > a{border:0;padding:10px 0;color:var(--color-text);font-weight:600;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.03em;transition:color 0.2s ease;}
.site-header .menu-list > li > a:hover, .site-header .menu-list > li > a:focus, .site-header .menu-list > li.current-menu-item > a, .site-header .menu-list > li.current-menu-ancestor > a, .site-header .menu-list > li.current_page_parent > a{color:var(--color-primary);}
.site-header .menu-list > li.menu-item-has-children > a{display:inline-flex;align-items:center;gap:8px;padding-right:0;}
.site-header .menu-list > li.menu-item-has-children > a::after{content:"⌄";display:inline-block;font-size:16px;font-weight:700;line-height:1;color:currentColor;opacity:0.9;flex:0 0 auto;margin-top:-2px;}
.site-header .submenu-toggle{display:none;}
.site-header .menu-list .sub-menu{display:block !important;position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#ffffff;border:1px solid var(--color-line);border-radius:14px;box-shadow:var(--shadow-soft);padding:10px 0 !important;z-index:2000;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;}
.site-header .menu-list .sub-menu li a{display:block;padding:10px 16px;color:var(--color-text);font-weight:600;white-space:nowrap;text-transform:none;letter-spacing:0;}
.site-header .menu-list .sub-menu li a:hover, .site-header .menu-list .sub-menu li a:focus, .site-header .menu-list .sub-menu li.current-menu-item > a{color:var(--color-primary);background:var(--color-bg-soft);}
.site-header .menu-list > li:hover > .sub-menu, .site-header .menu-list > li:focus-within > .sub-menu, .site-header .menu-list > li.touch-open > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
} @media(max-width:1023px){
.menu-toggle{display:inline-flex !important;align-items:center;justify-content:center;visibility:visible !important;opacity:1 !important;position:relative;z-index:3000;}
.primary-nav{z-index:2500;}
} .site-main{padding-block:24px 0;min-height:60vh;}
.sponsor-band{margin-top:56px;padding:22px 0;background:#f7f9fb;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);}
.sponsor-band__inner{display:block;}
.sponsor-band__logos{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;align-items:center;}
.sponsor-logo-item{display:flex;align-items:center;justify-content:center;min-height:44px;}
.sponsor-logo-item a{display:flex;align-items:center;justify-content:center;width:100%;text-decoration:none;}
.sponsor-logo-item img{max-width:100%;max-height:40px;width:auto;height:auto;object-fit:contain;opacity:0.78;filter:grayscale(100%);transition:opacity 0.2s ease;}
.sponsor-logo-item img:hover{opacity:1;}
.sponsor-logo-item a:hover img, .sponsor-logo-item a:focus img{opacity:1;}
@media(min-width:768px){
.sponsor-band{padding:24px 0;}
.sponsor-band__logos{grid-template-columns:repeat(4, 1fr);gap:20px 28px;}
.sponsor-logo-item img{max-height:46px;}
}
@media(min-width:1024px){
.sponsor-band{margin-top:72px;padding:26px 0;}
.sponsor-logo-item img{max-height:58px;}
} .site-footer{position:relative;overflow:hidden;background:linear-gradient(90deg, #1f2329 0%, #242930 45%, #1f2329 100%);color:rgba(255, 255, 255, 0.9);padding-top:28px;}
.site-footer__bgmark{position:absolute;left:-1px;top:30%;transform:translateY(-50%);width:120px;height:120px;background-image:url(//tvvillingen-leichtathletik.de/wp-content/themes/tvv-la-child/assets/images/tv-footer-mark.png);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0,05;pointer-events:none;}
.footer-inner{position:relative;z-index:1;display:flex;justify-content:center;padding:0 0 18px 0;border-bottom:1px solid rgba(255, 255, 255, 0.08);}
.footer-nav-wrap{width:100%;display:flex;justify-content:flex-end;}
.footer-menu{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;}
.footer-menu li a{display:inline-block;color:rgba(255, 255, 255, 0.92);font-weight:600;padding:0;transition:color 0.2s ease;}
.footer-menu li a:hover, .footer-menu li a:focus{color:#ffffff;}
.footer-bottom{position:relative;z-index:1;padding:18px 0 22px;display:flex;justify-content:center;text-align:center;}
.footer-bottom p{margin:0;color:rgba(255, 255, 255, 0.72);font-size:0.92rem;line-height:1.5;max-width:900px;}
.footer-bottom a{color:rgba(255, 255, 255, 0.92);text-decoration:none;}
.footer-bottom a:hover, .footer-bottom a:focus{color:#ffffff;}
@media(min-width:768px){
.container{width:min(100% - 48px, var(--container));}
.site-bg::before{width:560px;height:560px;right:-120px;top:120px;opacity:0.05;}
.brand-mark .custom-logo-link, .brand-mark__fallback{width:126px;height:44px;border-radius:10px;}
.brand-text__title{font-size:0.84rem;}
.brand-text__sub{font-size:1.08rem;}
.sponsor-band__logos{grid-template-columns:repeat(4, 1fr);}
.site-footer{padding-top:32px;}
.site-footer__bgmark{width:240px;height:240px;left:-40px;opacity:0.075;}
.footer-menu{flex-direction:row;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center;}
.footer-bottom{padding:18px 0 24px;}
} @media(min-width:1024px){
.header-inner{min-height:92px;}
.brand-mark .custom-logo-link, .brand-mark__fallback{width:138px;height:48px;padding:5px 10px;border-radius:10px;}
.brand-text__title{font-size:0.88rem;}
.brand-text__sub{font-size:1.22rem;}
.menu-toggle{display:none;}
.primary-nav{display:block;position:static;background:transparent;border:0;box-shadow:none;padding:0;}
.site-header .menu-list{display:flex;align-items:center;gap:30px;}
.site-header .menu-list > li{position:relative;}
.site-header .menu-list > li > a{border:0;padding:10px 0;color:var(--color-text);font-weight:600;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.03em;transition:color 0.2s ease;}
.site-header .menu-list > li.menu-item-has-children > a{display:inline-flex;align-items:center;gap:8px;}
.site-header .menu-list > li.menu-item-has-children > a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:0.75;flex:0 0 auto;}
.site-footer{padding-top:36px;}
.site-footer__bgmark{width:300px;height:300px;left:-55px;opacity:0.08;}
.footer-inner{padding-bottom:20px;}
.footer-nav-wrap{justify-content:center;}
.footer-menu{justify-content:center;align-items:center;text-align:center;}
.site-header .menu-list > li::after{content:"";position:absolute;left:0;right:0;top:100%;height:24px;}
.site-header .menu-list > li > a{border:0;padding:10px 0;color:var(--color-text);font-weight:600;transition:color 0.2s ease;}
.site-header .menu-list > li > a:hover, .site-header .menu-list > li > a:focus, .site-header .menu-list > li.current-menu-item > a, .site-header .menu-list > li.current-menu-ancestor > a, .site-header .menu-list > li.current_page_parent > a{color:var(--color-primary);font-weight:600;}
.site-header .menu-list .sub-menu{display:block !important;position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#ffffff;border:1px solid var(--color-line);border-radius:14px;box-shadow:var(--shadow-soft);padding:10px 0 !important;z-index:2000;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;}
.site-header .menu-list .sub-menu li a{padding:10px 16px;color:var(--color-text);white-space:nowrap;font-weight:600;}
.site-header .menu-list .sub-menu li a:hover, .site-header .menu-list .sub-menu li a:focus, .site-header .menu-list .sub-menu li.current-menu-item > a{color:var(--color-primary);background:var(--color-bg-soft);}
.site-header .menu-list > li:hover > .sub-menu, .site-header .menu-list > li:focus-within > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.site-main{padding-top:32px;}
.sponsor-band{margin-top:72px;padding:56px 0;}
.sponsor-band__inner{grid-template-columns:1fr 1.2fr;align-items:center;}
} @media(max-width:1023px){
.menu-toggle{display:inline-flex !important;align-items:center;justify-content:center;visibility:visible !important;opacity:1 !important;position:relative;z-index:3000;}
.primary-nav{z-index:2500;}
}
.screen-reader-text, .sbi-screenreader {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}