@font-face {
  font-display: block;
  font-family: 'OpenSans-Regular';
  font-style: normal;
  font-weight: 400;
  src: url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.eot');
  src: url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.eot?#iefix') format('embedded-opentype'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.woff2') format('woff2'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.woff') format('woff'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.ttf') format('truetype'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-regular.svg#OpenSans-Regular') format('svg');
}
@font-face {
  font-display: block;
  font-family: 'OpenSans-Bold';
  font-style: normal;
  font-weight: 700;
  src: url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.eot');
  src: url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.eot?#iefix') format('embedded-opentype'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.woff2') format('woff2'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.woff') format('woff'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.ttf') format('truetype'),
       url('../assets/fonts/open-sans-v43-latin_latin-ext_symbols-700.svg#OpenSans-Bold') format('svg');
}

@font-face {
  font-display: block;
  font-family: 'Merriweather-Sans-Regular';
  font-style: normal;
  font-weight: 400;
  src: url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.eot');
  src: url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.woff2') format('woff2'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.woff') format('woff'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.ttf') format('truetype'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-regular.svg#Merriweather-Sans-Regular') format('svg');
}
@font-face {
  font-display: block;
  font-family: 'Merriweather-Sans-Bold';
  font-style: normal;
  font-weight: 800;
  src: url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.eot');
  src: url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.eot?#iefix') format('embedded-opentype'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.woff2') format('woff2'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.woff') format('woff'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.ttf') format('truetype'),
       url('../assets/fonts/merriweather-sans-v27-latin_latin-ext-800.svg#Merriweather-Sans-Bold') format('svg');
}

:root {
  --rot:  rgb(205, 25, 25); /* #cd1919 */
  --rot-hell:  rgb(203, 100, 100); /* #cd1919 */
  --grau:   rgb(102,102,102); /* #666666 */ 
  --grau2:   rgb(128,128,128); /* #808080 */ 
  --grau-hell: rgb(226, 226, 226); /* #cccccc */
  --grau-hell2: rgb(246, 246, 246); /* #f6f6f6 */
  --grau-dunkel: rgb(51,51,51); /* #333333 */

  --weiss: rgb(255,255,255);
  --schwarz: rgb(0,0,0);
  
  --body-bg:  rgb(255,255,255);

  --schrift-normal: 'OpenSans-Regular', sans-serif;
  --schrift-normal-bold: 'OpenSans-Bold', sans-serif;
  --schrift-fancy: 'Merriweather-Sans-Regular', sans-serif;
  --schrift-fancy-bold: 'Merriweather-Sans-Bold', sans-serif;

  scrollbar-width: thin;
  scrollbar-color: var(--rot) var(--grau-dunkel);

  --bs-border-color: var(--rot);
  --bs-emphasis-color: var(--rot);
  --bs-secondary-bg: var(--grau-dunkel);

  &.highcontrast {
		--rot: rgb(0,0,0);
		--grau: rgb(0,0,0);
		--grau-dunkel: rgb(0,0,0);
    --rot-hell:  rgb(208, 152, 152);
    --grau2:   rgb(212, 212, 212);
    --grau-hell: rgb(226, 226, 226);
    --grau-hell2: rgb(246, 246, 246);
	}

  &.darkmode {
    --body-bg: rgb(51,51,51);

    --rot: rgb(205, 25, 25); /* #cd1919 */
    --rot-hell: rgb(203, 100, 100); /* #cd1919 */

    --grau: rgb(226, 226, 226); /* #cccccc */
    --grau2: rgb(246, 246, 246); /* #f6f6f6 */
    --grau-hell: rgb(102,102,102); /* #666666 */ 
    --grau-hell2: rgb(128,128,128); /* #808080 */ 
    --grau-dunkel: rgb(246, 246, 246); /* #f6f6f6 */ /*rgb(51,51,51); /* #333333 */

    --weiss: rgb(0,0,0);
    --schwarz: rgb(255,255,255);

    input#theme-switch {
        &::after {
            background-image: url('../img/dark-icon.png');
        }
    }
  }

}

.table {
  --bs-table-hover-bg: rgba( 205, 25, 25, 0.075 ) !important;
}

