
.menulevel1 {
    font-weight: bold;
    font-size: 12pt;
    padding-left: 11px;
    margin-top: 6px;
}

.menulevel2, .menulevel3 {
    font-weight: bold;
    font-size: 12pt;
    padding-left: 15px;
    margin-top: 6px;
}

body {
    scrollbar-face-color:#d0d0d0;
    scrollbar-highlight-color:#FFFFFF;
    scrollbar-shadow-color:#DEE3E7;
    scrollbar-3dlight-color:#D1D7DC;
    scrollbar-arrow-color:#006699;
    scrollbar-track-color:#EFEFEF;
    scrollbar-darkshadow-color:#98AAB1;
    padding:0px;
    MARGIN:0px;
}

.MzaNappi {
    font-family: 'Arimo',sans-serif;
    font-size: 11px;
    font-weight:bold;
    background-color:#3399CC;
    color:#ffffff;
}

.input_login {
    font-family: 'Arimo',sans-serif;
    font-size: 13px;
    background-color: #f9f9f9;
    border: 1px solid #555;
}
.input_submit2 {
    font-family: 'Arimo', sans-serif;
    font-size: 12px;
    font-weight: bold;
    background-color: #3399CC;
    border: 1px solid #39C;
    color: #ffffff;
    padding: 4px 10px;
    margin-left: 5px;
    margin-top: 3px;
    cursor: pointer;
}
.input_submit2:hover {
    background-color: #3aa0d3;
    border: 1px solid #39C;
}
.varaus {
    text-align: left;
}
.kunta{
    display: block;
    font-size:10pt;
    font-weight:bold;
    margin-bottom:6px;
    color:#000000;
    font-family: 'Arimo',sans-serif;
    font-style: normal;
    text-transform:uppercase;
}

.MzaReuna {
    border: 0px #cccccc solid;
    font-family: 'Arimo',sans-serif;
    font-size:10pt;
}

.MzaReuna2 {
    border: 0px #cccccc solid;
    font-family: 'Arimo',sans-serif;
    font-size:10pt;
    padding-top:0px;
    padding-right:0px;
    padding-bottom:0px;
    padding-left:0px;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
}

.MzaReuna2 td {
    padding: 0;
    vertical-align: top;
}

.Kyltti {
    border: 4px #38A2C9 solid;
    background-color:#38A2C9;
    color:#ffffff;
    font-weight:bold;
    font-family: 'Arimo',sans-serif;
    font-size:12px;
}

.ExKyltti {
    border: 4px #3399CC solid;
    background-color:#3399CC;
    color:#ffffff;
    font-weight:bold;
    font-family: 'Arimo',sans-serif;
    font-size:10px;
}

body,td,p {
    font-family: 'Arimo',sans-serif;
    font-size: 12pt;
}

hr{height:0px; 
   border:solid #909090 0px;
   border-top-width:1px;
   width: 70%;
}
H1,H3 {
    font-size:18pt;
    font-weight:bold;
    margin-bottom:6px;
    color:#3399CC;
    font-family: 'Dosis',sans-serif;
    font-style: normal;
}

H2 {
    font-size:14pt;
    font-weight:normal;
    margin-bottom:6px;
    color:#3399CC;
    font-family: 'Dosis',sans-serif;
    font-style: normal;
}

H4 {
    font-size:18px;
    font-weight:normal;
    margin-bottom:6px;
    color:#F4821F;
    font-family: 'Dosis',sans-serif;
    font-style: normal;
    font-weight: bold;
}
.cookies_note {
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    /* Center text+button as a group; side columns absorb overflow (no overlap) */
    display: grid;
    grid-template-columns: 1fr minmax(0, auto) auto 1fr;
    column-gap: 8px;
    align-items: center;
    padding: 0 8px;
    box-sizing: border-box;
    color: #ffffff;
    font-family: 'Arimo', sans-serif;
    font-size: clamp(5.5pt, 2.2vw, 11pt);
    line-height: 1.2;
}

