input[type=checkbox] {
  vertical-align: middle;
  position: relative;
  bottom: 1px;
}
input[type="checkbox"]:hover {
  filter: invert(60%) hue-rotate(18deg) brightness(1.7);
}
input[type=text] {
  font-family: Arial;
  font-size:12px;
  border-color:#d9d9d9;
}
input[type=text]:hover {
  border:solid 2px #999999;
}
input[type=text]:focus {
  background-color: #f2f2f2;
}
textarea {
  border:solid 1px #999999;
}
textarea:hover {
  border:solid 1px #f2f2f2;
}
textarea:focus {
  background-color: #f2f2f2;
}
input[type=date]:focus {
  background-color: #f2f2f2;
}
input[type=date] {
  border-color:#d9d9d9;
}
.locked {
  opacity: 0.5;
  pointer-events: none;
}
.kohdetbl {
  margin-top: 5px;
}
.kohdetbl td {
  font-size: 12px;
}
#soprivi {
   background-color:#cce6ff;
}
#taplaji {
  font-family: Arial;
  font-size:13px;
}
#tapkohde {
  font-family: Arial;
  font-size:13px;
}
#httype {
  font-family: Arial;
  font-size:13px;
}
#on_alv {
  font-family: Arial;
  font-size:13px;
}
#rapotype {
  font-family: Arial;
  font-size:13px;
}
#vuosi {
  font-family: Arial;
  font-size:13px;
}
#vval {
  font-family: Arial;
  font-size:13px;
}
#kval {
  font-family: Arial;
  font-size:13px;
}
#totebank {
  font-family: Arial;
  font-size:13px;
}
#rapo_parameter_wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 5px;
  column-gap: 20px;
}

#rapo_parameter_wrapper > * {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#rapo_parameter_wrapper > .omistaja_select_wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ipkentta {
  font-family: Arial;
  font-size:13px;
}
#kuoridiv td {
   font-family: Arial;
}
#uusidiv {
  display: inline-block !important;
  margin-left: 20px;
}

#uusidiv button {
  margin-right: 10px;
}
.oma-input.custom{
    background-color:#339933;
    border:none;
    color:white;
    padding:3px 8px;
    margin-top:1px;
    margin-left:5px;
    margin-right:5px;
    margin-bottom:1px;
    text-align:center;
    text-decoration:none;
    font-size:14px;
    width:80px;
    height:15px;
    box-shadow:2px 2px 4px #000000;
    display:inline;
}
.oma-input{
  position: relative;
  overflow: hidden;
}
.file-input.custom{
    background-color:#339933;
    border:none;
    color:white;
    padding:3px 8px;
    margin-top:1px;
    margin-left:5px;
    margin-right:5px;
    margin-bottom:1px;
    text-align:center;
    text-decoration:none;
    font-size:14px;
    width:80px;
    height:15px;
    box-shadow:2px 2px 4px #000000;
    display:inline;
}
.file-input{
  pointer-events: none;
  position: relative;
  overflow: hidden;
}
.file-input > * {
  pointer-events: none;
}
.file-input > input[type="file"]{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: all;
  cursor: pointer;
  height: 100%;
  width: 100%;
}
#sopvalots {
   text-align:center;background:#0073e6;border:1px solid white;padding:3px;color:white;padding-top:6px;
}
#sopsel{
   font-size:14px;
   padding:3px;
   border:1px solid;
   border-left:0px;
}
#budupdtable td {
   padding:3px;
}
#budupdtable_all td {
   padding:3px;
}
#rapoupdtable td {
  padding:5px;
  padding-top:1px;
  padding-bottom:1px;
}
#kiintupdtable td {
  font-weight:bold;
}
#budseuupd {
}
.prapo {
   font-size:14px;
}
#updquery {
  border: solid 1px;
  padding:2px;
  margin:2px;
  background: #FFFFFF;
  display: none;
  font-weight:bold;
}
#uqinfoots {
  background:#008ae6;
}
#omprosdiv {
  background:#ffffff;
}
#omprosots {
background:#0073e6;
color:white;
}
#omistajadiv {
  background:#ffffff;
}
#omistajaots {
background:#0073e6;
color:white;
}
.omistajalomake_main th {
  padding-left: 5px;
  background-color: #004d99;
  color: white;
  text-transform: uppercase;
  padding: 3px;
}
.omistajalomake_main td {
  padding: 5px;
  cursor: pointer;
}
.omistajalomake_main tr.omistrivi {
  background-color: rgb(204, 230, 255);
}
.omistajalomake_main tr.omistrivi.valittu {
  background-color: rgb(144, 72, 112);
  color: white;
}
.omistajalomake label {
  display: block;
}
.omistajalomake td {
  padding: 0px;
}
#vuokratulodiv {
  background:#ffffff;
  max-height: 90%;
  overflow-y: hidden;
  overflow-x: hidden;
}

