/*
 Theme Name:   Poas
 Template:     aate
 Text Domain:  poas
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}

/***********************
*       TYPOGRAFIA     *
***********************/

@font-face {
	font-family: BalooBhaijaan;  
	src: url(fonts/BalooBhaijaan-Regular.ttf);  
	font-weight: normal;
    font-style: normal;
}

h1, h2, h3, h4, h5 {
    font-family: 'BalooBhaijaan', serif;
    color: #2f62ab;
}

h1 {
    font-size: 2.8em;
}



h3, h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5em;
    color: #333;
    font-weight: 600;
    margin-top: 1.7em;
    margin-bottom: .5em;
}

h3 {
    font-size: 1.2em;
}

h3.no-margin-top {
    margin-top: 0;
}

.home h2 {
    font-family: 'BalooBhaijaan', serif;
    color: #2f62ab;
    font-size: 2.3em;
    margin-bottom: .3em;
    margin-top: 0;
    font-weight: 500;
}

.single main h2.ylaviiva, h2.ylaviiva {
    border-top: 1px solid #eee;
    padding-top: 40px;
    margin-top: 2.1em;
}

h2.iso-otsikko {
    font-family: 'BalooBhaijaan', serif;
    color: #2f62ab;
    margin-bottom: 0.3em;
    margin-top: .8em;
    font-weight: 500;
    font-size: 2.1em;
}


.content-side h1 {
    font-size: 2.4em;
}


a, a:visited, a:hover {
    color: #2f62ab;
}

main .content-side a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

main .content-side a:hover, main .content-side a.button {
    text-decoration: none;
}

main .content-side a:focus {
    background: #2f62ab;
    color: #fff !important;
}

main .content-side a.kuvalinkki:focus {
    background: transparent;
}

main .content-side .button.margin-bottom-0 {
    margin-bottom: 0;
}


.fa, .fab, .fad, .fal, .far, .fas {
    font-family: "Font Awesome 5 Free";
    font-size: 2em;
}


/***********************
*       HEADER         *
***********************/

.container-header {
    padding-bottom: 20px;
}

header .container {
    height: 100%;
    width: 100%;
    clear: both;
    position: relative;
}

header .row {
    position: absolute;
    top: calc(50% + 50px);
    transform: translateY(-50%);
}

header p.nosto {
    text-align: left;
}

.etusivun-header {
    background-size: cover;
    background-position: center;
    position: relative;
}

.absolutet h1 {
    position: absolute;
}



.etusivun-header {
    height: 200px;
    position: relative;
}

.absolutet h1 {
    z-index: 99;
    text-align: center;
    width: calc(90% - 20px);
    color: #ffffff;
    font-size: 3.5em;
    font-size: 2em;
    position: absolute;
    top: 50px;
    padding-left: 10px;
    padding-right: 10px;
}

.nappirivi {
    width: 100%;
    margin-top: 20px;
}

.nappirivi a.button {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px !important;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.home .nappirivi {
    bottom: -20px;
}
.nappirivi .button {
    margin: 0 0;
    display: flex;
    align-items: center;
    font-size: 1em;
    padding: 13px 23px;
}

.nappirivi .button .fas:first-child {
    margin-right: 15px;
    width: 10%;
        font-size: 1.7em;
}

.home .nappirivi .button .fas:first-child {
    font-size: 2em;
}

.nappirivi .button .fas:nth-child(2) {
    margin-left: 15px;
    width: 10%;
        font-size: 1.5em;
}

.nappirivi .button .fas:last-child {
     margin-left: 15px;
    width: 10%;
        font-size: 1.5em;
}
.nappirivi .napin-teksti {
        width: calc(80% - 50px);
    font-size: 1.1em;
    margin-left: 10px;
    margin-right: 10px;
}

.navbar {
    padding: .5rem 25px;
}
button.navbar-toggler {
    border: 0 solid transparent;
     padding-right: 0;
}
button.navbar-toggler:focus {
    background: #fff;
}


.icon-bar {
    border-bottom: 2px solid #333;
}

.home main .container:first-child {
    padding-top: 70px;
    padding-bottom: 40px;
}

.navbar a {
    color: #333;
}
.navbar a:hover {
    color:#2f62ab;
}
/***********************
*        ETUSIVU       *
***********************/

main {
    padding-top: 0;
}



.home main .container {
    border-top: 3px solid #eee;
}

.home main .container.border-top-0 {
    border-top: 0 solid transparent;
}


/********* SOME-FEED *********/

#ff-stream-1, #ff-stream-1-slideshow, #ff-stream-1 .ff-infinite .ff-content {
    background-color: transparent !important;
    padding-top: 0 !important;
}

#ff-stream-1 .picture-item__inner {
    border: 1px solid #ebebeb;
    box-shadow: 0 0 0 #fff;
}
span.ff-btn {
    background-color: #f05374 !important;
    border: 2px solid #f05374;
    padding: 9px 20px;
    color: #fff;
    display: inline-block;
    font-size: 1em;
    font-weight: 500;
    /* font-family: 'Lato', sans-serif; */
    font-family: 'Montserrat', sans-serif !important;
    text-transform: capitalize !important;
    width: auto;
    text-decoration: none;
    text-align: center;
    text-indent: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    transition: all .2s ease-in-out;
    border-radius: 5px;
    font-weight: 500 !important;
    font-size: 1em !important;
}
span.ff-btn:hover {
    text-decoration: none;
    background-color: #2f62ab !important;
    color: #fff !important;
    border-color: #2f62ab;
}

