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

/* --------------------------------------------------------------
## Header
-------------------------------------------------------------- */
header .ylapalkki {
  z-index: 999;
}
header .page-for-application .indicator {
  position: absolute;
  top: -.25rem;
  left: -.25rem;
  min-width: .75rem;
  min-height: .75rem;
  background-color: #f05374;
  border-radius: 50%;
}
@media (min-width: 992px) {
  header .navbar-nav {
    row-gap: 1rem;
    align-items: center;
    justify-content: flex-end;
  }
  header .page-for-application a:is(:hover, :focus) {
    transform: scale(1.1);
  }
}

/* --------------------------------------------------------------
## Buttons
-------------------------------------------------------------- */
.button.button-border, .button.button-border:visited  {
  color: inherit;
  background-color: #fff;
}
button:disabled {
  pointer-events: none;
  opacity: .5;
}
#asuntohaku-button:before {
  content: "\f053";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 15px;
}

/* --------------------------------------------------------------
## Asuntohaku
-------------------------------------------------------------- */
.archive-apartments-hero-background {
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 520px;
    position: relative;
    padding: 40px 60px;
}	
.apartment-search-form-row {
	margin-top: -450px;
}
.apartment-search-form-container {
	background: var(--white);
    border-radius: 15px;
	padding: 40px 0;
}
.archive-apartments-title {
	padding-left: 40px;
	padding-right: 40px;
}
.apartment-search-form-padding {
	padding-left: 40px;
	padding-right: 40px;
}
.archive-apartments-title h1 {
	padding-top: 10px;
}
.apartment-search-form {
    height: 100%;
  
}
.apartment-search-form .form-row, .homepage-apartment-search-form .form-row {
	display: block;
}
.homepage-apartment-search-form i {
	padding-right: 10px;
}
.apartment-search-form .form-row > [class*="col"] {
  padding-top: 5px;
  padding-bottom: 5px;
}
.apartment-search-form .form-row .form-row {
  margin-top: -5px;
  margin-bottom: -5px;
}
.apartment-search-form .form-group {
  margin-bottom: 0;
	  padding: 1rem 0;
}
.apartment-search-form .form-group-title, .homepage-apartment-search-form .form-group-title {
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 1rem;
}
.row.form-container .required-label:after {
    content: '*';
    color: red;
    margin-left: 3px;
}
.apartment-search-form .form-check, .homepage-apartment-search-form .form-check {
    padding-bottom: 0.5rem;
}
.apartment-search-form .form-check-input, .homepage-apartment-search-form .form-check-input {
  min-width: 24px;
  min-height: 24px;
  margin-top: 0;
  margin-left: -1.25rem;
  accent-color: var(--blue);
  border: 2px solid var(--blue);
  appearance: none;
  background: var(--white);
}
.form-check-input:checked {
    background-color: var(--blue);
}
.apartment-search-form .form-check-label, .homepage-apartment-search-form .form-check-label {
  padding: 0 0 5px 20px;
}
.homepage-apartments-search-box-row {
	margin-bottom: 15px;
}
.homepage-apartment-search-form .wp-block-button__link {
	border: none;
}
.homepage-apartments-search-box-row:after {
    display: block;
    content: "";
    height: 13px;
    background-color: var(--blue);
    margin-left: 0;
    border-radius: 0 0 10px 10px;
}
.homepage-apartments-search-box {
	padding: 20px 30px 30px 50px;
}
.homepage-apartment-search-form .wp-block-button {
	display: flex;
    justify-content: end;
}

.apartment-search-form #apartment-search-form-link-app {
	    margin-right: 25px;
}
.apartment-search-form label:not(.form-check-label), .apartment-search-form .otsikko-p {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.2;
}
.bootstrap-select>.dropdown-toggle {
	background: var(--light-gray);
	color: var(--dark)!important;
	border: none;
}
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
	color: #7B7B7B;
}
.dropdown-toggle::after {
  border: solid var(--blue)!important;
  border-width: 0 2px 2px 0!important;
  padding: 4px!important;
	transform: rotate(45deg)!important;
  -webkit-transform: rotate(45deg)!important;
}
.form-input-container {
	background: var(--light-gray);
	display: inline-flex;
    width: 100%;
	border: none;
}
.form-input-container input {
	border:none!important;
	background: var(--light-gray)!important;
	padding: 0 0.75rem!important;
}
.form-input-container::after {
	content: '€';
	font-size: 20px;
	display: flex;
    align-items: center;
	padding: 0 0.75rem;
}
.apartment-search-form #pinta-ala-min, .apartment-search-form #pinta-ala-max {
		background: var(--light-gray);
	border: none!important;
	border-radius: 0!important;
	    padding: 0 0.75rem;
}
.apartment-search-form .pinta-ala-viiva {
	color: var(--dark);
	font-size: 25px;
    font-weight: 900;
}
.apartment-search-form .form-property {
	text-transform: capitalize;
}
.apartment-search-form button[type="reset"] {
  padding: 0;
  color: initial !important;
  background: none;
  border: 0;
  border-bottom: 1px solid transparent;
}
.apartment-search-form button[type="reset"]:hover {
  border-color: #000;
}

.archive-apartments-page {
	margin-top: 40px;
}
.archive-apartments-page .results-row {
	margin-bottom: 5px;
}
.apartment-search-form #apartment-search-form-submit i {
    padding-right: 10px;
}
.apartment-search-form .form-check-input:checked[type=radio] {
    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");
}
.apartment-search-form .form-check-input:checked[type=checkbox], .homepage-apartment-search-form .form-check-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");
}

.apartment-search-form #additional-fields {
	border-top: 1px solid var(--green);
	border-bottom: 1px solid var(--green);
	padding-top: 20px;
	padding-bottom: 15px;
	margin-bottom: 30px;
}
.apartment-search-form-buttons-row {
	padding-top: 20px;
	padding-bottom: 20px;
	display: block;
}
.apartment-search-form-buttons-row:before {
    display: block;
    content: "";
    height: 11px;
    background-color: var(--blue);
    margin-left: 0;
    border-radius: 0 0 10px 10px;
}
.archive-apartments-tab {
	text-align: end;
}
.archive-apartments-tab button, .apartment-results-container span {
	font-size: 18px;
	font-weight: 600;
}

#posts-row .kohde-not-found {
  display: block;
  width: 50%;
  margin: 15px auto;
  text-align: center;
}
.apartment-search-form .properties fieldset {
    display: flex;
    width: 100%;
    padding: 0;
}

@media (max-width: 991.98px) {
	.homepage-apartment-search-form  {
		border-radius: 12px 12px 0 0;
		padding: 20px;
	}
	.archive-apartments-hero-background {
		padding: 20px;
	}
}
@media (max-width: 575.98px) { 
	.apartment-search-form-container {
		padding: 30px 0;
	}
	.archive-apartments-title, .apartment-search-form-padding {
		padding-left: 15px;
		padding-right: 15px;
	}
	.homepage-apartment-search-form .wp-block-button__link, .apartment-search-form #apartment-search-form-submit {
		min-width: auto;
	}
	.homepage-apartment-search-form .wp-block-button {
		justify-content: center;
	}
	.apartment-search-form {
		padding: 15px;
	}
	.apartment-search-form .wp-block-button {
		display: flex;
		justify-content: center;
		width: 100%;	
	}
	.apartment-search-form #additional-fields span.characteristics-span {
		font-size: 15px;
	}
	.archive-apartments-page {
		border-radius: 0 100px 0 0;
	}
	.archive-apartments-page h1 {
		padding-top: 35px;
	}
	.archive-apartments-page-icon {
   		padding: 20px;
		top: -32px;
	}
	.archive-apartments-page-icon img {
   		width: 70%;
	}
}
@media (min-width: 481px) {
  .apartment-search-form label:not(.form-check-label), .apartment-search-form .otsikko-p {
   /* font-size: 1.1em;*/
  }
}

/* Kartta lisäykset */
.display-method {
  background-color: transparent;
  border: none;
}
.display-method:focus, .display-method:hover {
  background-color: transparent;
  color: var(--blue) !important;
}
.display-method.active-method {
  text-decoration: underline;
}

