/*!
Theme Name: Tammi Theme
Theme URI: http://underscores.me/
Author: Tammi Digital Oy
Author URI: https://tammidigital.fi/
Description: Custom theme: Tammi Theme, developed by Tammi Digital Oy
Version: 2.0.2
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: tammi-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Tammi Theme is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

@import "css/blocks.css";

:root {
	
	/* Colors */
	--green: #7DB61A;
	--light-green: #E5F0D1;
	--gray: #9C9E9F;
	--light-gray: #F5F5F5;
	--white: #FFFFFF;
	--dark: #161616;	
	--blue: #043882;
			
}

/***********************************************************************************/
/* CUSTOM CSS STARTS HERE */
/***********************************************************************************/

/* HEADER */

header .top-menu {
	align-items: center;
}
header .site-logo {
	max-width: 292px;
	padding: 28px 0;
}

/* Desktop menu*/
header .desktop-menu nav {
	background-color: var(--light-gray);
	box-shadow: 0 5px 10px 0px rgb(86 99 109 / 10%);
}
.desktop-menu ul.primary-menu-desktop {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
    justify-content: flex-start;
	align-items: center;
}
header .desktop-menu .nav-bar ul > li {
	display: flex;
    align-items: center;
	position: relative;
	margin: 0 40px 0 0;
	padding-bottom: 0;
}
header .desktop-menu .nav-bar li a {
	font-size: 20px;
	font-weight: 700;
    padding: 15px 0;
	text-decoration: none;
    display: flex;
    align-items: center;
}
header .desktop-menu .nav-bar > ul > li.menu-link {
	height: 100%;
}

header .desktop-menu .nav-bar > ul > li.menu-link > a:hover, header .desktop-menu .nav-bar > ul > li.menu-link > a:focus {
	color: var(--blue);
    text-decoration: none;
}


/* Submenu */
header .primary-menu-desktop .sub-menu {
    position: absolute;
    z-index: 2;
    background-color: var(--white);
    left: 0px;
    top: calc(100% - 2px);
    box-shadow: 0 3px 6px 0px rgb(4 56 130 / 15%);
    border-top: 2px solid var(--blue);
	border-radius: 0 0 15px 15px;
    visibility: hidden;
	display: block;
	padding: 15px;
	width: max-content;
}
header .desktop-menu .nav-bar > ul > li.menu-link.has-children:hover > a {
	color: var(--blue);
}
header .desktop-menu .nav-bar > ul > li.menu-link.has-children {
	position: relative;
}

header .primary-menu-desktop .menu-link.has-children > .small-menu-sub-menu ul {
	display: block;
	padding-left: 0;
}
header .primary-menu-desktop .menu-link.has-children > .small-menu-sub-menu ul > li {
	display: block;
    padding: 0;
    max-width: 100%;
}

header .primary-menu-desktop .menu-link.has-grand-children:hover > .sub-menu,
header .primary-menu-desktop .menu-link.has-children:hover > .sub-menu,
header .primary-menu-desktop .menu-link > .sub-menu:hover,
header .primary-menu-desktop .open-sub-menu + .sub-menu {
    visibility: visible !important;
}
header .primary-menu-desktop .sub-menu .sub-menu-items {
	padding: 0 5px;
}

header .primary-menu-desktop .sub-menu .sub-menu-items ul > li .inner-sub-menu {
	width: 100%;
    display: block;
}
header .primary-menu-desktop .sub-menu .sub-menu-items ul > li.sub-menu-link > p {
	width: 85%;
	font-size: 18px;
    padding-bottom: 5px;
    margin-bottom: 15px;
}
header .primary-menu-desktop .sub-menu .sub-menu-items ul > li.sub-menu-link a {
	height: auto;
	font-weight: 600;
    font-size: 18px;
	padding: 4px 5px;
}
header .desktop-menu .sub-menu::after { 
	content: '';
    height: 10px;
    width: 10px;
    position: absolute;
    background-color: var(--white);
    top: -7px;
    left: 15%;
    border-top: 2px solid var(--blue);
    border-left: 2px solid var(--blue);
    transform: rotate(45deg);
}

