/*
 Theme Name:   Valosto
 Theme URI:    http://valosto.com
 Description:  Twenty Seventeen Child Theme
 Author:       Petri Vuorio
 Author URI:   http://eteinen.net
 Template:     twentyseventeen
 Version:      1.0.3
 Text Domain:  valosto 
*/


/* open-sans-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('assets/fonts/open-sans-v40-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-300italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('assets/fonts/open-sans-v40-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/open-sans-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('assets/fonts/open-sans-v40-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/open-sans-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('assets/fonts/open-sans-v40-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    --link-color: #2f80c4;
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    margin: 0 0 .5em;
}
p {
    margin-bottom: 0.5em;
    padding-top: 0.5em;
}

.entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5 {
    padding-top: 0.5em;
}
body, button, input, select, textarea {
    color: #333;
    letter-spacing: 0 !important;
    font-family: "Open Sans", sans-serif;
    font-size: 1.0rem;
    line-height: 1.5;
}

a, .entry-content a, .entry-summary a, .widget a, .site-footer .widget-area a, .posts-navigation a, .widget_authors a strong {
    color: var(--link-color);
    box-shadow: none;
    -webkit-box-shadow: none;
}
a:hover, a:active, .entry-content a:focus, .entry-content a:hover, .entry-summary a:focus, .entry-summary a:hover, .widget a:focus, .widget a:hover, .posts-navigation a:focus, .posts-navigation a:hover, .comment-metadata a:focus, .comment-metadata a:hover, .comment-metadata a.comment-edit-link:focus, .comment-metadata a.comment-edit-link:hover, .comment-reply-link:focus, .comment-reply-link:hover, .widget_authors a:focus strong, .widget_authors a:hover strong, .entry-title a:focus, .entry-title a:hover, .entry-meta a:focus, .entry-meta a:hover, .page-links a:focus .page-number, .page-links a:hover .page-number, .entry-footer a:focus, .entry-footer a:hover, .entry-footer .cat-links a:focus, .entry-footer .cat-links a:hover, .entry-footer .tags-links a:focus, .entry-footer .tags-links a:hover, .post-navigation a:focus, .post-navigation a:hover, .pagination a:not(.prev):not(.next):focus, .pagination a:not(.prev):not(.next):hover, .comments-pagination a:not(.prev):not(.next):focus, .comments-pagination a:not(.prev):not(.next):hover, .logged-in-as a:focus, .logged-in-as a:hover, a:focus .nav-title, a:hover .nav-title, .edit-link a:focus, .edit-link a:hover, .site-info a:focus, .site-info a:hover, .widget .widget-title a:focus, .widget .widget-title a:hover, .widget ul li a:focus, .widget ul li a:hover {
    color: var(--link-color);
    -webkit-box-shadow: none;
    box-shadow: none !important;
    text-decoration: underline;
}

.site-footer a {
    color: #fff;
    text-decoration: underline;
}
.site-footer a:hover,
.site-footer a:focus {
    color: #fff;
}
.site-footer .widget-area {
    padding-top: 0;
    padding-bottom: 0;
}
.page .panel-content .entry-title, .page-title, body.page:not(.twentyseventeen-front-page) .entry-title {
    letter-spacing: 0.05em;
}
.valosto-panel.has-post-thumbnail  {
    min-height: 500px;
    background-position: center;
    background-size: cover;
}
.valosto-panel.has-post-thumbnail .panel-content .entry-content a img {
    box-shadow: none;
}
.excerpt > p {
    display: inline;
}
.excerpt {
    margin-bottom: 3em;
    margin-top: 1em;
}
.wp-caption {
    font-size: 0.75rem;
    color: #999;
}
.page-header,
.single .entry-header {
    margin-bottom: 0em !important;
    padding-bottom: 1em;
}

.custom-header {
    /*
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
    */
    
}
.scrolling-header {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
}
.scrolling-header > div {
    width: 4800px;
    height: 600px;
    background-position: top;
    background-attachment: scroll;
    background-repeat: repeat-x;
    animation: slide 120s linear infinite;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    display: none;
    /* animation-play-state: paused; */
    transform: translateZ(0);
}
@keyframes slide{
  0%{
    transform: translate3d(0, 0, 0);
  }
  100%{
    transform: translate3d(-1600px, 0, 0);
  }
}
.panel-content .wrap {
    padding-bottom: clamp(40px, 4vw, 70px);
    padding-top: clamp(40px, 4vw, 70px);
}
.page .panel-content h1.entry-title, h1.page-title, body.page:not(.twentyseventeen-front-page) h1.entry-title,
body.single h1.entry-title {
    color: #222;
    font-size: 2.0rem;
    font-weight: 100;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.2;
}

.page .panel-content .entry-title, .page-title, body.page:not(.twentyseventeen-front-page) .entry-title {
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 100;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.2;
}
.entry-title a {
    margin-left: 0;
}
.blog .entry-header .entry-title,
.archive .entry-header .entry-title,
.category .entry-header .entry-title,
.post-type-archive-ilmoitus .entry-header .entry-title,
body.page.page-template-page-imoitukset .entry-header .entry-title{
    text-transform: none;
    font-weight: bold;
    color: #000;
    font-size: 1.625rem;
    letter-spacing: 0em;
}
.front-right {
    margin-top: 50px;
}
.panel-content .widget:last-child {
    padding-bottom: 0;
    
}

@media screen and (max-width: 1024px) {
    .page .panel-content h1.entry-title, h1.page-title, body.page:not(.twentyseventeen-front-page) h1.entry-title,
    body.single h1.entry-title,
    .page .panel-content .entry-title, .page-title, body.page:not(.twentyseventeen-front-page) .entry-title,
    .blog .entry-header .entry-title,
    .archive .entry-header .entry-title,
    .category .entry-header .entry-title,
    .post-type-archive-ilmoitus .entry-header .entry-title,
    body.page.page-template-page-imoitukset .entry-header .entry-title {
        font-size: 1.4rem;
    }
    
}



.entry-header .entry-title {
    margin-bottom: inherit;
}
.panel-content .entry-header {
    margin-bottom: 1.5em !important;
}
#panel2, #panel4 {
    background-color: #f5f6f8;
}
a.button {
    display: inline-block;
    padding: 0.6em 1.4em;
    background: transparent;
    border: 2px solid var(--link-color);
    color: var(--link-color);
    font-weight: bold;
    text-decoration: none !important;
    box-shadow: none !important;
    border-radius: 0;
    text-transform: uppercase;
    font-size: 1.1rem;
    transition: transform 0.2s !important;
    will-change: transform, opacity, border;
}
.home .has-post-thumbnail a.button {
    border: 2px solid #444;
    color: #444 !important;
}

