﻿
/****************************************************/
/*         CSS-Datei 2.0 für das Projekt            */
/*                 TMS-Workflow                     */
/****************************************************/

/* Basiseinstellungen Seite antragauf.css */

html,body
{
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden; 
}

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none
}

input[type="text"]:focus, input[type="email"]:focus 
textarea:focus,
select:focus {
  outline: none;
  size: initial;
  /* font-weight: 600; */
}

/*** Standard design ****/
a:link,a:visited,a:active,a:hover {
  font-weight: normal;
  text-decoration: none;
  border: 0;
}
a:link.underline,a:visited.underline,a:active.underline,a:hover.underline {
  font-weight: normal;
  text-decoration: underline;
  border: 0
}
form {
  margin: 0;
  padding: 0;
  border: 0
}
img {
  border: 0
}    
nav ul {
  list-style:none;
}
.hidden {
	position:relative;
	line-height: 0;
	top:0;left:0;width:0;height:0;border:0;
	overflow: hidden;
  opacity: 0;
  /*display: none;*/
	}

body {       
  cursor: default;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Arial, Verdana, Helvetica, sans-serif !important;
  text-align: left;
  border:0;
  height: 100%;
  line-height:1;
}
body form:first-child {position: relative;}
body form:last-child {left: 0 !important;margin-left: 0 !important;padding: 0 !important;}
  
/* ---   Fixed TopMenu   ---*/
.topmenu {
  z-index: 200;  
}
.topmenu .tms-txt {
  line-height: 4;
  opacity: .5;
  font-size: 1rem;
  color:  #000;
}
.topmenu .tms-pix {
  height: 100%;
  left: 10px;
}    
.topmenu .tms-pix img {
  padding: 10px 0px 0px 0px;
  width: 100px;
}
.topmenu .tms-menu {
  display: inline;
  line-height: 3;
  margin: 0;
  text-align: center;
}
.topmenu .tms-menu ul {
  margin: 0px;
}
.topmenu .tms-menu li {
  display: inline;
  background: transparent;
}
.topmenu .tms-menu li * {
	font-size: 0.8rem;
}

/* Breakpoint md */
@media(min-width: 768px) {
  .topmenu .tms-txt {
    font-size: 1.5rem;
    line-height: 3;
  }

  .topmenu .tms-menu {
    line-height: 4.125;
  }
  
  .topmenu .tms-menu li * {
    font-size: 1rem;
  }
}

/* Breakpoint xl */
@media(min-width: 1200px) {
  .topmenu {
    position: fixed; 
    right: 0;
    left: 0;
    top: 10px;
    max-height: 8%;
  }
  
  .topmenu .tms-menu {
      text-align: right;
  }
}
/*CBO : Tabellen Zellen <1200px breite mit 14px Schriftart */
@media(max-width: 1200px) {

  td {font-size: 14px}
}

/* page-wrapper */         
.pg-wrapper {
  top:0;
  left:0;
  width:100%;
  text-align:center
}
/* page content */
.pg-content {      
  position: relative;
  padding: 20px;
  margin-bottom: 20px;
  margin-top: 20px;
  display: inline-block;
  text-align: left
} 

/* Breakpoint xl */
@media(min-width: 1200px) {
  /*.pg-wrapper {
        position: absolute;  raus -> Wprapper überlagert header   
  }*/
  
  .pg-content {
    top: 100px;
    margin-top: 0px;
  }
}

/* Kopfteil */
#header {
  position: relative;
  top: 0;left:0;right:0;bottom:0;
  padding-bottom: 3px;     
  margin-bottom: 30px !important;
  height: 7.8em;
  width: 80em; /*30*/
  z-index: 10;
}               
#header #logo {
  width: 100%;
  height: 100%
}
#header img {
  margin-left: 10px !important;
  padding: 0 !important;
  width: 100% !important;
  left: 0 !important;                                              
  opacity: .3;  
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
}

#header .tms {
  height: 100%; width: 100%;        
  background: linear-gradient(to right top, #3c3c3c, #606060, #3c3c3c);
}
#header .tms-menu {
  display: none;  /* inline */
  /* position: absolute; da wrapper nicht mehr position:absolute war header zu groß */
  top:0;
  right:5px;     
  line-height: 4.5;
  margin: 0;
  padding: 0;
}
#header .tms-menu li {
  display: inline;
  line-height: 1;
  background: transparent;
}
#header .tms {
  margin:0;padding:0;
}    
#header .tms-header {
  margin:0;padding:0;top:0;left:0;width:100%;height:100%;
  border: 1px solid #a6a6a6; overflow: hidden; box-shadow: 0 4px 12px #ccc;
}
#header .tms-header img {
  left:0 !important; 
  margin-left:0 !important; 
  opacity: 1
}
#header .tms-info { display: none } 
#header .tms-logo-sms {
  position:relative;
  width: 200px;       
  top: 45%;     
  left: 20px;
  transform: translate(0,-50%);
}       
#header .tms-logo-sms { display: none }   
#header .tms-logo-tms {
  display:none;
  position:absolute;
  width: 164px;       
  top: 50%;     
  right: 20px;
  transform: translate(0,-50%);
}
#header .tms-menu { display: none }    
#header .tms-overlay { display: none } 

#header .tms-titles {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 2rem;
}
#header .tms-titles span:first-child {
  text-shadow: 2px 2px #ccc;
}
#header .tms-titles span:last-child {
  text-transform: uppercase;
  font-size: 1.5rem;
}
#header .tms-titles { display: none } 


.logo,.head {
  position: relative;
  height: 7.8em;
  float: left
}
/* Logobereich, in dem sich die Grafik "logo" befindet */
.logo {
  left: 0;
  width: 14.5em
}
/* Kopfbereich, in dem sich die SMS-AntragAuf... - Grafik befindet */
.head {
  left: 6px;
  width: 61em;
  text-align: right
}        
.headmenu,.headmenubold {
  background: transparent;
  text-transform: uppercase;
  padding:5px 10px;
} 