#kohdehaku-map .gm-style-iw {
  width: 400px;
  padding: 0 !important;
}
#kohdehaku-map .gm-style-iw-d {
  padding: 0 !important;
  overflow: auto !important;
}
#kohdehaku-map .gm-ui-hover-effect {
  right: 0 !important;
}
#kohdehaku-map .gm-ui-hover-effect > span {
  width: 22px !important;
  height: 22px !important;
}
#kohdehaku-map .gm-style-iw .apartment-card {
  width: 100%;
  max-width: 100%;
  padding: 25px 20px 15px !important;
}
#kohdehaku-map .gm-style-iw .apartment-card:hover {
    transform: none;
}
#kohdehaku-map .gm-style-iw .apartment-card img {
  max-height: 170px;
  max-width: 100% !important;
}
#kohdehaku-map .gm-style-iw .apartment-card__link:hover {
  transform: none;
}
#kohdehaku-map .gm-style-iw .apartment-card .post-excerpt {
  display: none;
}
@media (max-width: 575.98px) { 
	#kohdehaku-map .gm-style-iw {
  		width: 280px;
	}
}
/* --------------------------------------------------------------
## Asuntohaun lisäkentät
-------------------------------------------------------------- */
.apartment-search-form button[data-toggle="collapse"] {
  display: flex;
  align-items: center;
  padding: 1rem 1.5rem;
  background: none;
  border: none;
}
.collapse-icon {
  min-width: 26px;
  width: auto;
  min-height: 26px;
  font-size: 26px;
  line-height: 1.25;
  color: var(--black);
  text-align: center;
  border-radius: none;
  display: inline-block;
  margin-left: 10px;
	padding: 0;
}
.collapse-icon:after, collapse-icon.dowv-icon:after {
	 content: "\f347";
    font-family: "dashicons";
}
.collapse-icon.up-icon:after {
	 content: "\f343";
	color: var(--dark);
}
.accordion button[data-toggle="collapse"]:is(:hover) .collapse-icon.up-icon:after {
	color: var(--dark);
}
.accordion button[aria-expanded="true"] .collapse-icon:after {
	 content: "\f343";
	color: var(--dark);
}
.accordion button[aria-expanded="true"] {
	 content: "\f343";
	color: var(--dark);
}
.collapse-body {
  margin-top: -1px;
  border: 1px solid var(--border);
}
.collapse-body .form-group {
  border: 0;
}
#load-more-kp {
  margin: 30px auto;
  display: block;
  border: none;
}

/* --------------------------------------------------------------
## Popovers
-------------------------------------------------------------- */

.has-popover {
  position: relative;
}
.has-popover > :first-child {
  display: inline-block;
  width: auto;
  max-width: calc(100% - 2.75rem);
  margin-right: 1rem;
}
button[data-toggle="popover"] {
  width: 1.375rem;
  height: 1.375rem;
  padding: 0;
  font-weight: 700;
  vertical-align: top;
  background-color: var(--blue);
	color: var(--white);
  border: 0;
  border-radius: 50%;
}
div.popover {
  font-family: 'Ubuntu', sans-serif;
  background-color: var(--blue);
}
div.bs-popover-top > .arrow::after {
  border-top-color: var(--blue);
}
div.bs-popover-bottom > .arrow::after {
  border-bottom-color: var(--blue);
}
div.popover-body {
  color: #fff;
}

/* --------------------------------------------------------------
## Modal
-------------------------------------------------------------- */
.modal-container .modal-dialog {
  max-width: 900px;
}
.modal-container .modal-content {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: 0;
}
.modal-container .modal-content h2 {
  font-size: 1.875rem;
  font-weight: 400;
  color: var(--blue);
	text-align: center;
}
.modal-container .modal-content table, .modal-container .modal-content th, .modal-container .modal-content td {
	border: none!important;
}
.modal-container .modal-header {
  border-bottom: 0;
}
.modal-container .modal-header .close {
  font-size: 5rem;
  font-weight: 400;
  line-height: .5;
  color: var(--blue) !important;
}
.modal-container .modal-header .close:focus {
  background-color: transparent;
}
.modal-container .modal-footer {
  border-top: 0;
}
.modal-container .modal-footer button {
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;   
    border-radius: 30px;  
	border: none;
    color: var(--dark);
    background-color: var(--light-gray);
    padding: 8px 15px 7px;
}
.modal-container .modal-footer button:hover {
    background-color: var(--dark);
    color: var(--white);
}
.modal-container .modal-footer a.button {
	width: fit-content;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 9px 15px 8px;
	 text-decoration: none;
}
.modal-container .modal-footer a.button:hover {
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}
.modal-container .modal-content td {
    background:transparent;
}
/* --------------------------------------------------------------
## Accordion
-------------------------------------------------------------- */
.accordion button[data-toggle="collapse"] {
  display: flex;
  gap: 1rem;
    justify-content: space-between;
    align-items: center;
  width: 100%;
  padding: .5rem 1rem;
  color: var;
  text-align: left;
  background: none;
  border-radius: none;
	border: none;
	border-top: 2px solid var(--green);
    padding: 15px;
	margin-left: 0;
	font-size: 18px;
    padding: 15px;
}
.accordion button[data-toggle="collapse"] span {
	    font-weight: 700;
}
.accordion button[data-toggle="collapse"]:is(:hover),.accordion button[aria-expanded="true"] {
  	background-color: var(--light-green);
}

/* --------------------------------------------------------------
## Kohdekortit
-------------------------------------------------------------- */
.apartment-card {
  padding: 15px !important;
  text-decoration: none !important;
  border-radius: 3px;
/*   box-shadow: 0 3px 6px rgba(64, 94, 168, .15); */
/*   transition: box-shadow 100ms linear, transform 100ms linear; */
	transition: transform 600ms;
}
.apartment-card:hover {
/*   box-shadow: 0 6px 12px rgba(64, 94, 168, .3); */
  transform: scale(1.05);
}
.apartment-card__link {
	display: block;
	 text-decoration: none;
	padding: 10px 0;
    background: var(--white);
}
.apartment-card__link:hover, .apartment-card__link:focus {
  color: var(--blue);
  text-decoration: none !important;
}
.apartment-card article {
	display: flex;
    flex-direction: column;
}

.apartment-card article .apartment-card-content {
	padding: 5px 0 0;
	height: 100%;
}
.apartment-card:hover .apartment-card-target-type {
	top: -1px;
}
.apartment-card .post-thumbnail img {
  aspect-ratio: 15 /10;
  object-fit: cover;
  border-radius: 10px;
}
.apartment-card .post-thumbnail {
	position: relative;
	margin-bottom: 10px;
}
.apartment-card .post-thumbnail:hover .apartment-card-status {
	color: var(--dark);
}

.apartment-card .apartment-card-target-type {
    font-size: 12px;
    padding: 4px;
    position: absolute;
	top: 0;
    text-decoration: none;
	background: var(--apv2);
	text-align: center;
    width: 100%;
}
.apartment-card .apartment-card-status {
    min-height: 32px;
    background-color: var(--white);
    font-size: 16px;
    padding: 5px 15px;
    position: absolute;
    top: 25px;
    right: 0;
    min-width: 203px;
    text-align: center;
}
.apartment-card .apartment-card-header {
	margin-bottom: 15px;
	border-bottom: 1px solid var(--green);
}
.apartment-card .apartment-card-header p {
  font-weight: 800;
	font-size: 20px;
	padding: 5px 0;
}
.apartment-card .apartment-card-header span {
	display: block;
	margin-bottom: 5px;
	min-height: 24px;
} 
.apartment-card .apartment-card-header h3 {
	padding-top: 0;
	padding-bottom: 10px;
}
.apartment-card .apartment-card-body {
  flex-grow: 1;
}
.apartment-card .post-excerpt {
  font-size: .875rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.apartment-card .apartment-card-icon-div {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 1rem;
}
.apartment-card .apartment-card-icon-div:last-of-type {
  margin: 0;
}
.apartment-card .apartment-card-icon-div img {
  width: 26px;
  margin-right: 30px;
}
.apartment-card .apartment-card-icon-div p {
  margin: 0;
  font-size: 0.95rem;
}

.apartment-card .price {
    min-height: 32px;
    background-color: var(--blue);
	color: var(--white);
    font-size: 20px;
	font-weight: 900;
    padding: 5px 15px;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    text-align: end;
	border-radius: 0 0 10px 10px;
}
.apartment-card .price span {
  font-weight: 900;
  font-size: 20px;
}
.apartment-card button {
  width: 100%;
  padding: 10px 0;
  background: none !important;
  border: 0;
	font-size: 20px;
	font-weight: 800;
}
.apartment-card button:is(:hover, :focus) {
  color: var(--blue);
}

.apartment-card .free-apartment-box {
	background: var(--light-gray);
	border-radius: 5px;
	padding: 7px 10px;
	display: grid;
    height: 100%;
    align-content: space-between;
}
.apartment-card .free-apartment-box  .free-apartment-price {
	font-weight: 500;
  	font-size: 20px;
}
.apartment-card .apartment-card-bottom-row {
	padding: 0 15px 5px;
	margin-top: 15px;
}
.apartment-card .apartment-card-bottom-button {
	background: var(--light-green);
	border-radius: 0 0 15px 15px;
}
/* --------------------------------------------------------------
## Kohdesivu
-------------------------------------------------------------- */
.single-kustannuspaikka #notification-bar {
    position: relative;
   top: auto;
    left: auto;
    max-width: inherit;
    width: 100%;
	margin-bottom: 10px;
}
.single-kustannuspaikka hr {
	margin-top: 0;
}
.single-kustannuspaikka #breadcrumbs, .single-kustannuspaikka #breadcrumbs span, .single-kustannuspaikka #breadcrumbs a {
    color: var(--black);
}
.single-kustannuspaikka .post-thumbnail img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.single-kustannuspaikka .kaupunginosa {
 	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}