input#dark-switch {
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor: pointer;
    appearance: none;
    width: 80px;
    height: 40px;
    background-color: #ededed;
    border-radius: 20px;
    z-index: 9999999999;

    &::after {
        content: '';
        width: 40px;
        height: 40px;
        background-color: #323950;
        border-radius: 40px;
        transform: scale(0.8);
        position: absolute;
        left: 0;
        transition: left 0.7s, background-image 0.7s;
        background-image: url('../img/light-icon.png');
        background-repeat: no-repeat;
        background-position: center;
        background-size: 50%;
    }

    &:checked::after {
        left: 40px;
    }
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
 	transition: all 0.25s;
}
.nav-tabs .nav-link.active {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
  font-size: larger;
  font-weight: bold;
}
.nav-link {
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--grau);
 	transition: all 0.25s;
}
.nav-link:focus, .nav-link:hover {
  color: var(--grau-dunkel);
}
.tab-content {
  border-left: var(--bs-border-width) solid var(--bs-border-color);
  border-right: var(--bs-border-width) solid var(--bs-border-color);
  border-bottom: var(--bs-border-width) solid var(--bs-border-color);
  border-bottom-left-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
  transition: all 0.25s;
}
.tab-content h3, 
.tab-content h4 {
  margin-top: 2rem;
}

::-moz-selection { /* Code for Firefox */
  background: var(--rot);
  color: var(--weiss);
}
::selection {
  background: var(--rot);
  color: var(--weiss);
}

input, textarea, select {
	caret-color: var(--rot);
}
.form-control:focus {
  color: var(--bs-body-color);
  /* background-color: var(--bs-body-bg); */
  background-color: rgba( 205, 25, 25, 0.015 ) !important;
  border-color: var(--rot);
  box-shadow: 0 0 0 0.1rem var(--rot);
}

@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    /* max-width: 1140px; */
    max-width: 1060px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    /* max-width: 1320px; */
    /* max-width: 1140px; */
    max-width: 1060px;
  }
}

.bg-rot {
  background-color: var(--rot) !important;
}
.bg-grau,
.bg-dark{
  background-color: var(--grau) !important;
}
.bg-grau ::-moz-selection,
.bg-dark ::-moz-selection,
.inverted ::-moz-selection,
.bg-rot ::-moz-selection,
.bg-grau ::selection,
.bg-dark ::selection,
.inverted ::selection,
.bg-rot ::selection {
    background: var(--weiss);
    color: var(--rot);
}

::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: var(--grau);
}
::-webkit-scrollbar-thumb {
    background-color: var(--rot);
}

html {
    scroll-behavior: smooth;
    padding: 0 !important;
    margin: 0 !important;
}

body {
    overflow-y: scroll;
    overflow-x: hidden !important;
    position: relative;
    z-index: 0;

    font-family: var(--schrift-normal);
    font-size: 1.1rem;
    line-height: 1.5;
    color: var(--grau-dunkel);
    background-color: var(--body-bg);
    padding: 0 !important;
    margin: 0 !important;
}

.rot { color: var(--rot) !important; }
.grau { color: var(--grau) !important; }
.grau-hell { color: var(--grau-hell) !important; }

.bg-dark,
.bg-grau {
  background-color: var(--grau);
}

a { 
	color: var(--rot); 
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
	transition: all 0.25s;
	text-decoration:none;
}

a:hover { 
	color: var(--grau) !important;
	text-decoration:none;
}

footer a:hover {
	color: var(--schwarz) !important;
}

hr {
  border-width: 2px;
  height: 2px;
}

h1, .h1 {
	color: var(--rot);
	text-transform: uppercase;
	font-size: 3rem;
	font-family: var(--schrift-fancy-bold), sans-serif;
	/* width:80%; */
	margin-bottom: 40px;
  margin-top: 0;
	padding-bottom: 10px;
	border-bottom: 2px var(--grau-dunkel) solid;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
  overflow-wrap: break-word;

  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;

  hyphens: auto;
}
@media (max-width:768px) {
  h1, .h1 {
    width: 100%;
  }
}

h2, .h2 { 
	color: var(--grau-dunkel);
	text-transform: uppercase;
	font-size: 2.25rem;
	font-family: var(--schrift-fancy-bold), sans-serif;
	padding-bottom: 0;
  margin-bottom: .5rem;
	border-bottom: 0 none;
	text-align: left;
  word-break:normal;
    /* padding-left: 20px; */
 	/* box-shadow: 4px 0 0 var(--grau-dunkel) inset; */
}
.site-content h2 {
  margin-bottom: 1rem;
}