.aputeksti {
  margin: 0 5px 0 5px;
}

.haku_parametri {
  display: flex;
  align-items: center;
}

.vuokratulolomake_info {
  margin: 10px 0px 20px 0px;
}

.green {
   color:green;
}
.red {
   color:red;
}
#vuokratuloots {
background:#0073e6;
color:white;
}
#vuokratulodata {
  display: flex;
  flex-direction: column;
  max-height: 80vh;
}
#vuokratulodata #hakukentat {
  display: flex;
  justify-content: space-around;
  padding-right: 5px;
}

#vuokratulodata #hakukentat > div {
  width: 100%;
  text-align: left;
  margin-right: 15px;
}

#vuokratulodata #hakukentat label {
  display: inline-block;
}

#vuokratulodata #hakukentat .title {
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
}

#vuokratulokuukausi {
  box-sizing: content-box;
}

#vuokratulodata #hakukentat #vuokratulo_omistajat {
  max-height: 130px;
  overflow-y: scroll;
}

#vuokratulodata #hakukentat #vuokratulo_kiinteistot {
  max-height: 130px;
  overflow-y: scroll;
  border: none;
  background-color: transparent;
}

#vuokratulo_data {
  width: 100%;
  overflow-y: scroll;
}

#vuokratulodata label {
  display: block;
}

#vuokratulodata .kiinttiedot {
  display: block;
  margin-top: 0px;
  margin-bottom: 0px;
}

#vuokratulodata .kiinttiedot .vuokratulot_kohdetiedot .output_block {
  margin-bottom: 20px;
  text-align: left;
}

#vuokratulodata .kiinttiedot .vuokratulot_kohdetiedot .output_block .title {
  font-weight: 600;
  margin-bottom: 5px;
}

#vuokratulodata .kiinttiedot .vuokratulot_kohdetiedot .output_block .vuokralainen {
  margin-bottom: 10px;
}

#vuokratulodata .kiinttiedot .vuokratulo_saldot {
  display: block;
  width: 50%;
}

#vuokratulodata #vuokratulo_data {
  flex-wrap: wrap;
}

#vuokratulodata #vuokratulo_data > .title {
  text-align: left;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}

#vuokratulodata .content_toggler {
  display: flex;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

#vuokratulodata .toggle_button {
  font-weight: bold;
  font-size: 18px;
  padding: 5px;
}

#vuokratulodata .toggle_button:before {
  content: "+";
}

.content_toggler.avoin + .vuokratulot_kiinteisto_wrapper {
  margin-left: 10px;
}

.content_toggler.avoin + .vuokratulot_kiinteisto_inner_wrapper {
  margin-left: 0px;
  width: 95%;
  margin-right: 10px;
  margin-left: auto;
}

#vuokratulodata .content_toggler.avoin > .toggle_button:before {
  content: "-";
}

#vuokratulodata .toggle_data {
  margin-left: 20px;
  font-size: 15px;
}

#vuokratulodata .kiinttiedot .vuokratulo_saldot {
  width: 100%;
}