.distances-title {
	margin-bottom: 10px;
	padding-top: 10px;
}

.single-kustannuspaikka #apartment-types {
	overflow-x: auto;
}
.single-kustannuspaikka .accordion > * {
  min-width: 600px;
	padding: 15px 15px 20px;
}
.single-kustannuspaikka #apartment-types.accordion {
	border-bottom: 2px solid var(--green);
}
.single-kustannuspaikka .accordion button[data-toggle="collapse"] {
    display: flex;
    gap: 0;
}
.single-kustannuspaikka .reittiopas iframe {
  height: 250px;
  margin-top: 0;
  border: 0;
}
.complex-details {
  word-break: break-word;
}
.single-kustannuspaikka tbody tr {
    border-bottom: none;
}

.single-kustannuspaikka h1 {
	padding-top: 10px;
}
.single-kustannuspaikka .wp-block-button__link {
	border: none;
	margin: 50px 0 30px;
	min-width: 360px;
}
.single-kustannuspaikka .parking-spaces-title {
	font-weight: 700;
}
.single-kustannuspaikka .apartments-table {
	margin-bottom: 50px;
}
.single-kustannuspaikka .object-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
	padding-top: 35px;
}

.single-kustannuspaikka .apartment-boxes-title {
	padding-left: 45px;
    padding-bottom: 30px;
	text-align: center;
}

.single-kustannuspaikka .background-container {
	background: var(--light-gray);
}
/* --------------------------------------------------------------
## Tables
-------------------------------------------------------------- */
.table-container {
  background-color: transparent;
}
table.table {
  margin: 0 -.25rem;
}
table.table td,
table.table th {
  padding: .25rem;
}
.single-kustannuspaikka .table-container {
	padding-top: 20px;
	padding-bottom: 30px;
}
.single-kustannuspaikka .table-container.distances {
	padding-left: 0;
}
.single-kustannuspaikka table {
	margin: 0;
}

.single-kustannuspaikka table, .single-kustannuspaikka table th, .single-kustannuspaikka table td {
	border: none!important;
}
.single-kustannuspaikka table td {
	background: transparent;
}
.single-kustannuspaikka table th {
	padding: 5px 0px!important;
}
.distances table th {
	padding: 5px 0px 3px!important;
	font-weight: 700;
	margin-bottom: 0;
}
table caption {
    opacity: 0;
    height: 0;
    padding: 0;
} 
.available-apartments-table {
	padding: 15px;
	overflow-x: auto;
}
.available-apartments-table .available-apartments-row {
	border: 1px solid var(--green);
	min-width: 600px;
}
.type-av-apartment {
	font-size: 18px;
	font-weight: 700;
}
/* --------------------------------------------------------------
## Bootstrap-select
-------------------------------------------------------------- */
.bootstrap-select .dropdown-menu {
  padding: .5rem 0;
  margin: .125rem 0 0;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, .15);
}
.bootstrap-select .dropdown-item {
  padding: .25rem 1.5rem;
}
.bootstrap-select .text {
  padding-top: 0;
  padding-bottom: 0;
}

/* --------------------------------------------------------------
## Swiper
-------------------------------------------------------------- */
.swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  aspect-ratio: 15 / 10;
  object-fit: cover;
	border-radius: 15px;
}
.swiper-main {
  height: 80%;
	margin-bottom: 15px;
}
.swiper-main .swiper-slide img {
  object-fit: cover;
/* 	aspect-ratio: auto; */
	margin-bottom: 15px;
	border-radius: 15px;
}
.swiper-thumbs-container {
  position: relative;
  height: 22%;
  padding: 0 3rem;
}
.swiper-thumbs {
  height: 100%;
  padding-top: 10px;
}
.swiper-thumbs .swiper-slide {
  opacity: .4;
}
.swiper-thumbs .swiper-slide:hover {
  cursor: pointer;
  opacity: 1;
}
.swiper-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}
.swiper-button-next,
.swiper-button-prev {
  --swiper-navigation-color: #fff;
  width: 2rem;
  height: 2rem;
  margin-top: -10px;
  background: transparent;
  border-radius: 50%;
}
.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 30px;
	font-family: "Font Awesome 5 Pro";
    color: var(--blue);
}
.swiper-button-next::after {
	content: "\f138";
}
.swiper-button-prev::after {
	content: "\f137";
}
.sw
.swiper-button-next {
  right: 0;
}
.swiper-button-prev {
  left: 0;
}

/* --------------------------------------------------------------
## Gravity Forms
-------------------------------------------------------------- */
.gform_wrapper.gravity-theme .gform_required_legend {
  display: none;
}

.gravity-theme input::placeholder, .gravity-theme textarea::placeholder {
  color: #4d4c4c;
}
.ts-hidden-accessible {
	display: none;
}
.gform_wrapper.gravity-theme .gfield.gsection {
  padding: 0;
  border-bottom: 0;
}
.gform_wrapper.gravity-theme .gfield.gsection .gsection_title {
/*   font-size: 1.5rem; */
}
.gform_wrapper.gravity-theme .gfield .gfield_label {
  font-weight: 400;
}
.gform_wrapper.gravity-theme .gfield :is(input[type="text"], input[type="email"], input[type="tel"], textarea, input[type="number"]) {
  padding: .625rem 1rem;
  line-height: inherit !important;
  background-color: var(--light-gray);
  border: 0;
}
.gform_wrapper.gravity-theme .gfield select {
  padding: .75rem 1rem;
  background-color: var(--light-gray);
   border: 0;
}
label.gfield_consent_label {
  width: unset;
}
.gform_wrapper.gravity-theme .gform_previous_button.button,
.gform_wrapper.gravity-theme .gform_save_link.button {
  color: var(--dark);
}
.gform_wrapper.gravity-theme .gform_save_link.button:is(:hover, :focus) {
  background-color: var(--blue);
}
.gpnf-nested-entries thead {
  background-color: var(--blue);
}
.gpnf-nested-entries tbody td {
    background: transparent;
}
.gpnf-nested-entries thead th {
  border: none!important;
	 background: transparent;
}
.gsection_title {
  margin-top: 0;
}
.asuntohakemus-col {
  min-height: 75vh;
}

