/* CSS Document */
:root {
  --color-dsbBlue: 0, 133, 202;
  --color-dsbGelb: 246, 202, 19;	
  --colorHex-dsbBlue: #0085CA;
  --colorHex-dsbGelb: #F6CA13;	
  --colorHex-dsbGelbLight:  #FDEFBA;	
}


#printlogo {
    display: none;
}


/*show */
@font-face{
    font-family:'DaxRegular';
	font-display: block;
    font-style:normal;
    _font-weight:200;
    src:local('DaxRegular'), local('DaxRegular'), url(DaxRegular.ttf) format('truetype');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;


}
@font-face{
    font-family:'DaxLight';
	font-display: block;
    font-style:normal;
    _font-weight:200;
    src:local('DaxLight'), local('DaxLight'), url(DaxLight.ttf) format('truetype');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

body {
    font: DaxRegular,Arial, Helvetica, Verdana, sans-serif;
	font-family: DaxRegular,Arial, Helvetica, sans-serif;
    margin: 0;
    /* it's good practice to zero the margin and padding of the body element to account for differing browser defaults */
    padding: 0;
    color: #000000;
    background: rgb(255, 255, 255);
    /* the background color will be displayed for the length of the content in the column, but no further */
}


p {
    margin-top: 0;
    margin-bottom: 0.4rem;
}

#content {
    clear: both;
    margin-right: 0.01em;
    margin-left: 0.01em;
	font-size: 0.95em;
    font-weight: normal;
}

h6 {
    background-color: #F7F7F7;
    border-bottom: 1px dotted #008CCC;
    border-top: 1px solid #008CCC;
    clear: both;
    color: black;
    font-size: 1.05em;
    padding: 0.15em;
    font-weight: bold;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0.25em;
    margin-left: 0;
    padding-top: 0.2em;
}

td {
    padding: .25rem!important;
    overflow: hidden!important;
}

#formcorr2 .submit {
    border: 2px solid #0088AA;
    padding: 5px 15px;
    margin-left: 6px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    cursor: default;
    background: #DDEFFF;
    display: inline-block;
}

#showform label.required {
    font-weight: normal;
    color: var(--colorHex-dsbBlue);
}

#showform label.notrequired {
    font-weight: normal;
    color: dimgray;
}


#showform label.float {
	text-align:left;
	display: inline-block;
	margin-right: 0.5em;
	float: none;
}

#showform div.field {
    margin: 1px 0px;
    overflow: hidden;
    padding-top: 0 !important;
    line-height: 1.2em;
    padding-left:10px!important;
}

blockquote.klein {
    margin: 0 0 1rem;
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0.5em;
    margin-inline-end: 0.5em;
	font-size: 0.9em;
	font-weight: normal;
}

blockquote.klein h4 {
	font-size: 1.4em;
}


/*end of show */

dl, ol, ul {
    margin-top: 0.35rem;
    margin-bottom: 0.2rem;
}

ul.multiline2X {
	font-size: 0.7em;	
}

table.table.table-striped.options {
    font-size: 0.85em;
}


input[type="check"], input[type="radio"] {
    min-height: 1.3em;
    width: 1.3em;
}


input[type="text"] {
    min-height: 1em;
	margin-bottom: 0.2em;
}

input#colegio0_XXXX {
    margin-bottom: 0.5em;
    margin-top: 0.25em;
}

input#birthdate0 {
    margin-bottom: 0.5em;
    margin-top: 0.25em;
}

label {
    display: inline-block;
    margin-bottom: .05rem;
}

label.col-form-label {
	vertical-align: top;
    font-size: 0.95em;
	text-align: right;	
	padding-bottom: 0.05em;	
}


label.col-form-label.required {
    font-weight: bold;
    color: rgba(var(--color-dsbBlue), 1);
    padding-bottom: 0;
}

label.labelYesNo.required {
    font-size: 0.95em;
	font-weight: bold;
    color: rgba(var(--color-dsbBlue), 1);
	padding-bottom: 0;		
}

label.labelYesNo.bigger {
    font-size: 1.1em;
}


div.margins {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    font-size: 0.95em;
	padding-left:0.5em;
}

div.margins label.form-check-label {
	margin-left:0.5em;
}

div.legend, div.Mainlegend {
    font-weight: bold;
    padding: 1px 0 1px 5px;
    margin: 5px 0 2px 0;
}

div.legend {
    font-size: 1em;
    background-color: #0085CA;
    border-top: 2px solid #0085CA;
    padding-left: 4px;
	color:white;
}

div.Mainlegend {
    background-color: #0085CA;
    border-top: 2px solid #0085CA;
	font-size: 1.05em;
	color:white;
	padding-bottom: 2px;
    margin-top: 12px;
}

div#cursos1 {
	margin-left:20px;
	margin-top:24px;
}