.omistajatiedot_wrapper {
  margin-bottom: 20px;
  padding-right: 10px;
}

.omistajan_saldotaulukko th:first-child {
  text-align: left;
  padding-left: 10px;
}

table.vuokratulo_saldotaulukko {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  border-collapse: collapse;
  background-color: white;
}

table.vuokratulo_saldotaulukko th {
  background-color: lightgray;
  padding-top: 3px;
  padding-bottom: 2px;
  padding-right: 5px;
  text-align: right;
}

table.vuokratulo_saldotaulukko th:last-child {
  padding-right: 10px;
}

table.vuokratulo_saldotaulukko th.alaotsikko {
  text-align: right;
  padding-right: 5px;
  padding-left: 5px;
}

table.vuokratulo_saldotaulukko th.alaotsikko:first-child {
  text-align: left;
}

table.vuokratulo_saldotaulukko tr.erotin td {
  height: 5px;
}

table.vuokratulo_saldotaulukko td {
  padding-bottom: 5px;
  padding-right: 5px;
  text-align: right;
}

table.vuokratulo_saldotaulukko tr.alaotsikkorivi + tr td {
  padding-top: 5px;
}

table.vuokratulo_saldotaulukko td:first-child {
  text-align: left;
  padding-left: 10px;
}

table.vuokratulo_saldotaulukko td:last-child {
  padding-right: 10px;
}

table.vuokratulo_saldotaulukko td.sisennetty {
  padding-left: 20px;
}

table.vuokratulo_saldotaulukko td.title {
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 5px;
}
.tuloilmoitus_napit {
  margin-top: 20px;
  text-align: center;
}
#tuloilmoitus_lahetys {
  margin-top: 20px;
}
.tuloilmoitus_aiemmat_wrapper {
  margin-top:20px;
  margin-bottom: 30px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.tuloilmoitus_aiemmat_wrapper .title {
  font-weight: bold;
  text-align: left;
  font-size: 16px;
  margin-bottom: 5px;
}

.tuloilmoitus_aiemmat_taulukko {
  display: grid;
  grid-template-columns: auto auto auto auto auto auto;
  grid-gap: 2px;
  padding-right: 10px;
  max-height: 30vh;
  overflow-y: auto;
}

.tuloilmoitus_aiemmat_taulukko .row {
  display: contents;
}

.tuloilmoitus_aiemmat_taulukko .row:hover > .cell {
  /* background-color: rgb(198,83,140); */
  background-color: #c2e2fa;
  color: black;
}

.tuloilmoitus_aiemmat_taulukko .cell.header {
  background-color: #004d99;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  padding: 3px;
  padding-left: 5px;
  cursor: default;
  text-align: left;
}

.tuloilmoitus_aiemmat_taulukko .cell {
  cursor: pointer;
  background-color: #ecf9ec;
  color: rgb(0, 0, 0);
  line-height: 20px;
  text-align: left;
  padding-left: 5px;
  position: relative;
}

#veroinfodiv {
  background-color: white;
  height: auto;
  max-height: 60vh;
  display: flex;
  flex-direction: column;
  // max-height: 40vh;
}

#veroinfo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  overflow: auto;
}

.veroilm_kohde_wrapper {
  margin-bottom: 10px;
  font-weight: bold;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid gray;
  padding-bottom: 15px;
}

.veroilm_kohde_wrapper:last-child {
  border-bottom: none;
  padding-bottom: 0px;
}

.veroilm_omistaja {
  font-weight: normal;
  padding: 2px;
  padding-left: 10px;
  margin-top: 5px;
}

.veroilm_omistaja:has(.veroilm_message_ok) {
  border: 1px solid green;
}

.veroilm_omistaja:has(.veroilm_message_error) {
  border: 1px solid red;
}