#ff-stream-1 .ff-square {
    background-color: #333 !important;
}

.ff-stream-wrapper.ff-desktop.shuffle--container.shuffle--animatein.ff-layout-masonry.ff-truelayout-masonry.ff-upic-timestamp.ff-upic-square.ff-align-left.ff-sc-label2.ff-outline-icon.ff-gallery-off.shuffle {
    margin-left: -15px !important;
    margin-right: -15px !important;
}

/***********************
*        RAKENNE       *
***********************/

a.skip-main {
    left:0;
    position:absolute;
    top:0;
    width:100px;
    height:100px;
    overflow:hidden;
    z-index:-999;
}
a.skip-main:focus, a.skip-main:active{
    color: #fff !important;
    background-color: #2f62ab;
    width: 100%;
    max-width: 255px;
    height: auto;
    overflow: auto;
    margin: 20px;
    padding: 5px;
    border-radius: 0;
    /* border: 4px solid blue; */
    text-align: center;
    font-size: 1.2em;
    z-index: 9999999;
    text-decoration: none !important;
}


.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding-right: 25px;
    padding-left: 25px;
}

.container, .container-fluid {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
}

.row, .container {
    max-width: 1300px;
    margin: 0 auto;
}

.container-fluid.wide .row {
    max-width: 100%;
}
.text {
    padding-top: 50px;
    padding-bottom: 50px;
    order: 2;
}

.background {
    padding-left: 0;
    padding-right: 0;
    height: 300px;
    order: 1;
}

.kuva {
    order: 1;
}

.teksti {
    margin-top: 30px;
    order: 2;
}

.background-image {
    background-size: cover;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.laatikko {
    height: 100%;
    margin-bottom: 30px;
    overflow: hidden;
}

.laatikkokuva {
    height: 200px;
    width: 100%;
    background-position: center;
    background-size: cover;
}

.laatikkoteksti {
    padding: 20px;
}

.alamargin {
    margin-bottom: 20px;
}

.logot img {
    margin: 0 auto;
    width: 100%;
    max-width: 250px;
}

ul.nav {
    padding-top: 20px;
}

a:focus {
    color: #2f62ab !important;
    text-decoration: underline !important;
}

a.button:focus, nav a:focus {
    text-decoration: none !important;
}

/*img {
    width: 100%;
}

.content-side img {
    width: auto;
}*/

.dropdown-menu li {
    background-color: #fff;
}


.menu-plus, button.menu-plus:active, button.menu-plus:focus, #button.menu-plus:hover {
    background: #2f62ab;
    border: 0 solid transparent;
    border-radius: 50%;
    height: 30px;
    width: 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0;
    color: #fff !important;
}

.menu-plus:before {
    content: '\002B'; /* Unicode character for "plus" sign (+) */
        margin-left: 1px;
    margin-top: 0;
}

.menu-minus:before {
    content: "\2212"; /* Unicode character for "minus" sign (-) */
       margin-left: 1px;
    margin-top: 0;
}


/*******************
*    ELEMENTIT     *
*******************/

main .content-side ul {
  list-style: none; /* Remove default bullets */
      padding-inline-start: 2em;
}

main .content-side ul li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #f05374; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
}

iframe {
    width: 100%;
    margin-top: 20px;
}

img.asukasopas {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    transition: .4s all;
}

img.asukasopas:hover, a:focus img.asukasopas {
    transform: scale(1.05) !important;
}

.asukasopas a {
   display: inline-block;
}

.hairiolomake iframe {
    height: 800px;
}

/*********************
*     SIVUMENU       *
*********************/

.sivumenu {
    background: #f7f7fa;
    margin-bottom: 40px;
}

.sivumenu ul.nav {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
}

.sivumenu li {
    width: 100%;
}
.sivumenu li a {
    white-space: pre-line !important;
}

.sivumenu a.dropdown-toggle {
    width: calc(100% - 40px);
}


.sivumenu .collapse:not(.show) {
    display: block;
}

.sivumenu .dropdown-item {
    white-space: break-spaces;
    background: #f7f7fa;
    padding: 5px 1.5rem;
}

.sivumenu .dropdown-item:hover, .sivumenu a.nav-link:hover  {
    color: #4083e1 !important;
}

.sivumenu .dropdown-item:focus, .sivumenu a.nav-link:focus {
    text-decoration: underline;
    color: #4083e1 !important;
}

.sivumenu a.nav-link, .vuosiluku {
    font-family: 'BalooBhaijaan', serif;
    color: #2f62ab;
    font-size: 1.5em;
}
.sivumenu a.dropdown-item {
    color: #333;
}
/*.sivumenu .menu-plus, .sivumenu button.menu-plus:active, .sivumenu button.menu-plus:focus, .sivumenu #button.menu-plus:hover {
    background: transparent;
    border: 0 solid transparent;
    border-radius: 50%;
    height: auto;
    width: auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0;
    color: #2f62ab !important;
}

.sivumenu .menu-plus {
    margin-top: 10px;
}*/

.sivumenu .menu-plus:before {
    content: '\002B'; /* Unicode character for "plus" sign (+) */
    margin-left: 1px;
    margin-top: 0;
}

.sivumenu .menu-minus:before {
    content: "\2212"; /* Unicode character for "minus" sign (-) */
    margin-left: 1px;
    margin-top: 0;
}

/********************
*     ARTIKKELIT    *
********************/



.artikkelilista {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
}

ul.artikkelit-vuosittain {
    list-style: none;
    padding-inline-start: 0;
    line-height: 160%;
}

