/* Allgemeines */

.unfloat {
	clear: both;}


p, div.views-row>div.views-field {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5em;
	color: #333;
	margin: 0 0 0.5em 0;
}
strong {
	font-weight:  bold;
}
/*Keine Typography, aber für Fotter erforderlich*/
html,
body {
	min-height: 100%;
}

body {
	/*font-family: Arial, Helvetica Neue, Helvetica, sans-serif; /*neues CD, veraltet */
	/*font-family: font-family: var(--bs-body-font-family); /*Variable aus bootstrap 5*/
	font-family: roboto, -apple-system, blinkmacsystemfont, "Segoe UI", helvetica, arial, sans-serif;
	font-size: 16px;
	color: #333333; /*alt*/
	hyphens: auto; /*automatische Silbentrennung aktivieren*/
	/*Keine Typography, aber für Fotter erforderlich*/
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
/*Keine Typography, aber für Footer erforderlich*/
.dialog-off-canvas-main-canvas,
#page-wrapper,
#page {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 100%;
}
#main-wrapper {
	flex: 1;
}

.two-columns {
	column-count: 2;
}

.div-inline  div{
	display:inline;
}

/* Überschriften */

h1,h2,h3,h4,h5,h6, .node-teaser
{color:#4c4c4c;
	margin: .5em 0;
	line-height:1.2em}

h2,h3,h4,h5,h6, .node-teaser{
	margin-top: 0.5em; /*13.05.26*/
}


h1,h2,h3,h4, h5
{font-weight:bold}

/*h3,h4,h5 nicht mehr aktuell, gr��en wurden rausgelesen
{font-size:16px}*/

h3,h4
{clear:both}

h1
{font-size: 3rem;
	line-height: 1.1;}

h2
{font-size: 2rem;
	line-height: 1.2;}

/*h3  {
	border-bottom:1px solid #b3b3b3;
	color: #333;
	font-size: 16px;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	padding-bottom:3px;
	text-transform:uppercase;
}

h3 auslassen, d.h. h3 entspricht CI h4 usw, Nicht mehr aktuell, siehe n�chste Zeile
*/

h3
{/*border-left:3px solid #b3b3b3;Alt*/
	/*padding-left:10px;*/
	font-size: 1.5rem;
	line-height: 1.2;}

h4
{color:#4c4c4c;
	font-size: 1.25rem;
	line-height: 1.25;}

h5, h6
{color:#737373;
	font-style:italic}

h5 {font-size: 1rem;
	line-height: 1.3;}
/*neue h6, nicht im CI, h5 neu bold*/
h6 {font-size: 1rem;
	line-height: 1.25;
	font-weight: normal}


/*Leads, angepasst 09.04.2026*/
/*nachbessern, nur .tum-lead-text + Ergänzung um .view-header p, da z.T. auch als lead verwendet*/
.tum-lead-text p,
.tum-lead-text,
.view-header p{
	/*color: #737373;*/
	font-size: 19px;
	margin-bottom: 1.5rem;
}

/* Links */

a {border-bottom:1px solid #777;
	color:#333;
	line-height:1.6em;
	hyphens: none;
	outline:none;
	padding-bottom:1px;
	text-decoration:none;
	transition:all 100ms linear;
	-webkit-transition:all 100ms linear}

a:hover, a:focus, a[href]:hover,a[href]:focus {
	border-bottom-color:#4889ce;
	color:#3070b3;
	/*für dunkelcolor: var(--link-hover-color);*/
	text-decoration: none;}

a.is-active {
	font-weight: bold;
}

/* Links ohne Unterstreichung */

header a, header a:hover, header a:focus,
a.noborderlink,  a.noborderlink:hover,  a.noborderlink:focus,
.more-link a, .more-link a:hover,  .more-link a:focus,
.noborderlink a,  .noborderlink a:hover,  .noborderlink a:focus,
thead a[href*="sort=asc"],  thead a[href*="sort=asc"]:hover,thead a[href*="sort=asc"]:focus,
thead a[href*="sort=desc"], thead a[href*="sort=desc"]:hover,thead a[href*="sort=desc"]:focus{
	border: none;
}

/* Links ohne Hovereffekt */

a.nohoverlink:hover,  a.nohoverlink:focus,
.nohoverlink a:hover,  .nohoverlink a:focus {
	color:#333;
}
a.nocursorlink:hover,  a.nocursorlink:focus,
.nocursorlink a:hover,  .nocursorlink a:focus	 {
	cursor: default;
}

/* Links ohne externer-Link-Icon */

a.noiconlink svg.ext{
	display: none;
}
/*Kein Zeilenumbruch im Text*/
.ext {
	white-space: nowrap;
}

/* Verlinkte Bilder mit Hovereffekt */

.tum-image-link-hover-effect a img:hover {
	transform: scale(1.025);
	transition: .3s ease;
}

/*externe Links, mailto,...*/
a.ext svg.ext {
	display: none !important;
}