/* Hauptbereich der Seite */                                
#contentmain {
  position: relative;
  top: 0 !important;
  left: 0 !important;
  height: 100% !important;
  min-height: 34em;
  margin-bottom: 0;
  margin-top: 12px;
  float: none;
  clear: both
}       

#contentmain > form:first-of-type {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#menuelink {
  position: absolute;
  top: 0;left: 0
}
/* Menü auf der linken Seite */                             
.menu {           
  z-index: 1;
  display: table !important; 
  float: left;
  padding-bottom: 20px;
  margin-bottom: 40px;
  width: 100%;
  text-align: center !important;
  -webkit-border-radius:6px !important;
     -moz-border-radius:6px !important;
          border-radius:6px !important;
}
.menu:hover {
  box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2) , 0 0 0 1px rgba(0,0,0,0.08);
}

#contentmain .menu hr {
  padding: 0 2px 0 2px;
  margin: 10px !important;
  opacity: .3;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; 
  border: (--hr-border) !important;
}

#contentmain .menu input[type="submit"] {   
  display: inline-block !important;
}

.menutext {
  display: inline-block;
	width:100%;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing:.05rem;
  text-align: center;
  text-transform: uppercase;
  line-height: 3;
  padding: 2px 0 2px 0;
  margin-bottom: 20px;
  border-radius: 6px 6px 0 0;
}

.menulabel {
  position: absolute;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing:.05rem;
  text-align: center;
  padding: 10px 0 2px 0;
  text-transform: uppercase;
  height: 32px;
  left:22px;
  right: 22px;
  top:10px;
  /* width: 85%;*/
  z-index: 0;
  border-radius: 6px;
}

.hiddenhint {
  position: absolute;
  visibility: hidden;
}
#contentmain .menu ~ input[type="submit"] ~ button[type="submit"] {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
       -o-transform: rotate(30deg);
          transform: rotate(30deg) !important;
}

/* Hauptteil der Seite auf der rechten Seite neben dem Menü */
#content, #contentmenu {
  position: relative;
  float: left;
  z-index: 2;
}

#content h1.title,#content h1.title-sb,#content h1.title-fn
,#content h2.blocktitle,#content h2.blocktitle-sb,#content h2.blocktitle-fn
,caption.blocktitle,caption.blocktitle-sb,caption.blocktitle-fn
,#content h2.blocktitle acronym,#content h2.blocktitle-sb acronym,#content h2.blocktitle-fn acronym
,#contentmenu h1.title,#contentmenu h1.title-sb,#contentmenu h1.title-fn
,#contentmenu h2.blocktitle,#contentmenu h2.blocktitle-sb,#contentmenu h2.blocktitle-fn
,#contentmenu h2.blocktitle acronym,#contentmenu h2.blocktitle-sb acronym,#contentmenu h2.blocktitle-fn acronym {
  line-height: 1.8;
}

#barrierefrei h1.title,h1.title-sb,h1.title-fn {
  line-height: 1.8;
}

#content h2.blocktitle,#content h2.blocktitle-sb,#content h2.blocktitle-fn
,caption.blocktitle,caption.blocktitle-sb,caption.blocktitle-fn
,#contentmenu h2.blocktitle,#contentmenu h2.blocktitle-sb,#contentmenu h2.blocktitle-fn {
  margin-top: 15px;
  vertical-align: middle;
  line-height: 2.25;
}

dl.display {
  display: inline;
  margin: 0
}
dl.display dd, dl.display dt {
  display: inline;
  padding: 4px 0 4px 0 !important;
  line-height: 1;
}   
dl.display dd {
  margin-left: 0;
  line-height: 1;
}
dl.display dd:last-child {
  margin-bottom: 30px !important;
}

/* Util */
.util-text-right {
  text-align: right;
}

.util-text-center {
  text-align: center;
}

/* Fußbereich */
#footer {
  position: relative;
  top: 10px;
  left: 12px;
  /*width: 75em;*/
  width:100%;
  min-height:50px;
  border-top-width: 1px;
  border-top-style: dotted;
  padding-top: 10px;
  margin-top: 30px;
  float: left;
  z-index: 2;
} /* increased to 2, so some lists wound overlap the footer */

#footer div {
  min-height: 50px;
}

/********************** Inputs **********************/

/* Schaltflächen im Kopfbereich, Menü oben rechts */
ul.tms-menu li{
  margin-left: -4px;
}

.headmenu,.headmenubold {
  font-family: verdana, arial, "adobe helvetica", helvetica, sans-serif;
  text-align: left;
  margin-top: 4px;
  margin-left: 0px !important;
  margin-right: 0px !important;
  overflow: visible;
  border: 0;
  cursor: pointer;
  border-right-width: 1px;
  border-right-style: solid
}

.headmenubold {
  font-weight: bold;
  border-right-width: 0
}

a.help:hover,a.help:active,a.help:link,a.help:visited {
  text-decoration: none;
  font-weight: normal;
  padding: inherit
}
/* INS TKO, 2026-01-20 Fuer den neuen Kontaktbutton PRJ-6972 */
button.contact:hover,button.contact:active{
  text-decoration: none;
  font-weight: normal;
  padding: inherit;
  color: white !important
}

input#Bahnkarte {
  margin-right: 5px;
}

/* Schaltflächen */             
input.submit,input.submitused,input.submitpage,input.submitmain,input.submitmainused {
  border-width: 1px;
  border-style: solid;
  overflow: visible;
  cursor: pointer;
  text-align: center;
}