.artikkelit-vuosittain li {
    margin-top: .8em;
}

ul.artikkelit-vuosittain a {
    color: #222;
}

.artikkelisivu .sivumenu {
    margin-bottom: 0;
}

.post img {
    width: auto;
}

.alasivun-header.artikkelin-header {
    background-position: center;
}

.sivumenu .artikkelilista .collapse:not(.show) {
    display: none;
}

.artikkelilista button {
    width: 100%;
    height: 100%;
    text-align: left;
}

.card-header {
    padding: 0 0;
}


.vuosiluku {
    font-size: 1.9em;
}



.artikkelisivu .col-md-12.col-lg-4 {
    order: 2;
    margin-top: 20px;
}






.artikkelilista span.glyphicon.glyphicon-plus.subnav-icon {
    color: #fff;
    background: #2f62ab;
    width: 40px;
    border-radius: 50%;
    height: 40px;
    text-align: center;
    font-size: 1.6rem;
}

.artikkelilista .btn-link:hover, .artikkelilista .btn-link:focus {
    text-decoration: none !important;
}

.artikkelilista .glyphicon-plus:before {
    content: "\2212";
    margin-left: 1px;
    margin-top: -1px;
      
}
.artikkelilista .collapsed .glyphicon-plus:before {
    content: "\2b";
        margin-left: 1px;
    margin-top: 0;
}
    
.artikkelilista span.glyphicon.glyphicon-plus.subnav-icon, .sivumenu .menu-plus, .sivumenu .menu-plus {
color: #fff;
    background: #2f62ab;
    border: 2px solid #2f62ab !important;
    width: 30px;
    border-radius: 50%;
    height: 30px;
    text-align: center;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    float: right;
    transition: .2s all;
    margin-top: 9px;
}

.artikkelilista span.glyphicon.glyphicon-plus.subnav-icon:hover, .artikkelilista span.glyphicon.glyphicon-plus.subnav-icon:focus, .artikkelilista button.btn.btn-link:focus,
.artikkelilista button.btn.btn-link:focus span.glyphicon.glyphicon-plus.subnav-icon, .sivumenu button.menu-plus:focus, .sivumenu #button.menu-plus:hover, .sivumenu button.menu-plus:active { 
   background-color: #f7f7fa;
   color: #2f62ab !important;
}

.artikkelilista .accordion a:focus, .artikkelilista .accordion a:active, .artikkelilista .accordion a:hover {
  outline: none !important; 
   box-shadow: none;
   text-decoration: none !important;
   color: #4083e1 !important;
}
.artikkelilista .accordion a:focus {
   text-decoration: underline !important;
}

.artikkelilista .accordion-group .accordion-group {
    padding-left: 20px;
    padding-right: 20px;
    /* padding-top: 20px; */
}
    
.artikkelilista .card {
    border: none;
    background-color: transparent;
}

.artikkelilista .card-body {
    display: flex;
    flex-wrap: wrap;
    padding: 0 25px 1.25rem 25px;
}

.artikkelilista .card-body.block {
    display: block;
}

.artikkelilista .card-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: none;
    background: transparent;
    padding-bottom: 0;
    padding: 0 0;
}
.artikkelilista .accordion h2, .artikkelilista .accordion {
    width: 100%;
}

.artikkelilista button.btn.btn-link {
    width: 100%;
    text-align: left;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 0;
    border: 0 solid transparent;
}

.artikkelilista button:hover  {
    background-color: transparent;
    border: 0 solid transparent;
}



.artikkelilista button:focus {
    background-color: transparent;
}

.artikkelilista #accordion3 h2 button {
    font-family: 'Ubuntu', sans-serif;
    background-color: #222;
    font-weight: 600;
    font-size: 1.4rem;
    color: #fff;
    text-transform: none;
    padding: 3px 2px 3px 17px!important;
    border-radius: 0;
}



.artikkelilista button.btn:focus, .artikkelilista button.btn:active, .artikkelilista button.btn:hover{
    outline: none !important; 
   box-shadow: none;
   text-decoration: none;
   text-transform: none;
}


.wp-block-image figcaption, .kuvateksti {
    text-align: left;
    font-size: .8em;
    color: #6b6b6b;
    margin-bottom: 2em;
}

.single main h2 {
    margin-top: .5em;
    margin-bottom: 0;
}

.single main h2 {
    margin-top: 1.5em;
    margin-bottom: .7em;
    font-size: 1.3em;
}

.single p.paivays {
    margin-bottom: 1.6em;
    font-size: 1.1em;
    font-weight: 500;
}

/********************
*     ALASIVUT      *
********************/
.alasivun-header {
    height: 300px;
    background-size: cover;
    background-position: center;
}
.page main a.button {
    margin-bottom: 1.1em;
}

.home main a.button {
    margin-bottom: 0;
}

.ylaviivat h2 {
    border-top: 1px solid #eaeaea;
    padding-top: 1.4em;
}

.ylaviivat h2.no-border {
    border-top: 0 solid transparent;
    padding-top: 0;
}

.page main .ylaviivat a.button {
    margin-bottom: 0;
}

/**********************
*    HUOLTOYHTIOT     *
**********************/

input#tags {
    border: none;
    background-color: #f7f7fa;
}

input#tags {
    border: none;
    background-color: #f7f7fa;
    border-left: 3px solid #2f62ab;
    border-radius: 0;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
   font-family: 'Montserrat', sans-serif;
   color: #777;
  opacity: 1; /* Firefox */
}

