@import "https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap";
@font-face {
font-family:"filson-soft";
src:url("https://use.typekit.net/af/0ceada/00000000000000003b9ade5c/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/0ceada/00000000000000003b9ade5c/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/0ceada/00000000000000003b9ade5c/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}


.app-wrapper {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
      }
.app-container {
        flex: 1;
      }


/*LOGIN PAGE*/
#brand-logo-asuntoliiga {
 height: 50px;
}

/*HEADER NAVIGATION*/

.app-header {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    background-color:#d1e8f5;
    align-items:center;
}

.header-nav-container-left, .header-nav-container-right  {
    flex: 2;
    display: flex;
}

.header-nav-container-left {
    justify-content: center;
}

.header-nav-container-right {
    justify-content:flex-start;
    gap: 10px;
}

#avaindata-logo {
    background-color:#d1e8f5;
    border-color: transparent;
    flex:3;
}

#avaindata-logo img {
    height: max(50px, min(7.5vw,80px));
    margin-bottom: -15px;
    margin-top: -15px;
}

#nav-ohjeet,#nav-tietosisallot,#nav-tuki,#nav-logout {
font-family:"PT Sans";
font-weight:400;
    font-size: 16px;
background-color:#d1e8f5;
border-color:transparent
}

.brand-asuntoliiga #dropdown-button:focus,
.brand-asuntoliiga #dropdown-button:focus-visible {
  outline: none;
  border: none;
}


#nav-logout:active,
#avaindata-logo:active,
#nav-ohjeet:active,
#nav-tietosisallot:active,
#nav-tuki:active{
    color: darkgray;
    outline: none;
    box-shadow: none;
}

#nav-logout {
padding-top: 10px;
font-size: 20px;
    flex:0;
}

@media (max-width: 768px) {
    .app-header {
        flex-direction:column;
    }
    .header-nav-container-left {
        order:3
    }

}

@media (max-width: 380px) {

    .header-nav-container-left {
        order:3
    }
    .header-nav-container-right {
        flex-direction: column;
    }

}


/*HINTALASKURI JA ILMOITUSHISTORIA*/


#hintaennuste_tab-selectors .ilmoitus-radio input[type='checkbox'],
#ilmoitushistoria_tab-selectors .ilmoitus-radio input[type='checkbox'] {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 30px;
        height: 30px;
        border: 1px solid #000;
        border-radius: 5px;
        outline: none;
        position: relative;
        margin-left: 0;
      }

.ilmoitus-radio input[type='checkbox']:checked {
        background-color: #d1e8f5; /* Color when checked */
        border: 1px solid #344593; /* Optional darker border when checked */
      }

.ilmoitus-radio input[type='checkbox']:focus {
    outline: none;

}

 #ilmoitushistoria_tab-selectors label {
     font-size: 22px;
     }

#hintaennuste_tab-selectors .ilmoitus-radio label ,
#ilmoitushistoria_tab-selectors .ilmoitus-radio label {
        display: flex;
        align-items: center;
        padding: 5px
      }

#hintaennuste_tab-selectors .ilmoitus-radio input[type='checkbox'] ~ span,
#ilmoitushistoria_tab-selectors .ilmoitus-radio input[type='checkbox'] ~ span {
          margin-left: 10px;
          padding-top: 6px;
          font-size: 17px;
      }

#hintaennuste_tab-selectors .ilmoitus-radio div[class='checkbox'],
#ilmoitushistoria_tab-selectors .ilmoitus-radio div[class='checkbox'] {
    margin-top: 0px;
    margin-bottom: 0px;
      }

#hintaennuste_tab-selectors .form-control,
#ilmoitushistoria_tab-selectors .form-control {
    border-radius: 8px;
    border: 1pt solid black;
    font-family: "Roboto";
    color: black;
    font-size: 15px;
    width: 215px;
    min-height: 40px;
    box-shadow: unset;
    text-align: center;
}

#ilmoitushistoria-postinumerovalinta {
  flex-basis: 25%;
  margin-left: 1%;
  margin-right: 1%;
}

#ilmoitushistoria-talotyyppi-huoneluku {
  flex-basis: 27%;
  justify-content: flex-start;
  align-items: baseline;
}

#ilmoitushistoria-bottom-checkboxes {
  align-items: baseline;
}


#ilmoitushistoria-talotyyppi-huoneluku div {
    width: auto;
}