a.button:hover {
    text-decoration: none;
    transform: scale(1.05);
}
:not(.mejs-button)>button:hover, :not(.mejs-button)>button:focus, input[type=button]:hover, input[type=button]:focus, input[type=submit]:hover, input[type=submit]:focus {
    background: transparent;
}
body:not(.home) #primary {
    margin-bottom: 70px;
}
.wrap.no-sidebar,
.search .site-content .wrap {
    max-width: 1100px;
}
.search:not(.has-sidebar) #primary article,
.search .navigation.pagination {
    float: none;
    width: 100%;
}
.pagination, .comments-pagination {
    border-top: 2px solid #d2d2d2;
}
.wrap.no-sidebar #primary {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}
body.page:not(.has-sidebar):not(.home) .site-content .wrap,
.single-valaistusartikkeli .site-content .wrap {
    max-width: 1000px;
}
body.page:not(.has-sidebar) #primary {
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
}
.entry-content .more-link:before {
    display: none;
}
.clr {
    clear: both;
}
.luelehti {
    text-align: center;
    padding-top: 5%;
}
h2.widget-title,
h3.widget-title,
*[class*="wp-block"] h2, 
*[class*="wp-block"]  h3,
h2 {
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 300 !important;
    letter-spacing: 0em;
}
.entry-content h2,
.entry-content h3 {
    text-transform: none;
}
h2.widget-title,
h3.widget-title {
    margin-bottom: 0.5em;
}
.widget > div h2, 
.widget > div h3 {
    padding-top: 0;
    margin-top: 1em;
}
h2, .home.blog .entry-title {
    color: #000;
    font-size: clamp(1.5rem, 1.0rem + 1vw, 2.5rem);
    font-weight: bold;
}
.ajankohtaista .brick {
    display: block;
    width: 100%;
    background: #eff0f2;
    /* background: #eff0f2; */
    overflow: hidden;
    /* margin-right: 1%;*/
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    /* flex: 0 1 auto; */
    /* flex: auto; */
    transition: all .2s;
    text-decoration: none;
}
.ajankohtaista .bg {
    background-color: #fff;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    top: 0;
    min-height: 170px;
    max-height: 230px;
    height: 230px;
    height: 18vw;
    width: 100%;
    text-align: center;
    opacity: 0.9;
    display: block;
}
.ajankohtaista .type-Tausta.height-tall {
    max-height: 270px;
    height: 270px;
    height: 22vw;
    padding-top: 100%;
}
.ajankohtaista .type-Tausta.height-high {
    max-height: 250px;
    height: 250px;
    height: 20vw;
}
.ajankohtaista .type-Tausta.height-medium {
    max-height: 220px;
    height: 220px;
    height: 17vw;
}
.ajankohtaista .type-Tausta.height-low {
    max-height: 190px;
    height: 190px;
    height: 14vw;
}
.ajankohtaista .type-Tausta.height-slim {
    max-height: 160px;
    height: 160px;
    height: 12vw;
}
.ajankohtaista .bg img {
    max-height: 170px;
    max-width: 90%;
}
.ajankohtaista .img {
    text-align: center;
    padding: 20px !important;
    background: #fff;
    position: relative;
}
.ajankohtaista .img img {
    width: 100%;
}
.ajankohtaista .bg:after, 
.ajankohtaista .img:after {
    content: " ";
    background: rgba(0, 2, 4, 0.04);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    bottom: 0;
}
.ajankohtaista .meta {
    min-height: 50px;
    position: relative;
    width: 100%;
    display: block;
    padding: 1em !important;
    color: #333;
}
.ajankohtaista .meta time {
    color: #666;
    font-weight: normal;
}
.ajankohtaista .bg img.vertical {
    margin-top: 6%;
}
.ajankohtaista .bg img.horizontal {
    margin-top: 10%;
}
.ajankohtaista .entry-content:hover {
    background-color: #e5e5e5;
}
.ajankohtaista .entry-content:hover .bg {
    opacity: 1;
}
.ajankohtaista .varjo {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(30deg, rgba(30,30,30,0.6), rgba(0,0,0,0) 90%);
}
.ajankohtaista .entry-content .title {
    color: #333;
    display: block;
    margin: 0;
    text-transform: initial;
    font-size: 1.1rem;
}

.ajankohtaista .meta.bg-dark,
.article-grid .entry-content.bg-dark {
    background-color: #444;
}
.ajankohtaista .meta.bg-black,
.article-grid .entry-content.bg-black {
    background-color: #222;
}
.ajankohtaista .meta.bg-dark .title,
.ajankohtaista .meta.bg-black .title,
.article-grid .bg-dark .title,
.article-grid .bg-black .title {
    color: #fff;
}

.ajankohtaista .meta.bg-dark time,
.ajankohtaista .meta.bg-black time,
.article-grid .bg-dark .meta time,
.article-grid .bg-black .meta time {
    color: #ccc;
}
.ajankohtaista .articles {
    /*
    display: flex;
    flex-wrap: wrap;
    margin-right: -2%;
    */
    /*
      display: flex;
  flex-flow: row wrap;
    */
  /* margin-left: -8px;  */
  width: 100%;
}
.lisaa {
    margin-top: 3%;
    text-align: center;
}
.site-description {
    font-weight: 300;
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.2;
}
/*
.site-branding {
    float: left;
}*/
.site-branding:after {
    display: table;
    content: "";
    clear: both;
}
.site-branding > .wrap {
    max-width: 100%;
}
.site-branding a {
    display: block;
    color: #fff;
}
.site-footer .wrap {
    padding-bottom: 70px;
    padding-top: 70px;
}
.site-footer em:first-letter {
  font-size: 9rem;
  line-height: 6rem;
  padding-top: 1rem;
  padding-right: 8px;
  margin-left: -3px;
  
}
.site-footer em,
.valosto-panel em {
    font-size: 1.3rem;
    font-weight: 300;
    margin-bottom: 3%;
    padding: 0;
    letter-spacing: 0.05em;
    font-style: normal;
}

.navigation-top .wrap {
    max-width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    padding-top: 0;
    display: flex;
}
.main-navigation > div > ul {
    text-align: center;
}
.main-navigation a:hover {
    color: #ccc !important;
}
.wrap {
    padding-left: clamp(20px, 3vw, 40px);
    padding-right: clamp(20px, 3vw, 40px);
}

.navigation-top {
    background: transparent;
    border-top: none;
    border-bottom: none;
    z-index: 10;
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    
}
.navigation-top a {
    color: #eee;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.5em;
}
.main-navigation ul ul a {
    padding: 0.5em;
}
.main-navigation ul ul.sub-menu {
    padding-bottom: 0.5em;
}
.navigation-top .current-menu-item > a, 
.navigation-top .current_page_item > a,
.navigation-top a:hover {
    color: #fff;
    text-decoration: none;
}
.main-navigation ul ul {
    border: none;
}
.main-navigation ul ul a {
    color: #333;
}
button.dropdown-toggle svg.icon {
    fill: #000;
}
.navigation-top ul li  ul .current-menu-item a {

    color: #000;
}
.navigation-top.site-navigation-fixed {
    /* background: #23282d; */
    background: #000;
}

.navigation-header {
    position: relative;
    z-index: 10;
    text-align: right;
    padding-top: 1em;
    font-size: 0.9rem;
}
.custom-header:after,
.navigation-header:after {
    display: table;
    content: "";
    clear: both;
}
.navigation-header ul {
    list-style: none;
}
.navigation-header ul li {
    display: inline-block;
}
.navigation-header ul li a {
    padding: 1em;
    display: inline-block;
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.entry-content li {
    margin-bottom: 0.3em;
}
button .icon {
    fill: #fff;
}
.menu-toggle {
    color: #fff;
    margin-left: 0;
    z-index: 10;
    position: absolute;
    margin: 1.0em;
}

.main-navigation .menu-toggle:hover, .main-navigation .menu-toggle:focus {
    background: transparent;
}
.main-navigation.toggled-on .menu-toggle {
    color: #000;
}

.main-navigation.toggled-on > div > ul {
    padding-top: 100px;
    padding-bottom: 2em;
    border-bottom: 1px solid #666;
}
.main-navigation.toggled-on a:hover {
    color: var(--link-color) !important;
}
.main-navigation > div {
    position: absolute; 
    top: 0;
    width: 100%;
    left: 0;
    box-shadow: 0 0 50px #000;
}

@media screen and (min-width: 48em) {
    .js .main-navigation ul, .js .main-navigation ul ul, .js .main-navigation > div > ul {
        display: none;
    }
    .js .menu-toggle, .js .dropdown-toggle {
        display: block;
    }
    .main-navigation > div > ul {
        border-top: none;
        padding: 0.75em 1.695em;
        background: #fff;
    }
    .main-navigation li {
        border: 0;
        display: block;
        border-bottom: 1px solid #eee;
    }
    .main-navigation ul ul.toggled-on {
        display: block;
    }
    .main-navigation ul ul,
    .main-navigation ul li:hover > ul {
        position: relative;
        padding: 0 0 0.5em 1.5em;
        left: auto;
        top: auto;
        
    }
    .main-navigation .menu-item-has-children > a > .icon, .main-navigation .page_item_has_children > a > .icon {
        display: none;
    }
    .main-navigation ul li.menu-item-has-children:before, 
    .main-navigation ul li.menu-item-has-children:after, 
    .main-navigation ul li.page_item_has_children:before, 
    .main-navigation ul li.page_item_has_children:after,
    .main-navigation ul li.menu-item-has-children:focus:before, 
    .main-navigation ul li.menu-item-has-children:focus:after,
    .main-navigation ul li.menu-item-has-children:hover:before, 
    .main-navigation ul li.menu-item-has-children:hover:after {
        display: none;
    }
    .main-navigation li li.focus > a, .main-navigation li li:focus > a, .main-navigation li li:hover > a, .main-navigation li li a:hover, .main-navigation li li a:focus, .main-navigation li li.current_page_item a:hover, .main-navigation li li.current-menu-item a:hover, .main-navigation li li.current_page_item a:focus, .main-navigation li li.current-menu-item a:focus {
        color: inherit;
    }
    .main-navigation ul li:hover > ul, 
    .main-navigation ul li.focus > ul,
    .main-navigation ul li:focus-within > ul{
        left: 0em;
        padding: 8px;
    }
}
.has-header-image.twentyseventeen-front-page .custom-header, .has-header-video.twentyseventeen-front-page .custom-header, .has-header-image.home.blog .custom-header, .has-header-video.home.blog .custom-header {
    display: block;
    height: auto;
    width: 100%;
}
.main-navigation.toggled-on a {
    color: #333;
    text-align: left;
}
.main-navigation ul li.menu-item-has-children:before, .main-navigation ul li.menu-item-has-children:after, .main-navigation ul li.page_item_has_children:before, .main-navigation ul li.page_item_has_children:after {
    right: auto;
    left: 2em;
}
.custom-header {
    margin-bottom: 0 !important;
}

.custom-header-media {
    height: auto !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    display: block !important;
}
.custom-header-media video {
    display: block;
    height: auto;
    min-width: 100%;
    max-width: 1000%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    
}
.custom-header-media img {
    /* position: fixed !important; */
}
.custom-header-media:before {
    background: none;
    filter: none;
}
.wp-custom-header-video {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
}
.site-header {
    background-color: #001e33;
}
.site-header:before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.3) 100%); 
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 2;
}
.site-title {
    line-height: 0;
}
.site-title svg {
    width: auto !important;
    height: 130px !important;
}