.valiviiva {
    border-top: 1px solid #eee;
    padding-top: 5px;
    margin-top: 45px;
}

.huoltoyhtiot, .asukastoimikunnat {
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
    margin-bottom: 2.1em;
}

.huoltoyhtiot h2, .asukastoimikunnat h2 {
    margin-top: 2.2em;
    margin-bottom: .3em;
    font-size: 1.6em;
}

.huoltoyhtiot h2:first-child, .asukastoimikunnat h2:first-child {
    margin-top: 1em;
}


.huoltoyhtiot h3, .asukastoimikunnat h3 {
    font-size: 1.05em;
    margin-bottom: .3em;
    margin-top: 1.3em;
}

/********************
*   POASTINEN       *
********************/

.row.lehdet {
    margin-top: 70px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
}

.lehtiarkistokuva {
    box-shadow: 0 0 16px rgb(0 0 0 / 10%);
    max-widtH: 250px;
    width: 100%;
    margin: 0 auto;
    display: block;
    transition: all .4s;
}

a:focus .lehtiarkistokuva, .lehtiarkistokuva:hover {
    transform: scale(1.05) !important;
}

p.lehtinumero {
    text-align: center;
    font-weight: 600;
    margin-top: 10px;
    color: #2f62ab;
    margin-bottom: 50px;
    font-size: 1.3em;
}

.lehdet a {
    text-decoration: none !important;
}

.lehdet a:hover, .lehdet a:focus p, .lehdet a:visited:focus p {
    text-decoration: underline !important;
}

/*********************
*     BREADCRUMB     *
*********************/

.breadcrumb {
    background: transparent;
    padding: 0 0;
    font-weight: 500;
    margin-top: 10px;
}

.breadcrumb ul {
    list-style: none;
    width: 100%;
    padding-inline-start: 0;
    margin-block-start: 0;
}

.breadcrumb li {
    display: inline-block;
}

.breadcrumb .separator {
    margin: 0 5px;
}

.breadcrumb a {
    color: #333;
}

/*********************
*   KUVAGALLERIA     *
*********************/