input.gform_next_button {
	width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
	font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
   padding: 9px 15px 8px;
    min-width: 222px;
	border: none;
	line-height: 1.5!important;
}
input.gform_next_button:hover {
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}
button.gpnf-add-entry, input.gform_previous_button {
	width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
	font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    border-radius: 30px;
    min-width: 222px;
	border: none!important;
    color: var(--dark)!important;
    background-color: var(--light-gray)!important;
    padding: 9px 15px 8px!important;
}
button.gpnf-add-entry:hover, input.gform_previous_button:hover {
	background-color: var(--blue)!important;
    color: var(--white)!important;
}
.gform_page_footer {
	text-align: end;
}
.gpnf-nested-entries {
    border: 1px solid rgba(0,0,0,.1)!important;
}
.gpnf-nested-entries th {
   color: var(--white)!important;
	font-weight: 400!important;
    text-transform: inherit!important;
    font-size: 18px!important;
}
.gpnf-nested-entries td, .gpnf-nested-entries th {
    padding: 1rem!important;
}
form .gftt-icon {
	margin-left: 12px;
}
form .gftt-icon:before {
    background: var(--blue);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
	padding-top: 1px;
}
form .gfield_description.gform_fileupload_rules {
	display: none!important;
}
.gform-body .ts-control {
   background-color: var(--light-gray);
    border: 0;
}
.ts-wrapper:not(.form-control):not(.form-select).single .ts-control {
    background-image: none!important;
}
.focus .ts-control {
    box-shadow: 0 0 0 0.25rem var(--light-green)!important;
}
#asuntohakemus-col .application-button-to-apartments {
	margin-top: -68px;
}

@media (max-width: 712px) {
	.tingle-modal-box__footer .tingle-btn {
		width: 50%!important;
		margin-bottom: 0!important;
		padding: 1rem 0.5rem!important;
	}
	.tingle-modal-box__footer .gpnf-btn-cancel-mobile {
		min-width: calc(50% - 1rem)!important;
	}
	.tingle-modal-box__footer {
    	padding: 0.5rem!important;
	}
}

/* file upload button */
.gform_wrapper.gravity-theme .gform_drop_area {
    background: transparent!important;
    border: none!important;
    padding: 7px 0 0!important;
    text-align: start!important;
}
.gform_wrapper.gravity-theme .gform_drop_instructions {
    display: none!important;
}
.ginput_container_fileupload .button.gform_button_select_files {
	 color: transparent;
	background: transparent;
    border: none;
}
.ginput_container_fileupload .button.gform_button_select_files::before {
  position: absolute;
  pointer-events: none;
  top: -12px;
  left: 0;
  font-size: 30px;
  font-weight: 600;
  content: "+";
  color: var(--blue);
}

:lang(fi) .ginput_container_fileupload .button.gform_button_select_files::after {
  position: absolute;
  pointer-events: none;
  top: 1px;
  left: 35px;
  color: var(--dark);
  content: "Lisää liite";
	    width: 200px;
    text-align: left;
}
:lang(en) .ginput_container_fileupload .button.gform_button_select_files::after {
  position: absolute;
  pointer-events: none;
  top: 1px;
  left: 35px;
  color: var(--dark);
  content: "Add an attachment";
	    width: 200px;
    text-align: left;
}

.gfield_radio .gchoice {
	margin-bottom: 5px;
	margin-top: 5px;
}
.gfield_radio .gchoice .gfield-choice-input {
	min-width: 1.25rem;
    min-height: 1.25rem;
    accent-color: var(--dark);
    border: 2px solid var(--blue);
	appearance: none;
	border-radius: 50%;
	margin-right: 10px;
}
.gfield_radio .gchoice .gfield-choice-input:checked {
    background-color: var(--blue);
}
.gfield_radio .gchoice .gfield-choice-input:checked[type=radio] {
     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");
}
.gpnf-btn-cancel.tingle-btn--default {
    background-color: var(--dark)!important;
}
.gpnf-modal .tingle-btn {
    border-radius: 30px!important;
}
.gpnf-btn-cancel.tingle-btn--danger {
    background-color: var(--blue)!important;
}
.ginput_container_number .gfield_description.instruction {
	display: none;
}

form .gfield.hakemus-yhteenveto table {
	border-collapse: initial;
	margin-bottom: 0;
}
form .gfield.hakemus-yhteenveto table tr {
	background: transparent;
	font-size: 16px!important;
}
form .gfield.hakemus-yhteenveto table .gf-all-fields-field {
	display: flex;
}
form .gfield.hakemus-yhteenveto table .gf-all-fields-field span.gf-all-fields-label, form .gfield.hakemus-yhteenveto table font strong {
	font-size: 16px;
	font-weight: 700;
	width: 50%;
}
form .gfield.hakemus-yhteenveto table .gf-all-fields-field span.gf-all-fields-field, form .gfield.hakemus-yhteenveto table font {
	font-size: 16px!important;
	width: 50%;
}
.page-template-vaihtohakemus form .gfield.hakemus-yhteenveto table td {
 	width: 50%;
}
form#gform_3 .gfield.hakemus-yhteenveto table table tr:first-child td,
form#gform_3 .gfield.hakemus-yhteenveto table table tr:nth-child(4) td {
	font-size: 30px!important;
}
form#gform_3 .gfield.hakemus-yhteenveto table table tr:nth-child(2) td strong,
form#gform_3 .gfield.hakemus-yhteenveto table table tr:nth-child(5) td strong {
	font-size: 20px!important;
}
form#gform_3 .gfield.hakemus-yhteenveto table table tr:nth-child(7) td strong, form#gform_3 .gfield.hakemus-yhteenveto table table tr:nth-child(11) td strong {
	display: block;
	margin-top: 25px!important;
}

form .gfield.form-background {
	background: var(--white);
	padding: 30px 0;
}
form .margin-bottom {
	margin-bottom: 40px;
}
hr.horizontal-line {
    width: 90%;
    margin: auto;
	margin-bottom: 20px;
}
fieldset .ginput_container_consent input, .gfield_checkbox .gchoice .gfield-choice-input {
	min-width: 1.25rem;
    min-height: 1.25rem;
    accent-color: var(--light-green);
    border: 2px solid var(--light-green);
	appearance: none;
	margin-right: 10px;
}
fieldset .ginput_container_consent input:checked, .gfield_checkbox .gchoice .gfield-choice-input:checked {
    background-color: var(--light-green);
}
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");
}
form input[type="submit"] {
	width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
	font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 17px 15px 15px;
    min-width: 222px;
	border: none;
}
form input[type="submit"]:hover {
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}

/* --------------------------------------------------------------
## Asuntohakemus
-------------------------------------------------------------- */