header .desktop-menu ul.sub-menu li.menu-item a:hover, header .desktop-menu ul.sub-menu li.menu-item a:focus {
    text-decoration: none;		
}
header .desktop-menu ul li.menu-item.menu-item-has-children ul.sub-menu a:after {
    display: none;
}

/* Focus button */
header .primary-menu-desktop .menu-link .closed-sub-menu,
header .primary-menu-desktop .menu-link .menu-link-item:focus + .closed-sub-menu,
header .primary-menu-desktop .menu-link:hover .menu-link-button.closed-sub-menu {
    display: none;
}
header .right-menu.login-menu-icon .primary-menu-desktop .menu-link .closed-sub-menu,
header .right-menu.login-menu-icon .primary-menu-desktop .menu-link .menu-link-item:focus + .closed-sub-menu,
header .right-menu.login-menu-icon .primary-menu-desktop .menu-link:hover .menu-link-button.closed-sub-menu {
    display: flex;
}
header .right-menu.sub-menu-hidden .primary-menu-desktop .menu-link .closed-sub-menu,
header .right-menu.sub-menu-hidden .primary-menu-desktop .menu-link .menu-link-item:focus + .closed-sub-menu,
header .right-menu.sub-menu-hidden .primary-menu-desktop .menu-link:hover .menu-link-button.closed-sub-menu {
    display: none;
}
header .primary-menu-desktop .menu-link:focus-within .closed-sub-menu,
header .primary-menu-desktop .menu-link .menu-link-item:focus-visible + .closed-sub-menu,
header .primary-menu-desktop .menu-link:focus-within .open-sub-menu {
    display: flex;
}
header .primary-menu-desktop .menu-link .closed-sub-menu, header .primary-menu-desktop .menu-link .open-sub-menu {
	border-radius: 50%;
    align-items: center;
    justify-content: center;
    height: 25px;
    width: 25px;
	margin-left: 1px;
    background-color: var(--av-valkoinen);
    border: 1px solid var(--av-musta);
}
header .primary-menu-desktop .menu-link .closed-sub-menu:after {
	content: "\f078";
}
header .primary-menu-desktop .menu-link .open-sub-menu::after {
	content: "\f077";
}
header .primary-menu-desktop .menu-link .closed-sub-menu:after, header .primary-menu-desktop .menu-link .open-sub-menu::after {
	font-family: "Font Awesome 5 Pro";
    font-weight: 900;
	line-height: 1;
    font-size: 13px;
}