/* Schaltflächen */
button.normalused,button.normalmainused {
  border-width: 1px;
  border-style: solid;
  overflow: visible;
  cursor: pointer;
  text-align: center;
  width: 95%;
  position: relative;
  line-height: 1 !important;
  padding: 10px 8px 10px 8px !important;
  border-radius: 4px !important;
  transition: all .05s;
  margin: 6px 0 !important;
  font-weight: 700;
  font-size: 1rem;
}

.normalmainusedactions {
  display: inline-block;
  margin: 6px 0px;
  padding: 10px 8px 10px 8px;
  width: 100%;
  line-height: 1.75;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  border-radius: 4px;
  box-shadow: transparent;
}

@-moz-document url-prefix() {
  .blockdiv .submitpage{margin: 1px 2px 1px 2px;}  
}

.submitmain:hover,.submitpage:hover,
.submitmain:focus,.submitpage:focus{    /*PVB: geändert 27.11.2019 VORHER:  .submitmain:hover*/
	outline:none !important;
}

.divsubmit {
  position: relative;
  width:95%;
  overflow: visible;
  text-align: center;
  line-height: 1 !important;
  margin: 4px 0 4px 6px !important;
  padding: 5px 8px 5px 8px !important;    
  border-width: 1px;
  border-style: solid;  
  -webkit-border-radius: 4px !important;
     -moz-border-radius: 4px !important;
          border-radius: 4px !important;
}

* html .divsubmit {
  margin-left: 0;
}
a.mlink:hover,a.mlink:active,a.mlink:link,a.mlink:visited {
  width: 100%;
  white-space: nowrap;
  overflow: visible;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  margin-top: 1px;
  margin-bottom: 1px;
  padding: 6px 23% 6px 23%;
}

/*E-mail links whom are at the position of a button in the Navigation bar need this to be displayed properly */
.divsubmit .mlink {
  display: inline-block !important;
  position: relative;
  border-width: 1px;
  border-style: solid;
  overflow: visible;
  cursor: pointer;
  text-align: center;
  font-weight: 700;
  width: 100% !important;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  box-shadow: transparent;
  color: #005283 !important;
  padding: 10px 8px 10px 8px !important;
  border-radius: 4px !important;
  transition: all .05s;
  font-family: arial, verdana, "adobe helvetica", helvetica, sans-serif;
  background-color: #f8f9fa !important; 
  
}

/* Schaltflächen */
input.submitpage {
  margin: 1px 0 1px 0;
  padding: 0 5px 0 5px;
}
/* Schaltflächen auf der Hauptseite content */
input.submitmain,
input.submitmainused {
  margin: 10px 30px;
  width: 100%
}
/* Schaltflächen im Menü links */
input.submit,
input.submitused {
  width: 95%;
  margin-top: 1px;
  margin-bottom: 1px
}   

ul.menutop,
ul.menuleft,
ul.menumain {
  list-style-type: none;
  display: inline;
  margin: 0;
  padding: 0
}
ul.menutop li,
ul.menuleft li,
ul.menumain li {
  display: inline
}
ul.menumain.row li {
  display: inline-block;
}
ul.menumain.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* Eingabe Elemente */           
input, select {
  border-width: 1px;
  border-style: solid;
  text-align: left;
  font-size: 1rem;
  margin: 2px;
  max-width: 100%;
  /*Firefox drop-down arrow in select-box dissapear - removed, Firefox Bug -> no Fix in sight 21.09.21 /PVB
  visibility: visible; 
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: ''; */
}

input {
  overflow: visible
}

input,textarea {
  font-family: arial, verdana, "adobe helvetica", helvetica, sans-serif
}

textarea {
  border-width: 1px;
  border-style: solid;
  text-align: left;
  font-size: 1rem;
  margin: 2px;
  width: 100%;
  vertical-align: middle;
  max-width:fit-content;
  min-width:99%
}

/* CBO : passt auch so fürs Tablet, daher das hier raus lassen UPD-4298 */ 
/* Ab Tablet aus Kompatibilitätsgründen nicht volle Breite und margin */
/*@media(min-width: 768px) {
  textarea {
	border-width: 1px;
    border-style: solid;
    width: 91%;
    margin-left: 2px;
    margin-right: 2px;
	text-align: left;
	vertical-align: middle;
	min-width: fit-content;
    max-width: 99%;
  }
}
*/

.radio,.checkbox {
  border: 0
}

.auswahlliste {
  white-space: nowrap;
  font-family: "Lucida Sans Typewriter", "Lucida Console", Courier, sans-serif;
  font-weight: lighter;
  font-size: 0.8rem;
  padding: 4px;
  margin-top: 4px;
}

select.auswahlliste {
  max-width: none !important;
  -moz-appearance: none !important;
}

/* Auf mobilen Endgeräten greift der native Dialog */
@media(max-width: 991px) {
  select.auswahlliste {
    max-width: 100% !important;
  }
}

div.auswahlliste {
  padding-right: 23px;
  margin-left: 2px;
  display:inline-block;
}

.auswahlliste option {
  padding: 3px 0 3px 0
}

/* Breite von Eingabe Elemente (Zahl = Anzahl Buchstaben) */
/* Wird später noch angepasst auf Grid Struktur */

.text3,.text4,.text5,.text8,.text10,.text15,.text17,.text20,
.text25,.text30,.text40,.text50,.text60,.text70,.textfull {
  width: 100% !important;
}
.text3 {max-width: 4rem !important;}
.text4 {max-width: 4rem !important;} /* new 31.01.2020 PVB (Edge cut text3 boxes to short) */
.text5 {max-width: 4rem !important;}
.text8 {max-width: 5rem !important;}
.text10 {max-width: 6rem !important;}
.text15 {max-width: 9rem !important;}
.text17 {max-width: 10rem !important;}
.text20 {max-width: 12rem !important;}
.text25 {max-width: 15rem !important;}
.text30 {max-width: 18rem !important;}
.text40 {max-width: 24rem !important;}
.text50 {max-width: 30rem !important;}
.text60 {max-width: 35rem !important;}
.text70 {max-width: 35rem !important;}

