/*
Theme Name: Viitasaaren Viesti
Description: Viestin responsiivinen ulkoasu GeneratePress-teeman päälle.
Author: Viitasaaren Viesti
Template: generatepress
Version: 0.1.6
Update URI: false
Text Domain: viesti
*/
:root{--viesti-yellow:#ffce21;--viesti-ink:#20251f;--viesti-muted:#62675d;--viesti-paper:#fff;--viesti-ground:#f4f3ee;--viesti-line:#dfdfd4;--viesti-green:#45563a}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{background:var(--viesti-ground);color:var(--viesti-ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.7}
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
a{color:#36552a;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:#172b10}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #325dba;outline-offset:4px}
h1,h2,h3,.viesti-brand{font-family:Georgia,'Times New Roman',serif;color:var(--viesti-ink);font-weight:700;line-height:1.16;letter-spacing:-.025em}
h1{font-size:clamp(2rem,4vw,3.25rem)}h2{font-size:clamp(1.65rem,3vw,2.35rem)}h3{font-size:1.5rem}



.viesti-masthead{background:var(--viesti-yellow);border-bottom:1px solid #e4b81b}
.viesti-masthead-inner{max-width:1180px;height:190px;margin:auto;position:relative;overflow:hidden;background:var(--viesti-yellow) url('assets/header.png') center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.viesti-thrower{position:absolute;width:250px;max-width:none;left:0;bottom:-1px;pointer-events:none}
.viesti-victory{position:absolute;width:330px;max-width:none;right:0;bottom:-1px;pointer-events:none}
.viesti-brand{position:relative;text-align:center;padding:14px 22px;margin:0 100px 0 0;text-decoration:none;font-size:clamp(2rem,3.5vw,3.2rem);color:#192117;text-shadow:0 1px rgba(255,255,255,.35)}
.viesti-brand small{display:block;margin-top:10px;font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.main-navigation,.main-navigation ul ul{background:var(--viesti-ink)}
.main-navigation .inside-navigation{max-width:1180px}
.main-navigation .main-nav ul li a,.main-navigation .menu-toggle{color:#fff;font-size:15px;line-height:58px;padding-left:24px;padding-right:24px;font-weight:600}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li:focus-within>a,.main-navigation .main-nav ul li.sfHover>a{background:#363d32;color:#fff}
.main-navigation .main-nav ul li[class*='current-menu-']>a{background:var(--viesti-yellow);color:var(--viesti-ink)}
.main-navigation ul ul{box-shadow:0 8px 18px #0002;width:280px}
.main-navigation .main-nav ul ul li a{line-height:1.45;padding:14px 18px;white-space:normal;font-weight:400}
.main-navigation .main-nav ul ul li[class*='current-menu-']>a{background:var(--viesti-yellow);color:var(--viesti-ink)}
.menu-toggle{min-height:54px}
.site.grid-container{max-width:1180px}
.site-content{padding:40px 0 64px}
.separate-containers .inside-article{padding:44px 52px;background:var(--viesti-paper);border:1px solid var(--viesti-line);border-radius:2px}
.separate-containers .site-main{margin:0}
.entry-header{margin-bottom:28px}
.entry-title{margin-bottom:0}
.entry-content{margin-top:0;overflow-wrap:anywhere}
.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:78ch}
.entry-content :where(img,video,iframe){max-width:100%}
.entry-content img{height:auto}
.entry-content h1{font-size:2rem}.entry-content h2{margin-top:1.5em}.entry-content :where(h1,h2,h3,h4,h5,h6){color:var(--viesti-ink)}
.entry-content :where(h1,h2,h3,h4,h5,h6) span{color:inherit!important}
.entry-content :where(p,div,span){max-width:100%}
.entry-content a{font-weight:500}
.entry-content .gallery{margin:24px 0}
.entry-content .wp-block-image img{border-radius:2px}
.viesti-breadcrumb{font-size:13px;color:var(--viesti-muted);margin:0 0 20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.viesti-breadcrumb a{color:inherit}
.viesti-section-nav{border-top:1px solid var(--viesti-line);border-bottom:1px solid var(--viesti-line);padding:18px 0;margin-bottom:28px}
.viesti-section-nav ul{list-style:none;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.viesti-section-nav li{margin:0}
.viesti-section-nav a{display:block;background:var(--viesti-ground);padding:7px 12px;border-radius:2px;font-size:14px;text-decoration:none;line-height:1.5}
.viesti-section-nav .current_page_item>a,.viesti-section-nav a:hover{background:var(--viesti-yellow);color:var(--viesti-ink)}
.viesti-table-wrap{overflow-x:auto;max-width:100%;margin:24px 0;overscroll-behavior-inline:contain}
.viesti-table-wrap:focus-visible{outline:3px solid #325dba;outline-offset:4px}
.entry-content table{border-collapse:collapse;width:100%;font-size:15px;margin:0;line-height:1.5}
.entry-content td,.entry-content th{border:1px solid var(--viesti-line);padding:12px 14px;text-align:left;min-width:80px}
.entry-content th{background:#eeeee5;font-weight:700}
.entry-content tr:nth-child(even) td{background:#f8f8f3}
.home .site-content{padding-top:0}
.home .inside-article>.entry-header{display:none}
.viesti-home-intro{background:var(--viesti-ground);padding:54px 0 46px}
.viesti-home-intro-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.viesti-eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#556246;margin:0 0 16px}
.viesti-home-intro h1{font-size:clamp(2.6rem,5vw,4.7rem);max-width:9ch;margin:0 0 22px;line-height:1.02}
.viesti-home-intro .viesti-lead{font-size:18px;line-height:1.7;max-width:42ch;color:#50564b;margin-bottom:26px}


.viesti-home-photo{margin:0;position:relative;padding:0 0 14px 14px}
.viesti-home-photo:before{content:'';position:absolute;inset:18px 14px 0 0;background:var(--viesti-yellow)}
.viesti-home-photo img{position:relative;display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 40%;filter:saturate(.85)}
.viesti-home-photo figcaption{position:absolute;bottom:28px;left:32px;background:#fffffff2;padding:6px 12px;font-size:11px;letter-spacing:.05em;color:var(--viesti-ink)}
.viesti-sports{display:flex;align-items:baseline;gap:40px;margin:0 0 40px;padding:22px 0;border-top:1px solid var(--viesti-line);border-bottom:1px solid var(--viesti-line);scroll-margin-top:24px}









.viesti-news-heading{margin:0 0 24px;font-size:26px}
.site-footer{background:var(--viesti-ink);color:#fff;border-top:5px solid var(--viesti-yellow)}
.site-info{background:transparent;color:#d9ded3;padding:32px 24px;font-size:13px}
.site-info a{color:#fff}.viesti-footer-name{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:#fff;display:block;margin-bottom:8px}
.viesti-footer-links{margin-top:12px;display:flex;justify-content:center;flex-wrap:wrap;gap:20px}
.viesti-stage-bar{background:#fff2bd;color:#42370b;text-align:center;font-size:12px;padding:5px 16px;border-bottom:1px solid #d8c577}
.wp-block-button__link{background:var(--viesti-yellow);color:var(--viesti-ink);border-radius:2px;font-size:16px;font-weight:700}
@media(min-width:769px){.main-navigation .main-nav>ul{display:flex;justify-content:center}.viesti-home-intro,.viesti-sports{width:100%}}
@media(max-width:1240px){.site.grid-container{margin-left:28px;margin-right:28px}.viesti-home-intro-inner{gap:36px}.main-navigation .main-nav ul li a{padding-left:18px;padding-right:18px}}
@media(max-width:900px){.viesti-brand{font-size:34px;margin-left:-40px;margin-right:0}.viesti-thrower{left:-45px}.viesti-victory{right:-65px;width:280px}.viesti-home-intro-inner{gap:28px}.separate-containers .inside-article{padding:32px}}
@media(max-width:768px){body{font-size:17px}.viesti-masthead-inner{height:140px}.viesti-thrower{width:190px;left:-64px;opacity:.9}.viesti-victory{width:220px;right:-80px}.viesti-brand{font-size:29px;margin:0;padding:12px 65px;max-width:400px;line-height:1.05}.viesti-brand small{font-size:9px;letter-spacing:.12em;line-height:1.5;margin-top:8px}.main-navigation .inside-navigation{justify-content:flex-start}.main-navigation .main-nav ul li a{line-height:52px;font-size:16px}.main-navigation .main-nav ul ul li a{font-size:14px}.main-navigation.toggled .main-nav>ul{display:block}.site.grid-container{margin-left:18px;margin-right:18px}.site-content{padding:26px 0 40px}.separate-containers .inside-article{padding:26px 22px}.viesti-home-intro{padding:34px 0 30px}.viesti-home-intro-inner{grid-template-columns:1fr;gap:30px}.viesti-home-intro h1{font-size:52px;max-width:10ch}.viesti-home-intro .viesti-lead{font-size:17px;max-width:100%}.viesti-home-photo img{aspect-ratio:16/10}.viesti-sports{margin-bottom:30px}.viesti-section-nav ul{gap:6px}.viesti-section-nav a{font-size:13px;padding:7px 10px}.viesti-breadcrumb{font-size:12px}.entry-content table{font-size:14px}.entry-content td,.entry-content th{padding:9px 10px}.home .entry-content{font-size:16px}.site-info{padding:26px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#site-navigation,#site-navigation ul ul{background:var(--viesti-ink)}
#site-navigation .main-nav ul li a,#site-navigation .inside-navigation .menu-toggle{color:#fff}
#site-navigation .inside-navigation .menu-toggle{background:transparent;text-align:left}
#site-navigation .main-nav ul li:hover>a,#site-navigation .main-nav ul li:focus-within>a,#site-navigation .inside-navigation .menu-toggle:hover{color:#fff;background:#363d32}
#site-navigation .main-nav ul li[class*='current-menu-']>a{color:var(--viesti-ink);background:var(--viesti-yellow)}
.viesti-thrower{width:410px}
@media(max-width:768px){.viesti-thrower{width:340px;left:-60px}.viesti-brand small{max-width:145px;margin:8px auto 0;line-height:1.45}.viesti-victory{right:-90px;width:200px}}

.wp-block-table:focus-visible,.viesti-table-wrap:focus-visible{outline:3px solid var(--viesti-green);outline-offset:4px}

.viesti-sports h2{font-size:24px;margin:0}
.viesti-sport-links{flex:1}
.viesti-sport-links ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.viesti-sport-links li{flex:1 1 140px;min-width:0}
.viesti-sport-links a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;width:100%;padding:11px 18px;border:1px solid #b9bdb1;border-radius:6px;background:#fff;box-shadow:0 2px 0 #d9dbd2;color:var(--viesti-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.viesti-sport-links a:hover,.viesti-sport-links a:focus-visible{background:var(--viesti-yellow);border-color:#bc9a16;color:var(--viesti-ink);text-decoration:none}
@media(max-width:768px){.viesti-sports{display:block;padding:18px 0}.viesti-sports h2{font-size:22px;margin-bottom:12px}.viesti-sport-links li{flex-basis:calc(50% - 5px)}.viesti-sport-links a{padding:11px 12px}#site-navigation .inside-navigation{width:100%;max-width:none;margin:0;padding:0}#site-navigation .inside-navigation .menu-toggle{display:block;flex:0 0 100%;box-sizing:border-box;width:100%;margin:0;padding:0 20px;text-align:left}#site-navigation .main-nav,#site-navigation .main-nav>ul,#site-navigation .main-nav ul ul{width:100%}}
.viesti-home-pages{display:flex;align-items:center;gap:20px;border-top:0;margin:0 0 26px;padding:0 0 20px;border-bottom:1px solid var(--viesti-line)}
.viesti-home-pages strong{font-size:14px;white-space:nowrap}
.viesti-home-pages a{background:#fff;border:1px solid var(--viesti-line)}
@media(max-width:768px){.viesti-home-pages{display:block;padding:0 0 16px}.viesti-home-pages strong{display:block;margin-bottom:9px}.viesti-home-pages ul{gap:8px}.viesti-home-pages a{font-size:14px}}
@media(min-width:769px){.viesti-sports{display:none}}