h3, .h3 { 
	color: var(--grau-dunkel);
	text-transform: uppercase;
	font-size: 1.75rem;
	font-family: var(--schrift-fancy), sans-serif;
	padding-bottom: 0;
  margin-bottom: .5rem;
	border-bottom: 0 none;
	text-align: left;
  word-break:normal;
}
.site-content h3 {
  margin-top: 1.75rem;
   margin-bottom: 1rem;
}

h4, .h4 { 
  color: var(--grau-dunkel);
  text-transform: none;
	font-size: 1.5rem;
	font-family: var(--schrift-fancy), sans-serif;
	padding-bottom: 0;
  margin-bottom: .5rem;
	border-bottom: 0 none;
	text-align: left;
  word-break:normal;
}
.site-content h4 {
  margin-top: 1.75rem;
   margin-bottom: 1rem;
}

h5, .h5 { 
  color: var(--grau-dunkel);
  text-transform: none;
	font-size: 1.25rem;
	font-family: var(--schrift-fancy), sans-serif;
	padding-bottom: 0;
  margin-bottom: .75rem;
	border-bottom: 0 none;
	text-align: left;
  word-break:normal;
}
.site-content h5 {
  margin-top: 1.75rem;
   margin-bottom: 1rem;
}

.text-bg-light {
  color: var(--grau-dunkel) !important;
  background-color: var(--grau-hell2) !important;
}

.text-danger {
  color: var(--rot) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: var(--rot) !important;
}

.btn {
	cursor: pointer;
}
.btn-danger {
	background-color: var(--rot);
	color: var(--weiss) !important;
	-webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    -o-transition: all 0.25s;
	transition: all 0.25s;
}
.btn-danger:hover,
.btn-danger:active {
  background-color: var(--grau-dunkel);
	color: var(--weiss) !important;
}
.btn-outline-danger {
	border-color: var(--rot) !important;
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    -o-transition: all 0.25s;
	transition: all 0.25s;
}
.btn-anmeldung {
	background-color: transparent !important;
	color: var(--rot) !important;
	border: 2px var(--rot) solid !important;
}
.btn-anmeldung:focus, .btn-anmeldung:hover {
	background-color: var(--rot) !important;
	color: var(--weiss) !important;
}
.btn-outline-danger:not(:disabled):not(.disabled):hover, 
.btn-outline-danger:not(:disabled):not(.disabled).active, 
.btn-outline-danger:not(:disabled):not(.disabled):active, 
.show > .btn-outline-danger.dropdown-toggle {
	color: var(--weiss) !important;
	background-color: var(--rot) !important;
	border-color: var(--grau-dunkel) !important;
}
.btn-info.focus, .btn-info:focus,
.btn-warning.focus, .btn-warning:focus,
.btn-danger.focus, .btn-danger:focus,
.btn-secondary.focus, .btn-secondary:focus,
.btn-outline-danger.focus, .btn-outline-danger:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-danger.dropdown-toggle:focus, 
.btn-outline-success.focus, .btn-outline-success:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .btn-outline-success:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-success.dropdown-toggle:focus {
	box-shadow: none !important;
  }

.badge {
  --bs-badge-font-size: 0.9em;
}

.tooltip-tham {
  --bs-tooltip-bg: var(--rot);
  --bs-tooltip-color: var(--weiss);
  --bs-tooltip-opacity: 1;
  -webkit-transition: opacity 0.25s;
  -moz-transition: opacity 0.25s;
  -o-transition: opacity 0.25s;
	transition: opacity 0.25s;
  /* box-shadow: 2px 2px 4px rgba(0,0,0,.25); */
  /* --tooltip-font-size: 0.85em !important; */
}


.tham-img-cont {
  background-color: var(--rot);
  height: max-content;
  transition: all 0.35s;
}
.tham-img-link {
  height: fit-content;
  width: fit-content;
  display: inline-block;
  /* box-shadow: 0 5px 0 0 var(--rot) inset; */
  border-bottom: 5px solid var(--rot);
  transition: all 0.35s;
}
.tham-img {
  transition: all 0.35s;
}
.tham-img:hover,
.tham-img:focus {
  /* mix-blend-mode: multiply; */
  /* filter: contrast(1.75); */
  filter: opacity(.5) contrast(1.75);
}