.wrapper.galleria {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.kuvagalleriakuva {
    height: 300px;
    background-size: cover;
    background-position: center;
    transition: .3s all;
    cursor: pointer;
    margin-bottom: 15px;
}

.kuvagalleriakuva:last-child{
    margin-bottom: 0;
}

.kuvagalleriakuva:hover {
    opacity: .7;
}

.light-box {
    position: fixed;
    height: 100%;
    width: 100%;
    background: rgba(255,255,255,0.7);
    z-index: 999;
    top: 0;
    left: 0;
    cursor: pointer;
}

.light-box img {
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
    width: auto;
}
 
.light-box p {
    max-width: 80%;
    max-height: 80%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
}
 
 .light-box img:hover {
    cursor: pointer;
}

/*********************
*  yleiset luokat  *
*********************/

.nosto p, p.nosto {
    font-size: 1.1em;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
}

p.nosto.left {
       text-align: left;
    margin-left: 0;
    max-width: 100%;
    font-weight: 500;
}

.no-paddings {
    padding-top: 0;
    padding-bottom: 0;
}

.padding-bottom-0 {
    padding-bottom: 0;
}

.padding-top-0 {
    padding-top: 0;
}

.padding-top-puolikas {
    padding-top: 60px;
}

.padding-top-mobile-0 {
	padding-top: 0;
}

.center img {
    margin-left: auto;
    margin-right: auto;
}

.kapea {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

input, textarea {
    border: none;
    background-color: #f7f7fa;
    border-left: 3px solid #2f62ab;
    border-radius: 0;
}

.wpcf7 {
    max-width: 100%;
}

select.wpcf7-form-control.wpcf7-select {
    border: none;
    border-left: 3px solid #2f62ab;
    color: #333;
    display: inline-flex;
    padding: .5rem;
    width: 100%;
    resize: none;
    background-color: #f7f7fa;
    border-radius: 0;
}

input:focus, textarea:focus, select:focus {
     border-color: #f05374;
}

input:focus, input[type=submit]:hover, textarea:focus {
    border-color: #2f62ab;
}

.sertifikaatti {
    box-shadow: 0 0 3px rgb(0 0 0 / 20%);
}

img.logokuva {
    max-width: 400px;
    margin-bottom: 40px;
    margin-top: 20px;
}

/*********************
*    ARTIKKELIT      *
*********************/

.artikkeli {
    margin-bottom: 30px;
}

.artikkelikirjoitus {
    height: 100%;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    transition: 0.5s;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    display: flex;
    flex-direction: column;
}

.artikkelikuva {
    height: 200px;
    background-size: cover;
    background-position: center;
    transition: all .5s;
}

.artikkeliteksti {
    padding: 30px 0 25px 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.artikkeliteksti h3 {
    margin-bottom: .3em;
    line-height: 100%;
    margin-top: 0;
    font-size: 1.9em;
    font-family: 'BalooBhaijaan', serif;
    font-weight: 400;
}

.row.artikkelit {
    margin-top: 25px;
}

.artikkelit-vuosittain li {
    margin-top: .8em;
}
.artikkelit-vuosittain li {
    display: flex;
    flex-wrap: wrap;
}

.artikkelit-vuosittain span.paiva-kuukausi {
    width: 100%;
    display: block;
}

.artikkelit-vuosittain li a {
    width: 100%;
}

a.blogilinkki {
    font-weight: 600;
}

p.julkaistu {
    font-size: .8em;
    text-align: left;
    margin-top: 0;
}

p.teksti {
    margin-bottom: 1.2rem;
}

p.alin {
    display: flex;
    margin-top: auto;
    border: 0;
    outline: 0;
    background: transparent;
    overflow: hidden;
    cursor: pointer;
    margin-bottom: 0;
}

.single h1 {
    margin-bottom: 0;
}

/*********************
*    YHTEYSTIEDOT    *
*********************/

/*.henkilo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 50px;
    justify-content: center;
}

.henkilokuva, .henkilotekstit p, .henkilotekstit h2, .henkilotekstit h3 {
    width: 100%;
    text-align: center;
}

.henkilokuva img {
    width: 100%;
    border-radius: 50%;
    max-width: 200px;
    margin: 0 auto;
}*/

.page-id-405 main .content-side ul,
.page-id-923 main .content-side ul{
    padding-inline-start: 1em;
}

/********************
*    HAE ASUNTOA    *
********************/

.hakuohjeet a.accordion-toggle,
.yhteystiedot a.accordion-toggle{
    font-size: 1.3em;
    font-weight: 600;
    display: block;
    text-decoration: none !important;
}

.hakuohjeet a.accordion-toggle:focus,
.yhteystiedot a.accordion-toggle:focus {
    background-color: #fff !important;
}

.hakuohjeet h2,
.yhteystiedot h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9em;
    margin-top: .8em;
}

span.otsikon-nimi {
    width: calc(100% - 50px);
}

.hakuohjeet .accordion,
.yhteystiedot .accordion{
    margin-top: 0;
    width: 100%;
}

.hakuohjeet #accordion1,
.yhteystiedot #accordion1{
    margin-top: 0;
}

.hakuohjeet .accordion-group,
.yhteystiedot .accordion-group{
    margin-bottom: 1em;
}

.hakuohjeet .accordion-group:not(:last-child),
.yhteystiedot .accordion-group:not(:last-child){
    margin-bottom: 1em;
}

.hakuohjeet span.glyphicon.glyphicon-plus.subnav-icon,
.yhteystiedot span.glyphicon.glyphicon-plus.subnav-icon{
    color: #fff;
    background: #2f62ab;
    width: 35px;
    border-radius: 50%;
    height: 35px;
    text-align: center;
    font-size: 1.6rem;
}

.hakuohjeet a.accordion-toggle:focus span.glyphicon.glyphicon-plus.subnav-icon,
.yhteystiedot a.accordion-toggle:focus span.glyphicon.glyphicon-plus.subnav-icon{
    color: #2f62ab;
    background: #fff;
    border: 3px solid #2f62ab;
}
.hakuohjeet .btn-link:hover, .btn-link:focus,
.yhteystiedot .btn-link:hover {
    text-decoration: none;
}

.hakuohjeet .glyphicon-plus:before,
.yhteystiedot .glyphicon-plus:before{
    content: "\2212";
    margin-left: 1px;
    margin-top: -1px;
      
}
.hakuohjeet .collapsed .glyphicon-plus:before,
.yhteystiedot .collapsed .glyphicon-plus:before{
    content: "\2b";
    margin-left: 0;
    margin-top: -1px;
}
    
.hakuohjeet span.glyphicon.glyphicon-plus.subnav-icon,
.yhteystiedot span.glyphicon.glyphicon-plus.subnav-icon{
    color: #fff;
    background: #2f62ab;
    width: 40px;
    border-radius: 50%;
    height: 40px;
    text-align: center;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    float: right;
}

.hakuohjeet .accordion a:focus, .yhteystiedot .accordion a:focus, .accordion a:active, .accordion a:hover {
    outline: none !important; 
   box-shadow: none;
   text-decoration: none !important;
}

.hakuohjeet .accordion h2:active, .yhteystiedot .accordion h2:active, .accordion h2:hover, .accordion h2:focus {
    text-decoration: none;
    outline: none !important; 
}

.hakuohjeet .accordion-group .accordion-group,
.yhteystiedot .accordion-group .accordion-group{
    padding-left: 20px;
    padding-right: 20px;
    /* padding-top: 20px; */
}
    
.hakuohjeet .card,
.yhteystiedot .card{
    border: none;
    background-color: transparent;
}

.hakuohjeet .card-body,
.yhteystiedot .card-body{
    display: flex;
    flex-wrap: wrap;
    padding: 0 25px 1.25rem 25px;
}

.hakuohjeet .card-body.block,
.yhteystiedot .card-body.block{
    display: block;
}

.hakuohjeet .card-header,
.yhteystiedot .card-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: none;
    background: transparent;
    padding-bottom: 0;
    padding: .75rem 25px 0 25px;
}
.hakuohjeet .accordion h2, .accordion,
.yhteystiedot .accordion h2, .accordion{
    width: 100%;
}

.hakuohjeet #accordion button.btn.btn-link,
.yhteystiedot #accordion button.btn.btn-link{
    width: 100%;
    text-align: left;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 0;
    border: 0 solid transparent;
}

.hakuohjeet #accordion button:hover,
.yhteystiedot #accordion button:hover {
    background-color: transparent;
    border: 0 solid transparent;
}

.hakuohjeet #accordion h2 button,
.yhteystiedot #accordion h2 button{
    font-size: 1.1rem;
    color: #333;
}

.hakuohjeet #accordion h2:after,
.yhteystiedot #accordion h2:after{
    content: none;
}

.hakuohjeet #accordion button:focus,
.yhteystiedot #accordion button:focus{
    background-color: transparent;
}

