html { overflow: auto; overscroll-behavior-y: none !important; }
.switch-container {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: sans-serif;
}
 
.switch-label {
  font-weight: bold;
}
 
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 30px;
}
 
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
 
.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 30px;
}
.slider:before {
  position: absolute;
  content: "";
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
} 
input:checked + .slider:before {
  transform: translateX(30px);
}
/* * {
    outline: 1px solid lime;
  } */
  
/* Remove Spin-Buttons */
.remove-numeric-spin-button input[type='number'] {
    -moz-appearance:textfield;
}
.remove-numeric-spin-button input::-webkit-outer-spin-button,
.remove-numeric-spin-button input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.v-select-list .v-list__tile{
  min-height: 48px;
  height: auto;
  margin-bottom: 10px;
}

.no-elevation {
    box-shadow: 0 0 0 0 rgba(0,0,0,0),0 0 0 0 rgba(0,0,0,0),0 0 0 0 rgba(0,0,0,0) !important;
}

.align-top {
  vertical-align: top;
}

.v-calendar-weekly__week {
    height: unset;
    min-height: 46px;
}

.v-dialog-signature {
    position: absolute;
    bottom: 0;
    right: 0;
}

.v-label-extraheight label{
    height: unset !important;
}

.v-progress-content-left .v-progress-linear__content{
    justify-content: left;
    padding-left: 1em;
}

.v-checkbox-regularfont i{
    font-size: 20px !important;
}
.v-checkbox-regularfont label{
    font-size: 14px;
    color: rgba(0,0,0,.87) !important;
}

.v-checkbox-topclubfont i{
    font-size: 20px !important;
}
.v-checkbox-topclubfont label{
    font-size: 16px;
    color: rgba(0,0,0,.87) !important;
}

.v-card-flex {
  display: flex;
  flex-direction: column;
}

.v-card-relative {
  position: relative;
  padding-bottom: 50px;
}
.v-card-actions-bottom {
  position: absolute;
  bottom: 0;
}

[v-cloak] {
  display:none;
}

.hh-mouse-point {
  cursor: pointer;
}

.v-dialog--fullscreen {
  padding: 10px;
}

.v-striped {
  background-image: linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);
  background-size: 40px 40px;
  background-repeat: repeat;
}

.v-speed-dial.navigation-drawer-permanent {
  transform: translateX(270px);
}

.v-speed-dial {
  transition-duration: .2s;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  will-change: transform;
  transition-property: transform,visibility,width;
}

.v-speed-dial {
    z-index: 5 !important;
}

.v-sticky-column > td:nth-child(1), 
.v-sticky-column > th:nth-child(1) {
    position: sticky !important; 
    position: -webkit-sticky !important; 
    left: 0; 
    z-index: 3 !important;
    background-color: inherit;
    opacity: 1;
}
.v-sticky-header:nth-child(1),
.v-sticky-footer > td:nth-child(1){
    position: sticky !important; 
    position: -webkit-sticky !important; 
    left: 0; 
    z-index: 4 !important;
    background-color: white !important;
    /* background-color: inherit; */
    opacity: 1 !important;
}

/* 
  Kundenportal
*/

.kis-card{
  background-color: #F4F4F4;
}

.kis-container{
    /* padding-left: 200px !important;
    padding-right: 200px !important; */
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
}

@media only all and (min-width: 600px) {
    .kis-container{
        max-width: 600px;
    }
}
@media only all and (min-width: 960px) {
    .kis-container{
        max-width: 960px;
    }
}
@media only all and (min-width: 1264px) {
    .kis-container{
        max-width: 1264px;
    }
}
@media only all and (min-width: 1500px) {
    .kis-container{
        max-width: 1450px;
    }
}