/* Titelblöcke*/
.title,.title-sb,.title-fn,.blocktitle,.blocktitle-sb,.blocktitle-fn,.blocktitlegross {
  font-family: arial, sans-serif;
  font-weight: bold;
  text-decoration: none;
  text-align: left;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  clear: both;
  margin-bottom: 8px
}

h1,h2,h3,h4,h5,h6 {margin: 0}

h2.blocktitle,h2.blocktitle-sb,h2.blocktitle-fn
,caption.blocktitle {
  text-transform: uppercase;
  letter-spacing: .015em !important;
}

.title,.title-sb,.title-fn {
  font-size: 1.15rem;
  padding-left: 18px;
  background-image: url(/images/box12.png);
  background-position: left;
  background-repeat: no-repeat;
}   
h1.title,h1.title-sb,h1.title-fn {
  padding: 8px 0 8px 15px;
	margin-bottom: 20px;
  border:1px solid transparent;
	border-radius: 6px 6px 0 0;
}

.blocktitle,.blocktitle-sb,.blocktitle-fn,.blocktitlegross {
  letter-spacing: 2pt;
  padding-left: 16px;
  margin-top: 5px;
  background-image: url(/images/box8.png);
  background-position: left;
  background-repeat: no-repeat;
}
.blocktitle,.blocktitle-sb,.blocktitle-fn {font-size: 1rem;}
.blocktitlegross {font-size: 1.25rem;}
/* Formular (Layout) */
.blockdiv,.blockdivcenter {width: 100%;float: left;clear: both;white-space: normal;}
.blockdiv {text-align: left;}
.blockdivcenter {text-align: center;}
.blockdivleft,.blockdivright {width: 49%;float: left;overflow: visible;}
.blockdivleft {text-align: left;}
.blockdiv.blockdivleft {padding-top: 5px !important;padding-bottom: 2px !important;}
.blockdivright {text-align: right;}

.subblockdiv5,.subblockdiv10,.subblockdiv15,.subblockdiv25,
.subblockdiv30,.subblockdiv35,.subblockdiv40,.subblockdiv45,
.subblockdiv50,.subblockdiv55,.subblockdiv60,.subblockdiv65,
.subblockdiv70,.subblockdiv75,.subblockdiv85,.subblockdiv100,
.subblockdiv15v,.subblockdiv25v,.subblockdiv30v,.subblockdiv35v,
.subblockdiv40v,.subblockdiv45v,.subblockdiv50v,.subblockdiv55v,
.subblockdiv60v,.subblockdiv65v,.subblockdiv70v,.subblockdiv75v,
.subblockdiv85v,.subblockdiv100v {
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 2px; 
  text-align: center;
  float: left;
  white-space: normal;
}

.subblockdivinput5,.subblockdivinput10,.subblockdivinput15,.subblockdivinput25,
.subblockdivinput30,.subblockdivinput35,.subblockdivinput40,.subblockdivinput45,
.subblockdivinput50,.subblockdivinput55,.subblockdivinput60,.subblockdivinput65,
.subblockdivinput70,.subblockdivinput75,.subblockdivinput85,.subblockdivinput100,
.subblockdivinput5v,.subblockdivinput10v,.subblockdivinput15v,.subblockdivinput25v,
.subblockdivinput30v,.subblockdivinput35v,.subblockdivinput40v,.subblockdivinput45v,
.subblockdivinput50v,.subblockdivinput55v,.subblockdivinput60v,.subblockdivinput65v,
.subblockdivinput70v,.subblockdivinput75v,.subblockdivinput85v,.subblockdivinput100v {
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 2px; 
  text-align: left;
  float: left;
  overflow: hidden;
  white-space:normal;
}

.subblockdivlabel5,.subblockdivlabel10,.subblockdivlabel15,.subblockdivlabel23,
.subblockdivlabel25,.subblockdivlabel30,.subblockdivlabel35,.subblockdivlabel40,
.subblockdivlabel45,.subblockdivlabel50,.subblockdivlabel55,.subblockdivlabel60,
.subblockdivlabel65,.subblockdivlabel70,.subblockdivlabel75,.subblockdivlabel85,
.subblockdivlabel100,.subblockdivlabel15v,.subblockdivlabel25v,.subblockdivlabel30v,
.subblockdivlabel35v,.subblockdivlabel40v,.subblockdivlabel45v,.subblockdivlabel50v,
.subblockdivlabel55v,.subblockdivlabel60v,.subblockdivlabel65v,.subblockdivlabel70v,
.subblockdivlabel75v,.subblockdivlabel100v {
  margin-top: 2px;
  margin-bottom: 2px;
  padding: 4px 2px 4px 2px; 
  text-align: left;
  float: left;
  overflow: hidden;
  white-space: normal;
}