.home .site-title svg, 
.site-title svg {
    width: 100% !important;
    height: auto !important;
    max-width: 250px;
}
.site-branding {
   margin-bottom: 0px !important;
   padding-bottom: 5px;
   padding-top: 5px;
   margin-top: 0;
}
.entry-header .entry-title {
    text-transform: uppercase;
}
.search .entry-header .entry-title {
    text-transform: none;
    font-weight: bold;
    font-size: 1.2rem;
}
.search .entry-header .content-type {
    color: #888;
    text-transform: uppercase;
}
.search .entry-header {
    margin-bottom: 0px;
    padding-bottom: 0 !important;
}
.search .site-main > article {
    padding-bottom: 20px !important;
}
.blog article,
article.ilmoitus {
    /* border-top: 1px solid #ccc; */
    padding-top: 1em;
    padding-bottom: 5% !important;
}

.blog .page-header {
    padding: 0;
}
.addtoany_share_save_container {
    text-align: center;
}
.addtoany_list a > span {
    padding: 5px;
    border-radius: 50% !important;
}
h1.entry-title,
h2.entry-title {
    font-weight: 400;
}
.valosto-panel {
    border-top: none !important;
}
.site-footer {
    border-top: none;
    background: #f2f2f2;
    margin-top: 0;
}
.home .site-footer {
    background: transparent;
}
.entry-content ul,
.entry-content ol,
.widget-area ul,
.widget-area ol {
    margin-left: 1.5em;
}


.post-type-archive-tapahtuma #primary {
    /*
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    */
    padding-right: 5%;
}
.post-type-archive-tapahtuma #secondary {
    position: sticky;
    top: 100px;
}
.single-post:not(.has-sidebar) #primary, .page.page-one-column:not(.twentyseventeen-front-page) #primary, .archive.page-one-column:not(.has-sidebar) .page-header, 
.archive.page-one-column:not(.has-sidebar) #primary,
.archive.post-type-archive-yritysjasen #primary {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    width: 100%;
}
.archive.post-type-archive-yritysjasen #primary {
    width: 100% !important;
    padding-right: 0 !important;
}
.month-title {
    text-transform: uppercase;
    margin-bottom: 1em;
    font-weight: 700;
}
.tapahtuma-filter {
    margin-bottom: 50px;
}
/*
.post-type-archive-tapahtuma .page-title {
    float: left;
}
.post-type-archive-tapahtuma .page-header {
    overflow: hidden;
    height: auto;
}
*/
.tapahtuma {
    padding-bottom: 1.0em !important;
    font-size: 1rem;
}
.tapahtuma:after {
    content: '';
    display: block;
    clear: both;
}
.tapahtuma .content h2.entry-title {
    font-size: 1.1rem !important;
    font-weight: bold;
    display: inline;
    letter-spacing: 0;
    text-transform: none;
}
.tapahtuma h4 {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 0;
    display: inline;
}
.front-right .tapahtuma h4,
.tapahtumat .tapahtuma h4 {
    font-size: 1.0rem;
}

.front-right .tapahtuma,
.tapahtumat .tapahtuma  {
    padding-bottom: 0.8em !important;
    position: relative;
    padding-left: 60px;
    
}
.front-right .tapahtuma {
    min-height: 70px;
}
.home .tapahtuma .pvm,
.tapahtumat .tapahtuma .pvm {
    position: absolute;
    left: -0.8rem;
    width: 60px;
    top: -0.10rem;
    line-height: 1.1;
    font-size: 0.8rem;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
    padding-top: 0;
}
.home .tapahtuma .pvm > span,
.tapahtumat .tapahtuma .pvm > span{
    display: block;
}
.home .tapahtuma .pvm .day,
.tapahtumat .tapahtuma .pvm .day {
    font-size: 2.2rem;
    font-weight: bold;
}
.home .tapahtuma .pvm .month,
.tapahtumat .tapahtuma .pvm .month {
    font-weight: bold;
}
.home .tapahtuma .pvm .month.marras,
.tapahtumat .tapahtuma .pvm .month.marras {
    letter-spacing: -0.07em;
}
.home .tapahtuma p,
.tapahtumat .tapahtuma p {
    margin: 0;
    padding-top: 0;
}
.tapahtuma h2 a,
.tapahtuma h4 a {
    color: #333;
}
.tapahtuma .content .edit-link {
    display: inline;
}


.tapahtuma .meta .date,
.tapahtuma .meta .location {
    display: inline;
    margin-right: 15px;
}
.tapahtuma .meta .date span {
    white-space: nowrap;
}
.tapahtumat {
    margin-bottom:30px;
}
.tapahtumat section {
    padding-bottom: 0;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    color: #000;
    background: #f5f5f5;
    background-image: none;
    border: 2px solid #bbb;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    display: block;
    padding: 0.7em;
    width: 100%;
    transition: all .3s;
    margin-top: 4px;
}
::placeholder { 
  color: #666;
  opacity: 1;
}
::-ms-input-placeholder {
  color: #666;
}
input[type=submit] {
    background: transparent;
    border: 2px solid var(--link-color);
    color: var(--link-color);
    text-transform: uppercase;
    transition: all .3s;
}
input[type=submit]:hover,
input[type=submit]:focus {
    transform: scale(1.05);
}
button, input[type="button"], input[type="submit"] {
    -webkit-border-radius: 0px;
    border-radius: 0px;
}