/* ========== HEADER ========== */
header {
	position:relative;
	height:88vh;
	margin-bottom:50px;
  /* border-bottom: 1px solid var(--rot); */
}
@media (max-width:768px) {
  header {
    height: 75vh;
  }
}
#header-main {
  background-color: var(--rot);
  background-image: url(../assets/images/header-background-start.jpg);
  background-position: center;
  background-size: cover;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
}
#header-main .header-schauspiel {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-regie {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-veranstaltungen,
#header-main .header-stueck {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-menschen {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-dozenten {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-schueler {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-absolventen {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-workshop {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-informationen {
  background-image: url(../assets/images/header-background-start.jpg);
}
#header-main .header-bewerben {
  background-image: url(../assets/images/header-background-start.jpg);
}

#header-bottom-svg {
	position: absolute;
	bottom: 0px;
	width: 100%;
	height: 140px;
}
@media (max-width:768px) {
  #header-bottom-svg {
    height: 80px;
  }
}
#tham-corner {
  top: -5px; 
  left: -5px; 
  position: absolute; 
  height: 10vw;
  z-index: 50;
}
@media (max-width:768px) {
  #tham-corner {
    height: 30vw;
  }
}
#video {
  width: 45vw;
  height: 30vw;
  top: 5vw;
  left: -5vw;
  position: relative;
  background-color: var(--weiss);
  border-top-right-radius:100px;
  border-bottom-right-radius:100px;
  rotate:-5deg;
  overflow: hidden;
  background: url('assets/images/start-background.jpg'); 
  background-size: cover;
  z-index: 40;
  box-shadow: 0px 0px 30px rgb(0,0,0) inset;
}
@media (max-width:768px) {
  #video {
    display: none;
  }
}

#video video {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#header-text {
  position: absolute;
  /* margin: auto 0; */
  top: 30%;
  right: 0;
  width: 55%;
  z-index: 90;
  padding: 0 !important;
  vertical-align: middle;
}
#header-text p,
#header-text h1 {
  color: var(--weiss);
  font-family: var(--schrift-fancy);
  font-size: clamp(2.2rem, 3.4rem, 3.4rem);
  margin: 0 !important;
  padding: 0;
  line-height: normal;
  letter-spacing: .1rem;
  border: 0 none;
  width: 100%;
  text-transform: none;
  margin: 0;
  text-align: left;
}
#header-text p:first-child,
#header-text h1:first-child {
  font-family: var(--schrift-fancy-bold);
  padding-left: 50px;
}
#header-text p:last-child {
  padding-left: 80px;
}
.header-text-sub {
  width: 100% !important;
}
.header-text-sub p {
  text-align: center !important;
  padding: 0 !important;
}
.header-text-sub p:first-child,
.header-text-sub h1:first-child {
  font-family: var(--schrift-fancy-bold);
  padding-left: 150px !important;
}
.header-text-sub p:nth-child(2) {
  padding-left: 0px !important;
}
.header-text-sub p:last-child {
  padding-left: 180px !important;
}

@media (max-width:768px) {
  #header-text {
    top: 160px;
    width: 100%;
  }
  #header-text p,
  #header-text h1 {
      font-size: 2.5rem;
      padding-left: 10px !important;
      padding-right: 10px !important;
  }
  #header-text p:first-child,
  #header-text h1:first-child {
    padding-left: 0px !important;
    text-align: center;
    margin-bottom: 20px !important;
  }
  #header-text p:last-child {
    padding-left: 20px !important;
  }

}

#svg-header-top {
  position: absolute;
  width: 100%;
  height: 700px;
  top: 0;
  left: 0;
  z-index: 1;
}
#logo-label {
	background-image:url(../images/ttc_logo-label.svg);
	background-repeat:no-repeat;
	background-size:contain;
	width:235px; 
	height:235px; 
	position:absolute; 
	bottom:0px; 
	right:0px;
}
/* ========== HEADER END ========== */

/* ========== MENU ========== */
#overlay {
  visibility: hidden;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.45);
  opacity: 0;
  transition: opacity 0.25s ease, visibility 0.25s linear;
}