/* Right menu */
header .right-menu {
	display: flex;
    justify-content: end;
}
header .right-menu ul {
	display: inline-flex;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
header .right-menu ul li {
	padding-bottom: 0;
}
header .right-menu li.menu-link {
   position: relative;
}
header .right-menu li.menu-link.has-children {
   display: flex;
    align-items: center;
    margin: 0 10px;
	border-right: 1px solid #9C9E9F;
	padding-right: 10px;
}
header .right-menu.login-menu-icon .primary-menu-desktop .menu-link.has-children .closed-sub-menu:after,
header .right-menu.login-menu-icon .primary-menu-desktop .menu-link.has-children .open-sub-menu::after {
    content: '\f347';
    font-family: dashicons;
    display: inline-block;
	font-size: 16px;
	color: var(--blue);
}
header .right-menu li.menu-link a {
    padding: 15px 5px;
    margin: 0 8px;
    text-decoration: none;
    display: flex;
    align-items: center;
	font-size: 18px;
	font-weight: 600;
}
header .right-menu ul li a .wpml-ls-native {
	font-size: 18px;
}

header .right-menu li.menu-link.has-children a {
    font-weight: 600;
    font-size: 18px;
	width: fit-content !important;
	width: -moz-fit-content;
    transition: transform .1s;
	display: block;
    text-align: center;
	color: var(--dark);
	padding: 0px 5px 0px 7px;
	display: flex;
	justify-content: center;
	margin: 0;
}
header .right-menu.login-menu-icon li.menu-link.has-children a {
	color: var(--blue);
}
header .right-menu.sub-menu-hidden .sub-menu {
	display: none;
}
header .right-menu.login-menu-icon li.menu-link.has-children a::before {
	content: '';
	background:url('/wp-content/uploads/2024/01/login-icon-1.png');
	width: 22px;
	height: 22px;
	display: block;
	margin-right: 6px;
    padding: 22px;
    background-repeat: no-repeat;
    background-position: center;
} 
header .right-menu li.menu-link.has-children a:hover {
	color: var(--blue);
}
/*right-menu submenu*/
header .right-menu .sub-menu { 
    position: absolute;
    z-index: 2;
    background-color: var(--white);
	left: 0px;
      top: calc(100% - 2px);
	  box-shadow: 0 3px 6px 0px rgb(4 56 130 / 15%);
	  border-top: 2px solid var(--blue);
	  border-radius: 0 0 15px 15px;
    visibility: hidden;
	display: block;
	padding: 15px;
	max-width: 250px;
	margin: 0 10px;
}
header .right-menu .sub-menu::after { 
	content: '';
    height: 10px;
    width: 10px;
    position: absolute;
    background-color: var(--white);
    top: -7px;
    left: 34%;
    border-top: 2px solid var(--blue);
    border-left: 2px solid var(--blue);
    transform: rotate(45deg);
}

header .right-menu ul.sub-menu li.menu-link a {
	height: auto;
	font-weight: 300;
    font-size: 16px;
	padding: 4px 5px;
}
header .right-menu ul.sub-menu li.menu-link a:hover {
	color: var(--blue);
}
header .right-menu ul li.menu-link:hover > .sub-menu {
    visibility: visible !important;
}

header .right-menu .primary-menu-desktop li.menu-link.has-children .sub-menu a {
	color: var(--black);
    background-color: transparent;
	border-radius: none;
	min-width: auto;	
	font-weight: 300;
    font-size: 16px;
    padding: 4px 5px;
    margin: 0 10px 0;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: start;
	text-align: start;
	border-right: none;
}
header .right-menu ul.sub-menu li.menu-link a:after, header .right-menu ul.sub-menu li.menu-link a:before {
	    display: none!important;
}
header .right-menu ul.sub-menu li.menu-link a:hover {
	background-color: transparent;
} 
header .right-menu.login-menu-icon li.menu-link.has-children .sub-menu a::before, header .right-menu.login-menu-icon ul li.menu-link.has-children .sub-menu a:after {
	display: none;
}
header .right-menu li.menu-link.has-children .sub-menu a {
	color: var(--dark);
	border-right: none;
}
header .right-menu li.menu-link.has-children .sub-menu a:hover {
    color: var(--blue);
}

/* search-menu  */
header .search-menu  {
	display: flex;
    justify-content: center;
}

/*Mobiili menu*/
header .mobile-header {
    display: none;
    padding: 8px 15px;
    align-items: center;
    justify-content: space-between;
}
#full-menu {
    display: none;
    position: fixed;
    overflow: scroll;
    background-color: white;
    width: 100%;
    height: 100%;
	z-index: 10000000;
    top: 0;
    left: 0;
    padding-bottom: 40px;
}
#full-menu .full-menu-top {
    background-color: var(--white);
    padding: 8px 15px 8px 5px;
}
header .mobile-header img {
    max-height: 45px;
}
header .mobile-header #mobile-menu, #full-menu .full-menu-top .full-menu-close {
    border: none;
    width: 47px;
	min-width: 47px;
    height: 47px;
    color: var(--blue);
	background: transparent;
}
header .mobile-header #mobile-menu:after {
    content: "\f0c9";
    font-family: "Font Awesome 5 Pro";
	font-size: 20px;
	content: '';
    background: url('/wp-content/uploads/2024/01/menu-icon.png');
    width: 22px;
    height: 22px;
    display: block;
    margin-right: 6px;
    padding: 22px;
    background-repeat: no-repeat;
    background-position: center;
}
#full-menu .full-menu-top .full-menu-close {
	color: var(--white);
	background-color: var(--blue);
	
	border-radius: 50%;
	width: 30px;
        min-width: 30px;
        max-width: 30px;
	height: 30px;
        max-height: 30px;
 	min-height: 30px;
	line-height: 0;