.search-form label {
    display: none;
}
.search-form {
    display: block;
    height: 58px;
}
.search-form .search-field {
    position: absolute;
    top: 0;
    bottom: 0;
}
/*
.search-form .search-submit {
    bottom: 2px;
    padding: 0.5em 1em;
    position: absolute;
    right: 2px;
    top: 2px;
    background-color: #fff; 
}
.navigation-header .search-form {
    max-width: 200px !important;
}
.navigation-header .search-form .search-submit .icon {
    fill: #fff;
}
.navigation-header .search-form input[type="search"]::-webkit-input-placeholder { 
    color:    #eee;
}
.navigation-header .search-form input[type="search"]:-moz-placeholder { 
    color:    #eee;
    opacity:  1;
}
.navigation-header .search-form input[type="search"]::-moz-placeholder { 
    color:    #eee;
    opacity:  1;
}
.navigation-header .search-form input[type="search"]:-ms-input-placeholder { 
    color:    #eee;
}
.search-form .search-submit .icon {
    fill: #333;
}
*/
.site-footer {
    background: #000 !important;
    color: #fff;
}
.site-footer .widget-title {
    color: #fff;
}
.site-footer a {
    color: #fff !important;
}
.copy {
    text-align: center;
    margin-bottom: 2em;
    margin-top: 2em;
    color: #ccc;
}
.has-sidebar #primary.jasenet {
    width: 66%;
}
.jasenet {
    border-left: 2px solid #d2d2d2;
    border-top: 2px solid #d2d2d2;
    overflow: hidden;
    height: auto;
    margin-bottom: 30px;
}
.jasenet article {
    width: 50%;
    float: left;
    height: 170px;
    border-right: 2px solid #d2d2d2;
    border-bottom: 2px solid #d2d2d2;
    text-align: center;
    position: relative;
    padding-bottom: 0 !important;
    overflow: hidden;
}
/*
.jasenet article:nth-child(-n+3) {
    border-top: 2px solid #d2d2d2;
}
.jasenet article:nth-child(3n+1) {
    border-left: 2px solid #d2d2d2;
}
.post-type-archive-valolehti .jasenet article:nth-child(-n+4) {
    border-top: 2px solid #d2d2d2;
}
.post-type-archive-valolehti .jasenet article:nth-child(4n+1) {
    border-left: 2px solid #d2d2d2;
}
*/
.jasenet article.status-private {
    background: #f5f6f8;
}
.jasenet article a {
    display: block;
}
.jasenet article a:hover {
    text-decoration: none !important;
}
.jasenet article .entry-title {
    text-transform: none !important;
    font-size: 0.9rem !important;
    font-weight: normal !important;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    margin-bottom: 0;
    max-height: 0;
    transition: all 0.5s;
    letter-spacing: 0 !important;
}
.jasenet article:hover .entry-title {
    max-height: 170px !important;
    background-color: #f2f2f2;
}
.jasenet .entry-title a {
    color: #666;
    margin: 0;
}
.jasenet .entry-title span {
    padding: 10px;
    display: block;
}
.jasenet .edit-link {
    position: absolute;
    top: 2px;
    right: 5px;
}
.jasenet .post-thumbnail {
    padding: 15px;
    height: 170px;
    margin-bottom: 0;
}
.jasenet .post-thumbnail span {
    height: 140px;
    vertical-align: middle;
    display: inline-block;
}
.jasenet img,
.jasenet .post-thumbnail div {
    max-width: 80%;
    max-height: 130px;
    width: fit-content;
    vertical-align: middle;
    display: inline-block;

}
body:not(.home) .site-content {
    margin-bottom: 5%;
    padding-top: 50px;
}

.valolehti ul {
    list-style: none;
    margin-left: 0;
}
.valolehti ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
    line-height: 1.3;
}
.valolehti ul li em {
    position: absolute;
    left: -10px;
    font-style: normal;
    width: 30px;
    text-align: right;
}
.page-template-page-valolehti .addtoany_list,
.single-valolehti .addtoany_list,
.post-type-archive-valolehti .addtoany_list {
    width: 100%;
    text-align: center;
    display: block;
    padding-bottom: 1em;
    padding-top: 7%;
    clear: both;
}
.lehdet {
    background: #f5f6f8;
    padding-top: 5%;
    padding-bottom: 5%;
    
}
.lehdet .kannet {
    line-height: 0;
    padding-top: 20px;
}
.lehdet .lehti {
    display: inline-block;
    width: 48%;
    margin: 0 1%;
    transition: max-height 1.5s;
    max-height: 500px;
    overflow: hidden;
}
.lehdet .wrap {
    padding-left: 4%;
    padding-right: 4%;
}
.lehdet .lehti.hidden {
    max-height: 0;
}

.lehdet .lehti a {
    display: block;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.lehdet .lehti a span {
    padding: 10px;
    display: block;
    margin-bottom: 30px;
    line-height: 1;
}
.lehdet .lehti.hidden a span {
    padding: 0;
    margin-bottom: 0;
    line-height: 0;
}
.showmore {
    text-align: center;
    padding: 20px 0;
}
.tukijat {
    padding-top: 5%;
    padding-bottom: 5%;
}
.post-navigation .nav-previous {
    float: left;
    width: 50%;
    padding-left: 2em;
}
.post-navigation .nav-next {
    float: left;
    width: 50%;
    padding-right: 2em;
}
article.ilmoitus .post-thumbnail {
    float: right;
    max-width: 350px;
    width: 50%;
    margin-left: 2em;
}


#pvn-signal-acc {
    margin-left: 0;
}
#pvn-signal-acc, #pvn-signal-acc ul {
    list-style: none;
}
#pvn-signal-acc li {
    border-top: none;
    border-bottom: none;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}
#pvn-signal-acc li a {
    display: block;
    outline: none;
}
#pvn-signal-acc a {
    color: #333;
    font-weight: normal;
}
#pvn-signal-acc ul ul {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
#pvn-signal-acc > li > ul > li > a:before,
#pvn-signal-acc > li > a:before {
    content: "\f054";
    font-family: 'FontAwesome';
    vertical-align: baseline;
    font-size: 80%;
    
    display: inline-block;
    width: 12px;
    margin-left: 2px;
    margin-right: 10px;
}

#pvn-signal-acc a.opened:before {
    content: "\f078";
    font-family: 'FontAwesome';
    /*vertical-align: bottom;*/
    margin-left: 0;
    margin-right: 12px;
}
#pvn-signal-acc .signal-link {
    margin-left: 20px;
}
#pvn-signal-acc .signal-link a:focus,
#pvn-signal-acc .signal-link a:hover {
    color: var(--link-color);
    text-decoration: underline;
}
.error404 #primary .page-header,
.error404 #primary .page-content {
    float: none !important;
    width: 100% !important;
    text-align: center;
}
.error404 .page-title {
    font-size: 7rem;
    color: var(--link-color);
    letter-spacing: 0;
    margin-bottom: 2%;
    margin-top: 5%;
}
.error404 .page-content .search-form {
    max-width: 300px;
    margin: 20px auto;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    background: #f5f5f5;
}
input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    border-color: red;
}
.wpcf7 fieldset,
fieldset {
    padding: 20px;
    border: 2px solid #bbb;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
}
.wpcf7 fieldset legend,
fieldset legend{
    margin-left: 20px;
    padding: 0 10px;
    text-transform: uppercase;
    font-weight: bold;
}
.wpcf7 fieldset p {
    margin-bottom: 0;
    line-height: 1.2;
}
.wpcf7 p {
    line-height: 1.2;
}
.wpcf7 small {
    font-weight: normal;
    line-height: 1.2;
}
.wpcf7 span.wpcf7-list-item {
    margin-left: 0;
}
.wpcf7 div.wpcf7-response-output {
    margin: 1em 0;
    padding: 20px;
}

.wpcf7 label.alignright {
    text-align: left;
    float: none;
    margin-bottom: 5px;
    margin-left: 0;
}

.wpcf7 .column50 {
    margin-bottom: 20px;
}
.wpcf7 .left50 {
    display: block;
    padding-right: 0px;
    margin-bottom: 5px;
}
.wpcf7 .right50 {
    display: block;
    margin-bottom: 20px;
    vertical-align: top;
}   
.tabs ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 3em;
}
.tabs fieldset ul {
    margin-bottom: 0;
}
.tabs ul li {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 10px;
    
}
.tabs li.tab {
    border-bottom: 5px solid #eee;
}

.tabs ul li a {
    padding: 7px;
    display: inline-block;
    
    text-decoration: none;
    
}
.tabs li.tab a {
    font-weight: bold;
    color: #999;
}
.tabs ul li.selected {
    background: #fff;
    border-bottom: 5px solid #333;

}
.tabs ul li.selected a {
    color: #333;
}
.tabs ul li.tab a:focus,
.tabs ul li.tab a:hover,
.tabs ul li.tab.selected a:focus,
.tabs ul li.tab.selected a:hover {
    color: #000 !important;
    text-decoration: none;
}
.tabs > div {
    display: none;
}
.tabs > div.selected {
    display: block;
}

.tabs.jasenhakemukset ul li.tab  {
    display: block;
    max-width: 300px;
    border-bottom: none;
    margin-bottom: 0;
}
.tabs.jasenhakemukset ul li.tab a {
    position: relative;
    padding-left: 40px;
    font-weight: normal;
    color: #222;
    line-height: 30px;
}
.tabs.jasenhakemukset ul li.tab a:before {
    content: "";
    width: 30px;
    height: 30px;
    padding: 5px 0px;
    border: 2px solid #bbb;
    display: inline-block;
    position: absolute;
    left: 0;
    text-align: center;
    line-height: 15px;
    background: #f5f5f5;
}
.tabs.jasenhakemukset ul li.tab.selected a:before {
    content: "✔";
    border-color: #000;
}
select {
    background: transparent;
    border-radius: 0;
    border: 2px solid #bbb;
    padding: 10px;
    height: auto;
}