select#Busida, select#Busvuelta, select#Busvuelta2  {
    width: 95%;
}

span.nottable {display: none;}
td.hidoption {text-align: center; display:none}


div.clearl {
    padding-top: 4px;
}

div.btncontrols {
    margin: 10px 0 6px 3em;
    padding-bottom: 4px;
}

div.controls {
    margin: 1px 0 1px 25px;
    padding-bottom: 1px;
}

form.blockStyledForm div.legend,
form.blockStyledForm div.Mainlegend,
div.Mainlegend {
    font-weight: bold;
    padding: 1px 0 1px 5px;
    margin: 5px 0 2px 0;
}

#divlabelcolegio0,
#divlabelcolegio1,
#divlabelcolegio2,
#divlabelcolegio3,
#divlabelcolegio4 {
    display: inline-block;
    top: 0;
    left: 15px;
}

div.extraspace {
    margin-top: 6px;
    clear: both;
}

div.field1 {
    margin-top: 4px;
    clear: both;
}

.selectcurso {
    padding-top: 0px;
    padding-bottom: 5px;
    padding-right: 3px;
    border-radius: 8px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
}

div.selectcurso p.multiline2,
p.multiline2 {
    width: 100%;
    text-align: left;
    display: block;
    margin-bottom: 4px;
    font-size: smaller;
}

div.selectcurso .blockStyledForm input.required,
.blockStyledForm select {
    font-size: smaller;
}

.blockStyledForm table {
    display: block;
    width: 95%;
    margin: auto;
}

textarea.medium {
    width: 74%;
    height: 90px;
}




hr {
    border: 0 #ccc solid;
    border-top-width: 1px;
    clear: both;
    height: 0
}


/* ENTFERNT: Alle Ntooltip- und errorImage-bezogenen Stile wurden entfernt */
/* Neue CSS für Validierungsfehlermeldungen */
.validationerror {
    display: block !important;
    color: #dc3545 !important;
    margin-top: 0.25rem !important;
    font-size: 14px !important;
    padding: 0.25rem 0.5rem !important;
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-radius: 0.25rem !important;
    border-left: 3px solid #dc3545 !important;
}

/* Verstecke alle alten Fehlerelemente */
.Ntooltip, 
.errorImage, 
.ErrorImage, 
.errorimage,
label.error {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    overflow: hidden !important;
    z-index: -9999 !important;
    pointer-events: none !important;
}

form.blockStyledForm fieldset label.choice {
    margin-left: 4px;
    padding-left: 0;
}

.hiddenoptions {
    display: none;
}

#formins div.selectcurso label.multiline,
#formins label.multiline {
    width: 100%;
    margin-left: 10px;
    text-align: left;
    display: block;
}

div.selectcurso p.multiline2,
p.multiline2 {
    width: 100%;
    margin-left: 25px;
    text-align: left;
    display: block;
}


.selectcurso {
    background-color: rgba(var(--color-dsbBlue), 0.1);
	/* filter: brightness(2.2);*/
    border: 1px solid #0085CA;
	width:99%;
    margin-left: 2px;
    margin-right: 2px;
    padding: 0.6em;
    padding-top: 0.2em;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px
}

.subheader {
    font-weight: bold;
    border-bottom: 2px solid #0088AA;
    padding-left: 1em;
}

button.add span,
#person_addresses_add a span {
    background: url(../images/add.png) no-repeat left center;
}

button.remove span {
    background: url(../images/delete.png) no-repeat left center;
}

.blockStyledForm input.required,
.blockStyledForm select {
    width: 400px
}

.blockStyledForm input.radio {
    width: 20px
}



/*showform*/


#formcorr3 {
    margin-top: 20px;
    clear: both;
}

#formcorr1 input,
#formcorr2 input,
#formcorr3 input {
    border: 1px solid #0088AA;
    padding: 5px 15px;
    margin-left: 3px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    cursor: default;
    background: #DFF5FF;
}



/* corregirt */

#formins fieldset div.selectcurso {
    margin-top: 16px;
}

em {
    font-style: italic!important;
}


ul.confirm-actions {
 list-style-type: none;
 margin-left:1em;
}

ul.confirm-actions li {
  display: table; 
  width: 100%;
  margin:0.7em;
}

ul.confirm-actions li a, ul.confirm-actions li button{
   border:none;
   outline:none;
   cursor:pointer;
	color:#008ccc;
	padding:0;
	font-family:inherit;
	font-size:1em;
	font-weight: normal;
	text-decoration: none; 
	border-bottom-width: 1px;
	border-bottom-style: dotted; 
	border-bottom-color: #008ccc;
    background-color: #F7F7F7;	
	display: inline-block;
	width:90%;
}