#ilmoitushistoria-postinumerovalinta .shiny-input-container {
  flex-grow: 1;
}

#ilmoitushistoria-postinumerovalinta .shiny-input-container div.form-control {
  width: 100%;
}

#hintaennuste_tab-selectors .selectize-input,
#ilmoitushistoria_tab-selectors .selectize-input {
    border-radius: 8px;
    min-height: 40px;
}

#hintaennuste_tab-selectors .selectize-input input,
#ilmoitushistoria_tab-selectors .selectize-input input {
  position: relative;
    top: 3px;
}

#hintaennuste_tab-selectors .selectize-input, #ilmoitushistoria_tab-selectors .selectize-input.focus {
    box-shadow: none;
    border: none;
}

#hintaennuste_tab-selectors .selected, #ilmoitushistoria_tab-selectors .selected  {
    background: #344593;
}


#hintaennuste_tab-selectors .selectize-dropdown-content,
#ilmoitushistoria_tab-selectors .selectize-dropdown-content {
    background:none;
}

.selectize-dropdown-content::-webkit-scrollbar {
  width: 8px; /* Width of the scrollbar */
}

.selectize-dropdown-content::-webkit-scrollbar-track {
  background: transparent; /* Make the track transparent to remove gutter */
  margin: 0; /* Remove any margins to minimize gutter space */
}

.selectize-dropdown-content::-webkit-scrollbar-thumb {
  background-color: #d1e8f5; /* Thumb color */
  border-radius: 10px; /* Rounded edges of the thumb */
  border: none; /* Remove any border around the thumb */
  height: 20%;
}

.selectize-dropdown-content::-webkit-scrollbar-thumb:hover {
  background-color: #344593; /* Darker color when hovered */
}

#hintaennuste_tab-selectors .option:hover not(.selected),
#ilmoitushistoria_tab-selectors .option:hover not(.selected) {
    background: #f8f8f8;
}

#hintaennuste_tab-selectors .option,
#ilmoitushistoria_tab-selectors .option {
    color: black;
    border-radius: 5px;
}

#hintaennuste_tab-selectors .selected,
#ilmoitushistoria_tab-selectors .selected {
    background: #d1e8f5;
}

.select-hintalaskuri {
    display:flex;
    flex-flow:row wrap;
    gap: 15px 5%;
    align-items: center;
    justify-content: space-evenly;
    margin-bottom: 15px;
    flex-grow: 1;
}

.select-hintalaskuri .shiny-input-container {
    width: unset;
    margin: unset;
}



.ilmoitushistoria-info {
line-height:1.7em;
text-align:left;
font-size:.9em
}

#hintaennuste-selections .form-group{
    width: 200px;
}

#hintaennuste-radio-selections {
    justify-content:center;
    align-items: flex-start;
}


#hintaennuste_tab-hintabutton, #ilmoitushistoria_tab-ilmobutton{
font-family: "filson-soft";
    font-weight: 700;
    background-color:#c62e7b;
    color: #FFF;
    font-size: max(14px, min(2vw,17px));
    border-color:transparent;
    width: 40%;
    border-radius: 7px;
    margin-top: 35px;
    min-width: 140px;
    max-width: 300px;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: keep-all;
}

#ilmoitushistoria_tab-selectors input[type='number']::-webkit-outer-spin-button,
#ilmoitushistoria_tab-selectors input[type='number']::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
      }
#ilmoitushistoria_tab-selectors input[type='number'] {
        -moz-appearance: textfield;
      }


 #hintaennuste_tab-selectors label {
     padding: 10px 0px;
     font-size: 22px;
     width:100%;
     }


div[aria-labelledby="ilmoitushistoria_tab-kategoriavalinta-label"],
div[aria-labelledby="hintaennuste_tab-kategoriavalinta-label"] {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    align-items: center;
    gap: 40px;
    justify-content: center;

}

#hintaennuste-postinumero-container .form-group.shiny-input-container:first-of-type {
    flex-grow: 1;
    max-width: 400px;
}

#hintaennuste-postinumero-container .form-group.shiny-input-container:first-of-type .shiny-input-select {
    width: 100%;
}

#hintaennuste_tab-selectors .radiobtn,
#ilmoitushistoria_tab-selectors .radiobtn,
#ilmoitushistoria_tab-selectors .checkbtn {
    width: 215px;
    min-height: 40px;
    font-size: 15px;
    border-radius: 9px;
    background: white;
    color: #000;
    text-transform: uppercase;
    border: 1pt solid black;
}