.customselect {
    background: transparent;
    border-radius: 0;
    border: 2px solid #bbb;
    color: #666;
    width: 100%;
    padding: 0.9em;
    display: block;
    text-align: left;
    cursor: pointer;
    position: relative;
    padding-right: 45px;
}
.customselect > span {
    white-space: nowrap;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
}
.customselect > span::after {
    position: absolute;
    content: "\f078";
    font-family: "FontAwesome";
    text-align: center;
    width: 45px;
    color: #999;
    top: 3px;
    bottom: 3px;
    right: 0;
    border-left: 2px solid #ccc;
    display: block;
    line-height: 40px;
}
.customselectmenu {
    display: none;
    background: #fff;
    position: absolute;
    z-index: 10;
    left: auto;
    right: auto;
    border-left: 2px solid #bbb;
    border-right: 2px solid #bbb;
    border-bottom: 2px solid #bbb;
}
.customselectmenu ul {
    list-style: none;
    margin: 0;
    padding: 6px;


}
.customselectmenu ul a {
    color: #333;
    text-align: left;
    display: block;
    padding: 0.5em;
    border-top: 1px solid #ccc;
    text-decoration: none;
}
.customselectmenu ul li:first-child a {
    border-top: none;
}
ul.categories {
    list-style: none;
    margin-left: 0;
}
ul.categories li {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}
ul.categories li.selected a,
ul.categories li.selected a:hover, 
ul.categories li.selected a:focus {
    color: #fff !important;
    background: #999;
}
.entry-footer .cat-links, .entry-footer .tags-links {
    display: block;
    font-size: 12px;
    font-size: 0.875rem;
    font-weight: normal;
    letter-spacing: 0em;
    padding-left: 0;
    position: relative;
    text-transform: none;
}

ul.categories li a,
.cat-links a,
.tags-links a {
    display: inline-block;
    padding: 5px 10px;
    background: #eee;
    border-radius: 15px;
    text-decoration: none;
    color: #000;
    margin-right: 0px;
}
.post-navigation .nav-previous {
    margin-top: 1.5em;
    padding: 0 10px;
    text-align: left;
}
.post-navigation .nav-next {
    margin-top: 1.5em;
    padding: 0 10px;
    text-align: right;
}
.entry-footer {
    border-bottom: none;
    border-top: none;
}

a.youtube {
    position: relative;
    display: block;
}
a.youtube:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*-webkit-transform: translate(-50%, -50%);*/
    background-color: #ff0000;
    content: "\f04b";
    font-family: FontAwesome;
    font-size: 25px;
    color: #fff;
    border-radius: 5px;
    padding: 5px 25px;
    transition: all 0.2s;
    will-change: translate;
    box-shadow: 0 0 0px #000;
}
a.youtube:hover {
    cursor: pointer;
    text-decoration: none;
}
a.youtube:hover:after {
    transform: translate(-50%, -50%) scale(1.05);
    text-decoration: none;
    /* box-shadow: 0 5px 20px #000;*/ 
}
.valosto-panel a.youtube img {
    width: 100% !important;
}
.entry-content a img, .comment-content a img, .widget a img {
    -webkit-box-shadow: none;
    box-shadow: none;
}
.widget ul li, .widget ol li {
    padding: 0;
}
.widget ul, .widget ol {
    margin-bottom: 1.0em;
    margin-top: 0.5em;
}
#cookie-notice {
    background: #23282d !important;
}
.cookie-notice-container {
    padding: 15px;
}
.cookie-notice-container > a {
    background: #999 !important;
    border-radius: 0 !important;
    border: none !important;
}
.cookie-notice-container > a:hover {
    color: #fff !important;
    
}
.header-search-form {
    position: relative;
    z-index: 2;
    position: absolute;
    top: 30px;
    right: 80px;
}
.header-search-form .icon-search {
    width: 24px;
    height: 24px;
}
.header-search-form input {
    min-width: 50px;
    position: absolute;
    right: 0;
    top: 0;
    opacity: 0;
    transition: all 0.2s;
    border: none !important;
    background: #fff;
    margin: 0;
    min-height: 50px;
    display: block;
    z-index: 2;
    padding-right: 50px;
    padding-left: 0;
    cursor: pointer;
}
.header-search-form:focus-within input {
    opacity: 1;
    min-width: max(10vw, 200px);
    padding-left: 15px;
    cursor: initial;
}

.header-search-form .search-submit {
    z-index: 1;
    position: relative;
    background: none;
    padding: 0;
    width: 50px;
    height: 50px;
    color: #fff;
}
.header-search-form .search-submit:focus {
    outline: thin dotted;
}
.header-search-form:focus-within .search-submit {
    color: #000;
    z-index: 5;
}
.header-search-form .search-submit .icon-search {
    
    fill: currentColor;
}
.header-search-form.show-input input {
    display: block;
    opacity: 1;
    min-width: 200px;
}
.main-navigation.toggled-on+.header-search-form input {
    background: #eee;
}
.main-navigation.toggled-on+.header-search-form .search-submit {
    color: #000;
}
.site-navigation-fixed .header-search-form .search-submit {
    color: #fff;
}

.navigation-header .wrap > * {
    display: block;
    float: right;
}
.menu-toggle {
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 20px;
    top: 30px;
    width: 50px;
    height: 50px;
}
.menu-toggle span {
    width: 30px;
    height: 4px;
    background: #fff;
    position: absolute;
    left: 10px;
    transition: all .2s;
    top: calc(50% - 2px);
    border-radius: 2px;
    opacity: 1;
}
.menu-toggle span:first-child {
    top: 14px;
}
.menu-toggle span:last-child {
    bottom: 14px;
    top: auto;
}
.toggled-on .menu-toggle span {
    background: #000;
}
.toggled-on .menu-toggle span:first-child {
    transform: rotate(45deg);
    top: calc(50% - 2px);
}
.toggled-on .menu-toggle span:nth-child(2) {
    width: 0;
    opacity: 0;
    left: 50%;
}
.toggled-on .menu-toggle span:last-child {
    transform: rotate(-45deg);
    bottom: calc(50% - 2px);
}
.floatLeft {
    padding-bottom: 40px;
}
.site-branding a:hover,
.site-branding a:focus {
	opacity: 1.0;
}
.showartikkelit, .showmainokset {
    display: inline-block;
    margin-right: 20px;
    padding: 0;
}
.showartikkelit:hover, .showmainokset:hover {
    cursor: pointer;
}
.sisalto .mainokset {
    display: none;
}
.social-icons {
    text-align: center;
}
.site-header .social-icons {
    display: none;
}
.social-icons > ul {
    padding: 1em;
    margin-top: -3px;
    list-style: none;
}
.social-icons li {
    display: inline-block;
}
.social-icons a {
    display: inline-block;
    outline: none;
    text-indent: -9999px;
     white-space: nowrap;
    width: 28px;
    height: 28px;
    margin: 0 4px;
    position: relative;
}
.social-icons a:hover:after, .social-icons a:focus:after {
    transform: scale(1.1);
}
.social-icons a:after {
    content: "";
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    transition: all .3s;
}
.social-icons .fb:after {
    background-image: url('img/some/facebook.svg');
}
.social-icons .li:after {
    background-image: url('img/some/linkedin.svg');
}
.social-icons .yt:after {
    background-image: url('img/some/youtube.svg');
}
.social-icons .ig:after {
    background-image: url('img/some/instagram.svg');
}

.post-grid article .post-thumbnail,
.tax-video_tags article .post-thumbnail {
     margin-bottom: 8px;
     line-height: 0;
     position: relative;
     overflow: hidden;
}
.post-grid article .post-thumbnail img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .2s;
}
.post-grid article .post-thumbnail:after,
.tax-video_tags article .post-thumbnail:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: rgba(0,2,4,.04);
}

.post-grid article h3,
.tax-video_tags article h3 {
     font-size: 1.0rem;
     font-weight: bold;
}
.single-video article h1 {
     font-size: 1.5rem;
     font-weight: bold;
     margin-bottom: 20px;
     margin-top: 25px;
}
.single-video article .categories {
    margin-bottom: 10px;
}
.post-grid article > div > a:hover,
.tax-video_tags article > div > a:hover{
    text-decoration: none;
}
.aiheet a {
     font-size: 0.8rem;
     color: #666;
    display: inline-block;
    margin-right: 10px;
}
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } 
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