@media only all and (max-width: 960px) {
    .kis-container{
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.v-image .kis-card-in-image{
    background-color: #0A9039; 
    margin: 15px; 
    padding: 20px; 
    position:absolute; 
    bottom:0; 
    right: 0; 
    left: 0;
}


.v-image .kis-card-in-image.login{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    margin: 0;
}
@media only all and (min-width: 600px) {
    .v-image .kis-card-in-image.login{
        top: 15%;
        right: 15%;
        bottom: 15%;
        left: 15%;
        opacity: 0.9;
    }
}

.kis-text-login{
    margin-left: 16px !important;
    margin-right: 16px !important;
    margin-top: 12px !important;
}
@media only all and (min-width: 600px) {
    .kis-text-login{
        margin-left: 64px !important;
        margin-right: 64px !important;
        margin-top: 48px !important;
    }
}

.kis-btn-login{
    margin-left: 16px;
    margin-right: 16px;
    margin-bottom: 12px;
}
@media only all and (min-width: 600px) {
    .kis-btn-login{
        margin-left: 64px;
        margin-right: 64px;
        margin-bottom: 48px;
    }
}

.kis-text-login .v-text-field{
  border-radius: unset;
}
.kis-text-login .v-text-field.v-text-field--enclosed{
  padding-top: 18px;
}

.kis-text-login .v-text-field--outlined legend{
  display: none;
}

.kis-text-login .v-text-field--outlined .v-label{
  transform: translateY(-48px) translateX(-14px);
  font-size: 18px;
}

@media only all and (min-width: 1264px) {
  .kis-h1{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 48px;
      line-height: 65px;
  }
}
@media only all and (max-width: 1264px) {
  .kis-h1{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 32px;
      line-height: 40px;
  }
}
@media only all and (max-width: 960px) {
  .kis-h1{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 30px;
      line-height: 30px;
  }
}

@media only all and (min-width: 1264px) {
  .h2-light{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 32px;
      line-height: 32px;
  }
}
@media only all and (max-width: 1264px) {
  .h2-light{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 28px;
      line-height: 20px;
  }
}
@media only all and (max-width: 960px) {
  .h2-light{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 16px;
  }
}

@media only all and (min-width: 1264px) {
  .kis-text{
      color: #5F5F5F;
      font-weight: 400;
      font-size: 18px;
  }
}
@media only all and (max-width: 1264px) {
  .kis-text{
      color: #5F5F5F;
      font-weight: 400;
      font-size: 16px;
  }
}
@media only all and (max-width: 960px) {
  .kis-text{
      color: #5F5F5F;
      font-weight: 300;
      font-size: 16px;
  }
}
/* 
  Kundenportal ende
*/

@media print {
    .v-data-table__wrapper{
      height: auto !important;
    }
}

.v-breadcrumbs li {
  font-size: 25px;
}


.hh-show-icon-on-hover {
  display:none !important;
}

.v-list-item:hover .hh-show-icon-on-hover {
  display:block !important;
}


.v-toolbar .v-badge__badge {
  height: unset;
  min-width: unset;
  padding: 2px 4px;
}

.hh-text-wrap {
  white-space: pre-wrap;
  word-break: keep-all;
}

.colorize-svg-green {
  filter: brightness(0) saturate(100%) invert(27%) sepia(90%) saturate(4113%) hue-rotate(142deg) brightness(97%) contrast(101%);
}

.colorize-svg-orange {
  filter: invert(69%) sepia(61%) saturate(2256%) hue-rotate(336deg) brightness(106%) contrast(101%);
}

.colorize-svg-white {
  filter: invert(100%);
}

.inset-shadow-top {
  /* box-shadow: 0px 3px 3px -2px rgba(74,74,74,1) inset !important; */
}

.inset-shadow-bottom {
  /* box-shadow: rgba(74, 74, 74, 0.75) 0px -3px 3px -2px inset !important; */
}

.ml-rank {
  text-align:center;
  cursor:pointer;
  min-width: 70px; 
}

.iconfix {  /* Verhindert, dass v-icons in einer v-data-table beim Scrollen nicht vom Sticky Table-Header verdeckt werden  */
  position:static !important;
}

.font70 {
  font-size: 0.7em;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.list-darken {
  background-color: rgba(76, 255, 147, 0.1) !important;  
}

.nowrap {
  white-space: nowrap;
}

.mlpadding {
  padding-left: 2px !important; 
  padding-right: 2px !important;
}

.mlpaddingleft {
  padding-left: 2px !important; 
}

.hh-green--text {
    color: #008F38;
}

.bildupload-box {
    height: 100px;
    text-align: center;
    padding-top: 36px;
    color: #0A9039;
    font-size: 16px;

    background-color: rgba(14, 144, 57, 0.1);
    border: 1px rgba(14, 144, 57, 0.5) solid;
    border-radius: 10px;
}

.bildupload-box.bildupload-drag-over {
    background-color: rgba(14, 144, 57, 0.3);
}

@media only all and (max-width: 960px) {
    .file-preview .v-card__title {
        font-size: 1rem;
        padding: 10px;
    }
}

.hinweis {
    padding: 1em;
    border-radius: 20px;
    background: #e0e0e0;
    transition: 0.3s ease all;
}

.hinweis--checked {
    background: #bbebbb;
    transition: 0.3s ease all;
}

.hinweis .v-input--selection-controls__input {
    margin-right: 25px;
    margin-left: 15px;
}

.canvas-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.signature-canvas {
    border: 1px solid #678fd6;
    background-color: white;
}

/* Digitale Abnahme */
.hh-bordered-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.hh-bordered-table th,
.hh-bordered-table td {
  border: 1px solid #ccc;
  padding: 6px 8px;
  font-size: 14px;
  vertical-align: middle;
  word-wrap: break-word;
}

.hh-bordered-table th {
  font-weight: bold;
  text-align: left;
  background-color: #f5f5f5;
}

.hh-cell-green {
  background-color: #4caf50;
  color: white;
  font-weight: bold;
}

.hh-cell-red {
  background-color: #f44336;
  color: white;
  font-weight: bold;
}

/* label before click */
.kundenmail .v-label.theme--light {
  font-size: 14px !important;
}