.application-page {
	background: var(--white);
    border-radius: 15px;
    padding: 20px 15px 40px;
	
}
.application-page button[data-toggle="popover"] {
	margin-top: -20px;
}
.application-ingressi {
	font-size: 18px;
	margin-top: 30px;
	margin-bottom: 30px;
	display: none;
}
.application-ingressi p {
	font-weight: 400;
}
.asuntotiedot-container {
  padding-bottom: 2rem;
}
.asuntotiedot-container .form-data-table-visibility tbody td {
    background: transparent;
}
.asuntotiedot-container h2, h2.app-page2-title {
  font-size: 25px;
  padding: 35px 0 10px;
}
#asuntohakemus-col .gform_heading .gform_description {
	margin-bottom: 0;
}
.asuntotiedot-container table {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
/*   min-height: 350px; */
  background-color: white;
}
.asuntotiedot-container table, .asuntotiedot-container th, .asuntotiedot-container td,
form .gfield.hakemus-yhteenveto table, form .gfield.hakemus-yhteenveto table th, form .gfield.hakemus-yhteenveto table td {
	border: none!important;
}
.page-template-asuntohakemus .sidebar, .page-template-vaihtohakemus .sidebar {
	background: var(--white);
	margin-left: 20px;
	padding: 20px 20px 40px;
}
.asuntotiedot-container table tbody tr {
    border-bottom: none;
}
#palaa-hakuun {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0 1rem 1rem;
  margin: 0 -.25rem;
  color: #333;
  background-color: white;
}
#palaa-hakuun > i {
  margin-right: .5rem;
  font-size: 16px;
}
#palaa-hakuun:is(:hover, :focus) {
  text-decoration: none;
}
#palaa-hakuun:is(:hover, :focus) span {
  text-decoration: underline;
}
.min-complex-warning {
  position: absolute;
  top: 2.7em;
}
#kohde-list {
  max-height: 665px;
  overflow-y: auto;
  scrollbar-gutter: stable;
	padding: 0 15px;
}
.kohde-kortti.row {
  position: relative;
  margin: 0 auto 1rem;
  background-color: white;
/*   box-shadow: 0 3px 6px #405ea825; */
}
#kohde-list .kohde-kortti.row {
	max-width: 47%;
	 margin: 0 1rem 1rem 0;
}
.kohde-kortti-complex-col {
	padding-right: 25px!important;
    padding-left: 25px!important;
}
.kohde-kortti-image-container {
  display: block;
  margin-right: -25px;
  margin-left: -25px;
}
.kohde-kortti-image-container > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	aspect-ratio: 15 /10;
	border-radius: 12px;
}
.kohde-kortti-kohde {
  display: flex;
  flex-direction: column;
  align-items: start;
  padding: 10px 0;
  text-decoration: none;
}
.kohde-kortti-kohde .kohde-kortti-name {
	font-weight: 700;
}
.kohde-kortti-kohde:is(:focus, :hover) {
    color: var(--blue);
}
p.kohde-kortti-kuvaus {
  display: -webkit-box;
  margin-top: .5rem;
  margin-top: 1rem;
  overflow: hidden;
  font-size: .9rem;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.kohde-kortti-kohderyhmat,
.kohde-kortti-huoneistotyypit {
  display: flex;
  align-items: center;
  margin-bottom: .5rem;
}
.kohde-kortti-kohderyhmat > i > img,
.kohde-kortti-huoneistotyypit > i > img {
  width: 24px;
  max-width: unset;
  margin-right: 1rem;
}
.kohde-kortti-subtitle {

}
.kohde-kortti-kohderyhmat-tiedot,
.kohde-kortti-huoneistotyypit-tiedot {
  display: flex;
  flex-direction: column;
}
span.kohde-kortti-kohderyhma {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
span.kohde-kortti-huoneistotyyppi {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kohde-kortti-hinta {
  margin-bottom: 1.5rem;
  font-size: 18px;
  color: var(--blue);
}
.kohde-kortti-hinta span {
  font-weight: 700;
}
button.kohde-kortti-close {
  position: absolute;
  right: 0;
  margin-top: .5rem;
  color: var(--dark);
  background: var(--light-green);
  border: none;
	border-radius: 50%;
	width: auto;
	width: 22px;
    height: 22px;
    padding: 1px 0 0 0.5px;
}
.kohde-kortti-close:focus {
  background: none;
  color: var(--dark)!important;
}
.gform_confirmation_wrapper .fa-check-circle {
  display: block;
  color: var(--blue);
  text-align: center;
}
.gform-body .gfield_html table td {
	background: transparent!important;
	padding: 0!important;
}
.page-template-asuntohakemus table caption {
    opacity: 0;
    height: 0;	
}

/*Hakemuksen muokkaus*/
.application-page #hakemus_renew_button, .application-page #hakemus_remove_button {
    font-size: 16px;
    transition: transform .1s;
    display: block;
    text-align: center;
    border-radius: 30px;
    border: none;
    color: var(--dark);
    background-color: var(--light-gray);
    padding: 8px 15px 7px;
	margin: 20px 0;
}
.application-page #hakemus_renew_button:hover, .application-page #hakemus_remove_button:hover {
    background-color: var(--dark);
    color: var(--white);
}


@media (max-width: 1299.98px) { 
	.page-template-asuntohakemus .sidebar, .page-template-asuntohakemus .sidebar {
		margin-left: 0;
	}
}
@media (max-width: 1199.98px) { 
	.page-template-asuntohakemus .sidebar, .page-template-asuntohakemus .sidebar {
		margin-top: 20px;
	}
	.application-steps-gravityform-visibility {
		top: 0!important;
	}
}
@media (max-width: 575.98px) { 
	.page-template-asuntohakemus .page-hero-kuva {
		min-height: 520px;
	}
	.application-page h1 {
		padding-top: 35px;
	}
	.application-page-icon {
   		padding: 20px;
		top: -32px;
	}
	.application-page-icon img {
   		height: 70%;
	}
	#kohde-list .kohde-kortti.row {
		max-width: 98%;
	}
}

/* Vaihtohakemus */
#vaihtohakemus-info-form {
  margin: 20px 0;
}
#vaihtohakemus-info-form label {
  margin-bottom: 8px;
  font-weight: 400;
}
#vaihtohakemus-info-form input {
  padding: .625rem 1rem;
  margin-bottom: 1rem;
  line-height: inherit !important;
  background-color: var(--light-gray);
  border: 0;
	width: 100%;
	border-radius: 10px;
}
#vaihtohakemus-info-form #check-info-button {
	width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
    font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 17px 15px 15px;
    min-width: 222px;
    border: none;
}
#vaihtohakemus-info-form #check-info-button:hover {
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}


/* Asuntonosto */
.asuntonosto-container {
	margin: 40px 0;
}
.asuntonosto-container .asuntonosto-title {
    padding-left: 45px;
    padding-bottom: 15px;
	text-align: center;
}
.asuntonosto-container .asuntonosto-linkki {
	margin-top: 60px;
	border: none;
}
.asuntonosto-container .objects-slider.slick-slider .slick-prev {
	left: -50px;
}
.asuntonosto-container .objects-slider.slick-slider .slick-next {
	right: -40px;
}
.asuntonosto-container .objects-slider.slick-slider .slick-prev:before, .asuntonosto-container .objects-slider.slick-slider .slick-next:before {
	color: var(--blue);
	font-size: 30px;
	opacity: 1;
	font-family: "Font Awesome 5 Pro";
}
.asuntonosto-container .objects-slider.slick-slider .slick-next:before {
    content: '\f138';
}
.asuntonosto-container .objects-slider.slick-slider .slick-prev:before {
    content: '\f137';
}
	
@media (max-width: 767.98px) {	
	.asuntonosto-container .objects-slider.slick-slider .slick-prev:before, .asuntonosto-container .objects-slider.slick-slider .slick-next:before {
		font-size: 25px;
	}
	.asuntonosto-container .objects-slider.slick-slider .slick-prev {
		left: -25px;
		z-index: 99;
	}
	.asuntonosto-container .objects-slider.slick-slider .slick-next {
		right: -20px;
	}
  .asuntonosto-container .asuntonosto-title {
    padding-left: 0;
  }
}
/* Asukassivut */
.account-page .registration-button, .account-page .login-button {
	margin: 30px;
}
.account-page .login-kuvaus {
	margin-top: 20px;
}
.login-page .user-login-content {
	margin-bottom: 20px;
}
.login-page .registration-submit {
	width: fit-content !important;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
    font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 17px 15px 15px;
    min-width: 222px;
    border: none;
	margin-top: 30px;
}
.login-page .registration-submit:hover {
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}
.login-page #email, .login-page #user_login, .login-page #user_pass {
  	background-color: var(--light-gray);
  	border: 0;
	width: 100%;
	border-radius: 10px;
	padding: 0.625rem 1rem;
}
.account-page .account-page-buttons {
	display: flex; 
	justify-content: center;
}

.user-main h2 {
	text-align: center;
	padding: 5px 0 18px;
}
.user-page-hero-background {
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 520px;
    position: relative;
}
.user-page-container {
	background: var(--white);
	border-radius: 15px;
    margin-top: -350px;
    position: relative;
	margin-bottom: 30px;
}
.user-main .user-page-box {
	background: var(--light-gray);
	padding: 20px 40px;
	border-radius: 12px;
	margin-bottom: 30px;
}
.user-main .user-page-box-margin {
	padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 20px;
	border-top: 1px solid var(--green);
	border-bottom: 1px solid var(--green);
}
.user-main .box-content {
	padding-bottom: 15px;
    padding-top: 15px;
}
.user-main .tiedote-link, .user-main .viesti-link {
	display: block;
	font-weight: 800;
	font-size: 20px;
	text-decoration: none;
}
.user-main .tiedote-link:hover, .user-main .viesti-link:hover {
	color: var(--black);
}
.user-main .user-page-box-button {
	display: flex;
    justify-content: center;
}
.user-main .user-page-box-button .wp-block-button__link {
	margin: 5px 0;
}
.user-main .kohde-container .user-page-box-margin {
	border-top: none;
}
.user-main .kohde-container img {
	aspect-ratio: 2/1;
    border-radius: 12px;
	object-fit: cover;
}
.user-main .user-object-title {
    font-weight: 800;
    font-size: 20px;
    padding: 5px 0;
	margin-top: 15px;
	margin-bottom: 5px;
}
.user-main .varaus-container h3 {
	padding-top: 5px;
}
.user-main .wp-block-button__link {
	font-size: 18px;
}
.user-main .tarkistus-container .user-page-box-margin p {
	margin-bottom: 0;
}