h1 small {
    font-weight: bold;
    font-size: 1rem;
    text-transform: initial;
}
.post-grid article .spacer {
    padding-bottom: 56.25%;
    display: block;
}
.tax-video_tags .post-grid article .spacer, 
.post-type-archive-video .post-grid article .spacer {
    padding-bottom: 56.25%;
}

.post-grid article {
    background: #eff0f2;
    padding-bottom: 0 !important;
    margin-bottom: 20px !important;
}
.post-grid article .entry-title {
    padding: 5px 15px;
    margin-bottom: 10px;
}
.post-grid article > div > a {
    display: block;
}
.post-grid article > div > a:hover img {
    transform: scale(1.04);
}
.post-grid article .aiheet {
    padding: 5px 15px;
    padding-top: 0;
    margin-bottom: 10px;
    margin-top: -10px;
}
.cli-wrapper {
    max-width: 1260px;
}
.cli-modal-content,
.cli-tab-header {
    border-radius: 0;
}
.cli-switch .cli-slider {
    height: 21px;
}
.cli-switch .cli-slider:before {
    bottom: 3px;
    left: 3px;
}
.cli-switch input:checked+.cli-slider {
    background-color: var(--link-color);
}
.cli-switch input:checked+.cli-slider:before {
    transform: translateX(17px);
}
.wt-cli-privacy-accept-btn,
#wt-cli-accept-all-btn,
#wt-cli-reject-btn {
    background-color: var(--link-color) !important;
    padding: 12px 2vw !important;
    border-radius: 0;
}
#wt-cli-settings-btn {
    border: none !important;
    text-decoration: underline !important;
    font-size: smaller;
}
#wt-cli-settings-btn + a {
    margin-left: 10px !important;
}
#cookie-law-info-bar {
    padding: 15px 25px !important;
}
.wt-cli-iframe-placeholder {
    position: absolute !important;
}
.cli-bar-message {
    text-align: center;
}
.cli-bar-btn_container,
.cli-bar-message {
    padding: 10px 0;
}
#wt-cli-policy-link {
    padding: 0;
    margin: 0;
}
.ajankohtaista.article-grid {
    margin-right: 0;
}
.article-grid {
    display: flex;
    gap: 15px;
    flex-direction: column;
}
.article-grid .entry-content {
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #eff0f2;
}
.article-grid .grid-image {
    flex-grow: 2;
    height: auto;
    min-height: auto;
    max-height: calc(10vw + 10vh);
    min-height: 50vw;
    overflow: hidden;
}
.article-grid .grid-image.type-Tausta img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.article-grid .grid-image.type-Logo img {
    width: 75%;
    height: 75%;
    object-fit: contain;
}
.article-grid .grid-image.type-Logo {
    display: flex;
    justify-content: center;
    align-items: center;
}
.article-grid .entry-content h3.title {
    font-weight: bold;
    font-size: 1.2rem;
    padding-top: 0;
    font-size: 1.2rem;
}
.article-grid time {
    font-size: 0.9rem;
    display: block;
    margin-top: 8px;
}
@media screen and (min-width: 480px) {
    .page-one-column .panel-content .wrap,
    .wrap {
        max-width: 1400px;
    }
    .ajankohtaista {
        margin-right: -20px;
    }
    .ajankohtaista .articles {
    }
    
    .ajankohtaista .brick, 
    .ajankohtaista .brick-sizer {
        width: calc(50% - 25px);

    }
    img.alignleft {
        float: left;
        margin-right: 2.5em;
        margin-bottom: 2.5em;
    }
    .cli-bar-message {
        text-align: left;
        width: 100%;
    }

}