ul.confirm-actions li span.icon {
	font-size:2.2em;
	display: table-cell; 
	vertical-align: middle;
	width:1.2em;
	text-align:center;
}
ul.confirm-actions li span.icontext {
	font-size:1.25em;
	display: table-cell;
	vertical-align: middle;
	padding-left:1em;
}



	.btn-dsb,
	.btn-dsb:active,
	.btn-dsb:visited {
  		background-color: var(--colorHex-dsbGelb)!important;
		border: solid white 2px!important;
	}

	.btn-dsb:hover {
  		background-color: rgba(var(--color-dsbGelb), 0.4)!important;
		border: solid var(--colorHex-dsbBlue) 2px!important;
  		transition: all 1s ease;
  		-webkit-transition: all 1s ease;
  		-moz-transition: all 1s ease;
  		-o-transition: all 1s ease;
  		-ms-transition: all 1s ease;
	}


	.btn-dsbsecond,
	.btn-dsbsecond:active,
	.btn-dsbsecond:visited {
  		background-color: var(--colorHex-dsbGelbLight)!important;
		border: solid white 2px!important;
		color: navy;
	}

	.btn-dsbsecond:hover {
  		background-color: rgba(var(--colorHex-dsbGelbLight), 0.4)!important;
		border: solid var(--colorHex-dsbBlue) 2px!important;
  		transition: all 1s ease;
  		-webkit-transition: all 1s ease;
  		-moz-transition: all 1s ease;
  		-o-transition: all 1s ease;
  		-ms-transition: all 1s ease;
	}


/* Add this CSS for transition effect */
.dsbcheckbox {
    transition: opacity 0.7s ease, transform 0.5s ease;
	
}

span.weekoption {
	padding-top:10px;
}




	label.dsbcheckbox, label#chkExamen {
		display: inline-flex;
		cursor: pointer;
		position: relative;
	}

	label.dsbcheckbox > span, label#chkExamen > span {
		color: #34495E;
		padding: 0.5rem 0.25rem;
		padding-top: 10px;
	}

	label.dsbcheckbox > input, label#chkExamen > input {
		margin-top: 0.9em;
		height: 18px;
		width: 18px;
		min-width: 18px;
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
		appearance: none;
		border: 1px solid var(--colorHex-dsbBlue);
		border-radius: 4px;
		outline: none;
		transition-duration: 0.3s;
		background-color: white;
		cursor: pointer;
	  }

	label.dsbcheckbox > input:checked, label#chkExamen  > input:checked {
		border: 1px solid #41B883;
		background-color: var(--colorHex-dsbBlue);
		color: white;

	}

	label.dsbcheckbox  > input:checked + span::before, label#chkExamen  > input:checked + span::before {
		content: '\2713';
		font-size: 1.2em;
		display: block;
		text-align: center;
		color: white;
		position: absolute;
		left: 0.15rem;
		top: 0.6rem;
	}

	label.dsbcheckbox   > input:active, label#chkExamen  > input:active {
		border: 2px solid #34495E;
	}


span.infomobil {display:none;}	

.maincontent {
    padding-left:10px;    
}

    input.size8 {
        width:60px;
    }
    input.size14 {
        width:100px;
    }
    input.size16 {
        width:120px;
    }
    input.size45, select.size45 {
        width:330px;
    }
    input.size60 {
        width:440px;
    }
    input.size80 {
        width:500px;
    }


 @media	only screen and (min-width: 2025px) {

	input#chkExamen {
		-webkit-appearance:none!important;
        appearance:none!important;
		width:18px!important;
		height:18px!important;
		background:white!important;
		border-radius:5px!important;
		border:1px solid var(--colorHex-dsbBlue)!important;
	}
	input#chkExamen:checked {
		background: var(--colorHex-dsbBlue)!important;
	}

	input#chkExamen:checked:after {
	  /*content: "X";*/
	  position: absolute;
	  font-size: 1em;
	  left: 0.25em;
	  top: 0.75em;
	  color:white;	
	  content: "✔";
	}
}




