/*
Theme Name: GeneratePress Child (Kylähullut Kulkurit)
Template: generatepress
Version: 2.0.0
Description: Sollertis child theme — replicates the original Drupal Bartik site. EVERY value below was measured from the original site with getComputedStyle() on 21.10.2026 (viewport 1199 px, https://www.kylahullutkulkurit.fi/tapaamiset); nothing from memory.
*/

/* ---- page / body (Bartik body: Georgia 14px/21px #3b3b3b; #page bg #fff; body bg #292929 = footer colour) ---- */
html { background: #292929; }                                           /* body backgroundColor rgb(41,41,41) */
body { background: #292929; color: #3b3b3b; font-family: Georgia, "Times New Roman", Times, serif; font-size: 14px; line-height: 21px; }
.site { background: #fff; }                                             /* #page backgroundColor rgb(255,255,255) */
a, a:visited { color: #0071b3; text-decoration: none; border-bottom: 1px dotted; }      /* .node__content a: color rgb(0,113,179), border-bottom 1px dotted */
a:hover, a:focus { text-decoration: none; border-bottom-style: solid; }
h1 a, h2 a, .site-logo a, .main-navigation a, .kk-cookie a { border-bottom: none; }

/* ---- header: #header gradient rgb(5,90,142) -> rgb(29,132,195), 263 px incl. the menu row ---- */
.site-header { background: #1d84c3 linear-gradient(rgb(5, 90, 142) 0%, rgb(29, 132, 195) 100%); }   /* #header backgroundImage */
.site-header .inside-header { max-width: 1290px; margin: 0 auto; padding: 5px 15px 0; display: flex; align-items: flex-start; justify-content: space-between; }   /* .region-header padding 4.998px 15px 0 */
.site-header .site-branding-container { order: 1; }
.site-header .site-logo { display: block; margin: 5px 14px 4px 0; }   /* .site-branding margin 4.998px 0 0; branding a margin 0 14px 4px 0 */
.site-header .inside-header { min-height: 221px; box-sizing: border-box; }   /* .region-header measured 221px high */
.site-header .site-branding { display: none; }                          /* Bartik branding block shows the logo only */
.site-logo img { height: 202px; width: 897px; max-width: 100%; display: block; }   /* #block-bartik-branding img 897x202 */
.site-header .header-widget { order: 2; float: none; width: 180px; margin: 14px 0 12px; }   /* #block-bartik-search float right, width 180.3px, margin 14px 0 12px */
.header-widget .widget { float: none; margin: 0; }
.header-widget .search-form, .header-widget .wp-block-search__inside-wrapper { display: flex; align-items: flex-start; height: 30px; border: 0; padding: 0; }   /* original form 180.3x30: input content-box 133.5x25 @+0,+2, submit 34x26 margin 2px 7.8px 2px 0 */   /* classic + block search widget markup */
.header-widget .search-form .search-field, .header-widget .wp-block-search__input { -webkit-appearance: textfield; appearance: textfield; box-sizing: content-box; width: 123.5px; height: 15px; padding: 4px; margin: 2px 5px 2px 0; border: 1px solid #ccc; border-radius: 0; background: #fff; font-size: 13px; line-height: 15px; font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif; }   /* input[type=search]: measured 13.006px "Lucida Grande"; normalize.css appearance textfield (Safari would render a rounded, larger searchfield otherwise) */
.header-widget .search-form .search-submit, .header-widget .wp-block-search__button { box-sizing: border-box; width: 34px; height: 26px; min-width: 0; padding: 0; margin: 2px 7.8px 2px 0; border: 0; border-radius: 13px; background: #f0f0f0 url(loupe.svg) no-repeat 50% 50%; color: transparent; font-size: 0; }   /* submit 34x26, bg rgb(240,240,240), loupe.svg, radius 13px */
.header-widget .search-form label { display: inline-block; margin: 0; }   /* the input lives inside the label */
.header-widget .wp-block-search__label { display: none; }
.header-widget .search-form .search-submit, .header-widget .wp-block-search__button { display: inline-block !important; }   /* GP hides the submit by default */

/* ---- main menu: Bartik tabs on the gradient's end colour ---- */
.main-navigation { background: #1d84c3; border: 0; }                    /* region is transparent over #header; the gradient ends at rgb(29,132,195) */
.main-navigation .inside-navigation { max-width: 1290px; margin: 0 auto; padding: 0 15px; }   /* .region-primary-menu .menu padding 0 15px */
.main-navigation .main-nav > ul { display: flex; flex-wrap: wrap; }
.main-navigation .main-nav ul li { margin: 0 1px; padding: 0 1px; }     /* .menu-item margin 0 1px, padding 0 1px */
.main-navigation .main-nav ul li a { display: block; margin: 4px 0 0; padding: 9.1px 10.4px; background: rgba(255, 255, 255, 0.7); color: #333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; line-height: 19.5px; border-radius: 8px 8px 0 0; text-shadow: 0 1px #eee; box-shadow: none; }   /* .menu a */
.main-navigation .main-nav ul li a:hover, .main-navigation .main-nav ul li a:focus { background: rgba(255, 255, 255, 0.95); color: #333; }   /* a:hover rgba(255,255,255,.95) */
.main-navigation .main-nav ul li.current-menu-item > a, .main-navigation .main-nav ul li.current_page_item > a, .main-navigation .main-nav ul li.current-menu-ancestor > a { background: #fff; color: #000; }   /* a.is-active */
.main-navigation .menu-toggle { color: #fff; }
@media (max-width: 768px) { .main-navigation .main-nav > ul { display: block; } .main-navigation .main-nav ul li { margin: 0; padding: 0; } .main-navigation .main-nav ul li a { border-radius: 8px; margin: 4px 0; padding: 0.9em 10px; } }   /* Bartik mobile menu: radius 8px, margin 4px 0, padding 0.9em 0 0.9em 10px */

/* ---- content: .layout-main margin 20px 0 40px; one-sidebar layout = content 75 % with 25 % left margin; .section padding 0 15px ---- */
.site-content, .site-content.grid-container, #content.site-content { max-width: 1290px; margin: 20px auto 40px; padding: 0 !important; }   /* .layout-main margin 20px 0 40px; container 1290, no GP 40px container padding */
.one-container .site-content { padding-top: 0; }
.separate-containers .inside-article, .one-container .site-content .inside-article { padding: 0 15px; background: transparent; }
.content-area { width: 100%; }
@media (min-width: 851px) { .content-area { width: 75%; margin-left: 25%; } }   /* .main-content width 75 %, marginLeft 25 % (899.25 / 299.75 at 1199) */
.kk-breadcrumb { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; padding: 0 0 6.5px 5px; margin: 0; }   /* .breadcrumb, inside the 15px container padding */
.kk-breadcrumb a { color: #0071b3; border-bottom: 1px dotted #0071b3; }
@media (min-width: 851px) { .kk-breadcrumb { margin-left: -33.333%; } }     /* breadcrumb sits in the layout container, at the page's left edge */
h1.entry-title, .page .entry-title { font-family: Georgia, "Times New Roman", Times, serif; font-size: 28px; line-height: 28px; font-weight: 400; color: #000; margin: 28px 0 14px; }   /* .page-title */
.inside-article .entry-header { margin-bottom: 0; }
.entry-content, .inside-article .entry-header + .entry-content { font-family: Georgia, "Times New Roman", Times, serif; font-size: 15px; line-height: 22.5px; color: #3b3b3b; margin-top: 10px !important; }   /* .node__content 14.994px / 22.491px, margin-top 10px; GP default 2em would add 16px (title margin-bottom 14 collapses with 10 -> 14 like Bartik) */
.entry-content p { margin: 0 0 18px; }   /* .node__content p margin-bottom 17.99px */
.entry-content h2 { font-family: Georgia, "Times New Roman", Times, serif; font-size: 21.43px; line-height: 30px; font-weight: 400; color: #3b3b3b; margin: 21.43px 0 2px; }   /* .node__content h2 measured 21.4264px / 29.997px, margin 21.43px 0 2px */
.entry-content img { max-width: 100%; height: auto; }
.entry-content > :last-child { margin-bottom: 0; }

/* ---- footer: .site-footer bg #292929, padding 35px 0 30px, Helvetica 14px; text rgba(255,255,255,.65) 12px; links rgba(255,255,255,.8) dotted ---- */
.site-footer, .site-info { background: #292929; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; }
.site-info .inside-site-info { max-width: 1290px; margin: 0 auto; padding: 0 15px 30px; text-align: left; color: rgba(255, 255, 255, 0.65); font-size: 12px; }
.site-info .inside-site-info::before { content: ""; display: block; margin: 65px 0 27px; border-top: 1px solid #555; }   /* .site-footer padding-top 35 + __bottom margin-top 30, border-top 1px solid rgb(85,85,85); region margin 20 + block margin 7 */
.site-info a, .kk-footer-menu a { color: rgba(255, 255, 255, 0.8); font-size: 12px; font-weight: 400; border-bottom: 1px dotted rgba(255, 255, 255, 0.15); }   /* #block-bartik-footer .menu a */
.kk-footer-menu { margin: 0 0 14px; line-height: 19px; }
.copyright { display: block; margin-top: 7px; }

/* ---- cookie banner: #sliding-popup bg rgb(7,121,191), content max-width 80 % centred; h2 white Georgia 16px bold; Accept button gradient ---- */
.kk-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999; background: #0779bf; text-align: center; }
.kk-cookie__inner { display: inline-block; width: 100%; max-width: 80%; margin: 0 auto; text-align: left; }   /* .eu-cookie-compliance-content */
.kk-cookie h2 { float: left; max-width: 60%; margin: 0 0 5px; padding: 0; color: #fff; font-family: Georgia, "Times New Roman", Times, serif; font-size: 16px; font-weight: 700; line-height: 22.4px; }   /* .eu-cookie-compliance-message h2 */
.kk-cookie__accept { float: right; margin: 14px 5px 14px 0; padding: 4px 8px; border: 1px solid #dcdcdc; border-radius: 6px; background: #ededed linear-gradient(rgb(237, 237, 237) 5%, rgb(223, 223, 223) 100%); box-shadow: inset 0 1px 0 0 #fff; color: #000; font-family: Arial, sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; }   /* .eu-cookie-compliance-default-button */
.kk-cookie__inner::after { content: ""; display: block; clear: both; }
@media (max-width: 768px) { .kk-cookie h2 { float: none; max-width: 100%; } .kk-cookie__accept { float: none; } }