.autonumericrange-container {
  display: flex;
  row-gap: 10px;
  flex-flow: row wrap;
}

#hintaennuste_tab-selectors .radiobtn.active,
#ilmoitushistoria_tab-selectors .radiobtn.active,
#ilmoitushistoria_tab-selectors .checkbtn.active {
    background: #d1e8f5;
    box-shadow: none;
    border: 1px solid #344593;
}

 #hintaennuste_tab-kategoriavalinta .radio input[type='radio'] {
        width: auto;
      }

      #hintaennuste_tab-kategoriavalinta .radio label {
        display: none;
      }


.control-label {
    margin-bottom: 20px;
}

#ilmoitushistoria_tab-selectors .input-group-addon {
    border-radius: 8px;
    border: none;
    background-color: #FFF;
    font-weight: 700;
    padding-right: 18px;
    padding-top: 12px;
}


#hintaennuste_tab-selectors .selectize-input input,
#ilmoitushistoria_tab-selectors .selectize-input input {
  position: relative;
  margin-top: 3px;
}

#hintaennuste_tab-selectors .selectize-input .item,
#ilmoitushistoria_tab-selectors .selectize-input .item {
  background: #d1e8f5;
  margin-top: 3px;
    padding:2px 8px 2px 8px;
    border-radius: 8px;
}

.selectize-input:not(.no-arrow):after  {
    border: none;
    }

/*
.arviocontainer .selectize-control.single .selectize-input:not(.no-arrow):after  {
    content: 'V';
    font-size: 12px;
    font-weight: bold;
    font-family: "filson-soft";
    margin-top: -10px;
    right: 25px;
    height: 10px;
    border: none;
    }

.arviocontainer .selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after  {
    transform: rotate(180deg) translate(-8px,-4px);
           }
*/

.input-with-unit {
        position: relative;
        display: inline-block;
      }

.input-error {
  background: lightpink!important;
}

.unit-label {
        position: absolute;
        top: 8px;
        right: 10px;
        font-family: "PT Sans";
        font-size: 16px;
        color: darkgray;
        z-index: 10;
      }


#hintaennuste-output {
    margin: 15px;
    font-family: "filson-soft";
    text-align: center;
}

#hintaennuste-ennuste {
    font-size: 42px;
}

#hintaennuste-range-container {
    display: flex;
    justify-content: center;
}

#hintaennuste-range {
    font-size: 22px;
    padding: 10px 30px 20px 30px;
    border-bottom: 3pt solid black;
}

/*CONTENT*/

.avaindata-tab-content {
    padding: 2% 5% 0% 5%;
}

.avaindata-textbox {
    font-family: "PT Sans";
    font-size: 16px;
}

.inner-tab-container li {
    font-family: "PT Sans";
    font-size: 16px;
    font-weight: 400;
    border: none;
}

.inner-tab-container li a {
color:#000;
    border: none;
}

.inner-tab-container li:hover a:hover {
border-color:transparent;
background-color:transparent;
}

.inner-tab-container li.active a {
    border:none!important;
    font-weight:700;
}

.inner-tab-container li.active a[aria-selected=true] {
    text-decoration:solid underline #000 2px;
    text-underline-offset:4px
}



@media (min-width: 768px) {
.col-sm-6 {
width:100%!important
}
}

@media (min-width: 1155px) {
.col-sm-6 {
width:50%!important
}
}

.avaindata-header_container {
    display: flex;
    justify-content: center;
    overflow: hidden;
    flex-flow: column;
    align-items: center;
}

.avaindata-header {
    color:#000;
    /*font-family:"PT Sans";*/
    font-size:24px;
    font-weight:700;
    border-bottom: 3pt solid #E8E8E8;
    display: inline-block;
    margin: 0;
    width: clamp(28%, 50vw, 56%);
    text-align: center;
    padding-bottom: 20px;
    word-break: break-word;
}

.avaindata-header-subtitle {
    color:#000;
    display: inline-block;
    margin-top: 1vh;
    width: clamp(28%, 50vw, 56%);
    text-align: center;
    padding-bottom: 20px;
    word-break: break-word;
}

.yleiskatsaus-subheader-container {
    display: flex;
    justify-content: center;
    overflow: hidden;
    flex-flow: column;
    align-items: center;
    background: #d1e8f5;
}