#main-menu-btn {
  --menu-btn-height: 4vh;
  --menu-btn-top: 2vh;
  top: var(--menu-btn-top);
  background:var(--weiss);
  color: var(--rot);
  border:0;
  font-family: var(--schrift-fancy-bold);
  align-items:center;
  border-top-left-radius:100px;
  border-bottom-left-radius:100px;
  display:flex;
  flex-direction:row;
  justify-content:flex-start;
  overflow:hidden;
  position:fixed;
  rotate:-5deg;
  right:0;
  text-align:left;
  text-decoration:none;
  text-transform:uppercase;
  z-index:150;
  box-shadow: 3px 3px 7px rgba(0,0,0,.25);
  transition: all 0.25s;
}
#main-menu-btn span {
  rotate:5deg;
}
#main-menu-btn:hover {
 background-color: var(--grau-hell);
}

@media (max-width:1149px) {
  #main-menu-btn {
    height:50px;
    width:220px;
    padding-left:20px;
    padding-right:20px;
    font-size:20px;
    gap:10px;
    line-height:50px;
    transform:translate(90px);
  }
}
@media (min-width:1150px) {
  #main-menu-btn {
    --menu-btn-top: 3vh;
    top: var(--menu-btn-top);
    --menu-btn-height: 4vw;
    height: var(--menu-btn-height);
    width:clamp(12vw,13vw,15vw);
    padding-left:1.5vw;
    padding-right:1.5vw;
    font-size:clamp(1.1rem,1.65rem,1.85rem);
    gap:.5vw;
    line-height:3vw;
    transform:translate(2.5vw,0);
  }
}
@media (min-width:768px) {
  #main-menu-btn {
    bottom:clamp(300px,46vh,46vh)
  }
}

.main-menu-nav {
  overflow: hidden;
  position: fixed;
  right: 0;
  /* transform:translateX(110%); */
  transform: translateX(110%);
  transition: .10s;
  z-index: 100;
  top: calc( 3vh + 3vw );
  transition: all 0.25s;
}
.main-menu-nav ul {
  background-color: var(--rot);
  color: var(--weiss);
  border-bottom-left-radius:clamp(20px,2vw,2vw);
  border-top-left-radius:clamp(20px,2vw,2vw);
  display:flex;
  flex-direction:column;
  transition: all 0.25s;
}
.main-menu-nav ul,
.main-menu-nav ul>li {
  list-style:none;
  margin:0;
  padding:0;
  transition: all 0.25s;
}
@media (max-width:1149px) {
  .main-menu-nav ul {
    width:330px;
  }
}
@media (min-width:1150px) {
  .main-menu-nav ul {
    width:22vw;
  }
}
.main-menu-nav ul li a {
  color: var(--weiss);
  display: block;
  font-family: var(--schrift-fancy);
  position: relative;
  text-decoration: none;
  transition: transform .10s;
  line-height: normal;
  transition: all 0.1s;
  /* border: 1px solid var(--rot); */
}
@media (max-width:1149px) {
  .main-menu-nav ul li a {
    padding-inline:20px;
    padding-block:11px;
    font-size:20px;
  }
}
@media (min-width:1150px) {
  .main-menu-nav ul li a {
    padding-inline: 1.35vw;
    padding-block: 15px;
    font-size: 1.35rem;
  }
}
.sub-level {
  background-color: var(--rot-hell);
}
@media (max-width:1149px) {
  .sub-level {
    padding-inline:50px !important;
    padding-block:9px !important;
  }
}
@media (min-width:1150px) {
  .sub-level {
    padding-inline: 3.5vw !important;
    padding-block: 13px !important;
  }
}

.main-menu-nav ul li a:hover {
    background:var(--weiss);
    color: var(--rot);
}
.main-menu-nav ul li:first-child,
.main-menu-nav ul li:first-child a {
  border-top-left-radius:clamp(20px,2vw,2vw);
}
@media (max-width:1149px) {
  .main-menu-nav ul li:first-child a {
    padding-top:10px;
  }
}
@media (min-width:1150px) {
  .main-menu-nav ul li:first-child a {
    padding-top:1vw;
  }
}
.main-menu-nav ul li:last-child {
  background: var(--grau);
  border-bottom-left-radius:clamp(20px,2vw,2vw);
}
.main-menu-nav ul li:last-child a {
  border-bottom-left-radius:clamp(20px,2vw,2vw);
  /* display:flex;
  flex-direction:row;
  justify-content:space-between; */
}
@media (max-width:1149px) {
  .main-menu-nav ul li:last-child a {
    padding-block:10px;
  }
}
@media (min-width:1150px) {
  .main-menu-nav ul li:last-child a {
    padding-block:1vw;
  }
}
.XXXmain-menu-nav ul li:last-child a:after {
  content:"\f485";
  display:inline-block;
  font-family:cc-basic-icons;
  font-style:normal;
  font-weight:400;
  height:inherit;
  line-height:inherit;
  margin:0;
  padding:0;
  text-align:center;
}
.main-menu-nav ul li:last-child a:hover {
  background:var(--weiss);
  color:var(--rot);
}