/*Sidebar*/
.user-main .user-sidebar {
	background: var(--blue);
	border-radius: 12px;
	font-size: 20px;
	margin-bottom: 25px;
}
.user-main .user-sidebar nav {
	padding: 35px 40px 20px;
}
.user-main .user-sidebar ul {
    list-style: none;
    padding-left: 0;
	margin-bottom: 0;
}
.user-main .user-sidebar ul li {
    line-height: 2.5;
}
.user-main .user-sidebar .user-logout-link, .user-main .user-sidebar .user-info-link {
	background: #022A62;
}
.user-main .user-sidebar .user-logout-link {
	padding: 20px 30px 25px 40px;
	border-radius: 0 0 12px 12px;
}
.user-main .user-sidebar .user-info-link {
	padding: 25px 30px 20px 40px;
	border-bottom: 1px solid var(--blue);
}
.user-main .user-sidebar ul li a, .user-main .user-sidebar .user-logout-link, .user-main .user-sidebar .user-info-link {
	color: var(--white);
    font-size: 18px;
	font-weight: 600;
	text-decoration: none;
}
.user-main .user-sidebar .user-info-link, .user-main .user-sidebar .user-logout-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.user-main .user-sidebar .user-info-link::after {
	content: '';
	background:url('/wp-content/uploads/2024/01/login-icon.png');
	width: 22px;
	height: 22px;
	display: block;
	margin-right: 6px;
    border-radius: 50%;
    padding: 22px;
    background-repeat: no-repeat;
    background-position: center;
} 
.user-main .user-sidebar .user-logout-link::after {
	content: '';
	background:url('/wp-content/uploads/2024/01/logout-icon.png');
	width: 22px;
	height: 22px;
	display: block;
	margin-right: 6px;
    border-radius: 50%;
    padding: 22px;
    background-repeat: no-repeat;
    background-position: center;
} 

/*archive tiedote*/
.post-type-archive-ilmoitus #breadcrumbs, .post-type-archive-ilmoitus #breadcrumbs span, .post-type-archive-ilmoitus #breadcrumbs a {
    color: var(--dark);
}
.post-type-archive-ilmoitus .tiedote-link {
	margin: 15px 0;
}
.post-type-archive-ilmoitus .tiedote-text, .post-type-archive-ilmoitus .tiedote-file {
	margin-top: 15px;
	margin-bottom: 15px;
}

/*Single tiedote*/
.single-tiedote #breadcrumbs, .single-tiedote #breadcrumbs span, .single-tiedote #breadcrumbs a {
    color: var(--dark);
}
.single-tiedote-content {
	margin-top: 50px;
    margin-bottom: 40px;
}
.single-tiedote-content .tiedote-text, .single-tiedote-content .tiedote-file {
	margin-top: 30px;
	margin-bottom: 30px;
}

/*archive viesti*/
.post-type-archive-message #breadcrumbs, .post-type-archive-message #breadcrumbs span, .post-type-archive-message #breadcrumbs a {
    color: var(--dark);
}
.post-type-archive-message .viesti-link {
	margin: 15px 0;
}
.post-type-archive-message .viesti-text, .post-type-archive-message .viesti-file {
	margin-top: 15px;
	margin-bottom: 15px;
}
.post-type-archive-message .message-form label, .post-type-archive-message .message-form p {
    margin-bottom: 8px;
	margin-top: 15px;
}
.post-type-archive-message .message-form textarea {
    padding: 0.625rem 1rem;
    line-height: inherit !important;
    background-color: var(--light-gray);
    border: 0;
}
.post-type-archive-message .message-form select {
    padding: 0.75rem 1rem;
    background-color: var(--light-gray);
    border: 0;
	width: 50%;
}
.post-type-archive-message .message-form .upload-button {
	position: relative;
	padding-left: 25px;
	background: transparent;
    border: none;
}
.post-type-archive-message .message-form .upload-button::before {
    position: absolute;
    pointer-events: none;
    top: -10px;
    left: 0;
    font-size: 30px;
    font-weight: 600;
    content: "+";
    color: var(--blue);
}
.post-type-archive-message .message-form .upload-info {
	padding-left: 25px;
	background: transparent;
    border: none;
	font-size: 15px;
}
.post-type-archive-message .message-form input[type="text"] {
    padding: 0.625rem 1rem;
    line-height: inherit !important;
    background-color: var(--light-gray);
    border: 0;
	width: 50%;
}

.post-type-archive-message .reply-message {
	margin: 30px 0;
	color: var(--blue);
    padding: 10px 15px;
    display: inline-block;
    border-radius: 12px;
    text-decoration: none;
    cursor: pointer;
}
.post-type-archive-message .reply-message:hover {
	 text-decoration: underline;
}
.post-type-archive-message .answer-message {
	display: none;
	margin: 30px 0;
}
.post-type-archive-message .answer-message textarea {
    padding: 0.625rem 1rem;
    line-height: inherit !important;
    background-color: var(--light-gray);
    border: 0;
}
.post-type-archive-message .answer-message input[type="submit"] {
    width: fit-content !important;
    width: -moz-fit-content;
    margin: 30px 0 15px 0;
    font-weight: 700;
    font-size: 18px;
    transition: transform .1s;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 17px 15px 15px;
    min-width: 222px;
    border: none;
}
.post-type-archive-message .reply-box-content {
	border: 1px solid var(--gray);
    border-radius: 10px;
    padding: 15px;
    margin: 30px 0 20px;
}
.post-type-archive-message .reply-box-content:hover {
	border: 2px solid var(--light-green);
}

/*Single viesti*/
.single-viesti #breadcrumbs, .single-viesti #breadcrumbs span, .single-viesti #breadcrumbs a {
    color: var(--dark);
}
.single-viesti-content {
	margin-top: 50px;
    margin-bottom: 40px;
}
.single-viesti-content .viesti-text, .single-viesti-content .viesti-file {
	margin-top: 30px;
	margin-bottom: 30px;
}


/*Kohteen tiedot*/
.user-object-information {
	margin-bottom: 50px;
}
.user-object-information #breadcrumbs, .user-object-information #breadcrumbs span, .user-object-information #breadcrumbs a {
    color: var(--black);
}
.user-object-information .post-thumbnail img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.user-object-information .kaupunginosa {
 	font-size: 20px;
	font-weight: 400;
	margin-top: 30px;
}

.user-object-information .distances-title {
	font-weight: 500;
	margin-bottom: 6px;
}

.user-object-informationikka #apartment-types {
	overflow-x: auto;
}
.user-object-information .accordion > * {
  min-width: 500px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 20px;
}
.user-object-information .accordion button[data-toggle="collapse"] {
    display: flex;
    gap: 0;
}
.user-object-information .reittiopas iframe {
  height: 250px;
  margin-top: 0;
  border: 0;
}
.user-object-information .complex-details {
  word-break: break-word;
}
.user-object-information tbody tr {
    border-bottom: none;
}

.user-object-information h1 {
	font-size: 3.438rem;
	padding-top: 0.5rem;
	padding-bottom: 1.5rem;
}
.user-object-information .wp-block-button__link {
	border: none;
	margin: 50px 0 30px;
	min-width: 360px;
}
.user-object-information .parking-spaces-title {
	font-weight: 700;
}
.user-object-information .apartments-table {
	
}
.user-object-information .object-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
	padding-top: 35px;
}
.user-object-information.column-padding-right {
	padding-right: 50px;
}
.user-object-information .apartment-boxes-title {
	padding-left: 45px;
    padding-bottom: 30px;
}
.user-object-information table, .user-object-information table th, .user-object-information table td {
    border: none!important;
}
.user-object-information table th {
    padding: 5px 0px!important;
    font-weight: 400;
}
.user-object-information  table {
    margin: 0;
}
.user-object-information .user-contact-info p {
	margin-bottom: 10px;
}

/*h�iri�lmoitus*/
.page-template-hairiolmoitus .user-pages-accordion.accordion-title h2 {
	font-size: 18px;
    	font-weight: 700;
    	padding: 15px;
	color: var(--dark);
}



/*Varaukset*/
.sauna-varaus-container h2 {
	font-size: 20px;
    	padding: 20px 0 15px;
	color: var(--dark);
}