@media screen and (min-width: 768px) {
    
    .site-header .social-icons {
        display: block;
    }
    .panel-content .entry-header {
        margin-bottom: 2.0em !important;
    }
    body:not(.has-sidebar):not(.page-one-column) .page-header, body.has-sidebar.error404 #primary .page-header, body.page-two-column:not(.archive) #primary .entry-header, body.page-two-column.archive:not(.has-sidebar) #primary .page-header {
        float: none;
        width: 100%;
    }
    body:not(.home) .site-content {
        margin-bottom: 5%;
        padding-top: 50px;
    }
    .has-sidebar:not(.error404) #primary,
    .has-sidebar:not(.home) #primary {
        padding-right: 4%;
        width: 74.85%;
    }
    .blog.has-sidebar #primary,
    .post-template-default.has-sidebar #primary {
        width: 65.5%;
        padding-right: 4%;
        float: left;
    }
    .blog.has-sidebar #secondary {
        width: 34.15%;
    }
    .page:not(.twentyseventeen-front-page) #primary,
    .post-type-archive-yritysjasen #primary {
        max-width: 100%;
        width: 100%;
        padding-right: 0;
    }
    .single-post:not(.has-sidebar) #primary, 
    .page.page-template-page-sidebar:not(.twentyseventeen-front-page) #primary, 
    .archive.page-one-column:not(.has-sidebar) .page-header, 
    .archive.page-one-column:not(.has-sidebar) #primary, 
    .single-valolehti #primary,
    .post-type-archive-ilmoitus #primary,
    .post-type-archive-valolehti #primary,
    .single-video #primary,
    .single-ilmoitus #primary {
        max-width: 73.85%;
        width: 73.85%;
        float: left;
        padding-right: 4%;
    }

    .page.page-one-column .entry-header, .twentyseventeen-front-page.page-one-column .entry-header, .archive.page-one-column:not(.has-sidebar) .page-header {
        margin-bottom: 1em;
    }
    .home #primary, 
    .home.has-sidebar #primary,
    .archive.page-one-column.post-type-archive-valaistusartikkeli #primary,
    .archive.page-one-column.tax-valaistustieto_tags #primary, 
    .single-yritysjasen.has-sidebar #primary {
        width: 100%;
        max-width: 100%;
        float: none;
        padding-right: 0;
    }
    .lehdet .lehti {
        width: 14.66%;
    }
    .front-left {
        float: left;
        width: 66.85%;
        margin-right: 4%;
        padding-right: 4%;
        border-right: 2px solid #ddd;
    }
    .front-left header h2 {
        margin-top: 0;
        padding-top: 0;
    }
    .page-template-page-yhteisojasen #primary, 
    .page-template-page-yritysjasen #primary {
        max-width: 74% !important;
        width: 74% !important;
        float: left;
        padding-right: 0 !important;
        margin-right: 4% !important;
        
    }

    .front-right {
        float: right;
        width: 29%;
        margin-top: 0;
    }
    .custom-header {
        background-attachment: scroll;
        display: flex;
        justify-content: space-between;
        align-items: center;
        
    }
    .home .custom-header {
        height: auto !important;
        max-height: 330px;
    }


    /*
    .navigation-header {
        float: right;
        width: 50%;
    }
    .navigation-header form {
        position: relative;
    }
    */

    .front-content h2 {
        font-size: 2.0rem;
    }
    .page .panel-content .entry-title, .page-title, body.page:not(.twentyseventeen-front-page) .entry-title {
        font-size: 20px;
        font-size: 2.3rem;
    }
    
    .ajankohtaista .articles {
        /*
        column-count: 3;
        column-gap: 30px;
        */
        
    }
    
    .ajankohtaista .brick-sizer, 
    .ajankohtaista .brick {
        width: calc(33% - 20px);
    }
    .ajankohtaista .entry-content:first-child {

    }
    
    .site-branding {
        /*
       padding-top: 10px;
       padding-bottom: 10px;
       padding-left: 0;
        */
       /* margin-top: -50px; */
       /* float: left;*/

    }
    
    /*
    .home .site-branding {
       padding-bottom: 50px;
    }
    
    .home .site-title svg {
        height: 170px !important;
        width: auto !important;
    }
    */
    h2.widget-title {
        margin-bottom: 1.0em;
    }
    .site-footer h2.widget-title {
        margin-bottom: 10px;
    }
    .site-footer .widget-column.footer-widget-1,
    .site-footer .widget-column.footer-widget-2,
    .site-footer .widget-column.footer-widget-3 {
        float: left;
        width: 33.333%;
    }
    .site-footer .widget-column.footer-widget-1 > section,
    .site-footer .widget-column.footer-widget-2 > section,
    .site-footer .widget-column.footer-widget-3 > section {
        padding-right: 20px;
    }
    .has-sidebar #secondary {
        width: 26.15%;
        padding-left: 4%;
        border-left: 2px solid #d2d2d2;
    }
    .page-template-page-valolehti #secondary,
    .archive #secondary,
    .single #secondary,
    .page-template-page-imoitukset  #secondary {
        padding-left: 4%;
        border-left: 2px solid #d2d2d2;
        float: left;
        width: 25%;
    }
    .page-template-page-yhteisojasen #secondary,
    .page-template-page-yritysjasen #secondary {
        padding-left: 0;
        border-left: none;
        width: 22%;
    }
    #secondary {
        padding-bottom: 10%;
        padding-top: 0;
    }
    /*
    .site-footer .widget-column.footer-widget-2 {
        width: 29%;
    }*/
    .valo-uusin {

        overflow: visible;
        position: relative;
    }
    .sisalto {
        font-size: 0.875rem;
        line-height: 1.2;
    }

    .valo-uusin .post-thumbnail {
        float: left;
        width: 50%;
        margin-right: 5%;
    }
    .valo-uusin .entry-content {
        float: left;
        margin-left: 0;
        margin-right: 0;
        width: 45%;
    }
    .jasenet article {
        width: 33.33%;
    }
    .page-template-page-valolehti .jasenet article,
    .single-valolehti .jasenet article,
    .post-type-archive-valolehti .jasenet article {
        width: 20%;
    }

    .tapahtuma .content {
        float: right;
        width: 48%;
    }
    .tapahtuma .meta {
        width: 48%;
        float: left;
    }
    .tapahtuma .meta .date {
        display: block;
        width: 40%;
        float: left;
        margin-right: 0;
    }
    .tapahtuma .meta .location {
        display: block;
        width: 58%;
        float: right;
        margin-right: 0;
    }
    .main-navigation ul ul {
        background: #fff;
    }
    .navigation-top a,
    .site-navigation-fixed .main-navigation .menu > li > a {
        color: #eee;
        font-weight: 600;
        font-size: 0.9rem;
        padding: 12px 0.5vw;
    }

    .main-navigation li li {
        background: transparent !important;
    }
    .main-navigation ul ul a {
        padding: 5px 10px;
    }
    .main-navigation ul ul a:hover,
    .main-navigation ul ul a:focus {
        color: var(--link-color) !important;
        background: transparent !important;
    }
    /*
    .main-navigation ul ul.sub-menu {
        padding-bottom: 0;
        padding: 5px;
    }
    */
    .main-navigation .menu-item-has-children > a > .icon, .main-navigation .page_item_has_children > a > .icon {
        left: 2px;
        top: -1px;
    }
    .type-post .post-thumbnail.logo {
        float: right;
        width: 45%;
        padding-left: 15px;
        padding-bottom: 15px;
    }
    
    .valosto-panel.has-post-thumbnail  {
        min-height: 400px;
        background-position: center;
        background-size: cover;
        background-attachment: scroll;
    }
    .valosto-panel.has-post-thumbnail .panel-content .entry-header,
    .valosto-panel.has-post-thumbnail .panel-content .entry-content {
        /*
        max-width: 65.85%;
        padding-right: 5%;
        */
    }
    .valosto-panel a.youtube {
        float: left;
        margin-right: 2.5em;
        margin-bottom: 2.5em;
        width: 40%;
    }
    .has-header-image.twentyseventeen-front-page .site-branding, .has-header-video.twentyseventeen-front-page .site-branding, .has-header-image.home.blog .site-branding, .has-header-video.home.blog .site-branding {
        position: relative;

    }
    body.page-id-4505 .wpcf7 {
        float: right;
        width: 45%;
        margin-bottom: 50px;
    }
    /*
    .post-type-archive-valolehti .jasenet article:nth-child(-n+4) {
        border-top: 2px solid #d2d2d2;
    }
    .post-type-archive-valolehti .jasenet article:nth-child(4n+1) {
        border-left: 2px solid #d2d2d2;
    }
    */
    .wpcf7 .column50 {
        width: 50%;
        margin-bottom: 20px;
    }
    .wpcf7 .left50 {
        /*
        display: inline-block;
        width: 48%;
        padding-right: 20px;
        */
        margin-bottom: 20px;
        vertical-align: top;
    }
    .wpcf7 .left50,
    .wpcf7 .right50 {
        
        width: 50%;
        margin-bottom: 20px;
        vertical-align: top;
    }
    .wpcf7 .row {
        display: flex;
        gap: 20px;
    }
    .wpcf7 label.alignright {
        text-align: right;
        float: right;
    }
    .floatLeft {
        float: left;
        width: 52%;
        padding-bottom: 40px;
    }
    .post-grid,
    .tax-video_tags #main {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin-left: -15px;
        margin-right: -15px;
        width: 100%;
    }
    .post-grid article { 

        float: none;
        width: calc(50% - 30px);

        margin-bottom: 30px !important;
    }
    .post-grid article > div, 
    .tax-video_tags article > div {

    }
    .post-grid article {        
        margin-left: 15px; 
        margin-right: 15px;
    }
    
    .article-grid {
        display: grid;
        gap: 15px;
        grid-template-columns: 1fr 1fr;
    }
    .article-grid .grid-image {
        min-height: 30vw;
    }
}
@media screen and (min-width: 1024px) {
    .ajankohtaista .brick-sizer, 
    .ajankohtaista .brick {
        width: calc(25% - 20px);
    }
    .post-grid article{ 

        float: none;
        width: calc(33.3333% - 30px);

        margin-bottom: 30px !important;
    }
    .post-type-archive-yritysjasen .jasenet article,
    .page-template-page-yrityshakemisto .jasenet article {
        width: 25%;
    }
    .article-grid {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .article-grid .grid-image {
        min-height: 10vw;
    }
}

@media screen and (min-width: 1200px) {
    .navigation-top {
        bottom: auto;
        top: auto;
        left: auto;
        position: relative;
        width: auto;
    }
    .main-navigation > div {
        position: relative; 
        top: auto;
        width: 100%;
        left: auto;
        box-shadow: none;
    }
    .main-navigation.toggled-on a {
        color: #fff;
    }
    .main-navigation.toggled-on  ul ul a {
        color: #333;
        
    }
    .main-navigation ul ul a {
        width: 14em;
    }
    .main-navigation.toggled-on > div > ul {
        padding-left: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    .main-navigation ul ul {
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }

    .js .main-navigation ul, .js .main-navigation ul ul, .js .main-navigation > div > ul {
        display: block;
        
    }
    .main-navigation ul.menu {
        flex-wrap: nowrap;
        display: flex !important;
        align-items: center;
        background: transparent;
        padding: 0;
    }
    .main-navigation .icon {
        display: none !important;
    }
    .main-navigation ul ul {
        background: #fff;
        border: none;
        left: -999em;
        padding: 0;
        position: absolute !important;
        top: 100%;
        z-index: 99999;
    }
    .main-navigation li {
        border: none;
    }

    /*
    .main-navigation ul li:last-child:hover > ul, 
    .main-navigation ul li:nth-last-child(2):hover > ul  {
        left: auto;
        right: 0
        
    }
    */
    .main-navigation.toggled-on > div > ul {
        padding-top: 0;
    }
    .main-navigation ul li.menu-item-has-children:before, .main-navigation ul li.page_item_has_children:before {
        border-color: transparent;
        bottom: 0;
    }
    .dropdown-toggle {
        display: none !important;
    }
    
    .navigation-top .wrap {
        padding: 0.75em 1vw;
    }
    .header-search-form {
        position: relative;
        top: auto;
        right: auto;
    }
    .js .menu-toggle, 
    .menu-toggle {
        display: none;
    }
    .navigation-top .wrap {
        justify-content: center;
    }
    .site-navigation-fixed.navigation-top .wrap {
        padding-left: 330px;
    }
    .post-type-archive-valaistusartikkeli .post-grid article,
    .tax-valaistustieto_tags .post-grid article { 
        width: calc(25% - 30px);
    }
}
body .wp-block-button .wp-block-button__link {
    margin-top: 1em;
    padding: 0.7em 1.4em;
    transition: all .2s;
    text-transform: uppercase;
}
body .wp-block-button .wp-block-button__link:hover,
body .wp-block-button .wp-block-button__link:focus {
    background-color: inherit !important;
    text-decoration: none;
    transform: scale(1.05);
}
.page-template-page-hero  .site-header {
    position: absolute;
    width: 100%;
}
.page-template-page-hero  .site-header:before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.2) 75%, rgba(0, 0, 0, 0) 100%); 
}
.page-template-page-hero .hero-header {
    position: relative;
    padding: 240px 30px 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #000;
    
    color: #fff;
    margin-bottom: clamp(35px, 4vw, 70px);
}
.page-template-page-hero .site-content {
    padding-top: 0 !important; 
}
body.page-template-page-hero .site-content#content .wrap {
    max-width: 1200px; 
}
body.page-template-page-hero .site-content#content .wrap:has(.wp-block-columns) {
    max-width: 1400px;
}
.page-template-page-hero .hero-header:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
}
.page-template-page-hero .hero-header h1,
.page-template-page-hero .hero-header .excerpt {
    color: #fff;
    font-weight: bold;
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
}