body.main_menu_open .main-menu-nav {
  right:0;
  transform:translateX(5%);
  z-index:100;
}
body.main_menu_open #main-menu-btn {
  color: var(--grau);
  background-color: var(--grau-hell);
}

body.cc_menu_open #cc_menu_button {
  background-color:transparent;
  right:0;
  rotate:none;
  transform:translate(0);
  z-index:1000;
}
@media (max-width:1149px) {
  body.cc_menu_open #cc_menu_button {
    top:150px;
    width:60px;
  }
}
@media (min-width:1150px) {
  body.cc_menu_open #cc_menu_button {
    top:12vw;
    width:3.5vw;
  }
}
body.cc_menu_open #cc_menu_button i:before {
  aspect-ratio:1;
  border:1.5px solid var(--weiss);
  border-radius:50%;
  content:"\F623";
  font-family:cc-basic-icons;
  display:block;
  padding:3px;
}
body.cc_menu_open #cc_menu_button span {
  left:-10000px;
  position:absolute;
}
/* ========== MENU END ========== */

/*========== Menu Normal ========== */
.nav { margin-bottom: 0; }
.nav > li.dropdown.open { position: static; }
.nav > li.dropdown.open .dropdown-menu {display:block; width: 100%;  }
.dropdown-menu>li { display: block; }
/* ========== Menu Normal END ========== */


/* ========== FOOTER ========== */
footer {
  color: var(--weiss);
  text-align: center;
	font-size: 0.8em;
  line-height: 135%;
  position: relative;
  margin-top: 200px;
}
#svg-footer-top {
  position: absolute;
  left: 0;
  top: -140px;
  width: 100%;
  height: 170px;
  z-index: 1;
}
#tham-footer-logo {
  --kreis-size: 200px;
  height: var(--kreis-size);
  width: var(--kreis-size);
  border-radius: var(--kreis-size);
  background-color: var(--rot);
  position: absolute;
  top: -180px;
  margin: auto calc(50% - calc( var(--kreis-size) / 2) );
  z-index: 10;

  background-image: url("../assets/tham-logo-weiss.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 85%;
}

footer a {
	color:var(--weiss) !important;
}

#footer-kontakt {
	background-color: var(--grau);
	color:var(--weiss);
	position:relative;
}
#footer-kontakt h3 { 
	color:var(--weiss) !important;
}

#footer-links,
.footer-links {
	background-image:url(../images/tkwd.svg);
	background-repeat:no-repeat;
	background-position:15px bottom;
	padding-top:175px;
	margin-bottom:15px;
}

#footer-adresse {
	padding-top:115px;
	margin-bottom:0px;
}
/* ========== FOOTER END ========== */


/* ========== SEITEN / INHALTE ========== */
.aufmacherbild {
  height:300px; 
  width:300px; 
  border-radius:50%; 
  shape-outside:circle(50%); 
  background-size:cover;
  background-repeat: no-repeat;
}
@media (max-width:768px) {
  .aufmacherbild {
    height:150px; 
    width:150px; 
  }
}
.aufmacher-links {
  float: left; 
  margin-right:2.5rem; 
  margin-left:0;
}
.aufmacher-rechts {
  float: right; 
  margin-right:0; 
  margin-left:2.5rem; 
}