/* Eigenes Icon sauber definieren */
a.ext::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.35em;
	vertical-align: text-bottom;
	background-image: url("../../images/tum_icons/link-external.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	/*filter: brightness(0) invert(1);*/
}
/*Problem svg Farbe verändern, gewünscht weiß, Trick -> mit Filter schwarz und dann invertiert*/
.button.ext::after,
.opac-button.ext::after {
	filter: brightness(0) invert(1);
}

a.mailto svg.mailto {
	display: none !important;
}

/* Eigenes Icon sauber definieren */
a.mailto::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.35em;
	vertical-align: text-bottom;
	background-image: url("../../images/tum_icons/envelope.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;

}

.button.mailto::after {
	filter: brightness(0) invert(1);
}

.tum-info {
	vertical-align: middle;
	padding: 1px 5px;
	border: 1px solid #ccc;
	margin-left: 10px;
}

/* verlinkte h3 ähnlich Aktuelles ohne Größenänderung*/
h3 a:not(.noborderlink), .tum-link-arrow a{
	border-bottom: none;
	text-transform: none;
}

h3 a:not(.noiconlink)::after, :not(.noiconlink) h3 a::after.tum-link-arrow a::after, a.tum-link-arrow::after {
	background: rgba(0, 0, 0, 0) url("../images/tum_icons/icn_tum_internlink.svg") no-repeat scroll center center;
	content: "";
	margin-left: 5px;
	margin-right: 3px;
	padding-right: 11px;
}
/******************/
/* Buttons   */
/******************/
button, .button, a.button,
button:visited, .button:visited, a.button:visited {
	background-color: #3070b3;
	background-image: none;
	border: none;
	box-shadow: none;
	color: #fff;
	opacity: 1;
	height: auto;
	padding: 0.2rem 0.625rem;
}

input.button {
	padding: 0.625rem;
}

button svg.ext, .button svg.ext{
	background: rgba(0, 0, 0, 0) url("../images/tum_icons_ub/icn_tum_externlink_white.svg") no-repeat scroll 2px center;}

button:hover, .button:hover, a.button:hover, a.button:focus {
	background-color: #4889ce;
	background-image: none;
	color: white;
	border: none;
}
/*Hover bei Fehler- bzw. Drupal-Message unterbunden, Bedingung analog zum Standard-Zustand angepasst*/
.messages__wrapper button:hover{
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
}
/******************/
/* Dropbuttons   */
/******************/

.dropbutton-wrapper.open .dropbutton-widget,
.dropbutton-widget, .dropbutton-widget:hover, .dropbutton-widget:focus{
	background: white;
	border: 1px solid #b3b3b3;
	border-radius: 0px;
}

.dropbutton-multiple .dropbutton,
.dropbutton .secondary-action {
	border-color: #b3b3b3;
}

.dropbutton .dropbutton-toggle button,
.dropbutton .dropbutton-toggle button:hover,
.dropbutton .dropbutton-toggle button:focus,
.dropbutton .dropbutton-toggle button:active	 {
	background-color: #8f8f8f;
	border-radius: 0;
	opacity: 1;
}


.dropbutton-arrow {
	color: white;
}

.js .dropbutton-multiple .dropbutton-widget {
	width: 100%;
}

/******************/
/* Aufzählungen */
/******************/

p.ullead {
	font-weight: bold;
	margin-bottom: 0.5em;
}

ul li, ul li.item-list__item {
	list-style-type: square;
	list-style-image: none;
}

ol, ul, dl {
	line-height: 1.6em;
	list-style-position: outside;
	margin-bottom: 1em;
	padding: 0;
}

ul.liststylenone,  ul.liststylenone li,
.liststylenone ul, .liststylenone ul li
{
	list-style-type: none;
	margin-left: 0;
}


ol, ul {
	margin-left: 1.1em;
}

dd {margin-left: 0;}

dt {font-weight: bold;}
/**************************/
/*Dropdowns select      */
/***********************/
select {
	border: 1px solid #e6e6e6;
	border-top: 1px solid #b3b3b3;
	box-shadow: none;
	line-height: 1em;
	width: auto;
}
/******************/
/* Accordions 	detail/summary */
/******************/
details {
	background: none;
	border: none;
	outline: 1px solid #b3b3b3;
	margin-bottom: 20px;
	max-height: none;
}

details > summary {
	font-weight: bold;
	font-size: 16px;
	padding-right: 1.5rem;
	padding-left: 0.5rem;
}
details > summary > h3 {
	border-left: none;
	clear: none;
	padding-top: 3px;
}

.js details[open] {
	overflow: auto;}

/* .js details:not([open]) > summary::before {
    content: url("../../images/tum_icons/icn_tum_circleplus.svg");
}

.js details[open] > summary::before {
    content: url("../../images/tum_icons/icn_tum_circleminus.svg");
} */