.subblockdiv5,.subblockdivlabel5,.subblockdivinput5,.subblockdivinput5v {width: 5%;}
.subblockdiv10,.subblockdivlabel10,.subblockdivinput10,.subblockdivinput10v {width: 10%;}
.subblockdiv15,.subblockdiv15v,.subblockdivinput15,.subblockdivinput15v,.subblockdivlabel15,.subblockdivlabel15v {width: 17%;}
.subblockdivlabel23 {width: 23%;}
.subblockdiv25,.subblockdiv25v,.subblockdivinput25,.subblockdivlabel25,.subblockdivinput25v,.subblockdivlabel25v {width: 25%;}
.subblockdiv30,.subblockdiv30v,.subblockdivinput30,.subblockdivlabel30,.subblockdivinput30v,.subblockdivlabel30v {width: 34%;}
.subblockdiv35,.subblockdiv35v,.subblockdivinput35,.subblockdivlabel35,.subblockdivinput35v,.subblockdivlabel35v {width: 35%;} /*nicht ändern, verschiebt Buttons PVB 19.09.21*/
.subblockdiv40,.subblockdiv40v,.subblockdivinput40,.subblockdivlabel40,.subblockdivinput40v,.subblockdivlabel40v {width: 40%;}
.subblockdiv45,.subblockdiv45v,.subblockdivinput45,.subblockdivlabel45,.subblockdivinput45v,.subblockdivlabel45v {width: 44%;}
.subblockdiv50,.subblockdiv50v,.subblockdivinput50,.subblockdivlabel50,.subblockdivinput50v,.subblockdivlabel50v {width: 50%;}
.subblockdiv55,.subblockdiv55v,.subblockdivinput55,.subblockdivlabel55,.subblockdivinput55v,.subblockdivlabel55v {width: 56%;}
.subblockdiv60,.subblockdiv60v,.subblockdivinput60,.subblockdivlabel60,.subblockdivinput60v,.subblockdivlabel60v {width: 60%;}
.subblockdiv65,.subblockdiv65v,.subblockdivinput65,.subblockdivlabel65,.subblockdivinput65v,.subblockdivlabel65v {width: 66%;}
.subblockdiv70,.subblockdiv70v,.subblockdivinput70,.subblockdivlabel70,.subblockdivinput70v,.subblockdivlabel70v {width: 66%;}
.subblockdiv75,.subblockdiv75v,.subblockdivinput75,.subblockdivlabel75,.subblockdivinput75v,.subblockdivlabel75v {width: 66%;}
.subblockdiv85,.subblockdiv85v,.subblockdivinput85,.subblockdivlabel85,.subblockdivinput85v,.subblockdivlabel85v {width: 83%;}
.subblockdiv100,.subblockdiv100v,.subblockdivinput100,.subblockdivlabel100,.subblockdivinput100v,.subblockdivlabel100v {width: 100%;}

/* Auf kleinen mobilen Geräten wird alles untereinander statt nebeneinander dargestellt*/
@media(max-width: 767px) {
  [class*="subblockdiv"] {
    width: 100%;
  }

  [class*="subblockdivlabel"] {
    margin-bottom: 0px;
    padding-bottom: 0px;
  }

  [class*="subblockdivinput"] {
    margin-top: 0px;
    padding-top: 0px;
  }
}

[class*="subblockdiv"] {
  line-height: 1.5;
}

.bold,.boldcenter,.error {width: 100%;padding: 8px 2px 2px 2px; margin: 2px;clear: both;}
.boldcenter,.error {text-align: center;}
.belege,.bold,.boldcenter,.error,.boldtext,.boldunderline {font-weight: bold;}
.underline,.boldunderline {text-decoration: underline;}

.belege {
  width: 100%;
  height: 400px;
  border-width: 1px;
  border-style: solid;
  text-align: left;
  padding: 3px;
  float: none;
  clear: both;
  white-space: normal
}

/* Datentabellen */
table {
  border-width: 0px;
}

tr,td,th {font-family: verdana, arial, "adobe helvetica", helvetica, sans-serif;vertical-align: middle;margin: 1px;padding-left: 8px;padding-right: 8px;overflow: visible;}
* html td,th {font-size: 0.8rem;}
/* IE Übernimmt nicht die Schriftgrösse von Body */
.spaltenueberschrift,.spaltenueberschriftleft,.spaltenueberschriftleftnowrap,.spaltenueberschriftright {font-size: 1rem;}
* html .spaltenueberschrift,* html .spaltenueberschriftleft,* html .spaltenueberschriftleftnowrap,* html .spaltenueberschriftright {font-size: 0.8rem;}
/* IE Übernimmt nicht die Schriftgrösse von Body */
.spaltenueberschriftduenn,.spaltenueberschriftduennleft {font-weight: normal;}
.spaltenueberschrift,.spaltenueberschriftleft,.spaltenueberschriftleftnowrap,.spaltenueberschriftright,.tabellenbetragfett {font-weight: bold;}
.spaltenueberschriftduennleft,.spaltenueberschriftleft,.spaltenueberschriftleftnowrap,.tabellenpositionleft,.tabellenpositionleftnowrap,.tabelleninhaltborderleft,.tabelleninhaltborderleftnowrap,.tabelleninhaltleft {text-align: left;}
.tabelleninhaltborderleftnowrap,.tabelleninhaltbordernowrap,.spaltenueberschriftleftnowrap,.tabellenpositionleftnowrap {white-space: nowrap;}
.spaltenueberschrift,.spaltenueberschriftduenn,.tabelleninhalt,.tabelleninhaltborder,.tabelleninhaltbordernowrap {text-align: center;}
.spaltenueberschriftright,.tabellenbetrag,.tabellenbetragrot,.tabellenbetragfett {text-align: right;}
.tabelleninhaltborder,.tabelleninhaltbordernowrap {border-width: 1px;border-style: solid;}
.tabelleninhaltborderleft, .tabelleninhaltborderleftnowrap {border-width: 1px;border-style: solid;vertical-align: top;}


/* input types */
input[type="submit"].submit,
input[type="submit"].submitmain,
input[type="submit"].submitpage,
input[type="submit"].submitmainused,
input[type="submit"].submitused {
  position: relative;
  line-height: 1 !important;
  padding: 10px 8px 10px 8px !important;
} 

button[type="submit"].normal,
button[type="submit"].normalmain,
button[type="submit"].normalpage,
button[type="submit"].normalmainused,
button[type="submit"].normalused,
button[type="submit"].normalmainusedactions {
  position: relative;
  line-height: 1 !important;
  padding: 10px 8px 10px 8px !important;
  font-size: 1rem;
} 