.sauna-calendar, .sauna-calendar-days {
	width: max-content;
}
.sauna-varaus-container .calendar-div {
	overflow-x: auto;
    width: 100%;
	padding: 0 15px;
}
.sauna-calendar-days .calendar-cell {
	border: 1px solid var(--gray);
	padding-top: 3px;
	padding-bottom: 3px;
	min-width: 120px;
	padding-right: 10px;
    padding-left: 10px;
}
.sauna-calendar-days {
	border-bottom: 1px solid var(--gray);
}
.sauna-calendar .calendar-cell {
	border: 1px solid var(--gray);
	padding-top: 3px;
	padding-bottom: 3px;
	word-break: break-all;
	min-width: 120px;
	font-size: 14px;
	padding-right: 10px;
    padding-left: 10px;
}
.sauna-calendar .calendar-cell.cell-time {
	word-break: inherit;
	min-width: 120px;
	font-size: 16px;
}
.sauna-calendar .calendar-cell a {
	cursor: pointer;
	display: block;
}
.sauna-calendar .reserve-cell {
	background: var(--light-green);
}
.sauna-calendar .user-reserved-cell {
	background: var(--blue);
}
.sauna-calendar .remove-cell {
	background: var(--gray);
}

.ap-varaus-container h2 {
	font-size: 20px;
    	padding: 20px 0 15px;
	color: var(--dark);
}

.ap-varaus-container .autopaikka-varaus-row {
	padding: 7px 0;
}
.ap-varaus-container .remove-ap, .ap-varaus-container .reserve-ap, .ap-varaus-container .reserved-ap, .ap-varaus-container .not-bookable-ap {
	margin-left: 10px;
	padding: 5px 10px; 
	text-decoration: none;
	border-radius: 6px;
	display: inline-block;
	min-width: 130px;
	word-break: break-all;
}
.ap-varaus-container .remove-ap, .ap-varaus-container .reserve-ap {
	cursor: pointer;
}
.ap-varaus-container .remove-ap:hover, .ap-varaus-container .reserve-ap:hover {
	color: var(--black);
}
.ap-varaus-container .remove-ap {
	background: var(--light-gray);
}
.ap-varaus-container .reserve-ap {
	background: var(--light-green);
}
.ap-varaus-container .reserved-ap {
	background: var(--green);
}

.ap-varaus-container .not-bookable-ap {
	background: var(--gray);
}

.sauna-calendar .cell-link {
	cursor: pointer;
}
.sauna-calendar .modal .modal-footer .modal-confirm, .ap-varaus-container .modal .modal-footer .modal-confirm {
    width: fit-content;
    width: -moz-fit-content;
    margin: 15px 0 15px 0;
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    color: var(--white);
    background-color: var(--dark);
    border-radius: 30px;
    padding: 9px 15px 8px;
    text-decoration: none;
	min-width: 130px;
	cursor: pointer;
}
.sauna-calendar .modal .modal-footer .modal-confirm:is(:hover, :focus),.ap-varaus-container .modal .modal-footer .modal-confirm:is(:hover, :focus){
    text-decoration: none;
    background: var(--blue);
    color: var(--white);
}
.sauna-calendar .modal .modal-footer button, .ap-varaus-container .modal .modal-footer button {
    font-size: 18px;
    transition: transform .1s;
    display: block;
    text-align: center;
    border-radius: 30px;
    border: none;
    color: var(--dark);
    background-color: var(--light-gray);
    padding: 8px 15px 7px;
	min-width: 130px;
}
.sauna-calendar .modal .modal-footer button:hover, .ap-varaus-container .modal .modal-footer button:hover {
    background-color: var(--dark);
    color: var(--white);
}