#budseuupd_all {
   background:#e6f2ff;
}
#budseuupdwmove_all {
   background:#0073e6;
   color:white;
}
#kiindokuots {
   line-height:1.4em;
   font-size:14px;
   background:#0073e6;
   border:1px solid #000000;
   color:white;
   text-align:center;
}
#kiindokukuori {
   font-size:14px;
   background:#b9dbff;
   padding:5px;
   border:1px solid;
   margin-top:5px;
}
#kdokulist {
   margin-bottom:10px;
}
.taprivi {
  background:#E8DCDC;
}
.tofile {
  padding:3px;
  background:#ffffff;
}
.taplinkki {
  padding-left:3px;
  padding-right:3px;
  background:#E8DCDC;
  border:solid 1px #999999;
}
.taplinkki:hover {
  border:solid 1px #E8DCDC;
}
#ohjediv,
#ohjevideodiv {
  background:#ffffff;
}
#ohjedata p {
  margin:1px;;
}
.btn_ohjevideo {
  margin-left: 10px;
  background-color: #fff;
  color: #000;
  padding-left: 5px;
  padding-right: 5px;
  font-size: 15px;
  font-weight: normal;
  display: flex;
  align-items: center;
}
#kirtable td {
  padding:3px;
}
#kirtable {
  border-spacing:0;
}
#tapatbl td {
  padding:1px;
}
.budupdtbl td {
  font-size:10px;
}
.llots td {
  background:#004080;
  border:1px solid #004080;
  padding:2px;
  font-size:12px;
  color:#ffffff;
  font-weight:bold;
}
.llrivi td {
  border:1px solid;
  padding:2px;
  font-size:12px;
  padding-top:1px;
  padding-bottom:0px;
}
button {
  font-size:13px;
  border:solid 1px #999999;
  height:24px;
}
button:hover {
  background-color: #f2f2f2;
  cursor:pointer;
  border:solid 1px #333333;
  color: #800000;
}
input[type=button] {
  font-size:13px;
  border:solid 1px #999999;
  cursor:pointer;
  height:24px;
}
input[type=button]:hover {
  background-color: #f2f2f2;
  border:solid 1px #333333;
  cursor:pointer;
  color: #800000;
}
input[type=submit] {
  font-size:13px;
  cursor:pointer;
  border:solid 1px #999999;
  height:24px;
}
input[type=submit]:hover {
  background-color: #f2f2f2;
  border:solid 1px #333333;
  cursor:pointer;
  color: #800000;
}
select {
  padding:2px;
}
#rivitbl td {
  padding:4px;
}
.updlist tr {
  background:#ecf9ec;
}
.updlist td {
  border:1px solid;
  padding:4px;
  font-size:12px;
}
#vilmodiv {
  border: solid 1px;
  padding:2px;
  margin:2px;
  background: #FFFFFF;
  display: none;
  font-weight:bold;
}
#lhdata {
  padding:5px;
  margin:5px;
  border:1px solid #000000;
  background:#ffffff;
  width:1080px;
  height:350px;
  overflow-x:scroll;
  overflow-y:scroll;
  font-size:13px;
}
#lah_halyt_tbl td {
  padding:2px;
  border:1px solid #000000;
}
.lh_ots td {
  background:#000000;
  color:#ffffff;
  font-weight:bold;
}
.lh_rivi td {
  vertical-align:top;
}
.fc-head-container th {background:#0073e6;color:#ffffff;padding:4px;}
.style1 {font-family: Arial, Helvetica, sans-serif; font-size:14px}
.style2 {font-family: Arial, Helvetica, sans-serif; font-size:16px}
.style3 {font-family: Arial, Helvetica, sans-serif; font-size:20px}
#kayttbl td {font-family: Arial;font-size:14px;}

.form_title {
  // font-weight: bold;
  text-transform: lowercase;
  line-height: 1.4em;
  font-size: 14px;
  background: #0073e6;
  border: 1px solid #000000;
  color: white;
  text-align: center;
}

.form_title:first-letter {
  text-transform: capitalize;
}

#omistus_list_table,
#muuta_table{
  width: 100%;
  font-size: 12px;
  padding-right: 5px;
  background-color: #b9dbff;
}