.yleiskatsaus-subheader {
    color:#000;
    font-size:22px;
    font-weight:700;
    display: inline-block;
    margin: 0;
    width: 100%;
    min-width: 240px;
    max-width: 600px;
    text-align: center;
    padding-top:5px;
    padding-bottom: 5px;
    word-break: break-word;
}

.select-container {
display:flex;
flex-flow:row wrap;
gap:15px;
padding-left:10px;
max-width:400px
}

.select-container .form-group {
width:200px;
flex-grow:3
}

.avaindata-info {
font-weight:400;
font-family:"PT Sans";
background-color:#f8f8f8;
font-size:18px;
border:2pt solid #dcdcdc;
padding:20px 5px 10px 20px;
border-radius:10px;
min-height:200px
}

.avaindata-info-title {
font-family:"PT Sans";
}

/*ALERT LOADER*/
.alertloader {
display:inline-block;
width:50px;
height:50px;
border:3px solid rgba(255,255,255,.3);
border-radius:50%;
border-top-color:#344593;
animation:spin 1s ease-in-out infinite;
-webkit-animation:spin 1s ease-in-out infinite
}

@keyframes spin {
to {
-webkit-transform:rotate(360deg)
}
}

@-webkit-keyframes spin {
to {
-webkit-transform:rotate(360deg)
}
}

.swal2-html-container {
font-family:"PT Sans"
}

.swal2-html-container span > div {
height:auto;
min-height:70px
}

div:where(.swal2-icon) {
color:#344593!important;
border-color:#344593!important
}


/*TAB NAVIGATION*/

#tabsetpanel {
padding:5px 0 15px
}

.nav-tabs {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    border-bottom: transparent!important;
}

.nav>li>a {
padding: 10px 15px!important;
}

#tabsetpanel li {
font-weight:400;
font-family:"PT Sans";
font-size: max(14px, min(2.2vw,20px));
margin-right:10px;
border-bottom:none;
}

#tabsetpanel li:has(a[data-value="tietosisallot_tab"]),
#tabsetpanel li:has(a[data-value="ohjeet_tab"]),
#tabsetpanel li:has(a[data-value="kayttoehdot_tab"]),
#tabsetpanel li:has(a[data-value="tuki_tab"])
{
    display:none;
}

#tabsetpanel li a {
color:#000;
    border: none;
}

#tabsetpanel li a:hover {
border:none;
background-color:transparent;
}

#tabsetpanel li.active,#tabsetpanel li.active a {
border:none;
font-weight:700;
text-decoration:solid underline black max(2px, min(0.4vw, 5px));
text-underline-offset: max(4px, min(1vw, 12px));
}

@media (max-width: 768px) {
.nav>li>a {
padding: 5px 10px!important;
}
}

@media (max-width: 420px) {
.nav>li>a {
padding: 0px 5px!important;
}

}

/* GOOGLE PALVELUT HAKU*/

.avaindata-osoitetieto-btn {
    font-family: "filson-soft";
    font-weight: 700;
    background-color:#c62e7b!important;
    color: #FFF!important;
    font-size: max(14px, min(2vw,17px));
    border-color:transparent;
    width: 40%;
    border-radius: 7px;
    margin: 10px;
    min-width: 140px;
    max-width: 300px;
    white-space: normal;
    overflow-wrap: break-word;
}


/*OIKOTIE ASUNTOHAKU*/

.link-row a,.link-row img {
vertical-align:middle;
margin:5px
}

.link-row img {
height:20px;
object-fit:contain
}

.link-row {
background:#fff;
margin-top:13px;
border-radius:4px;
border:1pt solid #dcdcdc
}

.selectize-dropdown-content {
max-height:500px
}

.ilmoitus-container {
display:flex;
flex-wrap:wrap;
gap:5%;
justify-content:space-evenly;
font-family:"PT Sans"
}

.ilmoitus-block {
max-width:215px;
color:#000;
text-align:center;
padding-top:2%;
border-top:1pt solid #dcdcdc
}

.ilmoitus-block_thumb {
min-height:161px;
max-height:161px;
margin-bottom:10px
}

.ilmoitus-block:visited {
color:#FF589E
}

.ilmoitus-block:hover {
color:#344593;
text-decoration:none
}

.ilmoitus-block:visited .ilmoitus-block_type {
color:#FF8BBC
}