padding: unset;
}
#full-menu .full-menu-top .full-menu-close i {
font-size: 25px;

}

#full-menu .full-menu-upper-links, #full-menu .full-menu-lower-links {
    margin: 20px auto 20px;
    width: 80%;
}
#full-menu .full-menu-page-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
#full-menu .full-menu-page-title .full-menu-link {
	text-decoration: none;
	font-size: 20px;
	font-weight: 700;
}
#full-menu .full-menu-page-title .full-menu-link .wpml-ls-native {
	font-size: 18px;
	font-weight: 600;
}
#full-menu .full-menu-page-title .full-menu-accordion {
    background-color: transparent;
    border: none;
    margin-right: 2px;
}
.full-menu-accordion:after {
    content: "\f105";
    font-family: "Font Awesome 5 Pro";
    font-size: 24px;
    line-height: 1;
    height: 24px;
    font-weight: 600;
	color: var(--blue);
}
#full-menu .full-menu-subpages {
    display: none;
    position: absolute;
    background-color: white;
    top: 70px;
    width: 80%;
    height: calc(100% - 70px);
}
#full-menu .full-menu-subpages .full-menu-page-title .full-menu-link {
	font-size: 18px;
	font-weight: 600;
	margin-left: 10px;
}
#full-menu .full-menu-close-subpage {
    background-color: var(--blue);
	color: var(--white);
    border: none;
	font-size: 20px;
    font-weight: 700;
    margin: 10px 0 30px;
    display: flex;
    align-items: center;
	width: 100%;
    padding: 10px 15px 10px 22px;
	width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}
#full-menu .full-menu-close-subpage:before {
    content: "\f104";
    font-family: "Font Awesome 5 Pro";
    font-weight: 600;
    margin-right: 18px;
    font-size: 20px;
}
#full-menu .resident-pages-mobilemenu-link {
	margin-top: 40px;
}
#full-menu .resident-pages-mobilemenu-link .full-menu-accordion.mobilemenu-accordion-button {
	display: none;
}


/********/

@media (max-width: 1199.98px) {
	header .nav-bar {
		display: none;
	}
	header .mobile-header {
		display: flex;
	}
}




/**********************************/

/* FOOTER */