#muuta_table {
  margin-top: 10px;
}

#kiintupdtable #isanta {
  width: 182px;
}

#kiintupdtable #puhelin {
  width: 100px;
}

.dlistdiv {
  display: flex;
  column-gap: 10px;
}

.dlisttd {
  display: flex;
  flex-direction: column;
  border: 1px solid black;
  align-items: center;
  min-width: 80px;
  max-width: 100px;
  row-gap: 5px;
  padding: 5px;
  background-color: #b1cfec;
}

.dlisttd div:nth-child(1) {
  display: flex;
  width: 100%;
  height: 35px;
  font-size: 11px;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.dlisttd div:nth-child(2) {
  max-height: 15px;
  font-size: 12px;
  text-align: center;
  overflow: hidden;
}

.dlisttd a {
  font-size: 12px;
}

#kdokuaddtoggler {
  display: inline-block;
  cursor: pointer;
  font-size: 20px;
  color: white;
  float: right;
  margin-right: 5px;
}

#kdokuaddclose {
  right: 5px;
  top: 5px;
  position: absolute;
  cursor: pointer;
}

#kdokuaddclose img {
  width: 15px;
  border: 1px solid black;
}

#kdokuaddwrapper {
  position: relative;
  border: 1px solid black;
  display: block;
  padding: 5px;
  padding-top: 15px;
}

.kcustinpwrapper {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding-top: 5px;
  padding-bottom: 5px;
}

.file-input {
position: relative;
}

.file-input.custom {
  cursor: pointer;
}

.file-input .button {
  position: relative;
}

#fileToUpload3 {
position: absolute;
inset: 0;            
top:0; right:0; bottom:0; left:-100%;
width: 500%;
height: 100%;
opacity: 0;
cursor: pointer;
}

#kohteen_poistot {
  margin-top: 20px;
}

.poisto_otsikko {
  margin-bottom: 10px;
  font-size: 1.2em;
  text-decoration: underline;
}

.poisto_kentat {
  display: grid;
  grid-template-columns: 200px auto auto auto;
  row-gap: 10px;
  column-gap: 10px;
}

.poisto_hankintahinta_otsikko,
.poisto_vuosi_otsikko {
  display: inline-block;
  margin-right: 10px;
}

.poisto_kentat input[type="text"] {
  height: 15px;
}

.poisto_kentat input[type="text"][readonly] {
  background-color: rgba(239, 239, 239, 0.6);
  color: rgb(34,34,34);
}

.poisto_pros_otsikko {
  text-align: center;
}

#p_vuosi {
  display: inline-block;
  width: 60px;
}

#p_alkupaaoma {
  width: 100px;
}

.ikkuna-content-wrapper {
  max-height: 60vh;
}

.ikkuna {
  max-height: calc(100vh - var(--dialog-top) - 20px);
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
}

.ikkuna > * {
  box-sizing: border-box;
  max-width: 100%;
}

#kiintupdbuttons > * {
  margin-top: 5px;
}

#totefilelist {
  max-height: 103px;
}

.toteuploadrefresh {
  text-align: center;
  padding-top: 10px;
}

/* #ui-datepicker-div {
  top: 50vh !important;
  left: 50vw !important;
  transform: translate(-50%, -50%) !important;
} */

#vuokratulodiv {
  position: fixed;
  top: 20px;
  left: 100px;
  width: 1000px;

  max-height: calc(100vh - 40px);  /* 20px ylhäällä + 20px alhaalla */
  display: flex;
  flex-direction: column;
}

/* Otsikko, info ja napit eivät rullaa */
#vuokratuloots,
#vukratuloinfo,
#omprnapit {
  flex: 0 0 auto;
}