.ilmoitus-block:hover .ilmoitus-block_type {
color:#9FA8D2
}

.ilmoitus-block_rooms {
font-weight:700;
font-size:1.3em
}

.ilmoitus-block_values {
font-weight:700;
font-size:1.1em
}

.ilmoitus-block_type {
font-size:.9em;
color:#969696
}

.noUi-target {
max-width:216px!important
}

.air-datepicker-cell.-max-date-:not(.-selected-),.air-datepicker-button {
color:#344593!important
}

.air-datepicker-cell.-selected- {
background:#344593!important
}

/*OSOITEHAKU*/

#osoitehaku-map_trigger {
margin-bottom:5px
}

#osoitehaku-query + .selectize-control .selectize-dropdown {
z-index:9999!important
}

#osoitehaku-query-label {
    width: 100%;
    margin-left:auto;
    margin-right:auto;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
}

#vertailu_search-label {
    width: 100%;
    margin-left:auto;
    margin-right:auto;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
}

.osoitehaku-container {
background-color:#f6f6f6;
display:flex;
margin-left: -20px;
margin-right:-20px;
flex-direction:column;
align-items:center;
padding-top:30px;
padding-bottom:30px;
font-family: "Roboto";
}


.form-group:has(label[id="osoitehaku-query-label"]) {
    width: 80%;
    max-width: 800px;
}

.form-group:has(label[id="vertailu_search-label"]) {
    margin-top: 15px;
    width: 60%;
    max-width: 600px;

}

.form-group:has(label[id="osoitehaku-query-label"]) .selectize-input {
    font-size: 14px;
    padding: 10px;
}

.form-group:has(label[id="vertailu_search-label"]) .selectize-input {
    font-size: 13px;
    padding: 10px;
}

#report_trigger,#osoitehaku-map_trigger {
    font-family: "filson-soft";
    font-weight: 700;
    background-color:#c62e7b;
    color: #FFF;
    border-color:transparent;
    text-transform: uppercase;
    width: 40%;
    border-radius: 8px;
    margin-top: 15px;
    min-width: 140px;
    max-width: 420px;
}

#osoitehaku-map_trigger {
    font-size: 14px;
}

#report_trigger {
    font-size: 18px
}

#osoitehaku-map_trigger:active,
#report_trigger:active {
    color: darkgray;
    outline: none;
    box-shadow: none;
}

@media (max-width: 600px) {

.form-group:has(label[id="osoitehaku-query-label"]) {
    width: 90%
}

.form-group:has(label[id="vertailu_search-label"]) {
    width: 80%
}

    #report_trigger,#osoitehaku-map_trigger {
    width: 50%;
}

}

.key-table-container {
    display:flex;
    flex-flow: column nowrap;
    min-height: 450px;
}

.key-table {
    display: grid;
    font-weight: 700;
    font-size: 15px;
    grid-template-rows: minmax(35px, max-content);
    width: 100%;
    flex: 2;
    gap: 20px 0px;
}

.key-table-row, .key-table-header {
    display: contents;
}

.key-table-header-cell, .key-table-value, .key-table-unit, .key-table-extra, .key-table-change {
    padding: 5px;
    text-align: center;
    align-content: center;
}

.key-table-value, .key-table-unit, .key-table-extra, .key-table-change {
    background: #f6f6f6;
}

.key-table-lab {
    text-align: left;
    padding: 5px 15px 5px 5px;
    align-content: center;
}

.key-table-value {
    font-size: 48px;
    font-weight: 1000;
}


.key-fig-supercontainer {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap: clamp(5px, 2vw, 30px);
    align-items: stretch;
    min-height: 250px;

}

.key-fig-element {
    flex: 1;
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
}

.key-fig-container-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

.key-fig-container-footer {
    font-weight: 700;
    flex: 1 1 100%;
    text-align: center;
}

.key-fig-container {
    display: flex;
    height: 100%;
    flex-flow: row wrap;
    justify-content: space-evenly;
    padding: clamp(30px, 3vw, 50px);
    gap: clamp(10px, 3vw, 40px);
}