.hakuohjeet .tuoteryhmat #accordion h2 button,
.yhteystiedot .tuoteryhmat #accordion h2 button{
    font-family: 'Ubuntu', sans-serif;
    background-color: #222;
    font-weight: 600;
    font-size: 1.4rem;
    color: #fff;
    text-transform: none;
    padding: 3px 2px 3px 17px!important;
    border-radius: 0;
}


.hakuohjeet .tuoteryhmat span.glyphicon.glyphicon-plus.subnav-icon,
.yhteystiedot .tuoteryhmat span.glyphicon.glyphicon-plus.subnav-icon{
    background-color: transparent;
}

.hakuohjeet #accordion button.btn:focus, .hakuohjeet #accordion button.btn:active, .hakuohjeet #accordion button.btn:hover{
    outline: none !important; 
   box-shadow: none;
   text-decoration: none;
   text-transform: none;
}

.hakuohjeet .accordion h2,
.yhteystiedot .accordion h2 {
    background: #f3f3f5;
    padding: 15px 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-size: 1em;
    text-transform: none;
}

.hakuohjeet .accordion h3,
.yhteystiedot .accordion h3 {
    font-size: 1.2em;
}

.hakuohjeet .accordion h3:before {
    content: "";
    border-color: transparent #2f62ab;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    left: -1em;
    top: 1.1em;
    position: relative;
}

.hakuohjeet .accordion h3:before {
    content: "";
    border-color: transparent #2f62ab;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    left: -.9em;
    top: 1em;
    position: relative;
    font-size: .8em;
}

.hakuohjeet .accordion-sisalto,
.yhteystiedot .accordion-sisalto{
    padding: 0 0 10px 0;
    border-bottom: 1px solid #eee;
}

.hakuohjeet .accordion-sisalto a {
    color: #2f62ab;
}



.yhteystiedot .accordion-sisalto:last-of-type() {
    padding: 0 0 10px 0;
    border-bottom: 0 solid transparent;
}

/*********************
*    HINNASTO        *
*********************/

table.korvaushinnasto {
    margin-top: 2em;
}

.korvaushinnasto tr {
    border-bottom: 1px solid #eee;
    vertical-align: top;
}

.korvaushinnasto tr td{
    padding: 10px 0;
}


.korvaushinnasto thead th {
    padding: 15px 20px;
    color: #fff;
    font-weight: 600;
    background: #2f62ab;
}
.korvaushinnasto tr td {
    padding: 10px 10px 10px 20px;
}

.korvaushinnasto tr td.taulukon-otsikko {
    font-weight: 600;
    padding: 12px 0 12px 20px;
    font-size: 1.05em;
    background: #f7f7fa;
}

.korvaushinnasto ul {
    margin-bottom: 0 !important;
}

.korvaushinnasto thead th:nth-child(2) {
    float: right;
}

.korvaushinnasto thead {
    background-color: #2f62ab;
}

.korvaushinnasto tr td:nth-child(2) {
    float: right;
    text-align: right;
}

/*********************
*   VASTUUNJAKO      *
*********************/

table.vastuunjakotaulukko {
    margin-top: 2em;
}

.vastuunjakotaulukko tr {
    border-bottom: 1px solid #eee;
    vertical-align: top;
}

.vastuunjakotaulukko tr td{
    padding: 10px 0;
}


.vastuunjakotaulukko thead th {
    padding: 15px 20px;
    color: #fff;
    font-weight: 600;
    background: #2f62ab;
}
.vastuunjakotaulukko tr td {
    padding: 10px 15px 10px 15px;
}

.vastuunjakotaulukko tr td:nth-child(3) {
    padding-left: 20px;
}

.vastuunjakotaulukko tr td.taulukon-otsikko {
    font-weight: 600;
    padding: 12px 0 12px 20px;
    font-size: 1.05em;
    background: #f7f7fa;
}

.vastuunjakotaulukko ul {
    margin-bottom: 0 !important;
}

/*.vastuunjakotaulukko thead th:nth-child(2) {
    float: right;
}*/

.vastuunjakotaulukko thead {
    background-color: #2f62ab;
}

.vastuunjakotaulukko tr td:nth-child(2) {
    /*float: right;*/
    text-align: center;
    font-weight: 700;
}

/*********************
*  VAIN MALLIULKASSA *
*********************/

.text h2, .text p {
    max-width: 700px;
}

.page-header {
    max-height: 500px;
}

.home .header-image {
    max-height: 700px;
}

.ylapalkki {
    background-color: #fff;
}

a.nav-link {
    color: #333;
    text-transform: none;
}

a.nav-link:hover {
    color: #2f62ab;
}

#menu-valikko-fi li,
#menu-valikko-en li{
    border-bottom: 1px solid #f7f7fa;
    padding: 5px 0 5px 0;
}

#menu-valikko-fi li.menu-item li, #menu-valikko-en li.menu-item li {
    border-bottom: 0 solid transparent;
    padding: 0 0;
}

.ylapalkki button.menu-plus {
    margin-top: 7px;
}

.ylapalkki.shrink {
    box-shadow: 0 0 4px rgb(0 0 0 / 10%);
}

.ylapalkki button.menu-plus:focus, .ylapalkki button.menu-plus:hover {
    background-color: #fff;
    border: 2px solid #2f62ab;
    color: #2f62ab !important;
}