.submitpage:hover,.submitpage:focus {
  outline: 2px solid red;outline-offset:2px
}
.submit,.submitmain,.submitpage,.submitused,.submitmainused {
  border-radius: 4px !important;
  line-height: 1.5 !important;
  transition: all .05s;
}        
.submit:hover,.submitmain:hover,.submitpage:hover {
  box-shadow:0 1px 2px #005283 !important;
}
input[type="submit"].submit, input[type="submit"].submitmain, input[type="submit"].submitused, input[type="submit"].submitmainused {
  line-height: 1.75 !important;
  margin: 6px 0 !important
}

input[type="submit"].submit,
input[type="submit"].submitused {
  font-weight: 700;
  width: 95% !important;
}

button.normal{
  line-height: 1.75 !important;
  margin: 6px 0 !important;
  font-size: 1rem;
  font-weight: 700;
  width: 95% !important;
}

button.normal[disabled] {
  color: #333;
  background: #bbb; 
}

textarea[disabled] { /*PVB/NBU 20.09.2023*/
  color: #333;
  background: #bbb; 
}

button.normalmain{
  line-height: 1.75 !important;
  margin: 6px 0px !important;
  font-size: 1rem;
  width: 100% !important;
}

input[type="submit"].submitpage {
  line-height: 1 !important;
}             

input[type="text"],input[type="password"],input[type="email"] {
  padding: 4px !important;
  margin: 2px;
  -webkit-border-radius: 2px 0 2px 0;
     -moz-border-radius: 2px 0 2px 0;
          border-radius: 2px 0 2px 0;
  width: 130px;
}

.row-baseline {
  align-items: baseline;
}

.row-col-m-b-16 > [class*="col"]{
  margin-bottom: 16px;
}

.row-col-m-b-8 > [class*="col"]{
  margin-bottom: 8px;
}

.row-input {
  display: flex;
  align-items: center;
  margin-top: 0px;
  margin-bottom: 10px;
}

.row-col-radio-10 > [class*="col"]{    /*Wenn Text links und 2 radioboxen rechts auf gleicher höhe angezeigt werden sollen*/
  margin-top: 10px;
}


/* Spezielles Styling für Radio und Checkboxen */
.row-input input[type="radio"]  + label,
.row-input input[type="checkbox"] + label {
  display: block;
  margin-left: 22px;
  margin-top: -16px;
  margin-bottom: 10px;
}

.checkbox-with-input label {
  margin-top: -24px !important;
}

/* Hilfsklassen wenn Checkboxen und Inputs in der selben Zeile sein sollen */
.checkbox-textinput-check,
.checkbox-textinput-text {
  min-height: 40px !important;
  margin-top: 10px;
}
.checkbox-textinput-text {
  padding-top: 5px;
}

@media (min-width: 992px) {
  /* Hilfsklassen wenn Checkboxen und Inputs in der selben Zeile sein sollen */
  .checkbox-textinput-check,
  .checkbox-textinput-text {
    margin-top: 0px;
  }
  .checkbox-textinput-text {
    padding-top: 0px;
  }
  .checkbox-textinput-check {
    padding-top: 5px;
  }
}

/* Optimierungen für mobile Inputs */
@media(max-width: 991px) {
  .row-input {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .row-input input[type="radio"],
  .row-input input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 10px 10px 10px 0px;
  }

  .row-input input[type="radio"]  + label,
  .row-input input[type="checkbox"] + label{
    margin-left: 34px;
    margin-top: -28px;
  }

  .checkbox-with-input label {
    display: inline-block !important;
    margin-top: -44px !important;
  }

  input[type="text"],
  input[type="password"],
  input[type="submit"],
  input[type="email"],
  button[type="submit"],
  select {
    min-height: 44px;
    min-width: 44px;
  }
}

input[disabled],
input[type="submit"]:disabled,
input[type="submit"].disabled,
input[type="submit"][disabled="disabled"] {      /*toDo? display checked checkboxes more visibly*/
  opacity: 0.5                                   
}

button[type="submit"][value="Zurück"],
button[type="submit"][value="zurück"],
button[type="submit"][value="Zur�ck"],   
button[type="submit"][value="zur�ck"],
button[type="submit"][value="back"],
button[type="submit"][value="Back"],
button[type="submit"][value="Rechteauswahl"] {
  padding: 8px 0 8ox 0 !important;
}
textarea {
  margin-top: 5px
}

/* selects */              
select {
  padding: 5px;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px
}

section.abschnitt h2 {
  margin-top: 50px !important;
}   

/* fehleranzeige */
div.error h4, span.error h4 {
  text-align: left;
  margin: 0;
  padding: 10px;
  -webkit-border-top-left-radius: 5px;
     -moz-border-top-left-radius: 5px;
          border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
     -moz-border-top-right-radius: 5px;
          border-top-right-radius: 5px; 
}

div.error ul, 
div.error p,
span.error ul {
  margin: 0;
  top: 0;
  text-align: left;
  list-style: circle;
  line-height: 1;
  padding: 20px;
  -webkit-border-bottom-left-radius: 5px;
     -moz-border-bottom-left-radius: 5px;
          border-bottom-left-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
     -moz-border-bottom-right-radius: 5px;
          border-bottom-right-radius: 5px;
}
div.error ul li, span.error ul li {
  margin-left: 15px;
  padding-top: 6px;
}

.logo {display: none;}  /* workaround: html markup must be reviewed */
.head {display: none;}   /* workaround: html markup must be reviewed */

/* Component: Select */

