:root {
  /*--PrimaryGemasColor: #fe0000;*/
  --PrimaryGemasColor2: #fe0000; 
  --PrimaryGemasColor: #6d6d6d;
  --SelectColor: #beebff;
  /*--SelectColor: #fe0000;*/
  --TextColor: #ffffff; /*white; */
  --TextColor2: #6d6d6d; 
  --TextColor3: #fe0000; 
  /*--GradientColor: linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  /*--GradientColor: linear-gradient(to top left, #8a8585 40%, var(--PrimaryGemasColor2) 100%);*/
  /*--GradientColor: linear-gradient(to top left, var(--PrimaryGemasColor) 60%, var(--PrimaryGemasColor2) 100%);*/
 /* --GradientColor: linear-gradient(to top left, #d2cdcd 60%, var(--PrimaryGemasColor2) 100%);*/
  /*--GradientColor: linear-gradient(to top left, #dde2e6 20%, var(--PrimaryGemasColor2) 100%);*/
  --GradientColor: linear-gradient(to top left, var(--PrimaryGemasColor) 30%, var(--PrimaryGemasColor2) 100%);
}

/*.Icon_LightBulbPlus {
  width: 16px;
  height: 16px;
  background-image: url("../gfx/light_bulb__plus.png");
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
*//*.context-menu-icon-LightBulbPlus:before{content:url("../gfx/light_bulb_plus.png"); width: 16px; height: 16px;}*/

/*.Icon_LightBulbMinus {
  width: 16px;
  height: 16px;
  background-image: url("../gfx/light_bulb__minus.png");
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
*//*.context-menu-icon-LightBulbMinus:before{content:url("../gfx/light_bulb_minus.png"); width: 16px; height: 16px;}*/


/*.Icon_LightBulbPencil {
  width: 16px;
  height: 16px;
  background-image: url("../gfx/light_bulb__pencil.png");
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  cursor: pointer;
}*/
/*.context-menu-icon-LightBulbPencil:before{content:url("../gfx/light_bulb_pencil.png"); width: 16px; height: 16px;}

.ui-button.defaultColButton {
    background-color: var(--SelectColor); /*#c6f6f1;*/
/*}*/

.ui-button.requiredColButton {
    background-color: #f18e7d;
}

.SelectButton {
  color: #2b94c4;
}  

/* ********************** */
/* Login form section begin */

* {
  box-sizing: border-box;
}

body {
  padding-top: 20%;
  margin: 0;
}

.login-logo,
.login-title,
.login-form,
.login-contact {
  width:80%;
  margin: 0 auto;
}