/* Keskiosa (#vuokratulodata) venyy käytettävissä olevaan tilaan */
#vuokratulodata {
  flex: 1 1 auto;     /* vie loput tilasta otsikon+napin jälkeen */
  min-height: 0;      /* pakollinen, että flex-lapsi voi kutistua */
  overflow: hidden;   /* ettei koko dialogi ala rullata */
  
  display: flex;
  flex-direction: column;
}

/* VAIN tämä alue on rullaava ja skaalautuva */
#vuokratulo_data {
  flex: 1 1 auto;   /* ottaa kaiken jäljellä olevan tilan sisarus-elementtien välissä */
  min-height: 0;
  overflow: auto;   /* scrolli tähän */
}

#otstbl td,
#sopval .tultbl td,
#sopsel .tultbl td {
    border: 1px solid rgb(0, 77, 153);
}

#sopval {
    width: 100%;
}

#sopsel .tultbl {
    width: calc(100% - 15px);
}

#sopsel .tultbl2 {
    width: calc(100% - 0px);
}

#rivitbl {
    text-align: left;
    background-color: transparent;
    background: linear-gradient(to bottom, #e6f2ff 0%, #0059b3 100%);
}

#rivitbl tr,
.soprivi {
    cursor: pointer;
    background-color: rgb(236, 249, 236);
    color: rgb(0, 0, 0);
}

#rivitbl tr.selected,
.soprivi.selected {
    background-color: rgb(194, 226, 251);
    color:black;
}

#rivitbl tr:hover,
.soprivi:hover {
    background-color: rgb(194, 226, 251);
}

#rivitbl td,
.soprivi td {
    border: 1px solid;
}

#tallenna_rapo7 {
  background-color: #0073e6;
  color: white;
  padding: 9px;
  border: 0px transparent;
  height: auto;
}

#save_ok_rapo7 {
  background-color: #0073e6;
  padding: 10px;
  color: white;
  margin-bottom: 5px;
  text-align: center;
  font-size: 1.2em;
}

#ilmookdiv {
  z-index: 150 !important;
  border: 1px solid;
  position: fixed;
  top: 150px;
  left: 340px;
  width: 300px;
  box-shadow: 2px 2px 4px;
  background-color: white;
  overflow: hidden;
}

#ilmookots {
  border:1px solid #000000;
  width:284px;
  padding:3px;
  text-align:center;
  font-size:16px;
  margin:5px;
  color:white;
  background-color: #0073e6;
  font-weight: bold;
}

#ilmook {
  width:280px;
  text-align:center;
  padding:5px;
  border:1px solid;
  margin:5px;
  font-size:14px;
}

#ilmooknapit {
  text-align:center;
  margin:5px;
}

#rapo7tbl {
  width: 100%;
  text-align: left;
}

#rapo7tbl td {
  text-align: left;
  margin-left: 0px;
}

#rapo7tbl td:first-child {
  width: 40%;
}

#rapo7tbl input[type=text],
#rapo7tbl textarea{
  width: 95%;
}

#rapo7tbl .send_report_preview {
  display: inline-block;
  color: blue;
  cursor: pointer;
}

#send_report_preview {
  background-color: white;
  overflow: hidden;
  z-index:250 !important;
  display:none;
  border:1px solid;
  position:fixed;
  box-shadow:2px 2px 4px;
  width: auto;
  max-width: 80%;
  top: 150px;
  left: 240px;
}

#send_report_preview_data {
  background-color: white;
  display: block;
  margin: 10px;
}

#sulje_send_report_preview {
  cursor: pointer;
}

#vuoupdtable {
  width: 100%;
}

#vuoupdtable #ei_valvonta_sp {
  margin-left: 0px;
}

.separator {
  position: relative;
  width: 100%;
  height: 4em;          /* säädä tästä korkeutta */
  overflow: hidden;
}

.separator span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);  /* pystysuuntainen keskitys */
  display: block;
  white-space: nowrap;
  font-family: monospace;
  line-height: 1;      /* estää ylimääräisen pystysuunnan venymisen */
}