select {
  border: 1px solid grey;
  border-radius: 0;
  padding: 0.25em 0.4em;
  padding-right: 1.5em;
}
select:focus, select:hover {
  border-color: black;
  outline: none;
}
select:active {
  border-color: #900;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  /*select::-ms-expand {
    display: none;
  }*/

  select:focus::-ms-value {
    background: transparent;
    color: grey;
  }
}

label {
  cursor: pointer;
  display: inline-block;
}

#header {
  visibility: hidden;
  height:0 !important;
  margin: 20px 0 0 0 !important;
}

.logout-hint {
  font-size: 1rem;
  text-align: center;
  margin-top: 20px;
  margin-bottom: -20px;
}
.logout-hint span {
  font-size: 1rem;
}

/* Workaround für Bootstrap, da Bootstrap kein Float nutzt, aber einige Elemente dies noch benötigen. */
.row-float-left div {
  float: left;
}

fieldset {
  margin: 0px;
  padding: 0px;
  border: 0;
}

legend {
  padding-inline: 0;
  float: left;
}

/* Nur auf Desktop Abstand für Fieldset Legend zu Inputs*/
@media (min-width: 992px) {
  legend[class*="col"] {
    margin-bottom: 8px;
  }
}

input[type=file] {
  margin-bottom: 10px;
  padding: 10px;
}

[class*="col"] input[type=file] {
  width: 100%;
}

.util-m-t-16 {
  margin-top: 16px;
}

.util-m-b-16 {
  margin-bottom: 16px;
}

.util-align-right {
  text-align: right;
}

.util-align-center {
  text-align: center;
}

.util-align-left {
  text-align: left;
}

.util-lineheight-1 {
  line-height: 1;
}

.dsgvo-table {
  width: 100%;
  margin-bottom: 30px;
}

.dsgvo-table th,
.dsgvo-table td {
  font-weight: normal;
  font-size: 1rem;
  width: 50%;
  text-align: left;
  padding: 4px;
}

.general-table {
  width: 100%;
}

.general-table th,
.general-table td {
  white-space: nowrap;
  font-size: 1rem;
  font-weight: normal;
  padding: 4px;
}

.general-table th[scope="col"] {
  font-weight: bold;
  white-space: normal;
}

.row p,
.row li {
  line-height: 1.5;
}

p[class*="col"] {
  margin-block-start: 0px;
  margin-block-end: 0px;
}

p:empty {
  display: none;
}

dd[class*="col"],
dt[class*="col"] {
  margin-inline-start: 0px;
  margin: 4px 0px 4px 0px;
}

/* Navigation */
.burger-nav .burger-nav-toggle {
  margin-top: -58px;
}

.burger-nav .burger-nav-toggle .burger-checkbox {
  display: block;
  width: 84% /*40px*/;
  height: 32px;
  position: absolute;
  top: 9px;
  left: 21px;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
}

.burger-nav .burger-nav-toggle span {
  display: block;
  width: 33px;
  height: 4px;
  margin-bottom: 5px;
  margin-left: 11px;
  position: relative;
  background: #f8f9fa;
  border-radius: 3px;
  z-index: 1;
  transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), background 0.5s cubic-bezier(0.77,0.2,0.05,1.0), opacity 0.55s ease;
}

.burger-nav-graph {
  display: inline-block;
  width: 35px;
  height: 32px;
}

.burger-nav .burger-nav-toggle span:first-child
{
  transform-origin: 0% 0%;
}

.burger-nav .burger-nav-toggle span:nth-last-child(2)
{
  transform-origin: 0% 100%;
}

.burger-nav .burger-nav-toggle .burger-checkbox:checked ~ span 
{
  transform: rotate(45deg) translate(5px, 8px);
}

.burger-nav .burger-nav-toggle .burger-checkbox:checked ~ span:nth-last-child(3)
{
  transform: rotate(0deg) scale(0.2, 0.2);
}

.burger-nav .burger-nav-toggle .burger-checkbox:checked ~ span:nth-last-child(2)
{
  transform: rotate(-45deg) translate(2px, 5px);
}

.burger-nav .burger-nav-toggle .burger-checkbox:focus ~ span
{
  background: #005283;
}

.burger-nav .burger-nav-toggle .burger-checkbox:hover ~ span
{
  background: #005283;
}

.burger-nav .burger-nav-toggle .burger-checkbox:active ~ span
{
  background: #005283;
}

.burger-nav .burger-nav-toggle .burger-checkbox:focus ~ label
{
  background: #f8f9fa;  
  color:      #005283;
}

.burger-nav .burger-nav-toggle .burger-checkbox:hover ~ label
{
  background: #f8f9fa;  
  color:      #005283;
}

.burger-nav .burger-nav-toggle .burger-checkbox:active ~ label
{
  background: #f8f9fa;  
  color:      #005283;
}

.burger-nav .burger-nav-input {
  display: none;
  margin-top: 30px
}

.burger-nav input:checked ~ .burger-nav-input {
  display: block;
}

.burger-nav .burger-nav-input li {
  display: block;
  min-height: 62px;
}

.burger-nav .burger-nav-input a {
  display: inline-block;
  margin: 6px 0px;
  padding: 10px 8px 10px 8px;
  width: 95%;
  line-height: 1.75;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  border-radius: 4px; 
  box-shadow: transparent;
  /* color: #005283; /* Das muss raus, da ansonsten das Hover mit der Tastatur nicht funktioniert. */
  font-weight: 700;
}

.normal {
  display: inline-block;
  margin: 6px 0px;
  padding: 10px 8px 10px 8px;
  width: 95%;
  line-height: 1.75;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  border-radius: 4px;
  box-shadow: transparent;
  font-weight: 700;
}