.hero-header .hero-content {
    position: relative;
    z-index: 2;
}
.hero-header img {
    object-fit: cover;
    width: 100%;

    position: absolute;
    top: 0px;
    left: 0;
    height: 100%;
    
}
.hero-header:after {
    content: "";
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 0px, rgba(0, 0, 0, 0.4) 100%); 
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.hero-header .excerpt {
    max-width: 600px;
    margin: 0 auto;
}
.entry-content > *[class*="wp-block"]:not(.wp-block-heading):not(:first-child),
.wp-block-column > *[class*="wp-block"]:not(.wp-block-heading) {
    margin-bottom: 25px;
    margin-top: 25px;
}

.entry-content > *:first-child,
.wp-block-column > *:first-child {
    padding-top: 0;
}
.page-template-page-hero h2+* {
    padding-top: 0px;
    margin-top: 20px;
}
@media screen and (min-width: 768px) {
    .page-template-page-hero .site-title svg {
        max-width: 200px !important;
    }
    .page-template-page-hero .hero-header {
        min-height: 650px;
        padding: 190px 30px 70px;
    }
}
@media screen and (min-width: 1024px) {
    .page-template-page-hero .hero-header h1 {
        font-size: 3.5rem;
        font-weight: 100;
    }
    .page-template-page-hero h2 {
        font-size: 2.2rem;
        margin-bottom: 15px;
        padding-top: 40px;
    }
}

.vvk-kohde {
    background: #dfddda;
    color: #000;
}
.vvk-kohde h3 {
    color: #000;
}
.vvk-kohde.ulko {
    background: #30333b;
    color: #fff;
}
.vvk-kohde.ulko h3 {
    color: #fff;
}
.vvk-kohde .wp-block-media-text__content {
    padding: 30px;
    font-size: 90%;
    min-height: 350px;
    
}
.vvk-kohde .wp-block-media-text__content > *:first-child {
    padding-top: 0;
}

body .cmplz-cookiebanner .cmplz-title {
    font-weight: bold;
    font-size: 1.2rem;
}
body #cmplz-manage-consent .cmplz-manage-consent {
    font-weight: normal;
}

.heateor_sss_horizontal_sharing {
    margin: 20px auto 40px auto;
}
div.heateor_sss_horizontal_sharing div.heateor_sss_sharing_ul a {
    margin: 4px !important;
}
.heateor_sss_svg {
    padding: 2px !important;
}


.suodattimet {
    margin-bottom: clamp(25px, 5vw, 50px);
}
.kategoriat {
    display: flex;
    gap: 15px;
    justify-content: left;
    flex-wrap: wrap;
}
.kategoriat button {
    background: #2f80c4;
    position: relative;
    padding-right: 50px;
    color: #fff;
}

.kategoriat button:after {
    content: "";
    width: 12px;
    height: 12px;
    display: inline-block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: calc(50% - 6px);
}
.kategoriat button:hover,
.kategoriat button:focus {
    background: #0f60a4;
}

.kategoria-sivupalkki.kiinni {

    display: none;

}
.sivupalkki-wrapper {
    padding: 35px clamp(20px, 2vw, 30px) 35px clamp(15px, 2vw, 30px);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 9999;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    background: #fff;
    width: 80%;
    max-width: 80%;
    transform: translatex(100%);
    transition: transform .4s;
    overflow-y: auto;
}
.admin-bar .sivupalkki-wrapper {
    top: 32px;
}
.kategoria-sivupalkki ul {
    list-style: none;
    padding-left: 0px;
    margin: 0;
}
.kategoria-sivupalkki ul ul {
    padding-left: 15px;
}
.kategoria-sivupalkki ul ul li {
    margin-bottom: 5px;
}
.kategoria-sivupalkki label {
     padding: 3px 0 3px 20px;
     font-weight: normal;
     position: relative;
     margin: 0;
     line-height: 1.4;
}
.kategoria-sivupalkki label input {
    position: absolute;
    left: 0;
    top: 8px;
}
.sivupalkki-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    z-index: 9998;
    opacity: 0;
    transition: opacity .4s;
}
.kategoria-sivupalkki.auki .sivupalkki-wrapper {
    transform: translatex(0);
}
.kategoria-sivupalkki.auki .sivupalkki-overlay {
    opacity: 1;
    width: 100%;
}
.sulje-kategoriat {
    background: transparent;
    position: absolute;
    right: 25px;
    top: 30px;
    width: 40px;
    height: 40px;
    padding: 0;
}
.sulje-kategoriat:after,
.sulje-kategoriat:before {
    content: "";
    width: 30px;
    height: 2px;
    display: block;
    background: #000;
    position: absolute;
    top: 50%;
    left: calc(50% - 15px);
}
.sulje-kategoriat:after {
    transform: rotate(45deg);
}
.sulje-kategoriat:before {
    transform: rotate(-45deg);
}
.valitut {
    display: none;
    border: 2px solid #ccc;
    padding: 20px;
}
.valitut legend {
    font-weight: bold;
    padding: 0 10px;
    margin-left: 3px;
}
#valitut {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-items: left;

}
#valitut button {
    padding: 8px 30px 8px 15px;
    background: var(--link-color);
    color: #fff;
    border-radius: 20px;
    transition: all .3s;
    position: relative;
    width: fit-content;
}
#valitut button:after {
    content: "+";
    transform: rotate(45deg) scale(2.0);
    position: absolute;
    right: 12px;
    top: calc(50% - 12px);
    transition: all .3s;
    font-weight: normal;
}
/*
#valitut button:hover,
#valitut button:focus {
    padding-left: 14px;
    padding-right: 30px;
}
#valitut button:hover:after,
#valitut button:focus:after {
    right: 12px;
}
*/
.top-kategoria > ul {
    display: none;
}
.top-kategoria > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.top-kategoria > div label {
    font-weight: bold;
}
.toggle-kategoria {
    background: transparent;
    min-height: 40px;
    display: inline-block;
    padding: 0;
    position: relative;
    padding-right: 40px;
    text-align: left;
    line-height: 1.2;
}
.toggle-kategoria:focus {
    outline: thin dotted;
}
.toggle-kategoria:before {
    content: "";
    width: 12px;
    height: 12px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    display: block;
    position: absolute;
    top: calc(50% - 9px);
    right: 15px;
    transform: rotate(45deg);
}
.toggle-kategoria[aria-expanded="true"]:before {
    transform: rotate(-135deg);
    top: calc(50% - 2px);
}
.hakemisto-popup {
    position: fixed;
    height: 100vh;
    width: 100vw;
    top: 0;
    left: 0;
    z-index: 3000;
    display: none;
}

ul.terms {
    list-style: none;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0;
    margin: 30px 0;
}
ul.terms li {
    display: inline-block;
    background: #eee;
    border-radius: 15px;
    padding: 5px 10px;
}
.single-yritysjasen .post-thumbnail {
    width: 80%;
    max-width: 300px;
}
.single-yritysjasen .post-thumbnail img {
    width: 100%;
    max-height: 200px;
}
.single-yritysjasen .member-content {
    display: flex;
    gap: 20px;
    flex-direction: column;
}
.single-yritysjasen .member-content .text {
    flex-basis: 60%;
}
@media screen and (min-width: 768px) {
    .sivupalkki-wrapper {
        max-width: 400px;
    }
    #valitut button {
        width: auto;
    }
    .single-yritysjasen .member-content {
        flex-direction: row;
        justify-content: space-between;
    }
}
@media screen and (min-width: 1024px) {

}

.elementor-template-full-width #content {
    padding-top: 0;
}