.button, .button:visited, a.button, a.button:visited {
background-color: #f05374;
    border: 2px solid #f05374;
    padding: 9px 25px;
    color: #fff;
    display: inline-block;
    font-size: 1em;
    font-weight: 500;
    /* font-family: 'Lato', sans-serif; */
    font-family: 'Montserrat', sans-serif;
    text-transform: none;
    width: auto;
    text-decoration: none;
    text-align: center;
    text-indent: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    transition: all .2s ease-in-out;
    border-radius: 5px;
}

.button:hover, .button:visited:hover, a.button:hover, a.button:visited:hover, .button:focus, button:focus, a.button:focus  {
    text-decoration: none;
    background-color: #2f62ab;
    color: #fff !important;
    border-color: #2f62ab;
}

/**********************
*     GDPR PLUGIN     *
**********************/
.cli-tab-footer .wt-cli-privacy-accept-btn {
    color: rgb(255, 255, 255);
    background-color: rgb(240, 83, 116);
}

.cli-switch input:checked + .cli-slider {
    background-color: #2f62ab;
}

/**********************
*     SMASH BALLOON   *
**********************/
.ff-sc-label2 .ff-instagram .ff-icon:before {
    border-color: transparent #E1306C transparent transparent !important;
}

/**********************
*      FOOTER         *
**********************/

footer {
    background-color: #333;
}

footer h2, .home footer h2 {
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    font-size: 1.6em;
    margin-bottom: .6em;
    margin-top: 0;
}

footer h2, .home footer h2  {
    margin-top: 20px;
}

footer a, footer a:visited {
    color: #fff;
}

footer a:hover, footer a:focus {
    color: #fff !important;
}

footer img {
    max-width: 130px !important;
    margin-left: auto;
    margin-right: auto;
}

.alaosa p {
    text-align: center;
    margin-bottom: .4em;
}
.col.alaosa {
    margin-top: 70px;
}

p.copyright {
    font-size: .8em;
}

/* Search */

button.btn.btn-primary.search-button {
    color: #323232;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 transparent !important;
    font-size: .5em;
    padding: 0 0;
	background-color: #2f62ab !important;
    padding: 6px;
    color: #fff;
}

button.btn.btn-primary.search-button:focus {
	color: #fff !important;
	background-color: #f05374 !important;
}


.search-form {
    order: 2;
}

.searchBarContainer {
border: none;
height: 2.5rem;
background-color: #fff;
box-sizing: border-box;
    width: 100%;
    max-width: 100%;
display: flex; /* <===== the most iportant line in this code */
    border-radius: 50px;
    border: 2px solid #0a613b;
}

.searchBarContainer .searchBox {
    flex : 1; /*  <===== the most iportant line in this code */
    font-size: 14px;
    color: #000;
    border: none;
    padding-left: 15px;
    border-radius: 50px;

}

.btn-search {
    border: none;
    background-color: transparent;
    padding-right: 15px;
    padding-left: 12px;
    background: #0a613b;
    border-bottom-right-radius: 50px;
    border-top-right-radius: 50px;
    color: #fff;
    margin-right: -1px;
    
}


.modal-dialog {
    max-width: 600px;
}

.modal-content {
    background: transparent;
    border: 0 solid transparent;
}

.modal-body h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 0.2em;
    font-size: 3em;
    font-family: 'BalooBhaijaan', serif;
    font-weight: 200;
}

.modal-dialog .searchBarContainer {
    border: none;
    height: 2.7rem;
    background-color: #fff;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: flex;
    border-radius: 0;
    border-radius: 50px;
}

#searchModal {
    background: rgba(0,0,0,.3);
    z-index: 9999999;
}

.modal-dialog .btn-search {
    border: none;
    background-color: transparent;
    padding-right: 12px;
    padding-left: 12px;
    background: #f05374;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-radius: 0;
    color: #fff;
    margin-right: 0;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    margin-right: -1px;
    border: 1px solid #f05374;
}

.modal-dialog .btn-search:hover {
	border-color: #f05374;
}


@media only screen and (min-width: 481px) {
	.single h2 {
        font-size: 1.5rem;
    }
    .absolutet h1 {
        top: 80px;
    }
}

@media only screen and (min-width: 576px) {

}

@media only screen and (min-width: 768px) {
    /* Animaatio */

    
    main .row, .header-image .row {
        opacity:1;
    }
    .page-template-page-artikkelit main .row, .single main .row, main .row.kuvagalleria, main .row.henkilot, .no-animation .row {
        opacity: 1;
    }
    .content-side h1 {
        font-size: 3.1em;
    }
    
    h2.iso-otsikko {
        font-size: 2.8em;
    }
    .home h2 {
        font-size: 3.2em;
    }

    .etusivun-header {
        height: 400px;
    }
    .absolutet h1 {
        font-size: 2.7em;
        top: 250px;
    }
        .kuvagalleriakuva, .kuvagalleriakuva:last-child {
        height: 250px;
        margin-bottom: 0;
    }
    .henkilotekstit {
        width: 50%;
    }
    .henkilotekstit p, .henkilotekstit h2, .henkilotekstit h3 {
        text-align: left;
    }
    .henkilokuva {
        padding-right: 30px;
        width: calc(50% - 30px);
    }
    .henkilokuva img {
        float: right;
    }
}