@supports (display: flex) {
  body {
    padding:0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  
  .login-title, .login-logo, .login-form, .login-contact {
    width: 20%;
  }
}

@supports (display: grid) {
  body {
    display: grid;
    grid-template-columns: 100%;
    align-content: center;
    align-items: stretch;
  }

  @media (min-width: 44.001em) {
    body {
      grid-template-columns: repeat(2, minmax(150px, 35%));
    }

    .login-logo,
    h1,
    .login-title,
    .login-form,
    .login-contact {
      grid-column-end: span 7;
      width: 30%;
    }

    .login-form > div {
      display: grid;
      grid-template-columns: 7fr;
      align-items: center;
    }

    .login-form > div.login-actions {
      grid-template-columns: 7fr;
    }

    .login-form > div.checkbox {
      font-family: Arial;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr ;
    }

    .login-contact {
      padding: 0 0 0 10px;
      width: auto;
    }
  }
}

.login-title
 {
  /*background-color: var(--PrimaryGemasColor);*/ /*#fe0000;*/ /*#ff675b;*/
  background: var(--GradientColor); /*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  padding: 10px;
  line-height: 1.4;
  font-size: 130%;
  font-family: Arial;
  color: var(--TextColor); /*#fff;*/
  display:flex;
  justify-content:center;
  border-right: 1px solid var(--PrimaryGemasColor); 
  border-left: 1px solid var(--PrimaryGemasColor); 
}

.login-form {
  border: 1px solid var(--PrimaryGemasColor);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  padding: 10px;
  margin-bottom: 10px;
  /*background: linear-gradient(to top left, #fbfaf7 10%, #e18787 100%);*/
  /*background: linear-gradient(to top left, #cecdc9 10%, #171717 100%);*/
  /*background: linear-gradient(to top left, #cecdc9 10%, #d5b1b1 100%);*/
  background: linear-gradient(to top left, #f9f8f5 10%, #aeabab 100%);
}

.login-form > div {
  padding: 10px 0;
}

.login-form button[type="submit"] {
  border: 1px solid var(--PrimaryGemasColor); 
  border-radius: 5px;
  color: var(--TextColor); /*#fff;*/
  /*background-color: var(--PrimaryGemasColor);*/
  /*linear-gradient(to bottom left, #fbf7f8 40%, var(--PrimaryGemasColor) 100%);*/
  background: var(--GradientColor);/*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  /*background: linear-gradient(to top left, #6d6d6d 10%, #fe0000 100%);*/
  /*background: linear-gradient(to top left, #5e5b5b 10%, #dddada 100%);*/
  font-size: 110%;
  height:160%;
}

.login-form input[type="email"],
.login-form input[type="password"] {
  border: 1px solid var(--PrimaryGemasColor);
  padding: 10px;
  margin-bottom: 5px;
  border-radius: 5px;
  font-size: 110%;
  width: calc(100% - 20px);
}

.login-form input::placeholder {
  opacity: .5;
  color: var(--TextColor2);
}

.ButtonLogin {
  margin-top: 6px;
  background: linear-gradient(to top left, #f9f8f5 10%, #aeabab 100%);
  filter: drop-shadow(4px 4px 2px);
  width: 100%;
  text-align: center;
}

.login-form label {
  color: var(--TextColor2);
}  

.login-logo > img {
  width: 95%;
  height: 72;
  object-fit: cover;
  object-position: bottom;
}

.login-form, .login-logo, .login-title, .login-button {
  min-width: 250px;
}

/* password vergessen */
.login-forgotpass
{
  margin-top: 10px; 
  text-align: center;
}

.login-forgotpass a 
{
  opacity: .5;
  color: var(--TextColor2);
  font: bold 12px/25px Arial, Helvetica;
  text-decoration: none;
}

.login-forgotpass a:hover
{
  color: var(--PrimaryGemasColor2);
}


/* Login form section end */
/* ********************** */

/* ******************  */
/* Main section begin */

.container {
    height: 100vh;
    display: grid;
    grid-template-areas: 
        "header-logo"
        "header"
        "content"
        "sidebar"
        "footer"
    ;
}

.container-mieter {
    height: 100vh;
    width: 100.3%;
    display: grid;
    grid-template-areas: 
        "header-mieter-col1"
        "header-mieter"
        "content-mieter-col1"
        "content-mieter-col2"
        "content-mieter-col3"
        "content-mieter"
        "footer-mieter"
    ;
}

/* container-mieter: 4 columns */
/*
.container-mieter {
    height: 100vh;
    width: 100.3%;
    display: grid;
    grid-template-areas: 
        "header-mieter"
        "header-mieter-col1"
        "content-mieter-col1"
        "content-mieter-col2"
        "content-mieter-col3"
        "content-mieter-col4"
        "content-mieter"
        "footer-mieter"
    ;
}
*/

@media screen and (min-width: 44.001em) {
    .container {
        grid-template-rows: auto minmax(0, 1fr) 35px;  /* statt 72px 1fr 35px */
        grid-template-columns: 25% 25% 25% 25%;
        grid-template-areas:
            "header-logo header header header"
            "sidebar content content content"
            "footer footer footer footer";
    }
}

/* 770 */
/*@media screen and (min-width: 960px) {  */
@media screen and (min-device-width: 960px), screen and (min-width: 960px) {
    .container-mieter {
        grid-template-rows: 72px 1fr 0.5fr 35px;
        grid-template-columns: 95% 95% 95%;
        grid-template-areas: 
            "header-mieter-col1 header-mieter header-mieter"
            "content-mieter-col1 content-mieter-col2 content-mieter-col3"
            "content-mieter content-mieter content-mieter"
            "footer-mieter footer-mieter footer-mieter"
        ;
    }
}

/* container-mieter: 4 columns */
/*
@media screen and (min-device-width: 960px), screen and (min-width: 960px) {
    .container-mieter {
        grid-template-rows: 72px 1fr 0.5fr 35px;
        grid-template-columns: 71.2% 71.2% 71.2% 71.2%;
        grid-template-areas: 
            "header-mieter-col1 header-mieter header-mieter header-mieter"
            "content-mieter-col1 content-mieter-col2 content-mieter-col3 content-mieter-col4"
            "content-mieter content-mieter content-mieter content-mieter"
            "footer-mieter footer-mieter footer-mieter footer-mieter"
        ;
    }
}
*/
header-logo {
    grid-area: header-logo;
}

header {
    grid-area: header;
}

main-content {
    grid-area: content;
}

aside {
    grid-area: sidebar;
}

footer {
    /*background-color: var(--PrimaryGemasColor);*/
    background: var(--GradientColor); /*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
    grid-area: footer;
    z-index: 100;
}

header-mieter-col1 {
    grid-area: header-mieter-col1;
}

header-mieter {
    grid-area: header-mieter;
}

main-content-mieter-col1 {
    grid-area: content-mieter-col1;
}

main-content-mieter-col2 {
    grid-area: content-mieter-col2;
}

main-content-mieter-col3 {
    grid-area: content-mieter-col3;
}

/* container-mieter: 4 columns */
/*
main-content-mieter-col4 {
    grid-area: content-mieter-col4;
}
*/

main-content-mieter {
    grid-area: content-mieter;
}

footer-mieter {
    /*background-color: var(--PrimaryGemasColor);*/
    background: var(--GradientColor); /*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
    grid-area: footer-mieter;
}


.gemas-logo > img {
  width: 50%;
   overflow:hidden;
   margin-top: 10px; 
   margin-left: 5px;
}

.logout-button {
  display:flex;
  justify-content:center;
  float:right; 
  margin-right: 5px; 
  cursor: pointer;
  font-family: Arial;
  color: var(--TextColor);
}

*, *::before, *::after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

.header-navbar {
  width: 95%;
  padding-left: 30px;
  padding-right: 10px;
  display: flex;
  justify-content: flex-end;
  align-items: left;
}

.header-nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
  min-width: 0;  
}

.header-nav-item div, 
.header-nav-item a {
  display: inline-block;
  padding: 10px 15px;
  text-decoration: none;
  font-family: Arial;
  /*color: var(--PrimaryGemasColor);*/
  color: var(--TextColor3);
}

.header-nav-item:hover {
  background-color: var(--PrimaryGemasColor);
}

.header-nav-item:hover div,
.header-nav-item:hover a {
  color: var(--TextColor);
}

table {
  font-family: Arial,Helvetica,sans-serif; 
  font-size: 12px;
} 

td.TabInputStyle {
  background-color: white;
  /*border: 1px solid rgb(0, 0, 0);*/
  border: 1px solid rgb(200, 193, 193);
}  

/* ************ */
/* Table sticky */

table.StickyTab {
  text-align: left;
  position: relative;
}

th.StickyTab, td.StickyTab {
  /*padding: 0.25rem;*/
  padding: 0.45rem;
}

th.StickyTab {
  /*border: 1px solid #0f0f0f;*/
  border: 1px solid rgb(200, 193, 193);
  border-radius: 3px;
  background-color: rgb(225, 225, 225);

  z-index: 99;
  position: sticky;
  top: 0; 
  cursor: pointer;
  box-shadow: 0px 2px 2px -1px rgb(0, 0, 0);
  /*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.4);*/
  background-clip: padding-box;  
}

tr:hover td {
    background-color: #e5f3f9; /*#EED5B1;*/
}
/*tr:hover td, tr.tabrow_selected td {*/
tr.SelectedTabRow td {  
    background-color: #beebff; /*#FFCF8B;*/
}

/* Main section end */
/* **************** */

/* ---------cards ---------- */
.card-main{
  /*max-width: 1200px;*/
  /*margin: 0 auto;*/
  margin-top: 20px;
}

.btn {
  color: var(--TextColor); /*#ffffff;*/
  padding: 0.8rem;
  font-size: 14px;
  text-transform: uppercase;
  border-radius: 4px;
  font-weight: 400;
  display: block;
  width: 90%;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
}

.btn:hover {
  background-color: rgba(255, 255, 255, 0.12);
}


.cards {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cards_item {
  display: flex;
  padding: 1rem;
  list-style: none;
  /* width: 96%; */ /* letzte width */
  width: 89%;
}

/*
@media screen and (min-width: 760px) {  
  .cards_item {
    padding: 1rem;
    list-style: none;
  }
}
*/

/*
@media (min-width: 40rem) {
  .cards_item {
    width: 50%;
  }
}

@media (min-width: 55rem) {
  .cards_item {
    width: 95%;
  }
}
*/

/*
@media (min-width: 759px) {
  .cards_item {
    width: 759px;
  }
}
*/

.card {
  background-color: white;
  border-radius: 0.25rem;
  box-shadow: 0 20px 40px -14px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.card_content {
  padding: 1rem;
  background: linear-gradient(to bottom left, #EF8D9C 40%, #FFC39E 100%);
}

.card_title {
  color: var(--TextColor); /*#ffffff;*/
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1px;
  /*text-transform: capitalize;*/
  margin: 0px;
  text-align: center;
  font-family: Arial, sans-serif;*/
}

.card_text {
  color: var(--TextColor); /*#ffffff;*/
  font-size: 0.875rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;    
  font-weight: 400;
}
.made_by{
  font-weight: 400;
  font-size: 13px;
  margin-top: 35px;
  text-align: center;
}

.card_content2 {
  padding: 1rem;
    /*1 background: linear-gradient(to bottom left, #0690c6 40%, #FFC39E 100%);*/
   /*x background: linear-gradient(to bottom left, #0690c6 40%, #91d4ee 100%);*/
   background: linear-gradient(to bottom left, #08aff0 40%, #91d4ee 100%);
   /*3 background: linear-gradient(to bottom left, #c66006 40%, #91d4ee 100%);*/
   /*4 background: linear-gradient(to bottom left, #ac8539 40%, #91d4ee 100%);*/
    /**/
  /*background: linear-gradient(to bottom left, #0690c6 40%, #FFC39E 100%)*/
  height: 60%;
}

.card_content3 {
  padding: 1rem;
  /*background: linear-gradient(to bottom left, #ac8539 40%, #91d4ee 100%);*/
  /*background: linear-gradient(to bottom left, #4256a2 40%, #91d4ee 100%);*/
  /*background: linear-gradient(to bottom left, #08aff0 40%, #91d4ee 100%);*/
  /*background: linear-gradient(to bottom left, #08aff0 40%, #f90606 100%);*/
  /*background: linear-gradient(to bottom left, #f90606 40%, #08aff0 100%);*/
  /*background: linear-gradient(to bottom left, #f95606 40%, #f0cc08 100%);*/
  background: linear-gradient(to bottom left, #f4a680 40%, #f0cc08 100%);
  height: 60%;
}

.card_content4 {
  padding: 1rem;
  /*background: linear-gradient(to bottom left, #c66006 40%, #91d4ee 100%);*/
  /*background: linear-gradient(to bottom left, #c66006 40%, #e17c4a 100%);*/
  /*background: linear-gradient(to bottom left, #c60606 40%, #e17c4a 100%);*/
  /*background: linear-gradient(to bottom left, #c60606 40%, #e14a4a 100%);*/
  background: linear-gradient(to bottom left, #e86969 40%, #fdcaca 100%);
  height: 60%;
}


.card_content22 {
  padding: 1rem;
  /*1  background: linear-gradient(to bottom left, #fbf7f8 40%, #FFC39E 100%);*/
  /*background: linear-gradient(to bottom left, #0690c6 40%, #FFC39E 100%);*/
  height: 70%;
}

.card_border_main {
  border: 2px solid #759fa8;  
}  

.card_btn_border {
  color: #759fa8;
  border: 1px solid #759fa8;  
}  

.card_title_main {
  color: #759fa8;  
}  

.card_title_main_details {
  color: #1a1a95;  
}  

.card_tab {
  border: none; 
  color:#759fa8; 
  width: 100%; 
  font:bold 12px/25px Arial, Helvetica;
}  

.card_tr {
  color:#1a1a95;  
}  





/* ---------tabs ---------- */
.tabs {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.tabs label {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  margin-right: 0.0625rem;
  margin-bottom:2px;
  cursor: pointer;
  /*background-color: #000;*/
  /*background: linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  background: var(--PrimaryGemasColor);
  color: var(--TextColor); /*#fff;*/
  font-family: Roboto, sans-serif;
  font-size: 1rem; /*1.2rem;*/
  font-weight: 50; /* 700*/
  transition: background-color ease 0.3s;
}

.login-radios {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.login-radios label {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left:3px;
  margin-top:3px;
  margin-bottom:1px;
  padding: 0.5rem 1rem;
  /*margin-right: 0.0625rem;*/
  border-radius: 5px;
  cursor: pointer;
  /*background-color: #000;*/
  /*background: linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  background: var(--PrimaryGemasColor);
  color: var(--TextColor); /*#fff;*/
  font-family: Arial, sans-serif;*/
  /*font-size: 1rem; *//*1.2rem;*/
  /*font-weight: 50; *//* 700*/
  transition: background-color ease 0.3s;
}

.login-radios [type=radio] {
  display: none;
}

.login-radios [type=radio]:checked + label {
  /*background-color: #fff;*/
  background: var(--GradientColor); /*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  color: var(--TextColor); /*red;*/ /*#0067b8;*/
  border-top: 4px solid red; /*#0067b8;*/
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
}

/*.login-radios [type=radio]:checked + label + .tab {
  display: block;
}
*/
/*
.tabs label .material-icons {
  margin-right: 0.3rem;
}
*/
/*.tabs .tab {
  flex-grow: 1;
  width: 100%;
  height: 100%;
  display: none;
  padding: 1rem 2rem;
  color: #000;
  background-color: #fff;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
}

.tabs .tab > *:not(:last-child) {
  margin-bottom: 0.8rem;
}
*/
.tabs [type=radio] {
  display: none;
}

.tabs [type=radio]:checked + label {
  /*background-color: #fff;*/
  background: var(--GradientColor); /*linear-gradient(to top left, var(--PrimaryGemasColor) 40%, var(--PrimaryGemasColor2) 100%);*/
  color: var(--TextColor); /*red;*/ /*#0067b8;*/
  border-top: 4px solid red; /*#0067b8;*/
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
}

/*.tabs [type=radio]:checked + label + .tab {
  display: block;
}*/
@media (min-width: 768px) { 


/*  body {
    font-size: 1.125rem;
  }
*/
  .tabs label {
    order: 1;
    width: auto;
  }

  /*.tabs .tab {
    order: 9;
  }
*/
  .tabs [type=radio]:checked + label {
    border-bottom: none;
  }

  .login-radios label {
    order: 1;
    width: auto;
  }

}
@media (min-width: 992px) {

  .tabs {
    width: auto;
   /*width: 800px;*/
  }

/*  .login-tabs {
    width: 300px;
  }*/
}

/* ---------tabs end---------- */


.FontArial
{
  font-family: Arial; 
}  

.FontArial12
{
  font-family: Arial; 
  font-size: 12px; 
}  

.FontArial12H480Over
{
  font-family: Arial; 
  font-size: 12px; 
  height: 480px;
  overflow-y: scroll;
}  

.FontArialRed
{
  font-family: Arial; 
  color: #ff0000;
}  

.FontArialRedMargin10
{
  font-family: Arial; 
  color: #ff0000;
  margin: 10px;
}  

.CursorPointer
{
  cursor: pointer;
}

.CursorPointerMarginLeft
{
  margin-left: 20px; 
  cursor: pointer;
}

/* ===================================================== */
/* Gemeinsame Einheitenansicht - Desktop                 */
/* ===================================================== */

.MieterResponsiveList {
    display: table;

    width: auto;
    max-width: none;

    border-collapse: collapse;

    font-family: Arial, Helvetica, sans-serif;
    text-align: left;
}


/* Kopf und Datenzeilen */

.MieterResponsiveTableHead {
    display: table-row;
}

.MieterResponsiveRow {
    display: table-row;
}


/* Wrapper erzeugen auf Desktop keine eigene Zelle */

.MieterResponsiveHead,
.MieterResponsiveMain,
.MieterResponsiveDetails {
    display: contents;
}


/* Tabellenkopf */

.MieterResponsiveTH {
    display: table-cell;

    padding: 0.45rem;
    vertical-align: middle;

    background-color: rgb(225, 225, 225);

    border: 1px solid rgb(200, 193, 193);
    border-radius: 3px;

    font-size: 12px;
    font-weight: bold;

    position: sticky;
    top: 0;
    z-index: 99;

    box-shadow: 0px 2px 2px -1px rgb(0, 0, 0);
    background-clip: padding-box;

    cursor: default;
    white-space: nowrap;
}

.MieterResponsiveTableHead .MieterResponsiveCheck {
    background-color: rgb(225, 225, 225);

    border: 1px solid rgb(200, 193, 193);
    border-radius: 3px;

    position: sticky;
    top: 0;
    z-index: 99;

    box-shadow: 0px 2px 2px -1px rgb(0, 0, 0);
    background-clip: padding-box;
}

.MieterResponsiveRow .MieterResponsiveCheck {
    background-color: white;
}

.MieterResponsiveTH.Sortable {
    cursor: pointer;
}


/* Alle eigentlichen Datenzellen */

.MieterResponsiveCheck,
.MieterResponsiveEinhNr,
.MieterResponsiveExtID,
.MieterResponsivePersons,
.MieterResponsivePeriod,
.MieterResponsiveDetailBlock {
    display: table-cell;

    padding: 0.45rem;

    vertical-align: middle;

    background-color: white;
    border: 1px solid rgb(200, 193, 193);
}


/* Checkbox */

.MieterResponsiveCheck {
    text-align: center;
    width: 28px;
}


/* Einheit */

.MieterResponsiveEinhNr {
    white-space: nowrap;
}


/* Verwalter-Kennung */

.MieterResponsiveExtID {
    white-space: nowrap;
}


/* Nutzer / Eigentümer */

.MieterResponsivePersons {
    min-width: 125px;
}

.MieterResponsivePerson + .MieterResponsivePerson {
    margin-top: 2px;
}


/* Inhalte mit Icon */

.MieterResponsiveValue {
    display: flex;
    align-items: center;

    gap: 3px;

    white-space: normal;
}

.MieterResponsiveValue > .DefaultIconStyle {
    flex: 0 0 auto;
}


/* Zeitraum */

.MieterResponsivePeriod {
    white-space: nowrap;
}


/* E-Mail */

.MieterResponsiveEmail .MieterResponsiveAction {
    display: flex;
    align-items: center;

    gap: 2px;

    white-space: nowrap;
}


/* Online-Zugriff */

.MieterResponsiveAccess {
    white-space: nowrap;
}

.MieterResponsiveAccessRow {
    display: flex;
    align-items: center;

    gap: 3px;

    min-height: 18px;
}


/* Mitteilungsweg */

.MieterResponsiveDelivery {
    white-space: nowrap;
}

.MieterResponsiveDelivery .MieterResponsiveAction {
    display: flex;
    align-items: center;

    gap: 3px;
}


/* UVI */

.MieterResponsiveUVI {
    white-space: nowrap;
}

.MieterResponsiveActionRow {
    display: flex;
    align-items: center;

    gap: 3px;
}


/* Nutzerwechsel */

.MieterResponsiveXChange {
    white-space: nowrap;
}

.MieterResponsiveXChange .MieterResponsiveAction {
    display: flex;
    align-items: center;

    gap: 3px;
}


/* Mobile Texte auf Desktop nicht anzeigen */

.MieterResponsiveLabel,
.MieterResponsiveDetailTitle,
.MieterResponsiveSubLabel,
.MieterResponsiveExpand {
    display: none;
}


/* Zeilen-Hover wie früher */

.MieterResponsiveRow:hover
.MieterResponsiveCheck,

.MieterResponsiveRow:hover
.MieterResponsiveEinhNr,

.MieterResponsiveRow:hover
.MieterResponsiveExtID,

.MieterResponsiveRow:hover
.MieterResponsivePersons,

.MieterResponsiveRow:hover
.MieterResponsivePeriod,

.MieterResponsiveRow:hover
.MieterResponsiveDetailBlock {
    background-color: #e5f3f9;
}

@media screen and (max-width: 700px) {

  .MieterResponsiveTableHead {
    display: none;
  } 

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

  .container,
  .container-mieter {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      grid-template-columns: minmax(0, 1fr);
  }

    main-content-mieter,
    main-content-mieter-col1,
    main-content-mieter-col2,
    main-content-mieter-col3 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .header-nav-item {
        min-width: 0;
    }

    .header-nav-item div,
    .header-nav-item a {
        padding: 6px 8px;
        max-width: 100%;
    } 

  #MobileObjectSelection {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding: 0 15px 15px 15px;
    margin-top: 25px;

    box-sizing: border-box;
  }

  .MobileObjectSelector {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      box-sizing: border-box;
  }

  .MobileObjectSelectorCurrent {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      display: flex;
      align-items: center;

      padding: 11px 12px;

      background: #beebff;
      border: 1px solid #b5b5b5;
      border-radius: 8px;

      box-sizing: border-box;
      cursor: pointer;
  }

  .MobileObjectSelectorCurrentContent {
      flex: 1;
      min-width: 0;
  }

  .MobileObjectSelectorLabel {
      font-size: 11px;
      font-weight: bold;
      color: #777;
      text-transform: uppercase;
      margin-bottom: 3px;
  }

  #MobileObjectCurrentText {
      font-size: 14px;
      line-height: 1.3;

      white-space: normal;
      overflow-wrap: anywhere;
  }

  .MobileObjectSelectorArrow {
      flex: 0 0 auto;
      margin-left: 10px;

      color: #2b94c4;
      font-size: 13px;
  }

  .MobileObjectDropdown {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      margin-top: 6px;

      box-sizing: border-box;
  }

  .MobileObjectDropdownTitle {
      font-size: 12px;
      font-weight: bold;
      color: #777;

      padding: 7px 4px;
  }

  .MobileObjectList {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      display: flex;
      flex-direction: column;
      gap: 7px;

      box-sizing: border-box;
  }

  .MobileObjectCard {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      display: flex;
      align-items: center;

      padding: 10px 12px;

      background: #fff;

      border: 1px solid #c9c9c9;
      border-radius: 7px;

      box-sizing: border-box;
      cursor: pointer;
  }

  .MobileObjectCardContent {
      flex: 1;
      min-width: 0;
  }

  .MobileObjectCardNumber {
      font-weight: bold;
      font-size: 13px;
  }

  .MobileObjectCardStreet {
      margin-top: 2px;
      font-size: 14px;

      white-space: normal;
      overflow-wrap: anywhere;
  }

  .MobileObjectCardCity {
      margin-top: 2px;

      font-size: 12px;
      color: #777;

      white-space: normal;
      overflow-wrap: anywhere;
  }

  .MobileObjectSelectedIcon {
      display: none;

      flex: 0 0 auto;

      margin-left: 8px;

      font-size: 18px;
      color: #2b94c4;
  }

  .MobileObjectCard.active {
      background: #beebff;
  }

  .MobileObjectCard.active .MobileObjectSelectedIcon {
      display: block;
  }



  .header-navbar {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      padding: 0 20px;
      margin: 0 !important;

      display: flex;
      flex-direction: column;
      align-items: center;

      box-sizing: border-box;
  }

  .header-nav-links {
      width: 100%;
      max-width: 100%;
      min-width: 0;

      display: flex;
      justify-content: flex-end;
      align-items: center;

      gap: 12px;
      margin: 0 0 15px 0;

      order: -1;
  }

  .portal-tiles {
      width: 220px;
      max-width: calc(100vw - 50px);

      display: flex;
      flex-direction: column;
      gap: 6px;

      padding: 0;
      margin: 0;
  }

  .portal-tile {
      width: 100%;
      min-width: 0;
      min-height: 42px;

      margin: 0;
      padding: 7px 12px;

      display: flex;
      align-items: center;
      justify-content: flex-start;

      gap: 10px;

      box-sizing: border-box;
      border-radius: 7px;
  }

  .portal-tile-icon {
      flex: 0 0 auto;
  }

  .portal-tile-label {
      flex: 1;
      min-width: 0;

      white-space: nowrap;
      text-align: left;

      font-size: 14px;
      line-height: 1.2;
  }

  /* Dialoge mobil/responsiv */

  .ui-dialog .ui-dialog-buttonpane {
      width: 100%;
      box-sizing: border-box;
  }

  .ui-dialog .ui-dialog-buttonset {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
  }

  .ui-dialog .ui-dialog-buttonset button {
      max-width: 100%;
  }

  /* Tabellen und Eingabefelder innerhalb von Dialogen */
  .ui-dialog table {
      width: 100% !important;
      max-width: 100% !important;
      table-layout: auto;
  }

  .ui-dialog input,
  .ui-dialog select,
  .ui-dialog textarea {
      max-width: 100% !important;
      box-sizing: border-box;
  }  

  .ui-dialog-content > div {
      max-width: 100%;
      box-sizing: border-box;
  }  

  .ui-dialog-content table,
  .ui-dialog-content thead,
  .ui-dialog-content tbody,
  .ui-dialog-content tr,
  .ui-dialog-content th,
  .ui-dialog-content td {
      display: block;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box;
  }

  .ui-dialog-content thead {
      display: none;
  }

  .ui-dialog-content tr {
      margin-bottom: 12px;
      padding: 10px;
      border: 1px solid #d3d3d3;
      border-radius: 6px;
      background: #fff;
  }

  .ui-dialog-content td {
      border: 0 !important;
      padding: 4px 0 !important;
      white-space: normal !important;
      overflow-wrap: anywhere;
  }

  .ui-dialog-content input,
  .ui-dialog-content select {
      width: 100% !important;
      max-width: 100% !important;
  }

 .ui-dialog-content table,
  .ui-dialog-content tbody,
  .ui-dialog-content tr,
  .ui-dialog-content td {
      display: block;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box;
  }

  .ui-dialog-content tr:first-child {
      display: none;
  }

  .ui-dialog-content tbody tr {
      display: block;
      margin-bottom: 12px;
      padding: 12px;

      border: 1px solid #d3d3d3;
      border-radius: 7px;
      background: #fff;
  }

  .ui-dialog-content tbody td {
      border: 0 !important;
      padding: 8px 0 !important;

      white-space: normal !important;
      overflow-wrap: anywhere;
  }

  .ui-dialog-content tbody td::before {
      content: attr(data-label);

      display: block;
      margin-bottom: 4px;

      font-size: 11px;
      font-weight: bold;
      color: #777;
      text-transform: uppercase;
  } 

  .ResponsiveSettingsInfo {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;

      padding: 10px;
      margin-bottom: 10px;

      white-space: normal;
      overflow-wrap: anywhere;
      line-height: 1.35;
  }

  .ResponsiveSettingsCheckbox {
      display: flex;
      align-items: center;
      gap: 8px;

      margin: 8px 0 16px 0;
  }

  .ResponsiveSettingsCheckbox input {
      width: auto !important;
      margin: 0;
  }

  .ResponsiveSettingsTable,
  .ResponsiveSettingsTable tbody,
  .ResponsiveSettingsTable tr,
  .ResponsiveSettingsTable td,
  .ResponsiveSettingsTable th {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
  }

  .ResponsiveSettingsTable {
      table-layout: fixed;
  }

  .ResponsiveSettingsTable td,
  .ResponsiveSettingsTable th {
      white-space: normal !important;
      overflow-wrap: anywhere;
  }

  .ui-dialog {
      width: calc(100vw - 24px) !important;
      max-width: calc(100vw - 24px) !important;
      min-width: 0 !important;

      left: 12px !important;
      top: 12px !important;

      max-height: calc(100vh - 24px) !important;

      box-sizing: border-box;
  }

  .ui-dialog .ui-dialog-content {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;

      max-height: calc(100vh - 150px) !important;

      box-sizing: border-box;

      overflow-x: hidden;
      overflow-y: auto;
  }

  .OwnerSettingsContent {
      width: 100%;
      max-width: 100%;
      min-height: 130px;
      box-sizing: border-box;
  }

  .OwnerSettingsContent .ResponsiveSettingsInfo {
      width: 100%;
      max-width: 100%;

      padding: 10px;
      margin-bottom: 15px;

      box-sizing: border-box;

      white-space: normal;
      overflow-wrap: anywhere;

      line-height: 1.4;
  }

  .OwnerSettingsContent .ResponsiveSettingsCheckbox {
      display: flex;
      align-items: center;
      gap: 8px;

      width: 100%;

      padding: 10px;

      box-sizing: border-box;
  }

  .OwnerSettingsContent .ResponsiveSettingsCheckbox input[type="checkbox"] {
      width: auto !important;
      max-width: none !important;
      margin: 0;

      flex: 0 0 auto;
  }

  .OwnerSettingsContent .ResponsiveSettingsCheckbox span {
      flex: 1;
      min-width: 0;
  }

  .ui-dialog-content:has(.OwnerSettingsContent) {
      max-height: none !important;
      height: auto !important;
      overflow-y: visible !important;
  }

  #Table_Filter,
  select[id$="_AktionSelect"],
  div[id$="_AktionStart"] {
      display: none !important;
  }

  .MieterResponsiveRow {
      display: block;
      width: 100% !important;
      max-width: 100%;
      margin-left: 0 !important;
      margin-right: 0 !important;
      margin-bottom: 14px;
      background: #fff;
      border: 1px solid #c9c9c9;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
      box-sizing: border-box;
      overflow-x: hidden;
  }  

  .MieterResponsiveRow > .MieterResponsiveCheck {
      display: none;
  }  

  .MieterResponsiveHead {
      display: flex;

      align-items: center;

      gap: 10px;

      padding: 11px 12px;

      background: #eeeeee;

      border-bottom: 1px solid #d2d2d2;
  }  

  .MieterResponsiveEinhNr,
  .MieterResponsiveExtID {
      display: block;

      padding: 0;

      border: 0;

      background: transparent;
  }

  .MieterResponsiveEinhNr {
      font-size: 15px;
      font-weight: bold;
  }

  .MieterResponsiveExtID {
      font-size: 12px;
      color: #777;
  }

  .MieterResponsiveExpand {
      display: flex;
      align-items: center;

      gap: 5px;
      margin-left: auto;

      font-size: 12px;
      color: #2b94c4;

      cursor: pointer;

      -webkit-user-select: none;
      user-select: none;

      -webkit-tap-highlight-color: transparent;
  }

  .MieterResponsiveMain {
      display: block;

      padding: 12px;
  }

  .MieterResponsivePersons,
  .MieterResponsivePeriod {
      display: block;

      min-width: 0;

      padding: 0;

      border: 0;

      background: transparent;
  }

  .MieterResponsivePerson {
      margin-bottom: 12px;
  }

  .MieterResponsivePerson:last-child {
      margin-bottom: 12px;
  }

  .MieterResponsiveLabel {
      display: block;

      margin-bottom: 4px;

      font-size: 11px;
      font-weight: bold;

      color: #777;

      text-transform: uppercase;
  }

  .MieterResponsiveValue {
      display: flex;

      align-items: flex-start;

      gap: 7px;

      font-size: 14px;
  }

  .MieterResponsivePeriod {
      margin-top: 12px;
  } 
  
  .MieterResponsiveDetails {
      display: none;

      padding: 0 12px 12px 12px;
      border-top: 1px solid #ddd;
      background: #fafafa;
  }

  .MieterResponsiveDetailBlock {
      display: block;

      min-width: 0;

      padding: 12px 0;

      border: 0;
      border-bottom: 1px solid #e3e3e3;

      background: transparent;
  }

  .MieterResponsiveDetailBlock:last-child {
      border-bottom: 0;
  }

  .MieterResponsiveDetailTitle {
      display: block;

      margin-bottom: 10px;

      font-size: 13px;
      font-weight: bold;

      color: #444;
  }

  .MieterResponsiveSubLabel {
      display: block;

      margin-top: 8px;
      margin-bottom: 4px;

      font-size: 11px;
      font-weight: bold;

      color: #777;

      text-transform: uppercase;
  }   

  .MieterResponsiveAction {
    display: flex;

    align-items: center;

    gap: 8px;

    width: 100%;

    padding: 8px 10px;

    margin-bottom: 6px;

    border: 1px solid #ddd;
    border-radius: 5px;

    background: #fff;

    box-sizing: border-box;
  }

  .MieterResponsiveAction span {
    flex: 1;

    min-width: 0;

    overflow-wrap: anywhere;
  }

  .MieterResponsiveAccessRow {
      display: flex;

      align-items: center;

      justify-content: space-between;

      padding: 8px 10px;

      margin-bottom: 6px;

      background: #fff;

      border: 1px solid #ddd;
      border-radius: 5px;
  } 
  
  .MieterResponsiveActionRow {
      display: flex;

      gap: 8px;
  }

  .MieterResponsiveIconAction {
      flex: 1;

      display: flex;

      justify-content: center;
      align-items: center;

      gap: 6px;

      padding: 9px;

      border: 1px solid #ccc;
      border-radius: 5px;

      background: #fff;
  }   

  .MieterResponsiveHead,
  .MieterResponsiveExpand {
      -webkit-user-select: none;
      user-select: none;
  }  

  #baseContentHeadDiv,
  #baseContentDiv {
      padding-left: 20px !important;
      padding-right: 20px !important;
      box-sizing: border-box;
  }

  #baseContentDiv {
      height: auto !important;
      max-height: none !important;
      overflow-y: visible !important;
      overflow-x: hidden !important;
  }  

  .MieterResponsiveList {
      display: block;

      width: 100% !important;
      max-width: 100%;

      margin: 0 !important;
      padding: 0 !important;

      box-sizing: border-box;
      border-collapse: separate;

      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
  } 

  /* Info / Open-Source-Lizenzen mobil */
  .OpenSourceLicenseContent {
      width: 100% !important;
      height: auto !important;
      max-height: none !important;

      overflow: visible !important;

      box-sizing: border-box;
  }

  .OpenSourceLicenseContent h3 {
      margin: 0 0 15px 0;

      font-size: 14px;
      line-height: 1.3;
  }

  .OpenSourceLicenseScroll {
      width: 100% !important;

      max-height: none !important;
      height: auto !important;

      overflow: visible !important;
  }

  .ui-dialog-content .OpenSourceLicenseTable {
      display: block;

      width: 100% !important;
      max-width: 100% !important;

      border: 0;
  }

  /* Die beiden Tabellen-Kopfzeilen mobil nicht anzeigen */
  .ui-dialog-content .OpenSourceLicenseTable tr:nth-child(1),
  .ui-dialog-content .OpenSourceLicenseTable tr:nth-child(2) {
      display: none !important;
  }

  /* Jede Bibliothek wird eine eigene Karte */
  .ui-dialog-content .OpenSourceLicenseTable tr {
      display: block !important;

      width: 100% !important;

      margin: 0 0 12px 0;
      padding: 12px;

      border: 1px solid #d3d3d3;
      border-radius: 7px;

      background: #fff;

      box-sizing: border-box;
  }

  /* Inhalte innerhalb der Karte */
  .ui-dialog-content .OpenSourceLicenseTable td {
      display: block !important;

      width: 100% !important;

      padding: 5px 0 !important;

      border: 0 !important;

      white-space: normal !important;
      overflow-wrap: anywhere;

      box-sizing: border-box;
  }

  /* Feldbezeichnungen */
  .ui-dialog-content .OpenSourceLicenseTable td::before {
      display: block;

      margin-bottom: 2px;

      font-size: 10px;
      font-weight: bold;

      color: #777;

      text-transform: uppercase;
  }

  .ui-dialog-content .OpenSourceLicenseTable td:nth-child(1)::before {
      content: "Bezeichnung";
  }

  .ui-dialog-content .OpenSourceLicenseTable td:nth-child(2)::before {
      content: "Version";
  }

  .ui-dialog-content .OpenSourceLicenseTable td:nth-child(3)::before {
      content: "Quelle / Link";
  }

  .ui-dialog-content .OpenSourceLicenseTable td:nth-child(4)::before {
      content: "Lizenz";
  }

  /* Lange Links dürfen umbrechen */
  .ui-dialog-content .OpenSourceLicenseTable a {
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
  }  


  footer,
  footer-mieter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;

    gap: 3px 12px;

    width: 100%;
    padding: 4px 8px;

    font-size: 11px !important;
    line-height: 1.25;

    box-sizing: border-box;
  }

  /* Alte Abstände entfernen */
  footer > span,
  footer-mieter > span {
    margin-left: 0 !important;
  }

  /* Copyright bekommt eine eigene erste Zeile */
  footer > span:first-child,
  footer-mieter > span:first-child {
    flex-basis: 100%;
    text-align: center;
  }

  /* Die alten <br> brauchen wir mit Flex nicht mehr */
  footer > br,
  footer-mieter > br {
    display: none;
  }

  /* Dieser Text soll nicht innerhalb des Links umbrechen */
  footer span[id$="_Quellen"],
  footer-mieter span[id$="_Quellen"] {
      white-space: nowrap;
  }

  .MieterResponsiveXChangeUnavailable {
      display: none !important;
  } 

}

@media screen and (min-width: 701px) {

    .MieterResponsiveUVI .MieterResponsiveActionRow {
        flex-direction: column;
        align-items: flex-start;
        gap: 1px;
    }

    .MieterResponsiveUVI .MieterResponsiveIconAction {
        display: block;
        line-height: 16px;
    }

    .MieterResponsiveUVI .MieterResponsiveIconAction span {
        display: none;
    }

    .MieterResponsiveXChange .MieterResponsiveAction span {
        display: none;
    }

    .MieterResponsiveAccessRow > span {
        display: none;
    }

    .MieterResponsiveEmail .EmailMissing span {
        display: none;
    }
}