@media only screen and (max-width: 575px) {
	/* Responsive Table */

	span.infomobil {
		display:inline-block;
		margin-right: 0.75em;
	}
	
	.showtable tr td center {
      text-align: left;
      margin-left: 1.25em;
		background-color: aqua;
    }
	
	label.col-form-label {
		font-size: 0.95em;
		text-align: left;
    }
	
	label.labelYesNo.required {
		font-size: 0.95em;		
		text-align: left;
	}
	
	table, thead, tbody, th, td, tr {
    	display: block;
   	}
	td.hidoption {
		display: none;
        text-align: left
	}
	
  thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  tr { border: 1px solid #ccc; }
  td {
    border: none;
    border-bottom: 1px solid #eee;
  }
  td:before {
    padding-right: 2em;
    white-space: nowrap;
  }
  td label:nth-of-type(2) {margin-left:1em; }
  td label:nth-of-type(3) {margin-left:1em;;margin-bottom:0;line-height:1.05 }	
  td label:nth-of-type(1) input {margin-top:4px;padding:0 }
  td label:nth-of-type(1).dsbcheckbox span {padding-top:4px; }
  td label:nth-of-type(2) input {margin-top:2px;padding:0 }
  td label:nth-of-type(3) input {margin-top:0;padding:0;}	
  td label:nth-of-type(2).dsbcheckbox span {padding-top:0; }
  td label:nth-of-type(3).dsbcheckbox span {padding-top:0; }

  td label:nth-of-type(1) {margin-top:0.5em;margin-bottom:0;line-height:1.05; }
  td label:nth-of-type(2) {margin-top:0.25em;margin-bottom:0;line-height:1.05; }
  td label:nth-of-type(3) {margin-left:1em;;margin-bottom:0;line-height:1.05 }	
  td label:nth-of-type(1) input {margin-top:4px;padding:0 }
  td label:nth-of-type(1).dsbcheckbox span {padding-top:4px; }
  td label:nth-of-type(2) input {margin-top:2px;padding:0 }
  td label:nth-of-type(3) input {margin-top:0;padding:0;}	
  td label:nth-of-type(2).dsbcheckbox span {padding-top:0; }
  td label:nth-of-type(3).dsbcheckbox span {padding-top:0; }

  textarea.medium {
	  width: 95%;
	  height: 5em;
  }

 input#birthdate0 {
    margin-bottom: 1em;
    margin-top: 0.5em;
  }

    input.size8 {
        width:75%;
    }
    input.size14 {
        width:85%;
    }
    input.size16 {
        width:85%;    
    }
    input.size45, select.size45 {
        width:95%;    
    }
    input.size60 {
        width:95%;    
    }
    input.size80 {
        width:95%;    
    }

	
}

/* CHECKBOX UND RADIO RESET - MOBILE UND DESKTOP */
input[type="checkbox"], 
input[type="radio"] {
    /* Grundlegende Eingenschaften */
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 3px !important;
    vertical-align: middle !important;
}

input[type="checkbox"] {
    /* Native Checkbox-Darstellung */
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    border-radius: 0 !important;
    accent-color: var(--colorHex-dsbBlue) !important;
    width: 16px !important;
    height: 16px !important;
}

input[type="radio"] {
    /* Native Radio-Darstellung */
    -webkit-appearance: radio !important;
    -moz-appearance: radio !important;
    appearance: radio !important;
    border-radius: 50% !important;
    accent-color: var(--colorHex-dsbBlue) !important;
    width: 16px !important;
    height: 16px !important;
}

/* VERHINDERN VON PSEUDO-ELEMENTEN */
input[type="checkbox"]::before,
input[type="checkbox"]::after,
input[type="radio"]::before,
input[type="radio"]::after,
.dsbcheckbox input[type="checkbox"]::before,
.dsbcheckbox input[type="checkbox"]::after,
.dsbcheckbox span::before,
.dsbcheckbox span::after {
    display: none !important;
    content: none !important;
}

@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
    /* SPEZIELLE MOBILE ANPASSUNGEN */
    input[type="checkbox"], 
    input[type="radio"] {
        margin: 3px !important;
        vertical-align: middle !important;
    }
    
    td label {
        display: flex !important;
        align-items: center !important;
        line-height: 1.25 !important;
    }
    
    td label input[type="checkbox"],
    td label input[type="radio"] {
        flex-shrink: 0 !important;
        margin-right: 0.5em !important;
    }
    
    /* Korrektur der dsbcheckbox Klasse */
    td label.dsbcheckbox {
        display: flex !important;
        align-items: center !important;
    }
    
    td label.dsbcheckbox span {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

/* Checkbox Styling für die dsbcheckbox-Klasse */
.dsbcheckbox input[type="checkbox"] {
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 0 !important;
  accent-color: var(--colorHex-dsbBlue) !important;
  margin: 3px !important;
  vertical-align: middle !important;
}

/* Radio Button Styling */
input[type="radio"] {
  appearance: radio !important;
  -webkit-appearance: radio !important;
  -moz-appearance: radio !important;
  accent-color: var(--colorHex-dsbBlue) !important;
}

/* Verbesserung der dsbcheckbox Darstellung */
.dsbcheckbox {
  display: inline-flex !important;
  align-items: center !important;
}

.dsbcheckbox span {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-left: 5px !important;
}

/* Verhinderung von doppelten Haken */
.dsbcheckbox input[type="checkbox"]::before,
.dsbcheckbox input[type="checkbox"]::after,
.dsbcheckbox span::before,
.dsbcheckbox span::after {
  content: none !important;
  display: none !important;
}