details > summary::before {
	margin: 2px 7px 0.5rem 0px;;
}

details > summary div.field {
	margin-bottom: 0;
}

details > div {
	padding: 0 10px 10px 15px;
}
/*************/
/* Tabellen  */
/*************/

table {
	margin-bottom: 25px;
}
thead, tbody, tr, th, td {
	border-width: 0px;
	background-color: transparent !important;
	color: black !important;
}

table td, table th{
	border-bottom:1px solid #e6e6e6;
	border-top: none;
	border-left: none;
	border-right: none;
	line-height:1.5em;
	padding:5px 20px 5px 0px;
	text-align:left
}

table th {
	border-bottom-width: 2px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2em;
}
thead > tr{
	border-bottom: 2px solid #e6e6e6 !important;
}

tr, tr:hover,
thead tr, thead tr:hover {
	background: none;
}

/*Sortierbare Spalten */
table th a[href*="sort=asc"] {
	white-space: nowrap;
}

table th a[href*="sort=asc"]:after,
table th a[href*="sort=desc"]:after	{
	background-image:	url("../images/tum_icons/icn_tum_arrowup.svg"),
	url("../images/tum_icons/icn_tum_arrowdown.svg");
	background-position: top, bottom;
	background-repeat: no-repeat, no-repeat;
	padding-right:10px;
	content:"";
	margin-left:10px;
	top: 5px;
}
.tablesort--desc::after,
.tablesort--asc::after {
	content:"";
}

/*Breiten*/
.width-70 {
	width: 70%;
}

/*****************************************/
/* Exposed Filter/Suche/Sortierung       */
/*****************************************/
.views-exposed-form {
	border: 1px solid #b3b3b3;
	padding: 0.5em 1em;
	margin-bottom: 1em;
}

.views-exposed-form form {
	margin: 0;
}

.views-exposed-form label {
	float: none;
	width: auto;
}

.views-exposed-form .form-type-select__select-wrapper:not(.is-multiple){
	width: auto;
}


.views-exposed-form .form-type-select__select-wrapper:not(.is-multiple) .form-select {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

.views-exposed-form .form--inline .form-actions {
	clear: none;
	margin-top: 1.5rem;
}

/******************/
/* Icons   noch in Verwendung?       */
/******************/
a.tum-add:before {
	background:url("../images/tum_icons/icn_tum_plus.svg") center no-repeat;
	padding-right:11px;
	content:"";
	margin-left:5px;
	margin-right:3px
}

/******************/
/* Webforms       */
/******************/

label, .form-composite > legend {
	font-weight: normal;
	/*float: left;deaktiviert, 08.05.26*/
	vertical-align: top;
	/*width: 33%;*/
}
.webform-type-fieldset > legend{
	font-size: 1.5rem;
	font-weight: bold;
}
.webform-type-radios > legend .fieldset-legend {
	font-size: 16px;
}
.form-required::after {
	color: #e37222;
}


.form-type-radio .option, .form-type-checkbox .option {
	padding: 0 0.1rem;
}

.form-radios, .form-item.form-type-radio,
.form-checkboxes, .form-item.form-type-checkbox {
	margin:0;
}

label.option	{
	float: none;
	max-width: 60%;
	width: auto;
}

textarea, select, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"],
.select2-container--default .select2-selection--single{
	border: 1px #b3b3b3 solid;
	border-radius: 0;
	width: auto;
	max-width: 100%;
}

input.required{
	background-color: #f9e2d2;
}

input[type="checkbox"], input[type="radio"] {
	bottom: 0.125rem;
}
.form-item textarea {
	display: inline;
	padding:0;
	width: 65%;
}

form .description {
	color: #8a8a8a;
	/*margin-left: 33%; deaktiviert, 08.05.26*/
	width: 50%;
}

form .webform-section-wrapper > .description {
	margin-left: 0;
	margin: -1em 0 1em;
}

/*Select-Dropdowns mit "Select2" */
.form-type-select__select-wrapper:not(.is-multiple) {
	width: 64%;
}

.form-type-select__select-wrapper:not(.is-multiple)::after {
	content: "";
}

/* Zeichenzähler*/
.text-count-wrapper {
	display: inline;
	margin-left: 1em;
}

.text-count-wrapper.webform-counter-warning {
	color: #e37222;
}

input.webform-counter-warning, input.form-text.webform-counter-warning, textarea.webform-counter-warning, textarea.form-textarea.webform-counter-warning {
	border-color: #e37222;
	background: #f9e2d2;
}


/* Buttons */
.form-actions {
	float: right;
}

/*Mobile Ansicht*/


@media (max-width: 768px) {

	h1 {
		font-size: 2.5rem;
		line-height: 1.1;
	}

	h2 {
		font-size: 1.5rem;
	}

	h3 {
		font-size: 1.25rem;
	}

	.tum-lead-text p,
	.tum-lead-text,
	.view-header p {
		font-size: 17px;
	}
}