footer {
	position: relative;
	margin-top: 50px;
	background: linear-gradient(90deg, var(--white) 45%, var(--blue) 55%, var(--blue) 100%);
}
.footer-background {
	background: var(--blue);
	border-radius: 15px 0 0;
	padding-top: 40px;
	padding-bottom: 50px;
	padding-right: 60px;
}
.footer-left-content {
	padding: 30px 15px 30px 75px;
	font-size: 18px;
    font-weight: 600;
}
.footer-left-content p {
	font-size: 18px;
    font-weight: 600;
}
footer .footer-left-content i {
    color: var(--blue);
    font-size: 22px;
    font-style: normal;
    margin-right: 15px;
}
footer .footer-left-content i.fa-map-marker-alt {
    font-size: 32px;
}
footer .footer-left-content a {
	text-decoration: none;
}
footer .footer-left-content .footer-address {
	display: flex;
    align-items: center;
	margin-bottom: 20px;
}
footer .footer-logo {
	max-width: 284px;
	max-height: 71px;
padding-bottom: 20px;
}
footer .footer-text {
    margin-top: 25px;
}
footer .some-link-block {
	margin: 60px 0 20px;
}
footer .some-link-block a {
    text-decoration: none;
}
footer .some-link-block i {
    color: var(--white);
    width: 36px;
    height: 36px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
}
footer .some-link-block i::before {
    font-size: 27px;
}
footer .some-link-block a:hover i::before {
	color: var(--light-green);
}
footer .footer-title {
	font-size: 18px;
    font-weight: 900;
	margin-bottom: 15px;
    margin-top: 30px;
	color: var(--white);
	padding: 0;
}
footer .footer-background a:hover {
	color: var(--white);
}
footer .footer-link {
    display: block;
	text-decoration: none;
    line-height: 2;
	font-size: 18px;
	font-weight: 600;
	color: var(--white);
	margin-left: 22px;
}
footer .footer-link:before {
    font-family: 'Font Awesome 5 Pro';
    content: "\f054";
    font-weight: 400;
    font-size: 18px;
    color: var(--white);
    position: absolute;
	margin-left: -20px;
}
footer .footer-link:hover {
	color: var(--white);
	text-decoration: underline;
}
.footer-bottom {
	border-top: 1px solid var(--blue);
	background: var(--white);
	color: var(--dark);
	min-height: 50px;
	display: flex;
	align-items: center;
	padding: 15px 0;
}
.footer-bottom .container-fluid {
	display: flex;
    justify-content: center;
}
.footer-bottom span, .footer-bottom a {
	font-size: 13px;
	color: var(--dark);
	padding: 0 15px;
}

/* Back to top button */
#return-to-top {
    right: 15px;
    z-index: 1;
	color: var(--white);
}

.fa-arrow-up:before {
	font-size: 24px;
    font-weight: 700;
}
.back-to-top {
    display: none;
    position: fixed;
    right: 30px;
    bottom: 15px;
    cursor: pointer;
    transition: transform .600ms;
    border: none;
    z-index: 99999;
}

.back-to-top:focus {
    outline: none !important;
}

.back-to-top:focus-visible {
    outline: 1px solid var(--blue) !important;
}

.back-to-top i {
    font-size: 30px;
	font-weight: 100;
    transition: transform 600ms;
	padding: 5px 4px;
}

.back-to-top:hover i {
    transform: scale(1.2);
}

@media only screen and (max-width: 600px) {
    .back-to-top {
        right: 2px;
        bottom: 10px;
    }
}