/*Asumisopas*/
.user-main .search-container .search-field {
	display: flex;
	justify-content: center;
	margin-bottom: 5px;
}
.user-main .art-link {
	display: block;
	font-weight: 800;
	font-size: 20px;
	text-decoration: none;
}
.user-main .art-link:hover {
	color: var(--dark);
}
/*Asumisopaan artikkelit*/
.post-type-archive-asumisopas-artikkeli #breadcrumbs, .post-type-archive-asumisopas-artikkeli #breadcrumbs span, .post-type-archive-asumisopas-artikkeli #breadcrumbs a,
.tax-asumisopas_artikkelikategoria #breadcrumbs, .tax-asumisopas_artikkelikategoria #breadcrumbs span, .tax-asumisopas_artikkelikategoria #breadcrumbs a, 
.single-asumisopas-artikkeli #breadcrumbs, .single-asumisopas-artikkeli #breadcrumbs span, .single-asumisopas-artikkeli #breadcrumbs a {
    color: var(--dark);
}
/* ARTIKKELILISTAUS */
.post-type-archive-asumisopas-artikkeli .categories-buttons, .tax-asumisopas_artikkelikategoria .categories-buttons,
.page-template-asumisopas .categories-buttons {
	display: flex;
    justify-content: center;
	padding-top: 10px;
    padding-bottom: 20px;
}
.post-type-archive-asumisopas-artikkeli .categories-buttons .cat-buttons, .tax-asumisopas_artikkelikategoria .categories-buttons .cat-buttons,
.page-template-asumisopas {
    margin: 0 20px 15px;
	width: auto;
}
.post-type-archive-asumisopas-artikkeli .categories-buttons .cat-buttons .wp-block-button__link.active, .tax-asumisopas_artikkelikategoria .categories-buttons .cat-buttons .wp-block-button__link.active,
.page-template-asumisopas .categories-buttons .cat-buttons {
    color: var(--white)!important;
    background: var(--blue);
}
.post-type-archive-asumisopas-artikkeli .articles, .tax-asumisopas_artikkelikategoria .articles,
.page-template-asumisopas .articles {
	margin-bottom: 30px;
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box,
.page-template-asumisopas .articles .asumisopas-art-box, .asumisopas-container .articles .asumisopas-art-box {       
	margin: 35px 0px;	
	text-decoration: none;
	display: block;
    border-radius: 10px;
	border: 1px solid #e0e0e0;
	background: var(--white);
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box:hover, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box:hover,
.page-template-asumisopas .articles .asumisopas-art-box:hover, .asumisopas-container .articles .asumisopas-art-box:hover {       
	text-decoration: none;
	color: var(--black);
	border: 1px solid var(--blue);
}

.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box .art-img, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box .art-img,
.page-template-asumisopas .articles .asumisopas-art-box .art-img, .asumisopas-container .articles .asumisopas-art-box .art-img {    
	border-radius: 9px 9px 0 0 ;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	height: 280px;
	aspect-ratio: 15/10;
	height: fit-content;
}
.post-type-archive-asumisopas-artikkeli .articles .art-content, .tax-asumisopas_artikkelikategoria .articles .art-content,
.page-template-asumisopas .articles .art-content, .asumisopas-container .articles .asumisopas-art-box .art-content {		
	padding: 20px 15px 25px;	
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box .art-title, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box .art-title,
.page-template-asumisopas .articles .asumisopas-art-box .art-title, .asumisopas-container .articles .asumisopas-art-box .art-title {  
	padding-top: 10px;
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box:hover .art-title, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box:hover .art-title,
.page-template-asumisopas .articles .asumisopas-art-box:hover .art-title, .asumisopas-container .articles .asumisopas-art-box:hover .art-title {       
	text-decoration: underline;
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box .art-category span, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box .art-category span,
.page-template-asumisopas .articles .asumisopas-art-box .art-category span, .asumisopas-container .articles .asumisopas-art-box .art-category span {
	font-size: 15px;
}
.post-type-archive-asumisopas-artikkeli .articles .asumisopas-art-box .art-text, .tax-asumisopas_artikkelikategoria .articles .asumisopas-art-box .art-text,
.page-template-asumisopas .articles .asumisopas-art-box .art-text, .asumisopas-container .articles .asumisopas-art-box .art-text {  
	margin-bottom: 15px;
}

/* Single-asumisopas-artikkeli */
.single-asumisopas-artikkeli .single-asumisopas-artikkeli-hero {
/*     margin-bottom: 30px; */
}
.single-asumisopas-artikkeli .single-asumisopas-artikkeli-hero .art-img {
    border-radius: 30px;
    height: 350px;
    border-radius: 30px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.single-asumisopas-artikkeli .single-asumisopas-artikkeli-hero h1 {
    padding-top: 0.5em;
	word-break: break-word;
}
.single-asumisopas-artikkeli .single-art-excerpt {
    margin: 30px 0 10px;
    position: relative;
    padding: 35px 15px 40px;
    text-align: center;
    display: flex;
    justify-content: center;
}
.single-asumisopas-artikkeli .single-art-excerpt::before {
    content: "";
    position: absolute;
    top: 0;
    width: 70%;
    border-top: 1px solid var(--gray);
}
.single-asumisopas-artikkeli .single-art-excerpt::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 70%;
    border-bottom: 1px solid var(--gray);
}
.single-asumisopas-artikkeli .single-art-content {
    margin-top: 30px;
    margin-bottom: 30px;
}
.user-main .art-date-category {
	margin-bottom: 15px;
}

 /*User-page accordion*/ 
    .user-pages-accordion.accordion-title {
        width: 100%;
        text-align: left;
        outline: none;
        transition: 0.4s;		
        background-color: white;
		display: flex;
		align-items: center;
		justify-content: space-between;
        border: none;
        padding-left: 0;
		cursor: pointer;
	}
    .user-pages-accordion.accordion-title {
        font-size: 18px;
        font-weight: 700;
		padding: 15px;
		border-top: 2px solid var(--green);
    }
	.user-pages-accordion.accordion-title:hover, .user-pages-accordion.accordion-title.active {
		background-color: var(--light-green);
	}
	.user-pages-accordion.accordion-title:after {
		content: "\f347";
        font-family: "dashicons";
		color: var(--dark);
		font-size: 22px;
        font-weight: 500;
        padding: 0 15px;
	}
	.user-pages-accordion.accordion-title.active:after {
		content: "\f343";
        color: var(--dark);
	}
	.user-pages-accordion.accordion-title:hover:after {
		 color: var(--dark);	
	}
    .user-pages-accordion.accordion-title.active  + .accordion-panel {
		max-height:100% !important;
        display: block;
    }
    .user-pages-accordion.accordion-title:focus-visible {
        outline: 5px auto -webkit-focus-ring-color;
    }

    .user-pages-accordion.accordion-panel {
        display: none;
        padding: 0 0 15px 0;
        background-color: white;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.2s ease-out;
        padding-top: 20px;
        padding-bottom: 0;
     } 
/*Häiriölmoitukset sivu*/
.hairiolmoitukset-container {
	margin: 50px 0 30px;
}
/*Viestit sivu*/
.viestit-container {
	margin: 50px 0 30px;
}

/*Vikailmoitukset sivu*/
 .error-messages-page  .error-message-title, .vikailmoitus-container  .error-message-title {
    font-weight: 800;
    font-size: 20px;
    text-decoration: none;
}
.page-template-vikailmoitukset .user-page-container {
    padding: 0 15px;
}
.user-main .vikailmoitukset-container.user-page-box {
    background: none;
    padding: 0;
}
 .vikailmoitus-container .notification-status {
	margin-top: 10px;
}

.page-template-vikailmoitukset .box-content div {
	margin: 7px 0;
}

.page-template-vikailmoitukset .comment-button {
	background: var(--light-gray);
	padding: 10px 15px;
    display: inline-block;
    border-radius: 12px;
	text-decoration: none;
	margin: 15px 0;
	cursor: pointer;
}
.page-template-vikailmoitukset .comment-button:hover {
	color: var(--black);
	background: #f2f2f2;
}
.page-template-vikailmoitukset .answer-notification {
    display: none;
    margin: 30px 0!important;
}
.page-template-vikailmoitukset .reply-box-content {
    border: 1px solid var(--gray);
    border-radius: 10px;
    padding: 15px;
    margin: 30px 0 20px!important;
}
.page-template-vikailmoitukset .reply-box-content .accordion-title {
    margin: 0!important;
}
.vikailmoitukset-container {
	margin: 50px 0 30px;
}
.page-template-vikailmoitukset .reply-box-content .user-pages-accordion.accordion-title {
    border-top: none;
    padding: 0;
}

/* Muokkauslinkin tilauslomake */
.edit_link_order input[type="email"] {
    padding: 0.625rem 1rem;
    line-height: inherit !important;
    background-color: var(--light-gray);
    border: 0;
    width: 50%;
}

@media (min-width: 991.98px) {
  .tingle-modal.gpnf-modal {
    position: absolute;
    top: 500px;
    bottom: unset;
    z-index: 10;
/*     max-height: 85vh; */
    padding-top: 0;
     margin-left: 15px;
	  margin-right: 15px;
    overflow-y: auto;
    background: white;
    box-shadow: 0 0 6px 1px rgba(64, 94, 168, .15);    
  }
  .tingle-modal.gpnf-modal .tingle-modal-box {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }
  .tingle-modal.gpnf-modal .tingle-modal-box__footer.tingle-modal-box__footer--sticky {
    position: relative;
    width: 100%;
  }
  .tingle-modal::before {
    backdrop-filter: none !important;
  }
  .tingle-enabled {
    position: unset !important;
    overflow: unset !important;
  }
  .tingle-enabled .col-lg-8 > .gform_wrapper {
    visibility: hidden;
  }
	.tingle-modal__close {
		position: absolute!important;
		top: 1.5rem!important;
		right: 1rem!important;
	}
}

@media (min-width: 992px) {
	.tingle-modal.gpnf-modal {
		 top: 380px;
	}
}

@media (min-width: 1200px) {
	.tingle-modal.gpnf-modal {
		 margin-right: 26%;
		margin-left: 15px; 
		 top: 480px;
	}
}

@media (min-width: 1410px) {
  .tingle-modal.gpnf-modal {
	  	margin-right: calc((100vw - 1410px) / 2 + (1410px /12*3 ));
		max-width: 1200px;
		margin-left: calc((100vw - 1410px) / 2); 
	}
}
@media (max-width: 1500px) {
  #kohdehaku-map .post-thumbnail img, .apartment-card .post-thumbnail img {
    min-height: 150px;
  }
}
@media (max-width: 991.98px) {
  .asuntotiedot-container table {
    min-height: unset;
  }
  .kohde-kortti-image-container {
    height: 60%;
  }
  .kohde-kortti-kohde {
    height: 40%;
  }
  .kohde-kortti-kohde,
  .kohde-kortti-kuvaus {
    font-size: .8rem;
  }
  .kohde-kortti-info-col {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .kohde-kortti-kohderyhmat > i > img,
  .kohde-kortti-huoneistotyypit > i > img {
    width: 16px;
  }
  .kohde-kortti-hinta {
    font-size: 1rem;
  }
  button.kohde-kortti-close {
    padding: 0;
  }
  #kohdehaku-map .gm-style-iw {
    max-width: 250px !important;
  }
  .apartment-card .price {
    font-size: 1.2rem;
  }
 
  .apartment-card .apartment-card-icon-div {
    margin-bottom: 5px;
  }
  .apartment-card .post-excerpt {
    display: none;
  }
	.single-kustannuspaikka .table-container {
		padding-left: 0;
	}
	.single-kustannuspaikka .table-container h2, .single-kustannuspaikka .apartments-table h2 {
		padding-left: 45px;
	}
	.single-kustannuspaikka .column-padding-right {
		padding-right: 15px;
	}

  /* Korjaukset */
  .user-main .user-page-box {
    padding: 20px 30px;
  }
  .homepage-apartments-search-box {
    padding: 20px;
  }
  .homepage-apartments-search-container h2 {
    padding-left: 30px;
  }
  .apartment-search-form #apartment-search-form-link-app {
    margin-right: 0;
  }
  .user-page-hero-background {
    height: 300px;
  }
  .user-page-container {
    margin-top: -100px;
  }
}
@media (max-width: 768px) {
  .kohde-kortti-kohde,
  .kohde-kortti-kuvaus {
    font-size: .7rem;
  }
	.post-type-archive-viesti .message-form input[type="text"], .post-type-archive-viesti .message-form select {
		width: 100%;
	}
	.calendar-div {
		overflow: scroll;
	}
	#asuntohakemus-col .application-button-to-apartments {
		margin-top: 0;
	}
}
@media only screen and (max-width: 760px), (min-device-width: 760px) and (max-device-width: 1024px) {
	.gpnf-nested-entries tbody tr:not(.gpnf-no-entries) td {
		padding: 1rem 1rem 1rem 50%!important;
	}
}
@media (max-width: 567.98px) {
	.single-kustannuspaikka .wp-block-button__link {
		min-width: auto;
	}
	.account-page .account-page-buttons {
		display: block; 
	}
	.sauna-calendar .calendar-cell.cell-time {
		word-break: break-all;
	}	
}