.key-fig {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.key-fig-val {
    font-size: 48px;
    font-weight: 1000;
    text-wrap: nowrap;
}

.key-fig-head {
    font-size: 14px;
}

.key-fig-loc {
    text-align: center;
}

.key-fig-head-plus, .key-fig-head-minus, .key-fig-head-neutral {
    font-size: 18px;
    font-weight: bold;
}

.key-fig-head-plus {
    color: green;
}

.key-fig-head-minus {
    color: red
}

.key-fig-loc {
    font-size: 16px;
}

.key-arrow-container {
  position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    font-size: 36px;
    left: 15px;
}

.key-arrow-up {
  position: absolute;
  bottom: 2pt;
  right: 15pt;
  transform: rotate(45deg);
  color: #e7317e
}

.key-arrow-down {
  position: absolute;
  top: 12pt;
  left: 8pt;
  transform: rotate(-135deg);
  color: #344593
}

/* YLEISKATSAUS AVAINLUVUT */
.yleiskatsaus-key-fig-container {
    background: #d1e8f5;
    display: flex;
    flex-flow: row-reverse wrap-reverse;
    justify-content: center;
    padding: clamp(30px, 3vw, 50px);
    gap: clamp(10px, 3vw, 40px);
    min-height: 450px;
}

.yleiskatsaus-key-fig {
    display: flex;
    flex-flow: column nowrap;
    flex: 45%;
    gap: clamp(2px, 2vw, 5px);
    justify-content: center;
    align-items: center;
}

.yleiskatsaus-key-fig-icon {
    width: 50px;
}

.yleiskatsaus-key-fig-lab {
    font-size: 13px;
    text-align:center;
}

.yleiskatsaus-key-fig-val {
    font-size: 17px;
    font-weight: bold;
    text-align:center;
}

/*FOOTER*/
#dynamicFooter {
background-color:#000;
padding:10px 0;
display:flex;
justify-content:space-between;
align-items:center;
z-index: 10000;
margin-left: -15px;
margin-right: -15px;
}

.footer-center {
display:flex;
justify-content:center;
flex:2;
gap:10px;
align-items: center;
}

.footer-dummy {
visibility:hidden;
    flex: 1;
}

#nav-kayttoehdot{
    flex: 1
}

#nav-kayttoehdot, #nav-oikotie, #nav-asuntoliiga {
    background-color:#000;
    font-family:"PT Sans";
    font-weight:400;
    color: #FFF;
    border-color:transparent;
}

#nav-kayttoehdot:active,
#nav-oikotie:active,
#nav-asuntoliiga:active{
    color: darkgray;
    outline: none;
    box-shadow: none;
}

#nav-oikotie img {
    height: 25px;
}

#nav-asuntoliiga img{
    height: 50px;
}

@media (max-width: 540px) {

#dynamicFooter,.footer-center {
flex-direction:column;
}

.footer-dummy {
display:none
}

#nav-oikotie img {
    height: 25px;
}

}

.avaindata-disabled {
  pointer-events: none;
  position: relative;
  opacity: 0.6;
  transition: opacity 0.5s ease-in-out;
}

.avaindata-disabled::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(255, 255, 255, 0.3); /* Lighter */
  backdrop-filter: blur(1px);           /* Softer blur */
  z-index: 1000;                        /* Above bs4Dash box tools */
  pointer-events: none;
  animation: subtlePulse 2s infinite ease-in-out;  /* Slower */
  border-radius: inherit;
}

@keyframes subtlePulse {
  0% { background-color: rgba(255,255,255,0.2); }
  50% { background-color: rgba(255,255,255,0.3); }
  100% { background-color: rgba(255,255,255,0.2); }
}

 .custom-loader-wrapper {
      position: relative;
      min-height: 50px;
    }

 .dot-loader {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      height: 100%;
      min-width: 100px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 1000;
    }

    .dot-loader div {
      width: 10px;
      height: 10px;
      margin: 0 5px;
      background-color: #344593;
      border-radius: 50%;
      animation: dot-bounce 1.4s infinite ease-in-out both;
    }

    .dot-loader div:nth-child(1) {
      animation-delay: -0.32s;
    }

    .dot-loader div:nth-child(2) {
      animation-delay: -0.16s;
    }

    .dot-loader div:nth-child(3) {
      animation-delay: 0;
    }

    @keyframes dot-bounce {
      0%, 80%, 100% {
        transform: scale(0);
      } 40% {
        transform: scale(1);
      }
    }

.chat-container {
    padding-right:15px;
}
.chat-container .bslib-card {
    overflow: unset;
}

.chat-container textarea {
    min-height: 10vh;
}