/* LOADER */
.loader {
	display: block;
	margin: 0 auto 40px;
	color: transparent!important;
	background-color: transparent!important;
	width: 50px;
	height: 50px;
	border: 4px solid blue;
	border-bottom-color: transparent;
	border-radius: 50%;
	box-sizing: border-box;
	animation: sub-product-loading 1s linear infinite;
}
.loader:before {
	height: 0!important;
}
@keyframes sub-product-loading {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/**********************************/

/* PAGE */
a {
	color: var(--black);	
	text-decoration: underline;
}
a:hover {
	color: var(--blue);	
}
.container-fluid {
    max-width: 1440px;
}
.site-content-width {
    max-width: 1360px;
	margin-right: auto;
    margin-left: auto;
}

.ingressi {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}

/*homepage*/
.homepage-hero-kuva {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	min-height: 586px;
	/* display: flex;
	justify-content: center; */
	position: relative;
}
.homepage-hero-kuva.title-ylos {
	align-items: start;
}
.homepage-hero-kuva.title-keskelle {
	align-items: center;
    display: flex;
}
.homepage-hero-kuva.title-alas {
	align-items: end;
	display: flex;
}
.homepage-hero-title {
	text-align: center;
}

.homepage-hero-kuva.title-ylos h1 {
	/* margin-top: 64px; */
	margin-bottom: 20px;
}
.homepage-hero-kuva.title-keskelle h1 {
	margin-bottom: 20px;
}
.homepage-hero-kuva.title-alas h1 {
	margin-bottom: 38px;
    padding-top: 30px;
}
.homepage-hero-title-container {
	background: rgb(4 56 130 / 80%);
	width: 100%;
}

.homepage-apartments-search-container {
	margin-top: -50px;
	margin-bottom: 40px;
	background: var(--white);
	border-radius: 15px;
	padding-top: 30px;
	padding-bottom: 30px;
}
.homepage-apartments-search-container h2 {
	padding-top: 15px;
	padding-left: 50px;
}

/*hero-kuva*/
.page-hero-kuva {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	min-height: 520px;
	margin-bottom: 15px;
}
.page-hero-title {
	padding: 2rem 0 1rem;
}
.page-hero-kuva  .rank-math-breadcrumb {
	margin: 0;
}

/* Notification bar */
#notification-bar {
    padding: 17px 0;
    display: none;
	/* position: absolute;
	top: 0; */
	width: 100%;
}
.homepage-hero-kuva.title-keskelle #notification-bar, .homepage-hero-kuva.title-alas #notification-bar {
	position: absolute;
	top: 0;
}
#notification-bar .container-fluid {
	/* max-width: 100%; */
}
.notification-bar-content {
	display: flex;
    align-items: center;
}
.notification-bar-content i {
	color: var(--white);
	padding-right: 10px;
	font-size: 24px;
}
.notification-bar-content p {
    position: relative;
	font-size: 20px;
	margin-bottom: 0;
}
.notification-bar-content a {
	font-size: 20px;
	color: var(--white)!important;
}
.notification-bar-content a:hover {
	color: var(--white)!important;
	text-decoration: underline;
	background-color: transparent;
}
.notification-bar-content a:hover:after {
	position: relative;
}
#notification-bar #close-notification {
    position: absolute;
    top: 0;
    right: 0;
    background-color: transparent;
    border: none;
    color: var(--white);
    font-size: 20px;
	padding-left: 15px;
}
.page-hero #notification-bar {
	position: inherit;
	max-width: 100%;
	width: 100%;
}


/*breadcrumbs*/
.rank-math-breadcrumb {
	margin: 40px 0 10px
}
.rank-math-breadcrumb p  {
	margin-bottom: 15px;
}
.rank-math-breadcrumb a {
	text-decoration: none;
}

/* go-to-application button */
.go-to-application  {
    position: fixed;
    right: 0;
    /* bottom: -50px; */
	margin-top: -50px;
    z-index: 99;
	display: inline-flex;
    align-items: center;
}
.go-to-application a.go-to-application-block {
	text-decoration: none;
}
.go-to-application .go-to-application-button {
    background-color: var(--blue);
    color: var(--white);
    font-weight: 900;
    font-size: 16px;
    padding: 9px 10px 9px 10px;
	max-width: 138px;
	line-height: 1.2;
}  
.go-to-application-circle {
	background: var(--green);
    height: 100px;
    width: 50px;
    border-radius: 100px 0 0 100px;
    display: flex;
    justify-content: end;
    align-items: center;
}
/**********************************/

/* SINGLE & CUSTOM POST SINGLE */

.single-site-content .single-post-hero {
	margin-bottom: 20px;	
}
.single-site-content .single-post-categories span {
	font-size: 18px;
	font-weight: 600;
}
.single-site-content .single-post-categories a {
	text-decoration: none;
}
.single-site-content h1 {
	padding: 2rem 0 1rem;
}
.single-site-content .single-post-excerpt {
	margin: 15px 0 30px;
	position: relative;
	padding: 35px 15px 40px;
	text-align: center;
	display: flex;
	justify-content: center;
	font-size: 20px;
}
.single-site-content .single-post-content {
	margin-top: 70px;
	margin-bottom: 40px;
}