.cookies_note span {
    grid-column: 2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.cookies_note button {
    grid-column: 3;
    margin: 0;
    background: #ffffff;
    border: 1px solid #ffffff;
    color: #000000;
    padding: 2px 10px;
    cursor: pointer;
    font-family: 'Arimo', sans-serif;
    font-size: 1em;
    white-space: nowrap;
}

@media (max-width: 380px) {
    .cookies_note {
        font-size: clamp(5pt, 1.9vw, 8pt);
        column-gap: 6px;
        padding: 0 4px;
    }

    .cookies_note button {
        padding: 1px 8px;
    }
}

form{
    margin:0;
}
img{border:0;}
li{line-height:1.5;}
/* Side menu rows (matches legacy MenuTausta111 / MenuTausta222 tiles) */
.menulevel1 li.doc,
.menulevel1 li.docs,
.menulevel1 li.sdoc,
.menulevel1 li.sdocs {
    position: relative;
    width: 156px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Arimo', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 12pt;
}

.menulevel1 li.doc,
.menulevel1 li.docs {
    height: 41px;
    border-left: 7px solid #336799;
    border-top: 1px solid #638b97;
    border-right: 1px solid #66898f;
    border-bottom: 1px solid #6c8790;
    background-color: #fffffd;
    color: #30305a;
}

.menulevel1 li.doc:hover,
.menulevel1 li.docs:hover {
    background-color: #f2f2f2;
}

/* Share one pixel between stacked rows so lines meet the left bar */
.menulevel1 li + li {
    margin-top: -1px;
}

.menulevel1 li.sdoc,
.menulevel1 li.sdocs {
    height: 43px;
    border-left: 7px solid #4d96bf;
    border-right: 1px solid #5aadcf;
    border-bottom: 1px solid #4d96bf;
    background-color: #63c0e1;
    color: #000000;
}

.menulevel1 li.doc a,
.menulevel1 li.docs a,
.menulevel1 li.doc a:link,
.menulevel1 li.docs a:link,
.menulevel1 li.doc a:visited,
.menulevel1 li.docs a:visited,
.menulevel1 li.doc a:active,
.menulevel1 li.docs a:hover {
    display: block;
    height: 41px;
    line-height: 41px;
    padding-left: 10px;
    color: #30305a;
}

.menulevel1 li.sdoc a,
.menulevel1 li.sdocs a,
.menulevel1 li.sdoc a:link,
.menulevel1 li.sdocs a:link,
.menulevel1 li.sdoc a:visited,
.menulevel1 li.sdocs a:visited,
.menulevel1 li.sdoc a:active,
.menulevel1 li.sdoc a:hover,
.menulevel1 li.sdocs a:hover {
    display: block;
    height: 43px;
    line-height: 43px;
    padding-left: 10px;
    color: #000000;
}
ul.menulevel2,ul.menulevel3,ul.sitemaplevel1,ul.sitemaplevel2,ul.sitemaplevel3,ul.submenu,ul.search{
    padding-left: 0;
    margin-left: 0;
    list-style: none;
}
ul.menulevel1 {
    width: 156px;
    margin-left: 0;
    list-style: none;
}

/* Desktop left sidebar: center extras only (menu stays left-aligned) */
@media (min-width: 961px) {
    .base-sidebar-extras {
        padding-top: 16px;
    }

    .base-sidebar-extras p {
        margin: 0 0 10px 0;
        text-align: center;
    }

    .base-sidebar-center {
        text-align: center;
    }

    .base-sidebar-extras .menu {
        text-align: center;
    }

    /* Right sidebar: center sponsors only (login panel unchanged) */
    .base-sponsors-panel {
        width: 100%;
        text-align: center;
    }

    .base-sponsors-panel a {
        display: inline-block;
    }

    .base-login-panel {
        margin-bottom: 12px;
    }
}

/* Login forms: labels align with Kyltti caption bar left edge */
.base-login-panel h4 {
    margin: 14px 0 10px 0;
    text-align: center;
}

.base-mobile-drawer-login h4 {
    margin: 0 0 10px 0;
    text-align: center;
}

.base-login-panel form,
.base-mobile-drawer-login form {
    margin: 0 0 12px 0;
}

/* Organisaatiot section (second login form) */
.base-login-panel form + form,
.base-mobile-drawer-login form + form {
    margin-top: 22px;
}

.base-login-panel form:last-child,
.base-mobile-drawer-login form:last-child {
    margin-bottom: 22px;
}

.base-login-panel table,
.base-mobile-drawer-login table {
    width: 100%;
    border-collapse: collapse;
}

.base-login-panel caption.Kyltti,
.base-mobile-drawer-login caption.Kyltti {
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 5px;
}

.base-login-panel tr:not(:last-child) td.content_right,
.base-mobile-drawer-login tr:not(:last-child) td.content_right {
    padding-bottom: 5px;
}

/* Gap above KIRJAUDU row (after password field) */
.base-login-panel tbody tr:nth-child(2) td.content_right,
.base-mobile-drawer-login tbody tr:nth-child(2) td.content_right {
    padding-bottom: 4px;
}

.base-login-panel .input_submit2,
.base-mobile-drawer-login .input_submit2 {
    margin-left: 1px;
    margin-top: 3px;
}

.base-login-forgot {
    display: inline-block;
    margin-left: 1px;
    color: #f4821f;
    font-size: 11px;
    font-weight: bold;
    font-family: 'Arimo', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    letter-spacing: -0.2px;
}

.base-login-panel td.content_right,
.base-mobile-drawer-login td.content_right {
    padding: 0;
    text-align: left;
    vertical-align: top;
}

.base-login-panel .input_login,
.base-mobile-drawer-login .input_login {
    display: block;
    width: 100%;
    margin-top: 2px;
    box-sizing: border-box;
}

.base-sponsors-panel h4 {
    margin: 0 0 10px 0;
    text-align: center;
}

.base-sponsors-panel a {
    display: inline-block;
    margin-bottom: 10px;
}

.base-sponsors-panel a:last-child {
    margin-bottom: 0;
}
.menulevel1 a:link,.menulevel1 a:visited,.menulevel1 a:active,.menulevel1 a:hover,.menulevel2 a:link,.menulevel2 a:visited,.menulevel2 a:active,.menulevel2 a:hover,.menulevel3 a:link,.menulevel3 a:visited,.menulevel3 a:active,.menulevel3 a:hover,.locator a:link,.locator a:visited,.locator a:active,.locator a:hover,.navigator a:link,.navigator a:visited,.navigator a:active,.navigator a:hover,.sitemaplevel1 a:link,.sitemaplevel2 a:link,.sitemaplevel3 a:link,.sitemaplevel1 a:visited,.sitemaplevel2 a:visited,.sitemaplevel3 a:visited,
.sitemaplevel1 a:active,.sitemaplevel2 a:active,.sitemaplevel3 a:active,.sitemaplevel1 a:hover,.sitemaplevel2 a:hover,.sitemaplevel3 a:hover,.submenu a:link,.submenu a:visited,.submenu a:active,.submenu a:hover{text-decoration:none; 
}
.menu{font-weight:bold;font-size:8pt;color:#FFFFFF;
}
.menu a{text-decoration:underline;font-weight:bold;color:#FFFFFF;
}
.login,.login a,.login a:link,.login a:visited,.login a:active,.login a:hover{font-weight:normal;font-size:10pt;color:#8090a0;text-decoration:none;}
.edit{font-size:8pt;color:black;background-color:#E5E5E5;}
.edit a:link,.edit a:visited,.edit a:active,.edit a:hover{font-weight:normal;text-decoration:none;color:black;}
input,select,textarea{font-size:8pt;text-indent:2px;}
.searchbox .text{border:1px solid #3399CC;background-color: #FFFFFF;}
.searchbox .submit{border:1px solid #7ca7d8;background-color: #F4821F;color:#ffffff;}
.copyright {font-size:10px;color:#405060;letter-spacing: -1px;}
.copyright a,.copyright a:link,.copyright a:visited {color:#444444;text-decoration:none;}
.copyright a:hover,.copyright a:active {color:#000000;text-decoration:underline;}

/* Hamburger nav when layout columns (~960px) do not fit */
.base-mobile-nav-btn {
    display: none !important;
}

/* Flex row matching former header table: side | logo (500, left, bottom) | lang (430, right, top) | side */
.base-header-table {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    min-height: 144px;
    box-sizing: border-box;
}

.base-header-side {
    flex: 0 0 8px;
    width: 8px;
}

.base-header-logo {
    flex: 1 1 auto;
    min-width: 0;
    align-self: flex-end;
    display: flex;
    justify-content: flex-start;
}

.base-header-lang {
    flex: 0 0 auto;
    align-self: flex-start;
    display: flex;
    justify-content: flex-end;
    padding-top: 43px;
    box-sizing: border-box;
}

/* Desktop: side columns grow (like table width=100%), logo/lang stay fixed width */
@media (min-width: 961px) {
    .base-header-side {
        flex: 1 1 20px;
        min-width: 20px;
        width: auto;
    }

    .base-header-logo {
        flex: 0 0 500px;
        width: 500px;
        max-width: 500px;
    }

    .base-header-lang {
        flex: 0 0 430px;
        width: 430px;
        padding-top: 51px;
    }
}

.base-header-lang-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
    width: 100%;
}

.base-lang-option {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.base-lang-flag {
    vertical-align: middle;
}

.base-header-lang-row .base-lang-label {
    margin-left: 4px;
    font-weight: bold;
    font-size: 8pt;
    color: #000000;
}

.base-mobile-drawer-paper {
    max-width: min(320px, 90vw);
}

.base-mobile-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    padding: 6px 10px 4px 16px;
}

.base-mobile-drawer-lang {
    display: none;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-start;
    gap: 8px 14px;
    flex-wrap: nowrap;
}

.base-mobile-drawer-close {
    flex-shrink: 0;
    margin-left: auto;
}

.base-header-lang-flags {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.base-mobile-drawer-content {
    padding: 0 16px 24px;
}

/* Full-width nav rows in mobile drawer (cancel content horizontal padding) */
.base-mobile-drawer-nav {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-right: -16px;
}

.base-mobile-drawer-nav .menulevel1 {
    padding-left: 0;
    margin-top: 0;
    width: 100%;
}

.base-mobile-drawer-nav .menulevel1 li.doc,
.base-mobile-drawer-nav .menulevel1 li.docs,
.base-mobile-drawer-nav .menulevel1 li.sdoc,
.base-mobile-drawer-nav .menulevel1 li.sdocs {
    width: 100%;
    border-left: none;
}

.base-mobile-drawer-nav .menulevel1 li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.base-mobile-drawer-login {
    margin-top: 24px;
}

.base-mobile-drawer-extras {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #ccc;
}

.base-mobile-drawer-extras p {
    margin: 0 0 10px 0;
    text-align: center;
}

@media (max-width: 960px) {
    body {
        overflow-x: hidden;
    }

    .base-mobile-nav-btn {
        display: inline-flex !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    .base-header-lang-flags {
        display: none;
    }

    .base-mobile-drawer-lang {
        display: flex;
        gap: 4px 8px;
    }

    .base-mobile-drawer-lang .base-lang-label {
        display: none;
    }

    .base-header-lang-row {
        flex-wrap: nowrap;
        gap: 4px 8px;
        white-space: nowrap;
    }

    .base-sidebar-left,
    .base-sidebar-right,
    .base-col-rantu {
        display: none !important;
    }

    .base-layout-table {
        width: 100% !important;
        max-width: 100%;
        table-layout: fixed;
    }

    .base-layout-table tr {
        display: block;
        width: 100%;
    }

    .base-col-content {
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0 !important;
        box-sizing: border-box;
        padding-left: 12px;
        padding-right: 12px;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    .base-col-content img,
    .base-col-content iframe {
        max-width: 100%;
    }

    .base-header-logo img {
        max-width: min(280px, 70vw);
        height: auto;
    }

    .base-footer-side .Blank {
        width: 8px !important;
    }

    .base-footer-table {
        width: 100% !important;
    }

    .base-footer-table tr {
        display: block;
    }

    .base-footer-side {
        display: none !important;
    }

    .base-footer-center {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        background-size: min(822px, 100%) auto;
    }

    .base-footer-center .login {
        text-align: center;
    }
}