.btn-start-select {
  --btn-size: 200px;
  height: var(--btn-size);
  width: var(--btn-size);
  border-radius: var(--btn-size);
  background-color: var(--rot);
  margin: auto calc(50% - calc( var(--btn-size) / 2) );
  /* padding: calc(50% - calc( var(--btn-size) / 2) ) 0; */
  border: 0 none;
  color: var(--weiss);
  font-family: var(--schrift-fancy-bold), sans-serif;
  font-size: 2rem;
  text-transform: uppercase;
  text-align: center;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.btn-start-select.sonder {
  background-color: var(--grau) !important;
}
.btn-start-select:hover {
  background-color: var(--grau-hell) !important;
  color: var(--rot) !important;
  /* box-shadow: 0 0 55px var(--schwarz) inset; */
  transform: scale(1.1);
}
.btn-start-select.sonder:hover {
  background-color: var(--grau-hell) !important;
  color: var(--rot) !important;
}


#impressum h2,
#datenschutz h2 {
  text-transform: none !important;
}
#impressum h3,
#datenschutz h3 {
  margin-top: 2rem !important;
  text-transform: none !important;
}
#impressum h4,
#datenschutz h4 {
  margin-top: 1rem !important;
  text-transform: none !important;
}


.StreifenReihe { 
  border-left: 5px solid var(--rot); 
  margin-left: 0 !important; 
  margin-right: 0 !important; 
  padding-left: 0.5rem; 
}
.StreifenReihe > * { 
  padding-right: 0 !important; 
  margin-top: calc(var(--bs-gutter-x) * .5); 
}
.StreifenReihe > * > p { 
  margin-top: 0 !important;
  margin-bottom: .5em !important; 
}
.StreifenReihe > *:first-child,
.StreifenReihe > * > *:first-child { 
  margin-top: 0 !important; 
}
.StreifenReihe > *:last-child,
.StreifenReihe > * > *:last-child { 
  margin-bottom: 0 !important; 
}

.TermineReiheHead {
  font-family: var(--schrift-normal-bold);
}
.TermineReihe {
  border-top: 1px solid var(--grau);
  padding-top: 0.5em;
  margin-left: 0.1em;
  margin-right: 0.1em;
}
.TermineReihe > *:first-child {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.TermineReihe > *:last-child {
  padding-right: 0 !important;
  margin-right: 0 !important;
  text-align: center;
}

table,thead,tbody,th,td {
  color: var(--grau-dunkel) !important;
}
td {
  padding: .75rem .5rem !important;
  font-size: medium;
}
td > p {
  margin: 0 0 0.1em 0 !important;
}
td > p:last-child {
  margin-bottom: 0 !important;
}
.card-img-tham {
  height: 20rem; 
  background-size: cover;
  background-position:center; 
}
@media (max-width:768px) {
  .card-img-tham {
    height: 25rem; 
  }
}

.THAM-Workshops .regie {
  background-image: url(../assets/images/kreis-regie25.svg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 88px;
}
.THAM-Workshops .schauspiel {
  background-image: url(../assets/images/kreis-schauspiel25.svg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 88px;
}

/* ========== SEITEN / INHALTE END ========== */


/* ========== GALLERY ========== */
.blueimp-gallery {
  background: rgba(0,0,0,.95);
}
.blueimp-gallery > .indicator {
  right: 5px;
  left: 5px;
  margin: 0 !important;
}
.blueimp-gallery > .indicator > li {
  width: 60px;
  height: 60px;
  border: 3px solid var(--rot);
  background: #ccc;
  background: rgba(255,255,255,.5) center no-repeat;
  border-radius: 50%;
  box-shadow: 0 0 2px #000;
  opacity: .75;
  background-size: cover;
}
@media (max-width:768px) {
  .blueimp-gallery > .indicator > li {
    width: 30px !important;
    height: 30px !important;
  }
}

.blueimp-gallery > .indicator > li::after {
  display: none;
}
.blueimp-gallery > .indicator > li:hover::after {
  opacity: 0 !important;
}
.blueimp-gallery-display > .next, 
.blueimp-gallery-display > .prev {
  scale: 1.4;
  border-width: 2px;
}

.blueimp-gallery > .title {
  top: 15px;
  left: 15px;
  font-size: 20px;
  line-height: 30px;
  color: var(--rot);
  opacity: 1;
  text-shadow: 0 0 2px #000;
}
.blueimp-gallery > .description {
  position: absolute;
  top: 45px;
  left: 15px;
  color: var(--weiss);
  display: none;
  opacity: .9;
  text-shadow: 0 0 2px #000;
}
.blueimp-gallery-controls > .description {
  display: block;
}
@media (max-width:768px) {
  .blueimp-gallery > .description {
    top: 85px;
  }
}

/* ========== GALLERY END ========== */



/* .feature {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  font-size: 1.5rem;
}

.bg-featured-blog {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 15rem;
}

.bg-image-full {
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center;
  background-size: cover;
} */