.single-site-content .post-thumbnail {
	height: 520px;	
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/*post-navigation*/
.post-navigation {
    margin: 100px 0 50px;
}
.post-navigation .container-fluid {
	padding: 0;
}
.post-navigation a {
    font-size: 18px;
	font-weight: 600;
	text-decoration: none;
}
.post-navigation .nav-previous a:hover, .post-navigation .nav-next a:hover {
	text-decoration: none;
	color: var(--dark);
}
.post-navigation .nav-next {
    text-align: right;
}
.post-navigation i {
	border: 2px solid var(--blue);
    border-radius: 50%;
    padding: 6px 9.5px;
    color: #043882;
    font-size: 15px;
    font-style: normal;
    font-family: "Font Awesome 5 Pro";
}
.post-navigation .nav-previous a:hover .fa, .post-navigation .nav-next a:hover .fa {
	background: var(--green);
}
.post-navigation .nav-next i {
	margin-left: 15px;
}
.post-navigation .nav-previous i {
	margin-right: 15px;
}



/**********************************/

/* ARTIKKELILISTAUS */
.categories-buttons {
    justify-content: center;
	padding-top: 10px;
    padding-bottom: 20px;
}
.categories-buttons .cat-buttons {
    margin: 0 20px 15px;
	width: auto;
}
.categories-buttons .cat-buttons .wp-block-button__link.active {
    color: var(--white)!important;
    background: var(--green);
}
.articles {
	margin-bottom: 30px;
}
.articles .post-box {       
	margin: 35px 0px;	
	text-decoration: none;
	display: block;
	padding: 10px;
}
.articles .post-box:hover {       
	text-decoration: none;
    color: var(--dark);
    transform: scale(1.1);
	transition: transform 600ms;
}
.articles .post-box .post-img {    
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 248px;
    aspect-ratio: 15/10;
    height: fit-content;
    border-radius: 10px;
}
.articles .post-content {		
	padding: 15px 5px 10px;	
}
.articles .post-box .post-title {  
	color: var(--dark);
    font-size: 20px;
    padding: 20px 0 15px;
    line-height: 1.4;
    padding-top: 12px;
    margin-bottom: 0;
}
.articles .post-box .article-category span {
	font-size: 15px;
}
.articles .post-box .post-text {  
	margin-bottom: 15px;
}

/* pagination */
.pagination {
    margin: 2rem 0;
    display: flex;
    justify-content: center;
}
.pagination .nav-links {
    display: flex;
    justify-content: center;
}
.pagination .page-numbers {
    margin-right: 15px;
    background-color: transparent;
    color: var(--dark);
    text-decoration: none;
    border: 2px solid var(--green);
    border-radius: 50%;
    width: 41px;
    height: 41px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagination .page-numbers:hover, .pagination .page-numbers.current {
    color: var(--white);
	background: var(--blue);
}
/**********************************/

/* OTHER */

/*404 sivu*/
.error-404.not-found .text {
	margin-top: 20px;
}
.error-404.not-found .asl_w_container, .no-results.not-found .asl_w_container {
	margin: 25px 0;
}
.error-404.not-found img {
	border-radius: 12px;
}

/*Hakutulokset*/
.search-card-image {
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 220px;
	border-radius: 10px;
}
.search-card-image-kp img {
	border-radius: 10px;
}
.searchresults {
	margin: 35px 25px;
    text-decoration: none;
    transition: transform 600ms;
}
.searchresults:hover {
    transform: scale(1.03);
}
.searchresults a {
    text-decoration: none;
	color: var(--dark);
}
.searchresults .row {
	align-items: center;
    display: flex;
}
.searchresults .search-card-title {
	font-size: 20px;
    padding: 20px 0 12px;
    line-height: 1.15;
}
.searchresults:hover a, .searchresults .search-content-link:hover {
	text-decoration: underline;
	color: var(--blue);	
}
.search-page #breadcrumbs, .search-page #breadcrumbs span, .search-page #breadcrumbs a {
    color: var(--dark);
}
.user-main .search-page h1 {
	padding: 1rem 0 3rem;
}

/* gravity form */
fieldset .ginput_container_consent input, .gfield_checkbox .gchoice .gfield-choice-input {
    min-width: 1.25rem;
    min-height: 1.25rem;
    accent-color: var(--blue);
    border: 2px solid var(--blue);
    appearance: none;
    margin-right: 10px;
}
fieldset .ginput_container_consent input:checked, .gfield_checkbox .gchoice .gfield-choice-input:checked {
    background-color: var(--blue);
}
fieldset .ginput_container_consent input:checked[type=checkbox], .gfield_checkbox .gchoice .gfield-choice-input:checked[type=checkbox] {
    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e);
}
.gform_wrapper.gravity-theme .gfield :is(input[type="text"], input[type="email"], input[type="tel"], textarea, input[type="number"]) {
    padding: 0.625rem 1rem;
    line-height: inherit !important;
    background-color: var(--white);
	border: 1px solid var(--gray);
	border-radius: 0;
}
form input[type="submit"] {
    width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
    font-weight: 900;
    font-size: 18px;
    transition: transform .1s;
    text-align: center;
    color: var(--white);
    background-color: var(--blue);
    border-radius: 22px;
    padding: 9px 15px 8px;
	min-width: 222px;
    border: none;
}
form input[type="submit"]:hover {
    text-decoration: none;
    background: var(--green);
    color: var(--dark);
}