@media only screen and (min-width: 992px) {
    #menu-valikko-fi li,
    #menu-valikko-en li{
        border-bottom: 0 solid transparent;
    }
	
	#menu-valikko-fi li:last-child, #menu-valikko-en li:last-child {
		padding-top: 2px;
	}

    .ylapalkki button.menu-plus:focus, .ylapalkki button.menu-plus:hover {
        background-color: #fff;
        border: 0 solid transparent;
        color: #2f62ab !important;
    }
    .ylapalkki button.menu-plus {
        margin-top: 5px;
    }
    .logo img {
        height: 50px;
    }

    li.lang-item {
        border-left: 1px solid #ccc;
        padding-left: 10px;
        margin-left: 10px;
    }
    main {
        padding-top: 20px;
    }
    .container-header {
        padding-bottom: 90px;
    }
    .alasivun-header {
        height: 400px;
    }
    .ylapalkki ul.nav {
        padding-top: 0;
    }
    .ylapalkki a.nav-link {
      display: inline;
      position: relative;
      overflow: hidden;
      font-size: 1em;
    }
    .ylapalkki a.nav-link:after, .ylapalkki li.menu-item a:after {
      content: "";
      position: absolute;
      z-index: -1;
      right: 0;
      width: 0;
      bottom: -5px;
      background: #2f62ab;
      height: 2px;
      transition-property: width;
      transition-duration: 0.3s;
      transition-timing-function: ease-out;
    }
    
    .nappirivi a.button {
        margin-left: 13px;
        margin-right: 13px;
    }

    
    .ylapalkki li.menu-item-has-children a:after {
        display: block;
        height: 2px;
    }
    
    .dropdown-toggle::after {
        border-top: 0;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
    }
    
    .sivumenu {
        margin-bottom: 0;
    } 
    .ylapalkki a.nav-link:hover:after,
    .ylapalkki a.nav-link:focus:after,
    .ylapalkki a.nav-link:active:after {
      left: 0;
      right: auto;
      width: 100%;
    }
    .ylapalkki .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.1rem;
        padding-left: 1.1rem;
    }
    
    ul#menu-valikko-fi .menu-plus, ul#menu-valikko-en .menu-plus {
            height: 24px;
        width: 30px;
        background: transparent;
        color: #2f62ab !important;
    }
    
    .ylapalkki .menu-plus:before {
        font-family: 'Font Awesome 5 Free';
        content: '\f078';
        margin-left: 10px;
        font-weight: 600;
        font-size: .7em;
        color: #463d33;
        margin-top: -2px;
    }

    
    .ylapalkki .dropdown-item {
        padding: 10px 20px;
    }
    
    .ylapalkki a.dropdown-item {
        color: #16181b;
    }
    
    .ylapalkki a.dropdown-item:hover {
        color: #2f62ab;
    }
    
    .ylapalkki ul.dropdown-menu {
        padding-top: 10px;
    }
    .absolutet h1, .absolutet .nappirivi {
        position: absolute;
    }
    
    .absolutet h1 {
    z-index: 99;
    text-align: center;
    width: 90%;
    /* margin-left: auto; */
    /* margin-right: auto; */
    transform: translateX(-50%);
    bottom: 55px;
    left: 50%;
    color: #fff;
    font-size: 3.5em;
    top: auto;
}

    .nappirivi {
        position: absolute;
        bottom: -45px;
        display: flex;
        flex-wrap: wrap;
        /*align-items: center;*/
        justify-content: center;
        width: calc(100% - 50px);
    }
    /* Etusivu */
    .home .nappirivi {
        bottom: -60px;
    }
    .etusivun-header {
    height: 600px;
    }
    .nappirivi .button {
        margin: 0 13px;
        display: flex;
        align-items: center;
        font-size: 1em;
        padding: 13px 23px;
    }
    .home main a.button  {
        max-width: 28%;
    }
    .nappirivi a.button {
        width: 25%;
    }
    .home main .container:first-child {
        padding-top: 90px;
    }
    
    iframe {
            margin-top: 0;
            height: 400px;
    }
    .home iframe {
        height: 315px;
    }
    .home main .container:first-child {
        padding-bottom: 90px;
    }
    .padding-top-puolikas.padding-top-mobile-0 {
        padding-top: 40px;
    }

    .text {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .background {
        height: auto;
    }
    .background, .text, .kuva, .teksti {
        order: inherit;
    }
    .teksti {
        margin-top: 0;
    }
	.laatikko {
	    margin-bottom: 0;
	}
	.artikkelit .col-lg-4 {
        padding-right: 15px;
        padding-left: 15px;
    }
    .kuvagalleriakuva, .kuvagalleriakuva:last-child {
        height: 350px;
    }
    
    /*************
    *  SIVUMENU  *
    *************/
    .sivumenu .menu-plus {
        display: block;
    }
    
    .hakuohjeet h2, .yhteystiedot h2 {
        font-size: 1.1em;
    }

    footer img {
        margin-left: 0;
        margin-right: auto;
    }
    footer h2, .home footer h2  {
        margin-top: 0;
    }
    .artikkelisivu .col-md-12.col-lg-4 {
        order: inherit;
        margin-top: 0;
    }


}

@media only screen and (min-width: 1200px) {
    .logo img {
        height: 50px;
    }
    .ylapalkki .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.3rem;
        padding-left: 1.3rem;
    }
    .ylapalkki a.nav-link {
      font-size: 1.1em;
    }
	.artikkelit-vuosittain span.paiva-kuukausi {
        width: 18%;
	}
	.artikkelit-vuosittain li a {
        width: 82%;
    }
}


@media only screen and (min-width: 1800px) {
    .container-fluid.wide .kuvagalleriakuva {
        height: 450px;
    }
}

/*@media only screen and (max-width: 600px) {
    .vastuunjakotaulukko {
    	overflow: scroll;
        overflow-y:hidden;
    }
}*/