.normal:hover, .normal:focus{
  box-shadow: rgba(0, 0, 0, 0.7) 0px .25em 1em, inset rgba(0, 0, 0, 0.15) 0px -.5em 1em;
  background: linear-gradient(to bottom,#006fb4,#005283);
  border: 1px solid #005283;
  box-shadow: transparent;
  color: #eee;
}

.normalmain {
  display: inline-block;
  margin: 6px 0px;
  padding: 10px 8px 10px 8px;
  width: 100%;
  line-height: 1.75;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  border-radius: 4px;
  box-shadow: transparent;
}

.normalmain:hover, .normalmain:focus{
  box-shadow: rgba(0, 0, 0, 0.7) 0px .25em 1em, inset rgba(0, 0, 0, 0.15) 0px -.5em 1em;
  background: linear-gradient(to bottom,#006fb4,#005283);
  border: 1px solid #005283;
  box-shadow: transparent;
  color: #eee;
}

.normalpage{
  display: inline-block;
  position: relative;
  margin: 6px 0px;
  padding: 10px 8px 10px 8px !important;
  width: 95%;
  line-height: 1 !important;
  background: linear-gradient(to bottom, #fff, #F3F3F3);
  border: 1px solid #005283;
  border-radius: 4px;
  box-shadow: transparent;
  font-weight: 700;
}

.disablepage{
  display: inline-block;
  visibility: hidden;
}
  
/*FRE - Die rehienfolge bei der Aktivierung der Links ist wichtig! focus-hover-active!!! */
.burger-nav .burger-nav-input a:focus a:hover a:active{
  background: linear-gradient(to bottom,#006fb4,#005283);
  border: 1px solid #005283;
  box-shadow: transparent;
  color: #eee;
}

.burger-nav .burger-nav-input .second-checkbox {
  margin-top: -56px;
  width: 49px;
  display: block;
  height: 49px;
  z-index: 5;
  opacity: 0;
  position: relative;
  margin-left: 3%;
  cursor: pointer;
}

.burger-nav .burger-nav-input .second-level-input {
  display: none;
  margin-top: 12px;
}

.burger-nav .burger-nav-input .second-level-input a {
  width: 85%;
}

.burger-nav .burger-nav-input .second-checkbox:checked ~ .second-level-input {
  display: block;
}

.burger-nav .burger-nav-input .burger-arrow {
  display: block;
  width: 20px;
  margin-top: -42px;
  height: 20px;
  position: relative;
  cursor: pointer;
  z-index: 1;
  margin-left: calc(3% + 12px);
  border: solid #005283;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.burger-nav .burger-nav-input .second-checkbox:checked ~ .burger-arrow {
  transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  margin-top: -30px;
}

.burger-arrow {
  transform: rotate(225deg);
  -webkit-transform: rotate(225deg);
  color-adjust: f0000;
  margin-top: -30px;
}

/* hidden submit button, so hitting enter doesn´t use "zurück" or refresh page (all but ie) */
.disableEnter{
	position:relative;
	line-height: 0;
	top:0;left:0;width:0;height:0;border:0;
	overflow: hidden;
  display: none;
  pointer-events: none;
  cursor: not-allowed;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;  
}

/*Gutter sind manchmal doof - PVB*/
.NOgutters .Nogutters{
	margin-right: -30px !important;
  margin-left: -30px !important;
}

.NOgutters15 .Nogutters15{
	margin-right: -15px !important;
  margin-left: -15px !important;
}

.NOguttersleft15 .Nogutterssleft15{
  margin-left: -15px !important;
}

.NOguttersright15 .Noguttersright15{
	margin-right: -15px !important;
}

table {
	border-collapse: separate;
	border-spacing: 0.2em;
	/*margin-left: 2em;*/
	box-shadow: 0 0 0.1em #666;
	position: relative;
	z-index: 1;
}

th,
td {
	padding: 0.2em 0.5em;
	border-radius: 0.1em;
}

thead th {
	background-color: linear-gradient(to bottom,#006fb4,#005283);
	color: black; /*#eee;*/
  position: sticky; top: 0; /*new PVB 14.09.2023*/
}

td {
	font-style: normal;
	text-align: left;
	box-shadow: inset 1px 3px 5px -3px rgba(0, 0, 0, 0.5);
}

tbody tr:nth-child(even) {
	background-color: #e4ebf2;
	color: #000;
}

th[scope=row] {
	color: #c32e04;
	text-align: right;
	background-color: #fff;
}

/*
caption {
	color: white;
	background: #c32e04;
	font-size: 1.5em;
	box-shadow: 0.1em 0.1em 0.1em 0 hsl(0, 0%, 50%);
	padding: 0.2em 0.2em 0.2em 2em;
	width: 10em;
	margin-left: -.6em;
	position: relative;
}

caption::before {
	content: "";
	position: absolute;
	display: block;
	height: 0;
	width: 0;
	top: 1em;
	left: -0.6em;
	border-style: solid;
	border-width: 0.6em;
	border-color: transparent hsl(13, 96%, 35%) transparent transparent;
	z-index: -1;
}
*/

tbody tr:hover,
tfoot tr:hover {
	background-color: #fffbf0;
}

tbody td:hover,
tfoot td:hover {
	background-color: #fce4a2;
}

details {
	transition: all .5s;
}

summary::-webkit-details-marker,
summary::marker {
  content: " ? ";
	font-size: 1em;
	font-weight: bold;
	transition: all 0.5s;
}

summary:after {
  background: #fff;
  opacity: 0;
  border-color: #fff;
  content: " ";
  float: left;
  font-size: 1em;
  font-weight: bold;
  margin: -2px 10px 0 0;
  padding: 1px 0 3px 0;
  text-align: center;
  width: 1px;
}

details[open] summary::-webkit-details-marker,
details[open] summary::marker {
	font-size: 1em;
  content: " ! ";
}


details:hover, details:focus, summary:hover, summary:focus{
  color: #f8f9fa;
  background-color: #005283;
}