/* give-feedback button */
.give-feedback {
    position: fixed;
    right: 0;
    bottom: 50px;
    z-index: 9999999;
	display: inline-flex;
    align-items: center;
}
.give-feedback .give-feedback-button {
    background-color: var(--blue);
    color: var(--white);
    font-weight: 700;
    font-size: 16px;
    padding: 8px 5px 8px 12px;
	max-width: 175px;
	margin-left: 7px;
	line-height: 1.3;
	position: relative;
    cursor: pointer;
	border: none;
}
.give-feedback #give-feedback-content {
    padding: 40px 30px;
	position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1050;
    background: var(--white);
	color: var(--dark);
	width: 500px;
	cursor: auto;
	box-shadow: 0 5px 10px 0px rgb(86 99 109 / 30%);
	height: 550px;
    overflow: auto;
}
.give-feedback #give-feedback-content button {
        position: absolute;
        right: 20px;
        top: 10px;
        background-color: transparent;
        border: none;
        font-size: 26px;
}
.give-feedback #give-feedback-content button i.far {
   font-weight: 100;
}
.give-feedback #give-feedback-content button i.fa-times:before {
    font-family: "Font Awesome 5 Pro";
}

.feedback-hidden {
	display: none!important; 
}

/**********************************/



/* BREAKPOINTS */
	/*MIN*/
	@media (min-width: 931px) {
		.tammi-mobiilivalikko {
			display: none !important;
		}
	}


@media (max-width: 991.98px) {	
	
	footer {
		background: var(--white);
	}
	.footer-background {
		padding: 10px 20px 40px;
		border-radius: 0;
	}
	.footer-background .column-padding {
		padding-right: 20px;
		padding-left: 20px;
	}
	.footer-left-content {
		padding: 30px 35px;
	}
	.categories-buttons {
		padding-bottom: 10px;
	}
	.categories-buttons .cat-buttons {
		margin: 0 8px 5px;
	}
	.categories-buttons .cat-buttons .wp-block-button__link {
		min-width: unset;
	}

}
@media (max-width: 767.98px) { 
	
}
@media (max-width: 575.98px) { 
	.homepage-hero-kuva {
		min-height: 314px;
	}	
	.page-hero-kuva {
		min-height: 300px;
	}
	#notification-bar {
		padding: 12px 0;	
	}	
	.notification-bar-content i {
		font-size: 20px;
	}
	.notification-bar-content p {
		font-size: 16px;
	}
	.notification-bar-content a {
		font-size: 16px;
	}
		
}