/*@font-face { 
	font-family: 'header'; 
	src: url('fonts/headline/built titling rg.ttf') format('truetype'); 
}*/
@font-face { 
	font-family: 'header'; 
	src: url('fonts/text/RobotoCondensed-Light.ttf') format('truetype'); 
}

@font-face { 
	font-family: 'text'; 
	src: url('fonts/text/RobotoCondensed-Light.ttf') format('truetype'); 
}

body {
	font-size: 12pt;
	background-image: url("../pics/wand_2.jpg");
}

ul {
	margin-top: -0.05rem;
	margin-bottom: -0.05rem;
	margin-left: 0vw; 
}

a {
	text-decoration: underline;
	color: #A77B0E;
	text-decoration-color: #A77B0E;
	text-decoration-thickness: .1em;	
	text-underline-offset: 4.5px;
}


.windows {
	width:100%;
	display: grid;
	grid-template-rows: minmax(40%, fr);
	grid-template-columns: 33.3% 33.3% 33.3%;
}

.main {
	width:100%;
	display: grid;
	grid-template-rows: minmax(40%, fr);
	grid-template-columns:50% 50%;
}

.wrapper_wide {
	width:auto;
	margin-left: auto;
	margin-right: auto;
	min-height: 35%;
	padding-left: 1.7em;
	padding-right: 1.7em;
	padding-bottom: 2em;
	padding-top: 2em;
}

.wrapper {
	width:auto;
	float: left;
	min-height: 35%;
	padding-left: 1.7em;
	padding-right: 1.7em;
	padding-bottom: 2em;
	padding-top: 2em;
}

.subwrapper {
	padding-bottom: 1em;
}

@media screen and (max-width: 70.001em) { 
	.main {
		grid-template-columns: 94%;;
	}
	.windows {
		grid-template-columns: 94%;;
	}
}

.headline {
	background-color: #dd0000; /* rot #dd0000, alternativ #c1121c oder #c12d28 */
	color: #d6d6d6;
	padding-bottom: 0.2vw; 
	padding-left: 0.5vw; 
	padding-right:0.3vw;
	font-family: "header", sans-serif, condensed;
	font-size: 3em;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}


.textbox {
	color: #000000; /* schwarz #000000, alternativ #2a292a */
	background-color: #E8E8E8; /* gelb #ffce00, alternativ #ffbd00 oder #ffcc00 oder #edd100 */
	font-family: "text", sans-serif, condensed;
	font-size: 1.3em;
	opacity: 0.95;
	padding-left:0.5vw;
	padding-right:0.3vw;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
}

input[type='checkbox'] {
  display: none;
}

.collapsible-content1, .collapsible-content2, .collapsible-content3, .collapsible-content4 {
  max-height: 0px;
  overflow: hidden;
  transition: max-height .25s ease-in-out;
}


.toggle1:checked + .lbl-toggle + .collapsible-content1 {
	max-height: 800em;
}

.toggle2:checked + .lbl-toggle + .collapsible-content2 {
	max-height: 800em;
}


.toggle3:checked + .lbl-toggle + .collapsible-content3 {
	max-height: 800em;
}

.toggle4:checked + .lbl-toggle + .collapsible-content4 {
	max-height: 800em;
}



.lbl-toggle {
  display: block;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: right;
  padding: 1rem;
  color: #A77B0E;
  cursor: pointer;
  transition: all 0.25s ease-out;
}

.lbl-toggle:hover {
  color: #7C5A0B;
}


.subheadline_marker {
	background-color: black;
	color: #ffffff; /*ffce00*/
	padding-right: 0.3rem;
	padding-left: 0.3rem;
	border-radius: 8px;
}

.windows .subheadline {
	margin-left: auto;
	margin-right: auto;
}

.subheadline { 
	font-weight: 600;
	padding-top: 0.6rem;
	padding-bottom: 0.3rem;
}

.subheadline_flat { 
	font-weight: 600;
	padding-bottom: 0.3rem;
}


/*****************************/
/*   images   				 */
/*****************************/

.portrait_left {
	position:relative;
	width:100%;
    margin: 0px 0.1em 0.2em auto;
}

.portrait_right {
	position:relative;
    margin: 0px 0px 0.2em 0.1em;
	width: 100%;
}

.portrait_block {
	width: 100%;
	clear: both;
}

figure {
	width: 40%;	
	margin: 0 0 0 0;
}

.figure_right {
	float:right;
	margin-left: 0.2em;
}

.figure_left {
	float:left;
	margin-right:0.2em
}


.flat_table {
	text-align: left;
	border-collapse: collapse;
	display: block;
	overflow: auto;
	width: auto;
	font-size: 0.9em;
	width:100%;
}
.flat_table th {
	border:solid 0.1vw;-webkit-transition: border-bottom .3s;
	font-weight: 0.8em;
	padding: 0.2rem 0.4rem;
	text-align: left;
	vertical-align:top;
}
.flat_table td {
	border:solid 0.1vw;-webkit-transition: border-bottom .3s;
	font-weight: 0.8em;
	padding:0.1rem 0.4rem;
	vertical-align:top;
}

h3 {
	font-size: 80%;
}

    /* Grundlayout: gleiche Spaltenbreite, klare Abgrenzung */
    .stundenplan {
      width: 100%;
      table-layout: fixed;
      border-collapse: collapse;
      margin-bottom: 24px;
    }
    .stundenplan th, td {
      width: 16.6667%; /* 6 Spalten: Unterrichtsstunde + 5 Wochentage */
      border: 1px solid #333;
      vertical-align: top;
      padding: 6px;
      font-size: 70%;
    }
    .stundenplan th {
      background: #f0f0f0;
      text-align: left;
    }

    /* Kurs-Badges zur klaren Trennung innerhalb einer Stunde */
    .course {
      display: block;
      margin: 4px 0;
      padding: 6px 8px;
      border-radius: 6px;
      border: 1px solid #bbb;
      background: #fafafa;
      line-height: 1.25;
      cursor: pointer;
    }

    /* Farbcodierung nach Kurstyp (deutlich abgehoben) */
    .type-german   { background: #e8f4ff; border-color: #7db7ff; }
    .type-intro    { background: #e7ffe7; border-color: #6ac36a; }
    .type-clil     { background: #fff3d6; border-color: #e7b04b; }
    .type-advanced { background: #ffe8ef; border-color: #d36; }

    /* Hover-Highlight für alle Vorkommen eines mehrstündigen Kurses */
    .course.highlight {
      outline: 2px solid #ff3b3b;
      background-color: #fff0f0;
    }
